Installation
Preparation
Windows
- Before installing OMNI Agent on Windows you might need to install Microsoft Visual C++ Redistributable for Visual Studio.
- Make sure the Windows username contains only ASCII characters.
Linux
- Set up the execution permission for the installer before running:
- Go to the directory, where OMNI Agent installer is downloaded to, and click the right button on the installation file.
- Open Properties, go to the Permission tab, and check Allow execute checkbox.
- Install libusb-0.1.so.4 (for OMNI Agent Standalone only). To do this, run the command:
apt install libusb-0.1-4
ARMv8
apt-get update && apt-get install -y libqt5gui5 libqt5qml5 libqt5xml5 libqt5widgets5
Installation
Installation with GUI
- Download OMNI Agent installer from the distribution kit.
- Once the downloading is completed, run the OMNI Agent installer and follow the installation wizard's instructions.
Installation without GUI (only for Linux/Windows x86_64)
Install the following GUI libraries:
sudo apt update && sudo apt install libxrender1 libx11-xcb-dev libxkbcommon-x11-0 libfontconfig1 fontconfig libfontconfig1-dev
Download the OMNI Agent installer from the distribution kit.
Run the installer.
Windows:
InstallOMNIAgent.exe install
The command is launched from from the console as administrator.
Linux:
sudo -E ./InstallOMNIAgent install
If you receive any warnings/errors that mention the Desktop folder, ignore them (type
Ignore
).For additional information, pass the
--help
flag.
Activation
OMNI Agent Standalone
Run OMNI Agent.
Select a Standalone license and upload/drag a license file.
Click Save. This will take you to the main page of OMNI Agent web interface.
OMNI Agent Online
- Run OMNI Agent.
- On the opened web page, select "Self-hosted", put the server domain and click on Next button. The domain is specified in the platform.values.yaml of OMNI Platform distribution kit in the field
ingress.rules.gateway.host
. - Sign in to OMNI Agent using the email and password of your OMNI Platform account. This data is specified in ./cfg/platform.secrets.json in variables
platform-user-secret.default_password
andplatform-user-secret.default_email
. - This will take you to the main page of OMNI Agent web interface.
Adding a camera
- To use an IP camera, enter the camera URL (type: RTSP).
- To use a USB camera, connect the camera to your machine and select it from the list of connected cameras (type: External camera).
When choosing a camera, try to consider the following:
- The main flow of people should go directly to the camera, and not perpendicular to it.
- The light source should be behind the camera, so that faces are not shadowed in bright light.
Select RTSP transport type
Some IP cameras are unable to report the type of transport used for data streaming. In this case OMNI Agent can be unable to open given RTSP stream.
To manually set a fixed transport type, specify its name as a form-urlencoded parameter (without a value). For now OMNI Agent supports the following types of transport:
udp
tcp
http
udp_multicast
Example 1: rtsp://localcamera.local.net:554/rtsp
?udp
Example 2: rtsp://localcamera.local.net:554/rtsp?hres=720&wres=1280
&udp_multicast
Uploading a video file
After activation, click the Add a camera button. Select the type Local video file and enter the absolute path to the file.
Camera preview / video playback
After adding a camera or video file in the web interface, a preview of the camera feed or video file should be displayed with detections of faces, bodies and skeleton joints, along with information about individuals in the camera's field of view, such as gender, age, emotions, etc. Detected faces and bodies are highlighted in the preview with bounding boxes (bbox), while skeleton joints are represented with solid or dashed lines.
Variations of bounding boxes (bbox) for detected faces
Bbox indications | Description | Preview |
Red corners | A face is detected, a person is not looking at the camera. | |
Double red corners | A face is detected, a person is looking at the camera. | |
Red corners in the shape of "+" | Poor image quality or an unsuitable head angle for accurate detection. | |
Double red corners in the shape of "+" | Poor image quality or an unsuitable head angle for accurate detection, but a person is looking at the camera. | |
Green corners | A face is identified, a person is not looking at the camera. | |
Double green corners | A face is identified, a person is looking at the camera. | |
Green corners in the shape of "+" | A face is identified, but with poor image quality or an unsuitable head angle for accurate detection. | |
Dashed red-blue corners | A face is detected, a person is within the ROI and not looking at the camera. | |
Double dashed red-blue corners | A face is detected, a person is within the ROI and looking at the camera. | |
Red-blue corners in the shape of "+" | Poor image quality or an unsuitable head angle for accurate detection, but the person is within the ROI. | |
Double red-blue corners in the shape of "+" | Poor image quality or an unsuitable head angle for accurate detection. A person is within the ROI, looking at the camera. | |
Dashed yellow-green corners | A face is identified, a person is within the ROI, not looking at the camera. | |
Double dashed yellow-green corners | A face is identified, a person is within the ROI, looking at the camera. | |
Yellow-green corners in the shape of "+" | A face is identified, a person is within the ROI, but the image quality is poor or a head angle is unsuitable for accurate detection. |
Variations of bounding boxes (bbox) for detected bodies
Bbox indications | Description | Preview |
Red bbox | The neural detector detects a body, but poor image quality prevents it from determining whether the body is previously tracked or new. | |
Green bbox | The neural detector detects a body, assigns it a unique identifier, and compares it with previously tracked bodies to determine if the person has appeared before. If the person has been in the frame before, the track is continued. If not, a new track is created for the new body with a unique identifier. | |
Blue bbox with highlighting in the ROI (Region of Interest) | The neural detector detects a body and tracks its position within the ROI. However, the event of entering the ROI is only triggered after the time specified in the run.params.json parameters has passed. |
Variations of detected skeleton joints
Indications | Description | Preview |
Solid purple line | Skeleton joints with a detection confidence above the threshold (0.5). | |
Dashed purple line | Skeleton joints with a detection confidence below the threshold (0.5). |
Configure OMNI Agent as a Linux/Windows service
After installation, you can configure OMNI Agent to operate as the OS service. This will ensure that OMNI Agent starts up automatically when the OS starts, and runs in the background.
Linux
Close the terminal with OMNI Agent.
Enable autorun of OMNI Agent when the OS starts.
sudo systemctl enable OMNIAgent.service
Start OMNI Agent in service mode.
sudo systemctl start OMNIAgent.service
Check OMNI Agent status.
sudo systemctl status OMNIAgent.service
Windows
Close the terminal with OMNI Agent.
Open Windows Task Manager -> Services -> OMNIAgent.
Right-click on the OMNIAgent service, select Properties -> General -> Startup Type -> Automatic.
Click Apply.
Deletion
To delete OMNI Agent, execute the commands below:
sudo systemctl stop OMNIAgent.service
sudo systemctl status OMNIAgent.service
sudo systemctl disable OMNIAgent.service
sudo /opt/OMNIAgent/uninstall purge