在数字艺术创作和图像处理中,我们经常会遇到需要放大图片的情况。无论是为了打印、展示还是仅仅为了提高图像质量,放大图像的同时保持或增强细节是一个挑战。幸运的是,ComfyUI提供了多种方法来实现图片的放大和细节修复。前几节课我们学习了文生图、图生图、局部重绘,但是生成的图片分辨率太小,我们可以通过模型放大、潜在放大、非潜在放大、分块放大多种方式对图像进行放大。本文将详细介绍如何在ComfyUI中使用这些方法,帮助你获得高质量的放大图像。
1.模型放大(推荐:★)
模型放大是最直接的放大方法,它通过图像空间放大算法将图像尺寸增加。这种方法简单快速,但可能会导致细节损失和图像质量下降。
- 在ComfyUI中,右键新建节点,选择“图像” -> “放大” -> “图像通过模型放大”。
- 连接放大模型加载器,选择合适的放大模型。推荐的模型包括BSRGAN、ESRGAN、SwinIR_4K和RealESRGAN_x4plus。
- 连接VAE解码输出的图像到放大节点,并直接连接到保存图像节点。
(1)在空白处右击鼠标,按下图方法增加模型放大节点
(2)接着增加“放大模型加载器”节点
模型选择4x-ultrasharp.pth
模型下载链接:
https://huggingface.co/Afizi/4x-UltraSharp.pth/blob/main/4x-UltraSharp.pth
模型放置路径:modelsupscale_models
2.潜在放大(推荐:★★)
潜在放大是在图像的潜在空间进行操作,通过缩放潜在特征并重新采样来增加细节。
- 右键新建节点,选择“Latent” -> “Latent缩放”或“Latent按系数缩放”。
- 根据需要设置宽高或放大倍数。
- 串联一个采样器节点以生成放大后的图像。
添加Latent按系数缩放节点
缩放方法选择“临近-精确”
放大系数根据需要选择,这里选择2倍
3.分块放大SD放大(推荐:★★★★★)
UltimateSD Upscale插件结合了模型放大和分块放大的优点,提供了一个简单易用的界面来实现细节修复和放大。
- 安装UltimateSDUpscale插件。
- 右键新建节点,选择“图像” -> “放大” -> “SD放大”。
- 根据需要选择放大模型和设置参数。
- 连接放大模型加载器和其他必要的节点。
(1)添加节点
(2)加载模型
SD放大插件集成了K采样器,它也需要加载放大模型,经过SD插件放大后,图片细节也得到了明显提升。
三重放大教程(4K图)
我们还可以把前面的三种放大方法结合起来放大图片
首先,我们将采样器的Latent连接到潜变量系数缩放上,作为一级放大
紧接着,潜变量放大(一级放大)输出的图片传给SD放大(二级放大),然后再传给模型放大(三级放大)。
由于经过三次放大后的图片会变得很大,所以我们还要对图片进行缩小处理,三级放大后的图片输出给图像缩放节点,最后输出给图像预览节点。
增加图像缩放节点
在空白处双击,搜索“图像缩放”节点,选择第二个。
将宽度设为0,高度设为4096,意思是图片的高度固定为4096,宽度会按原图片的比例进行生成。
完整工作流
- “模型放大”最快也是效果最差,最不推荐的。我常用的是“非潜在放大”和“UltimateSDUpscale 插件放大”;
- 每个放大方式都有利弊,我们完全可以多种方式一起进行放大,比如:潜在放大/非潜在放大 + UltimateSDUpscale 插件放大,这样我们放大后的图片效果更好,细节更丰富;
- 我们 refiner 模型细化、图生图、还有我们以后要学习的 文/图生视频 等都可以用这几种方式进行放大;
- 我把这几种放大方法整合在一个工作流中,大家可以对比一下不同方式下的放大效果