Dwell Counter Node

Tracks how long detected objects have been present in a specified region in the video

Overview

The Dwell Counter node keeps track of the number and how long each detected, tracked object has been present in the specified region in the video, can highlight objects, and adds the presence metadata to the frame metadata. This node makes it easy to build common use cases such as Overtime parking enforcement, Loitering alerts, etc.

This node has been deprecated in favor of Occupancy Monitor

This node requires a AI Model Node and a Track Objects Node before it in order to function properly.

Inputs & Outputs

  • Inputs : 1, Media Format : Raw Video
  • Outputs : 1, Media Format: Raw Video
  • Output Metadata : Presence Information

Properties

Property

Value

objects_to_track

Comma separated list of Detected Object labels to track, as specified in Model Labels

ex. car, person

Accepted formats:
object_label: any object of this type, with or without a classifier attribute. Example: car

object_label.class_type: any object of this type that has a specific classifier attribute. Example: car.red

object_label.*: any object of this type that has at least one classifier attribute. Example: car.* (this will match car.red, car.yellow, etc)

presence_threshold

Number of seconds the object must be present to flag them on the video stream

Ex. 60

display_roi

Boolean. If true, ROI info will be drawn on video

Ex. true / false

display_objects

Boolean. If true, Object info (presence duration, as well as highlight when it crosses presence threshold) will be drawn on video

Ex. true / false

rois

Semicolon separated list of areas in the video within which the Presence Detector tracks these objects.

If none is specified, the Presence Detector tracks objects within the entire frame.

Format: left1,top1,right1,bottom1; left2,top2,right2,bottom2

Ex: 10,10,100,100; 200,200,300,300

roi_labels

Comma separated list of labels for each ROI in the rois list above.

Format: label1, label2

Ex: door, window

persistent_storage

Boolean. If true, the following analytics will be stored in disk and restored when the pipeline restarts:

[roi_label]['total_objects']

Ex. true / false

Metadata

Metadata Property

Description

nodes.<node_id>

Describes the ROIs monitored by this node, and their properties.
Format : as defined in the table below.

<node_id> for Dwell Counter Nodes is of the form annotate_presenceX (ex. annotate_presence1)

Example

"nodes": {
    "annotate_presence1": {
        "type": "annotate_presence",
        "rois": {
            "<roi_label>": {
                "coords": [[<point1_x>, <point1_y>], 
                           [<point2_x>, <point2_y>], 
                           [<point3_x>, <point3_y>]],
                "total_objects": <int>,
                "objects_entered_delta": <int>,
                "objects_exited_delta": <int>,
                "objects_above_max_time_threshold_count": <int>,
                "objects_above_max_time_threshold_delta": <int>,
                "current_objects_count": <int>,
                "current_objects": {
                    "<object_tracking_id>": {
                        "first_seen": <seconds in ROI>,
                        "time_present": <seconds in ROI>
                    }
                }
            }
        }
    }
}

Format

Key

Type

Description

<roi_label>

Array of dictionaries

Contains information about this specific ROI

<roi_label>.coords

Dictionary

Contains the bounding box coordinates that represent this ROI

<roi_label>.total_objects

Integer

Number of objects seen in this ROI since the start of the pipeline

<roi_label>.objects_entered_delta

Integer

Number of objects that entered the ROI between last frame and this frame

<roi_label>.objects_exited_delta

Integer

Number of objects that left the ROI between last frame and this frame

<roi_label>.objects_above_max_time_threshold_count

Integer

Number of objects inside the ROI above the specified temporal threshold

<roi_label>.objects_above_max_time_threshold_delta

Integer

Number of new objects that exceeded the threshold between the last frame and this frame

<roi_label>.current_objects_count

Integer

Number of objects inside the ROI currently

<roi_label>.current_objects

Array of dictionaries

Information about the objects currently in the ROI

object_tracking_id : Unique identifier for a specific object, as specified by object.id property (see Model Inference Node )

first_seen : Time in seconds when the object was first seen in the ROI

time_present : Time in seconds that the object has been present in the ROI


Did this page help you?