FUSE YOLO Optionals
Where you tell the face detector who's worth fixing
- yolo_optionals
Every FUSE sampler leans on a YOLO model to find the thing it's about to fix - a face, or whatever object you point the generic node at. FUSE YOLO Optionals is the settings brick for that detection step. It's a pure config node: you set the knobs, it outputs a yolo_optionals DICT, and you feed that into the yolo_optionals input on FUSE KSampler, the video sampler, or the generic one.
You'll mostly want this for two situations: the detector is finding too much or too little, or you're using the generic node and need to pick which class of object counts as a target. Defaults are fine otherwise.
Detection settings
- confidence (0.0–1.0, default 0.25) - the threshold for a detection to count. This is the first knob to turn when the sampler is "fixing" things it shouldn't. Background clutter getting picked up as faces? Nudge to 0.3–0.4. Genuine faces being skipped? Drop it.
- iou_threshold (default 0.5) - NMS overlap threshold. Lower values delete more overlapping detections. If you get multiple boxes stacked on the same face, lower it; if faces are being merged into one box, raise it.
- max_detections (default 300) - cap on boxes kept after NMS. You will not hit this on a portrait; it exists so a pathological scene doesn't run the sampler 300 times.
- class_filter - comma or newline separated class names. Leave empty for all classes. This is the one that matters on the generic sampler: point it at
hand(or whatever your YOLO model's classes are) and the node only crops those. - agnostic_nms - class-agnostic NMS, which merges boxes across classes. Useful on the generic node when different classes overlap and you want one region, not two.
- half_precision - FP16 inference. Faster on compatible GPUs, a hair less accurate. Off by default, which is right; the detection is already the cheap part.
- augment - test-time augmentation for better accuracy at a real speed cost. Leave off unless your detections are flaky and you're not in a hurry.
Tracking settings (video only)
These do nothing on the still-image samplers; they only kick in on FUSE KSampler (Video), where faces have to stay the same face across frames.
- tracking_iou_threshold (default 0.3) - how much a box has to overlap with last frame's box to count as the same person. Too low and identities get merged; too high and a face that moves fast starts flickering between IDs.
- tracking_smooth_boxes (default on) - temporal smoothing of bounding boxes so crops don't jitter frame to frame. Leave it on; that jitter is exactly the thing that makes per-frame face fixes look like video noise.
- tracking_smooth_window (default 3, odd, 1–11) - how many frames the smoothing window spans. Bigger = steadier but laggier crops on fast motion.
Output
One yolo_optionals DICT, into the yolo_optionals input on any FUSE sampler. Skip the node entirely and the samplers use their built-in 0.25/0.5 defaults - which is honestly fine until something misbehaves.
It ships inside the FUSE Face Enhancer pack (WASasquatch), so it arrives with FUSE KSampler; install the pack via ComfyUI Manager or clone + pip install -r requirements.txt, and remember the pack needs YOLO models sitting in ComfyUI/models/yolo-face/ (and models/yolo/ for the generic node) or every dropdown in this family stays empty.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| confidenceopt | FLOAT | 0.250–1 | YOLO confidence threshold (0-1). Higher values detect only more confident objects. |
| iou_thresholdopt | FLOAT | 0.500–1 | YOLO NMS IoU threshold (0-1). Lower values remove more overlapping detections. |
| max_detectionsopt | INT | 3001–1000 | Maximum number of detections to keep after NMS. |
| class_filteropt | STRING | Optional: Comma or newline separated class names to filter detections. Leave empty to use all classes. | |
| agnostic_nmsopt | BOOLEAN | false | Class-agnostic NMS (merge boxes from different classes). |
| half_precisionopt | BOOLEAN | false | Use half precision (FP16) for faster inference on compatible GPUs. |
| augmentopt | BOOLEAN | false | Test Time Augmentation (TTA) for improved accuracy at cost of speed. |
| tracking_iou_thresholdopt | FLOAT | 0.300–1 | IoU threshold for face tracking across frames (video only). |
| tracking_smooth_boxesopt | BOOLEAN | true | Apply temporal smoothing to face bounding boxes (video only). |
| tracking_smooth_windowopt | INT | 31–11 | Temporal smoothing window size, must be odd (video only). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| yolo_optionals | DICT | — |