Type | Other |
Stats | 154 0 |
Reviews | (17) |
Published | Mar 1, 2024 |
Base Model | |
Hash | AutoV2 847E854ABF |
Please install it directly from the github repo here: dchatel/comfyui_facetools, the zip file attached to this post just contains the adress of the repo.
comfyui_facetools
These custom nodes provide a rotation aware face extraction, paste back, and various face related masking options.
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_plusimage
threshold: minimal confidence score for detection
min_size: minimum face size for detection
max_size: maximum face size for detection
outputs:
faces
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
WarpFacesBack
input:
images: this is the original image
face
crop: cropped face images
mask: masks for the cropped faces
warp: 2x3 warp matrix
OrderedFaceFilter
works similarly to
ImpactSEGSOrderedfilter
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.
Installation
You will need ComfyUI-Impact-Pack for Load InsightFace
node and comfyui_controlnet_aux for MediaPipe library (which is required for convex_hull masks) and MediaPipe Face Mesh
node if you want to use that controlnet. You will also need to download the BiSeNet model and save it in ComfyUI/models/bisenet
to use occlusion aware masks.