首页 > 其他分享 >动物目标检测——基于YOLOv5和树莓派4B平台

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

时间:2024-09-12 22:22:38浏览次数:14  
标签:树莓 训练 安装 模型 yolov5 YOLOv5 4B

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

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

2. 创建虚拟环境

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

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

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

3. 下载YOLOv5代码

从GitHub上克隆YOLOv5代码仓库:

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

4. 安装依赖包

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

pip install -r requirements.txt

动物目标检测——基于YOLOv5和树莓派4B平台_虚拟环境_03

5. 准备训练数据

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

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

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

6. 开始训练

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

动物目标检测——基于YOLOv5和树莓派4B平台_虚拟环境_05

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

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

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

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

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

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

训练测试数据

① 下载预训练模型

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

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

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

② 训练数据

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

动物目标检测——基于YOLOv5和树莓派4B平台_虚拟环境_09

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

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

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

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

其中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平台_目标检测_13

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

四、总结

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

标签:树莓,训练,安装,模型,yolov5,YOLOv5,4B
From: https://blog.51cto.com/u_15641375/11993749

相关文章

  • 工地安全帽识别闸机联动 YOLOv5
    工地安全帽识别闸机联动系统基于人脸识别技术和安全帽反光衣穿戴识别技术,工地安全帽识别闸机联动系统通过对施工人员的人脸、安全帽和反光衣进行识别,判断是否符合安全要求。只有当人脸识别成功且安全帽、反光衣齐全时,闸机才会打开允许施工人员进入工地。工地安全帽识别闸机联动......
  • Windows电脑使用VNC远程连接本地局域网无公网IP树莓派5
    文章目录前言1.使用RaspberryPiImager安装RaspberryPiOS2.Windows安装VNC远程树莓派3.使用VNCViewer公网远程访问树莓派3.1安装Cpolar步骤3.2配置固定的公网地址3.3VNC远程连接测试4.固定远程连接公网地址4.1固定TCP地址测试前言树莓派因其小巧的......
  • 基于深度学习的骨龄检测识别系统(PyTorch+Pyside6+YOLOv5模型)
    骨龄是骨骼年龄的简称,需要借助于骨骼在X光摄像中的特定图像来确定。通常要拍摄左手手腕部位的X光片,医生通过X光片观察来确定骨龄。在2006年,《中华-05》骨龄标准被编入《中华人民共和国行业标准》,成为中国目前唯一的行业骨龄标准。而在《中华-05》中作者一般推荐使用RUS-CHN计......
  • 渣土车密闭运输识别系统 YOLOv5
    渣土车密闭运输识别系统通过在工地出入口及周边安装摄像头,渣土车密闭运输识别系统对渣土车的密闭运输情况进行实时监测,渣土车密闭运输识别系统利用图像识别技术,对渣土车的密闭状态进行识别和分析。渣土车密闭运输识别系统检测到有未密闭的渣土车进入工地区域时,将自动发出警报提示现......
  • 记录一个vscode无法ssh树莓派,但是mobaxterm可以ssh登录的问题
    一、为什么会遇到这个问题帮别人开发一个树莓派小车的时候,买了一个新的树莓派3B,回来安装好桌面系统之后开启了ssh功能,便想开始使用vscode来ssh开发,省的后续一直要插着屏幕开发,很麻烦。但是问题就来了,在确认过hostname、IP地址、端口都无误的情况下,vscode无论无何都没法ssh登录,于......
  • 2024basectf[week3]
    1、复读机这题页面是一个之后在网络中可以看到这个网页的处理器是python而且flag中还有类似于{}这样的字眼,而且还是python处理的,所以就想到了ssti果然,出现了waf,所以基本上就是这个思路+-*/.{{}}__:"\这些好像都被过滤了,还有一些关键字也被过滤了,可以在关键......
  • 易百纳ss928开发板移植自训练模型跑通yolov5算法
    ss928平台移植官方yolov5s算法参考文章:https://www.ebaina.com/articles/140000017418,这位大佬也开源了代码,gitee链接:https://gitee.com/apchy_ll/ss928_yolov5s本文在参考上述文章的基础上,将官方yolov5s模型跑通,验证推理图片正确,然后移植自训练的推理模型,在移植过程中遇到了一些......
  • YOLO 自动标注工具autolabelimg(适用yolov5 v6.1)
    一、获取自定义数据集的YOLOv5.pt权重  首先,手动标注一部分数据集,训练YOLOV5模型,得到best.pt。二、下载和安装autolabelimg   (1)github链接:  https://github.com/wufan-tb/AutoLabelImg.git  手动下载.zip ,也可以clone:gitclonehttps://github.com/w......
  • 树莓派raspiOS换源
    新装了个树莓派,更新时候发现连不上网,遂换国内源。由于近期AI用习惯了,就没找官方说明,结果......果然踩雷了。所以还是得看官方提供的说明。清华开源镜像站Raspbian软件仓库1、查看系统架构$uname-maarch64提示aarch64用户直接参考Debian帮助Debian软件源大部分Debia......
  • 树莓派通过串口驱动HC-08蓝牙模块
    树莓派通过串口驱动HC-08蓝牙模块文章目录树莓派通过串口驱动HC-08蓝牙模块一、HC-08蓝牙模块介绍二、树莓派与蓝牙模块硬件连接三、树莓派通过蓝牙控制设备一、HC-08蓝牙模块介绍蓝牙模块,是一种集成的蓝牙功能的PCB板,用于短距离无线通信,按照功能分为蓝牙数据模块......