Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录

  • Stable Diffusion
  • 使用
    • 尝试下效果
    • prompt的编写技巧
      • prompt 和 negative prompt
      • Prompt格式
      • Prompt规则细节
      • 优化
      • Guidance Scale
  • 总结

Stable Diffusion

Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成高质量的图像。
Stable Diffusion的主要特点包括:

  • 强大的图像生成能力。它可以根据文本描述生成非常逼真的图像,包括人物、风景、动物等各种主题。
  • 对文本的理解能力强。它可以捕捉文本描述的关键信息,转换为视觉上的表现。
  • 生成图像分辨率高。它可以生成512x512甚至1024x1024像素的高分辨率图像。
  • 开源且易于使用。它建立在开源框架PyTorch等基础上,可以轻松地在GPU及普通电脑上运行。
  • 训练数据量大。它的训练数据集包含大量高质量图像,这是它强大能力的重要基础。
  • 结果多样化。每次输入相同提示,它都可以生成略有不同的结果,增加了结果的多样性。
  • 控制能力强。用户可以通过调整文字提示、超参数等方式控制生成结果。

Stable Diffusion是一种潜在扩散模型(Latent Diffusion Model),能够从文本描述中生成详细的图像。它还可以用于图像修复、图像绘制、文本到图像和图像到图像等任务。简单地说,我们只要给出想要的图片的文字描述在提Stable Diffusion就能生成符合你要求的逼真的图像。Stable Diffusion作为新兴的AI生成模型,拥有强大的图像生成能力,是目前最先进的开源生成模型之一,值得关注。它的出现将推动创作界发生革命性的变化。

使用

尝试下效果

prompt:beautiful girl,bikini,sea,beach,sunshine

生成的效果如下:
在这里插入图片描述

效果不太好,我们来学习下prompt如何编写,再看看改善效果。

prompt的编写技巧

prompt 和 negative prompt

在这里插入图片描述

描述语分为正向/负向描述,它们也叫tag(标签)或prompt(提示词)
正面提示词:相比Midjourney,SD需要写得更精准和细致,描述少就给AI更多自由发挥空间。
负面提示词:不想让SD生成的内容。
正向:masterpiece, best quality, 画质词,画面描述。
反向:根据画面产出加不想出现的画面。

Prompt格式

第一段:画质tag,画风tag
第二段:画面主体,主体强调,主体细节概括(主体可以是人、事、物、景)画面核心内容
第三段:画面场景细节,或人物细节,embedding tag。画面细节内容
第二段一般提供人数,人物主要特征,主要动作(一般置于人物之前),物体主要特征,主景或景色框架等

Prompt规则细节

  1. 提示词的顺序决定了权重的大小,越靠前的词汇权重越大,会对图像生成产生更直接的影响。
  2. 生成图片分辨率越大,需要的提示词量也越多,否则不同的提示词会产生不一致的效果,相互干扰。
  3. 使用括号可以精确调整单个词的权重值,提高或降低其对图像生成的影响程度。常用的权重调整范围建议控制在0.25到1.5之间,避免超出这个范围带来负面效果。
    方法如下:
    (word) - 将权重提高 1.1 倍
    ((word)) - 将权重提高 1.21 倍(= 1.1 * 1.1)
    [word] - 将权重降低至原先的 90.91%
    (word:1.5) - 将权重提高 1.5 倍
    (word:0.25) - 将权重减少为原先的 25%
    请注意,权重值最好不要超过 1.5

优化

根据上面的规则我们来改下下prompt

A beautiful young girl standing in the shallow seawater on a sunny tropical beach. She has long wavy blonde hair flowing in the ocean breeze. She's wearing a red floral bikini which compliments her tanned skin tone. Her fit athletic body is perfectly framed in this scene. She has a bright, energetic smile on her face as she's enjoying the warm ocean water washing over her feet. The background is a picturesque tropical beach scene with white sand, palm trees, and turquoise blue water sparkling in the bright sunlight stretching out to the horizon. This is a perfect summer beach day. The overall color tone is vibrant and cheerful. The girl looks natural, elegant, and carefree. This is a high quality, photorealistic image.

报错

“Unsafe content found”

继续优化

"A cheerful young woman smiling and having fun at the beach. She has long, dark brown hair blowing casually in the tropical breeze. She's dressed appropriately in a blue floral one-piece swimsuit. Posing happily on the shore, with one hand up to her forehead to shade her eyes. Behind her is a beautiful scenic view of bright turquoise waves gently lapping against the sandy shore. In the background, the wide open clear blue sky meets the ocean horizon. Palm trees and green vegetation dot the landscape. The sunlight is bright and warm. This is a high quality, idyllic summer beach scene."

主要修改的点包括:

  1. 使用积极正面词语 como “cheerful”,“having fun”,“happily”,移除可能引起歧义的词汇。
  2. 将比基尼改为更保守的连体泳衣。
  3. 去掉只描写女孩的语句,加上与海滩景色的衔接。
  4. 增加阳光、植被等宁静自然的元素。
  5. 使用专业的视觉描述词语如“idyllic”,“scenic”等。
  6. 强调图像质量要高,内容要正面积极。
  7. 避免可能引起歧义或联想的表达。

看效果
在这里插入图片描述
很明显,改善很明显…… 哈哈哈哈哈哈哈 (如果被吓到实在不好意思,我也有点看恐怖片的感觉)

上面这些图是因为我Guidance Scale的参数设置太低了。

Guidance Scale

Stable Diffusion 模型中的 Guidance Scale 参数是调整文本提示(Text Prompt)对图像生成影响力的一个重要超参数。
Guidance Scale 参数的主要作用是:

  1. 控制文本提示的重要性:
  • 参数值越高,文本提示的影响就越大,生成图片会越关注文本提示的要求。
  • 参数值越低,文本提示影响减弱,生成图片会更具原创性和多样性。
  1. 平衡文本提示和训练数据:
  • 参数值越高,依赖文本提示的信息更多,训练数据的影响被压制。
  • 参数值越低,训练数据的信息起主导作用,文本提示只起辅助影响。
  1. 调节生成图片质量:
  • 适当的Guidance Scale可以帮助生成更高质量的图片。
  • 参数过大或过小,都可能导致生成图片质量下降。
    通常Guidance Scale的取值范围在1-20之间。默认值是7,这是一个比较平衡的设置。使用时可以通过调整这个参数,来实现对生成图片的精细控制。
    Guidance Scale直接影响文本提示的作用强度,是Stable Diffusion中非常重要的一个生成控制超参数。

我们来调整下Guidance Scale参数
在这里插入图片描述

改后的效果如图(我实在不知道怎么修改CSDN才不违规了,一个连体泳衣都违规,其他平台都正常显示,只能马赛克了):

在这里插入图片描述

在这里插入图片描述

总结

想要用Stable Diffusion生成高质量的图片,避免生成低质量的“烂图片”,可以注意以下几点:

  1. 使用合理的提示词(Prompt)
  • 提示词要简洁明确,避免歧义。important信息前置。
  • 添加合适的描述词帮助生成细节。如大小,颜色,质感等。
  • 使用正确的英文语法和拼写。
  • 避免使用负面和敏感词汇。
  1. 调整超参数
  • 适当调高 Guidance Scale,加强提示词影响力。
  • 调整 Steps(迭代次数)不要过少,一般100-200。
  • 调试不同的 Sampler,如DDIM较平滑。
  1. 使用高质量训练数据
  • 大型模型效果更好,如Stable Diffusion v2。
  • 尝试不同主题的训练数据,匹配生成目标。
  1. 生成分辨率不要过低
  • 分辨率过低会造成图片质量下降。
  • 一般选择512x512 或更高分辨率。
  1. 复核和选择图片
  • 生成多张样本图片,挑选效果最佳的。
  • 检查合理性,删除离题图像。
    通过以上方法,可以最大程度地避免Stable Diffusion生成不理想的低质量图片。但过程中也需要一定的试错尝试,以找到最佳设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/5589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Asp.net Core配置CORS 跨域无效(记录一下)

问题 学习老杨的英语网站项目,运行项目时,发现出现了跨域的问题。 然后自己建一项目,进行配置,测试,发现配置CORS 跨域时,发现跨域的配置无效,依旧报错。 解决 网上找了一天,然后…

USG6000v防火墙的基本使用:制定安全策略让不同安全区域的设备进行访问

目录 一、首先配置环境: 二、实验拓扑及说明 拓扑: PC1和PC2配置ip地址:​编辑​编辑 r4路由器配置ip: 进行防火墙的设置: 1、创建trust1区域和untrust1区域 2、制定防火墙的策略: 3、为防火墙增加可以…

hive常用函数

行列转换 create table tmp_summer1(id string,name string brith string);insert into tmp_summer1 values(001,A,20211202); insert into tmp_summer1 values(001,B,20211202); insert into tmp_summer1 values(002,A,20211202); insert into tmp_summer1 values(001,B,20211…

unity进阶--json的使用学习笔记

文章目录 unity自带的json使用方法第三方--LitJson的使用第一种使用方式第二种--使用jsonData unity自带的json使用方法 创建数据类 转化成json 解析json 第三方–LitJson的使用 第一种使用方式 数据类 创建和解析 第二种–使用jsonData 创建 解析

R语言混合效应(多水平/层次/嵌套)模型及贝叶斯实现技术应用

回归分析是科学研究中十分重要的数据分析工具。随着现代统计技术发展,回归分析方法得到了极大改进。混合效应模型(Mixed effect model),即多水平模型(Multilevel model)/分层模型(Hierarchical Model)/嵌套…

CentOS7系统MBR、GRUB2、内核启动流程报错问题

目录 🥩Linux启动流程 🥩MBR修复 🍭1、模拟损坏 🍭2、重启测试 🍭3、修复MBR 🍭4、测试系统 🥩GRUB2修复 🍭1、模拟损坏 🍭2、修复GRUB2 🍭3、测试系统 &…

vue中export和export default的使用

<script> export default {name: HelloWorld } $(function () {alert(引入成功) }) </script> 1、export的使用 比喻index.js要使用test.js中的数据&#xff0c;首先在test.js文件中进行导出操作 代码如下&#xff1a; export function list() {alert("list…

Rust vs Go:常用语法对比(四)

题图来自 Go vs. Rust performance comparison: The basics 61. Get current date 获取当前时间 package mainimport ( "fmt" "time")func main() { d : time.Now() fmt.Println("Now is", d) // The Playground has a special sandbox, so you …

多目标灰狼算法(MOGWO)的Matlab代码详细注释及难点解释

目录 一、外部种群Archive机制 二、领导者选择机制 三、多目标灰狼算法运行步骤 四、MOGWO的Matlab部分代码详细注释 五、MOGWO算法难点解释 5.1 网格与膨胀因子 5.2 轮盘赌方法选择每个超立方体概率 为了将灰狼算法应用于多目标优化问题,在灰狼算法中引入外部种群Archi…

Vue第六篇:电商网站图片放大镜功能

本文参考&#xff1a;https://blog.csdn.net/liushi21/article/details/127497487 效果如下&#xff1a; 功能实现分解如下&#xff1a; &#xff08;1&#xff09;商品图区域&#xff1a;主要是浏览图片&#xff0c;根据图片的url显示图片。当鼠标离开此区域时"放大镜区…

ES6解构对象、数组、函数传参

目录 1.对象解构 2.对象解构的细节处理 2.1.解构的值对象中不存在时 2.2.给予解构值默认参数 2.3.非同名属性解构 3.数组解构 3.1基础解构语法 3.2数组嵌套解构 4.函数解构传参 5.解构小练习 在ES6的新语法中新增了解构的方法&#xff0c;它可以让我们很方便的从数组或…

每天五分钟机器学习:多项式非线性回归模型

本文重点 在前面的课程中,我们学习了线性回归模型和非线性回归模型的区别和联系。多项式非线性回归模型是一种用于拟合非线性数据的回归模型。与线性回归模型不同,多项式非线性回归模型可以通过增加多项式的次数来适应更复杂的数据模式。在本文中,我们将介绍多项式非线性回…

关于Arduino IDE库文件存放路径问题总结(双版本)

在开发过程中,如果不注意,库文件存放路径很乱,如果在转移系统环境时,容易忘记备份。编译过程中出现多个可用引用包的位置,为了解决这些问题,要明白各文件夹的默认路径在哪,区别在哪,如有了解不对的地方请指正。 IDE安装目录(默认C盘,自定义可以其他盘符下)IDE升级可…

IDEA如何打包springboot成jar包,并运行、停止、重启,本地依赖不能打包怎么办

1、将springboot项目打包成jar 第一步 这里要注意依赖的包的导入&#xff0c;有pom.xml中网络依赖导入&#xff0c;有的包是本地依赖导入&#xff0c;本地依赖的包只需在pom.xml加入一下代码即可&#xff01; <dependency><groupId>jacob</groupId>//名称…

eclipse中经常遇到的maven相关的问题

maven工程依赖的jar包无法部署到tomcat中 右键maven工程&#xff0c;选择“属性” 将工程在tomcat重新发布即可。 2、Update Project or use Quick Fix maven工程总是提示更新&#xff0c;一更新java版本又回到1.5 在pom.xml添加如下&#xff1a; <build><finalN…

rabbitmq是什么?rabbitmq安装、原理、部署

rabbitmq是什么&#xff1f; MQ的全称是Messagee Queue&#xff0c;因为消息的队列是队列&#xff0c;所以遵循FIFO 先进先出的原则是上下游传递信息的跨过程通信机制。 RabbitMQ是一套开源&#xff08;MPL&#xff09;新闻队列服务软件由 LShift 提供的一个 Advanced Messag…

量子计算机操作系统介绍

下载&#xff1a;https://m.originqc.com.cn/zh 为量子计算编程而生的一站式学习与开发平台&#xff0c;提供量子编程开发环境&#xff0c;支持量子计算资源随时调用&#xff0c;支持量子应用打开即用。 产品特点 无需安装配置 PilotOS客户端集成量子编程开发环境所需的Pyt…

前端对后端路径的下载//流文件下载

1.前端对后端路径的下载 2.流文件下载

【git基本使用】

初识git 一、git安装 1.1 Linux-centos 如果你的的平台是centos&#xff0c;安装git相当简单&#xff0c;以我的centos7.6为例&#xff1a; ⾸先&#xff0c;你可以试着输⼊Git&#xff0c;看看系统有没有安装Git&#xff1a; git-bash: git: command not found 出现像上⾯…

MYSQL练习一答案

练习1答案 构建数据库 数据库 数据表 answer开头表为对应题号答案形成的数据表 表结构 表数据 答案&#xff1a; 1、查询商品库存等于50的所有商品&#xff0c;显示商品编号&#xff0c;商 品名称&#xff0c;商品售价&#xff0c;商品库存。 SQL语句 select good_no,good…