ComfyUI Extension: comfyui_facetools

Authored by dchatel

Created

Updated

182 stars

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

These custom nodes provide a rotation aware face extraction, paste back, and various face related masking options.

README

comfyui_facetools

These custom nodes provide a rotation aware face extraction, paste back, and various face related masking options.

Comparison

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 of insightface.

Example Workflows

  • Full inpainting workflow with two controlnets which allows to get as high as 1.0 denoise strength without messing things up. Full Inpainting

JSON workflow

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
    • 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 and WarpFacesBack since I've created this one, so it probably doesn't work anymore. Needs more testing and more work.

Installation

DEPRECATED:
  • You 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.

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

Learn more