前言
如何将小尺寸的图片进行无损放大
放在以前 这种需求的实现会比较难 如今借助AI轻轻松松实现
接下来给大家介绍如何使用ComfyUI
进行无损扩图
需要安装的插件和模型
插件:
-
这里推荐使用
manage
来安装插件, 它会自动安装插件所需的依赖包
模型
- v1-5-pruned-emaonly : 该模型放置到
ComfyUI/models/checkpoint
目录下 - OmniSR_X4_DIV2K : 该模型放置到
ComfyUI/models/upscale_models
目录下 - ControlNet inpaint : 该模型放置到
ComfyUI/models/controlnet
目录下
开始实现
启动
ComfyUI
, 浏览器输入http://127.0.0.1:8188/
打开工作面板创建
UltimateSDUpscale
节点通过该节点的输入输出端口能大致判断该节点所需的数据,
创建相应的输入输出节点:
Load Image
节点: 用于输入需要处理的原始图片Load Checkpoint
节点 : 用于加载并读取大模型Load UpScale Model
节点 : 用于加载并读取UpScale
模型Preview Image
节点 : 用于预览处理后的图片CLIP Text Encode
节点 : 用于加载正向/负向提示词
节点连接如下:
但是当我们点击
Queue Prompt
按钮生成时却报错Required input is missing: tiled_decode
:那大概率是我们的节点配置有问题, 于是我前往插件
GitHub
主页查看使用说明, 发现官方示例中还用到了一个Control Net
节点:于是我将该节点补充上后即可正常使用了:
这里的
ControlNet
主要是针对正面条件的处理Done
工作流下载
两种下载方式, 任君选择:
点击网盘下载 (访问密码: 312306)
使用Python代码实现
无论是ComfyUI还是内置的插件, 本质上都是一个Python库或程序
除了通过界面节点式操作实现之外, 我们还可以直接通过代码实现
示例代码如下:
1 | from comfyUI import ComfyUI |
其他插件实现放大
除了使用ComfyUI_UltimateSDUpscale
插件之外, 我们还可以使用ComfyUI-SUPIR 或者ComfyUI-TiledDiffusion插件来实现图片的高清修复和放大
ComfyUI-SUPIR
实现图片放大具体步骤如下:
下载所需模型
SUPIR
模型 : 点击百度云盘下载- sd_xl_base_1.0.safetensors模型
模型下载后放置在
ComfyUI/models/checkpoints
目录下创建节点
Load Image
节点: 用于输入需要处理的原始图片SUPIR Upscale
节点 : 用于修复并扩大图片Preview Image
节点 : 用于预览处理后的图片
完整工作流如下:
效果如下
原图 处理过后的图 由于原图也还算清晰, 可能效果不是太明显, 不过仔细看的话 多多少少还是有些区别的
ComfyUI-TiledDiffusion
插件实现图片放大:
该方法能在较低显存配置下实现图片的无损扩大, 强烈推荐使用
安装插件
-
该插件主要用到里面的
Image Comparer
节点, 用于图片前后处理对比
下载所需模型
4x-UltraSharp.pth : 放置在
ComfyUI/models/upscale_models
目录下control_v11f1e_sd15_tile.pth : 放置在
ComfyUI/models/controlnet
目录下epicrealism pureEvolution v5超写实模型 : 放置在
ComfyUI/models/checkpoints
目录下
导入工作流
Tile 放大增加细节工作流
json
文件, 两种下载方式, 任君选择:点击网盘下载 (访问密码: 312306)
[点击本地下载](https://acg.newban.cn/comfyui/workflow/Tile 放大增加细节.json)
效果如下
原图 处理过后的图 整体效果和原图大差不差, 但是尺寸却足足扩大了一倍:
对于
TiledDiffusion
的扩图, 个人还是相当满意的
文章参考
《基于 ComfyUI 和 SURIR 节点搭建图片放大工作流》
《Stable Diffusion 利器之ControlNet》
本文为作者原创 转载时请注明出处 谢谢