【深度学习】Stable Diffusion中的Hires. fix是什么?Hires. fix原理

文章目录

  • **Hires. fix**
  • **Extra noise**
  • Upscalers

Hires. fix

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Features#hires-fix

提供了一个方便的选项,可以部分地以较低分辨率呈现图像,然后将其放大,最后在高分辨率下添加细节。换句话说,这相当于在txt2img中生成图像,通过自己选择的方法将其放大,然后在img2img中对现在已经放大的图像进行第二次处理,以进一步完善放大效果并创建最终结果。

默认情况下,基于SD1/2的模型在非常高的分辨率下生成的图像质量很差,因为这些模型只是在512px或768px的分辨率下进行训练的。通过在denoising过程中利用小图像的构图,这种方法可以避免这个问题。通过在txt2img页面上选中“Hires. fix”复选框来启用此功能。

小图的分辨率由使用宽度/高度滑块设置。大图的尺寸由三个滑块控制:“按比例缩放”乘数(高分辨率放大),“调整宽度至”和/或“调整高度至”(高分辨率调整)。

如果“调整宽度至”和“调整高度至”都为0,则使用“按比例缩放”。
如果“调整宽度至”为0,则从宽度和高度计算“调整高度至”。
如果“调整高度至”为0,则从宽度和高度计算“调整宽度至”。
如果“调整宽度至”和“调整高度至”都不为零,则图像将放大至至少这些尺寸,并裁剪部分区域。

在旧版本的webui中,最终的宽度和高度需要手动输入(上述最后一个选项)。在新版本中,默认是使用“按比例缩放”因子,这是默认和首选的设置。

要可能进一步增强hires.fix中的细节,请参阅有关Extra noise的注释。

Extra noise

通过设置中的额外噪音乘数为img2img和hires fix,默认为0,从随机种子添加额外噪音。在版本1.6.0中通过#12564实现,可在设置中找到img2img -> Extra noise multiplier for img2img和hires fix。正如在用户界面中所指出的,该参数应始终低于用于获得最佳结果的去噪强度。

这种调整的一个目的是在hires fix中添加额外的细节。对于一个非常简化的理解,你可以将其视为GAN放大和潜在放大的交叉。

下面的示例是一个应用了hires fix的512x512图像,使用GAN放大器(4x-UltraSharp),去噪强度为0.45。右侧的图像使用了这个额外噪音调整。


请注意,许多月前实施的先前设置(img2img的噪声乘数)在技术上实现了相同的效果,但正如名称中所指出的,它仅适用于img2img(而不是hires.fix),并且由于实施它时非常敏感,实际上只在1到1.1的范围内有用。对于几乎所有操作,建议使用新的额外噪音参数。

对于开发人员,还存在一个回调函数(on_extra_noise)。以下是一个使用示例,使添加噪音的区域可屏蔽。https://gist.github.com/catboxanon/69ce64e0389fa803d26dc59bb444af53

Upscalers

一个下拉菜单允许您选择用于调整图像大小的放大器类型。除了在附加选项卡上提供的所有放大器外,还有一种选项可以对潜在空间图像进行放大,这是稳定扩散内部使用的方式 - 对于一个3x512x512的RGB图像,其潜在空间表示将是4x64x64。要查看每个潜在空间放大器的效果,您可以将去噪强度设置为0,将Hires步骤设置为1 - 您将得到一个非常好的近似,即稳定扩散在放大图像上的工作方式。

你可能感兴趣的:(深度学习机器学习,深度学习,stable,diffusion,人工智能)