Object Motion Detection

Detects moving objects in the specified region of interest (ROI).

Overview

The Object motion detection node estimates if an object is moving or stationary, in a ROI. This node makes it easy to build common use cases such as alarm monitoring, object left behind, etc.

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 : Motion information

Properties

PropertyDescriptionTypeDefaultRequired
roi_labelsRegion of interest label. Conditional on rois.hidden-Yes
roisRegion of interest in the video within which the Speed Estimation tracks objects. Format: x1,y1,x2,y2,x3,y3; X1,Y1,X2,Y2,X3,Y3,X4,Y4. Conditional on roi_labels.polygonnullYes
object_typesComma-separated list of object types to measure speed. Example: 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).model-labelnullYes
objects_to_flagObjects to flag for triggering downstream events. Options: Stationary, Moving.enum-multinullNo
display_objects_modeDisplay objects on video based on criteria. Options: None, Flagged objects, All.enumflaggedNo
display_roiDisplay ROI on video?booltrueNo
motion_detection_triggerDetect object motion only during the time this condition is true.trigger-conditionnullNo
tracking_modeWhich point of the object to track. Options: Centroid, Top center, Bottom center, Left center, Right center.enumbottom-centerNo
sensitivitySensitivity for motion type detection. Higher sensitivity counts smaller movements as motion. Lower sensitivity counts only larger movements as motion. Range: 0-100.slider50No
analysis_windowAnalyze the last n seconds of an object's motion to determine motion type.float1.0No
min_motion_durationClassify objects as moving only when they have been moving for atleast this duration in seconds.float0No

Metadata

Metadata PropertyDescription
nodes.<node_id>Describes the ROIs monitored by this node, and their properties. Format : as defined in the table below. <node_id> for Object motion detection Nodes is of the form object_motionX (ex. object_motion1)

Example

"nodes": {
    "annotate_speed1": {
        "type": "annotate_speed",
        "rois": {
            "<roi_label>": {
                "coords": [[<point1_x>, <point1_y>], 
                           [<point2_x>, <point2_y>], 
                           [<point3_x>, <point3_y>]],
                "objects_stationary_count": <int>,
                "objects_stationary_delta": <int>,              
                "objects_moving_count": <int>,
                "objects_moving_delta": <int>,   
                "objects_flagged_count": <int>,
                "objects_flagged_delta": <int>,   
                "objects_stationary": [object_id1, object_id2...],              
                "objects_moving": [object_id1, object_id2...],
                "objects_flagged": [object_id1, object_id2...]
            }
        }
    }
}

Format

KeyTypeDescription
<roi_label>Array of dictionariesContains information about this specific ROI
<roi_label>.coordsArray of ArraysContains the bounding box coordinates that represent this ROI
<roi_label>.objects_stationary_countIntegerNumber of stationary objects currently in this ROI
<roi_label>.objects_stationary_deltaIntegerNumber of new stationary objects in the ROI between last frame and this frame
<roi_label>.objects_moving_countIntegerNumber of moving objects currently in this ROI
<roi_label>.objects_moving_deltaIntegerNumber of new moving objects in the ROI between last frame and this frame
<roi_label>.objects_flagged_countIntegerNumber of objects currently in this ROI that meet the objects_to_flag criteria.
<roi_label>.objects_flagged_deltaIntegerNumber of new objects in the ROI which met the objects_to_flag criteria between last frame and this frame
<roi_label>.objects_stationaryList of long integersList of object IDs of stationary objects
<roi_label>.objects_movingList of long integersList of object IDs of moving objects
<roi_label>.objects_flaggedList of long integersList of object IDs of flagged objects