Stable Diffusion图像分辨率提升指南:三种主流方法详解
Stable Diffusion图像分辨率提升指南:三种主流方法详解
在AI绘画创作中,如何在不爆显存的情况下获得高分辨率的优质作品?本文将为你详细介绍Stable Diffusion(SD)提供的三种提升图像分辨率的方法:高清修复、SD Upscale放大和后期处理。通过实际案例和对比图,帮助你选择最适合的放大方案。
在前期作画的时候,建议在第一次作画时不要设置过高的图像分辨率,因为过高的分辨率可能会导致显存不足,从而使得整个作画过程失败。然而,低分辨率的图像质量通常不高,细节不够丰富。为了解决这一问题,本文将介绍如何使用AI技术来提升图片的分辨率。
AI绘画本质上是一个概率性的生成过程,在前期创作时,建议先使用低分辨率进行多批次的生成,找到满意的基础画面后再进行高分辨率的修复,以获得最终的高质量作品。如果在初期就设置过高的分辨率,不仅会增加显存不足的风险,还可能导致同一张图像中出现人物或肢体的混乱现象。幸运的是,Stable Diffusion提供了多种放大图像分辨率的方法,下面将为你详细介绍。
高清修复
在文生图的众多参数中,有一个高分辨率修复的选项,选中后会弹出一系列子菜单。由于高清修复本质上是图生图功能的扩展,因此这些设置与图生图的参数类似:
- 迭代步数设置:如果设置为零,它将自动采用之前设置的迭代步数。
- 重绘幅度:表示在高清修复过程中与原图内容保持一致性的程度。在放大算法中,建议将重绘幅度设置在0.5以下。
- 放大倍数和宽高:建议将初始绘图分辨率设置为最终目标分辨率的等比例缩小版本。放大倍率应控制在2倍以内。
- 放大算法:Latent潜变量算法特别适合添加更多画面细节,尤其是二次元画面。推荐使用R-ESRGAN 4x+ Anime6B,或者参考模型作者的建议选择最适合的放大算法。
需要注意的是,直接在图生图中操作的效果与高清修复相同,这种方法并不能突破显存的限制。
SD Upscale放大
在图生图界面的脚本选项中可以选择SD Upscale,同样会弹出一系列子菜单选项:
- 放大倍数:设置图片的具体缩放倍数。
- 放大算法:与上述提到的算法选项相同。
SD Upscale放大原理是将图片切割后对每个局部进行高清修复。为了使拼接效果更加自然,可以设置像素重叠。例如,如果原图尺寸为600x600,重叠像素设置为64,则需要将原图尺寸调整为664x664。如果选择放大两倍,最终得到的图像尺寸将是1200x1200。重叠像素的作用类似于缓冲带,可以避免相邻图块拼接时出现生硬的过渡边缘。
这种方法的优点是可以相对不受显存限制,且画面精细度较高。缺点是分割过程可能不可控,特别是在人脸等关键部位处于分割线时,可能会出现额外的元素。此时需要降低重绘幅度,以保持结果与原图的一致性。
后期处理(最常用)
在SD的webUI中选择后期处理,使用其放大功能。这个操作逻辑与上述两种方法类似,选择合适的缩放比例和放大算法即可。它可以同时使用两种放大算法,但很多时候只需要使用一种算法就足够了。其余的参数保持默认设置即可。
后期处理通过AI对分辨率实现提升,不涉及重绘,方便,高效,可以批量操作;不改变图片内容,但细节丰富度等效果不太明显。
效果对比
为了直观展示不同方法的效果,我们使用lofi模型生成了一张500x500的初始图像,并分别使用三种方法将其放大。以下是对比结果:
原图
500x500
高清修复
1500x1500
SD Upscale放大
1000x1000
后期处理
1000x1000
通过对比可以看出,不同放大功能对细节增加的效果有所不同。亲自实验这些方法时,还可以发现它们在运行效率上的差异。