ESRGAN 等图像 AI 放大器是提高Stable Diffusion生成的图像质量不可或缺的工具。事实上,AI放大器的使用非常广泛,许多Stable Diffusion的图形用户界面都内置了对它的支持。在这篇文章里,我们来讨论一下AI 放大器是什么,它的工作原理是什么,以及我们如何使用它们。

为什么需要AI放大器?

Stable Diffusion v1的默认图像大小为512×512像素,这在当今的标准中是相当低的。让我们以iPhone 12为例。它的摄像头可拍摄1200万像素的图像,即4032×3024像素。它的屏幕显示像素为2532 x 1170,因此未缩放的Stable Diffusion图像需要放大,否则直接放大看起来质量会很低。 另一个更为重要的问题是,由Stable Diffusion生成的复杂场景通常没有应有的清晰度,因为Stable Diffusion在处理精细细节时经常会遇到困难。

由Stable Diffusion生成的初始图像分辨率都不高

为什么不能使用传统的图像放大器?

我们当然可以使用传统的图像放大器,不过效果可能会不那么好。 传统的图像放大器算法,如近邻插值和Lanczos插值,因为仅使用图像的像素值而广受诟病。这些算法仅使用图像的像素值信息进行数学运算,从而放大画布并填充新像素。然而,如果图像本身损坏或失真,这些算法就无法准确填补缺失的信息。

AI图像放大器的工作原理

相比传统的图像放大器,AI图像放大器是通过海量数据训练出来的模型。 优质图像首先会被人为损坏,以模拟真实世界中的图像受损或失真情况,然后将降级图像缩小。最后训练神经网络模型以恢复原始图像。 大量的先验知识被嵌入到模型中。它能够填补缺失的信息。这就好比人类不需要详细研究一个人的脸就能记住他,因为我们主要关注目标的几个关键特征。 下面是一个比较传统的Lanczos图像放大器和一个AI图像放大器R-ESRGAN的例子。由于AI图像放大器中蕴含的知识,它可以在放大图像的同时恢复图像的细节。

使用Lanczos和R-ESRGAN放大图像

使用Stable Diffusion的AI图像放大器

打开Extras的页面,选择Single Image。

配置Extras的AI图像放大器

现在您将要放大的图像上传到源画布。 设置调整系数。许多AI图像放大器默认缩放4倍,因此4是一个不错的选择。如果您不希望图像太大,可将其设置为较低值,如2。如果您的图像为512×512像素,那么调整2倍大小为1024×1024像素,4倍大小为2048×2048像素。选择 R-ESRGAN 4x+,AI 图像放大器适用于大多数图像。按生成开始进行处理。完成后,放大的图像将出现在右侧的输出窗口中,右击图像进行保存。

AI图像放大器的选项

这一节让我们来了解一些AI图像放大器的选项。

  • LDSR:Latent Diffusion Super Resolution(LDSR)升频器最初与Stable Diffusion 1.4一起发布。它是一个经过训练的潜在扩散模型,用于执行缩放任务。虽然它能提供卓越的画质,但速度极慢。我不推荐使用。
  • ESRGAN 4x:Enhanced Super-Resolution Generative Adversarial Networks (ESRGAN)是一种缩放网络,曾在2018年感知图像复原和处理挑战赛中获胜。它是之前SRGAN模型的增强版。它倾向于保留精细细节并生成清晰的图像。
  • R-ESRGAN 4x:Real-ESRGAN (R-ESRGAN) 是 ESRGAN 的增强版,可以还原各种真实世界的图像。它模拟了来自相机镜头和数字压缩的不同程度的失真。与ESRGAN相比,它倾向于生成更平滑的图像。R-ESRGAN 在处理真实照片图像时效果最佳。
  • 其他选项:R-ESRAGN是照片或写实绘画的不错选择。动漫图像需要专门为恢复动漫而训练的图像放大器。

您可以访问图像放大器模型数据库下载其他AI图像放大器模型。

使用AI图像放大器的例子

以下是一个使用 R-ESRGAN 放大复杂场景的示例。请放大然后切换它们以观察差异。您可以在电脑屏幕和手机屏幕上进行比较,观察两者的区别。

原图

使用R-ESRGAN放大后的图

使用img2img的SD upscale来增强图像细节

单独使用图像放大器并不那么方便。如果您手中有Stable Diffusion,我们将图像放大器添加到您生成图片的工作流程中来简化您的工作。SD upscale是Stable Diffusion img2img内置的一个脚本,它可以使用AI图像放大器来增强图像细节。 下面我们来按步骤描述一下使用SD upscale的工作流程。

配置img2img的SD upscale

  1. 切换到img2img页面。
  2. 上传图像到img2img画布,或者使用 “Send to img2img”按钮将生成图像发送img2img画布。
  3. 在底部的Script下拉菜单中,选择SD Upscale。
  4. 将Scale Factor设为4,以缩放至原始尺寸的4倍。
  5. 将Denoising strength设为0.1到0.3之间。设置越高,图像变化越大。对于这个参数,您应该对此进行试验以确定合适的参数。
  6. 将Sampling steps设置为100。步数越大,细节越丰富。对于这个参数,您应该对此进行试验以确定合适的参数。
  7. 您可以使用生成原始图片的正向提取词和负向提取词。如果您没有使用提取词,请使用 “highly detailed”作为提取词。
  8. 按 “Generate”按钮进行图像生成。

下面是一个使用img2img的SD upscale来增强图像细节的输出结果。

原图512*512

放大后的图2048*2048

使用txt2img的Hires. Fix选项

您可以使用txt2img页面上的“Hires. fix”来放大生成的每张图片。勾选“Hires. fix”将出现其他选项,这些选项与使用SD Upscale脚本的选项类似。

配置txt2img的Hires. Fix选项

我个人不太推荐您使用“Hires. fix”,因为这项操作会减慢图像的生成速度。相比于把所有生成的图像进行放大,我更愿意只把我觉得可以保留的图像进行放大。每次遇到生成的效果还不错的图片,您可以直接把它发送到img2img进行放大。

订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
在线客服
在线客服
QQ客服
旺旺客服