Object Flow Counter
Provides a breakdown of object types that cross a line or a sequence of lines from the Line Crossing Counter.
Overview
The Object Flow Counter node provides a breakdown of specific object types that cross a line or a sequence of lines defined by a Line Crossing Counter node prior to it. This node makes it easy to build common use cases such as People flow mapping in retail environments, Traffic intersection analysis, etc.
This node requires a Line Crossing Counter before it in order to function properly.
Inputs & Outputs
- Inputs : 1, Media Format : Raw Video
- Outputs : 1, Media Format: Raw Video
- Output Metadata : Line Counter Information
Properties
Property | Description | Type | Default | Required |
---|---|---|---|---|
object_types | Comma-separated list of object types to consider. Empty list processes all objects. ex. car, person, face.mask | model-label | null | Yes |
object_flow_rules | Comma-separated list of labels of lines or line pairs that an object must cross through to be counted. ex. line_freeway_exit, line_streetA_EB+line_streetB_NB, line_streetA_WB+line_streetB_SB . If empty, counts crossings through each line. | string | null | No |
reset_trigger | Reset object counts when this condition evaluates to true. ex. nodes.time_trigger1.triggered . Use it in combination with a Time Trigger to accumulate statistics over a regular interval like 5 minutes. | trigger-condition | null | No |
display | Display options. Values: none , basic | enum | basic | No |
Metadata
Metadata Property | Description |
---|---|
nodes.<node_id> | Describes the Lines monitored by this node, and their properties. Format : as defined in the table below. <node_id> for Object Flow Nodes is of the form object_flowX (ex. object_flow1 ) |
Example
"nodes": {
"object_flow1": {
"type": "object_flow",
"total_objects_crossed_count": <number>,
"total_objects_crossed_delta": <number>
"lines": {
"<line_rule>": {
"total_objects_crossed_count": <number>,
"total_objects_crossed_delta": <number>,
"object_crossed_counts": {
"<object_label1>": <number>,
...
},
"object_crossed_deltas": {
"<object_label1>": <number>,
...
},
"crossed_objects": [ <object_tracking_id>,<object_tracking_id> ]
}
}
}
}
Format
Key | Type | Description |
---|---|---|
total_objects_crossed_count | Integer | Number of objects seen crossing all monitored rules since last time stats were reset |
total_objects_crossed_delta | Integer | Number of objects seen crossing all monitored rules between last frame and this frame |
<line_rule> | Dictionary | Contains information about this specific object flow rule (specific line or sequence of lines) |
<line_label>.total_objects_crossed_count | Integer | Number of objects seen crossing this rule since the last time stats were reset |
<line_label>.total_objects_crossed_delta | Integer | Number of objects seen crossing this rule between last frame and this frame |
<line_label>.object_crossed_counts | Dictionary | Dictionary containing object crossing count accumulated since last time stats were reset |
<line_label>.object_crossed_counts.<object_label> | Integer | Number of objects of this label seen crossing this rule since the last time stats were reset |
<line_label>.object_crossed_deltas | Integer | Dictionary containing object crossing change from last frame to this frame |
<line_label>.object_crossed_deltas.<object_label> | Integer | Number of objects of this label seen crossing this line between last frame and this frame |
<line_label>.crossed_objects | List of object IDs | Information about the objects currently crossing the rule. object_tracking_id : Unique identifier for a specific object, as specified by object.id property (see AI Model Node ) |
Updated about 2 months ago