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. 下載
常用的節點和模型太多,不在此處記錄。需要你根據錯誤提示自行尋找所需內容。
天坑極多,慎入慎入啊。
-
節點:
- https://github.com/Gourieff/ComfyUI-ReActor
- https://github.com/somanchiu/ReSwapper
-
模型:
-
https://huggingface.co/datasets/Gourieff/ReActor/tree/main/models
最重要的是facerestore_models
目錄下模型和inswapper_128.onnx
-
https://huggingface.co/lllyasviel/ControlNet/tree/main/models
ControlNet
如果已經安裝可以不必考慮,但必須要存在depth
、lineart
和openpose
模型。
-
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_subsettry:from timm import is_timm_available
except ImportError:def is_timm_available():return Falseif is_timm_available():# 如果timm可用,但沒有這些具體函數,可以這樣處理try:# 注釋掉原來的導入# from timm.data import ImageNetInfo, infer_imagenet_subset# 直接定義一個空的類和函數class ImageNetInfo:def __init__(self):passdef infer_imagenet_subset():return Noneexcept ImportError:ImageNetInfo = Noneinfer_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速度太慢的多種解決方案