description
Pedestrian-routing safety rule: fire when a person WALKS through a designated no-walk zone (forklift aisles, racking lanes). When a person enters a no_walking_zone polygon a 7-second monitoring window opens; the rule fires at window close only if the person actually travelled (max displacement >= distance_multiplier x their average bbox height) AND none of three worker exclusions applies over the window: overlapping/near an MHE >= 30% of frames (operating a vehicle), overlapping/near product >= 30% (handling goods), or classified as cleaner >= 30% (SGIE cleaner_scores). Leaving the zone resets the window. Per-track, fire-once.
use cases
- pedestrian-exclusion aisles in warehouses (people must not walk through MHE lanes)
- enforcing marked walkways by flagging shortcut-takers
- reducing false alarms for legitimate workers (MHE operators, product handlers, cleaners)
limitations
- needs the MHE + product classes visible to compute the exclusions, not just person boxes
- cleaner exclusion needs an SGIE emitting cleaner_scores (skipped gracefully when absent)
- a person standing still inside the zone does not fire (walking is the violation)
- product exclusion is ACTIVE by default (legacy prod never tracked product_package, so it was dormant there); in product-dense aisles it can suppress the rule — drop the class from target_class for legacy parity
config parameters
general
| Parameter | Type | Default | Notes |
|---|---|---|---|
| monitoring_duration_seconds * | number | 7 | (min 1) |
| distance_multiplier | number | 0.667 | x avg person height → travel threshold (min 0) |
zone
| Parameter | Type | Default | Notes |
|---|---|---|---|
| no_walking_zones * | array of array of pair of number | [] |
advanced
| Parameter | Type | Default | Notes |
|---|---|---|---|
| confidence_threshold | number | 0.7 | (min 0, max 1) |
| proximity_multiplier | number | 1.5 | (min 0) |
| mhe_iou_threshold | number | 0.1 | (min 0, max 1) |
| mhe_intersect_percentage_threshold | number | 0.3 | (max 1) |
| product_iou_threshold | number | 0.1 | (min 0, max 1) |
| product_intersect_percentage_threshold | number | 0.3 | (max 1) |
| cleaner_frame_threshold | number | 0.3 | (min 0, max 1) |
| cleaner_percentage_threshold | number | 0.3 | (min 0, max 1) |
| confidence_score_alpha | number | 0.333 | |
| confidence_score_beta | number | 0.333 | |
| confidence_score_gamma | number | 0.333 | |
| pre_event_seconds | number | 3 | (min 0) |
| hand_pallet_jack_margin | number | 0.4 | (min 0) |
golden replay cases
| Case | Frames | Expected events |
|---|---|---|
| zone-walkthrough | 6 | 1 |