Tailgating
Analyses line crossings to detect tailgating events.
Overview
The Tailgating node analyses line crossings from a prior Line crossing node to detect tailgating events.
Inputs & Outputs
- Inputs: 1, Media Format: Raw Video
- Outputs: 1, Media Format: Raw Video
- Output Metadata: Tailgating Metadata
Pipeline usage
Place a detector, Track Objects, and Annotate Line Counter before this node. Set line_id to the upstream line label, optionally followed by :dir1 or :dir2 to monitor one direction; using only the line label monitors both directions. The interval rule flags objects that cross too close together. The correlating-trigger rule instead consumes an upstream event such as a badge swipe and permits crossing_allowance crossings during its buffer. Violating objects receive a tailgating attribute, so downstream filters and events can match that class.
Properties
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
object_types | ex. car,person,face.mask. Comma-separated list of object types to consider. Empty list processes all objects. | model-labels | person | No |
line_id | ex. front_entrance or front_entrance:dir1 or front_entrance+vestibule. Line ID from a preeceding Line or MultiLine node to monitor for tailgating. | string | null | Yes |
tailgating_rule | Tailgating rule. Options: Interval (interval): Require a minimum interval between objects crossing the line; Correlating Trigger (trigger): Require an external trigger (such as badge swipe) before each object that crosses the line. | enum | interval | Yes |
tailgating_interval | Minimum time between objects crossing the specified line to be considered valid. A tailgating event will be triggered for objects that cross within a smaller interval. Conditional on tailgating_rule being interval. Unit: seconds. | number | 5 | Yes |
correlating_trigger | If specified, each object that crosses must be preceeded by a trigger event that satisfies this condition. If not, a tailgating event will be triggered. Conditional on tailgating_rule being trigger. | trigger-condition | null | Yes |
correlating_trigger_buffer | Each correlating trigger will be matched with an object crossing within this interval. After the interval elapses, the trigger will be discarded. Conditional on tailgating_rule being trigger. Unit: seconds. | number | 5 | Yes |
crossing_allowance | Number of objects allowed to cross per interval or trigger. Unit: objects. | number | 1 | Yes |
display | Display. Options: None (none); Basic (basic): Highlight violating objects; Full (full): Display stats, highlight violating objects. | enum | basic | No |
Output Metadata
The fields below are declared by this node's metadata schema; the JSON values are representative examples.
| Path | Type | Description |
|---|---|---|
nodes.<node_id>.tailgating_delta | integer | When one or more instances of tailgating are detected |
nodes.<node_id>.lines.<line_id>.tailgating_delta | integer | When one or more instances of tailgating are detected on a specific line |
nodes.<node_id>.lines.<line_id>.tailgating_objects | array | Array of tracking IDs of objects involved in a tailgating event. |
nodes.<node_id>.events | array | Array of event names generated by this node for the current frame. |
nodes.<node_id>.type | string | Identifies the node type that produced this metadata. |
JSON example
{
"nodes": {
"tailgating1": {
"events": [],
"lines": {
"line1": {
"tailgating_delta": 0,
"tailgating_objects": []
}
},
"tailgating_delta": 0,
"type": "tailgating"
}
}
}Object labels and attributes
- Object labels/classes added: None.
- Object attribute labels/classes added:
tailgating, with class17001.
Updated 20 days ago
