Regions of interest (ROI)
Region of Interest (ROI) is an area marked over the video stream. OMNI Agent detects and tracks objects of specified classes within the marked area. Detection and tracking results are sent to OMNI Platform or an external service in the form of processes and events.
The following object classes can be tracked within ROIs:
- Human silhouette
- Human face
- Human skeleton joints: nose, left ear, left shoulder, left elbow, left wrist, center of the left hand, left hip, left knee, left ankle, right ear, right shoulder, right elbow, right wrist, center of the right hand, right hip, right knee, right ankle.
Multiple object classes can be tracked simultaneously within a single ROI.
To create ROI, you need to mark at least three points on the video stream frame. In the preview, the marked ROI is highlighted in white, and if at least one object from the specified classes is detected inside the area, the color changes to turquoise.
Object presence in the ROI is determined by the coordinates of a single point on the frame, obtained from the transformation of the object's bbox points.
By default, OMNI Agent uses the following bbox transformation methods:
Human silhouette: middle of the lower edge of the bbox Human face: center of the bbox Human skeleton joints: center of the bbox
To enable only skeleton detection, set the value true for pipelines.pose_estimation.enable
in the run_params.json file.
How to add ROI
Click on the gear sign in the camera bar. Then click
+
in the opened tab.Specify the ROI name, select the type as "Region," and mark the object classes to be tracked. Outline ROI on the camera preview and click
Save
.Return to the main page of the web interface. The marked area will now be displayed on the camera preview.
ROI configuration
You can create or change the ROI settings in the run_params.json configuration file by editing the following fields of the mutlistream_ROI
object:
regions
: an array of ROI objects.
Example of an object in the regions
array:
"regions": [
{ // object (ROI)
"name": "_region_name_", // ROI name
"classes": [
{
"class": "body", // class of objects to be filtered
"reduction_kind": "BBOX_BOTTOM_CENTER", // method for converting the object's bbox to a point
},
{
"class": "face",
"reduction_kind": "BBOX_CENTER",
},
{
"class": "left_hand",
"reduction_kind": "BBOX_CENTER",
}
],
"points": [ // coordinates of the points that bound the ROI
{
"x": 0,
"y": 0.975 // in relative frame coordinates
},
{
"x": 1,
"y": 0.975
},
{
"x": 0.5,
"y": 0.5
}
],
"uuid": "6acb27c7-c967-46ed-a32f-0085c0454c4c" // ROI uuid. If missing, it is added automatically.
}
]