Nodes Browser
ComfyDeploy: How comfyui_facetools works in ComfyUI?
What is comfyui_facetools?
These custom nodes provide a rotation aware face extraction, paste back, and various face related masking options.
How to install it in ComfyDeploy?
Head over to the machine page
- Click on the "Create a new machine" button
- Select the
Edit
build steps - Add a new step -> Custom Node
- Search for
comfyui_facetools
and select it - Close the build step dialig and then click on the "Save" button to rebuild the machine
comfyui_facetools
These custom nodes provide a rotation aware face extraction, paste back, and various face related masking options.
Patch notes
- 2024-06-20 - fixed issue 13
- 2024-06-14 - Sent yolo to cuda device if available (credits: kilroythethird, thanks for the suggestion!)
- 2024-06-14 - Dropped the requirement from insightface completely.
- 2024-05-22 - Updated GenderFaceFilter node.
- 2024-05-19 - Added BiSeNetMask and JonathandinuMask nodes. Careful about JonathandinuMask, it's more accurate than BiSeNet, but it takes more memory; you can get out of memory more easily with it.
- 2024-03-10 - Added nodes to detect faces using
face_yolov8m
instead ofinsightface
.
Example Workflows
- Full inpainting workflow with two controlnets which allows to get as high as 1.0 denoise strength without messing things up.
Nodes
AlignFaces
- inputs:
- insightface: Use the
Load InsightFacenode
from ComfyUI_IPAdapter_plus - image
- threshold: minimal confidence score for detection
- min_size: minimum face size for detection
- max_size: maximum face size for detection
- insightface: Use the
- outputs:
- faces
- inputs:
FaceDetails
- inputs:
- faces
- crop_size: size of the square cropped face image
- crop_factor: enlarge the context around the face by this factor
- mask_type:
- simple_square: simple bounding box around the face
- convex_hull: convex hull based on the face mesh obtained with MediaPipe
- BiSeNet: occlusion aware face segmentation based on face-parsing.PyTorch
- outputs:
- crops: square cropped face images
- masks: masks for each cropped face
- warps: 2x3 warp matrix to paste the cropped face back into the original image
- inputs:
WarpFacesBack
- input:
- images: this is the original image
- face
- crop: cropped face images
- mask: masks for the cropped faces
- warp: 2x3 warp matrix
- input:
OrderedFaceFilter
- works similarly to
ImpactSEGSOrderedfilter
- works similarly to
GenderFaceFilter
- needs more work, as InsightFace gender classifier isn't very accurate.
MergeWarps
- I made some changes in
FaceDetailer
andWarpFacesBack
since I've created this one, so it probably doesn't work anymore. Needs more testing and more work.
- I made some changes in
Installation
- Download bluefoxcreation/FaceAlignment model into
ComfyUI/models/landmarks
- (Only if you want to use occlusion aware masks) Download BiSeNet model into
ComfyUI/models/bisenet
DEPRECATED:
- You need ComfyUI-Impact-Pack for
Load InsightFace
node and comfyui_controlnet_aux for MediaPipe library (which is required for convex_hull masks) andMediaPipe Face Mesh
node if you want to use that controlnet.