打印

[教程] Stable Diffusion WebUI的一些参数说明

0

Stable Diffusion WebUI的一些参数说明

关于Stable Diffusion WebUI的安装/模型使用可以参考堂内老哥凛冽的风的两个主题
这里我给大家带来一些Stable Diffusion使用方面的教程,不是我纯原创,也是我看其他大佬的总结



常用参数介绍
Prompt(提示词):对你想要生成的东西进行文字描述
Negative prompt(反向提示词):用文字描述你不希望在图像中出现的东西
Sampling Steps(采样步数):扩散模型的工作方式是从随机高斯噪声向符合提示的图像迈出小步。这样的步骤应该有多少个。更多的步骤意味着从噪声到图像的更小、更精确的步骤。增加这一点直接增加了生成图像所需的时间。回报递减,取决于采样器
Sampling method(采样器):使用哪种采样器。Euler a(ancestral 的简称)以较少的步数产生很大的多样性,但很难做小的调整。随着步数的增加,非 ancestral 采样器都会产生基本相同的图像,如果你不确定的话,可以使用 LMS
Batch count/n_iter:每次生成图像的组数。一次运行生成图像的数量为 Batch count * Batch size
Batch size:同时生成多少个图像。增加这个值可以提高性能,但你也需要更多的 VRAM。图像总数是这个值乘以批次数。除 4090 等高级显卡以外通常保持为 1
CFG Scale(无分类指导规模):图像与你的提示的匹配程度。增加这个值将导致图像更接近你的提示(根据模型),但它也在一定程度上降低了图像质量。可以用更多的采样步骤来抵消
Width:图像的宽度,像素。要增加这个值,你需要更多的显存。大尺度的图像一致性会随着分辨率的提高而变差(模型是在 512x512 的基础上训练的)。非常小的值(例如 256 像素)也会降低图像质量。这个值必须是 8 的倍数(个人建议为64的倍数)
Height:图像高度(个人建议为64的倍数)
Seed:随机数的起点。保持这个值不变,可以多次生成相同(或几乎相同,如果启用了 xformers)的图像。没有什么种子天生就比其他的好,但如果你只是稍微改变你的输入参数,以前产生好结果的种子很可能仍然会产生好结果。



采样器
目前好用的有 Euler,Euler a(更细腻)和 DDIM。
推荐 Euler a 和 DDIM,新手推荐使用 Euler a
Euler a 富有创造力,不同步数可以生产出不同的图片。调太高步数 (>30) 效果不会更好。
DDIM 收敛快,但效率相对较低,因为需要很多 step 才能获得好的结果,适合在重绘时候使用
LMS 和 PLMS 是 Euler 的衍生,它们使用一种相关但稍有不同的方法(平均过去的几个步骤以提高准确性)。大概 30 step 可以得到稳定结果
PLMS 是一种有效的 LMS(经典方法),可以更好地处理神经网络结构中的奇异性
DPM2 是一种神奇的方法,它旨在改进 DDIM,减少步骤以获得良好的结果。它需要每一步运行两次去噪,它的速度大约是 DDIM 的两倍。但是如果你在进行调试提示词的实验,这个采样器效果不怎么样
Euler 是最简单的,因此也是最快的之一

CFG Scale 提示词相关性
cfg scale 是图像与提示词的契合度,该值越高,提示词对最终生成结果的影响越大,契合度越高。
过高的 CFG Scale 体现为粗犷的线条和过锐化的图像。

注意尺寸
出图尺寸太宽时,图中可能会出现多个主体。
要匹配好姿势,镜头和人物才不畸形,有时候需要限定量词,多人物时要处理空间关系和 prompt 遮挡优先级。
人数->人物样貌->环境样式->人物状态
1024 之上的尺寸可能会出现不理想的结果!推荐使用 小尺寸分辨率   高清修复(Highres. fix)

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

Batch Count 与 Batch Size
Batch Count(生成批次) 指定共生成几个批次。
Batch Size(每批数量) 指定每个批次并行生产多少张图片。

大的 Batch Size 需要消耗巨量显存。若您的显卡没有超过 12G 的显存,请不要调节 Batch Size。
对于显存极大的显卡而言,一次生成一张图片无法充分利用显卡计算容量,此时可将 Batch Size 提高以充分压榨算力。

随机种子
理论上,种子决定模型在生成图片时涉及的所有随机性。
实际的种子数值并不重要。它只是初始化一个定义扩散起点的随机初始值。
在应用完全相同参数(如 Step、CFG、Seed、prompts)的情况下,生产的图片应当完全相同。(不使用 xformers 等会带来干扰的优化器)

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

模型安全提示
.ckpt 和 .pt 文件使用 Pickle模块 加载模型,而Pickle 模块在设计上并不安全。
所以模型种可能含有恶意数据,可使得加载期间执行任意代码。原则上,您应该只加载您信任的数据。永远不要加载可能未知来源的、或可能被篡改的模型。
一种新型的模型格式 safetensors 解决了这个问题。如果模型作者提供了这个格式的模型,请优先选择它。


文字转图片
单词标签
对于在标签单词上特化训练的模型,建议使用逗号隔开的单词作为提示词。
普通常见的单词,例如是可以在数据集来源站点找到的著名标签(比如 Danbooru)。
单词的风格要和图像的整体风格搭配,否则会出现混杂的风格或噪点。
避免出现拼写错误。NLP 模型可能将拼写错误的单词拆分为字母处理。
顺序:前面的词汇会锚定画面的色彩分布。什么重要什么放前面

自然语言
对于在自然语言上特化训练的模型,建议使用描述物体的句子作为提示词。
取决于训练时使用的数据集,可以使用英文,日文,特殊符号或一些中文。大多数情况下英文较为有效。
避免 with 之类的连接词或复杂的语法,大多数情况下 NLP 模型只会进行最简单的处理。
避免使用重音符(如 é 和 è)和德语 umlauts(如 ä 和 ö),它们可能无法被映射到正确的语义中。
不建议随意套用现成模板,尤其是无法经过人类理解的模板。

Emoji
Emoji表情符号也是可以使用并且 非常准确 的
Emoji 因为只有一个字符,所以在语义准确度上表现良好

颜文字
:-) 微笑 :-( 不悦 ;-) 使眼色 :-D 开心 :-P 吐舌头 :-C 很悲伤 :-O 惊讶 张大口 :-/ 怀疑
仅支持西方颜文字

空格
逗号前后的少量空格并不影响实际效果。
开头和结尾的额外空格会被直接丢弃。词与词之间的额外空格也会被丢弃。

标点符号
用逗号、句号、甚至是空字符(\0)来分隔关键词,可以提高图像质量。目前还不清楚哪种类型的标点符号或哪种组合效果最好。
当有疑问时,只要以一种使提示更容易被阅读的方式来做。
对于部分模型,建议将下划线(_)转换为空格。


一些常见噪声
分类
描述
处理
粗糙
细节不够,人物像米糕一样
需要适当提升 step(结合上面采样说明)
波浪
密集的波浪或图案
向量不“均匀”,可能是权重设置太高
模型
训练处理的模型非常抽象
向量不“均匀”,可能是炼丹(模型训练)炼炸了
冲突
实景中的扁平动漫纸片儿
可能混用了不同次元或主题的提示词(或模型问题)
彩虹
输出混乱的彩虹色图片
可能是生成分辨率被设置得太低
尺寸
大尺寸下输出扭曲的图片
开启 Highres Fix 选项或使用 小分辨率 超分 的方法

TOP

0
学习了,B站也有很多教程,楼主这些学习后,可以学comfyui,更自由灵活大

TOP

当前时区 GMT+8, 现在时间是 2024-9-6 06:53