Stable Diffusion

目录

权重语法 #

权重逻辑 #

若是想明确某主体,应当使其生成步骤向前,生成步骤数加大,词缀排序向前,权重提高。
画面质量 → 主要元素 → 细节
若是想明确风格,则风格词缀应当优于内容词缀
画面质量 → 风格 → 元素 → 细节
未证实:风格权重或许需要优于画面质量,从而不至于被画面质量污染特殊风格质感。

分割符 #

,逗号:分割词缀,有一定权重排序功能,逗号前权重高,逗号后权重低,因而建议排序:
综述(图像质量+画风+镜头效果+光照效果+主题+构图)
主体(人物&对象+姿势+服装+道具)
细节(场景+环境+饰品+特征)

组合符 #

:冒号:自定义权重数值格式:左圆括号 + 词缀 + 冒号 + 数字 + 右圆括号
// 单人女孩词缀,权重为0.75
(1girl:0.75)
()仅圆括号:增加权重0.1大部分情况用圆括号即可。
// 权重乘以1.1
(1girl)
{}花括号:增加权重0.05
// 权重乘以1.05
{1girl}
[]方括号:减少权重0.1,也有说是减弱0.05的方括号中无法自定义权重数值,自定义权重只能使用(x:0.5)形式。
// 权重除以1.1
[1girl]
(())、{{}}、[[]]复用括号:叠加权重
// 权重乘以1.1*1.1,即权重为1.21
((1girl))
一般流程:先把要描述的画面写下生成一次,根据生成结果边试边改不满意或遗漏的描述,
要强调的概念用 (xxx: 1.x ) 语法形式来提升权重,其中 xxx 是你要强调的词,1.x 代表要提升的比例,如 1.5 就是提升 150% 的权重。
权重取值范围 0.4-1.6,权重太小容易被忽视,太大容易拟合图像出错。例:(beautiful:1.3) 。
叠加权重:通过叠加小括号方式提高权重,每加一层相当于提高1.1倍权重,例:((((beautiful eyes))))

连接符 #

AND和:将多个词缀聚合在一个提示词顺序位置中,其初始权重一致
// 三个词缀权重一致
bird and dog and pig
// 可使用冒号标记其权重
bird:1.5 and dog:1.2 and pig:0.8
+加号
(red hair:1.1)+(yellow hair:1.25)+(green hair:1.4)
|竖线
(red hair:1.1)|(yellow hair:1.25)|(green hair:1.4)
下划线
(red hair:1.1)
(yellow hair:1.25)_(green hair:1.4)
什么都不加
(red hair:1.1)(yellow hair:1.25)(green hair:1.4)
,逗号对象一致时,逗号有连接的功能
(red hair:1.1),(yellow hair:1.25),(green hair:1.4)

分布与交替渲染 #

[] 方括号中使用:、| 等符号,则可实现较为复杂的分布与交替渲染的需求。
[A:B:step][元素1:元素2:步骤比例] :渲染元素1到多少进度后开始渲染元素2,实现元素1与元素2的互相叠加,有类似于[from:to:when]的感觉,可用于两个词条的
// 渲染蓝色到40%进度后,开始渲染红色
[blue:red:0.4]
// 前12步渲染蓝色后,开始渲染红色
[blue:red:12]
注:step > 1 时表示该组合在前多少步时做为 A 渲染,之后作为 B 渲染。step < 1 时表示迭代步数(参与总步骤数)的百分比。
[A:step][元素1:步骤比例] :从多少进度开始渲染元素1
// 在执行40%的步骤后,开始渲染蓝色
[blue:0.4]
// 在执行15步之后,开始渲染蓝色
[blue:15]
[A::step][元素1::步骤比例]:渲染到多少进度的时候停止元素1的渲染(其它元素的渲染继续)
// 在执行了40%的步骤后,停止渲染蓝色
[blue::0.4]
// 在执行了15步后停止渲染蓝色
[blue::15]
[A|B][元素1|元素2]:元素1和元素2的交替混合渲染
// 融合蓝色与红色,紫色?
[blue|red]
// 某物与某物的交替演算,用于生成融合生物,句中词缀含义为融合牛与马。
[cow|horse]
[xx|xx|xx|xx|xx…] 本质为一种在平等权重下融合词缀生成单个元素,不限制混合元素的数量。
[A|B]C[元素1|元素2]元素3:括号外加词缀意味着融合过程中的共享元素。

Prompt(提示词):对你想要生成的东西进行文字描述。 #

masterpiece, best quality,

Negative prompt(反向提示词):用文字描述你不希望在图像中出现的东西。 #

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

Sampling Steps(采样步数):扩散模型的工作方式是从随机高斯噪声向符合提示的图像迈出小步。增加这一点直接增加了生成图像所需的时间。 #

采样迭代步数保持在 18-30 左右即可。通常28是一个不错的值。

Sampling method(采样器):使用哪种采样器。Euler a(ancestral 的简称)以较少的步数产生很大的多样性,但很难做小的调整。 #

推荐 Euler a ,DPM2++2M Karras,DPM2++SDE Karras
Euler a 富有创造力,不同步数可以生产出不同的图片。调太高步数 (>30) 效果不会更好。
适合:ICON,二次元图像,小场景
DPM++2S a Karras 采样方法生成高质量图像,同等分辨率下细节会更多,比如可以在小图下塞进全身,代价是采样速度更慢
适合:写实人像,复杂场景刻画
DPM++ SDE Karras:civitai上大部分小姐姐选用的
DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用
适合:写实人像,复杂场景刻画
LMS 和 PLMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果
PLMS 是一种有效的 LMS(经典方法),可以更好地处理神经网络结构中的奇异性
DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍。
Euler 是最简单的,因此也是最快的之一

Batch Count 与 Batch Size #

Batch Count(生成批次) 指定共生成几个批次。
Batch Size(每批数量) 指定每个批次并行生产多少张图片。
Batch count/n_iter:每次生成图像的组数。一次运行生成图像的数量为 Batch count * Batch size。
Batch size:同时生成多少个图像。图像总数是这个值乘以批次数。除 4090 等高级显卡以外通常保持为 1。
大的 Batch Size 需要消耗巨量显存。若您的显卡没有超过 12G 的显存,请不要调节 Batch Size。
对于显存极大的显卡而言,一次生成一张图片无法充分利用显卡计算容量,此时可将 Batch Size 提高以充分压榨算力。

CFG Scale(无分类指导规模):图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提示(根据模型),但它也在一定程度上降低了图像质量 #

cfg scale 是图像与提示词的契合度,该值越高,提示词对最终生成结果的影响越大,契合度越高。
过高的 CFG Scale 体现为粗犷的线条和过锐化的图像。
对于人物类的提示词,一般将提示词相关性控制在 7-15 之间;
对于建筑等大场景类的提示词,一般控制在 3-7 左右

注意尺寸 #

Width:图像的宽度,像素。要增加这个值,你需要更多的显存。这个值必须是 8 的倍数。
Height:图像高度。大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512×512 的基础上训练的)。非常小的值(例如 256 像素)也会降低图像质量
出图尺寸太宽时,图中可能会出现多个主体。
要匹配好姿势,镜头和人物才不畸形,有时候需要限定量词,多人物时要处理空间关系和 prompt 遮挡优先级。人数->人物样貌->环境样式->人物状态
1024 之上的尺寸可能会出现不理想的结果!推荐使用 小尺寸分辨率 + 高清修复(下方介绍)。

Seed:随机数的起点。保持这个值不变,可以多次生成相同(或几乎相同,如果启用了 xformers)的图像。 #

当输入-1 或点击旁边的骰子按钮时,生成的图像是完全随机的,没有任何规律可言。
而当输入其他随机数值时,就相当于锁定了随机种子对画面的影响,这样每次生成的图像只会有微小的变化。
理论上,种子决定模型在生成图片时涉及的所有随机性。
实际的种子数值并不重要。它只是初始化一个定义扩散起点的随机初始值。
在应用完全相同参数(如 Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。(不使用 xformers 等会带来干扰的优化器)
不同显卡由于微架构不同,可能会造成预料之外的不同结果。主要体现在 GTX 10xx 系列显卡上。

Highres. Fix 高清修复 #

通过勾选 txt2img(文生图) 页面上的 "Highres. Fix" 复选框来启用。
该选项会使得模型首先生成一张小图片,然后通过 img2img 将图片分辨率扩大,以实现高清大图效果。
默认情况下,txt2img(文生图) 在高分辨率下会生成非常混沌的图像。

Denoising strength 降噪强度 #

Denoising strength 仅在 img2img(图生图)或 高清修复 时被应用,其表征最后生成图片对原始输入图像内容的变化程度。
通过调整该值,可以降低对画风的影响,但也会弱化 img2img 能力。值越高 AI 对原图的参考程度就越低 (同时增加迭代次数)。
对于图生图来说,低 denoising 意味着修正原图,高 denoising 就和原图就没有大的相关性了。
一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。
实际执行中,具体的执行步骤为 Denoising strength * Sampling Steps。

不间断生成 #

在 WebUI 的生成键上右击即可出现 不间断生成 的选项。

模型位置 #

大模型(Ckpt):放入 models\Stable-diffusion #

majicMIX(整体最好的真人大模型) #

推荐关键词:
Best quality, masterpiece, ultra high res, (photorealistic:1.4), 1girl
推荐参数:
Sampler: DPM++ 2M Karras
Steps: 20~40
Hires upscaler: R-ESRGAN 4x+ or 4x-UltraSharp
Hires upscale: 2
Hires steps: 15
Denoising strength: 0.2~0.5
CFG scale: 6-8
clip skip: 2

GhostMix(整体最好的2.5D大模型,这个模型对于机甲的处理极棒。) #

推荐参数:
Sampler: DPM++ 2M Karras
Steps: 30
Hires upscaler:R-ESRGAN 4x+ Anime6B
Hires upscale: 2
Hires steps: 20
Denoising strength: 0.5~0.6
CFG scale: 5
clip skip: 2

Night Sky(最华丽的2D大模型) #

Clip skip:2
分辨率:1536 x 1024或更高分辨率。

啥玩意完犊子(很有特点的复古画风大模型,复古日漫画风) #

推荐参数:
Sampler: DPM++ 2M Karras
Steps: 10
Hires upscaler: R-ESRGAN 4x+
Hires upscale: 2
Hires steps: 10
Denoising strength: 0.5
CFG scale: 7
clip skip: 2

MIX-Pro(最通用的2D大模型,此模型需要搭配Vae使用) #

推荐参数:
Sampler: DPM++ 2M Karras
Steps: 20
Hires upscaler: R-ESRGAN 4x+
Hires upscale: 2
Hires steps: 8
Denoising strength: 0.4
CFG scale: 7
clip skip: 2

hypernetwork中文名:超网络。它的功能与embedding、lora类似,都是会对图片进行针对性的调整,可以简单的理解为低配版的lora,models\hypernetworks #

Lora/LoHA/LoCon 模型:放入 extensions\sd-webui-additional-networks\models\lora,也可以在 models/Lora 目录 #

VAE 模型: 一些大模型需要配合 vae 使用,对应的 vae 同样放置在 models\Stable-diffusion 或 models\VAE 目录,然后在 webui 的设置栏目选择。 #

Embedding 模型:放入 embeddings 目录 #

供电BetterDocs