万字保姆级教程!Stable Diffusion完整入门指南

码字不易,SD 保姆教程,从原理功能到案例输入展示,最后简述 ControlNet 的应用技巧,图文约 1 万 5 千字左右,阅读时长约 20 分钟~ Stable Diffusion 的基本介绍 首先官方给出的解释是:这和 MJ 有什么区别为了更方便的理解我们将 Stable Diffusion 与 Midjourney 做一个对比 一、基础介绍 1. 提醒词: 提醒词分为两个部分 正向提醒词: 生成图象时,我们可以应用正向提醒词来指定想要生成的图象。正向提醒词可以是脑子里想到的图片或一句话,将其拆分成不同的关键

万字保姆级教程!Stable Diffusion完整入门指南

码字不易,SD 保姆教程,从原理功能到案例输入展示,最后简述 ControlNet 的应用技巧,图文约 1 万 5 千字左右,阅读时长约 20 分钟~

Stable Diffusion 的基本介绍

首先官方给出的解释是:

万字保姆级教程!Stable Diffusion完整入门指南

这和 MJ 有什么区别

万字保姆级教程!Stable Diffusion完整入门指南

为了更方便的理解我们将 Stable Diffusion 与 Midjourney 做一个对比

一、基础介绍

1. 提醒词:

提醒词分为两个部分

正向提醒词:

生成图象时,我们可以应用正向提醒词来指定想要生成的图象。正向提醒词可以是脑子里想到的图片或一句话,将其拆分成不同的关键词,并用逗号隔开作为输入。

需求注意的是,相同的指令在不同的模型库和参数下,生成的输入图象可能会不一样。此外,提醒词的顺序也非常重要,因为它们的顺序会作用到生成图象的权重。通常情况下,越靠前的提醒词权重越大,越靠后的提醒词权重越小。

排除词:

输入框内输入的标签内容就是你画面中不想要出现的东西,如:低质量的,缺手指,五官不齐等等

下图给大家做一个案例演示

万字保姆级教程!Stable Diffusion完整入门指南

提醒词拆分:

①对于应用提醒词生成图象生成的小伙伴来说,当看到喜欢的图象或脑海中想到很多画面,但却不知道如何用提醒词准确描述,现在有三种方法可以帮助大家快速拆分和生成图象。

Stable Diffusion 中自带反推功能,可以通过将想要拆分的图象拖入反推,点击按钮来获得生成该图象的提醒词。第一次应用可能会有些慢,需求稍等片刻。需求注意的是,这些提醒词需求举行后期的优化,常用的方法是通过百度翻译后举行增删改,或者输入到 GPT 中举行优化,优化后将提醒词放入相应的框内举行图象输入。

万字保姆级教程!Stable Diffusion完整入门指南

②第二种方法我们可以借助三方网站:https://replicate.com/

来举行拆分,拆分好后,同第一条一样,举行一个增删改,然后我们对两种方法举行比较,通过比较后,我们可以举行词汇的筛选与合并

万字保姆级教程!Stable Diffusion完整入门指南

③利用 gpt 或文心等相关工具,将想要描述的长句输入,最后加一句描述,请将这句话拆分为 Stable Diffusion 的提醒词,如果不满意可以继续恢复优化提醒词,或者换一批相关描述,然后将转换好的提醒词同 ①一样增删改

万字保姆级教程!Stable Diffusion完整入门指南

2. 符号的应用

正如前文所述,词汇在提醒中的位置越靠前,其所占的权重就越大。为了进一步调整提醒关键词的权重,我们可以通过以下语法来设置关键词的权重:在选中关键词的同时,按下键盘上的 Ctrl+⬆️ ⬇️来快速调整权重。每次调整的权重值为0.1,建议将权重值控制在0.7-1.4之间。简单来说,将每个提醒词看作一个独立的个体,权重默认为1,而后面的数值就相当于在点窜这个默认值。当然,我们也可以将权重调整为负数,从而在提醒中产生与原意相反的作用。

通过这种方法,我们可以更加精确地控制提醒关键词的权重,以达到更好的提醒成效。同时,我们也需求注意保持提醒内容的流畅性和自然性,避免过度的点窜导致提醒内容的语义不连贯或不符合实际情况。

3. 图象的输入

画面的信息量取决于输入图片的大小。在全身构图中,一些细节,例如脸部、饰品和复杂的纹样,只有在较大的图象中才能得到充分的展示空间,如图象太小,脸部,手部,一些细节就会被压缩成一团,无法得到充分的表现,以下图的风景为例,当画幅越大时,展示的内容越多。

万字保姆级教程!Stable Diffusion完整入门指南

二、界面部分

1. 采样迭代步数

输入画面需求的步数,每一次采样步数都是在上一次的迭代步骤基础上绘制生成一个新的图片,一般来说采样迭代步数保持在 18-30 左右即可,低的采样步数会导致画面计算不完整,高的采样步数仅在细节处举行优化,对比输入速度得不偿失。

2. 采样方法的介绍

常用的有三种,分别是 Euler a,DPM++2S a Karras 和 DDI

Euler a:

①Euler a 是一种用于控制时间步长大小的可调参数,在 Stable Diffusion 中采用 Euler 时间步长采样方法。适当的 Euler a 值能够捕捉到细节和纹理,但如果值太大会导致过度拟合,生成图象出现噪点等不良成效。

②一句话概括:采样生成速度最快,但是如果说在高细节图增加采样步数时,会产生不可控突变(如人物脸扭曲,细节扭曲等)

适合:ICON,二次元图象,小场景

下图为大家展示同提醒词不同步幅

万字保姆级教程!Stable Diffusion完整入门指南

DPM++2S a Karras:

①采用 DPM++2S a Karras 采样方法生成高质量图象,该方法在每个时间步长中执行多次操作,同等分辨率下细节会更多,比如可以在小图下塞进全身,代价是采样速度更慢

②适合:写实人像,复杂场景刻画

下图展示 elura a 同提醒词不同步幅下的输入图象,可以看到步幅越高,细节刻画越好

万字保姆级教程!Stable Diffusion完整入门指南

DDIM

①DDIM 采样方法可以快速生成高质量的图象,相比其他采样方法具有更高的效率,想尝试超高步数时可以应用,随着步数增加可以叠加细节

②适合:写实人像,复杂场景刻画

下图为大家展示 DDIM 同提醒词不同步幅下的输入图象,可以看到随着步幅的提高,细节和丰富度逐渐提高

万字保姆级教程!Stable Diffusion完整入门指南

3. 提醒词相关性

Stable Diffusion 中的提醒词相关性指的是输入提醒词对生成图象的作用程度。当我们提高提醒词相关性时,生成的图象将更符合提醒信息的样子;相反,如果提醒词相关性较低,对应的权重也较小,则生成的图象会更加随机。因此,通过调整提醒词相关性,可以引导模型生成更符合预期的样本,从而提高生成的样本质量。

①在具体应用中,对于人物类的提醒词,一般将提醒词相关性控制在 7-15 之间;

②而对于建筑等大场景类的提醒词,一般控制在 3-7 左右。这样可以在一定程度上突出随机性,同时又不会作用生成图象的可视化成效。因此,提醒词相关性可以帮助我们通过引导模型生成更符合预期的样本,从而提高生成的样本质量。

万字保姆级教程!Stable Diffusion完整入门指南

4. 随机种子

随机种子是一个可以锁定生成图象的初始状态的值。当应用相同的随机种子和其他参数,我们可以生成完全相同的图象。设置随机种子可以增加模型的可比性和可重复性,同时也可以用于调试和优化模型,以观察不同参数对图象的作用。

在 Stable Diffusion 中,常用的随机种子有-1 和其他数值。当输入-1 或点击旁边的骰子按钮时,生成的图象是完全随机的,没有任何规律可言。而当输入其他随机数值时,就相当于锁定了随机种子对画面的作用,这样每次生成的图象只会有微小的变化。因此,应用随机种子可以控制生成图象的变化程度,从而更好地探索模型的性能和参数的作用。

在工作产出中,如果细微调整,我们将会固定某个种子参数然后举行批量生成

万字保姆级教程!Stable Diffusion完整入门指南

三、模型部分

Checkpoint,VAE,embedding 和 lora 的应用详解

万字保姆级教程!Stable Diffusion完整入门指南

2. Checkpoint 的介绍

对于模型作者而言,训练模型通常指生成 Checkpoint 文献。这些文献包含了模型参数和优化器状态等信息,是训练过程中定期保存的状态快照。

对于应用者而言,可以将 Checkpoint 文献理解为一种风格滤镜,例如油画、漫画、写实风等。通过选择对应的 Checkpoint 文献,您可以将 Stable Diffusion 模型生成的结果转换为您所选择的特定风格。需求注意的是,一些 Checkpoint 文献可能需求与特定的低码率编码器(如 Lora)配合应用,以获得更好的成效。

在下载 Checkpoint 文献时,您可以查看相应的模型简介,通常作者会提供相应的文献和说明事项,以帮助您更好地应用和理解该文献。

总之,Checkpoint 文献是 Stable Diffusion 模型训练过程中定期保存的状态快照,应用者可以将其理解为一种风格滤镜,用于将模型输入结果转换为特定的风格。在应用 Checkpoint 文献时,需求注意文献的匹配和相应的应用说明。

万字保姆级教程!Stable Diffusion完整入门指南

3. VAE 的介绍

可以将 VAE 理解为对模型的滤镜加微调,不同的 VAE 可能有一些细节上的差异,但不会作用输入的成效。

它可以增强模型的表现,有些模型文献已经自带了 VAE 成效,因此不需求盲目地去挂载,可以选择自动模式来简化日常应用。

万字保姆级教程!Stable Diffusion完整入门指南

4. embedding 的介绍

如果你有做过 UI 的经验,那么你应该知道组件的概念。在 Stable Diffusion 中,embedding 技术就可以被理解为一种组件,它可以将输入数据转换成向量表示,方便模型举行处理和生成。

举个例子,如果我们想要生成一个开心的皮卡丘,通常需求输入很多描述词,如黄毛、老鼠、长耳朵、腮红等等。但是,如果引入皮卡丘的 embedding,我们只需求输入两个词:皮卡丘和开心。皮卡丘的 embedding 打包了所有皮卡丘的特征描述,这样我们就不用每次输入很多单词来控制生成的画面了。

在日常应用中,embedding 技术通常用于控制人物的动作和特征,或者生成特定的画风。相比于其他模型(如 LORA),embedding 的大小只有几十 KB,而不是几百兆或几 GB,除了还原度对比 lora 差一些但在存储和应用上更加方便。

总之,embedding 技术将输入数据转换为向量表示,为模型的处理和生成提供了便利。通过应用 embedding,我们可以更加轻松地生成符合预期的样本,而不需求手动输入大量的描述词汇。

万字保姆级教程!Stable Diffusion完整入门指南

5. LORA 的介绍

LORA 与 embedding 在本质上类似,因为携带着大量的训练数据,所以 LORA 对人物和细节特征的复刻更加细腻

应用技巧:

通常来说,每个 LORA 模型都有对应的底膜和触发词汇。我们可以查看 LORA 作者产出的相关图片,从中获取模型信息,并从中选择一些提醒词和排除词来指定生成图象的方向。需求注意的是,每个 LORA 模型对输入图象的权重设置是非常重要的。权重设置越大,对画面的作用因素就越浅。通常情况下,权重应该控制在 0.7-1 之间。如果权重过高,会大幅度作用出图的质量。

为了获得最佳成效,我们可以根据不同的 LORA 模型选择适当的提醒词和排除词,并在设置权重时举行调整。同时,我们还可以参考其他作者的经验和技巧,以便更好地利用 LORA 生成图象。

万字保姆级教程!Stable Diffusion完整入门指南

四、图生图

简介:

是一种生成图象的方法,它可以通过对已有的图象举行点窜或变形,生成新的图象。在 Stable Diffusion 中,我们可以将垫图的图象看作是一张“初始图象”,通过多次迭代,对其举行点窜和变形,逐步生成与垫图风格类似想要的图片。

需注意的是图生图相对于文生图多出两个功能

重绘幅度:

指的是每次迭代中图象被重新绘制的程度或幅度,也就是新生成的图象与上一次迭代生成的图象之间的差异程度。

它的取值范围在 0 到 1 之间。当 值等于 0 时,新生成的图象与上一次迭代生成的图象完全一致,即没有重新绘制;

当值等于 1 时,新生成的图象与上一次迭代生成的图象完全不同,即完全重新绘制。

需求注意的是,重绘幅度的大小会作用生成图象的质量和逼真程度。当重绘幅度较小时,生成的图象可能会比较模糊或粗糙;

当重绘幅度较大时,生成的图象可能会出现明显的噪点或瑕疵。

万字保姆级教程!Stable Diffusion完整入门指南

缩放模式:

拉伸:不改变宽高比的前提下将图片拉伸,宽度高度充满画面空间的 100%

裁剪:保留宽高比的基础上,然后裁剪掉超出去的部分,应用时我们可以提前调整好输入图片的宽高比例

填充:它指在缩放图象时,将原始图象放置在目标尺寸的中心位置,多出去的部分用一定的颜色值(通常为黑色)填充周围的空白地区。

直接缩放:

①指对图象举行简单的缩放处理,即直接将原始图象缩放到目标尺寸。

②在 Stable Diffusion 中,如果生成的图象尺寸与原始图象尺寸不一致,就需求举行缩放处理。直接缩放是一种简单粗暴的缩放方式,它直接将原始图象缩放到目标尺寸,不举行任何额外的处理。这种缩放方式的优点是简单快速,但缺点是可能会导致图象失真或模糊,特别是当缩放比例较大时。

1. 图生图

主要用来做图片放大和造型背景的变化,或者三次元改二次元时用的,通常配合着 ControlNet 来应用

万字保姆级教程!Stable Diffusion完整入门指南

2. 绘图

通过手动绘制或点窜图象的局部地区,来指导生成器生成更加符合用户期望的图象,应用时可以利用绘图工具,如笔刷、橡皮擦等,对图象的局部地区举行点窜。点窜后的图象会被作为下一次迭代的初始图象,从而作用后续的图象生成过程。

通过绘图,可以更加精细地控制生成图象的细节和特征,从而获得更符合预期输入

万字保姆级教程!Stable Diffusion完整入门指南

3. 局部重绘

也称为上传蒙版法,提前在作图软件里用画笔涂抹好需求重新绘制的地区,黑色地区表示需求修复的地区,白色地区表示不需求修复的地区

(注意:因此只需求在需求修复的地区涂黑色,其他地区可以涂白或保留原始颜色。上传蒙版的话也只需在绘图软件里把需求修复的地区涂黑即可)

局部重绘的目的是尽可能地保留原始图象的结构和纹理特征,使修复后的图象更加自然和真实。

万字保姆级教程!Stable Diffusion完整入门指南

4. 批量处理

指应用已有的图象生成新的图象。而图生图的批量处理是指同时对多张输入图象举行图生图操作,生成对应的多张输入图象。

五、进阶篇:ControlNet 的应用

相关教程:

1. ControlNet 基础知识

一图搞定插件安装

万字保姆级教程!Stable Diffusion完整入门指南

权重:

ControlNet 的权重与图生图权重的对比关系时

低重绘强度配高权重,可以锁定图片的细节,更改画风上的展现,拓展延伸推荐
高重回强度配低权重,点窜图片细节,定风格图后小点窜推荐

预处理器与模型的关系:

应用预处理器时要与模型一一对应起来,如与处理器选择 canny,则相对应的模型也要选择 canny

预处理器和模型在 Stable Diffusion 中是相辅相成的,预处理器通过对输入图象举行预处理和数据增强,为模型提供了更好的输入,而模型则通过对输入举行特征提取和生成高质量图象,为预处理器提供了更好的反馈

介入时机和退出时机:

介入时机:代表第几步介入对画面的作用退出时机:代表第几步退出对画面的作用

如,现在是一个生成步幅为 30 步的图象

现在介入时机为 0.2,则从 30×0.2=6,第六步的时候 ControlNet 开始介入
现在退出时机为 0.8,则从 30×0.8=24,第二十四步的时候 ControlNet 退出对输入的介入

2. Canny 边缘检测

Canny 是一种经典的边缘检测算法,能够很好地识别出图象中的边缘信息,对于图象生成任务来说,可以帮助模型更好地生成具有清晰边缘的图象

处理图片的方式是将图片专为线稿,对于画面细节不复杂的图象来说很好;但处理复杂图象时,主体会容易被除主题元素以外的元素作用

细节刻画上,一种是分辨率越高,线条越清晰;阈值越少,对应的细节也越多

万字保姆级教程!Stable Diffusion完整入门指南

3. Hed 边缘检测,细节保留

该算法的特点是能够同时预测多个尺度的边缘,从而提高了边缘检测的精度,对边缘清晰的图象生成成效更好

当用草图转上色时,可以在绘图软件将描边加粗加深一些,从而能更方便获取边缘

万字保姆级教程!Stable Diffusion完整入门指南

4. MLSD 线性检测

mlsd 模型,可以举行直线检测,通过分析图片的线条结构来构建出建筑外框,适合建筑设计的应用

可以配合 canny 一起应用,成效更佳

5. Open pose-人物摆 pose

判断主图的主体动作,然后将动作附加在主图上 一般配合着 open pose editer

万字保姆级教程!Stable Diffusion完整入门指南

6. LeRes 深度信息估算

对有场景深度的图片成效更佳,生成的图象景深更易区分

万字保姆级教程!Stable Diffusion完整入门指南

最后

随着 AI 技术的快速发展,图象生成领域的大型模型正在成为研究的热点,但是由于该领域的相对新颖和复杂性,相关的教程和资源目前还相对匮乏。希望本文可以帮助大家快速入门 Stable Diffusion,并为您提供一些有用的参考资料。

给TA打赏
共{{data.count}}人
人已打赏
应用

用好这5类计划资材,让你的自媒介账号吸粉能力立马提升200%

2023-5-15 0:11:05

应用

第三波!2023年5月精选实用设想东西合集

2023-5-16 1:23:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索