ComfyUI实现老照片修复——AI修复老照片(ComfyUI-ReActor / ReSwapper)解决天坑问题及加速pip下载

AI修复老照片,试试吧,不一定好~~哈哈

2023年4月曾用过ComfyUI,当时就感慨这个工具和虚幻的蓝图很像,以后肯定是专业人玩的。
2024年我写代码去了,AI做图没太关注,没想到,现在ComfyUI真的变成了工作室必备之物。

comfyui的安装方法当年就写在这里了,不再赘述。
《Windows安装Stable Diffusion ComfyUI及问题解决记录(注意不是Stable Diffusion WebUI)》

如果你要学习的话,建议先用WebUI,然后再学ComfyUI,这样会比较容易理解流程和节点。

本文作业流参考:https://openart.ai/workflows/whale_harmful_43/old-photo-reimagine—restoration/zCDY2MxghuM1ZZp1wx6M

网上盛传的ComfyUI Reactor Node的下载地址已经停用了,本文使用官方当前最新版本~~~~坑很多。

1. 下载

常用的节点和模型太多,不在此处记录。需要你根据错误提示自行寻找所需内容。
天坑极多,慎入慎入啊。

2. 解压

  • 节点:

    • custom_nodes/ComfyUI-ReActor
      在这里插入图片描述

    • custom_nodes/ReSwapper
      在这里插入图片描述

  • 模型:

    • models\reswapper
      在这里插入图片描述

    • models\facerestore_models
      在这里插入图片描述

    • models\ControlNet
      我的ComfyUI中的ControlNet引用到了WebUI中,你在配置时也需注意这一点。
      在这里插入图片描述

3. 工作流

根据需要拖出节点
在这里插入图片描述

在这里插入图片描述

4. 配置

注意在与prompt中需要针对图片内容进行描述,比如这里提示原照片是军装 Military uniform

在这里插入图片描述

5. 出图

单个人物准确率较高,但一个画面出现多个人物就可能会失真。
在这里插入图片描述
在这里插入图片描述

6. 问题及补充

1. 问题一:在timm中找不到ImageNetInfo等函数

在这里插入图片描述
如果出现这个错误提示,那么问题出在 transformers.models.timm_wrapper 模块中,该模块依赖了 timm 库,但当前版本的 timm 中似乎缺少 ImageNetInfo,导致导入失败。
试试用命令升级或安装缺失的timm

pip install --upgrade transformers
pip install --upgrade timm

生图时依旧错,卡在Reactor Fast Face Swap节点,尝试去掉错误的语句

# 原句是这句,无论安装什么都无法使用
#if is_timm_available():
#    from timm.data import ImageNetInfo, infer_imagenet_subset

try:
    from timm import is_timm_available
except ImportError:
    def is_timm_available():
        return False

if is_timm_available():
    # 如果timm可用,但没有这些具体函数,可以这样处理
    try:
        # 注释掉原来的导入
        # from timm.data import ImageNetInfo, infer_imagenet_subset
        
        # 直接定义一个空的类和函数
        class ImageNetInfo:
            def __init__(self):
                pass
        
        def infer_imagenet_subset():
            return None
    except ImportError:
        ImageNetInfo = None
        infer_imagenet_subset = None

这么写就可以跳过这一步了,可实际上后面还有几个天坑等着,而且这一步中如果仅有Reactor Fast Face Swap节点,且该节点的属性face_restore_modle有值,那么极可能出错,这时候可增加一个节点ReActor Face Booster,由其属性boost model选择codeformer来让图像变高清且不出错。

可能是因为当前reactor所需的timm版本较低,应该是个bug,未来会解决。

2. 问题二:提示找不到buffalo_l

此处 https://github.com/deepinsight/insightface/releases 选择 buffalo_l.zip 下载

之前下载reswapper模型时就有个压缩包buffalo_l.zip,解压到下面的目录即可,你能想象是这个目录?官网可没给任何提示。

models/
 └── insightface/
	  └── models/
	      └── buffalo_l/  # 解压到这个文件夹

3. 问题三:提示找不到inswapper_128.onnx等文件

models\reswapper中的内容复制到models\insightface,注意是复制,因为reswapper中的模型是提供给前端节点选择的,而执行时需要调用insightface里的,我验证这个情况的过程是:

  • 当我去掉reswapper中的模型文件,在节点里选择的时候该模型也就消失了,
  • 当我保留reswapper中的模型文件,去掉insightface目录中的文件,则在节点选择时正常,而在生图时会提示不存在该模型。
  • 我想未来版本会解决这个问题的,或者在哪里可以配置一下路径。
    在这里插入图片描述

4. 问题四:提示找不到vit-base-nsfw-detector模块

下载模型:https://huggingface.co/AdamCodd/vit-base-nsfw-detector/tree/main
放入models\nsfw_detector\vit-base-nsfw-detector目录下~~,这么深层真是无语~~ 。好像不下载onnx中的内容也没出错。
在这里插入图片描述

5. 问题五:GFPGAN 出错

具体情况不记得了,反正如果遇到问题就去GFPGAN官网 https://github.com/TencentARC/GFPGAN 找答案。
在这里插入图片描述
我应该就执行了这两句:

pip install basicsr
pip install facexlib

6. 问题六:CodeFormer 出现问题

官网:https://github.com/sczhou/CodeFormer

在这里插入图片描述
我就执行了这句,之前遇到的codeformer相关错误就没了。

pip3 install -r requirements.txt

7. 问题七:其它情况检查一遍

在这里插入图片描述

8. 问题八:pip 下载速度太慢

为了加速pip的下载,请用国内镜像的方式

# 临时使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name

# 永久配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

最后生图是成功了,但安装过程让我深深崩溃,现在学会遇到什么model出错,就去该model的github上去找答案,该安装安装。
总结一句话:多国混战,调这调那,尚未成熟,任重道远。

参考:
ComfyUI Reactor Node 安装和配置指南
人脸修复哪家强?GPEN,GFPGAN和CodeFormer三大神器对比
pip install速度太慢的多种解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值