stable diffusion实践操作-SD原理

本文专门开一节写提示词相关的内容,在看之前,可以同步关注:
stable diffusion实践操作

正文


1、出图原理

1.1 AI画画不是和人一样,从0开始,而是一个去噪点的过程:

stable diffusion实践操作-SD原理_第1张图片

1.2 逆向去噪

所有的人图片都是从一张噪点图开始的。根据目标生成一张猫的图片,将噪点一步步转化为猫

1.3 AI如何学会去噪点的

AI首先将图片一步步加入噪点。

所以任何一张图都可以逆向这个过程
stable diffusion实践操作-SD原理_第2张图片
stable diffusion实践操作-SD原理_第3张图片

2、出图机制

  1. 将输入的文字进行编码传入潜空间。
  2. 在潜空间根据文字的描述,进行图片的绘制
  3. 将图片从潜空间的压缩态进行放大,补充细节,提升分辨率
    stable diffusion实践操作-SD原理_第4张图片

2.1 文字编码

计算机不能直接理解文本和图片
stable diffusion实践操作-SD原理_第5张图片
而是通过特征向量来标记
stable diffusion实践操作-SD原理_第6张图片
而这一项工作是通过CLIP模型来完成的
stable diffusion实践操作-SD原理_第7张图片
clip模型包括文字编码器和图片编码器,将文字和图片都编码成向量
stable diffusion实践操作-SD原理_第8张图片
所以CLIP设置的层数越高,图片和文字相关度越低,一般设置为2就可以了。

2.2 图片绘制

SD绘制图片内容的时候,并不是直接绘制512512的图片,而是绘制核心内容,6464,然后再将图片放大还原。
stable diffusion实践操作-SD原理_第9张图片
所以绘图的实际过程就是去噪
stable diffusion实践操作-SD原理_第10张图片

2.2.1 随机种子和采样器

SD会根据随机种子生成一张正态分布的噪点图,然后根据传入的文字,加入是狗,去向量数据库中搜索,生成狗的去噪方式。去噪方式又是采样器进行调用的
stable diffusion实践操作-SD原理_第11张图片
采样器会调用Unet模型,对图片中的噪点预测,生成噪点预测图
stable diffusion实践操作-SD原理_第12张图片
让噪点图减去预测出的全部噪点,生成最终的模型图片
stable diffusion实践操作-SD原理_第13张图片

2.2.2 迭代步数

Unet模型在噪点多的时候,预测并不理想,所以我们并不一次性全部采纳其预测的噪点,而是每次只采用一部分噪点,循环多次

stable diffusion实践操作-SD原理_第14张图片
这个过程就是下面的迭代步数
stable diffusion实践操作-SD原理_第15张图片
设置过小,图片与文本匹配度较低,过大,则会画蛇添足,一般我们设置为20-40步即可
stable diffusion实践操作-SD原理_第16张图片

2.2.23 采样方法

采样所采用的算法,不同算法消耗的时间不同。
stable diffusion实践操作-SD原理_第17张图片
采样器时间对比
stable diffusion实践操作-SD原理_第18张图片
一般推荐大家 使用DPM++ SDE Karas/DPM2++ SDE Karas
对比:


2.3放大图片

在潜空间产生的图片比较小,我们需要VAE将其放大,优化细节。
stable diffusion实践操作-SD原理_第19张图片

这就是整个过程
stable diffusion实践操作-SD原理_第20张图片

你可能感兴趣的:(SD,stable,diffusion)