MV Advanced Presence Sensing
Overview
Advanced Presence Sensing is available for Early Access for all 3rd generation cameras starting with firmware version >=5.3. The feature provides people counting and occupancy reports in the dashboard for the lines and areas defined by the customer. Go to Cameras > Camera > Analytics to configure a line and/or area. Data generated from the moment the line/area was configured will be available under a sub tab of the Analytics tab. It is also possible to retrieve data via MQTT and APIs..
It is important to mention that the people counter app is based on the people detector ML model and the accuracy of data is correlated with the accuracy of the people detections. The accuracy of object detection models is dependent on various factors, including the object size, lighting conditions, the richness of the dataset, and other factors. Therefore, try your best to follow the configuration guidance below to achieve the best FoV, lighting conditions, and object size. Where it is possible, disable HDR, and consider enrolling your camera in intelligence training to include your videos in our model retraining process. That would help to enhance the model accuracy for your environment, hence the results of the people counter app will improve over time.
What is the feature?
Accessible from Cameras > Camera > Analytics, these features are available for the user:
- Tools to define and configure lines and areas of interest (up to 10 configurations)
- Charts for counting and occupancy reports (data is available after the date of configuration);
- Various filtering tools to provide the best overview of historical data;
In addition to dashboard features, MQTT can be used to retrieve live data for people tracks and API to retrieve historical data.
Line Crossing and Counting
The tripwire counts people crossing in each direction. When people cross the tripwire in the direction of the arrow, they are counted as "In". People moving in an opposite direction to the arrow are counted as "Out."
Area Crossing and Occupancy
An Area is used to monitor occupancy within a region of interest for a particular location.
How will it help my business?
- Increase store efficiency by identifying trends in store traffic and make data-driven decisions related to marketing, store staff, opening hours and customer service.
- Reduce operational costs: No need to run separate systems for security and store counting. One system to configure, operate and maintain.
- For store managers to understand the trends in number potential customers in the store.
- For marketing managers to measure the impact of marketing and promotion activities to store traffic.
- For store managers to plan staffing based on the number of customers visiting the store.
- For business operation teams to measure the conversion rate of the store.
- For business operation teams to compare the customer traffic between stores and locations.
Configuration 
Camera Installation Requirements
The MV93 series fisheye cameras provide the best results for advanced presence sensing.
Camera Generation |
Model |
Line crossing |
Area occupancy |
Advanced people tracking |
3rd |
Domes (MV63) |
✔️ |
✔️ |
X |
Fisheyes (MV93) |
✔️ |
✔️ |
✔️ |
|
2nd |
Domes (MV12, 22/X, 72/X) |
X |
X |
X |
Bullets (MV52) |
X |
X |
X |
|
Flex (MV2) |
X |
X |
X |
|
Fisheyes (MV32) |
X |
X |
X |
|
1st |
Domes (MV21, MV71) |
X |
X |
X |
Recommended installation guidelines and settings are as follows:
-
Mount top-down, making sure it covers the floor area where people should be counted.
-
Configure the camera "Mounting" setting to "Ceiling" under the Cameras > Camera > Settings > Video Settings
-
Mount the camera between 2.5 and 4 meters (8 - 13ft), measured from the mounting plate to the floor and provide the "Mount height" under Cameras > Camera > Settings > Sense
-
Mount the camera between 0.3 to 1.5 meters (1 - 5 ft) away from the door or nearby walls, ideally centered within/over the region to be measured for counting or occupancy.
-
Disable HDR
Please, note that it is possible to use advanced presence sensing with other models of MV cameras, but there is a high risk that one object might cover the other, meaning that for instance two people walking next to each other might be counted as one if the one closest to the camera obscures the other.
MV63 example. There are two people in the image below, but one is occluded by the other. Because of the occlusion and lack of color contrast, the model may not be able to distinguish between the two people and may count them as one.
MV93 example. The image below shows the same event from the above. Because the MV93 is deployed top-down, the occlusion is avoided and it is that easier for the model to distinguish two people.
The counting accuracy is best in the center of the FoV and decreases towards the periphery. For this reason, lines and areas may not be placed around the edges of the frame and this is represented visually by a 'haze' around the edge of the view.
If the area you want to monitor falls into this area, please revisit the camera placement if installation requirements allow or add another camera to cover the desired area of interest.
Software Configuration Requirements
The camera firmware version must be >5.3
1. Enable Advanced Presence Sensing under Cameras> Camera > Settings > Sense
2. Set the mount height in the "Mount height"
3. Select Head [performance] model
4. Save changes
After configuration
Once everything is configured, you will be able to browse the advanced people counting data by using the tabs on the “Analytics” tab. Please note, that camera will begin generating data at the time of the configuration and forward.
Advanced Presence Sensing allows a maximum of 10 lines and/or areas per camera. The camera will start the data collection after the configuration is done.
Line charts will represent the people's counting/occupancy numbers over the selected time range.
Get a sense of the data
People and vehicle counting will provide an aggregation of each line-crossing event. Occupancy will provide an overview on the current selected area and configured duration.
The data for each configuration will retain for 6 months per area/line from the date of the configuration.
There are “Time range” and “Resolution” filters available for the data breakdown. By default, chart displays data for the past 7 days and 24 hours resolution. To choose specific dates of interest use the “Custom” time range.
Each “Time range” supports the following resolutions:
Time range |
Last 2 hours |
Last 24 hours |
Last 7 days: |
Last 30 days: |
Custom |
Resolution |
|
|
|
|
|
Advanced developer tools
MQTT for Advanced Presence Sensing
Line crossings and people/vehicle counts
Line crossing data events will be delivered for all configured crossing lines over MQTT in the following format:
TOPIC /merakimv/<serial-number>/crossing/<uuid> { "_v" : 1, "label" : "crossing_line_1", "event" : "crossing_in|crossing_out"|"expired"|"appeared", "object_id" : 123, "type" : "person|vehicle", "ts" : 1663779000000 }
The uuid will map to the generated uuid a configured crossing line or area is given when created. Vehicle counting is only available for non-fisheye cameras.
Occupancy data
Occupancy data will be pushed to the configured MQTT recipient every (wall clock) minute and will contain the positions for all objects that have occupied the space during the minute starting at ts and ending at ts+60 seconds. When a track no longer has overlapping time for the current period it will no longer be included in the list. Object_ids in this payload can be matched with what is sent for this area on the crossing topic above.
TOPIC /merakimv/<serial-number>/occupancy/<uuid> { "_v" : 1, "label" : "area_51", "objects" : [ { "object_id": 12, "type" : "person", "ts_entered" : 1678971542000, "ts_appeared" : 0, "ts_exited" : 0, "ts_expired" : 0 }, { "object_id": 13, "type" : "person", "ts_entered" : 1678971548000, "ts_appeared" : 0, "ts_exited" : 1678971620000, "ts_expired" : 0 }, { "object_id": 17, "type" : "vehicle", "ts_entered" : 1678971621000, "ts_appeared" : 0, "ts_exited" : 0, "ts_expired" : 1678971641000 }, { "object_id": 18, "type" : "person", "ts_entered" : 0, "ts_appeared" : 1678971621000, "ts_exited" : 0, "ts_expired" : 1678971641000 } ], "ts" : 1678971600000 }
Note that vehicles will not be supported by the fish-eye cameras.
The live data for areas will be pushed on the crossing topic in a similar fashion as people and vehicle counts are for crossing lines with the only exception that you can receive events with directions "expired" and “appeared” as well. These events are sent when a tracked object is lost/timed out or discovered/appeared within an area.
TOPIC /merakimv/<serial-number>/crossing/<uuid> { "_v" : 1, "label" : "area_51", "event" : "crossing_in"|"crossing_out"|"expired"|"appeared", "object_id" : 123, "type" : "person|vehicle", "ts" : 1663779000000 }
The live crossing data stream is only available to a client over MQTT, while the data sent on the occupancy topic will also be available from the internal and external API's.
Tracks payloads
Track data will be pushed whenever a track has expired/is lost, one push per track. This functionality has to be enabled specifically per camera. The timestamp is set to when the track expired and the positions is an array of estimated feet positions for the track in the interval interval_ms milliseconds:
TOPIC /merakimv/<serial-number>/tracks { "_v" : 1, "interval_ms" : 500, "positions" : [ [ 0.48191, 0.64122, 1657849000 ], ...... [ 0.48367, 0.5828, 1657847500 ] ], "object_id" : 123, "ts" : 1657849000 }