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

简介: 目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测。一、在电脑上训练YOLOv5模型1. 安装Anaconda在性能更强的计算机上安装Anaconda,方便管理Python环境和依赖。从Anaconda官网(https://www.anaconda.com/products/distribu

目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测。

一、在电脑上训练YOLOv5模型

1. 安装Anaconda

在性能更强的计算机上安装Anaconda,方便管理Python环境和依赖。

  1. 从Anaconda官网(https://www.anaconda.com/products/distribution)下载适用于你操作系统的安装包。
  2. 运行安装包并按照提示完成安装。
  3. 安装完成后,打开终端或命令提示符,输入以下命令验证安装是否成功:
conda --version

2. 创建虚拟环境

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

conda create -n yolov5 python=3.9 -y
conda activate yolov5

3. 下载YOLOv5代码

从GitHub上克隆YOLOv5代码仓库:

git clone https://github.com/ultralytics/yolov5.git
cd yolov5

4. 安装依赖包

在虚拟环境中安装YOLOv5所需的依赖包:

pip install -r requirements.txt

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命令:

scp runs/train/exp/weights/best.pt pi@<your-raspberry-pi-ip>:/home/pi/yolov5/

2. 配置树莓派环境

在树莓派上安装必要的依赖和配置环境。首先,确保树莓派已安装Raspberry Pi OS。

安装Anaconda

下载并安装Anaconda(或Miniconda),用于管理Python环境:

wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
bash Anaconda3-2021.05-Linux-x86_64.sh

安装过程中按照提示操作,并将Anaconda添加到系统PATH中。

创建虚拟环境并安装YOLOv5

conda create -n yolov5 python=3.9 -y
conda activate yolov5
git clone https://github.com/ultralytics/yolov5.git
cd yolov5
pip install -r requirements.txt

三、通过摄像头进行实时检测

1. 配置摄像头

确保树莓派连接了摄像头模块,并启用摄像头接口。在树莓派终端中运行以下命令进入Raspberry Pi配置工具:

sudo raspi-config

选择Interface Options,然后选择Camera,启用摄像头接口。重启树莓派以使配置生效。

2. 运行实时检测

在YOLOv5项目目录下,使用以下命令运行实时检测脚本:

python detect.py --weights best.pt --source 0

--source 0 指定使用摄像头作为输入源。检测结果将实时显示在屏幕上,并保存到runs/detect/exp目录中。

四、总结

通过以上步骤,我们成功地在性能更强的计算机上训练了YOLOv5模型,并将训练好的模型部署到树莓派4B上,利用树莓派的摄像头实现了实时动物目标检测。这一过程展示了从环境配置、数据准备、模型训练到模型部署和实时推理的完整流程。通过本文的介绍,相信读者能够掌握在树莓派上部署YOLOv5进行动物目标检测的完整流程。这一技术在智能家居、安防监控、农业监测等领域具有广泛的应用前景。希望本文能够为你的项目开发提供帮助和参考。

相关文章
|
8月前
|
机器学习/深度学习 人工智能 监控
基于深度学习的农业虫害自动识别系统:YOLOv8 的完整工程
本项目基于YOLOv8构建了覆盖102类害虫的智能识别系统,融合深度学习与PyQt5图形界面,支持图片、视频、摄像头等多源输入,实现虫害精准检测与实时可视化。具备高精度(mAP@0.5 > 90%)、易部署、操作友好等特点,适用于农田监测、温室预警等智慧农业场景,推动AI技术在农业领域的工程化落地。
1137 6
基于深度学习的农业虫害自动识别系统:YOLOv8 的完整工程
|
存储 监控 算法
基于YOLOv5和树莓派4B平台
目标检测在计算机视觉领域中具有重要意义。YOLOv5(You Only Look One-level)是目标检测算法中的一种代表性方法,以其高效性和准确性备受关注,并且在各种目标检测任务中都表现出卓越的性能。本文将详细介绍如何在性能更强的计算机上训练YOLOv5模型,并将训练好的模型部署到树莓派4B上,通过树莓派的摄像头进行实时动物目标检测。 一、在电脑上训练YOLOv5模型 1. 安装Anaconda 在性能更强的计算机上安装Anaconda,方便管理Python环境和依赖。 从Anaconda官网(https://www.anaconda.com/products/distribu
1264 6
|
10月前
|
JavaScript 前端开发 API
n8n - 架构学习指南
欢迎来到 n8n 学习之旅!本指南带你深入解析这一强大开源工作流自动化工具的架构设计与技术实现。从项目结构、核心模块到代码质量,结合实战路径与贡献指导,助你由浅入深掌握 n8n,实现从使用者到贡献者的跃迁。
2092 28
|
Ubuntu 安全 Linux
Linux这5款微型发行版,体积小+精简,比win7运行还快,值得安装
以上5款微型发行版体积小且精简,如果你有台旧电脑,不妨试试?
|
XML 机器学习/深度学习 数据格式
YOLOv8训练自己的数据集+常用传参说明
YOLOv8训练自己的数据集+常用传参说明
27589 3
|
机器学习/深度学习 人工智能 物联网
基于YOLOv8深度学习的苹果叶片病害智能诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战
基于YOLOv8深度学习的苹果叶片病害智能诊断系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战
|
前端开发 JavaScript 安全
WebAssembly技术的出现为我们提供了一种全新的解决方案,开启了高性能网络应用的新时代
【6月更文挑战第10天】WebAssembly是高性能网络应用的新时代技术,它是一种虚拟机格式,允许C/C++等语言编译成二进制格式在Web浏览器中运行。具备高性能、高可移植性和良好安全性,适用于游戏开发、图形处理、计算机视觉等领域。随着技术进步,WebAssembly将支持更多语言,结合低代码平台简化开发,但需解决编译优化和安全性等问题。它正重塑Web应用的未来,开启高性能应用新时代。
365 0
|
机器学习/深度学习 人工智能 Linux
Yolov5移植树莓派实现目标检测
Yolov5移植树莓派实现目标检测
1645 0
Yolov5移植树莓派实现目标检测

热门文章

最新文章