当前位置:首页|资讯|Stable Diffusion

基于 ComfyUI 和 SURIR 节点搭建图片放大工作流

作者:欧opacity发布时间:2024-03-11

最近很多手机厂商都在系统中内置了拍照后AI自动提高清晰度的功能,我也在准备搭建自己的一个图片修复优化工具。前几天刚好看到 SURIR 模型感觉效果不错,于是用熟悉的 ComfyUI 搭建了一个图像放大修复工作流。

ComfyUI 是一个基于节点流程式的stable diffusion AI 绘图工具WebUI, 你可以把它想象成集成了stable diffusion功能的substance designer, 通过将stable diffusion的流程拆分成节点,实现了更加精准的工作流定制和完善的可复现性。但节点式的工作流也提高了一部分使用门槛。如果你玩过类似虚幻引擎之类地蓝图系统,相信你对这样的工作流程一定不会陌生。

目前主流的 upscale 的方法有两种:

  • Upscale pixel:将可视的图直接 upscale。如果拿 ComfyUI 节点解释,这个节点输入的是 image,输出的是 upscale 后的 image。
  • Upscale latent:另一种是将不可视的潜空间图像 upscale,如果拿 ComfyUI 节点解释,这个节点输入的是 latent 输出的是 upscale 后的 latent,最后需要经过 decode 才能变成可视的图片。

区别在于,Upscale pixel 不会改变原图信息,而Upscale latent可以更加清晰,但是是对部分区域进行重绘做到的。

前几天刚好看到一个 SURIR 模型, 它利用了生成先验和模型放大的力量。利用多模态技术和先进的生成先验,SUPIR标志着智能和逼真的图像恢复的重大进步。

https://supir.xpixel.group/


官方的效果


其他博主的测试结果,最右为 SUPIR 的效果

有人基于SUPIR封装了ComfyUI的节点,可以让我们更方便地使用模型

https://github.com/kijai/ComfyUI-SUPIR

一.安装 ComfyUI

ComfyUI 提供了 portable 和 正常版本。portable 自带了一个 python 运行器。我这里选择了 portable 版本

https://link.zhihu.com/?target=https%3A//github.com/comfyanonymous/ComfyUI



二. 安装 ComfyUI-SUPIR 自定义节点

这一步只需要用git clone 到 custom_nodes目录即可。如果不会使用git,直接下载到该目录下也可。


如果你安装的是便携版本,在ComfyUI_windows_portable目录下

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-SUPIR\requirements.txt

python_embeded\python.exe -m pip install -U xformers --no-dependencies

如果你依赖本机的 python 环境,在

\ComfyUI\custom_nodes\ComfyUI-SUPIR目录中,执行

pip install -r requirements.txt

pip install -U xformers --no-dependencies

三. 下载模型

1. SUPIR模型

放置模型在 ComfyUI/models/checkpoints


SUPIR提供了两个模型,SUPIR-v0Q和SUPIR-v0F。

SUPIR-v0Q:论文提供的默认训练设置, 大多数情况下,高泛化和高图像质量。

SUPIR-v0F:使用光退化设置进行训练。Stage1 编码器 SUPIR-v0F 在面对光线退化时仍保留更多细节。

选择哪个模型取决于你的应用场景,在大多数情况下,SUPIR-v0Q已经够用。

2. 安装基本SDXL模型。

除此之外,你还需要一个 SDXL模型。 SDXL 是 Stable Diffusion XL 的簡稱,顧名思義它的模型更肥一些,但相對的繪圖的能力也更好。。目前 ComfyUI-SUPIR 节点只支持 基本模型。

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/blob/main/sd_xl_base_1.0.safetensors?source=post_page-----b2f7648d49ff--------------------------------


四. 启动 ComfyUI


ComfyUI有两种启动方式,cpu 或者 gpu,我们使用的这个节点只支持 gpu 运行。选择 run_nvidia_gpu.bat


浏览器打开本地 8188 端口即可看到 ComfyUI 的界面


右键可以看到 SURIR 的节点,说明已经安装成功。



选择 image 节点,搭建一个基本的工作流。


注意配置好我们刚刚下载到 checkpoints 下的模型。需要跟键对应。


模型的测试效果,大体上还是不错的,在保持原图特征的情况下,清晰度提高了不少。





五. 可能会遇到的问题

torch.cuda.OutOfMemoryError: Allocation on device 0 would exceed allowed memory. (out of memory)
Currently allocated : 11.31 GiB
Requested : 6.25 MiB
Device limit : 12.00 GiB
Free (according to CUDA): 0 bytes
PyTorch limit (set by user-supplied memory fraction)
: 17179869184.00 GiB

这种情况下需要禁止系统的 Sysmem Fallback Policy.



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1