Overlap Analysis¶
Class: OverlapAnalysisBlockV1
Source: inference.core.workflows.core_steps.fusion.overlap_analysis.v1.OverlapAnalysisBlockV1
Compute pairwise geometric overlap between two sets of detections.
For each pair (reference, candidate) drawn from reference_predictions x
candidate_predictions, the block computes
intersection_area / reference_polygon.area and emits one record per
pair whose ratio reaches min_overlap.
When a detection carries a mask, the precise polygon is the longest
contour of that mask (validated via shapely); otherwise the bounding
box polygon is used. A vectorised bbox-IoU prefilter
(supervision.box_iou_batch) eliminates non-touching pairs before any
shapely intersection is computed.
The relation is intentionally not symmetric across the two inputs: the denominator is always the reference detection's area. Swap the two selectors if you want overlap reported relative to the other set.
The output is a flat list of dicts (one per accepted pair) attached to
the same dimensionality as the inputs — the block does not increase
dimensionality. See the detections_overlaps kind docs for the
per-record schema.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/overlap_analysis@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
min_overlap |
float |
Minimum (intersection / reference_area) ratio for a pair to be included in the output.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Overlap Analysis in version v1.
- inputs:
PP-OCR,EasyOCR,Object Detection Model,Segment Anything 2 Model,SAM 3,Per-Class Confidence Filter,Dynamic Zone,Motion Detection,Velocity,BoT-SORT Tracker,Detections Stitch,Detections List Roll-Up,OCR Model,Instance Segmentation Model,Mask Edge Snap,Instance Segmentation Model,Detections Filter,Detections Classes Replacement,Detections Merge,PTZ Tracking (ONVIF),VLM As Detector,Dynamic Crop,SAM 3 Interactive,Google Vision OCR,Seg Preview,SAM 3,VLM As Detector,Identify Outliers,Byte Tracker,Detection Offset,Line Counter,Time in Zone,Overlap Filter,Path Deviation,Instance Segmentation Model,Time in Zone,Byte Tracker,Detection Event Log,Template Matching,SORT Tracker,Perspective Correction,SAM2 Video Tracker,Byte Tracker,Detections Consensus,Detections Stabilizer,Path Deviation,ByteTrack Tracker,Detections Combine,Mask Area Measurement,Clip Comparison,SAM 3,Object Detection Model,Track Class Lock,Moondream2,Detections Transformation,Identify Changes,Bounding Rectangle,Object Detection Model,SAM3 Video Tracker,OC-SORT Tracker,YOLO-World Model,Time in Zone,Instance Segmentation Model - outputs: None
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Overlap Analysis in version v1 has.
Bindings
-
input
reference_predictions(Union[object_detection_prediction,instance_segmentation_prediction]): Detections whose area is the denominator of the overlap ratio. For each reference detection, overlap with every candidate is computed; pairs abovemin_overlapappear in the output..candidate_predictions(Union[object_detection_prediction,instance_segmentation_prediction]): Detections checked against each reference..min_overlap(float_zero_to_one): Minimum (intersection / reference_area) ratio for a pair to be included in the output..
-
output
overlaps(detections_overlaps): List of per-pair detection overlap records.
Example JSON definition of step Overlap Analysis in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/overlap_analysis@v1",
"reference_predictions": "$steps.model_a.predictions",
"candidate_predictions": "$steps.model_b.predictions",
"min_overlap": 0.1
}