Stable Diffusion如何使用?
前言
在这篇文章中,我们将学习Stable Diffusion的基础用法,了解提示词,符号的用法,以及图像的输出。
提示词
提示词分为两个部分,正向提示词和反向提示词
正向提示词
我们可以使用正向提示词来生成想要的图像,将图片拆分成不同的关键字并用逗号隔开输入。
需要注意的是,相同的指令在不同的模型库和参数下,生成的输出图像可能会不一样。此外,提示词的顺序也非常重要,因为它们的顺序会影响到生成图像的权重。通常情况下,越靠前的提示词权重越大,越靠后的提示词权重越小。
反向提示词
输入框中输入的内容就是我们不想要出现的东西,这样做可以避免残缺的手指,低质量图片的出现
提示词的获取
- Stable Diffusion 中自带反推功能,可以通过将想要拆分的图像拖入反推,点击按钮来获得生成该图像的提示词。具体的位置在图生图的位置。
- 利用Chatgpt等相关工具,将想要描述的场景输入,并告诉gpt将这句话转化为 Stable Diffusion的描述词
符号的使用
词汇在提示中所占的位置越前,其所占的比重就越大,为了更加细致的调整词汇所占的比重,在选中关键词的同时,按下键盘上的 (Ctrl+↑ ↓)来快速调整权重。每次调整的权重值为0。1,建议将权重值控制在0。7-1。4之间。
通过这种方法,我们可以更加精确的控制提示词的权重,以达到更好的效果。
图像的输出
画面的信息量取决于输出图片的大小。在全身构图中,一些细节,例如脸部、饰品和复杂的纹样,只有在较大的图像中才能得到充分的展示空间,如图像太小,脸部,手部,一些细节就会被压缩成一团,无法得到充分的表现,
尽管输出大小决定了画面的信息量,但是当输出尺寸较大时,AI往往会试图在图像中塞入更多的内容。由于大多数模型都是在512×512分辨率下训练的,因此在输出尺寸较大(例如1000×1000)时,处理器会尝试在图像中塞入两到三张图片的内容,导致出现肢体拼接、多人、多角度等不受词条控制的情况。
界面
采样迭代步数
即输出画面所需要的步数,每一次采样步数就是在上一次迭代的基础上绘制一个全新的图片,一般来说迭代步数保持在18-30以内。
低的采样步数会导致画面计算不完整,高的采样步数仅在细节处进行优化,对比输出速度得不偿失。
采样方法的介绍
常用的有三种,分别是 Euler a,DPM++2S a Karras 和 DDI
Euler a
- Euler a 是一种用于控制时间步长大小的可调参数,在 Stable Diffusion 中采用 Euler 时间步长采样方法。适当的 Euler a 值能够捕捉到细节和纹理,但如果值太大会导致过度拟合,生成图像出现噪点等不良效果。
- 一句话概括:采样生成速度最快,但是如果说在高细节图增加采样步数时,会产生不可控突变(如人物脸扭曲,细节扭曲等)
适合:ICON,二次元图像,小场景
DPM++2S a Karras:
- 采用 DPM++2S a Karras 采样方法生成高质量图像,该方法在每个时间步长中执行多次操作,同等分辨率下细节会更多,比如可以在小图下塞进全身,代价是采样速度更慢
- 适合:写实人像,复杂场景刻画,步幅越高,细节刻画越好
DDIM
- DDIM 采样方法可以快速生成高质量的图像,相比其他采样方法具有更高的效率,想尝试超高步数时可以使用,随着步数增加可以叠加细节
- 适合:写实人像,复杂场景刻画
提示词相关性
Stable Diffusion 中的提示词相关性指的是输入提示词对生成图像的影响程度。当我们提高提示词相关性时,生成的图像将更符合提示信息的样子;相反,如果提示词相关性较低,对应的权重也较小,则生成的图像会更加随机。因此,通过调整提示词相关性,可以引导模型生成更符合预期的样本,从而提高生成的样本质量。
①在具体应用中,对于人物类的提示词,一般将提示词相关性控制在 7-15 之间;
②而对于建筑等大场景类的提示词,一般控制在 3-7 左右。这样可以在一定程度上突出随机性,同时又不会影响生成图像的可视化效果。因此,提示词相关性可以帮助我们通过引导模型生成更符合预期的样本,从而提高生成的样本质量。
随机种子
随机种子是一个可以锁定生成图像的初始状态的值。当使用相同的随机种子和其他参数,我们可以生成完全相同的图像。设置随机种子可以增加模型的可比性和可重复性,同时也可以用于调试和优化模型,以观察不同参数对图像的影响。
在 Stable Diffusion 中,常用的随机种子有-1 和其他数值。当输入-1 或点击旁边的骰子按钮时,生成的图像是完全随机的,没有任何规律可言。而当输入其他随机数值时,就相当于锁定了随机种子对画面的影响,这样每次生成的图像只会有微小的变化。因此,使用随机种子可以控制生成图像的变化程度,从而更好地探索模型的性能和参数的影响。
在工作产出中,如果细微调整,我们将会固定某个种子参数然后进行批量生成
模型部分
Checkpoint,VAE,embedding 和 lora 的使用详解
模型下载
Civitai | Stable Diffusion models, embeddings, LoRAs and more
进入以上网站,选择下载的分类,将触发词记录下来,将文件放入指定位置刷新主程序即可
Checkpoint 的介绍
对于模型作者而言,训练模型通常指生成 Checkpoint 文件。这些文件包含了模型参数和优化器状态等信息,是训练过程中定期保存的状态快照。
对于使用者而言,可以将 Checkpoint 文件理解为一种风格滤镜,例如油画、漫画、写实风等。通过选择对应的 Checkpoint 文件,您可以将 Stable Diffusion 模型生成的结果转换为您所选择的特定风格。需要注意的是,一些 Checkpoint 文件可能需要与特定的低码率编码器(如 Lora)配合使用,以获得更好的效果。
在下载 Checkpoint 文件时,您可以查看相应的模型简介,通常作者会提供相应的文件和说明事项,以帮助您更好地使用和理解该文件。
总之,Checkpoint 文件是 Stable Diffusion 模型训练过程中定期保存的状态快照,使用者可以将其理解为一种风格滤镜,用于将模型输出结果转换为特定的风格。在使用 Checkpoint 文件时,需要注意文件的匹配和相应的使用说明。
VAE 的介绍
可以将 VAE 理解为对模型的滤镜加微调,不同的 VAE 可能有一些细节上的差异,但不会影响输出的效果。
它可以增强模型的表现,有些模型文件已经自带了 VAE 效果,因此不需要盲目地去挂载,可以选择自动模式来简化日常使用。
embedding 的介绍
如果你有做过 UI 的经验,那么你应该知道组件的概念。在 Stable Diffusion 中,embedding 技术就可以被理解为一种组件,它可以将输入数据转换成向量表示,方便模型进行处理和生成。
举个例子,如果我们想要生成一个开心的皮卡丘,通常需要输入很多描述词,如黄毛、老鼠、长耳朵、腮红等等。但是,如果引入皮卡丘的 embedding,我们只需要输入两个词:皮卡丘和开心。皮卡丘的 embedding 打包了所有皮卡丘的特征描述,这样我们就不用每次输入很多单词来控制生成的画面了。
在日常使用中,embedding 技术通常用于控制人物的动作和特征,或者生成特定的画风。相比于其他模型(如 LORA),embedding 的大小只有几十 KB,而不是几百兆或几 GB,除了还原度对比 lora 差一些但在存储和使用上更加方便。
总之,embedding 技术将输入数据转换为向量表示,为模型的处理和生成提供了便利。通过使用 embedding,我们可以更加轻松地生成符合预期的样本,而不需要手动输入大量的描述词汇。
LORA 的介绍
LORA 与 embedding 在本质上类似,因为携带着大量的训练数据,所以 LORA 对人物和细节特征的复刻更加细腻
使用技巧:
通常来说,每个 LORA 模型都有对应的底膜和触发词汇。我们可以查看 LORA 作者产出的相关图片,从中获取模型信息,并从中选择一些提示词和排除词来指定生成图像的方向。需要注意的是,每个 LORA 模型对输出图像的权重设置是非常重要的。权重设置越大,对画面的影响因素就越浅。通常情况下,权重应该控制在 0.7-1 之间。如果权重过高,会大幅度影响出图的质量。
为了获得最佳效果,我们可以根据不同的 LORA 模型选择适当的提示词和排除词,并在设置权重时进行调整。同时,我们还可以参考其他作者的经验和技巧,以便更好地利用 LORA 生成图像。
图生图
是一种生成图像的方法,它可以通过对已有的图像进行修改或变形,生成新的图像。在 Stable Diffusion 中,我们可以将垫图的图像看作是一张“初始图像”,通过多次迭代,对其进行修改和变形,逐步生成与垫图风格类似想要的图片。
需注意的是图生图相对于文生图多出两个功能
重绘幅度:
指的是每次迭代中图像被重新绘制的程度或幅度,也就是新生成的图像与上一次迭代生成的图像之间的差异程度。
它的取值范围在 0 到 1 之间。当 值等于 0 时,新生成的图像与上一次迭代生成的图像完全一致,即没有重新绘制;
当值等于 1 时,新生成的图像与上一次迭代生成的图像完全不同,即完全重新绘制。
需要注意的是,重绘幅度的大小会影响生成图像的质量和逼真程度。当重绘幅度较小时,生成的图像可能会比较模糊或粗糙;
当重绘幅度较大时,生成的图像可能会出现明显的噪点或瑕疵。
缩放模式:
拉伸:不改变宽高比的前提下将图片拉伸,宽度高度充满画面空间的 100%
裁剪:保留宽高比的基础上,然后裁剪掉超出去的部分,使用时我们可以提前调整好输出图片的宽高比例
填充:它指在缩放图像时,将原始图像放置在目标尺寸的中心位置,多出去的部分用一定的颜色值(通常为黑色)填充周围的空白区域。
直接缩放:
①指对图像进行简单的缩放处理,即直接将原始图像缩放到目标尺寸。
②在 Stable Diffusion 中,如果生成的图像尺寸与原始图像尺寸不一致,就需要进行缩放处理。直接缩放是一种简单粗暴的缩放方式,它直接将原始图像缩放到目标尺寸,不进行任何额外的处理。这种缩放方式的优点是简单快速,但缺点是可能会导致图像失真或模糊,特别是当缩放比例较大时。
功能分类
图生图
主要用来做图片放大和造型背景的变化,或者三次元改二次元时用的,通常配合着 ControlNet 来使用
绘图
通过手动绘制或修改图像的局部区域,来指导生成器生成更加符合用户期望的图像,使用时可以利用绘图工具,如笔刷、橡皮擦等,对图像的局部区域进行修改。修改后的图像会被作为下一次迭代的初始图像,从而影响后续的图像生成过程。
通过绘图,可以更加精细地控制生成图像的细节和特征,从而获得更符合预期输出
局部重绘
也称为上传蒙版法,提前在作图软件里用画笔涂抹好需要重新绘制的区域,黑色区域表示需要修复的区域,白色区域表示不需要修复的区域
(注意:因此只需要在需要修复的区域涂黑色,其他区域可以涂白或保留原始颜色。上传蒙版的话也只需在绘图软件里把需要修复的区域涂黑即可)
局部重绘的目的是尽可能地保留原始图像的结构和纹理特征,使修复后的图像更加自然和真实。
批量处理
指使用已有的图像生成新的图像。而图生图的批量处理是指同时对多张输入图像进行图生图操作,生成对应的多张输出图像。