如果你想要提高由SD生成图像的质量,像ESRGAN这样的Imagine AI upscaler(AI图像升频器)已经成为了不可或缺的工具,我们最爱的SD很多GUI中也都已经内置了相应工具以支持使用。
传统的调整图像大小的算法,例如nearest neighbor插值和Lanczos插值,在放大图像时效果并不好。这些算法通过执行一些数学运算来放大画布,并使用原始图像的像素值来填充新像素。如果图像本身就是损坏或失真的,这些算法就无法准确地填充所缺失的信息。
相比之下,AI的upscaler是基于海量数据训练的模型。
训练原理可以这样理解:首先模仿现实世界中的图像失真,将高质量图像有意破坏,再将这些破坏后的图像缩小到比较小的尺寸,最后通过训练神经网络,将这些图像还原成最初的样子。
由于AI upscaler中所嵌入的先验知识,它可以放大图像并同时恢复细节。
下面是传统(Lanczos)和AI(R-ESRGAN)upscaler的比较示例。
如何在StableDiffusion中使用AI upscaler
第一步,转到“Extras”选项卡,然后选择“Single Image”。
第二步,将想要放大的图像上传到源(sourse)画布。
第三步,设置Resize参数,许多AI upscaler 将参数值默认为4(也就是将升级4次,将图片分辨率升级为4倍大小),我们也可以就用默认的值。但如果不希望图像太大,将其设置为较低的值,例如 2。
如果图像为 512×512 像素,Resize设置为2,也就是将图像调整大小 2为 1024×1024 像素,Resize设置为4,将图像调整为 2048×2048 像素。
第四步,upscaler 建议选择 R-ESRGAN 4x+,这是一款适用于大多数图像的 AI upscaler。
第五步,点击Generate开始升级。
完成后,放大后的图像将出现在右侧的输出窗口中。右键单击可以保存图像。
AI upscaler 选择
下面介绍几个upscaler是比较常见的
LDSR
Latent Diffusion Super Resolution (LDSR) - 潜在扩散超分辨率
此upscaler 最初与 StableDiffusionV1.4 一起发布,它是一个经过训练的潜在扩散模型(latent diffusion model),用于提高图像分辨率。
尽管生成的质量非常好,但生成速度非常慢,因此不建议使用。
ESRGAN 4x
Enhanced Super-Resolution Generative Adversarial Networks (ESRGAN) - 增强型超分辨率生成对抗网络。
此upcaler 模型是对以前的SRGAN模型的增强,它曾赢得了2018年感知图像恢复和操纵挑战赛(2018 Perceptual Image Restoration and Manipulation challenge)它倾向于保留精细的细节并产生清晰锐利的图像。
R-ESRGAN 4x
Real-ESRGAN (R-ESRGAN)
该模型是ESRGAN的增强版,可以还原各种现实世界的图像。比如说修复源于相机镜头或者数字压缩等的各种程度的失真。
与ESRGAN相比,它倾向于产生更平滑的图像。此外,R-ESRGAN在逼真写实的照片图像上表现是最佳的。
一般来说,真人建议使用ESRGAN_4x ,动漫人物使用 R- ESRGAN 4x,而科幻类的场景题材,可以用R- ESRGAN 4x+Anime6GB,实测效果更好。