Skip to content

基于YoloV5的ROS2功能包,可以快速完成物体识别与位姿发布。

Notifications You must be signed in to change notification settings

JiaqiangZhang/yolov5_ros2

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YoloV5_ROS2

基于YoloV5的ROS2封装,给定模型文件和相机参数可以直接发布三维空间置进行抓取操作。

1.安装依赖

sudo apt update
sudo apt install python3-pip ros-<ros2-distro>-vision-msgs # <ros2-distro>替换为humble,foxy或galactic等ros2发行版
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple yolov5

2.编译运行

colcon build
source install/setup.bash
ros2 run yolov5_ros2 yolo_detect_2d --ros-args -p device:=cpu -p image_topic:=/image

使用真实相机,修改默认话题image_topic:=/image,并在另一个终端中运行如下命令

ros2 run image_tools  cam2image --ros-args -p width:=640 -p height:=480 -p frequency:=30.0 -p device_id:=-1

也可使用其它相机,如usb_cam。参数image_topic修改为image_topic:=/image_raw

sudo apt-get install ros-<ros2-distro>-usb-cam # 安装
ros2 run usb_cam usb_cam_node_exe

3.订阅结果

识别结果通过/yolo_resutl话题发布出去,包含原始的像素坐标、和归一化后的x和y坐标(相机坐标系下)。

ros2 topic echo /yolo_result

4.更进一步使用

4.1 参数设置

4.1.1 图像话题

image_topic:=/image

4.1.2 计算设备设置

可选的,如果你有cuda独显, cuda,cuda:0

device:=cpu

4.1.3 是否实时显示结果

True显示,False不显示

show_result:=False

注:实时显示中cv2.imshow可能会卡住,如果只想验证结果,可将实时显示设置为False

4.1.4 切换不同Yolov5模型

默认为yolov5s,可修改为yolov5myolov5l

model:=yolov5m

About

基于YoloV5的ROS2功能包,可以快速完成物体识别与位姿发布。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%