v1.0.0 - 2025-01-28 - First release v1.0.1 - 2025-02-14 - Updated ONNX version information
The Network Optix Model Zoo is your go-to destination for pre-trained AI models tailored for seamless integration into the Network Optix platform. These models are carefully selected and formatted to work effortlessly with the Nx AI Manager, enabling you to bring powerful AI capabilities to your projects with ease.
To meet the compatibility requirements for Nx AI Manager XPU runtimes, we advise using or exporting only ONNX versions up to 1.15.0. This version is solely compatible with Python 3.11. We refresh our runtimes at least every six months, so feel free to check back periodically for updates on the latest ONNX version support. To install ONNX 1.15.0 for Python 3.11, you can use the following pip command:
pip install onnx==1.15.0
For inference purposes, ONNX models are typically executed using the ONNX Runtime. The ONNX Runtime version 1.17.0 supports ONNX opset version 20 and is compatible with Python 3.11. To install the ONNX Runtime for CPU execution, use:
pip install onnxruntime==1.17.0
If you require GPU support, you can install the GPU version of ONNX Runtime:
pip install onnxruntime-gpu==1.17.0
Always ensure your development environment aligns with the above versions to maintain compatibility with your Nx AI Manager XPU runtimes.
To get started with the Network Optix Model Zoo, you need to have:
- a Linux machine compatible with the Nx AI Manager, namely Ubuntu 20.04 or later, with a CPU supporting AVX2 instructions. For more technical details, please check out the Nx AI Manager documentation.
- Furthermore, an account in the Nx Cloud is required to deploy the AI models.
On the relevant machine, follow the steps below to install the Nx software stack:
- Install the Nx Meta server by following the steps here.
- Install the Nx AI Plugin by following steps here.
- Install the Nx Meta client on any machine by following steps here. Once that is done, you can access the Nx Meta server from the client machine by connecting them as shown here.
- From the Nx client, you can configure the Nx AI Plugin by following steps here.
- Finally, upload one of the models from the Model Zoo to the Nx Cloud by following steps here, and deploy it with the Nx AI Manager by following steps here.
When deployed with the Nx AI Manager, these models use acceleration from Intel, Nvidia, Hailo, or MemryX, depending on the hardware and model support.
The Network Optix Model Zoo offers a curated collection of pre-trained AI models optimized for seamless integration with the Nx EVOS. The models are custom versions of the original ones that were modified in order to meet the ONNX requirments needed by the Nx AI Manager. These conditions are set to ensure the models benefit from built-in pre-processing, post-processing, and visualization capabilities.
Below is a table that summarizes the available models along with their descriptions and sources.
| Model Name | Description | Reference |
|---|---|---|
| Barcode detection | Detects position of barcodes in images | Based on Yolov8 |
| Barcode decoding | Reads digits of one barcode | Based on Yolov8 |
| Bee detection | Detects position of bees in images | Source |
| Eggs detection | Detects position of eggs in images | Source |
| Emotion recognition | Recognizes the emotion of a person's face | - |
| Face detection | Detects faces in images | Source |
| Gauge reader | Detects a gauge boundaries and needle position | Based on Yolov8 |
| Image super-resolution | Increases image resolution with minimal quality loss | Source |
| Low-light image enhancement | Improves quality of image captured under low-light conditions | Source |
| OpenAI CLIP | Detects whether an image corresponds to a person, car, dog or a cat. But can be easily customized. | Source |
| Personal Protective Equipment | Detects people and PPE like hats and vests | Based on Yolov4 |
| QR code detection | Detects position of QR code in images | Source |
| Yolo models | Collections of pre-trained YOLO models | - |
Each model directory contains an MP4 video file that can be used to test the model's performance. You can download the video file and use it to mimic a camera stream using the Nx test camera feature.
In short, you can use this command to run the test camera:
video_path=<video-path>
video_path=$(realpath "$video_path")
/opt/networkoptix-metavms/mediaserver/bin/testcamera -S -I 127.0.0.1 files="$video_path"For the sake of simplicity, the Network Optix Model Zoo contains a limited number of models. However, the Nx AI Manager supports many models that can be deployed on the platform.
If you have a custom model that you would like to run on the Nx AI Manager and is based on a common architecture, you can convert it to a compatible ONNX using the tools provided by Nx in the Model to ONNX repository.
If you encounter any issues while following the tutorials or want to request a model, please open an issue in this repository.