Stable Diffusion降噪强度详解:从原理到应用
Stable Diffusion降噪强度详解:从原理到应用
降噪强度(denoising strength)是Stable Diffusion中一个非常重要的参数,它决定了在图生图过程中向图像添加的噪声量。本文将详细介绍降噪强度的工作原理及其在不同场景下的应用,帮助读者更好地理解和使用这一参数。
图生图实现原理
图生图方法首先是由 SDEdit 所提出的。SDEdit可以应用于任何的扩散模型。因此我们在Stable Diffusion中也有了图生图的功能。
图生图功能使用一张图片与一段文字指令共同作为输入。生成的图像将受到这两个输入的共同调节作用。比如,使用下面这张初级草图以及一段指令 ”photo of perfect green apple with stem, water droplets, dramatic lighting" 作为输入,图生图功能会将其转化为一张很专业的绘画。
下面介绍其具体生成的过程。
第一步:输入的图片会被编码至潜在空间中。
第二步:我们会向其添加噪声。通过在SD工具中设置降噪强度(Denoising strength)可以控制究竟要添加多少噪声到原始输入图像中去(潜在空间)。如果这个值设置为0,不会有任何噪声添加进去,如果是1则会向其添加最大量的噪声以使其成为一个潜在空间中完全随机的张量。
第三步:噪声预测器将上一步处理后的潜在空间图像与文字指令作为输入传入其U-Net网络,并给出预测应减去的潜在空间噪声张量。
第四步:将这个潜空间噪声从潜空间初始图像中减去,得到潜空间中新的图像。第三步与第四步将根据你设置的采样步数(sampling steps)重复特定次数,比如20次。
第五步:VAE解码器将最后得到的潜在空间图像恢复为像素空间的图像,这也是图生图中最终得到的图像。
现在我们知道图生图究竟是什么了,他所做的就是将初始的潜在空间图像设置为输入图片与一些噪声的混合。如果你将降噪强度(denoising strength)设置为1,那你获得的图片其实就等价于纯粹使用文本指令运行文本生成图片工具所得到的结果,因为此时这两种功能使用的初始潜在空间图像都是一个完全随机的噪声图。
我们了解了图生图的实现原理,对于降噪强度,我们有以下的认识。
(1)降噪强度决定在采样步骤之前向图像添加多少噪声。
(2)降噪强度的取值范围为0到1。0表示输入图像中不添加噪声。1表示输入图像完全被噪声替换。
(3)降噪强度可以理解为保留原始图像和创建全新图像之间的平衡。降噪强度越高,图像变化越大。
图生图中降噪强度
在图生图模块上传一张图片到图像画布。
单击【生成】按钮旁边【CLIP反推】按钮。此功能会使用 CLIP 模型来反推图像的提示词填充到提示词区域。单击【生成】按钮生成新的图像。
我们通过更改降噪强度的值来调整变化量。降噪强度值越高,图片变化越大。
- 0:没有变化。
- 0.2:轻微变化。
- 0.6:大变化。
- 1.0:非常大的变化。
局部重绘(Inpainting)中降噪强度
局部重绘(Inpainting)实际上只是图生图的一种特殊情况。噪点会添加到您想要修复的图像部分。噪声量同样由降噪强度控制。
局部重绘(Inpainting)中降噪强度的效果与图生图类似:值越高,图像变化越大。
假设您想重新生成上一张图像的脸部。
以下是改变降噪强度的效果。局部重绘中降噪强度设置需要注意的几点
(1)局部重绘时不应将降噪强度设置得太高。否则,生成的图片重绘部分与图片的其余部分不连贯。
(2)有多种方法可以在局部重绘中使用高降噪强度。
- 使用修复检查点模型
- 使用 ControlNet
ComfyUI中降噪强度
ComfyUI中更改降噪强度的效果与SD Web UI 中相同。您可以更改 KSampler节点中的降噪强度。
降噪强度的替代方案
调整图生图的降噪强度并不是生成图像变化的唯一方法。
您还可以使用Stable Diffusion中的ControlNet控制模型IP-Adapter(图像提示适配器)来生成类似的图像。它可用于生成图像变化、复制面部等。