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

Streaming from an OAK-D PoE using Xlink and Using OpenVINO for 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
Copy link
Outline
Streaming from an OAK-D PoE using Xlink and Using OpenVINO for inference
1.0 Build Sensor Stream Pipe for OAK-D Xlink
2.0 Use Sensor Stream Pipe to Stream OAK-D frames using Xlink