Network Optix Integration

This page is to detail how to set up Network Optix so that it integrates with Scailable Edge Ai Manager.

Network Optix Installation

The Network Optix installation comes in two applications, NX Witness Server and NX Witness Client. The server should be installed on the device that AI inference is intended to be run on, along with the Edge AI Manager. This is also the device the cameras are connected to. The client can be installed on any, or multiple, device(s) with network access to the server. From the client, the video streams can be viewed and managed. Follow the instructions on the Network Optix installation page:
For Ubuntu 22.04 users, only the latest beta version of Network Optix Server adds support for Ubuntu 22.04. As of writing, this can be found here:

Plugin Installation

Visit the Scailable Network Optix GitLab page for compilation and installation instructions for the Scailable Network Optix plugin:
After this step, the plugin should be installed. If the NX Witness Server is running, it may have to be restarted to detect the plugin. This can be done via the web interface.

Plugin Configuration

If the plugin was detected, a 'Plugin' tab should be visible when opening a camera's settings:
Camera Settings Navigation
The plugin can be enabled/disabled per camera on the Plugins tab:
Scailable Plugin Tab

Visualizing Bounding Boxes

If a model which outputs bounding boxes is selected and running, bounding boxes can be visualized by visiting the Objects tab on the right pane in the NX Witness Client:
Visible Bounding Boxes in NX Witness Client

Adding Event Rules

The Scailable plugin can generate a number of events. Network Optix gives the user control over what these events should do, from sending an email to showing a notification. In this example, we will show a text overlay on the video.
Rules can be added by navigating to the Camera Rules menu:
On the Event Rules window, click the Add button to add a new rule. From here, several options are available. First, on the left side, select Analytics Event from the When context menu. This is the type of event the Scailable plugin generates. Select any, or multiple, camera(s) in the At context menu. Under the Event Type context menu, you will find a number of event types the Scailable plugin can generate, from alarms to counting objects. In this example, we will select the Objects Counted type. On the right side, it can be configured what should be done when one of these events is triggered. Here you could set up an email or notification trigger. In this example we will select the Show text overlay option in the Do context menu at the source camera.
Example Settings for Objects Counted Rule
If set up correctly, and a model generating counts is selected and running, we should see an overlay on the camera feed showing us the object counts:
Example of Objects Counted text overlay

Edge AI Manager Configuration

In order for the Scailable plugin to operate with the Edge AI Manager, a number of settings need to be adjusted in the Edge AI Manager settings file. First, since the Scailable Network Optix plugin sends information to the Edge AI Manager over a Unix domain socket, the Edge AI Manager needs to be told to expect inputs on its socket. This can be done by setting the InputDriver to "SOCKET".
Second, the Edge AI Manager sends its results back to the plugin via a separate Unix domain socket. This is configured by setting the OutputProtocol to "SOCKET" as well.
Finally, the Edge AI Manager needs to know where to send the output. Since a Unix domain socket is communicates via a filepath, we can set the OutputLocation to "/opt/sclbl/sockets/output_socket.sock", since this is where the Scailable plugin is expecting input.
Once these settings are in place, and the browser has not overwritten them, the Edge AI Manager should be ready to operate alongside Network Optix! Select a model, and run. If the plugin is enabled in Network Optix, the Edge AI Manager should receive inputs and return results which can then be handled in Network Optix.