Skip to main content
Version: latest

Integration

Ultinous AI Suite is not only a stand-alone solution, but can be used in an integrated system as well. Each article contains valuable information about the required settings in Ultinous AI Suite, as well as in the corresponding third-party software.

General concept‚Äč

Components‚Äč

The integration has 3 components:

  • Ultinous AI Suite

  • Third party application (preferably a VMS)

  • a Connector

Note: In this document, the Third party application is often referred to as VMS, however it can be any software with similar capabilities.

Topology‚Äč

Ultinous AI Suite‚Äč

  • Receives video streams from cameras.
  • Detects incidents.
  • Notifies the operator on its user interface.
  • Sends Event messages with metadata to an external API via HTTP.

VMS‚Äč

  • Receives good quality video streams from cameras.
  • Stores video/Provides user interface for operators including incident management.
  • Has an interface to receive real time notifications (alarms/events) from external sources.

Connector‚Äč

  • Dedicated to a specific VMS.
  • Usually running on the same machine as the VMS.
  • Associates streams registered in Ultinous AI Suite with streams registered in the VMS (easier if the VMS provides a unique identifier for each camera).
  • Receives Event messages or pulls count data from Ultinous AI Suite.
  • Converts Ultinous AI Suite Events to a message which is readable by the VMS.

Capabilities‚Äč

Capabilities are determined by both Ultinous AI Suite and the VMS. The following information is available in the Ultinous AI Suite Event’s metadata:

  • the incident‚Äôs type (Intrusion and Crowd Detection, Multi Object Detection and Multi Object Counter)
  • the timestamp of the incident
  • camera identifier(s)
  • the detections‚Äô coordinates in the camera frame
  • confidence value - events with lower confidence can be filtered in order to decrease false positive alarms

(Learn more about the metadata for your [Custom Integration]...)

This information is translated by the Connector component. The capabilities of the VMS may limit the forwarded information and the overall end user experience.

Example scenario‚Äč

Installation‚Äč

  • Ultinous AI Suite is installed on an NVidia Jetson NX box.
  • The VMS is installed on a Windows server.
  • The Connector is installed on the same machine.
  • Both machines are on the same local network with fixed IP addresses.

Configuration‚Äč

VMS‚Äč

The VMS is configured according to its own documentation with the following requirements:

  • Observed Cameras must be registered in both Ultinous AI Suite and in the VMS. The VMS may use the primary stream of the cameras with higher resolution and FPS compared to Ultinous AI Suite. A unique identifier should be memorized for each registered camera. The identifiers will be used in Ultinous AI Suite configuration.
  • Access credentials for the connector.
  • All other settings in order to receive external events.
Connector‚Äč

Connector must have the following information:

  • Access credentials for the VMS.
  • An unused port for its service.
  • The (network) location of the VMS interface.
Ultinous AI Suite‚Äč

Ultinous AI Suite is configured according to its own documentation with the following exceptions:

  • Observed Cameras must be registered in both Ultinous AI Suite and in the VMS. Ultinous AI Suite often uses a secondary stream of the same camera with lower resolution and FPS.
  • Cameras‚Äô Technical names must be set. Each technical name should be unique and should match the unique identifier of the same camera in the VMS.
  • The network address of the Connector (host, port) must be set in the alarm configuration.

Workflow‚Äč

In this example let’s say we configured intrusion detection in Ultinous AI Suite.

  1. The intruder enters an observed area.
  2. The camera stream is sent to Ultinous AI Suite.
  3. Ultinous AI Suite detects the intruder and immediately sends an Event to the Connector.
  4. The Connector converts the incoming Event and sends it to the VMS.
  5. The VMS triggers an alarm and notifies the operator.

Implementations‚Äč

Video Management Systems (VMS)‚Äč

Milestone XProtect and Mobotix HUB‚Äč

Milestone XProtect is one of the most popular Video Management Systems. Ultinous AI Suite is able to send alarms to this system so you can manage incidents in your well known platform. Mobotix HUB is also capable of receiving alarms - see the Milestone XProtect integration guide for configuration.

Genetec Security Center‚Äč

The Genetec Security Center software suite is a leading Video Management System to which Ultinous AI Suite has the capability to send alarms.

Nx Witness and Wisenet Wave‚Äč

Nx Witness is a cross-platform IP video management system / video surveillance software designed to discover, view, record, and manage IP video cameras. It allows integration with 3rd party AI, analytics and I/O devices - Ultinous AI Suite being one of them.

Central Station Monitoring (CSM) services‚Äč

Immix CS‚Äč

Immix CS is a software able to operate in Central stations and consolidates a wide range of security products into one operator interface.

SureView Response‚Äč

SureView is a Software-as-a-Service able to provide a single screen to coordinate alarms and events that comes into a Security Operations Center from any source. Ultinous AI Suite is able to interface with it.

Sentinel‚Äč

Sentinel is a state of the art alarm handling Alarm Monitoring Software by Monitor Computer Systems.

Google BigQuery‚Äč

Google BigQuery is a serverless data warehouse providing scalable data analysis. Solutions can export their output to be monitored live in BigQuery.

Alarms via E-mail‚Äč

Ultinous AI Suite can be configured to send alarms via e-mail. This enables you to use Ultinous AI Suite in conjunction with e-mail notifications, or omit the use of Ultinous AI Suite altogether. The service can be set up to be used by either human beings or automated systems.

Alarm API‚Äč

This guide will aid developers in order to receive and process alarms triggered by Ultinous AI Suite to be integrated with their custom solution.

Counter API‚Äč

For people, vehicle and traffic counting.

Ultinous AI Suite's measurement-based counters are designed to be used with custom third party software. Read the Counter API guide to learn how the data created by the counters can be read from Ultinous AI Suite.

Monitoring‚Äč

SNMP‚Äč

SNMP settings are available in the Control Panel.

Status via HTTP API‚Äč

You can programmatically acquire several metrics from the Ultinous AI Suite via its HTTP API.

The response contains a JSON object with the available metrics. Integrating applications should accept unknown keys in the response, as new metrics may be added in later versions.

The endpoint is authenticated via API token in the Authorization header, see here.

Standard HTTP response codes are used:

  • 200 for successful response
  • 401 for authentication failure
  • >=500 if the API could not respond due to error

The following example uses curl to test if the Ultinous AI Suite API endpoint is reachable.


curl -H 'Authorization: Bearer <API token>' -H 'Accept: application/json' 'http://<address-of-ualarm>/API/system/status'

or if HTTPS is configured

curl -H 'Authorization: Bearer <API token>' -H 'Accept: application/json' 'https://<address-of-ualarm>/API/system/status'


Response body:

{

"sysuptime": 78792, //< system uptime in seconds

"avgcpu": 22, //< average CPU utilization

"avggpu": 0, //< average GPU utilization (used by video analitics)

"ram_available_megabytes": 4900, //< unused RAM

"ram_used_megabytes": 7859, //< RAM usage

"ram_used_pcnt": 38, //< RAM used percentage

"ualarm": {

"systemstatus": 1, //< 1=OK, 2=ERROR

"videostorage_total_bytes": 491182010368, //< storage assigned for Event videos

"videostorage_free_bytes": 401370316800, //< storage free

"videostorage_used_pcnt": 19, //< storage used percentage

"systemstatus_msg": " ", //< if systemstatus is 2, a message describes it.

"cameras_statuses": [
{
"id": "cam5",
"display_name": "display name of cam5",
"technical_name": "technical name of cam5",
"problems": []
},
{
"id": "cam7",
"display_name": "Garage",
"technical_name": "garage cam",
"problems": []
}
]
}
}