Stable diffusion教程/经验总结(含所有参数详解)
Stable diffusion教程/经验总结(含所有参数详解)
基础部分/文生图
正提示词
格式
- 强化:高质量、超高分辨率等(起手式)。
- 风格:漫画、CG、真实等。
- 主体:人物+动作或状态。
- 场景:环境。
- 其他:视角、特色、插件(lora、lyc等)。
SDXL
xl版本对自然语言的理解提升显著,所以可以尝试使用句段进行完整的描述。
反提示词
负提示词的效果并不显著,除了现成的embedding。
Steps(迭代步数)
迭代步数越高,生成图片质量越高,需要时间和算力越多。不同采样方法需要的迭代步数不同,但基本都在20~50步之间,50步以上差别不大。
Sampler(采样方法)
一、经典常微方程求解器
年龄比我大几倍,简单且不够准确。二、祖先采样器(带“a”的)
图像不会收敛,带有随机性。三、官方采样器
DDIM:质量高,速度慢。
PLMS:质量低,速度快。
二者都已过时。四、DPM和DPM++系列
DPM2比DPM更准确,但速度较慢。
DPM++由DPM改进而来,可以自适应迭代步数,但速度很慢。
2M——2阶多步采样比2S——2阶单步采样质量更高,同样损失速度。
DPM fast:速度快,质量最低。
DPM adaptive:自适应步数。
SDE:细节更丰富。
五、Karras系列
Karras系列使用了噪声时间表,一定程度上提高了质量。六、UniPC
最新最快较高质量。
总结
- 追求速度:Euler。
- 追求质量:DPM2(a)Karras或DPM++2M SDE Karras。
- 速度质量均衡:DPM++ 2M(公认最强)。
注意:祖先采样器(带“a”的)不收敛,即AI会自由发挥,并不一定严格按照提示词,使用这些采样器生成的图像无法复现。
Restore faces(面部修复)
顾名思义,但有美颜磨皮效果,追求真实别开。
Tiling(无缝贴图/平铺图)
使纹理连接效果更好,但容易错乱,非设计用别开。
Hires fix(高分辨率修复)
由于stable diffusion的模型训练使用的是768*768(2.0)分辨率的图,所以在生成图片时最好宽度和高度有一边是768,否则可能出现像两张图片拼接在一起的效果。但是768的分辨率对于现在来说是不太够用的,这就需要高分辨率修复或者后期处理。
放大算法
Latent系列:在重绘幅度(denoising strength)低于0.5时会模糊,仅适用于重绘幅度高于0.5。
ESRGAN系列
ESRGAN_4x:适用于写实风格。
R-ESRGAN 4x+:全能。
R-ESRGAN 4x+ Anime6B:适用于二次元风格。
SwinlR_4x:适用于厚涂插画。
LDSR:适用于写实风格,速度慢。
Denoising strength(重绘幅度/去噪强度)
0:仅放大图片。
0.3:放大的同时稍微改变原图。
0.7:放大的同时改变部分原图。
1:放大的同时完全改变原图。
Refiner(SDXL精细化模型)
SDXL模型分为两部分,一是基础模型,各操作跟1.5没有区别;二是精细化模型,其作用是对基础模型的生成图进行细节优化,仅使用基础模型生成也没有问题,但只有两个模型同时使用时才是完整的SDXL。
- Switch at(介入时机)
调整精细化模型在第几步介入使用。 - 1:相当于不使用。
- 0.5:在总步数的50%时开始使用。
追求质量则调小,追求时间则调大。
宽度/高度
stable diffusion最初的训练图为256256,
后来在latent diffusion model也就是最常见的版本使用512512,
2.0之后使用768768,
xl使用10241024。
在生成图像时,最好有一边符合对应版本训练图的尺寸。
CFG Scale(提示词引导系数)
越大,按提示词生成权重越大,AI自由发挥程度越小,
反之亦然。过高或过低都会增加生成奇行种的可能性,一般在7~12之间最佳,20以上不建议。
Seed(种子)
如果想要每张图片都是随机的,则用随机种子-1即可。
如果想要在生成的某张图片的基础上再生成,则需使用那张图片的固定种子。
Variation seed(变异种子)
Variation strength(变异强度)
假设图A的种子为777,图B的种子为999。
当种子为777,变异种子为999时,
变异强度为1,则生成图为图B,
变异强度为0,则生成图为图A,
变异强度为0.5,则生成图为图A与B的中间值。从宽/高度中调整种子
通过改变潜空间噪声信息,改变分辨率。
一般情况下,通过改变宽度/高度的方式改变分辨率,即使种子相同,图像也很可能不同,此时使用种子宽/高度来调整可以避免这种情况。
图生图
提示词反向推理
即从图片反向推理提示词,方便图生图时更精准。
CLIP反推(Interrogate CLIP)
CLIP反推会在正提示词位置生成图片一句话的描述,时间略长。DeepBooru反推(Interrogate DeepBooru)
DeepBooru反推会在提示词位置生成多个单独的提示词,且时间短。
建议使用deepbooru,单独的提示词方便针对性更改。
SDXL请酌情选择。
Img2img(图生图)
在上传的原图的基础上再创作,受到重绘幅度(Denoising strength)的直接影响,可以删改加提示词,也可以不动。
Sketch(涂鸦)
在原图的基础上涂鸦,将根据原图和涂鸦生成图片。
涂鸦原图
涂鸦生成图 重绘幅度0.5
说实话不如局部用提示词重绘,特别是对手残党来说。
Inpaint(局部重绘)
在原图上绘制一个蒙版,重绘蒙版部分或非蒙版部分。
原图和蒙版
重绘幅度0.65 提示词laugh
Inpaint sketch(涂鸦重绘)
涂鸦+局部重绘,在原图上绘制一个有颜色的蒙版,根据颜色重绘。
局部涂鸦原图
重绘幅度0.75 提示词cheongsam
Inpaint upload(上传重绘蒙版)
在局部重绘中,蒙版需要自己绘制,如果不想出现多画或少画的情况,就可以使用PS或者语义分割插件Segment Anything抠图抠出一个蒙版,方便精准重绘。
Batch(批量处理)
这一功能适用于视频制作,有点复杂先留个坑,以后再更。
以上几种模式中,涂鸦重绘的参数最全,所以参数按照涂鸦重绘的顺序介绍。
Resize mode(缩放模式)
此参数要和下面的重绘尺寸,也就是生成图的宽高放在一起讲。
Just resize(仅调整大小/拉伸)
需要重绘尺寸或比例与原图一致(使用重绘尺寸旁的三角尺或手动调整观察原图上的红框)。如果比例不一致,则会导致生成图扭曲。
注意:如果重绘幅度大的话,不一定会扭曲,而是可能根据比例画出个颜色差不多的东西。Crop and resize(裁剪后缩放)
对原图进行裁剪,使其适配重绘尺寸,不会出现扭曲的情况,但是会裁剪掉不合比例的部分。Resize and fill(缩放后填充)
先将图片缩放至重绘尺寸,再对未合比例的空白处进行同色填充(生成)。
类似PS beta的功能。Just resize /latent ipscale(调整大小/潜空间放大)
与Just resize(仅调整大小/拉伸)类似。
Mask blur(蒙版边缘模糊度)
对于局部重绘和涂鸦重绘,蒙版边缘模糊度可以使重绘部分与非重绘部分的连接更柔和,减弱割裂感,但过高会糊。
建议10~20之间。
Mask transparency(蒙版透明度)
对于涂鸦重绘,调整蒙版透明度可以控制ai的自由发挥程度,类似重绘幅度。
默认为0,即不透明,一般不建议超过60。
Mask mode(蒙版模式)
- Inpaint masked(重绘蒙版内容)
- Inpaint not masked(重绘非蒙版内容)
没什么好讲的。
Masked content(蒙版区域内容处理)
指的并不是对于最终生成图的处理,而是在重绘之前的预处理。
Fill(填充)
根据蒙版内容高强度模糊后的颜色重绘。
填充 提示词bare_shouldersOriginal(原图)
直接在原图的基础上重绘。Latent noise(潜空间噪声)
将蒙版内容压缩成潜空间的低维表示,并生成随机张量(潜在噪声),在这基础上进行重绘。
简单来讲就是将蒙版内容压缩并去特殊化,可以理解为对蒙版内容打上一层马赛克,还加了一些乱七八糟的色块(在生成图像时这些所谓的色块会被去掉,也就是——去噪)。Latent nothing(空白潜空间)
根据蒙版内容在潜空间的低维表示重绘,不添加噪声。
Inpaint area(重绘区域)
Whole picture(整张图片)
在原图的缩放比例下,对蒙版区域重绘。
与仅蒙版模式相比,整张图片模式对重绘部分和原图的融合更好。Only masked(仅蒙版区域)
将蒙版部分放大至原图比例进行重绘,之后缩小回去。
与整张图片模式相比,仅蒙版模式重绘细节更丰富,但融合较差。
Denoising strength(重绘幅度)
- 1:完全重绘,与原图不融合。
- 默认0.75:基本重绘,融合一点原图。
- 0.5~0.7:适合绝大部分。
- 0.3:稍微重绘,图生图模式下基本看不出来。