When to use
Use Type III for any use case where the core question is “did this object interact with that type of object?”:- Safety near-miss — person within dangerous proximity of a forklift
- Equipment interaction — two specific vehicle types overlapping
- Congestion interaction — tracks of the same type clustering together
- Escort compliance — vehicle must be accompanied by a person
How it works
- The node reads the track’s
interactionsarray (populated by the state machine in batch mode) - It matches the primary tag (current track’s object type) against configured groups
- For matching groups, it checks the secondary tag (interacting track’s object type)
- If both tags match, it evaluates threshold conditions (overlap, duration, distance)
- The check passes if at least one interaction meets all enabled thresholds
Tag matching
Type III uses a two-tag system:
A threshold group only applies when both the primary and secondary tags match.
Configuration
Interaction threshold groups
Each group defines a tag pair and optional thresholds:
Each threshold has an enable toggle, operator (
>=, >, <=, <, ==), and value.
If no thresholds are enabled, the check passes on tag match alone — any interaction between the configured tag types will pass.
Debug mode
Boolean toggle for verbose logging.Output
Key output fields
Track pair IDs
Type III generates canonical track pair IDs by alphabetically sorting the two track IDs. This ensures the same pair always produces the same ID regardless of which track is primary:Business use case examples
PPE compliance — person + PPE bounding box overlap
PPE compliance — person + PPE bounding box overlap
Detect whether workers are wearing high-visibility safety vests in designated PPE zones. The CV model detects both
person and ppe objects — if a person’s bounding box overlaps with a PPE detection, they’re wearing it.Mode: Batch — the trigger must include both
person and ppe object types so the state machine calculates interactions between them.The overlap threshold is intentionally low (1%) because any bounding box overlap between a person and a PPE detection indicates the person is wearing the equipment. When the check fails (no PPE overlap found), the workflow routes to a VLM fallback — a Vision Language Model analyzes the image for a second opinion before flagging a violation. This reduces false violations when the CV model misses a PPE detection.The trigger must include all relevant object types for interactions to be calculated. If you only include
person, the state machine won’t track ppe objects and no interactions will appear.Vehicle collision / near-miss — proximity between tracks
Vehicle collision / near-miss — proximity between tracks
Detect when vehicles come dangerously close to each other or to pedestrians. This uses the proximity thresholds rather than overlap.
Mode: Batch — the trigger includes all relevant object types.For near-miss detection, you typically care about proximity (how close they got) and duration (how long they were close). For actual collision detection, you’d enable overlap instead. The
matching_track_pair_ids output is critical for deduplication — since both tracks in a near-miss may trigger the workflow, the canonical pair ID ensures you only create one event per interaction.Adapting for other use cases
Adapting for other use cases
Type III threshold combinations serve different interaction scenarios:
Remember: if no thresholds are enabled, the check passes on tag match alone. Always enable at least one threshold to filter meaningful interactions.

