UltralyticsDetector (Pipe)
Load a YOLO detector for face/hand detailing
- bbox_segm_pipe
Small faces come out mangled. A face that's 80×80 pixels in a 1024px render gets 80×80 pixels' worth of the model's attention and looks melted, no matter how good your checkpoint is. The fix is always the same: detect the face, crop it, resample it at full resolution, paste it back. This node is step one of that loop - it loads a YOLO detector and packages it as a bbox_segm_pipe that a detailer node then uses to find the regions.
It's in ComfyUI-Easy-Use's Fix category, and it's the pack's tidy wrapper around the Impact Pack detailer ecosystem. Same detect-crop-refine idea as ADetailer in A1111, just as ComfyUI nodes.
Why you'd reach for it
Because automatic face/hand/eye detailing is one of the highest-value passes in image generation, and this is how you set up the detector for it inside an Easy-Use graph. You pick a YOLO model (a face detector, a hand detector, a person segmenter), tune how tightly it crops, and hand the result to a detailer that does the actual refinement. If you've ever generated a nice portrait with a slightly-off face and thought "I wish it'd just fix that automatically," this is the front of that pipeline.
How it works
It loads an Ultralytics YOLO detection model and wraps it - together with the bounding-box settings below - into a single bbox_segm_pipe. That pipe carries the detector plus its crop/threshold config to a detailer node (Easy-Use's easy detailerFix, or Impact Pack's FaceDetailer), which runs the detector over your image, masks each hit, and resamples it. This node is purely the loader and config end; it doesn't detail anything on its own.
The inputs and output
model_name- the YOLO detector to load (e.g.face_yolov8m,hand_yolov8s). This dropdown is populated from your installed detector models.bbox_threshold- detection confidence, default 0.5. Lower it to catch more (and risk false positives), raise it to be stricter.bbox_dilation- grows/shrinks each detected box, default 10. Positive expands the crop so you catch the whole face including the jaw and hairline.bbox_crop_factor- default 3, how much context around the box to include when cropping. Bigger context helps the detail pass blend.
Output: bbox_segm_pipe into your detailer.
Installing it
Install Easy-Use (ComfyUI Manager → ComfyUI Easy Use, or clone + install requirements). Then, because this drives Impact Pack's detection stack, you need:
- ComfyUI-Impact-Pack, and specifically the Impact Subpack - since Impact Pack v8.0 the
UltralyticsDetectorProviderwas moved out into the separately-installed Subpack, so the base pack alone won't give you YOLO detection. - A detector model: the standard face/hand YOLO weights (the Bingsu/adetailer models are the usual ones) go in
models/ultralytics/bbox/(and/segm/).
Where people trip
The recurring one: an empty model_name dropdown because the Impact Subpack isn't installed or no detector model is in the ultralytics folder. Install the Subpack, drop the YOLO files in, restart. A security note worth knowing since it made the rounds: back in December 2024 a compromised Ultralytics package shipped a cryptominer and reached ComfyUI users through this exact dependency chain - so install the detector stack from trusted sources and keep it current. Beyond that: if the detailer isn't catching a small face, lower bbox_threshold; if the fixed region blends badly, raise bbox_dilation and bbox_crop_factor so it has more context to work with.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | 0 options: | |
| bbox_threshold | FLOAT | 0.500–1 | — |
| bbox_dilation | INT | 10-512–512 | — |
| bbox_crop_factor | FLOAT | 3.01–10 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| bbox_segm_pipe | PIPE_LINE | — |