ComfyUI 中的 FaceDetailer (Impact Pack) 節點
FaceDetailer 用 YOLO 偵測器找到臉部(或手、眼睛),把每個部位裁切出來,用你的模型和提示詞全解析度重新渲染,然後貼回去,修正廣角鏡頭裡模糊的小臉。
FaceDetailer (Impact Pack) 的作用
FaceDetailer 是 Dr. Lt. Data 的 ComfyUI-Impact-Pack 裡的工具,能自動化手動「用更高解析度修補臉部」的流程。它用 Ultralytics 偵測器(face_yolov8m.pt、hand_yolov8s.pt)找到區域,SAM 可選地優化遮罩,每個區域用 guide_size 裁切、放大,然後用 denoise 0.4-0.5 取樣,最後用羽化合成回去。這個節點把整個流程打包:偵測器、取樣設定和合成都在同一個地方。
它用的模型、clip、vae 和 conditioning 跟你主取樣器一樣,還要一個來自 UltralyticsDetectorProvider 的 BBOX_DETECTOR,還可以選擇 SAM_MODEL。輸出有修正過的圖片、裁切優化的預覽和遮罩,方便你檢查偵測結果。要多次處理(先臉再手)就串接兩個 FaceDetailer 節點。
輸入
名稱 | 類型 | 含義 |
|---|---|---|
image | IMAGE | 渲染出來的圖片。 |
model / clip / vae / positive / negative | MODEL, CLIP, VAE, CONDITIONING | 跟主取樣器用的一樣。 |
bbox_detector | BBOX_DETECTOR | 來自 UltralyticsDetectorProvider,使用 face_yolov8m.pt 或類似的模型。 |
sam_model_opt | SAM_MODEL | 可選的 SAM,用來做更精準的遮罩。 |
guide_size / max_size | INT | 裁切後會放大到 guide_size(SD1.5 用 384-512,SDXL 用 1024),最大不超過 max_size。 |
seed / steps / cfg / sampler / scheduler / denoise | sampler settings | denoise 通常設 0.35-0.5。 |
feather / noise_mask / force_inpaint | INT / BOOLEAN | 邊緣羽化和修補行為設定。 |
bbox_threshold / bbox_dilation / bbox_crop_factor | FLOAT / INT | 偵測信心值、遮罩擴張和臉部周圍的範圍(建議 crop_factor 3)。 |
輸出
名稱 | 類型 | 含義 |
|---|---|---|
image | IMAGE | 修正過臉部的圖片。 |
cropped_refined | IMAGE | 每個優化過的裁切圖,方便檢查。 |
cropped_enhanced_alpha | IMAGE | 帶透明通道的裁切圖。 |
mask | MASK | 合併後的偵測遮罩。 |
detailer_pipe | DETAILER_PIPE | 打包好的設定,用來串接多個 detailer。 |
如何使用 FaceDetailer (Impact Pack)
- 從 ComfyUI Manager 安裝 ComfyUI-Impact-Pack(還有 Ultralytics provider 用的 Impact Subpack)。
- 加入 UltralyticsDetectorProvider,選擇 face_yolov8m.pt(會下載到 models/ultralytics/bbox)。
- 加入 FaceDetailer;連接 VAE Decode 的 image,主圖的 model/clip/vae/positive/negative,provider 的 bbox_detector。
- 設定 guide_size 512(SD1.5)或 1024(SDXL),denoise 0.45,crop_factor 3,feather 5。
- 把 image 輸出接到 Save Image;用 Preview Image 看 cropped_refined。
設定與技巧
- 主提示詞是場景時,透過另一個 CLIP Text Encode 用專注臉部的提示詞(「detailed face, sharp eyes」)效果更好。
- 如果有很多小臉,調高 bbox_threshold 可以跳過背景人群,漏臉時則調低。
- 手部用 hand_yolov8s.pt,denoise 0.5,加上「perfect hands」提示詞;效果會有差異。
- 串接 FaceDetailer -> FaceDetailer,利用 detailer_pipe 輸出,先處理臉再處理眼睛。
- 臉部處理時用角色的 LoRA,可以保持身份一致。
FaceDetailer (Impact Pack) 疑難排解
沒偵測到臉,圖片直接通過沒改變
原因
bbox_threshold 設太高、臉太小,或偵測器模型沒下載成功。
修復方法
把 bbox_threshold 降到 0.3,確認 models/ultralytics/bbox 裡有 face_yolov8m.pt,並在 detailer 前先放大圖片。
新臉和身體不搭(顏色或風格不符)
原因
denoise 設太高,或臉部處理時用不同的提示詞或 LoRA。
修復方法
denoise 設 0.3-0.45,crop_factor 3 保留上下文,模型和 LoRA 跟主流程一樣。
臉部周圍出現明顯方框
原因
feather 設太低,或 noise_mask 關掉但用硬遮罩。
修復方法
feather 設 10-20,開啟 noise_mask,bbox_dilation 設 10。
ModuleNotFoundError: 找不到 ultralytics / Impact Subpack
原因
UltralyticsDetectorProvider 在 Impact Subpack 裡,新版本要另外安裝。
修復方法
從 Manager 裝 ComfyUI-Impact-Subpack,然後重啟。
臉部多了第二雙眼睛或變成不同的人
原因
denoise 超過 0.6,會從提示詞重畫臉部而不是修正。
修復方法
降低 denoise;用 FaceID IP-Adapter 或角色 LoRA 維持身份。
關於 FaceDetailer (Impact Pack) 的問題
FaceDetailer 跟 ADetailer 一樣嗎?
它是 ComfyUI 版本的 A1111 ADetailer 擴充,使用同樣的偵測模型。
它能跟 Flux 一起用嗎?
可以,正向用 cfg 1.0 和 Flux Guidance。guide_size 設 1024。
它能修手嗎?
能用手部偵測器優化手部,效果看模型。ControlNet Aux 裡的 MeshGraphormer 手部優化器是另一個選擇。
相關節點
KSampler
ComfyUI core
KSampler 執行去噪循環:它接收模型、提示詞和潛在向量,並產生完成的潛在圖像,透過種子、步數、cfg、採樣器、排程器和去噪程度來控制。
Upscale Image (using Model)
ComfyUI core
Upscale Image (using Model) 使用 ESRGAN 風格的放大器(4x-UltraSharp、RealESRGAN、4x_NMKD-Siax、4x_foolhardy_Remacri)對 IMAGE 進行放大,並以模型固定的倍數放大且增加細節。
IPAdapter (IP-Adapter Plus)
ComfyUI_IPAdapter_plus
IPAdapter 節點會把參考圖片當作「影像提示」餵給模型,能傳遞風格、構圖或臉部特徵,不用用文字描述;IPAdapter Unified Loader 搭配 IPAdapter Advanced 是常見組合。
Grow Mask, Feather Mask and Invert Mask
ComfyUI core
這些核心遮罩工具能擴展(擴展遮罩)、柔化(羽化遮罩)和反轉(反轉遮罩)遮罩,讓修補區域能自然融合周圍畫面,不會有明顯接縫。
ReActor Fast Face Swap
ComfyUI-ReActor
ReActor 使用 InsightFace 將來源照片的臉部換到生成的圖片上,並可選擇進行修復(GFPGAN、CodeFormer)和臉部強化,讓角色保持一致,無需訓練 LoRA。
更多 ComfyUI 節點
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode 會用模型的文字編碼器把文字提示轉成 CONDITIONING。有兩個節點,一個放正面提示,另一個放負面提示。
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager 是一個擴充功能,可以在介面內安裝、更新和修復自訂節點包和模型,解決匯入工作流程中缺少的節點問題,並且備份你的設定。
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) 會打開 .safetensors 或 .ckpt 模型檔案,並提供每個工作流程都需要的三個部分:diffusion MODEL、CLIP 文字編碼器和 VAE。
Save Image
ComfyUI core
Save Image 會把 IMAGE 張量存成 PNG 檔到 ComfyUI/output,並且把整個工作流程嵌入檔案的元資料裡,這樣圖片就能直接拖回 ComfyUI,還原整個圖形。
VAE Decode
ComfyUI core
VAE Decode 用 VAE 把取樣後的 LATENT 轉成像素 IMAGE;VAE Decode (Tiled) 則是用分塊方式處理超大張圖片。
Empty Latent Image
ComfyUI core
Empty Latent Image 會建立空白的潛在畫布(寬度、高度、批次大小),這是文字轉圖片取樣的起點;尺寸必須是 8 的倍數,且要符合模型家族。
