ComfyUI nodes wrapping the deepface library.
Install dependencies:
pip install -r requirements.txt
TODO: document
Given a set of input images and a set of reference (face) images, only output the input images with an average distance to the faces in the reference images less than or equal to the specified threshold. Output images are sorted by average distance to the reference image faces (nearest first).
In addition to distance, outputs include the ratio of reference images that each input image was verified to be a face match of, according to the default distance threshold of the model selected. This measure complements the average distance measure, as there may be one image that is very close (small distance), despite the input image not being a great match against all reference images.
Both inputs accept image batches.
- Outputs:
verified_images
images that contain faces below the distance threshold and above the ratio threshold, sorted from smallest distance to largestverified_image_distances
numbers of the average distance from the input image face to each reference image faceverified_image_verified_ratios
the ratio of reference images that deepface marks as "verified" to the total number of reference imagesrejected_images
images that contain faces above (or equal to) the distance threshold or below the ratio threshold, sorted from smallest distance to largestrejected_image_distances
numbers of the average distance from the input image face to each reference image facerejected_image_verified_ratios
the ratio of reference images that deepface marks as "verified" to the total number of reference images
Note that any individual output may be None
if there are no input images matching the criteria.
Nodes from was-node-suite-comfyui and pythongosssss can be used to display the output distances:
ComfyUI's built-in PreviewImage and SaveImage nodes do not handle empty/None inputs, ComfyUI-Impact-Pack provides nodes that can be used to handle empty/None outputs in conjunction with PreviewImage/SaveImage:
Inspired by CeFurkan's use of deepface to evaluate finetuning outputs. 🙌