Milestone XProtect integration
Milestone XProtect is the industry-leading open platform VMS for IP camera-based security and CCTV. The integration between SmartFace Platform and Milestone XProtect VMS enhances the Milestone VMS with face recognition capabilities. The main advantage of this integration is that information processed by SmartFace Platform is displayed and stored by Milestone XProtect VMS together with processed video streams.
Key features overview
Milestone XProtect Smart Client receives notifications about detected or identified persons
Detected or identified persons are displayed with:
Cropped image
Time of detection
Estimated age
Estimated gender
Camera name
Watchlist name (in the case of identification)
Matched score (in the case of identification)
Milestone XProtect Smart Client displays recorded videos from the time when a person was detected and identified.
Architecture overview
Integration between SmartFace facial recognition software and Milestone XProtect video management system (VMS) is done through the SmartFace - Milestone Agent.
SmartFace - Milestone Agent processes notifications from SmartFace and transforms them into data structures, called Analytics Events, which are used by Milestone XProtect. SmartFace is processing the same video streams (RTSP) from cameras as Milestone XProtect. Therefore, it is required to map cameras configured on both sides (see the chapter Configuration of the Milestone integration).
Analytics Events with information from SmartFace are then displayed in SmartFace Alarm plugin installed on XProtect server.
Integration between SmartFace and Milestone XProtect
Milestone Agent
Milestone Agent is .NET console application that is registered as a Windows service. This service listens to ZeroMQ notifications from SmartFace and transforms them into Analytics Events that are sent to Milestone XProtect server. The following notifications are transformed into Analytics Events:
Transformation of SmartFace notifications into Milestone XProtect Analytics Events
It is required that the Agent connects to both SmartFace and Milestone XProtect server. Configuration of connectivity to both servers is read from a JSON file which is generated by Agent Configurator. For more information about this component, see the section Agent configurator below. The Agent automatically reloads its configuration when the JSON file is created or edited.
The configuration file is located at:
C:\ProgramData\Innovatrics\SmartFaceMilestoneAgent\SmartFace_Milestone_Config.json
Logs for this service are located at:
C:\ProgramData\Innovatrics\SmartFaceMilestoneAgent\smartface_milestone_service.log
Agent Configurator
Agent Configurator is a Windows desktop application which enables you to easily set up all required configuration properties for the integration between SmartFace and Milestone XProtect and ensures that properties inserted are valid. With this application you configure a connection to SmartFace, Milestone XProtect and the mapping of cameras between these two servers. Created or modified configuration is automatically read by SmartFace - Milestone Agent.
Logs for this desktop application are located at:
C:\ProgramData\Innovatrics\SmartFaceMilestoneAgent\smartface_milestone_configurator.log
SmartFace Alarm plugin
When notifications are sent from SmartFace, you can see them in Milestone XProtect Smart Client as Analytics Events. These events include information extracted in SmartFace. SmartFace Alarm Plugin renders and displays this information in XProtect Smart Client Alarm Manager. Alarm Manager is a module that is included in XProtect Smart Client automatically from version Express and higher.
Installation of Milestone XProtect integration
For the proper functioning of the integration, it is required to install SmartFace Platform, Milestone XProtect and the integration components: SmartFace – Milestone Agent and Alarm plugin. SmartFace and Milestone XProtect should be successfully installed before you start to install the integration components.
The following chapter describes the process of installation and configuration of the integration components in these steps:
- Installation of Milestone XProtect integration
- Install and configure SmartFace Platform
- Install Milestone XProtect
- Configuration of the Milestone integration
- To configure the integration
- XProtect Smart Client
- Trigger alarms in XProtect
Install and configure SmartFace Platform
Install SmartFace Platform v5) For information on how to install SmartFace Platform, see Installation on Windows using installer.
Install Milestone XProtect
Milestone provides several versions for XProtect VMS from free Essential version to large-scale Corporate installation. However, the integration requires that XProtect VMS includes the Alarm Manager module. This module is available only from Express version and higher.
For more details about XProtect versions, available functionalities and modules, please see the Milestone Product Index (product matrix).
For further details and installation steps, please see the XProtect Manual and Documentation.
Install and configure integration components
Install SmartFace – Milestone Agent
Installation of SmartFace – Milestone Agent also installs Agent Configurator and creates a desktop shortcut for this application.
It is also mandatory that the TCP port 2406
on SmartFace Platform is opened for the correct reception of SmartFace notifications.
To install SmartFace – Milestone Agent
Download the .exe installer from the Customer Portal.
Run this Windows x64 based installer, which creates, registers and starts SmartFace – Milestone Agent service.
The default folder where the Agent is installed is
C:\Program Files\Innovatrics\Milestone Agent
Install SmartFace Alarm plugin
To install SmartFace Alarm plugin:
Download the SmartFace Alarm plugin from our Customer Portal.
Extract the downloaded .zip file.
Create the folder SmartFaceAlarmPlugin on the machine that hosts Milestone XProtect server in the destination:
C:\Program Files\Milestone\MIPPlugins\
Copy the extracted files into the created folder. The expected path should look like:
C:\Program Files\Milestone\MIPPlugins\SmartFaceAlarmPlugin
Restart Milestone XProtect server. The plugin will be loaded only after the restart.
After the installation, please follow the steps in the chapter Configuration of the Milestone integration.
Configuration of the Milestone integration
Agent Configurator is a simple Windows desktop application with a graphic user interface. Its purpose is to configure the integration between SmartFace and Milestone XProtect.
The configuration includes these steps:
Configure SmartFace connection.
Configure Milestone XProtect connection.
Configure camera mapping between SmartFace and Milestone XProtect.
To configure the integration
Open AGENT CONFIGURATOR.
Set Server URL to the SmartFace API endpoint. Server URL should contain a hostname and a port for this endpoint. The default SmartFace Web API port is
8099
. If the Agent Configurator is installed on the same server as SmartFace, you can set the hostname as alocalhost
.
- Specify Server URL for Milestone XProtect and the correct credentials. Make sure that the user used in the configuration belongs to the group which has read rights for camera configuration in Milestone Recording server and also rights to send Analytics Events. If the Agent is installed on the same server as XProtect, Server URL can be set as
localhost
.
- When the connection to both servers is successfully established, Agent Configurator will load all configured cameras from both servers and display them in the following screen. Pair the SmartFace cameras to cameras processed by Milestone XProtect. Notifications about detected and identified persons will be received only from cameras that are mapped.
- Save the changes by clicking Apply. After that, SmartFace – Milestone Agent will automatically reload its configuration created or edited by Agent Configurator. Notifications about detected and identified persons are now sent to Milestone XProtect.
XProtect Smart Client
Information extracted in SmartFace is displayed as Analytics Events in XProtect Smart Client, under the Alarm Manager tab in the bottom pane. If Analytics Events are not visible and a list of alarms is displayed instead, please follow these steps:
Select the pane where the alarms are displayed.
Click Setup in the right top corner.
In the Properties pane located on the left choose Event as a Data Source
Click Setup.
Setting up Analytics Events instead of alarms in XProtect Smart Client
If the configuration of the integration between SmartFace and XProtect is correct, a notification about detected and identified persons is displayed at the bottom of the pane. The column Message displays whether a face was only detected or also identified against a watchlist for the received Analytics Event.
For every detected or identified person, you may view further information by selecting the specific row.
Detected person
For a detected person a notification contains the following information:
Cropped image
SmartFace camera name
Estimated age
Estimated gender
Biometric quality
Detection time
Milestone camera name
Notification about detected person in XProtect Smart Client
Identified person
For an identified person the notification contains the following information:
Cropped image
Watchlist image
SmartFace camera name
Watchlist name
Name of the watchlist member (identified person)
Identification time
Matching score
Milestone camera name
Notification about identified person in XProtect Smart Client
XProtect server can be configured to record a video sequence from live streams based on received Analytics Events. If the recording of video sequences in XProtect server is enabled, the recorded sequence of the video footage will be displayed next to the notification from SmartFace.
Trigger alarms in XProtect
It is possible to trigger alarms in XProtect based on the notifications about detected and identified persons sent from SmartFace.
Before you can set up an alarm, it is necessary to define an Analytics Event in Milestone XProtect Management Client for every type of event (detected and identified) received from SmartFace. Analytics Events must be named the same as the events received from SmartFace. You can find the event names from SmartFace in the messages displayed in XProtect Smart Client.
Please follow these steps to define Analytics Events:
Open Milestone XProtect Management Client.
Unfold Rules and Events in Site Navigation.
Right-click Analytics Events.
Click Add New …
Choose the name of the event between:
SmartFacePersonDetected
SmartFacePersonIdentified
Save the Analytics Event.
After you created Analytics Events with correct naming, you may set up multiple alarms with various rules, triggered based on the incoming events. For more information, see the Milestone documentation.