Skip to content

CVEDIA-RT Integration with Milestone XProtect

The integration of CVEDIA-RT with the XProtect VMS solution from Milestone is facilitated through a VMS plugin and a controller service that can run on the Windows operating system. The CVEDIA-RT plugin enables powerful analytics capabilities in your Milestone system, enhancing the effectiveness of your surveillance operations.

This guide will take you through the process of setting up and using this integration.

Initial setup requirements

Our analytics solution is only compatible with XProtect Professional+, XProtect Expert, and XProtect Corporate version 2023 R2 or newer.

Please check https://www.milestonesys.com/products/software/xprotect-comparison/ to learn more about the different variants of Milestone software.

CVEDIA-RT Integration also requires a dedicated user account in Milestone VMS to correctly communicate with our analytics engine. This user has to be in an administrator role and can be added by following these steps:

Adding a dedicated Milestone user

On the target system, open the management client and sign in with administrator credentials. In the tree view on the left, choose Security > Basic Users and right-click on the Basic User view to bring up the context menu.

Create basic user

Choose Create Basic User and specify the user name and password. Make sure the Force Basic User to change password checkbox is not checked:

Set credentials

Next, navigate to Security > Roles in the tree view on the left and select Administrators role. Press the Users and Groups button to view assigned users:

Assign to admin group

Press Add to select the previously created user and assign them to the Administrator role.

Installation process

Updating to a new release

Before running the installer to update to a new release of the CVEDIA-RT Plugin, make sure to stop the CVEDIA Controller Service in the Windows' Services application.

After launching the installer you will be greeted with a window similar to this:

Donwloader start

Press the Download button to start downloading the necessary installation files. In the next step, you can choose to automatically activate the CVEDIA-RT trial license:

Installer start

After that the installation process is ready to start - it shouldn't take more than a few minutes:

Install in progress

If you choose to activate the trial license, a pop-up will appear to inform you if the operation was successful:

Trial actiated

The next step is to provide credentials for the dedicated Milestone XProtect user:

Set Milestone user

You can also choose to run CVEDIA-RT locally or on a remote device, by autodetecting the IP or by specifying one. For an all-in-one setup, use the local RT option.

RT Local or Remote

The last step of the installation is to validate if the provided credentials are correct. If the validation is successful, the installation process will be complete.

You can check the Management Client to see if our plugin was correctly loaded, by selecting Help / About:

Plugin info start

License Management

You can activate and deactivate new CVEDIA-RT licenses from within the Management Client by navigating to the MIP Plug-ins / CVEDIA RT Plugin page. The operation may require a few seconds. You can refresh the management client page by pressing F5 to check if the changes have been applied.

RT Licenses

If you didn't choose to activate a trial license during installation you can also do this here by clicking on the Activate Trial License button.

CVEDIA-RT Analytics Guide

Once the initial setup is done, you can use our solution directly in XProtect Smart Client. CVEDIA-RT analytics are available in all streams in your current view, and you can access the configuration menu by pressing the CVEDIA logo in the top right corner:

Open analytics

This will open a new window where you can configure analytics for that specific view. You can find more details about the various options and what they do in the sections below.

General settings

Genera settings

The general settings section contains the options that apply to all our different analytic scenarios for this camera stream.

Click on the Enable analytics checkbox to activate the analytics on a given stream. This operation will increase the number of active channels. Please be sure your license has enough channels.

If the checkbox is unchecked, the stream is ignored and not counted toward the limits of the license.

Camera rotation allows you to specify rotation of the stream (for example when the camera device itself is rotated).

AI Tracking Speed setting lets you choose between default, fast and very fast options, and corresponds to the amount of frames per second that are processed by our analytics. Options other than default will make the tracking of fast moving objects more accurate at the expence of additional computation impacting on the maximum number of channels that the server can handle.

Appearance search dropdown box allows you to turn on appearance analytics for people, vehicles, or both.

Analytics options

Our analytics are configured by placing one or more trigger zones or lines on top of your stream and selecting which objects it should react on. Depending on your use case, you can select one or more of the available options and create virtual zones and lines. Analytic events will be produced whenever a specified object class interacts with the zones and lines.

Intrusion detection

On the screen above you can see an Intrusion Detection zone called Area1 which detects people intruding in the zone defined by the yellow polygon. You can Add multiple zones or remove previously created ones via the Delete button. The Display on Video option allows you to show the zone overlayed on top of your view.

Drawing a zone or a line

Clicking on the stream's captured image allows you to draw the zone yourself via our zone drawing tool:

Drawing a zone

Trigger zones or lines are required

CVEDIA-RT will not perform any action until you place at least one trigger zone or line. This is a necessary configuration step for each stream you wish to run our analytics on.

The color palette buttons can be used to choose which color to use. This can be useful when using multiple zones in the same view.

To start drawing a polygon or a line, simply click on the image to place vertices. To complete the drawing of a polygon, click on the starting point. To complete the drawing of a polyline click on the last inserted point.

Once a polygon or a line is completed, you can move the entire shape or individual corners, create new corners by clicking on the middle points that appear in the center of the segments, and remove points with the right mouse button.

The Clear button deletes any existing polygons or lines so you can start over again.

The Fullscreen button is available only when drawing polygons and is a shortcut to quickly create a polygon that encompasses the entire view.

Global settings

Important

The Global settings are applied to all the channels where the analytics are enabled.

Global settings

Profile allows you to choose between Starndar and Hi-res profile.

Standard mode is the default suggested profile, offering optimal performance while maintaining high precision for common security analytics. This mode uses the secondary camera stream. This configuration ensures a balance between system performance and detection accuracy.

Hi-res mode utilizes a larger AI model and the primary camera stream, enhancing the detection of smaller targets at a distance or in more crowded environments. Enable this mode only if the Standard mode proves insufficient.

Restart the service

To ensure that the Hi-res mode is correctly applied, you need to restart the CVEDIA Controller Service in the Windows' Services application.

Enable statistics displays detailed information about the current state of the analytics, overlayed in the top left corner of the camera view.

Enable expert mode makes the Expert Settings to appear in the left menu.

Expert settings

Global settings

Max AI Resolution settings allow you to adjust the maximum resolution that the AI will process. By default, the maximum resolution is defined by the profile specified in the Global Settings. However, you can modify this to suit specific needs.

  • If you set a value higher than the camera’s resolution, the plugin will automatically revert to the camera’s native resolution.
  • Increasing the maximum resolution can enhance detection of very small targets

Important

Only increase the resolution if required, as it may negatively impact system performance.

Detection Sensitivity

Increasing detection sensitivity improves the ability to detect challenging targets (e.g., smaller, occluded, or affected by lens noise) but may lead to more False Positives. Change “Detection Sensitivity” settings to “High” if the system misses events involving small objects or in busy scenes.

Movement Sensitivity

Movement sensitivity controls how the system determines whether motion is occurring. Environmental factors such as rain, snow, camera noise, and light reflections, can cause false motion detection. Lowering motion sensitivity can minimize these false detections, but it increases the risk of missing fast-moving objects or objects visible for a very short time.

Search functionality

Once the analytics are configured on at least one stream, events will be produced in the Milestone XProtect system. You can view them using the search functionality in Smart Client. Click on the Search tab, and select cameras that have CVEDIA-RT analytics enabled.

Press Search for... button and select "Smart Events" to search for CVEDIA-RT events. Adjust to a specific timeframe and you should see all the events produced by our analytics during that time. Your search can be further refined by applying filtering options. Here you can specify which object class to search for, and for specific analytics:

Milestone Smart Events filters

Rules based on analytic events

In the Management Client you can now configure new rules based on our Analytic Events. Here is the list of the available events you can use:

Analytics Events

Advanced configuration options

This section contains information about advanced configuration options that are available for Milestone system administrators. These options are not required if the installation and configuration process completed successfully, but may be of value for more specific use cases.

Changing dedicated Milestone user credentials

In case you wish for our integration to use a different Milestone user, you can change the credentials without editing any configuration files. This is done by running the controller executable from the command line and passing necessary information as parameters.

Make sure controller service is stopped

Before proceeding with the following steps, ensure that the CVEDIA-RT Controller Service is stopped. This can be verified through the Windows Services application.

Navigate to the C:\ProgramData\CVEDIA\CVEDIA-RT\files\MilestoneController folder where our integration was installed and launch a new adminstration command prompt session. You can run rtcontroller.exe executable with the following options:

.\RTController.exe -c -u <username> -p <password> -a <method> -s -m <server_uri> -r -i <remote_ip>

This will cause the controller to run in a special mode, in which it will attempt to login into Milestone system using the specified credentials. If successful, the new settings will be automatically saved and reused in the future.

Please refer to the table below for more details about the different parameters.

Parameter Required Description
-c YES Runs the controller executable in credential setting mode.
-u username YES Specifies the new user name that should be used
-p password YES Specifies the password for new user
-a method YES Authentication method to use when logging into Milestone. Our integration requires Basic user authentication (please see the installation guide for more details)
-m server_uri YES URI of Milestone server to use (eg. http://localhost)
-s NO Optional parameter that enforces using a secure connection when connecting to Milestone. Depending on your system setup, this might have to be used in order to correctly log into Milestone VMS.
-r NO Optional parameter that enables CVEDIA-RT remote mode. Should not be used unless you have CVEDIA-RT running on a different server
-i remote_ip NO Optional parameter specifying the IP to use for the remote CVEDIA-RT server. Can be used only when using the -r parameter above. If the IP is not specified, the CVEDIA-RT server will be auto discovered in the network

Below is an example that changes the options to use basic Milestone user TestUser, with both the Milestone server and CVEDIA-RT running locally:

RTController.exe -c -u TestUser -p Password123! -a Basic -m http://localhost

Remember to start controller service

If you manually stopped the CVEDIA-RT Controller Service in the Windows Services app, please be sure to restart it.