This repository contains multiple vision applications that leverage OpenVINO for computer vision tasks in robotics, including object detection, semantic segmentation, and YOLOv8-based detection. These applications provide ROS 2 integration for real-time perception capabilities using Intel RealSense cameras and OpenVINO inference engine.
Prepare the target system following the official documentation.
To build debian packages, export ROS_DISTRO env variable to desired platform and run make package command. After build process successfully finishes, built packages will be available in the root directory. The following command is an example for Jazzy distribution.
ROS_DISTRO=jazzy make packageYou can list all built packages:
$ ls | grep -i .deb
ros-jazzy-object-detection-tutorial_2.3-1_amd64.deb
ros-jazzy-segmentation-realsense-tutorial_2.3-1_amd64.deb
ros-jazzy-yolo-msgs_2.3-1_amd64.deb
ros-jazzy-yolo_2.3-1_amd64.debTo clean all build artifacts:
make cleanIf Ubuntu 22.04 with Humble is used, then run
source /opt/ros/humble/setup.bashIf Ubuntu 24.04 with Jazzy is used, then run
source /opt/ros/jazzy/setup.bashFinally, install the Debian packages that were built via make package:
sudo apt update
sudo apt install ./ros-$(ROS_DISTRO)-object-detection-tutorial_*_amd64.deb
sudo apt install ./ros-$(ROS_DISTRO)-segmentation-realsense-tutorial_*_amd64.deb
sudo apt install ./ros-$(ROS_DISTRO)-yolo-msgs_*_amd64.deb
sudo apt install ./ros-$(ROS_DISTRO)-yolo_*_amd64.debTo run unit tests (implemented with colcon) execute the below command with target ROS_DISTRO (example for Jazzy):
ROS_DISTRO=jazzy make testThere is a set of prepared Makefile targets to speed up the development.
In particular, use the following Makefile target to run code linters.
make lintTo run license compliance validation:
make license-checkTo see a full list of available Makefile targets:
$ make
Target Description
------ -----------
clean Clean up all build artifacts
license-check Perform a REUSE license check using docker container https://hub.docker.com/r/fsfe/reuse
lint Run all sub-linters using super-linter (using linters defined for this repo only)
lint-all Run super-linter over entire repository (auto-detects code to lint)
package Build Debian packages
source-package Create source package tarball
test Test code using colconThis repository contains three main applications:
The Object Detection application provides real-time object detection capabilities using OpenVINO and Intel RealSense cameras. It supports various pre-trained models and can be customized for specific detection tasks.
For detailed usage instructions, see the Object Detection Tutorial documentation.
The Segmentation application demonstrates semantic segmentation using OpenVINO with Intel RealSense depth cameras. It provides pixel-level classification for scene understanding.
For detailed usage instructions, see the Segmentation Realsense Tutorial documentation.
The YOLOv8 application provides state-of-the-art object detection using the YOLOv8 model optimized with OpenVINO. It offers high-performance real-time detection for robotics applications.
For detailed usage instructions, see the YOLOv8 OpenVINO Tutorial documentation.
OpenVINO Vision Applications is licensed under Apache 2.0 License.