ComfyUI 是一款強大的圖像生成與處理工具,以其模組化的節點式工作流設計,讓使用者能夠細緻地控制 AI 繪圖的每個步驟。無論是生成高品質圖像,還是對生成結果進行後期優化,ComfyUI 都提供了極大的彈性,讓創作者能夠根據需求自由調整細節。在 AI 繪圖的過程中,臉部細節往往是最容易失真的部分,特別是在高解析度圖像或是複雜場景中,AI 可能無法準確還原面部特徵,導致模糊、畸變或細節缺失。這時候,我們可以使用 FaceDetailer 來解決這個問題。
FaceDetailer 是一種專門用來增強臉部細節的技術,透過 AI 模型精準識別人臉,並對其進行獨立處理,使五官更加清晰、輪廓更為銳利,甚至可以修復 AI 繪圖過程中產生的瑕疵。在 ComfyUI 中,我們可以利用 FaceDetailer 來對輸出的圖像進行局部修復與強化,確保角色的臉部細節達到最佳效果。為了讓這個功能順利運行,我們將會使用兩個客製化節點 ComfyUI-Impact-Pack 和 ComfyUI-Impact-Subpack,這兩個擴充套件提供了額外的工具,使 FaceDetailer 得以成真,並能夠與 ComfyUI 流暢整合,因此在開始之前,必須先完成這些擴充套件的安裝。(ComfyUI 安裝客製化教學點我前往)
本文將提供完整的範例工作流,讓大家可以直接套用,輕鬆上手 FaceDetailer,體驗 AI 繪圖之臉部修復的強大功能!
▲ 此畫面顯示 ComfyUI Manager 內的客製化節點管理介面,請確認已安裝 ComfyUI-Impact-Pack 和 ComfyUI-Impact-Subpack 兩個擴充節點,這些工具是進行 FaceDetailer 臉部修復的必要元件。
▲ 這是此次 ComfyUI 工作流的部分設定,其中 FaceDetailer 負責對臉部進行修復,並透過 UltralyticsDetectorProvider 節點來檢測臉部範圍。我們使用 bbox/face_yolov8n_v2.pt
來精準識別人臉,確保效果最佳。(點我前往下載 face_yolov8n_v2.pt)
模型請放在 C:\Users\[使用者名稱]\Documents\ComfyUI\models\ultralytics\bbox\face_yolov8n_v2.pt
。
FaceDetailer 的各項參數決定了 AI 修復臉部細節的方式與精細程度。為了提升修復精準度,我們啟用了 bbox_detector,它負責檢測人臉範圍,確保修復時不會影響到背景或其他細節。這與 UltralyticsDetectorProvider 節點搭配使用,模型名稱設為 bbox/face_yolov8n_v2.pt
,這是一款專門用於臉部偵測的 YOLOv8 模型,能有效標記人臉區域,提高修復精確度。steps 設為 20,讓 FaceDetailer 有足夠的運算步驟來精細化臉部紋理,基本上參數都用預設值效果就很不錯了!
▲ 左側為原始 AI 生成圖,右側則是經過 FaceDetailer 修復後的版本,可以看到臉部細節變得更清晰,眼神更自然,五官的銳利度也有所提升,使最終效果更加細膩且富有層次感。除了臉部修復,還能替換表情喔!請參考下一篇文章!
工作流:comfyui_with_facedetailer.json
{"last_node_id":35,"last_link_id":55,"nodes":[{"id":5,"type":"EmptyLatentImage","pos":[473,609],"size":[315,106],"flags":{},"order":0,"mode":0,"inputs":[],"outputs":[{"name":"LATENT","type":"LATENT","links":[2],"slot_index":0}],"properties":{"Node name for S&R":"EmptyLatentImage"},"widgets_values":[1024,768,1]},{"id":8,"type":"VAEDecode","pos":[1209,188],"size":[210,46],"flags":{},"order":6,"mode":0,"inputs":[{"name":"samples","type":"LATENT","link":7},{"name":"vae","type":"VAE","link":13}],"outputs":[{"name":"IMAGE","type":"IMAGE","links":[52],"slot_index":0}],"properties":{"Node name for S&R":"VAEDecode"},"widgets_values":[]},{"id":9,"type":"SaveImage","pos":[1812.882568359375,283.0632019042969],"size":[396.3399963378906,462.7287902832031],"flags":{},"order":8,"mode":0,"inputs":[{"name":"images","type":"IMAGE","link":53}],"outputs":[],"properties":{},"widgets_values":["ComfyUI"]},{"id":14,"type":"FaceDetailer","pos":[1243.4012451171875,301.18048095703125],"size":[519,948],"flags":{},"order":7,"mode":0,"inputs":[{"name":"image","type":"IMAGE","link":52},{"name":"model","type":"MODEL","link":27},{"name":"clip","type":"CLIP","link":28},{"name":"vae","type":"VAE","link":29},{"name":"positive","type":"CONDITIONING","link":30},{"name":"negative","type":"CONDITIONING","link":31},{"name":"bbox_detector","type":"BBOX_DETECTOR","link":55},{"name":"sam_model_opt","type":"SAM_MODEL","shape":7,"link":null},{"name":"segm_detector_opt","type":"SEGM_DETECTOR","shape":7,"link":null},{"name":"detailer_hook","type":"DETAILER_HOOK","shape":7,"link":null},{"name":"scheduler_func_opt","type":"SCHEDULER_FUNC","shape":7,"link":null}],"outputs":[{"name":"image","type":"IMAGE","links":[53],"slot_index":0},{"name":"cropped_refined","type":"IMAGE","shape":6,"links":null},{"name":"cropped_enhanced_alpha","type":"IMAGE","shape":6,"links":null},{"name":"mask","type":"MASK","links":null,"slot_index":3},{"name":"detailer_pipe","type":"DETAILER_PIPE","links":[],"slot_index":4},{"name":"cnet_images","type":"IMAGE","shape":6,"links":[],"slot_index":5}],"properties":{"Node name for S&R":"FaceDetailer"},"widgets_values":[512,true,1024,1087930669745907,"randomize",20,8,"euler","normal",0.5,5,true,true,0.5,10,3,"center-1",0,0.93,0,0.7,"False",10,"",1,false,20,false,false]},{"id":34,"type":"UltralyticsDetectorProvider","pos":[853.4158935546875,618.9700927734375],"size":[340.20001220703125,78],"flags":{},"order":1,"mode":0,"inputs":[],"outputs":[{"name":"BBOX_DETECTOR","type":"BBOX_DETECTOR","links":[55]},{"name":"SEGM_DETECTOR","type":"SEGM_DETECTOR","links":null}],"properties":{"Node name for S&R":"UltralyticsDetectorProvider"},"widgets_values":["bbox/face_yolov8n_v2.pt"]},{"id":7,"type":"CLIPTextEncode","pos":[413,389],"size":[425.27801513671875,180.6060791015625],"flags":{},"order":4,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":12}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[6,31],"slot_index":0}],"properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":[""]},{"id":6,"type":"CLIPTextEncode","pos":[415,186],"size":[422.84503173828125,164.31304931640625],"flags":{},"order":3,"mode":0,"inputs":[{"name":"clip","type":"CLIP","link":11}],"outputs":[{"name":"CONDITIONING","type":"CONDITIONING","links":[4,30],"slot_index":0}],"properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":[""]},{"id":3,"type":"KSampler","pos":[863,186],"size":[315,262],"flags":{},"order":5,"mode":0,"inputs":[{"name":"model","type":"MODEL","link":10},{"name":"positive","type":"CONDITIONING","link":4},{"name":"negative","type":"CONDITIONING","link":6},{"name":"latent_image","type":"LATENT","link":2}],"outputs":[{"name":"LATENT","type":"LATENT","links":[7],"slot_index":0}],"properties":{"Node name for S&R":"KSampler"},"widgets_values":[491756802252033,"randomize",30,7,"dpmpp_2m","karras",1]},{"id":10,"type":"CheckpointLoaderSimple","pos":[-29.20001220703125,455.5999755859375],"size":[315,98],"flags":{"collapsed":false},"order":2,"mode":0,"inputs":[],"outputs":[{"name":"MODEL","type":"MODEL","links":[10,27]},{"name":"CLIP","type":"CLIP","links":[11,12,28],"slot_index":1},{"name":"VAE","type":"VAE","links":[13,29],"slot_index":2}],"properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["NONE"]}],"links":[[2,5,0,3,3,"LATENT"],[4,6,0,3,1,"CONDITIONING"],[6,7,0,3,2,"CONDITIONING"],[7,3,0,8,0,"LATENT"],[10,10,0,3,0,"MODEL"],[11,10,1,6,0,"CLIP"],[12,10,1,7,0,"CLIP"],[13,10,2,8,1,"VAE"],[27,10,0,14,1,"MODEL"],[28,10,1,14,2,"CLIP"],[29,10,2,14,3,"VAE"],[30,6,0,14,4,"CONDITIONING"],[31,7,0,14,5,"CONDITIONING"],[52,8,0,14,0,"IMAGE"],[53,14,0,9,0,"IMAGE"],[55,34,0,14,6,"BBOX_DETECTOR"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.8264462809917372,"offset":[227.42433645877,-148.35008697584826]},"node_versions":{"comfy-core":"0.3.18","comfyui-impact-pack":"8.8.1","comfyui-impact-subpack":"1.2.9"}},"version":0.4}
留言區 / Comments
萌芽論壇