1. YOLOv5介绍

        YOLOv5是UItralyties开发的一种目标检测算法。它是YOLO(You Only Look Once)系列实时目标检测模型的演变。YOL0v5 建立在早期版本(如 YOLOv4 和 YOLOv3)的基础上,在准确性和速度方面进行了多项改进。
        YOLOv5快速且易于使用,它基于PyTorch框架,该框架拥有比YOLOv4 Darknet更大的社区。安装简单明了,YOLOv5是YOLO系列的一个延伸,可以看作是基于YOLOv3、YOLOv4的改进。YOLOv5 没有相应的论文说明,但是作者在Github上积极地开放源代码,通过对源码分析,我们也能很快地了解YOLOv5的网络架构和工作原理。

2. 安装 PyTorch和 torchvision

        YOLOv5是基于 PyTorch 框架来实现的,所以在使用之前需要安装这两个框架,首先可以去官方网站上下载两个编译好的包进行安装,官方网站为:

https://download.pytorch.org/whl/torch_stable.html

        找到torch-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl和
torchvision-0.16.2-cp311-cp311-linux_aarch64.whl文件,复制到树莓派的主目录下,然后运行如下命令进行安装:

sudo pip3 install torch-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
sudo pip3 install torchvision-0.16.2-cp311-cp311-linux_aarch64.whl

        安装成功后,检查一下安装是否成功。

        如果报错的话,说明安装有问题,一般问题是 numpy版本过低,我们可以更新一下: 

sudo pip3 install numpy --upgrade --ignore-installed

3. 部署 Yolov5 环境

        我们可以到官方网站上下载:

https://github.com/ultralytics/yolov5

3.1 安装 YOLOv5 的依赖包

cd yolov5-master
sudo pip3 install requirements.txt

4. 运行 Yolov5 摄像头目标检测

        由于我们使用的是CSI摄像头,而原生态的yolov5运行的是USB摄像头,所以需要修改一定的源码,具体修改位置为“/home/pi/yolov5-master/utils/dataloaders. py”文件。在最前面加上如下,说明我们是通过picamera2库来调用摄像头。

import libcamera

from picamera2 import Picamera2

import cv2

        在LoadStreams类中加入摄像头的开启命令,并去掉USB摄像头调用的方式 :

对应的如下位置也需要修改:

         接下来,运行摄像头目标检测:

cd yolov5-master

python3 detect.py --source 0

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐