SD入门教程五:后期处理图片高清放大
发布时间:2024年06月06日
在上一篇入门教程中,我们学会了图生图的基础用法以及参数设置。这一篇我们主要讲如何利用放大算法(Super-Resolution)来显著提升图片的分辨率,同时保持甚至增强图像的细节和清晰度。这些功能可以快速帮助你提高图片分辨率和修复图片内容。
!后期处理!
在后期处理模块的界面中,可以看到有四大模块,我们把这些模块拆开讲讲分别有什么用。
1.图片输入区域:
·
单张图片:拖入单张图片或点击上传单张图片;
·
·
批量处理:拖入多张图片或点击上传多张图片;
·
·
批量处理文件夹:处理该文件夹下的所有图片,比如D:\AItools,那AItolls就是你需要处理批量图片的文件夹。输出目录就是处理完图片之后的目标文件夹。
·
2.缩放区域:
这里有两种缩放模式,一般用于修复老旧照片,或者扩展成海报图。
·
缩放倍数:按照比例缩放,最大值为8倍;
·
缩放到:这里其实是自定义分辨率,如果和原图尺寸不符,默认会裁剪掉多余像素。
·
最关键的是放大算法,那么这么多算法到底有什么用呢,为了节约时间,我直接推荐(ESRGAN系列算法)和(4X-UltraSharp)这几个算法,一般只会用到放大算法1,在特别的需求会使用到放大算法2。如果想要了解算法原理的可以往下看:
Lanczos算法(鸡肋算法,一般不用)
Lanczos算法就像是一把剪刀,它可以帮助我们从这个大矩阵中剪出一个小的、更容易处理的部分。这个小部分是一个三对角矩阵,它包含了大矩阵的重要信息,但是它的尺寸要小得多,就像把大象剪成了一只小老鼠。这样,我们就可以用更简单的方法来分析这个小矩阵,找到它的特征值和特征向量。
总的来说,Lanczos算法在SD模型中的实际用处可能更多地体现在模型训练和内部计算的优化上,而不是直接用于图像放大或超分辨率。在实际应用中,SD模型可能会结合多种算法和技术来实现高质量的图像生成。
Nearest算法(不常用)
Nearest(最近邻算法)在图像处理中的主要应用是在插值和图像重建任务中,它通过在图像中找到最接近的像素点来填充新的像素位置。这种方法在某些简单的图像处理任务中可能有效,但在复杂的图像放大或超分辨率任务中,它通常无法产生高质量的结果,因为它没有考虑到图像内容的复杂性和局部到全局的上下文信息。
BSRGAN算法(不常用)
BSRGAN(Bilinear Super-Resolution Generative Adversarial Network),这是一种用于图像超分辨率的深度学习模型。BSRGAN通过生成对抗网络(GAN)来学习如何从低分辨率图像生成高分辨率图像。在这个过程中,BSRGAN使用了双线性插值作为初始的上采样步骤,然后通过CNN(卷积神经网络)来进一步细化图像细节。BSRGAN的目标是生成更加清晰、细节丰富的高分辨率图像,同时保持图像的自然感。双线性插值是一种更复杂的插值方法,它考虑了周围像素的值,以产生更平滑的过渡,这有助于GAN更好地捕捉图像的细节和纹理。
ESRGAN系列算法(常用推荐)
ESRGAN(Enhanced Super-Resolution Generative Adversarial Networks)算法的核心在于其生成器和判别器的架构,这两个网络相互对抗以提高生成图像的质量。
·
ESRGAN_4X:在ESRGAN_4x中,生成器网络负责将输入的低分辨率图像转换为高分辨率图像,而判别器网络则负责评估生成图像的质量,确保其与真实高分辨率图像尽可能相似。这种对抗过程使得生成器不断改进,以生成更逼真、更高质量的图像。一般适用于写实类图片。
·
R-ESRGAN_4X:通常用于需要高清晰度放大的场景,如摄影、视频增强、医学成像等领域。它特别适合于处理那些需要保留丰富细节和纹理的图像,例如在放大人像照片时,R-ESRGAN_4x+能够提供更清晰、更自然的放大效果,尤其是在面部特征、发丝和衣物纹理等方面。一般适用于写实类图片。
·
R-ESRGAN_4X+Anime6B:这个算法特别针对动漫和二次元图像进行了优化。这是一个专门为动漫风格图像设计的超分辨率模型,它能够更好地处理动漫图像中的色彩、线条和细节。这个算法在放大动漫图像时,能够保持角色的面部表情、服装的纹理、背景的细节以及整体的色彩平衡。它的目标是在放大过程中尽可能地保留动漫图像的原始艺术风格,同时提高图像的清晰度和分辨率。一般适用于二次元类图片或二三次元混合类图片。
4X-UltraSharp算法(常用推荐)
基于超分辨率原理的算法,通过预处理、低分辨率图像生成、特征提取、高分辨率图像生成、图像重建和后处理等步骤,将图像分辨率提升4倍,增强清晰度和细节,同时减少噪点和模糊。一般在纠结用哪种算法放大图片时,无脑选这个算法,照片级别的。
ScuNET系列算法(不常用)
·
ScuNET:通过ScuNET,SD模型可以生成更加清晰、细节丰富的图像,这对于需要高分辨率图像的应用场景非常有用,是一种真实感图像超分辨率增强方法。
·
·
ScuNET PSNR:Peak Signal-to-Noise Ratio,PSNR是峰值信噪比的缩写,(峰值信噪比)是评价图像质量的一种指标,PSNR值越高,说明图像的质量越好。ScuNET是一种真实感图像超分辨率增强方法,通过自注意力机制和残差学习,能够有效地提高图像的分辨率和视觉效果。
·
SwinIR算法(不常用)
SwinIR_4x:是一个图像超分辨率(Super-Resolution, SR)算法,在图像超分辨率任务中,SwinIR_4x 的目标是将低分辨率(LR)图像放大到高分辨率(HR)图像,同时保持或增强图像的细节和质量。
Latent系列算法(不常用)
Latent 放大算法是一种基于 VAE 模型的图像增强算法,通过将原始图像编码成潜在向量,并对其进行随机采样和重构,从而增强图像的质量、对比度和清晰度。这种方法通常能得到不错的效果,但与4x-UltraSharp、R-ESRGAN等相比,显存消耗比较小,但效果不是最优。
·
Latent (antialiased):结合了抗锯齿(antialiasing)技术的图像Latent放大算法。抗锯齿是一种用于消除图像中锯齿状边缘的技术,常用于提高图像的视觉质量。
·
Latent (bicubic):Latent 放大算法是一种图像超分辨率技术,可以通过插值算法来放大图像的尺寸,从而提高图像的分辨率。其中,双立方插值算法(Bicubic Interpolation)是一种常见的插值算法,它基于双线性插值算法,通过扩展影响范围至邻近的16个像素点,依据对未知像素点P的远近影响进行插值计算,从而得到更细致的影像。
·
Latent (bicubic antialiased):结合了双立方插值算法(Bicubic Interpolation)和抗锯齿(Antialiasing)技术的图像超分辨率技术的Latent放大算法。该算法通过插值算法来放大图像的尺寸,同时消除锯齿状边缘,从而提高图像的分辨率和质量。
·
Latent (nearest):结合了最近邻插值算法(Nearest Neighbor Interpolation)的图像超分辨率技术的Latent放大算法。该算法通过插值算法来放大图像的尺寸,同时保持图像的原始像素值,从而提高图像的分辨率和质量。
·
Latent (nearest-exact):结合了最近邻插值算法和双线性插值算法的特点的Latent放大算法,以达到更精确的放大效果。
那么以上这些放大算法的原理基本就讲清楚了,反正就是推荐(ESRGAN系列算法)和(4X-UltraSharp),在文生图里也同样适用。接下来,放一些对比效果图看看细节。
3.图片生成区域:
这里其实没啥好说的,总的来说就是放大后的图片在这里可以查看或下载,还会有图片信息。
4.进阶调参区域:
GFPGAN:数值0-1,勾选后启用,数值越大修复人脸效果越好;
CodeFormer:勾选后启用,左侧可见度是人脸的重建程度,右侧权重数值越小效果越高,数值越大效果越差,GFPGAN的替代品;
生成标签:勾选后生成tag,原理和图生图反推是一样的,tag文件自动保存在outputs\extras-images
创建水平翻转副本:生成放大图片的水平副本图、垂直副本图,两者都要。
自动面部焦点剪裁:这里数组报错,我没研究下去,有会的小伙伴可以告诉我噢。
自动按比例裁剪缩放:基于图像内容的中心区域进行裁剪,最小分辨率确保生成的图像至少达到这个分辨率,以保证图像的清晰度;最大分辨率设置了一个分辨率的上限,防止图像被放大到不必要的高分辨率,这可能会增加文件大小而不增加视觉质量;最小面积,确保裁剪后的图像至少有指定的像素面积,这有助于保持图像内容的完整性;最大面积,这个参数限制了图像的最大面积,为了防止图像过于拉伸或压缩,保持图像的视觉比例;错误阈值,数值越大代表精度越低,数值越小代表精度越高。
!总结!
在本篇中,我们把放大算法的原理和进阶调参都讲了一遍,推荐的放大算法(ESRGAN系列算法)和(4X-UltraSharp),这些算法能覆盖80%的应用场景,比如,老旧照片修复,模糊照片修复,艺术照片高清修复,医学影像图放大处理,老旧电影放大处理,高质量广告印刷海报等等。下一章,我们要进入ControNet篇了,让图片“更听我们的话”。
出自:https://mp.weixin.qq.com/s/lz08EsLOPBpLGWTbPiojKQ
在线视频转GIF软件