动物目标检测——基于 YOLOv5 和树莓派 4B 平台

目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练 YOLOv5 模型,并将训练好的模型部署到树莓派 4B 上,通过树莓派的摄像头进行实时动物目标检测。
一、在电脑上训练 YOLOv5 模型
1. 安装 Anaconda
在性能更强的计算机上安装 Anaconda,方便管理 Python 环境和依赖。
从 Anaconda 官网(https://www.anaconda.com/products/distribution)下载适用于你操作系统的安装包。
运行安装包并按照提示完成安装。
安装完成后,打开终端或命令提示符,输入以下命令验证安装是否成功:

2. 创建虚拟环境
创建一个独立的虚拟环境,用于安装 YOLOv5 及其依赖项:

3. 下载 YOLOv5 代码
从 GitHub 上克隆 YOLOv5 代码仓库:
4. 安装依赖包
在虚拟环境中安装 YOLOv5 所需的依赖包:

5. 准备训练数据
准备好你的数据集,并确保数据集按照 YOLOv5 要求的格式进行组织。YOLOv5 的训练数据通常包括图像文件和对应的标签文件,标签文件采用 YOLO 格式,每行表示一个目标对象,包括类别 ID 和归一化后的边界框坐标。
数据标注的过程通俗来讲就是給图片画框的过程,框出需要识别到的部分,然后打上标签,比如图片里有一头牛,那就把牛框起来然后命名框的标签为牛。

6. 开始训练
PyCharm 打开 yolov5 项目新建项目,项目路径(Location)为 GitHub 上下载的 yolov5 项目路径。

修改虚拟环境新建好项目之后,我们打开设置。

找到 Python Interpreter,修改为我们在 Anaconda 自行创建的 yolov5 的虚拟环境。

如果下拉框里没有,我们就在 Add Interpreter 里新增。

训练测试数据
① 下载预训练模型
预训练模型地址:https://github.com/ultralytics/
选择你所需要的模型下载即可,这里我选择 yolov5s.pt 下载。
下载好之后放到我们 yolov5 的项目目录下。
② 训练数据
右键 train.py,点击 run 运行。



运行成功后如图,训练结果保存在 runs\train\exp 文件夹里。

其中 weights 里存储两个训练出的模型,分别为 best.pt 和 last.pt,顾名思义,best.pt 为跑出来结果最好的模型。
二、将模型部署到树莓派
1. 复制模型到树莓派
将训练好的模型文件best.pt
复制到树莓派上。可以使用 SCP 命令或直接将文件复制到 SD 卡中。例如,使用 SCP 命令:
2. 配置树莓派环境
在树莓派上安装必要的依赖和配置环境。首先,确保树莓派已安装 Raspberry Pi OS。
安装 Anaconda
下载并安装 Anaconda(或 Miniconda),用于管理 Python 环境:
安装过程中按照提示操作,并将 Anaconda 添加到系统 PATH 中。
创建虚拟环境并安装 YOLOv5
三、通过摄像头进行实时检测
1. 配置摄像头
确保树莓派连接了摄像头模块,并启用摄像头接口。在树莓派终端中运行以下命令进入 Raspberry Pi 配置工具:
选择Interface Options
,然后选择Camera
,启用摄像头接口。重启树莓派以使配置生效。
2. 运行实时检测
在 YOLOv5 项目目录下,使用以下命令运行实时检测脚本:
--source 0
指定使用摄像头作为输入源。检测结果将实时显示在屏幕上,并保存到runs/detect/exp
目录中。


四、总结
通过以上步骤,我们成功地在性能更强的计算机上训练了 YOLOv5 模型,并将训练好的模型部署到树莓派 4B 上,利用树莓派的摄像头实现了实时动物目标检测。这一过程展示了从环境配置、数据准备、模型训练到模型部署和实时推理的完整流程。通过本文的介绍,相信读者能够掌握在树莓派上部署 YOLOv5 进行动物目标检测的完整流程。这一技术在智能家居、安防监控、农业监测等领域具有广泛的应用前景。希望本文能够为你的项目开发提供帮助和参考。
版权声明: 本文为 InfoQ 作者【芯动大师】的原创文章。
原文链接:【http://xie.infoq.cn/article/3bd5adf26c91b7238c40911b2】。文章转载请联系作者。
评论