使用AI upscaler放大器改善图片细节

像 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 -ESRGANR-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 放大的复杂场景的示例。放大并在它们之间切换以观察差异。在电脑和手机屏幕上进行比较,看看有什么不同。

原图
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