位于界面左上角,用于调整使用模型,这是对生成结果影响最大的因素,主要体现在画面风格上,不同的算法框架对不同事物的拟合表现情况会有影响
模型下载地址:
推荐
注意: 模型文件有 2 种格式,分别是 .ckpt
(Model PickleTensor) 和 .safetensors
(Model SafeTensor),据说 .safetensors
更安全,这两种格式 stable-diffusion-webui
都支持,随意下载一种即可
将下载好的模型文件放到 stable-diffusion-webui/models/Stable-diffusion
目录下
放置好模型文件之后,重启 stable-diffusion-webui
另: 有些模型会同时需要 VAE
模型,下载后放在 ./stable-diffusion-webui/models/VAE
下,然后在 Settings
— Stable Diffusion
— SD VAE
处选择后保存并重启即可
若需要 Embedding
模型,下载后放入 ./stable-diffusion-webui/embeddings
目录即可
txt2img
— 标准的文字生成图像;img2img
— 根据图像成文范本、结合文字生成图像;Extras
— 优化(清晰、扩展)图像;PNG Info
— 图像基本信息Checkpoint Merger
— 模型合并Train
— 重新训练模型Settings
— 默认参数修改Extensions
— 安装扩展
Textual inversion
— 训练模型对于某种图像风格
(画面质量提示词), (画面主题内容)(风格), (相关艺术家), (其他细节)
提示词中可以填写以下内容:
prompt
时应尽量避免复杂的语法。Danbooru
数据的模型来说,可以使用西式颜文字在一定程度上控制出图的表情,比如 :-)
微笑 :-(
不悦 ;-)
使眼色 :-D
开心 :-P
吐舌头 :-C
很悲伤 :-O
惊讶 :-/
怀疑Prompt
参考网站
推荐
推荐
推荐
从其他人的图片中解析 Prompt
注意: 在模型中,每个词语本身自带的权重可能有所不同,如果模型训练集中较多地出现某种关键词,我们在提示词中只输入一个词就能极大地影响画面,反之如果模型训练集中较少地出现某种关键词,我们在提示词中可能输入很多个相关词汇对画面的影响效果都很有限。
提示: 提示词的顺序很重要,越靠后的权重越低。关键词最好具有特异性,譬如 Anime
(动漫)一词就相对泛化,而 JoJo
一词就能清晰地指向 JoJo
动漫的画风。措辞越不抽象越好,尽可能避免留下解释空间的措辞。
更多的提示词使用方法见 喂饭级stable_diffusion_webUI调参权威指南
可以使用括号人工修改提示词的权重,方法如:
(word)
- 将权重提高至原来的 1.1 倍,即 N e w W e i g h t = W e i g h t × 1.1 NewWeight=Weight \times 1.1 NewWeight=Weight×1.1((word))
- 将权重提高至原来的 1.21 倍 ,即 N e w W e i g h t = W e i g h t × 1.1 × 1.1 NewWeight=Weight \times 1.1 \times 1.1 NewWeight=Weight×1.1×1.1[word]
- 将权重降低至原来的 0.9091 倍,即 N e w W e i g h t = W e i g h t ÷ 1.1 NewWeight=Weight \div1.1 NewWeight=Weight÷1.1(word:1.5)
- 将权重提高至原来的 1.5 倍(word:0.25)
- 将权重降低至原来的 0.25 倍提示词轮转,语法为:
[cow|horse] in a field
cow in a field
horse in a field
cow in a field
使得 AI 在不同的步数生成不一样的内容,譬如在某阶段后,绘制的主体由男人变成女人,语法为:
[to:when]
在指定数量的 step
后,将 to
处的提示词添加到提示[from::when]
在指定数量的 step
后从提示中删除 from
处的提示词[from:to:when]
在指定数量的 step
后将 from
处的提示词替换为 to
处的提示词例1:
a [fantasy:cyberpunk:16] landscape
- 一开始,读入的提示词为:
the model will be drawing a fantasy landscape.
;- 在第 16 步之后,提示词将被替换为:
a cyberpunk landscape
,它将继续在之前的图像上计算
例2:
fantasy landscape with a [mountain:lake:0.25] and [an oak:a christmas tree:0.75][ in foreground::0.6][ in background:0.25][shoddy:masterful:0.5]
,采样步数Steps
为100
- 一开始,读入的提示词为:
fantasy landscape with a mountain and an oak in foreground shoddy
;- 在第 100 × 0.25 = 25 100\times0.25=25 100×0.25=25 步后,提示词为:
fantasy landscape with a lake and an oak in foreground in background shoddy
;
在第 100 × 0.5 = 50 100\times0.5=50 100×0.5=50 步后,提示词为:fantasy landscape with a lake and an oak in foreground in background masterful
;
在第 100 × 0.6 = 60 100\times0.6=60 100×0.6=60 步后,提示词为:fantasy landscape with a lake and an oak in background masterful
;
在第 100 × 0.75 = 75 100\times0.75=75 100×0.75=75 步后,提示词为:fantasy landscape with a lake and a christmas tree in background masterful
Sampling method: Which algorithm to use to produce the image
Euler
是最简单的、最快的
Euler a (Eular ancestral)
可以以较少的步数产生很大的多样性,不同的步数可能有不同的结果,但是步数太高 (>30) 效果不会更好。而非 ancestral
采样器都会产生基本相同的图像。DPM
相关的采样器通常具有不错的效果,但耗时也会相应增加
DDIM
收敛快,但效率相对较低,因为需要很多 steps 才能获得好的结果,适合在重绘时候使用
LMS
是 Euler
的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性),大概 30 steps 可以得到稳定结果
PLMS
是 Euler
的衍生,可以更好地处理神经网络结构中的奇异性
DPM2
是一种神奇的方法,它旨在改进 DDIM
,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM
的两倍,生图效果也非常好。但是如果你在进行调试提示词的实验,这个采样器可能会有点慢了
UniPC
效果较好且速度非常快,对平面、卡通的表现较好,推荐使用
详细采样方法介绍见 stable diffusion webui如何工作以及采样方法的对比
Stable Diffusion
的工作方式是从以随机高斯噪声起步,向符合提示的图像一步步降噪接近。随着步数增多,可以得到对目标更小、更精确的图像。但增加步数也会增加生成图像所需的时间。增加步数的边际收益依次递减,主要取决于采样器,一般开到 20~30 即可。Sampling steps: How many times to improve the generated image iteratively; higher values take longer; very low values can produce bad results
Restore faces
Tiling: Produce an image that can be tiled.
text2img
在高分辨率下会生成非常混沌的图像。如果使用高清修复,会首先按照指定的尺寸( W i d t h × H e i g h t Width \times Height Width×Height)生成一张图片,然后通过放大算法将图片分辨率扩大,以实现高清大图效果。最终尺寸为原分辨率乘以缩放系数 Upscale ,即 ( W i d t h × H e i g h t ) × U p s c a l e (Width \times Height) \times Upscale (Width×Height)×UpscaleLatent
在许多情况下效果不错,但重绘幅度小于 0.5 后就不甚理想。ESRGAN_4x
、SwinR 4x
对 0.5 以下的重绘幅度有较好支持Hires step
表示在进行这一步时计算的步数,设置进行高清修复时的采样迭代次数,0表示沿用原始采样迭代次数Denoising strength
字面翻译是降噪强度,表现为最后生成图片对原始输入图像内容的变化程度。该值越高,放大后图像就比放大前图像差别越大。低 Denoising
意味着修正原图,高 Denoising
就和原图就没有大的相关性了。一般来讲阈值是 0.7 左右,超过 0.7 和原图基本上无关,0.3 以下就是稍微改一些。实际执行中,具体的执行步骤为 D e n o i s i n g s t r e n g t h × S a m p l i n g S t e p s Denoising strength \times Sampling Steps Denoisingstrength×SamplingSteps。Hires. fix: Use a two step process to partially create an image at smaller resolution, upscale, and then improve details in it without changing composition
Width:生成图片宽度
Height:生成图片高度
W i d t h × H e i g h t Width \times Height Width×Height 指定图像的尺寸。出图尺寸太大时,图中可能会出现多个主体。1024
以上的分辨率可能会出现不理想的结果,推荐使用小尺寸分辨率搭配高清修复(Hires.fix
)
注意: 如果电脑配置不佳,不要让宽度与高度过大,否则容易因为显存不足而无法出图。
Batch count: How many batches of images to create (has no impact on generation performance or VRAM usage)
Batch Size
需要消耗巨量的显存。若没有超过 12G 的显存,请保持为 1 。Batch size: How many image to create in a single batch (increases generation performance at cost of higher VRAM usage)
prompt
),较低的值会产生更具创造性的结果,增加这个值将导致图像更接近你的提示,同时更高的数值也会提升图像的平滑程度和对比度。但过高的 CFG Scale
体现为粗犷的线条和过锐化的图像,在一定程度上降低了图像质量,可以用更多的 steps
来抵消,一般开到 7~11 即可CFG Scale: Classifier Free Guidance Scale - how strongly the image should conform to prompt - lower values produce more creative results
Diffusion
算法起点的初始值。理论上,在应用完全相同参数(如 Steps
、CFG
、Seed
、prompts
)的情况下,生产的图片应当完全相同。Seed: A value that determines the output of random number generator - if you create an image with same parameters and seed as another image, you’ll get the same result
Set seed to -1, which will cause a new random number to be used every time
Reuse seed from last generation, mostly useful if it was randomed
extra:启用额外的参数
Variation seed: Seed of a different picture to be mixed into the generation.
Variation strength: How strong of a variation to produce. At 0, there will be no effect. At 1, you will get the complete picture with variation seed (except for ancestral samplers, where you will just get something).
Resize seed from width: Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution
Resize seed from height: Make an attempt to produce a picture similar to what would have been produced with same seed at specified resolution
脚本:提供了一些方便的功能,为保存在
stable-diffusion-webui/scripts/
路径下的python
脚本文件
text2img
功能支持 4 个脚本选择:girl with skirt|gun|blue hair
作为 prompt
,其中包含 3 个提示词,且用 |
分割。这样就可以生成下图这种两两组合的效果图prompt
中输入 boy
,在下面的文本框中输入 girl with skirt, gun, blue hair
,结果生成的图片是女孩,说明通过 script
导入的提示词覆盖了在上面文本框中的提示词prompt
,对比不同纬度的参数取不同值时的效果。如下例中,我们选用 prompt
为 girl holding a gun
,然后对比三个模型以及 steps = 10
、steps = 20
、steps = 30
三个不同采样步数的效果img2img
,最后重新拼成一整个新的视频。但当前 text2img
的 m2m
效果一般,容易产生图像的跳动/闪烁Prompt
读取生成参数,当 Prompt
为空时,将上次生成参数读取至当前用户界面Read generation parameters from prompt or last generation if prompt is empty into user interface.
Prompt
Clear prompt
Show/hide extra networks
Styles
)应用于当前 Prompt
Apply selected styles to current prompt
tag
保存至样式(Styles
)Save style
tag
文件在 ./stable-diffusion-webui/styles.csv
大致同上,仅说明不同的部分
CLIP
更擅长推理较为真实的图像,更注重画面内的联系,并生成的自然语言描述,自然语言可以理解为一句话的形式DeepBooru
对二次元的各种元素把握很好,更适合二次元动漫风格类的图像,可以对二次元图片生成标签,并给出分段形式的关键词缩放模式,缩放模式功能其实是指将素材区域的图片以什么样的方式进行加载,每一种加载方式都会影响输出的图像尺寸结果
Denoising strength
与原图一致性的程度,一般大于 0.7 出来的都是新效果,小于 0.3 时则仅根据原图缝缝补补绘图
注意:
局部重绘
局部重绘(手涂蒙版) & 局部重绘(上传蒙版)
stable diffusion
内手动绘制的功能使用起来较不方便,对于复杂的人物或场景无法精细处理,因此更推荐使用导入蒙版的方式使用PhotoShop
,然后进行抠图,抠图后填充选区的颜色。Inpaint
区别在于,在 Inpaint
中,用户涂黑的部分表示该部分可以被重绘;而在 Inpaint sketch
中,用户涂鸦的部分不仅表示可以重绘,用户涂鸦的内容还会成为图像生成的内容来源。批量对每张图像进行图生图
PhotoShop
或 Premiere
、 FFMpeg
等工具)该部分主要将图像进行优化,即后期处理,可手动对图片进行导入,也可以通过其他模块中的
send to extras
直接使用
提示:
R-ESRGAN 4x+Anime6B
效果更好
该部分主要说明图像大小等信息
Primary model (A)
中Weighted sum
(加权和).ckpt
还是 .safetensors
Float16
方式保存,不勾选默认是 Float32
(精度更佳)VAE
。一些额外的 VAE
针对面部或者其他一些细节做了改良,所以加载 VAE
文件实际是替换了模型文件中原有的与 VAE
相关的参数VAE
可能弄巧成拙;或者如果你的模型文件已经注入过 VAE
,你再加载同样的 VAE
只是浪费时间^model_ema
以舍弃模型中的 EMA 信息./models/Stable-diffusion
重新训练模型
修改个性化设置,根据个人使用习惯进行修改
VAE
模型
Settings
— Stable diffusion
— SD VAE
扩展均可通过
Install from URL
下载,或手动下载后,移至./extensions
文件夹
Extensions
参见 URL