Skip to content

ROS2 implementation of YOLOv8 algorithm, mostly for Jetson.

Notifications You must be signed in to change notification settings

m-kichik/yolov8_seg_ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Репозиторий содержит ROS2 (Humble) интерфейс для работы с YOLOv8 на Jetson (версия JetPack 5). Dockerfile.aarch64, предназначенный для сборки на Jetson, наследуется от образа jetson-ros2-ultralytics:latest-humble, исходные файлы для сборки которого доступны в папке docker/docker_humble. Dockerfile для сборки ROS2 Foxy также представлен в папке docker.

Представленные инструкции позволяют собрать 2 узла:

  • yolov8_seg_node, который слушает топик с изображениями и отправляет результаты сегментации в топик segmentation_topic (формат определяется пакетом yolov8_seg_interfaces);
  • visualizer_node, который слушает топики image и segmentation и визуализирует результаты сегментации, отправляя изображения в segmentation_color_topic.

На следующем изображении приведена диаграмма совместной работы узлов: YOLOv8-ROS2-visual

Тип Objects - пользовательский, он определён в yolov8_seg_interfaces. Ниже приведена структура этого типа. ROS2-Objects

Пример визуализации visualizer_node приведён ниже с расшифровкой цветовых кодов классов объектов. ROS2-Objects

Сборка образа

cd docker
sudo ./build.sh
./start.sh
./into.sh

Работа с пакетом

Сборка пакета:

cd /colcon_ws
colcon build --packages-select yolov8_seg_ros2 yolov8_seg_interfaces --symlink-install
source install/setup.bash

В папку weights пакета yolov8_seg_ros2 необходимо положить веса, например из папки с весами, полученными на датасете с препятствиями.

Запуск launch (необходимо специализировать namespace камеры, имя топика с изображениями и путь к весам модели):

ros2 launch src/yolov8_seg_ros2/launch/yolov8_seg_launch.py camera_ns:="/sensum/left/" image_topic:=image_raw weights:="src/yolov8_seg_ros2/weights/roboseg_S_5_cats.pt"

About

ROS2 implementation of YOLOv8 algorithm, mostly for Jetson.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published