生成参数
生成图像时输入参数的名称因接口而异,但它们通常做同样的事情。以下是参数作用的简要说明:

提示:您要生成的内容的文本描述。

负面提示:对图像中不想要的东西的文字描述。

采样步骤:扩散模型通过从随机高斯噪声到适合提示的图像进行小步骤来工作。这是应该完成多少个这样的步骤。更多的步骤意味着从噪声到图像的更小、更精确的步骤。增加这个会直接增加生成图像所需的时间。收益递减,取决于采样器。

采样方法:使用哪个采样器。Euler a(祖先的缩写)以较少的步数产生多种变化,但很难进行小的调整。随着步数的增加,非祖先采样器都会产生大部分相同的图像,如果您不确定,请使用 LMS。

ddim_eta:使用 DDIM 时的随机数。

Batch count/n_iter:生成一组图像的频率。

批量大小:同时生成多少张图片。增加此值可以提高性能,但您还需要更多 VRAM。图像总数乘以批数。

CFG Scale(无分类指导量表):图像与您的提示匹配的程度。增加此值将导致图像更接近您的提示(根据模型),但在某个点之后也会降低图像质量。可以通过更多的采样步骤来抵消。

宽度:单个图像的宽度(以像素为单位)。要增加此值,您需要更多 VRAM。随着分辨率的增加,大尺度上的图像连贯性(模型在 512x512 上训练)变得更糟。非常小的值(例如 256 像素)也会降低图像质量。

高度:与宽度相同,但用于单个图像高度。

种子:RNG 的起点。保持相同以多次生成相同(或几乎相同)的图像。没有种子天生就比其他种子更好,但是如果您改变输入参数,只需稍微改变之前产生良好结果的种子可能仍会产生良好结果。

创建更好的提示并获得更好的结果的指南。


提示设计/一般提示
期待什么
即使您做对了所有事情,您生成的图像也不会完美。关于人们在互联网上发布的图像,要记住的重要一点是,您看不到图像的处理过程。很多时候,人们只是为给定的提示生成数百张图片,然后只发布最好的图片;当你可以让你的电脑在你睡觉的时候生成一堆图像时,你为什么不呢?

人们在互联网上发布的图像也可能经过编辑以修复缺陷。这可以使用 Stable Diffusion img2img 工具或传统的图像编辑软件(如 GIMP 或 Photoshop)来完成。在任何一种情况下,都需要一些手动努力和技巧才能获得良好的结果。

写什么
写下可能伴随您想要的图像的文字。通常这意味着文本应该简单地描述图像。但这只是过程的一半,因为描述不仅取决于图像,还取决于编写描述的人。

想象一下,你是中国人,不得不描述一个人的形象。您选择的词可能不再是“人”,因为您的母语是中文,而这不是您用中文描述一个人的方式。您甚至不会使用拉丁字符来描述图像,因为中文书写系统完全不同。同时,您可能会看到的人的图像将完全不同;如果您是中国人,您将主要看到其他中国人的图像。通过这种方式,语言,说某事的方式,与图像的内容相关联。理论上描述同一事物的两个术语可能与非常不同的图像相关联,并且在这些图像上训练的任何模型都将隐含地学习这些关联。这是非常典型的自然语言,其中有许多具有非常不同细微差别的同义词;只需考虑“粪便”和“粪便”是非常不同的术语,即使它们在技术上描述的是同一件事。

TLDR:在选择提示时,不仅要考虑图像中的内容,还要考虑谁会说这样的话。

提示长度
具有描述性。如果你给它更长、更详细的描述你想要的东西,这个模型会做得更好。对您关心的提示部分使用冗余描述。

但是请注意,提示的长度存在硬性限制。某个点之后的所有内容 - 75 或 76 个 CLIP 代币,取决于您的计数方式 - 都被简单地切断了。因此,最好使用简明扼要地描述您想要的内容的关键字,并避免使用与您想要的图像无关的关键字。使用 unicode 字符(例如日文字符)的单词比使用 ASCII 字符的单词需要更多的标记。

标点
用它。用逗号、句点甚至空字符 ("\0") 分隔关键字可以提高图像质量。目前尚不清楚哪种标点符号或哪种组合最有效——如果有疑问,只需以使提示对您更具可读性的方式进行即可。

注意/重点
注意力有很多混淆,这意味着增加或减少提示特定部分的权重的方法。有人断言,将关键字放在圆括号中会增加效果,而将关键字放在方括号中会降低效果;据说使用更多的括号会导致更大的变化。但是,其他人经常无法在自己的提示中重现这种效果。

事实证明,差异的原因是不同的脚本处理括号的方式不同。 例如,这个webui的 fork 显式处理括号,而 这个 fork只会获得模型从训练数据中隐式学习的括号的效果(而是使用不同的语法)。出于这个原因:确保检查您从其他人那里复制的提示的语法是否与您使用的脚本的语法相匹配。 在定量分析中,方括号没有一致的效果,除非明确处理。

无论正在使用的特定脚本如何,重复某个关键字似乎都会增加其效果。

特异性
该模型本质上已经学习了以特定提示为条件的图像分布。对于神经网络的训练,特征的质量很重要:输入和输出之间的连接越强,神经网络就越容易学习连接。换句话说,如果关键字具有非常具体的含义,那么学习它如何连接到图像要比关键字具有非常广泛的含义要容易得多。这样,即使是很少使用的关键字,如“Zettai Ryouiki”,也可以产生非常好的结果,因为它只在非常特定的情况下使用。另一方面,“动漫”虽然是一个相对常见的词,但并没有产生很好的效果,大概是因为即使没有文字动漫,它也被用于许多不同的情况。

如果您想控制图像的内容,选择特定的关键字尤其重要。另外:你的措辞越不抽象越好。如果可能的话,避免使用留下解释空间或需要“理解”不属于图像一部分的内容的措辞。甚至像“大”或“小”这样的概念也是有问题的,因为它们与靠近或远离相机的物体无法区分。理想情况下,使用很可能逐字出现在您想要的图像标题上的措辞。

运动和姿势
如果可能,请选择仅与少量姿势相关联的提示。在这种情况下,姿势意味着某物的物理配置:图像主体相对于相机的位置和旋转、人/机器人关节的角度、果冻块被压缩的方式等。方差越小在您尝试指定的东西中,模型学习起来越容易。因为根据其定义,运动涉及主体姿势的巨大变化,与运动相关的提示经常导致身体恐惧,如重复的肢体。还因为人类的四肢,尤其是人类的手和脚有很多关节,它们可以呈现许多不同的复杂姿势。这使得它们的可视化特别难以学习,对于人类和神经网络来说都是如此。

TLDR:人站/坐的好形象很容易,人跳/跑的好形象很难。

高度和宽度/截止头
默认分辨率为 512x512 的提示“跑道模型”的非精选样本。头部大多不在框架内。

提示“跑道模型”的非精选样本,分辨率为 448x832(7:13 纵横比)。头部大多在框架中。

使用稳定扩散生成的人类图像经常会出现对象的头部超出框架的问题。原因是训练数据被裁剪成方形图像;如果图像高度大于图像宽度,这通常会切断人的头部和脚部。极其简单的提示“跑道模型”就是一个很好的例子。与此提示相关的图像几乎都是人像模式,由专业摄影师拍摄。作为专业人士,摄影师知道如何正确地构图他们的主题,使主题在框架中,但不会在顶部和底部浪费太多空间 - 这正是为什么始终切断此类照片的顶部和底部的原因去除头和脚。

一个解决头部截断的方法是改变生成图像的纵横比:如果图像高度增加,图像会延伸到它们的典型边界之外,并且更有可能生成头部和脚部。请注意“可能”一词的用法:因为图像在底部或顶部延伸基本上是随机的,因此您最终可能会得到头部仍然被切断但在主体脚下有很多空间的图像。

提示“跑道模型”的一些细节(记住有限的样本量):

对象的头部宽度为 448 像素,大部分位于框架中,高度为 704 像素。图像连贯性在 896 像素的高度开始下降。

对象的头部宽度为 512 像素,大部分位于框架中,高度为 768 像素。图像连贯性在 832 像素的高度开始下降。

与仅增加两者之一相比,同时增加图像宽度和高度会大大降低图像的连贯性。

各种各样的
Unicode 字符(例如日文字符)有效。

大小写无关紧要。

至少一些作为拉丁字符替代版本的 Unicode 字符被映射到常规拉丁字符。确认在日语中使用的全角拉丁字符(例如 ABC)已被转换。法语口音(例如 é 和 è)和德语变音符号(例如 ä 和 ö)没有映射到它们的常规对应物。

提示符开头和结尾的多余空格将被简单地丢弃。单词之间的额外空格也会被丢弃。

下划线(“_”)不会转换为空格。

Waifu Diffusion
用于演示 Danbooru 配方的示例提示的非精选样本。

Waifu Diffusion 微调是在Danbooru图像上训练的。构建提示的最佳方法尚不清楚,但一个好的起点是使用与微调训练数据相同的方法:

选择一个或多个版权标签,即指定图像主题来自哪个动漫/漫画/游戏的标签。对原创内容使用“原创”。

如果适用,选择字符标签,意思是指定 SD 应生成的字符的标签。

选择一般标签,即描述图像内容和风格的常规标签。不要使用诸如“highres”之类的元标记,因为这些没有在训练中使用。

选择艺术家标签,意思是指定要模仿的艺术家风格的标签。

按字母顺序对上述每个类别中的标签进行排序(字母前的数字,与 Danbooru 上的顺序相同)。

用下划线替换标签内的空格。

通过附加每个类别的标签来构建提示,用空格分隔(没有逗号或句点)。首先放置版权标签,然后是角色标签,然后是一般标签,然后是艺术家标签。

基于此图的示例提示:

kono_subarashii_sekai_ni_shukufuku_wo! megumin 1girl ^_^ backlighting blush brown_hair cape closed_eyes collar facing_viewer fingerless_gloves flat_chest gloves hat lens_flare short_hair short_hair_with_long_locks smile solo staff sunset witch_hat dacchi