使用ros_yolo功能包,在ros中推理yolov5模型并发布识别结果

1,583 阅读2分钟

一、环境:

  • ubuntu18.04
  • ros melodic
  • yolov5 6.0

二、安装

  1. ubuntu18.04:下载VMware虚拟机,安装Ubuntu18.04镜像系统
  2. ros-melodic:可以前往fishros体验一键安装(真的好用,妥妥的傻瓜安装)

小鱼的一键安装系列 | 鱼香ROS (fishros.org.cn)

  1. 在ros中安装usb-cam功能包:在ROS中,你可以使用usb_cam包来连接和使用电脑的摄像头。

首先,你需要安装usb_cam包。你可以使用以下命令在终端中安装该包:

sudo apt-get install ros-<distro>-usb-cam

其中,<distro>是你当前的ROS发行版,比如Melodic、Noetic等。

安装完成后,在终端中输入以下命令来启动usb_cam节点:

roslaunch usb_cam usb_cam-test.launch

这会启动usb_cam节点,并将摄像头的图像发布到ROS的/usb_cam/image_raw主题上。

你可以在终端中使用rqt_image_view工具来查看摄像头的图像。在新的终端中输入以下命令:

rosrun rqt_image_view rqt_image_view

这将打开一个图像查看器,它会订阅/usb_cam/image_raw主题并显示摄像头的实时图像。

  1. 下载ros_yolo:(qianmin/yolov5_ROS: ROS使用YOLOv5 run YOLOv5 in ROS (github.com))
  2. ros_yolo放到你的catkin_ws/src
  3. 在Ubuntu 18.04上安装用于Yolov5模型推理的CPU环境,可以按照以下步骤进行:
  • 安装Anaconda:打开终端并执行以下命令:
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh
  • 创建新的conda环境:在终端中输入以下命令来创建一个名为yolov5的新环境并激活它:
conda create -n yolov5 python=3.8
conda activate yolov5
  • 安装所需的Python库:在激活的yolov5环境下,执行以下命令安装所需的Python库:
pip install torch torchvision opencv-python matplotlib
  • 下载Yolov5:在终端中输入以下命令以克隆Yolov5仓库:
git clone https://github.com/ultralytics/yolov5.git
  • 测试Yolov5模型:现在可以运行一个测试脚本来验证您的模型是否正确运行:
python yolov5/detect.py --source 0 --weights yolov5s.pt --conf 0.4

这会打开您的计算机的摄像头,并使用yolov5s.pt权重文件来检测摄像头中的对象。设置--source参数以指定输入源,例如视频文件名或图像文件夹名,设置--weights参数以指定使用的权重文件,以--conf参数指定置信度阈值(默认为0,25)。

以上步骤完成后,您就可以在您的Ubuntu18.04计算机上进行Yolov5模型推理了。

  1. 依次运行:

    roscore
    
    roslaunch usb-cam usb-cam-node
    
    rosrun ros_yolo final_yolo
    

    就可以在ros中使用yolov5推理目标了

  2. 测试效果

QQ图片20230512145409.png

参考:qianmin/yolov5_ROS: ROS使用YOLOv5 run YOLOv5 in ROS (github.com)