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