ComfyUI中的图像放大
在ComfyUI中有三种图片放大方式,接下来我们将分别来学习
1. 非模型放大
这种图片放大方式,是指不需要借助任何模型进行放大,直接将像素图像通过"图像缩放"节点,采用近邻等缩放方式,放大图像像素。
采用非模型放大,处理速度极快,放大后图像会变的模糊(模糊程度取决于我们选用的缩放方式)。
非模型放大工作流搭建
新建节点->图像->放大->图像缩放/图像按系数缩放/图像按像素缩放
非模型放大工作流如下:
图像缩放
节点,可以直接调整宽高像素进行缩放,裁剪有2种,一种是不裁剪,也就是对图片进行拉伸,一种是从中心位置裁剪掉多余的边
图像按系数缩放
节点,系数值就是原图像素的倍数,值为1不缩放,值为2放大2倍
图像按像素缩放
节点,可以直接调整图像像素值,值为1就是100万像素,也就是1024*1024,值为2就是200万像素
这3种图像缩放节点都是输入输出图像,节点中的"缩放方式"包含了:近邻-精准、双线性插值、区域、双三线插值和lanczos,它们都是一些函数,我们没必要去了解他们的原理,大家可以根据自己的测验选择合适就可以了。
2. 模型放大
模型放大的原理是将像素图像通过放大模型算法,对图片进行高清放大。 采用模型放大,放大后图像会变的清晰,但是并不会修复细节。处理速度较快。
模型放大工作流搭建
新建节点->图像->放大->图像通过模型放大
既然是模型放大,那我们就需要一个模型放大加载器:
新建节点->加载器->放大模型加载器
完整的工作流如下:
如图所示,原始图片尺寸由400*400变到了1600x1600,放大了也更清晰了。
看到这里肯定有同学疑惑,放大模型都有哪些?如何安装?接下来我们就来补充说明放大模型的基础知识点。
常用的放大模型
- ESRGAN x4: 4倍放大,适用于照片写实类
- RealESRGAN x4: 4倍放大,全能型
- RealESRGAN_x4plus_anime_6B: 适用于二次元
- 4x_NMKD-Siax_200k: 4倍放大
- 8x_NMKD-Superscale_150000_G: 8倍放大
先别被那么多放大模型给吓倒,其实经常使用的就两三种。根据我的经验,写实类的图片进行放大选择ESRGAN x4
,二次元类型的RealESRGAN_x4plus_anime_6B
,其余的统统选择RealESRGAN x4
如何安装放大模型
打开管理器,点击安装模型,在弹出的对话框中搜索upscale
,然后选择相应的放大模型,点击安装即可。
3. 高清修复
高清修复的的工作原理是把采样器的输出传送到潜空间中进行放大,然后再交给采样器进行二次采样,降噪生成图像。
接下来我将从基本的文生图工作流开始,演示如何进行高清修复。
首先加载文生图工作流,这个大家肯定都已经熟悉了,不过多解释。
在这个工作流中,我们先把采样器的种子设定为随机,然后尝试多次抽卡,直到遇到自己满意的图片就把种子设为fixed
。此时生成的照片虽然画风姿态还行,但是细节和清晰度还不够,需要进行高清修复。
注意⚠️: 开始高清修复前,务必记得把采样器的种子设为fixed
高清修复的节点如下:
我新建了一个节点组,把参与高清修复的节点都拉到这个组内,如果不想开启高清修复,可以右键该组,选择忽略该组节点
。
在高清修复组
中,K采样器的随机种子一定要跟前一个K采样器的种子保持一致,例子中是363135131840051
。采样器可以换dppmpp_2m_sde,调度器选karras,降噪建议在0.5-0.8之间。这个值越小,原图的权重越大,或者说高清修复后的图越像原图。这个值越大,模型自由发挥的空间就越大,越不像原图。
假如你对高清修复后的图像仍然不太满意,还想进一步放大,那也是可以的。我们在高清修复组
之后,新建一个模型放大组。在该组内采用模型放大的方法,对图像进一步的放大,如下图所示:
我们采用RealESRGAN x4plus
模型,对图像进行4倍放大,最终图像分辨率由文生图的512*512
放大到了3072*3072
。
4. SD放大
要实现SD放大,需要先安装SD放大插件。在管理器->安装节点中搜索ssitu
,之后选择SD放大
,点击安装即可。
安装完成后,重启ComfyUI,右键新建节点->图像->放大--->就能看到SD放大。
SD放大的原理
SD放大插件会先将图片切成好几个小块(Tile),通常是 512×512,然后分别对每一个小块进行放大,最后再拼回一张大图。 这样的做法不仅可以确保放大的效果和视觉品质,同时也能在提升提示的同时,节省计算和储存空间。
SD放大节点参数详解
-
放大系数:就是将原来的图片放大几倍,单次最大4倍
-
模型类型:正常选择Chess ,接缝问题会小很多,也会防止一些伪影
Linear(直线):逐行进行拼接(更快,但是会有几率出现伪影,我们默认使用这个)
Chess:棋盘拼接 ,可以理解成"X"形状的拼接样式(慢一些,出现伪影的几率小)
-
分块宽度/高度:表示将最终放大后的图片像素分割成每一个Tile(小块)的宽和高像素
-
分块分区:处理某一个Tile(小块)时,将周围相邻小块多少像素考虑进去。
-
模糊:拼接区域的羽化程度,默认 8 就可以,融合不好的情况下适当调高。
-
接缝修复模式:如果结果图像没有可见的接缝,就不要使用它,保持默认值None。
完整工作流
上面的工作流我使用了效率节点,正好也是对之前所学知识的复习。放大系数为2,最终把512*512
的图像放大到了1024*1024
。
如果对SD放大效果不满意,我们可以先使用高级修复和模型放大,最后再使用SD放大。具体的工作流就不演示了,留作小伙伴们的课后作业😂。
总结
本文介绍了3种放大工作流和1种高清修复工作流,在实际工作中我们可以根据自己的需求,灵活地搭配这几种工作流。