前言:

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

第五种:CCSR高清放大

该方法为使用ComfyUI-CCSR插件进行图像放大,原始论文表述该方法可以对图像进行高分辨率修复并且提升画面的视觉质量,下图为CCSR示例工作流。image

首先该方法用到了自身训练的CCSR大模型(其本质仍然是Stable diffusion模型),我们可以通过文生图工作流加载该模型进行出图测试。image

但是该插件中CCSR_Upscale节点传入的模型,必须为该插件对应的CCSR大模型,该方法对模型架构进行调整,如果使用普通的SD1.5或者SDXL模型,会导致出图过程中参数尺寸不匹配,导致出现报错的问题,该模块的核心内容为CCSR_Upscale节点,在该节点中会完成分块扩散,完成图像的放大和修复,在sampling method参数中,可以选择CCSR或者CCSR_TILE方法,tile即可对图像进行分块的放大,能够在低显存中完成图像的高清放大,但是有可能会产生“接缝”的情况.image

从下图可以看到放大的效果对比,从结果可以看到修复可以明显的降低原图中的噪点内容,将整体毛发变得平滑,即会消除原图中的彩色斑点,但是缺点也很明显,消除彩色噪点的同时将整体变得过渡平滑失去了真实场景中的纹理细节,所以放大效果类似于StableSR。(也许调整参数可以增强放大效果,具体就看各位自行测试了)

image

在后续的模块中,为了弥补第一步带来的纹理缺失,增加了噪声的注入方式,在上面模块通过SDXL模型配合recolor的controlnet模型进行初步放大带来的色差,同时在下方对放大后的图像进行噪声的添加,使得在扩散出图的同时不仅完成色彩修复还同时增加部分细节。(但是我个人还是喜欢在这个步骤中使用SUPIR的放大去增加原图消失掉的纹理)。

image

image

从结果来看,注入噪声0.01的强度可以适当的增加阴影,是的图像纹理更加清晰,但是对比于后续讲的(Supir)还是差点意思的,所以在官方示例流中的后续修复过程大家可以批判性的吸收,学习一下噪声注入的思路。

image

CCSR放大方法的优点在于可以消除原图中的彩色噪声并且将高频细节进行抹平,增加画面的平滑度,消除镜头的模糊感觉,与StableSR的放大效果较为类似,所以推荐作为SUPIR纹理添加前的图像预处理。

第六种:SUPIR高清放大

该方法为使用SUPIR放大插件调用supir相关的放大模型进行图像的高分辨率修复,该插件目前只能配合SDXL的大模型进行使用,所以底模的选择可能会较为严重的影响最终图像的放大效果,下图为示例放大工作流。image

该工作流通过分析可以了解到SUPIR方法的大概使用方式以及注意是在,该工作流进行了两步的处理,第一步是先对输出的图像进行放大然后进行初步的去噪,在下图中可以看到初步去噪节点完成了原始图像中的噪点去除,所以SUPIR的修复很容易受到原图中噪点强度的影响。image

下图为初步去噪的简单对比,所以说SUPIR会更加倾向于在干净的图像上进行纹理的添加,这个在工作流中第二步就能看到效果表现,那么关于原图的去噪,我们就可以使用到之前讲到两种方法(CCSR或者StableSR),这样的配合就能够完成原图去噪后的放大,并且可以完成纹理的添加,所以说SUPIR更加适合真实人物的修复。

image

下图为示例工作流中的第二部分,进行图像修复和纹理的添加,为了弥补硬件设备带来的显存不足或者内存不足的问题,SUPIR就进行了图像的分块处理,在采样节点中可以通过设置tile的参数去完成图像分块采样的方式,但是在该方法中不能够对每一块使用单独的提示词,所以说放大之前,写入的文本信息,个人建议使用全局可用的质量提示词,而不是整张图象的内容。

image

下图为经过SUPIR放大后的效果,能够将去噪后的图像进一步添加纹理,并且对原图的改变很小,所以该方法可以较好完成图像分辨率的调整,并保持与原图的一致性。但是这种方法因为要进行大模型的选择,所以说我们找到合适的大模型至关重要,下面我们可以测试一下使用真实的大模型进行图像的放大和其他场景的大模型进行一个对比。

image

下图为搭建的两个不同风格的大模型进行的测试对比,使用相同的提示词和相同的图像,相同的随机数种子进行出图测试,上面为动漫大模型,下面为真实的大模型,可以通过对比看看大模型对于最终出图的影响。

image

下图为最终的结果对比,可以看出真实的大模型对比纹理的表达比动漫大模型的表达更为贴切,但是可能是由于真实的大模型并没有使用加速方法进行模型训练,所以在同样的采样步数下表现出的效果不如有加速放大的动漫大模型来的清晰合理。

image

下图为Pony真实系大模型和动漫大模型的放大效果对比,因为pony模型用了加速的方法,再加上该模型通过大量高质量的图像对模型进行了微调,所以对于皮肤纹理的添加就显得尤为明显,从下图中可以明显地看出不同的大模型队最终结果的影响巨大,当我们了解了插件的使用方式以及注意事项,保证个人基础知识牢固的情况下,那么就可以通过实践去完成自己的想法,所以说基础很重要!!

image

当你掌握了SUPIR的放大方法,并且设置好了参数之后,可以使用该工作流进行批量图像的放大,即从一个目录中选择你要放大的图片数量,将每一个图片进行提示词的反推然后使用SUPIR进行图像的放大修复,因为大模型为SDXL的基础模型,所以我们的提示词反推就可以使用WD14进行,这样获得的就是短词的文本,我个人还是建议直接自己书写我们的质量提示词进行控制,因为我们是分块进行的修复。

image

下图为使用StableSR去噪后进行修复的工作流和直接使用SUPIR自带降噪进行修复的工作流对比,不同的与处理方式会严重影响最终的出图效果,所以说对于预处理的选择一定要多测试多实验。image

下图为两种去噪方式的对比,从下图中可以看出StableSR可以通过我们的正反向提示词去大幅度的对原图当中的噪声进行消除,并且可以保持原图当中画面的一致性,反而是SUPIR自带的去噪方式因为暴露的参数过少,导致可以调整的范围缩小,从以下结果对比可以看出StableSR的去噪会更加强烈。image

下图为放大后的结果对比,从结果来看由于StableSR的去噪较为强烈,所以后续SUPIR进行纹理添加就有更大的发挥空间,而SUPIR的去噪效果不够导致原图残留很多的色块,所以后续的放大过程可能更倾向于消除噪声(个人推测),所以说最终的结果表现为经过StableSR去噪后的图像纹理添加的非常明显。具体的效果还是需要各位自行进行测试。image