本文主要介绍了 StableDiffusion在图片生成上的内容,然后详细说明了StableDiffusion 的主要术语和参数,并探讨了如何使用 prompt 和高级技巧(如图像修复、训练自定义模型和图像编辑)来生成高质量的图片。
介绍StableDiffusion
▐ StableDiffusion是什么
Stable Diffusion是一种潜在的文本到图像扩散模型,能够生成逼真的图像,只需任何文本输入,就可以自主自由创造漂亮的图像,使众多不会拍照的人在几秒钟内创造出惊人的图片。StableDiffusion可以生成不同的图片风格,比如:Anime 动画,realistic 写实,Landscape 风景,Fantasy 奇幻,Artistic 艺术。 还有很多其他的风格,都可以在网上看到。
▐ StableDiffusion主要术语
有一些图示来直观理解StableDiffusion,比较深奥,不过多解释:
https://zhuanlan.zhihu.com/p/599887666
- 模型
https://stable-diffusion-art.com/models/
网上可以下载到的StableDiffusion模型非常多。只需要记得这些都是SD模型的微调版本即可,这些不同版本的StableDiffusion模型都是基于相同的算法和原理,并且都可以用于生成高质量的图像、音频、视频等数据。具体选择哪个版本取决于应用场景和具体需求。
以下是常见模型,以及说明:
也可以自己做模型的合并,在StableDiffusion的GUI界面如下操作即可:
- 使用 AUTOMATIC1111 GUI 合并两个模型,转到 Checkpoint Merger 选项卡,在 Primary model (A) 和 Secondary model (B) 中选择要合并的两个模型。
- 调整乘数 (M) 来调整两个模型的相对权重。将其设置为 0.5 将以相等重要性合并两个模型。
- 按下运行按钮后,新合并的模型就可以用了。
- 微调模型:Embedding && Lora && Hypernetwork
- 1 CheckPoint:这些是真正稳定的扩散模型。它们包含生成图像所需的所有内容,不需要额外的文件。它们通常很大,大小为2-7 GB。本文的主题是它们。
- 2 Embedding:也称为Textual inversions。它们是定义新关键词以生成新对象或样式的小文件。通常为10-100 KB。您必须与CheckPoint模型一起使用。
- 3 LoRA:它们是用于修改样式的检查点模型的小补丁文件。它们通常为10-200 MB。您必须与CheckPoint模型一起使用。也是用于给先有模型做一些微小的改变;可以对原有模型做补丁,然后通过关键词触发风格,人物。
- 4 Hypernetwork:它们是添加到CheckPoint模型的附加网络模块。它们通常为5-300 MB。您必须与CheckPoint模型一起使用。
- ControlNet 控制姿势
ControlNet是一种稳定的扩散模型,可以复制作品和人体姿势。想要使用的话再扩展中安装sd-webui-controlnet扩展即可。
正常情况下我们想要控制人物的姿势是十分困难的,并且姿势随机,而ControlNet解决了这个问题。它强大而多功能,可以与任何扩散模型一起使用。
主要作用:
- 1 边缘检测,家具摆放等
- 2 人体姿势复制
可用的模型以及说明:
- 抽样算法
不同抽样算法的生成时间对比:
使用不同的抽样算法生成的图片:
a busy city street in a modern city
- Stable Diffusion 主要参数列表
如何生成高质量的图片
▐ 什么是prompt?
在StableDiffusion中,"prompt"是指为GPT模型提供输入的文本段落或句子。它是用来引导模型生成有意义、准确的响应的关键因素之一。
- 好的Prompt结构
- 1 Subject (required) 主体
- 2 Medium 艺术类别
- 3 Style 艺术风格
- 4 Artist 艺术家
- 5 Website 艺术流派
- 6 Resolution 清晰度
- 7 Additional details 额外的细节
- 8 Color 色彩
同时可以考虑满足以下的条件:
- 在描述主题时要详细和具体。
- 使用多个括号()来增强其强度,使用[]来降低。
- 艺术家的名字是一个非常强的风格修饰符,使用的时候要知道这个是什么风格。
- Prompt风格参考
如果不确定要用什么风格,可以去下面的两个地址搜一下对应的风格
- 1 关键词检索(laion-aesthetic-6pls):https://laion-aesthetic.datasette.io/laion-aesthetic-6pls/images
- 2 艺术风格汇总list of artists for SD:https://rentry.org/artists_sd-v1-4
- prompt查询参考:https://stablediffusionweb.com/prompts
- 3 查找Tag:https://aitag.top/
- 4 摄影大师:https://docs.google.com/spreadsheets/d/16KKh1FQmd-r98K9aWPBux5m9lc9PCV_T1AWgU54qXm8/htmlview
- Prompt调整权重
使用()
增加权重,使用[]
降低权重;
a (word) - 将对单词的权重增加1.1倍
a ((word)) - 将对单词的权重增加1.21倍(= 1.1 * 1.1)
a [word] - 将对单词的权重减少1.1倍
a (word:1.5) - 将对单词的权重增加1.5倍
a (word:0.25) - 将对单词的权重减少4倍(= 1 / 0.25)
a \(word\) - 在提示中使用字面上的()字符,转义,不使用权重
prompt也可以从某个点位开始考虑生成指定的内容:
[from:to:when]
示例:a [fantasy:cyberpunk:16] landscape
- 开始时,模型将绘制一幅fantasy景观。
- 在第16步之后,它将切换到绘制一幅cyberpunk:景观,继续从fantasy停止的地方绘制。
另外一种语法:[cow|horse] in a field
第1步,提示是“cow”。第2步是“horse”。第3步是“cow”,以此类推。
更多精彩内容,欢迎观看:
探索 StableDiffusion:生成高质量图片学习及应用(中):
https://developer.aliyun.com/article/1263238?groupCode=taobaotech