为什么我们需要图像升频器?
Stable Diffusion v1 的默认图像大小为 512×512 像素。这在今天的标准中是相当低的。我们以iPhone 12为例。它的相机可生成 12 MP 图像——即 4,032 × 3,024 像素。它的屏幕显示 2,532 x 1,170 像素,因此需要放大未缩放的 Stable Diffusion 图像并且看起来质量很差。
更复杂的是,稳定扩散生成的复杂场景通常不如应有的清晰。它经常在细节上挣扎。
为什么我们不能使用传统的升频器?
可以,但结果不会那么好。
用于调整图像大小的传统算法,例如最近邻插值法和 Lanczos 插值法,因仅使用图像的像素值而受到批评。他们通过仅使用图像的像素值执行数学运算来扩大画布并填充新像素。然而,如果图像本身被损坏或扭曲,这些算法就无法准确地填充缺失的信息。
AI 升级器如何工作?
相比之下,AI upscalers 是用大量数据训练的模型。
高质量的图像首先被人为破坏以模拟真实世界的退化。然后将退化的图像缩小到更小的尺寸。然后训练神经网络模型以恢复原始图像。
模型中嵌入了大量先验知识。它能够填补缺失的信息。就像人类不需要非常详细地研究一个人的脸来记住它一样。我们主要关注几个关键特性。
下面是一个比较传统 (Lanczos) 和 AI (R-ESRGAN) 升频器的例子。由于嵌入在 AI 放大器中的知识,它可以在放大图像的同时恢复细节。
如何使用AI upscaler进行稳定扩散?
我们将介绍如何使用 AUTOMATIC1111 GUI 实现稳定扩散的 AI 升频器。
有关设置 AUTOMATIC1111 GUI 的信息,请参阅我的快速入门指南。
转到 Extras 选项卡(我知道这个名字很容易混淆),然后选择 Single Image。
将要放大的图像上传到源画布。
设置调整大小因子。许多 AI upscaler 默认是 upscaling 4 倍,所以 4 是一个不错的选择。如果您不希望图像那么大,请将其设置为较低的值,如 2。
如果您的图像是 512×512 像素,调整大小 2x 是 1024×1024 像素,4x 是 2048×2048 像素。
选择 R-ESRGAN 4x+,这是一种适用于大多数图像的 AI 升频器。
按生成开始放大。
完成后,放大后的图像将出现在右侧的输出窗口中。右键单击图像以保存。
AI 升级器选项
我将介绍一些值得注意的选项。
激光雷达
Latent Diffusion Super Resolution (LDSR) 升频器最初与 Stable Diffusion 1.4 一起发布。它是一种经过训练以执行升级任务的潜在扩散模型。
虽然提供卓越的质量,但速度非常慢。我不会推荐它。
埃斯甘 4x
增强型超分辨率生成对抗网络 (ESRGAN) 是一个升级网络,赢得了 2018 年感知图像恢复和操纵挑战。它是对之前 SRGAN 模型的增强。
它倾向于保留精细的细节并产生清晰锐利的图像。
R-ESRGAN 4x
Real-ESRGAN (R-ESRGAN) 是对 ESRGAN 的增强,可以还原各种真实世界的图像。它对相机镜头和数字压缩造成的不同程度的失真进行建模。
与 ESRGAN 相比,它倾向于生成更平滑的图像。
R-ESRGAN 在处理逼真的照片图像时表现最佳。
其他选项
这篇文章中有一个很好的比较来检查其他选项。
R-ESRAGN 是照片或写实绘画的不错选择。动漫图像需要经过专门训练以恢复动漫的升级器。
访问 Upscaler 模型数据库以下载其他 upscaler。
安装新的升频器
要在 AUTOMATIC1111 GUI 中安装新的升级器,请从升级器模型数据库下载模型并将其放入文件夹中
stable-diffusion-webui/models/ESRGAN
重新启动图形用户界面。您的升频器现在应该可供选择。以下是您在安装 Universal Upscaler V2 后应该看到的内容。
以下模型是很好的通用升频器。
- 通用升级器 v2
- 雷马克里
- NMKD 西亚克斯
- 棒棒糖
放大图像的示例
下面是使用 R-ESRGAN 放大的复杂场景示例。放大并在它们之间切换以观察差异。在电脑和手机屏幕上比较它们,看看有什么不同。
原来的
R-ESRGAN
使用 SD upscale 增强细节
单独使用升频器并不理想。如果您手头有稳定的扩散,为什么不将其添加到您的升级器工作流程中呢?
SD Upscale 是 AUTOMATIC1111 附带的脚本,它使用放大器执行放大,然后是图像到图像以增强细节。
步骤 1. 导航到 Img2img 页面。
第 2 步。将图像上传到 img2img 画布。
(或者,使用发送到 Img2img 按钮将图像发送到 img2img 画布)
步骤 3. 在底部的脚本下拉菜单中,选择 SD Upscale。
步骤 4. 将比例因子设置为 4 以缩放到原始大小的 4 倍。
步骤 5. 将去噪强度设置为 0.1 到 0.3 之间。它越高,图像变化越大。(你应该试验一下)
步骤 6. 将采样步数设置为 100。更高的步数可以改善细节。(你应该试验一下)
第 7 步。您可以使用原始提示和否定提示。如果您没有,请使用“非常详细”作为提示。
步骤 8. 按生成。
下面是使用 SD Upscale 脚本添加额外的图像到图像的比较。
- 左:Universal Upscaler v2 到 4x。
- 右图:使用 Universal Upscaler v2 到 4x 的 SD Upscale,提示“非常详细”,降噪强度 0.3 和 100 个采样步骤。
左:Universal Upscaler v2。右:SD 高档。
SD Upscale 脚本有助于改善细节并减少放大伪像。
雇用修复 txt2img 页面
您可以选择放大 txt2img 页面上生成的每个图像。为此,您只需检查 Hires。使固定。
其他选项将出现在复选框下方。这些选项类似于使用 SD Upscale 脚本的选项。
就个人而言,我不太使用 Hires fix,因为它会减慢图像生成速度。与其放大所有图像,我宁愿只放大我要保留的图像。
看到好的图像后,您可以将其发送到 img2img 以进行标清放大。