ComfyUI Extension: ComfyUI Fast Mosaic Detector

Authored by yano

Created

Updated

2 stars

High-speed and high-accuracy mosaic detection node for ComfyUI. Supports FAST, ACCURATE, and HYBRID modes with ROI refinement.

Custom Nodes (0)

    README

    ComfyUI Fast Mosaic Detector

    šŸ“˜ English | šŸ“— ę—„ęœ¬čŖž

    High-precision & high-speed mosaic detection node for ComfyUI, featuring three modes (FAST / ACCURATE / HYBRID) and adaptive ROI refinement.
    The HYBRID mode delivers near-ACCURATE precision at a fraction of the cost (7Ɨ faster).


    šŸ” Overview

    This node detects mosaic (pixel-block censorship / block-pattern noise) from images or video frames.
    It outputs:

    • A binary mask (0 or 255)
    • Estimated mosaic block size

    The detector combines:

    • B-mode (FAST) — lightweight, CUDA batch-optimized
    • D-mode (ACCURATE) — full histogram + gradient + grid-structure analysis
    • HYBRID mode — FAST → ROI extraction → ACCURATE refinement

    HYBRID mode typically achieves:

    āœ… ~85–95% of ACCURATE precision
    āœ… ~7Ɨ faster than ACCURATE
    āœ… Robust for video sequences


    Workflow Screenshot

    Workflow Screenshot

    Input Video

    https://github.com/user-attachments/assets/17b95590-77cc-435e-8df1-6cf04604c46b

    example_input.mp4

    Output Video (Image&Mask Blend)

    https://github.com/user-attachments/assets/28731ee8-8a11-4971-af86-5be63b44a870

    example_output.mp4


    Example Workflow

    You can find the example workflow here:

    šŸ’¾ FastMosaicDetectorExample.json


    āœ… Features

    FAST Mode

    • ~4 sec for 840[frames]x640x480[pixels] @RTX3090 (210fps)
    • May over-detect
    • Best for quick estimation

    ACCURATE Mode

    • ~420 sec for 840[frames]x640x480[pixels] @RTX3090 (0.5fps)
    • Best precision
    • Full-frame exhaustive scan

    HYBRID Mode (Recommended)

    • ~40–60 sec for 840[frames]x640x480[pixels] @RTX3090 (14-21fps)
    • Near-accurate quality
    • Smart ROI refinement
    • Recommended for most use cases

    āœ… Inputs & Parameters

    Below is the detailed explanation for every parameter in the node.


    šŸ–¼ Image

    image: IMAGE

    Accepts single images or multi-frame batches.


    šŸŽ› ACCURATE Mode (D-mode) Parameters

    āœ… Skin Mask (HSV-based)

    | Parameter | Description | |----------|-------------| | hsv_skin_h_low | Minimum hue for skin detection | | hsv_skin_h_high | Maximum hue | | hsv_skin_s_threshold | Minimum saturation |

    Helps detect mosaics primarily appearing on skin regions.


    āœ… Gradient Detection

    | Parameter | Description | |----------|-------------| | gradient_threshold | Threshold for edge gradient magnitude | | ratio_threshold | Gradient ratio threshold (block pattern strength) | | gradient_band_height | Height of sampling windows | | gradient_band_half_width | Half-width of sampling windows |

    Controls how the algorithm identifies block-like structure.


    āœ… Histogram / Grid Structure

    | Parameter | Description | |----------|-------------| | histogram_threshold | Required peak ratio of histogram bin | | mosaic_length_min | Minimum block size | | mosaic_length_max | Maximum block size | | intersection_margin | Allowed misalignment |


    šŸš€ Execution Mode

    mode: FAST | ACCURATE | HYBRID

    • FAST → Quick, lower precision
    • ACCURATE → Highest precision
    • HYBRID → Recommended balance

    āš™ Backend Selection

    processing_backend: AUTO | CPU | TORCH

    • AUTO → intelligently selects optimal mode
    • CPU → forces CPU
    • TORCH → forces PyTorch/CUDA

    šŸ”§ System Parameters

    max_workers

    CPU thread count for accurate mode.

    Suggested: equal to physical CPU cores.


    🟦 HYBRID Mode Parameters

    fast_recall_boost

    Boost recall of FAST detector (0.1–2.0).
    Higher → more ROIs but may include noise.

    roi_margin_px

    Expand ROIs (recommended: 24px)

    refine_logic

    | Option | Meaning | |--------|---------| | replace | Replace FAST masks with refined results | | union | Merge masks | | intersect | Keep only overlapping |

    Default: replace

    ROI-related parameters

    | Parameter | Description | |----------|-------------| | refine_frame_stride | Interval of refinement | | roi_merge_dilate_px | Unifies ROIs | | roi_max_count | ROI count limit | | min_mask_pixels | Minimum mask size | | frame_cover_threshold | Frame considered over-detected if exceeding ratio |


    🟩 Adaptive ROI Downscaling

    Automatically downscale large ROIs to accelerate refinement.

    | Parameter | Description | |----------|-------------| | adaptive_roi_area_ratio | Shrink ROI when > this % of frame | | adaptive_roi_min_side | Small ROIs never downscale | | roi_downscale_large | Downscale rate (0.4–1.0) |


    🟨 Aspect Ratio Filters

    | Parameter | Description | |----------|-------------------------------------------------------| | roi_aspect_ratio_max | Ignore overly elongated ROIs (recommended range: 3-5) | | roi_min_short_side | Ignore too-small ROIs |

    Useful for rejecting window frames, bars, non-mosaic patterns.


    manifest.json

    āœ… Output

    • mask — 0/255 binary mosaic mask
    • size — detected mosaic block size

    Fully batch-compatible with ComfyUI's image sequences.


    āœ… Recommended Presets

    Best Practical

    mode = HYBRID
    roi_downscale_large = 0.75
    roi_aspect_ratio_max = 3.0
    fast_recall_boost = 0.9

    Highest Precision

    mode = ACCURATE

    Fast Preview

    mode = FAST


    āœ… Notes

    • Smaller mosaics require roi_downscale_large = 1.0

    • For anime/non-skin content → expand HSV ranges

    • If HYBRID misses regions → increase fast_recall_boost

    • This node is fully compatible with ComfyUI-VideoHelperSuite for loading video frames and saving processed video outputs. If you plan to use this node with video workflows, installing VideoHelperSuite is strongly recommended.


    āœ… License

    MIT

    āœ… Author

    Takahiro Yano
    ComfyUI Fast Mosaic Detector