前言:

因为大模型本身性能的限制,所以在ComfyUI中初步图像生成只能以较低分辨率(512*512或1024*1024)进行生图,但又因为使用场景的不同,需要图像进行放大或者修复或者高清处理,那么我们就必须掌握图像的放大方法,而放大模型众多,放大插件众多,再加上不同的风格所面临的放大场景不同,就给我们的选择带来了诸多困扰,本文将测试目前的多种放大方法,尽可能从原理进行分析给各位提供参考,希望大家批判性的吸收本文的内容,不要将此篇文章“奉为圭臬”。

第一种:潜空间放大

该方法为ComfyUI自带基础放大方法,原理为初步生图后在潜空间进行图片放大,由于潜空间放大的图像会导致解码后图像毁坏(下图)。

image

所以需要__较低重绘幅度__进行二次重绘,可以看到下方二次采样的重绘幅度给到了0.5左右,在保持跟原图高度相似的同时能够将图像的进行2倍的放大。

image

但是该方法有以下缺点,第一:放大需要进行重绘,所以会较大的改变原图的内容,如果去噪幅度低可能会导致放大后的潜空间噪点不能够清除干净,第二:二次采样以放大后的潜空间为主体,所以对电脑性能要求很高,过高的分辨率会直接导致程序崩溃。

第二种:up_scale模型放大

这种放大方法为简单的数学计算,即下载相关的放大模型,”模型本身是记录了各种数值的函数“,通过像素点之间的数据计算,输出放大后的图像。如下图所示,加载选择的放大模型,上传需要放大的图像,即可进行图像放大,优点在于该方法几乎不会对原图产生过大的改变,缺点是不能修复图像或者明显消除模糊。

image

该方法的核心为放大模型的选择,在该网站有众多的放大模型,比如动漫图像的放大模型,真实世界的放大模型等等,所以下载的时候需要按自己的需求进行选择,不然可能会非常影响最后的放大效果,并且放大模型有本身的倍率选择,比如2x-AnimeSharp模型,名字中带有2x,则是对输入图像进行两倍的放大。image

第三种:upscale的Controlnet模型进行放大。

该方法为使用UPscale的controlnet模型进行图像的放大,因为要跟大模型进行配合,所以说大模型的选择将会严重影响放大效果,目前Flux模型为Stablediffusion领域美学特征最为优秀的开源模型,所以我就以Flux的Upsclae Controlnet模型进行示例工作流的搭建。image

该方法依然需要二次扩散,但是可以以1的去噪强度进行重新的图像生成,因为Controlnet的参与,所以可以几乎不产生变化的方式进行图像的生成,缺点跟第一种方法一样,需要单次对全图进行扩散出图,假如放大倍数过大将会导致内存不足程序崩溃,但是该方法对原图整体的一致性保持很好,比如该篇文章中进行任务一致性控制用的就是controlnet进行修复放大。image

根据CN节点的参数不同,则放大效果会有较大的区别,因为CN模型在该工作流中的作用是为了保持出图跟上传的预处理图一致,所以当降低强度和降低作用时间时会较强烈的影响最终效果,该方法在”保持一致性“的场景中非常推荐使用,但是如果是做超高分辨率的图像生成,完全不推荐该方法。

__
因为该方法可以传入预处理图进行图像的控制,可以对于需要修复的图像有模糊和线条的情况可以通过预处理进行模糊处理消除线条,随后使用CN进行控制,既能保持原图的色彩分布和建筑信息,又可以通过扩散增加原图当中的细节,所以可以使用该方法进行图像的修复。__

image

image

第四种:StableSR图像放大

该方法的插件地址:https://github.com/WSJUSA/Comfyui-StableSR,此方法需要选择插件对应的StableSR模型,并且尽量使用配套的大模型进行出图效果会较好,模型可以在星球的共享文件中小黄瓜自用models文件夹下载,该方法因为需要使用到扩散节点,而且跟原图的一致性保持需要使用加载的中间模型进行控制,所以出图跟原图会有差别,下图中为示例工作流。image

如下图所示,最终结果会有纹理的丢失,企鹅胸部就出现了涂抹感,所以该方法可以较好地修复原图中的模糊效果,并且可以消除一定的噪点,可以当做后续放大(比如supir)的初步操作使用,该方法个人认为还是有必要掌握的,因为使用到的模型对显存占用较少,可以以较快的速度完成初步的图像处理,那么对后续的图像放大会带来较好的效果。image