This feature is not available on all camera models.
This feature requires a license. For additional information on this topic, please see the MOBOTIX Download Center in the Documentation > Brochures & Guides > Compact Guides section.
MxAnalytics allows tracking objects that move about in the image and to collect statistical information about these objects. To do so, the camera records the distribution of the objects and can present the results as a heatmap. In addition, you can define counting corridors, which are counting the objects that are passing through. These data are recorded in a reserved partition on a storage device that is directly attached to the camera. Note that the storage device needs to be partitioned accordingly when formatting the device in the Storage on External File Server / Flash Device dialog (see also MxAnalytics Data Storage on this page).
In order to use MxAnalytics, you need to configure this feature in the General MxAnalytics Settings dialog. After that, you can view the results in the MxAnalytics Overview dialog and export the data in different formats.
MxAnalytics has been designed to be used in indoor setups only.
You can define up to 16 counting corridors for one camera.
The IDs can be in the range from 0 to 65535.
In order to get the best results, you should make sure that the scene is sufficiently illuminated and that illumination is constant.
Using other functions (e.g., continuous recording or Video Motion Detection) may reduce the quality of the data collected by MxAnalytics.
Click on the More button at the lower right corner of the dialog to display all options.
In order to get reliable results, you should make sure to avoid all external influences that may degrade the results of MxAnalytics. If this is not possible, the results may be inaccurate. The following influences can lead to unreliable results of MxAnalytics:
Direct sunlight
Constantly changing illumination
Not enough light
Overexposed areas
Many changes in the image (e.g. trees swaying in the wind, ...)
Reflecting surfaces (mirrors, windows, ...)
MxAnalytics has been designed for cameras mounted to a ceiling. Depending on the lens used, the camera should be mounted no lower and no higher than shown in this table:
Lens |
Minimum Height |
Maximum Height |
---|---|---|
L12 (1,8 mm) |
2.5 m |
6 m |
L23 (3.6 mm), L25 (4.0 mm) |
6 m |
10 m |
You can arm MxAnalytics permanently or use signal inputs and time table profiles to control the arming status.
In order to activate MxAnalytics only during the operating hours of a store, you need to create a Time Table Profile that matches the opening hours. Next, set the arming of MxAnalytics to Enabled and select the time table profile with the opening hours you just defined.
Using a time table profile to control the arming status of MxAnalytics reduces the storage space required and thus enlarges the time span covered by the collected data. This also improves the significance of the results, since objects outside of the analysis window are ignored and do not appear in the heatmap. For more information on the storage space, see Storage Requirements below.
On dual cameras, the arming status always applies to both sensors. The window and corridor definitions also apply to both sensors. To account for the optical differences between the sensors when defining windows, you can use the horizontal and vertical offsets.
This sections contains general settings for object recognition.
In order to limit the analysis of MxAnalytics to a specific area, you can define several windows or polygons in this field. The most convenient method to define such a window is to use a [Shift]-click, click to define a rectangle in the live image, then click on Add detection area (see also Graphically Entering Image Areas). Note that it is also possible to exclude specific areas from detection.
Rectangle Syntax
[!]image sensor, horizontal coordinate, vertical coordinate, width, height
(optional parameters have square brackets)
0,0,0,1280,960
Polygon Syntax
[!]image sensor, poly=<hor. coordinate>x<vert. coordinate> /<hor. coordinate>x<vert. coordinate>/<hor. coordinate>x<vert. coordinate> {/<hor. coordinate>x<vert. coordinate}
(optional parameters have square brackets, parameters that can be used as often as needed have curly brackets)
0,poly=0x0/0x1280/960x1280/960x0
In order to exclude a specific area from detection, enter a "!" in front of the definition line.
All detection areas refer to the entire image sensor.
If a counting corridor is outside of the detection area, the area will be enlarged automatically. This is indicated by color − it changes to magenta.
On dual cameras, the definition of a detection area always applies to both sensors.
Limiting the detection area increases performance and delivers better results. in addition, doing so reduces the storage space required and thus enlarges the time span covered by the collected data. For more information on the storage space, see Storage Requirements below.
Image areas with reflecting surfaces should be excluded from detection to prevent negative influences on the analysis results.
If you are activating the display of the detection area, the camera shows the detection areas (rectangles and polygons) as well as the bounding box (the polygon containing all detection areas in the camera image).
Enter the height in centimeters from the floor to the mounting position of the camera. The camera uses this information to properly display the results in the heatmap. When analyzing moving persons, the heatmap will be shown near the persons' feet.
Mounting the camera at heights of less than 2 m/6 ft will reduce the accuracy of the analysis results.
Sets the tilt angle for this camera. If mounted to the ceiling, select −90°, if mounted to the wall, select 0°. The camera uses this information to properly display the results in the heatmap.
This parameter allows setting a minimum object size in pixels (smaller objects are ignored). The most convenient method is to use a [Shift]-click, click to define a rectangle in the live image, then click on Set minimum size (see also Graphically Entering Image Areas).
The camera provides three pre-defined settings to adapt the camera to the illumination profile at the location. In addition, you can select a custom setting to manually adjust the light and shadow settings of the camera.
Artificial light, no shadows: Select this setting if the detection area is only illuminated by artificial light and objects are not casting shadows when moving.
Sparse sunlight, blurred shadows: Select this setting if the illumination of the detection area changes only slightly (e.g. by sunlight) and objects are only casting blurred (i.e., not well-defined) shadows when moving.
Heavy sunlight, well-defined shadows: Select this setting if the detection area is subjected to heavy changes in illumination (e.g. due to large windows) and objects are casting well-defined shadows when moving.
Custom size: This setting allows choosing between three exposure programs and two methods for shadow detection:
Constant illumination: Select this option if the illumination of the detection area does not change. An example for such a scene would be a hall without windows. This option also allows following objects that stop for several seconds. Since this option requires the least computing time, the camera achieves the highest frame rates.
Slowly changing illumination: This option is suitable for rooms that have only a few windows and illumination changes only slightly and not abruptly. An example for such a scene would be a room with few narrow windows close to the ceiling.
Fast changing illumination: Select this option for rooms with strong changes in illumination, e.g. in rooms with large panorama windows. Since this option requires the most computing time, the camera generates images with lower frame rates. This option does not allow changing the shadow detection settings.
Shadow Detection: Shadows can lead to distortions in the MxAnalytics results. In order to avoid these distorted analysis results, you can activate these additional methods for shadow detection:
Coarse structure/dark background: Use this option if the background of the scene is coarsely structured or dark.
Fine structure/light background: Use this option if the background of the scene is finely structured or light. This option provides three sensitivity levels (Low, Medium, High). The higher the sensitivity, the more shadows will be removed from the image. At the same time, however, chances are rising that objects are also recognized as shadows.
This parameter controls the sensitivity of the analysis. A higher value means that the software only recognizes objects that have a noticeable color difference to the background. A lower value means that the software also recognizes objects that are hard to recognize against the background.
The following settings for displaying objects in MxAnalytics are available:
Bounding Box: Shows the bounding box if you select a color.
Object Track: Shows the object tracks if you select a color. The track follows the object's center of gravity.
Object Halo: Colors the objects if you select a color. An additional parameter controls the transparency of the objects.
A counting corridor is used to count objects that are passing through the corridor. Note that software also recognizes the direction of movement of these objects. Each line in the definition field represents one counting corridor. The definition of a counting corridor consists of its start and end points and its width.
Syntax of a Counting Corridor Definition
image sensor,start=<hor. coordinate>x<vert. coordinate>, end=<hor. coordinate>x<vert. coordinate>,width=<width>, id=<identification number>[,name=<string>][,north=<string>] [,south=<string>]
(optional parameters have square brackets)
0,start=800x440,end=800x520,width=360,id=1,name=Entrance 1st floor\, left,north=In,south=Out
If the string contains a comma, you need to precede it with a backslash (\).
You can define up to 16 counting corridors for one camera.
The IDs can be in the range from 0 to 65535.
On dual cameras, the definition of a counting corridor always applies to both sensors.
Parameter |
Description |
---|---|
Image sensor |
Selects the image sensor (camera image) to use for this counting corridor definition:
|
start |
Start coordinate of the counting corridor, defined by its horizontal and vertical coordinate. |
end |
End coordinate of the counting corridor, defined by its horizontal and vertical coordinate. |
width |
Width of the counting corridor. |
id |
The identification number (ID) of the corridor shown in the image. You can thus visually identify the corridors. |
name |
The name of the corridor (e.g. "South Entrance") that will be shown in the report later on. (Optional parameter) |
north |
The description of objects passing through the corridor in the direction of the arrow/north (e.g. "In") that will be shown in the report later on. (Optional parameter) |
south |
The description of objects passing through the corridor in the opposite direction of the arrow/south (e.g. "Out") that will be shown in the report later on. (Optional parameter) |
In order to draw a counting corridor in the live image, keep [Ctrl+Shift] pressed and click in the live image. In order to define the direction and length of the counting corridor, hold down the [Ctrl] key and click again into the live image. The next click sets the width of the counting corridor. Then click on the button in the dialog to add the counting corridor definition to the corresponding definition field.
The software provides the following settings to show the corridors in the camera image:
Off: The camera never shows the counting corridors.
On: The camera always shows the counting corridors.
On and hide on counting: The camera shows the counting corridors. Once an object has passed through the corridor, the camera briefly hides the corridor.
On and highlight on counting: The camera shows the counting corridors. Once an object has passed through the corridor, the camera briefly highlights the corridor by changing its color.
Off and highlight on counting: The camera hides the counting corridors. Once an object has passed through the corridor, the camera briefly shows the corridor.
Allows setting a color for the counters and the corridor IDs.
A heatmap shows the distribution of the objects, i.e., where objects are staying and how they move, as a colored heat image. The warmer the color, the more objects are staying at a specific location. When analyzing moving persons, the heatmap will be shown near the persons' feet.
If you want to always use the same image as a background for the heatmap, you can save a "reference image" in the camera. If no reference image has been saved or you deleted an existing reference image by clicking on Delete, the software uses the current live image of the camera as background.
Save: Saves the current live image as a reference image (background) for displaying the heatmap.
Show: Shows the saved reference image in a new window. If no reference image has been saved or an existing one has been deleted, this button is deactivated.
Delete: Deletes the saved reference image. If no reference image has been saved or an existing one has been deleted, this button is deactivated.
You should save a reference image if no objects are visible in the live image. This avoids that objects are interfering with the display of the heatmap later on.
Shows the current heatmap on the live image of the camera. This feature is mainly aimed at quickly checking the configuration.
You should only briefly show the heatmap in the camera's live image, since this feature generates high CPU loads and results in reduced live image rates of the camera. Before closing the dialog, you should make sure that you deactivate the Show Heatmap checkbox and that you save the changes permanently by clicking on Set/Close at the bottom of the dialog.
While you are displaying the heatmap in the camera image, the heatmap will also show on the recorded image (except when using the Full Image recording mode).
Open the MxAnalytics Overview dialog to define the reports that are to be generated by the camera:
Get a quick report in the browser
Automatic reports of the counter values via email
Reports using MxManagementCenter, MxEasy or MxControlCenter
This section of the dialog contains general information about the records that are available. The information covers the date/time of the first and last records as well as information on the storage space used and the total number of records. In addition, you can manually create a new record (Force new record) and reset MxAnalytics completely by deleting all records (Delete all records).
Once you have clicked on Delete all records and acknowledged the system prompt, you cannot undo the deletion.
Deleting the records can take several minutes, depending on the size of the MxAnalytics partition on the storage device.
Click on Show to get a heatmap based on the current data in a separate browser window. The heatmap contains the MxAnalytics results since the last reset of the data or since activating MxAnalytics (whichever is applicable).
This section contains a summary table of the defined counting corridors, their descriptions and the current counter values.
You can use other programs to get the current counting corridor configuration and the current counter values using the following
link: http://192.168.171.236/control/stat_export?function=counter
. The data are returned in JSON format.
This section contains a summary table of the defined counting corridor report profiles. If no report profiles have been defined yet, you can do so in the Counting Corridor Report Profiles dialog.
Name: Click on a profile name to get the corresponding counting corridor report in a separate browser window.
Export Range: Shows the time range of the report to be exported.
Email Profile: Indicates whether or not this report profile is used in one of the email profiles and if a corresponding time task event exists:
This report profile is used in one of the email profiles and a time task event.
This report profile is used in one of the email profiles. A corresponding time task event does not exist.
This report profile is used in one of the email profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the email profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new email profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
FTP Profile: Indicates whether or not this report profile is used in one of the FTP profiles and if a corresponding time task event exists:
This report profile is used in one of the FTP profiles and a time task event.
This report profile is used in one of the FTP profiles. A corresponding time task event does not exist.
This report profile is used in one of the FTP profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the FTP profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new FTP profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
IP Notify Profile: Indicates whether or not this report profile is used in one of the IP Notify profiles and if a corresponding time task event exists:
This report profile is used in one of the IP Notify profiles and a time task event.
This report profile is used in one of the IP Notify profiles. A corresponding time task event does not exist.
This report profile is used in one of the IP Notify profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the IP Notify profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new IP Notify profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
If you want the camera to automatically send a counting corridor report via email, FTP or IP Notify, make sure that both status LEDs in the corresponding line (Profile and Time Task) are green. If this is not the case, create a new email profile, FTP profile or IP Notify profile and then add a new time task for this profile.
This section contains a summary table of the defined heatmap report profiles. If no report profiles have been defined yet, you can do so in the Heatmap Report Profiles dialog.
Name: Click on a profile name to get the corresponding heatmap report in a separate browser window.
Export Range: Shows the time range of the report to be exported.
Email Profile: Indicates whether or not this report profile is used in one of the email profiles and if a corresponding time task event exists:
This report profile is used in one of the email profiles and a time task event.
This report profile is used in one of the email profiles. A corresponding time task event does not exist.
This report profile is used in one of the email profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the email profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new email profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
FTP Profile: Indicates whether or not this report profile is used in one of the FTP profiles and if a corresponding time task event exists:
This report profile is used in one of the FTP profiles and a time task event.
This report profile is used in one of the FTP profiles. A corresponding time task event does not exist.
This report profile is used in one of the FTP profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the FTP profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new FTP profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
IP Notify Profile: Indicates whether or not this report profile is used in one of the IP Notify profiles and if a corresponding time task event exists:
This report profile is used in one of the IP Notify profiles and a time task event.
This report profile is used in one of the IP Notify profiles. A corresponding time task event does not exist.
This report profile is used in one of the IP Notify profiles. The corresponding time task event has been deactivated.
This report profile is used in one of the IP Notify profiles and a corresponding time task event does not exist.
Click on the left status LED to create a new IP Notify profile or to edit an existing profile.
Click on the right status LED to create a new time task or to edit an existing task.
If you want the camera to automatically send a heatmap report via email, FTP or IP Notify, make sure that both status LEDs in the corresponding line (Profile and Time Task) are green. If this is not the case, create a new email profile, FTP profile or IP Notify profile and then add a new time task for this profile.
A counting corridor is used to count objects that are passing through the corridor. Note that software also recognizes the direction of movement of these objects.
Open this dialog to define different reports (weekly/monthly), which can be used in other dialogs. You can then send these reports via email or request them using MxManagementCenter, MxEasy, MxControlCenter or via the camera's remote control (control command, videomotionanalysis section).
This section allows testing the profiles listed in this dialog. Select the desired profile and the week, then click on Get report. The camera shows the results in a new window (one table per counting corridor), which can be printed immediately. If you click on Download as CSV table, you can download the file and process the corresponding table in other programs (spreadsheet, databases, etc.).
The following parameters are displayed for each profile:
Parameter |
Description |
---|---|
Profile |
Name of the profile, as it is displayed in other selection boxes. |
Counting Corridors |
Selects the counting corridors to include in the report. |
Columns |
Defines the columns of the report table. Each column can show one day or a range of subsequent days to show totals (e.g. |
Export Range |
Specifies the range to be included in the report (weekly or monthly report). |
Week/Month |
Depending on the selection in the Export Range section, you chose to include the current or the last week, or the current or the last month, respectively, in the report. |
Time |
Selects the time range per day that is to be included in the report. |
Export Format |
If the report is sent via email, you can chose to attach the file either as HTML or as CSV file. |
Report Title |
Enter the title of the generated report. You can also use dynamic text containing Variables. Besides the standard variables, you can use additional special variables that are exclusively available for counting corridor report profiles. For an example of how these options can be used, see the Example for Dynamic Text in Report Titles below. |
A weekly report shows a table in which one line contains the counter values for one hour.
0 |
0 |
0 |
0 |
0 |
0 |
4 |
5 |
0 |
0 |
4 |
5 |
|
0 |
0 |
0 |
0 |
0 |
0 |
5 |
10 |
0 |
0 |
5 |
10 |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
13 |
0 |
0 |
1 |
13 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
0 |
0 |
2 |
7 |
0 |
0 |
0 |
0 |
2 |
7 |
|
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
2 |
|
0 |
0 |
0 |
0 |
2 |
9 |
10 |
28 |
0 |
0 |
12 |
37 |
A monthly report shows a table in which one line contains the counter values for one calendar week.
78 |
79 |
89 |
79 |
82 |
81 |
82 |
96 |
80 |
72 |
411 |
407 |
|
75 |
69 |
81 |
87 |
82 |
85 |
75 |
80 |
66 |
91 |
379 |
412 |
|
79 |
76 |
84 |
95 |
83 |
79 |
102 |
80 |
81 |
75 |
429 |
405 |
|
86 |
89 |
92 |
89 |
74 |
87 |
84 |
85 |
91 |
79 |
427 |
429 |
|
81 |
88 |
93 |
77 |
0 |
0 |
0 |
0 |
0 |
0 |
174 |
165 |
A hyphen in a cell means that there are no counter values available for this hour. This may be caused by an analysis that had been activated at the time or a time range in the past, for which the corresponding data record is not available any more.
Variable |
Description |
Note |
---|---|---|
REPORT: Current report |
||
|
Time span of the current report |
Weekly report WW/YYYY (YYYY-MM-DD − YYYY-MM-DD) Monthly report: Month YYYY |
CORRIDOR: Selected corridor |
||
|
Displays the ID of the current counting corridor. |
|
|
Displays the name of the current counting corridor. |
|
Using variables and placeholders, the camera can dynamically integrate information into the report titles.
Scenario |
You want to show the camera name and the timestamp in the report title. |
||||
Definition of the title |
|
||||
Explanation |
|
A heatmap shows the distribution of the objects, i.e., where objects are staying and how they move, as a colored heat image. The warmer the color, the more objects had been staying at a specific location. When visualizing the results, you can set a range of minimum and maximum values to include in the heatmap, and you can set the heatmap's transparency.
Open this dialog to define different reports, which can be used in other dialogs. You can then send these reports via email or request them using MxManagementCenter, MxEasy, MxControlCenter or via the camera's remote control (control command, videomotionanalysis section).
This section allows getting a heatmap that covers a given time range within the range of recorded data. Firs, select the desired time range for the heatmap. Click on Get report to show this heatmap in a separate browser window.
Click in a date field to show a calendar. The days with available data have a light green background and can be selected.
This section allows testing the profiles listed in this dialog. To do so, select the desired profile and the day, then click on Get report. The distribution of objects is shown in a new window on a current live image of the camera or a reference image (if such an image has been saved; see reference image). You can print the heatmap from this window or save the heatmap as JPG file.
The following parameters are displayed for each profile:
Parameter |
Meaning |
---|---|
Profile |
Name of the profile, as it is displayed in other selection boxes. |
Export Range |
Specifies the range to be included in the report (current or last day). |
Time |
Selects the time range per day that is to be included in the report. |
Legend |
Adds a legend to the image on the heatmap report, which includes the minimum and maximum values in |
Value Range |
Usually, you will display all values in the heatmap (minimum value =
|
Transparency |
Controls the heatmap transparency. A higher value will show more of the image in the background. |
In order to to use the export features of MxAnalytics, the camera needs to store the analysis data on the integrated SD card of the camera. The data are stored on an MxAnalytics partition and are safely stored in case of a power failure. To format the SD card accordingly, open the Storage on External File Server / Flash Device dialog (Storage Target section).
You can leave this help page open during the entire process to properly follow the step-by-step instructions.
If recording has been activated on the device you would like to format, deactivate recording by selecting the None option as primary target in the Storage Target section.
If data recording of MxAnalytics has been activated on the device you want to format, you need to deactivate the recording by selecting the Deactivated option for MxAnalytics in the Storage Options section.
Permanently store the settings (Set, then Close at the bottom of the dialog, confirm system prompt) and reboot the camera.
Open the Storage on External File Server / Flash Device dialog again and select SD Flash Card in the Format Storage Medium line. Click on the Format button in the same line to start the Formatter Wizard.
In the Formatter Wizard dialog, activate the Event Recording Volume as well as the MxAnalytics Volume checkboxes, then set the size of the MxAnalytics partition (or use the preset value).
If you want to prevent misuse of the recorded data by reading the device on a computer, you should set a Data Encryption Key.
Only activate the Secure deletion mode - slow option if you would like to erase any existing data without having a chance to recover them. This formatting mode can take up to a couple of hours, depending on the size of the device.
Click on OK and confirm the system prompt. The camera shows a progress bar (this may take a couple of minutes). Once the formatting has been completed, the camera shows a summary.
Close the dialog and activate the MxAnalytics Storage checkbox in the Storage on External File Server / Flash Device dialog.
Proceed by configuring a recording target as shown in the Storage on External File Server / Flash Device help topic.
Permanently store the settings (Set, then Close at the bottom of the dialog, confirm system prompt) and reboot the camera.
Open the Storage on External File Server / Flash Device dialog and check the status at the bottom of the Storage on External File Server / Flash Device section.
The results of MxAnalytics are stored every 15 minutes. When running the analysis 24/7, the resulting volume of data can reach up to 1 GB per month. If you want to analyze longer periods of time, you need to make sure that the MxAnalytics volume is large enough. Note that once the reserved storage capacity of the partition has been reached, the oldest records will be overwritten.
In order to maximize the storage space for MxAnalytics on the SD card, you can use most of the space for MxAnalytics storage when formatting. For event storage, you can use an external file server or a USB harddisk, for example.
Click on the Set button to activate your settings and to save them until the next reboot of the camera.
Click on the Factory button to load the factory defaults for this dialog (this button may not be present in all dialogs).
Click on the Restore button to undo your most recent changes that have not been stored in the camera permanently.
Click on the Close button to close the dialog. While closing the dialog, the system checks the entire configuration for changes. If changes are detected, you will be asked if you would like to store the entire configuration permanently.