Model
.ai
追蹤開放 AI 模型

ComfyUI 中的 FaceDetailer (Impact Pack) 節點

FaceDetailer 用 YOLO 偵測器找到臉部(或手、眼睛),把每個部位裁切出來,用你的模型和提示詞全解析度重新渲染,然後貼回去,修正廣角鏡頭裡模糊的小臉。
節點包:ComfyUI-Impact-Pack
分類:熱門自訂節點包
Author: Dr.Lt.Data

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)

  1. 從 ComfyUI Manager 安裝 ComfyUI-Impact-Pack(還有 Ultralytics provider 用的 Impact Subpack)。
  2. 加入 UltralyticsDetectorProvider,選擇 face_yolov8m.pt(會下載到 models/ultralytics/bbox)。
  3. 加入 FaceDetailer;連接 VAE Decode 的 image,主圖的 model/clip/vae/positive/negative,provider 的 bbox_detector。
  4. 設定 guide_size 512(SD1.5)或 1024(SDXL),denoise 0.45,crop_factor 3,feather 5。
  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 手部優化器是另一個選擇。

更多 ComfyUI 節點