前言
本篇文章主要讲解yolov5-ros模型结合zed2相机进行实时检测,经改进实现了红绿灯检测,并输出检测类别与置信度!
目录
- 一、环境配置
- 二、zed2驱动安装
- 三、yolov5-ros功能包配置
- 四、运行官方权重文件
- 四、运行自己权重文件
一、环境配置
1、安装
下载地址:https://www.anaconda.com/download#
进入下载完成目录,输入以下指令:
bash Anaconda3-2024.02-1-Linux-x86_64.sh
(1)继续按ENTER
(2)选yes后回车
(3)选择默认安装位置
(4)安装完成后出现是否启动默认环境,选择yes后回车,安装完成
(5)安装完成再次打开终端可以看到前面的base
2、加速
(1)终端输入以下命令
sudo gedit ~/.condarc
(2)打开的文本中输入以下内容:
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
换源:
3、创建、激活yolov5虚拟环境
conda create -n yolov5 python=3.8
conda activate yolov5
4、安装torch
(1)pip安装加速,终端输入如下命令:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
(2)选择与cuda版本匹配的torch
(3)选择合适的版本
conda install pytorch==2.2.0 torchvision==0.17.0 torchaudio==2.2.0 pytorch-cuda=11.8 -c pytorch -c nvidia
安装完成!
5、yolov5配置
mkdir workspace && cd workspace
git clone https://github.com/ultralytics/yolov5.git
cd yolov5/
pip install -r requirements.txt
二、zed2驱动安装
zed2相机驱动安装见:Ubuntu18.04下ZED2结合ORB_SLAM2在ROS下运行
验证,打开三个终端,分别输入以下内容:
roscore
roslaunch zed_wrapper zed2.launch
rqt_image_view
效果如下:
可以看到到这相机的驱动安装完成,并且可以选择相机运行的不同节点!
三、yolov5-ros功能包配置
第一步:下载yolov5-ros功能包,将其放入编译完成的catkin_ws/src目录下
下载地址:git clone https://github.com/qq44642754a/Yolov5_ros.git
cd ~/catkin_ws/src
git clone https://github.com/qq44642754a/Yolov5_ros.git
conda activate yolov5 //进入虚拟空间
cd ~/catkin_ws
catkin_make
source devel/setup.sh
第二步:修改launch文件
进行下载的yolov5-ros功能包下找到yolo_v5.launch文件,修改图像话题节点
四、运行官方权重文件
打开三个终端,输入以下内容:
roscore
roslaunch zed_wrapper zed2.launch //打开相机
roslaunch yolov5_ros yolo_v5.launch //运行yolov5
运行效果如下:
节点可视化:
查看ros话题
四、运行自己权重文件
上一段完整的浮现了官方权重文件的运行效果,接下来将使用自己训练的权重文件进行检测~
第一步:在yolov5_ros.launch文件中更换权重路径:
再次运行以上三个指令:
可以会出现的报错:
由于yolov5版本不同,出现的模块缺少问题,替换原始yolo.py
再次运行,检测效果: