0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在树莓派上部署YOLOv5进行动物目标检测的完整流程

新机器视觉 来源:古月居 2024-11-11 10:38 次阅读

目标检测计算机视觉领域中具有重要意义。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

bc139f82-9050-11ef-a511-92fbcf53809c.png

2. 创建虚拟环境

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

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

bc2a3f4e-9050-11ef-a511-92fbcf53809c.png

3. 下载YOLOv5代码

从GitHub上克隆YOLOv5代码仓库:

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

4. 安装依赖包

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

pip install -r requirements.txt

bc375e18-9050-11ef-a511-92fbcf53809c.png

5. 准备训练数据

准备好你的数据集,并确保数据集按照YOLOv5要求的格式进行组织。YOLOv5的训练数据通常包括图像文件和对应的标签文件,标签文件采用YOLO格式,每行表示一个目标对象,包括类别ID和归一化后的边界框坐标。

数据标注的过程通俗来讲就是給图片画框的过程,框出需要识别到的部分,然后打上标签,比如图片里有一头牛,那就把牛框起来然后命名框的标签为牛。

bc5a8438-9050-11ef-a511-92fbcf53809c.png

6. 开始训练

PyCharm打开yolov5项目


新建项目,项目路径(Location)为GitHub上下载的yolov5项目路径。

bc9f04dc-9050-11ef-a511-92fbcf53809c.png

修改虚拟环境


新建好项目之后,我们打开设置。

bcc0bce4-9050-11ef-a511-92fbcf53809c.png

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

bcdea9e8-9050-11ef-a511-92fbcf53809c.png

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

bd177598-9050-11ef-a511-92fbcf53809c.png

训练测试数据

① 下载预训练模型

预训练模型地址:https://github.com/ultralytics/

选择你所需要的模型下载即可,这里我选择yolov5s.pt下载。

下载好之后放到我们yolov5的项目目录下。

② 训练数据

右键train.py,点击run运行。

bd3fd0c4-9050-11ef-a511-92fbcf53809c.png

bd5a242e-9050-11ef-a511-92fbcf53809c.png

bd8d06fa-9050-11ef-a511-92fbcf53809c.png

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

bdaf787a-9050-11ef-a511-92fbcf53809c.png

其中weights里存储两个训练出的模型,分别为best.pt和last.pt,顾名思义,best.pt为跑出来结果最好的模型。

二、将模型部署到树莓派

1. 复制模型到树莓派

将训练好的模型文件best.pt复制到树莓派上。可以使用SCP命令或直接将文件复制到SD卡中。例如,使用SCP命令:

scp runs/train/exp/weights/best.pt pi@:/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目录中。

bddc6d08-9050-11ef-a511-92fbcf53809c.png

be067332-9050-11ef-a511-92fbcf53809c.png

四、总结

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 目标检测
    +关注

    关注

    0

    文章

    211

    浏览量

    15661
  • 树莓派
    +关注

    关注

    117

    文章

    1710

    浏览量

    105853

原文标题:基于YOLOv5和树莓派4B的动物目标检测

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    YOLOv5】LabVIEW+TensorRT的yolov5部署实战(含源码)

    今天主要和大家分享LabVIEW中使用纯TensoRT工具包快速部署并实现yolov5的物体识别
    的头像 发表于 08-21 22:20 1382次阅读
    【<b class='flag-5'>YOLOv5</b>】LabVIEW+TensorRT的<b class='flag-5'>yolov5</b><b class='flag-5'>部署</b>实战(含源码)

    yolov5转onnxcubeAI上部署失败的原因?

    第一个我是转onnx时 想把权重文件变小点 就用了半精度 --half,则说17版本不支持半精度 后面则是没有缩小的单精度 但是显示哪里溢出了···· 也不说是哪里、、。。。 到底能不能部署yolov5这种东西啊?? 也没看见几个部署
    发表于 03-14 06:23

    RK3568教学实验箱上实现基于YOLOV5的算法物体识别案例详解

    Head)。 整个 YOLOv5 网络所作的工作就是: 特征提取-特征加强-预测特征点对应的物体情况。 YOLOv5目标检测流程 YOLOv5
    发表于 12-03 14:56

    龙哥手把手教你学视觉-深度学习YOLOV5

    可以实现理想的检测效果。本套视频,有别于常见的深度学习教程以理论为主进行全面讲解,以没有任何深度学习理论基础的学员学习角度,以实际应用为目标,讲解如何设计一个
    发表于 09-03 09:39

    YOLOv5全面解析教程之目标检测模型精确度评估

    ):分类器把负例正确的分类-预测为负例(yolov5中没有应用到)  yolov5中没有应用TN的原因: TN代表的是所有可能的未正确检测到的边界框。然而在yolo
    发表于 11-21 16:40

    使用Yolov5 - i.MX8MP进行NPU错误检测是什么原因?

    的时机(yolov5s 模型,输入为 448x448 ~ 70ms)。 现在我正在尝试使用 Yolov5(uint8 量化),但我尝试使用不同的预训练模型获得相同的行为, CPU 上进行
    发表于 03-31 07:38

    如何YOLOv5测试代码?

    使用文档“使用 YOLOv5 进行对象检测”我试图从文档第 10 页访问以下链接( i.MX8MP 上部署
    发表于 05-18 06:08

    yolov5转onnxcubeAI进行部署的时候失败了是什么原因造成的?

    第一个我是转onnx时 想把权重文件变小点 就用了半精度 --half,则说17版本不支持半精度 后面则是没有缩小的单精度 但是显示哪里溢出了···· 也不说是哪里、 到底能不能部署yolov5这种东西啊?? 也没看见几个部署
    发表于 08-08 07:55

    基于YOLOv5目标检测文档进行的时候出错如何解决?

    你好: 按Milk-V Duo开发板实战——基于YOLOv5目标检测 安装好yolov5环境,执行main.py的时候会出错,能否帮忙看
    发表于 09-18 07:47

    英特尔独立显卡上部署YOLOv5 v7.0版实时实例分割模型

    本文将介绍基于 OpenVINO 英特尔独立显卡上部署 YOLOv5 实时实例分割模型的全流程,并提供
    的头像 发表于 12-20 11:32 4239次阅读

    yolov5训练部署全链路教程

    本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明。
    的头像 发表于 01-05 18:00 3298次阅读
    <b class='flag-5'>yolov5</b>训练<b class='flag-5'>部署</b>全链路教程

    C++中使用OpenVINO工具包部署YOLOv5模型

    下载并转换YOLOv5预训练模型的详细步骤,请参考:《基于OpenVINO™2022.2和蝰蛇峡谷优化并部署YOLOv5模型》,本文所使用的OpenVINO是2022.3 LTS版。
    的头像 发表于 02-15 16:53 5205次阅读

    使用旭日X3派的BPU部署Yolov5

    本次主要介绍旭日x3的BPU中部署yolov5。首先在ubuntu20.04安装yolov5,并运行yolov5并使用pytoch的pt模
    的头像 发表于 04-26 14:20 967次阅读
    使用旭日X3派的BPU<b class='flag-5'>部署</b><b class='flag-5'>Yolov5</b>

    【教程】yolov5训练部署全链路教程

    本教程针对目标检测算法yolov5的训练和部署到EASY-EAI-Nano(RV1126)进行说明,而数据标注方法可以参考我们往期的文章《L
    的头像 发表于 01-29 15:25 3535次阅读
    【教程】<b class='flag-5'>yolov5</b>训练<b class='flag-5'>部署</b>全链路教程

    YOLOv5网络结构训练策略详解

    前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。
    的头像 发表于 09-11 11:15 2379次阅读
    <b class='flag-5'>YOLOv5</b>网络结构训练策略详解