像 ESRGAN 这样的图像 AI 放大器是提高Stable Diffusion生成的图像质量不可或缺的工具。事实上,它是如此常用,以至于许多Stable Diffusion GUI 都内置了对其的支持。
在这里,我们将了解什么是图像放大器、它们如何工作以及如何使用它们。
为什么我们需要图像放大器?
Stable Diffusion v1 的默认图像大小为512×512 像素。以今天的标准来看,这是相当低的。我们以 iPhone 12 为例。它的相机可生成 12 MP 图像,即 4,032 × 3,024 像素。它的屏幕显示 2,532 x 1,170 像素,因此未缩放的Stable Diffusion图像需要放大并且看起来质量较低。
更复杂的是,Stable Diffusion生成的复杂场景通常不够清晰。它经常在细节上遇到困难。
为什么我们不能使用传统的放大器?
可以,但是结果不会那么好。
用于调整图像大小的传统算法(例如最近邻插值和Lanczos插值)因仅使用图像的像素值而受到批评。他们仅使用图像的像素值执行数学运算来放大画布并填充新像素。然而,如果图像本身被损坏或扭曲,这些算法就无法准确地填充丢失的信息。
AI放大器如何工作?
相比之下,人工智能放大器是用大量数据训练的模型。
优质图像首先被人为破坏以模拟现实世界的退化。然后将降级的图像缩小到较小的尺寸。然后训练神经网络模型来恢复原始图像。
模型中嵌入了大量先验知识。它能够填补缺失的信息。就像人类不需要非常详细地研究一个人的面孔来记住它一样。我们主要关注几个关键特征。
下面是比较传统 (Lanczos) 和 AI (R-ESRGAN) 放大器的示例。由于 AI 放大器中嵌入了知识,它可以放大图像并同时恢复细节。
如何在Stable Diffusion中使用AI upscaler放大器?
我们将介绍如何使用 AUTOMATIC1111 GUI 的 AI 放大器来实现Stable Diffusion。
请参阅我的 快速入门指南来设置 AUTOMATIC1111 GUI。
转到 Extras 选项卡(我知道这个名称很令人困惑),然后选择Single Image。
将您想要放大的图像上传到源画布。
设置调整大小Resize因子。许多AI放大器默认升级4倍,因此4是一个不错的选择。如果您不希望图像那么大,请将其设置为较低的值,例如 2。
如果您的图像为 512×512 像素,则调整大小 2x 为 1024×1024 像素,4x 为 2048×2048 像素。
选择R-ESRGAN 4x+,这是一款适用于大多数图像的 AI 放大器。
按“生成”开始放大。
完成后,放大的图像将出现在右侧的输出窗口中。右键单击图像进行保存。
AI 放大器选项
我将介绍一些值得注意的选项。
LDSR
潜在扩散超分辨率(LDSR) 放大器最初与Stable Diffusion 1.4一起发布。它是一个经过训练来执行放大任务的潜在扩散模型。
虽然提供卓越的质量,但速度非常慢。我不会推荐它。
ESRGAN 4x
增强型超分辨率生成对抗网络( ESRGAN ) 是一种放大网络,赢得了 2018 年感知图像恢复和操作挑战赛。它是对之前SRGAN模型的增强。
它往往会保留精细的细节并产生清晰锐利的图像。
R-ESRGAN 4x
Real -ESRGAN(R-ESRGAN)是ESRGAN的增强版,可以恢复各种真实世界的图像。它对相机镜头和数字压缩造成的各种程度的失真进行建模。
与 ESRGAN 相比,它往往会产生更平滑的图像。
R-ESRGAN 在处理逼真的照片图像时表现最佳。
其他选项
这篇文章中有一个很好的比较,可以查看其他选项。
R-ESRAGN 是拍摄照片或写实绘画的不错选择。
访问Upscaler 模型数据库以下载其他 upscaler。
安装新的放大器
要在 AUTOMATIC1111 GUI 中安装新的 upscaler,请从upscaler 模型数据库下载模型并将其放入文件夹中
stable-diffusion-webui/models/ESRGAN
重新启动图形用户界面。您的放大器现在应该可供选择。以下是安装 Universal Upscaler V2 后您应该看到的内容。
以下模型是很好的通用放大器。
- Universal Upscaler v2
- Remacri
- NMKD Siax
- Lollypop
放大图像的示例
下面是使用 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。
- 右图:SD Upscale 使用 Universal Upscaler v2 放大至 4 倍,提示词“高度详细”,降噪强度 0.3 和 100 个采样步长。
SD Upscale 脚本有助于改善细节并减少升级伪影。
文生图中高分辨率修复Hires Fix
您可以选择放大 txt2img 页面上生成的每个图像。为此,您只需选中Hires.Fix。
其他选项将出现在复选框下方。这些选项与使用SD Upscale脚本的选项类似。
就我个人而言,我不怎么使用 Hires fix,因为它会减慢图像生成速度。我宁愿只放大我要保留的图像,而不是放大所有图像。
一旦看到好的图像,您可以将其发送到 img2img 进行放大。
了解Stable Diffusion的新放大方法:ControlNet Tile Upscale。
《使用AI upscaler放大器改善图片细节》有7条评论