Streaming an OAK-D using Xlink

How to pull data from an OAK-D using Xlink and use OpenVINO to run inference

Currently the OAK-D Xlink build is dependent on OpenVINO library for functionality. Even if you decide to not use OpenVINO the library still requires OpenVINO to be installed to function properly.

1.1 Ensure that OpenVINO environment variables are set in the command terminal

Linux: source /opt/intel/openvino_2021/bin/setupvars.sh

Windows: C:\Program Files (x86)\Intel\openvino_<version>/bin/setupvars.sh

1.1 Follow the instructions: Installation Windows or Installation Linux and use the -DXLINK_ENABLED=TRUE flag when building

You will likely need to edit oakd_xlink_reader.cc to grab the exact frames and run the model you want on those frames

Currently oakd_xlink_reader.cc does the following:

Why run inference and output the results in Sensor Stream Pipe?

We wanted to use an example that you can follow from OpenVINO documentation so you can upload different models to /models. You can extend SSP to support additional frames such as inference results from an OpenVINO model.

2.1 Run SSP client to show the color frames

./ssp_client_opencv 9999

2.2 Update serve_xlink_raw.yaml to use the IP address of your OAK-D PoE (line 8)

2.3 (only if Linux) Create USB rules for PoE

echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="03e7", MODE="0666"' | sudo tee /etc/udev/rules.d/80-movidius.rules

This creates that /etc/udev/rules.d/80-movidius.rules . It's required when using the DepthAI USB interface, for regular users (non root)

2.4 Trigger OAK-D to send SSP reader frames through Xlink

./ssp_server ../../configs/serve_xlink_raw.yaml

Last updated