Skip to content
This repository has been archived by the owner on Sep 3, 2024. It is now read-only.

Latest commit

 

History

History
44 lines (37 loc) · 1.64 KB

README.md

File metadata and controls

44 lines (37 loc) · 1.64 KB

YOLOv5 ROS

This is a ROS interface for using YOLOv5 for real time object detection on a ROS image topic. It supports inference on multiple deep learning frameworks used in the official YOLOv5 repository.

Installation

Dependencies

This package is built and tested on Ubuntu 20.04 LTS and ROS Noetic with Python 3.8.

  • Clone the packages to ROS workspace and install requirement for YOLOv5 submodule:
cd <ros_workspace>/src
git clone https://github.com/mats-robotics/detection_msgs.git
git clone --recurse-submodules https://github.com/mats-robotics/yolov5_ros.git 
cd yolov5_ros/src/yolov5
pip install -r requirements.txt # install the requirements for yolov5
  • Build the ROS package:
cd <ros_workspace>
catkin build yolov5_ros # build the ROS package
  • Make the Python script executable
cd <ros_workspace>/src/yolov5_ros/src
chmod +x detect.py

Basic usage

Change the parameter for input_image_topic in launch/yolov5.launch to any ROS topic with message type of sensor_msgs/Image or sensor_msgs/CompressedImage. Other parameters can be modified or used as is.

  • Launch the node:
roslaunch yolov5_ros yolov5.launch

Using custom weights and dataset (Working)

  • Put your weights into yolov5_ros/src/yolov5
  • Put the yaml file for your dataset classes into yolov5_ros/src/yolov5/data
  • Change related ROS parameters in yolov5.launch: weights, data

Reference