AI 艺术生成手册/Stable Diffusion 设置
在这幅 Stable Diffusion 的数字画布背后,隐藏着各种可调节的参数,就像艺术家选择画笔、颜料和技巧一样。这些设置允许创作者微调图像生成过程的方方面面,从广阔的构图元素到最精细的细节。了解和掌握这些参数对于想要充分发挥 Stable Diffusion 潜力的艺术家来说至关重要,使他们能够弥合想象力和图像生成之间的差距。
在本例中,我们将使用以下提示词在 ComfyUI 中/其他提示词也可以使用
身穿西装的拟人犀牛在纽约证券交易所交易大厅里,看到股市崩盘后,双手捂着脸尖叫
我们将修改每个参数以查看它如何改变
这是图像的原始设置
种子:368039721048954
步骤:80
CFG:7
采样器名称:DDIM
调度器:普通
种子 是一个数值,作为图像生成过程的起点。Stable Diffusion 使用此数字生成特定噪声模式,然后以此为基础生成最终图像。
种子的重要性在于它们能够确保可重复性。Stable Diffusion 生成的每个图像都与一个独特的种子相关联,充当该特定图像的某种主密钥或指纹。虽然 这个过程可能看起来是随机的,但用于噪声生成和图像制作的算法在给定相同输入的情况下实际上相当一致。这意味着相同的种子将可靠地产生相同的初始噪声模式,该模式与文本提示和其他设置(如参数)相结合,将产生可预测的输出。
任何知道图像种子的人都可以重现该图像或生成它的变体,这使得种子在图像生成中对于一致性和迭代至关重要。[1] [2] [3]
在 Auto1111 中,值 "-1" 是 随机分配的种子编号
CFG 控制生成的图像与给定文本提示词或输入图像的匹配程度。此比例充当严格提示词遵守与创造性解释之间的平衡机制。
较高的 CFG 值(通常在 8 到 30 之间)会导致生成的图像更 closely 遵循输入提示词,确保更高保真度地遵循用户的描述。相反,较低的值(1 是最小值)赋予 AI 更多的创作自由,可能产生更多样化和富有想象力的结果,这些结果可能偏离原始提示词。
默认 CFG 值通常设置为 7,提供了一个良好的起点,平衡了系统对指令的遵守和一些创造性的自由。用户可以根据自己的具体需求调整此值,无论他们优先考虑提示词保真度还是希望获得更多意外和创造性的结果。
在实践中,找到最佳的 CFG 值通常需要试验才能在他们的艺术 vision 和 AI 的解释之间取得完美的平衡,最终产生所需的图像质量和风格。[4] [5] [6]
P.S:请注意,更高的 CFG 并不一定意味着更好的艺术。它可能导致多样性降低,并可能降低整体图像质量,因为 AI 专注于严格遵守提示词,而牺牲了其他方面。
步骤 指的是 AI 根据给定提示词将随机噪声转化为连贯图像的迭代次数。这个过程被称为 "去噪",它逐渐将图像从完全随机的状态细化为最终的输出。
图像生成始终以随机噪声开始,以完全去噪的图像结束,无论步骤数多少。步骤数控制的是将这个过程细分为多少。较高的步骤数意味着 AI 在每次迭代中进行更小、更渐进的更改,可能导致更细化的结果。但是,大多数情况下,这是不明显的。
需要注意的是,步骤数的有效性会因采样器而异。现代快速的采样器(如 DDIM 和 DPM Solver++)通常比旧的采样器(如 LMS)使用更少的步骤就能产生高质量的结果。
步骤数与图像质量之间的关系并不总是线性的。步骤数太少会导致图像发育不全,而步骤数太多会导致不必要的细节或重复,尤其是在使用更简单的提示词或风格时。[7] [8] [9]
P.S: 请注意,步骤数越低,图像生成速度越快。但这并不能很好地转化为较低步骤数的图像美学。(除了某些 AI 模型,例如 Stable Cascade,它能够在低至 20 步的情况下生成图像)
Stable Diffusion 中的采样器是控制 AI 在生成过程中如何去噪和细化图像的算法。这个去噪过程被称为采样,因为 Stable Diffusion 在每个步骤中都会生成一个新的样本图像。采样中使用的方法被称为采样器或采样方法。
不同的采样器在速度、质量和控制之间提供了各种权衡。
以下是一些 Stable Diffusion 中使用的采样器类型(截至 2023 年 1 月)
欧拉、欧拉 a、LMS、Heun、DPM2、DPM2 a、DPM++ 2S a、DPM++ 2M、DPM++ SDE、DPM fast、DPM adaptive、LMS Karras、DPM2 Karras、DPM2 a Karras、DPM++ 2S a Karras、DPM++ 2M Karras、DPM++ SDE Karras、DDIM、PLMS
我们专注于采样器中的“五大”,这些采样器通常被新手使用,因为它们产生相同的结果
注意:所有采样器都是使用种子 368039721048954、CFG 7 和步骤 80 生成的,以确保一致性
- 欧拉通常是许多 Stable Diffusion 界面中的默认采样器。
- 它在速度和质量之间取得了良好的平衡,使其适用于广泛的应用。
- 欧拉 A 随着采样步骤的增加,往往会产生截然不同的图像。
- Heun 基于二阶方法,这意味着它通常比一阶方法(如基本欧拉方法)更准确。它基本上就像该方法快速地向前看一步,并根据他们看到的内容调整你的预测一样。这额外的步骤通常会导致更准确的预测,尤其是在处理不断变化的条件时。
- 这种方法以Heun 法命名,Heun 法是一种用于求解常微分方程的数值方法。
- DPM2 旨在以更少的步骤生成高质量的样本。
- DPM 代表“扩散概率模型”,该采样器基于清华大学研究人员发表的论文:DPM-Solver:一种针对扩散概率模型采样,大约在 10 步内完成的快速常微分方程求解器。
- 与欧拉等单步方法不同,LMS 使用来自多个先前步骤的信息来计算下一步,因此在较低的步骤数下会产生噪声伪影,但在更高的步骤数下会稳定。
- LMS 这个名字来自线性多步法,线性多步法是一类用于求解常微分方程的数值方法。它们在科学和工程的各个领域都有应用,然后才被应用于扩散模型。
DDIM(去噪扩散隐式模型)
- DDIM 允许通过允许更大的步长来加快采样,而不会显著降低图像质量。与其他采样器相比,DDIM 通常即使在较低的步骤数下也能生成高质量的图像。
- 通常结果与欧拉非常相似。
- DDIM 这个名字代表“去噪扩散隐式模型”,由斯坦福大学研究人员在论文中提出:去噪扩散隐式模型”。
- LCM 旨在通过利用一种新颖的基于一致性的采样方法,以比传统扩散模型少得多的步骤生成高质量的图像。
- LCM 不像传统扩散模型那样逐步对图像去噪,而是使用一致性模型直接预测最终输出。
- 根据样本测试,只有窄范围的 CFG 对正常的 AI 艺术生成“可用”(CFG 3 - CFG 7),而更高的 CFG 会使图像更倾向于迷幻艺术风格。
- 因此,它以牺牲一些精细细节和真实感为代价,换取了与五大采样器相比,相对较快的生成速度。
- 每一步都会产生截然不同的卡通风格图像结果(请参阅下面的示例图像)。
- LCM 这个名字代表潜伏一致性模型,由清华大学研究人员在论文中提出“潜伏一致性模型:用少量步骤推理合成高分辨率图像”。
- UniPC 以统一的方式自适应地调整预测步骤和校正步骤之间的平衡,以加速扩散模型的采样过程(在其推荐的参数范围内)。它还采用动态加权策略来优化采样轨迹。
- 根据测试,如果步骤数变高(>60),图像结果会变得更偏向抽象艺术形式(请参阅下面的示例图像)。
- UniPC 代表Unified Predictor-Corrector,由清华大学研究人员在论文中提出“UniPC:一种用于快速采样扩散模型的统一预测器-校正器框架”。
- DPM++ SDE Karras 使用随机采样,导致生成的图像之间存在很大差异。
- DPM++ 2M Karras 以生成高质量、细致的图像而闻名,使其成为复杂场景或肖像的理想选择。
选择采样器时,请考虑以下因素:
- 对于高细节:DPM++ 2M 或 LMS Karras 是肖像或风景中复杂细节的绝佳选择。
- 对于速度:Euler A 或 DPM Adaptive 提供更快的处理时间。
- 对于控制:DDIM 提供了一种更直接控制图像结果的方法。
需要注意的是,采样器的有效性可能会因所用步骤数而异。一些采样器,如 Euler A 和 DPM2 A,随着步骤数的增加会发生显著变化,而其他采样器,如 LMS,则会在某一点后趋于稳定。
采样器选择应基于项目的具体要求,平衡图像质量、生成速度和对输出的控制程度等因素。通过尝试不同的采样器和步骤数,可以帮助找到适合特定用例的最佳设置。
祖先采样技术在去噪过程的每个步骤中引入一定程度的随机性或“祖先噪声”。虽然祖先方法增加了随机性,但它们以一种结构化的方式进行,通常会导致生成的图像具有相似的整体构图。
由于这是一种采样方法的早期阶段,所以所有祖先方法即使在高步骤数(约 200)下也无法生成美观的图像(但如果你想生成“马铃薯相机质量”的照片,可以使用它们)。
Stable Diffusion 中的调度器控制图像生成过程中噪声的添加和去除方式。它是一个重要的组成部分,可以显著影响生成的图像的质量和特征。
使用 DDIM 采样器方法作为控制,我们尝试不同的调度器,以查看它们对图像生成的影响。
注意 1:正常、UGM 统一和简单在这组生成的图像之间没有显示出任何差异。
注意 2:虽然 DDIM 统一调度器与 DDIM 采样器同名,但根据该采样测试,它会使背景图像变得更差。
[2] https://decentralizedcreator.com/what-is-stable-diffusion-seed-and-how-to-use-it/
[3] https://onceuponanalgorithm.org/guide-what-is-a-stable-diffusion-seed-and-how-to-use-it/
[4] https://watcher.guru/news/what-is-the-cfg-scale-in-stable-diffusion
[5] https://blockchain.news/wiki/cfg-scale-in-stable-diffusion-a-comprehensive-analysis
[6] https://getimg.ai/guides/interactive-guide-to-stable-diffusion-guidance-scale-parameter
[7] https://openart.ai/blog/post/the-most-complete-guide-to-stable-diffusion-parameters
[8] https://blog.segmind.com/the-a-z-of-stable-diffusion-essential-concepts-and-terms-demystified/
[9] https://mccormickml.com/2023/01/11/steps-and-seeds/
[10] https://www.felixsanz.dev/articles/complete-guide-to-samplers-in-stable-diffusion
[11] https://easywithai.com/guide/stable-diffusion-best-sampler-comparison/
[12] https://paulfernandez.dev/posts/a-comparison-stable-diffusion-sampling-methods/