基于Yolov5的目标检测(以口罩检测为例)

这篇具有很好参考价值的文章主要介绍了基于Yolov5的目标检测(以口罩检测为例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

口罩数据集:GitHub - X-zhangyang/Real-World-Masked-Face-Dataset: Real-World Masked Face Dataset,口罩人脸数据集

yolov5 源码:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

一.深度学习目标检测算法分类

1. 基于区域提取的两阶段目标检测

1.1 SPP-Net

1.2 R-CNN

基于Yolov5的目标检测(以口罩检测为例)

 1.3 FAST R-CNN

基于Yolov5的目标检测(以口罩检测为例)

 1.4 FASTER-CNN

基于Yolov5的目标检测(以口罩检测为例)

2. 基于回归的单阶段为目标检测

2.1 YOLO系列(YOLO,YOLOv1,2,3,4,5,7)

基于Yolov5的目标检测(以口罩检测为例)

2.2 OverFeat

二.YOLO系列目标检测算法介绍

  1. YOLOv1YOLOv1是利用整张图作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别。
  2. YOLOv2YOLOv2相较v1版本,预测更准确速度更快识别对象更多这三个方面进行了改进
  3. YOLOv3YOLOv3的Bounding Box由YOLOv2又做出了更好的改进
  4. YOLOv4:YOLOv4结合了大量前人研究技术,加以组合并进行适当创新的算法,实现了速度和精度的完美平衡。 
  5. YOLOv5:YOLOv5在YOLOv4算法的基础上做了进一步的改进,检测性能得到进一步的提升。在COCO数据集上面的测试效果较好。

三 .Yolov5介绍

 3.1 YOLOv5网络模型主要包括:Yolov5s、Yolov5m、Yolov5l、Yolov5x

基于Yolov5的目标检测(以口罩检测为例)

 3.2 Yolov5s网络为Yolov5系列中深度最小,特征图的宽度最小的网络。而后面的3种则是在此基础上不断加深,不断加宽,速度的消耗也在不断增加

3.3 YOLOv5主要部分

基于Yolov5的目标检测(以口罩检测为例)

 四、基于yolov5的人脸口罩识别检测

4.1 受新型冠状病毒的影响,人脸口罩佩戴检测成为了当前急需的应用,而YOLOv5作为目前检测能力较强的目标检测技术,因此,结合本次专业认识实习以及所学知识,我使用了YOLOv5来实现人脸口罩佩戴的检测。实践的内容包括:运用网络爬虫爬取一定量的数据集,运用MakeSense对数据集进行打标签,然后在云服务器上利用YOLOv5网络模型训练数据集得到最佳模型,最后利用其实现人脸口罩佩戴的一定精度的检测。

4.2 实现过程:

4.2.1:获取并准备数据集(此数据集较小,需要大数据集的可参考我上传的资源或者开源数据集)

Part2:包括100张(不佩戴口罩)

Part3:包括100张(佩戴口罩)

4.2.2:利用MakeSense进行逐个打标签 (也可以使用labelme进行打标签)

MaskSense上手快,使用较为容易

链接: Make Sense

基于Yolov5的目标检测(以口罩检测为例)

 基于Yolov5的目标检测(以口罩检测为例)

 基于Yolov5的目标检测(以口罩检测为例)

4.2.3. 为后期的训练

需要将数据集mydata首先划分为两个部分(一个存放图片,一个存放标签)

1.image, 2.labels

基于Yolov5的目标检测(以口罩检测为例)

并划分为训练集,测试集与验证集

1.test, 2.train, 3train_2

基于Yolov5的目标检测(以口罩检测为例)

 基于Yolov5的目标检测(以口罩检测为例)

4.2.4 文件目录介绍

data:主要是存放一些超参数的配置文件,是用来配置训练集和测试集还有验证集的路径,其中还包括目标检测的种类数和种类的名称;还有官方提供测试的图片。训练自己的数据集需要修改其中的yaml文件

models:里面主要是一些网络构建的配置文件和函数,其中包含了该项目的四个不同的版本,分别为是s、m、l、x

utils:存放的是工具类的函数,里面有loss函数,metrics函数,plots函数等等

weights:放置训练好的权重参数

detect.py:利用训练好的权重参数进行目标检测,可以进行图像、视频和摄像头的检测

train.py:训练自己的数据集的函数

test.py:测试训练的结果的函数

4.2.5 yaml文件配置

在开始训练前还需要对项目里的相关文件进行修改,一个是数据配置文件,另一个是模型配置文件首先是数据配置文件,在data下找到coco.yaml,将其复制一份再重命名为mydata.yaml,修改路径以及类的个数与标签名称

基于Yolov5的目标检测(以口罩检测为例)

4.2.6 train.py文件中的路径以及参数

修改模型的配置文件,train.py中默认使用的yolov5s.pt这个权重,可以修改为yolov5m等,或自己训练出来的best.pt

基于Yolov5的目标检测(以口罩检测为例)修改

基于Yolov5的目标检测(以口罩检测为例)

4.2.7 开始训练

基于Yolov5的目标检测(以口罩检测为例)

 基于Yolov5的目标检测(以口罩检测为例)

4.2.7 训练300轮 一共用时3.1h

训练结果分析

训练结束后,会产生一个runs/exp的文件夹

基于Yolov5的目标检测(以口罩检测为例)

 1.Weights下将会产生两个权重文件 分别是best.pt以及last.pt(代表最好的模型和最后的模型)

基于Yolov5的目标检测(以口罩检测为例)

val.py文件可以对best.pt进行单独验证,需要给出数据集的配置文件和权重文件的配置文件

2.F1_curve.png F1是衡量指标,可以看到all class1.0 at 0.629,即所有类别的判断精度大约是在1.0左右

基于Yolov5的目标检测(以口罩检测为例)基于Yolov5的目标检测(以口罩检测为例)

  1. result.png

基于Yolov5的目标检测(以口罩检测为例)

可视化了数值的结果,可以大体看出误差在不断下降,准确在不断提高文章来源地址https://www.toymoban.com/news/detail-476551.html

到了这里,关于基于Yolov5的目标检测(以口罩检测为例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 YOLOv5 进行实时口罩检测

    在本文中,我将解释关于使用名为 Yolo 和 Opencv 的深度学习算法进行实时口罩检测。Yolo 代表 You Only Look Once,是一种利用卷积神经网络 (CNN) 来检测对象的深度学习算法。 “YOLOv5是YOLO系列的最新产品。YOLOv5在YOLOv4的基础上进行了改进,其运行速度大幅提升,最快速度达到140帧

    2024年02月13日
    浏览(23)
  • 如何使用Django 结合WebSocket 进行实时目标检测呢?以yolov5 为例,实现:FPS 25+ (0: 系统简介与架构)

    访问:http://127.0.0.1:8000/ObjectDetection/ObjectDetection1/ 先看下效果:两个摄像头实时展示 之后更新了效果,打算加上检测结果和 FPS ,结果加上FPS 实测了一下,好家伙一秒30-40 帧都行 在我的3060 上,这是python 写的 前后端实时检测你敢信,还两个摄像头机位。

    2023年04月08日
    浏览(27)
  • 基于YOLOv5的水下海洋目标检测

    摘要:水下海洋目标检测技术具有广泛的应用前景,可以用于海洋环境监测、海洋资源开发、海洋生物学研究等领域。本文提出了一种基于 YOLOv5 的水下海洋目标检测方法,使用数据增强方法进行了大量实验,并与其他方法进行了对比,实现了在检测各种不同的海洋环境和水

    2023年04月15日
    浏览(26)
  • 涨点技巧:基于Yolov5的微小目标检测,多头检测头提升小目标检测精度

    目录 1.Yolov5小目标介绍 1.1 小目标定义 1.2 小目标难点 2.Yolov5 小目标检测实现

    2024年02月04日
    浏览(34)
  • 基于YOLOv5 来训练头盔目标检测-附源码

    建筑工地头部头盔检测,基于目标检测工地安全帽和禁入危险区域识别系统,🚀😆附YOLOv5训练自己的数据集超详细教程!!! 目录 指标 yolov5s 为基础训练,epoch = 50 yolov5m 为基础训练,epoch = 100

    2024年02月13日
    浏览(36)
  • 目标检测论文解读复现之十六:基于改进YOLOv5的小目标检测算法

    前言 此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人已进行创

    2024年02月03日
    浏览(35)
  • YoloV5+ECVBlock:基于YoloV5-ECVBlock的小目标检测训练

    目录 1、前言 2、数据集 3、添加ECVBlock  4、BackBone+ECVBlock 5、Head+ECVBlock 6、训练结果 6.1 Backbone 6.2 Head   视觉特征金字塔在广泛的应用中显示出其有效性和效率的优越性。然而,现有的方法过分地集中于层间特征交互,而忽略了层内特征规则,这是经验证明是有益的。尽管一些

    2024年02月05日
    浏览(33)
  • 目标检测论文解读复现之十:基于YOLOv5的遥感图像目标检测(代码已复现)

    前言        此前出了目标改进算法专栏,但是对于应用于什么场景,需要什么改进方法对应与自己的应用场景有效果,并且多少改进点能发什么水平的文章,为解决大家的困惑,此系列文章旨在给大家解读最新目标检测算法论文,帮助大家解答疑惑。解读的系列文章,本人

    2024年02月06日
    浏览(29)
  • Yolov5口罩佩戴实时检测项目(模型剪枝+opencv+python推理)

    如果只是想体验项目,请直接跳转到本文第2节,或者跳转到我的facemask_detect。 剪枝的代码可以查看我的github:yolov5-6.2-pruning 第1章是讲述如何得到第2章用到的onnx格式的模型文件(我的项目里直接提供了这个文件)。 第2章开始讲述如何使用cv2.dnn加载onnx文件并推理yolov5n模型

    2023年04月08日
    浏览(29)
  • 基于yolov5的遥感图像目标检测(NWPU VHR-10)

    最近在做毕设,感觉网上信息不是很全,把自己的训练过程写下来供做这个方向的友友学习。 只有简单的复现,其余的还没探索到。 首先就是数据集:我用的数据集是西工大发布的数据集,NWPU VHR-10 链接:https://pan.baidu.com/s/1vfhDU2ORWUpL-aGM1PllGw  提取码:d5au 西工大数据集有十

    2023年04月25日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包