YOLOv5项目实现口罩检测、目标检测(免费提供数据集2000+图片和标注以及所有代码)可以在多种平台上运行(pycharm+CUDA、colab、国内GPU云平台)图片形式、rstp形式、视频形式等

本文介绍了一篇关于目标检测的文章,特别是如何使用YOLOv5进行口罩检测的项目实战。作者提供了多种平台(PyCharm,Colab,AutoDL)的训练指南,并详细解释了数据集、标注、训练集与验证集的划分。通过100轮训练,模型在戴口罩和未戴口罩的检测上表现出高精度,但对未戴好口罩的识别有待提高。文章还展示了检测图片和视频的示例,并提供了源码和数据集链接。
摘要由CSDN通过智能技术生成

一、目标检测概述

相信很多朋友最近想入门计算机视觉方面,但是对于怎么入门还不是很了解,在这个过程中会遇到很多的问题,例如:找不到学习资源、软件不会安装等等。目标检测只是计算机视觉的一个方面,但是目前仍处于热门的研究话题。而目标检测的方法分为one-stage和two-stage方法,其中两种方法包括的方法和结果如下图所示

 在这篇文章中,我不会讲关于YOLOv5的一些算法细节,我会手把手教大家实现这个项目

注意:

1、本文章的内容将包含代码运行的多种平台,大家可以根据自己电脑的配置选择合适的运行平台,有:

①pycharm IDE+CUDA+anaconda   自己电脑的配置较高,显存较大的兄弟选择!!!

②colab   很方便!!不太稳定!谷歌的免费的GPU资源,需要外网和Google账户才能使用!!!

③AutoDL    很方便!!稳定!唯一的缺点是按小时收费!!

2、手把手教你怎么训练,同时也提供训练后的模型,可以直接使用(也是手把手教哦

3、利用训练后的模型:

①检测图片

②检测视频

③通过摄像实时检测

 二、项目实战(以口罩检测为例)

项目源码和数据集以及数据标注位于文章末尾!!!

2.1目标检测概述

写这一部分的目的是对于深度学习中的一些监督学习方法进行概述,让大家对于目标检测有一个清楚的认识,了解进行目标检测的一系列步骤,便于大家在自己的电脑上实操。

1、我们要选择数据集(当然,在这篇博客中我演示的是口罩数据集)

这时候会有一个问题——什么是数据集?它有什么用?数据集在目标检测中就是很多很多张图片,图片中有一些人、动物、物品等等(这些叫做前景,也就是我们需要检测的目标),同时会有对于这些图片中物体的标注(标注用来确定物体的位置信息)。与此同时,还会有具体是哪一类物体(这叫做标签,例如:有狗、猫、人等等)

将以上的概念迁移到我们今天的项目中,我们的标签一共就有3种:戴口罩、未戴口罩、没有戴好口罩;我们同时用标注工具标注图片中目标的位置,用记事本保存。

 如上图所示的一张图片中显然有两个人是戴好口罩的我们用0标注,没有带好口罩的我们用1标注,未戴口罩的用2标注,对于上面一张图片,我们生成的标注信息可以保存在TXT记事本中

如上图中,TXT文件中一共有两条记录,代表2个目标,每一条记录有5个参数,作用如上图红色文字所示。

2、划分训练集和验证集

在我的上一篇文章中讲了关于机器学习的本质,里面详细介绍了训练集和测试集怎么划分以及为什么要训练?在这里我就不再赘述,只是说明在目标检测中我们在划分训练集和测试集时候的注意事项

首先我们的图片以及标注放在了一个文件夹中 

  

  图片和标注文件夹下面都有两个子文件夹,都包含了训练集和验证集,训练集中的图片共有600张,测试集中的图片有178张。如下图所示

 

3、一些文件的作用

2.2 模型训练

模型的训练我们就使用云平台,例如:Google的colab或者国内收费的云平台等GPU租用,考虑到许多兄弟无法访问外网,我这次的演示就以国内GPU平台为例。

1、百度搜索AutoDL

进入AutoDL官网,注册一个账号,选择合适的配置的GPU,点击创建实例即可

①如上图所示,这个就是你创建的实例,我们选择的显卡的显存为40G,算是比较大的显存了(也可以选择小的显存,只不过训练的时间久一点)。

②接着我们点击图中所示的JupyterLab工具进入编辑窗口 按下图中的要求操作。

 ③在代码行输入以下代码,解压压缩文件(注意这一步的操作一定要在上传成功后操作!!!

import zipfile
f = zipfile.ZipFile("./yolov5-mask-master.zip",'r')
for file in f.namelist():
    f.extract(file)               
f.close()

④然后输入以下代码进入文件夹目录下,安装配置文件(这也是选择云GPU的一点好处,避免了自己安装的各种错)

%cd yolov5-mask-master/
%pip install -qr requirements.txt

2、正式开始训练!!!

继续输入下面的代码,开始训练

!python train.py --batch-size 16

注意后面的训练参数可以自己设置,如果你用的GPU显存足够大,可以定义64(我用的是40G显存),如果你的显存10G左右,参数改为8就可以。

接下来会出现整个YOLOv5模型的结构框架,每一层的定义,以及参数量的多少,见下图。 

 以及下面图中的参数信息等等

 稍等一段时间,模型就开始训练了,我设置默认训练100轮,如果大家想修改训练轮数的话,可以在上面添加参数,代码如下:

!python train.py --batch-size 16 --epoch 200

上面的代码就是训练200轮,大家根据需要自己修改。

最后就是漫长的等待了,大家如果不想等太久,可以适当将训练轮数设置的小一点;或者选择GPU的时候选择显存大的,然后batchsize可以设置的大一点这样也可以提高训练速度;再者就是数据集图片数量少一点。当然最终的训练结果也会根据你的选择有所不同。

3、训练结果展示

训练后的结果保存在run路径下,我们可以将所有的结果都下载到本地的电脑上,方便后面在自己的机子上测试(当然也可以线上测试)。

①best.pt该文件是训练之后的在验证集上达到最好效果的模型文件,用于实际的检测。

②训练100轮之后的结果——精度,召回率,mAP等等

从上面的结果中我们可以看出,经过100轮的训练,对戴了口罩的mAP达到了97.3%,对不戴口罩的mAP为88.5%,但是好像对没有戴好口罩的检测精度不是很高,这可能是由于样本数据中的没有戴好口罩的样本数量较少。

③验证过程中的检测结果

 

 左边的图是利用我们训练的模型检测得到的结果

右边的图是我们标注的标签

可以看出,检测的总体结果还是比较OK的!!

④更多的结果见下表

2.3测试模型效果

在上面的一小节中,讲了模型的训练过程以及训练的结果,在这一小节中,我们根据上一小节中训练得到的模型进行现实中的测试,主要涵盖一下方面:

1、正常的图片检测

!python detect.py --sourse 'data/images'

2、视频检测

!python detect.py --sourse 'video.mp4'

3、rstp流(IP摄像头软件需要在手机上下载)

!python detect.py --source 'rtsp://192.168.43.1:8554/live'

结果

 实际中的检测结果如上图所示,成功的检测出了未佩戴口罩、没有戴好口罩、和戴口罩三种类型,虽然在某些方面模型还不够完善,证明有可能是训练轮数不够,训练集和验证集图片设置不合理,还有可能是选择的训练集中的特征信息不突出等等。

结果和源码以及数据集链接提取!!!

链接:https://pan.baidu.com/s/1Ba82PlF1BTFkzwTEdJ5W_g 
提取码:krjc

大家需要把图片的两个文件夹复制到newmask目录下(具体操作看下图)

 

 

yolov5口罩检测数据集 代码 模型 2000标注好的数据 教学视频.zip 是一个包含了用于口罩检测yolov5数据集代码、模型和2000张已经标注好的图片的压缩文件。 数据集是用于训练口罩检测模型的基础,包含了大量不同场景下的口罩图像,可以帮助我们构建一个准确判断口罩佩戴情况的模型。这个数据集提供2000标注好的图片,也就是说每张图片都有标注信息,指示了图像中口罩的位置和属性,这对于训练模型非常有帮助。 代码部分可能包含了实现口罩检测的算法和模型的代码。这些代码可以帮助我们了解和理解如何使用yolov5模型进行口罩检测,以及如何进行模型的训练和测试。 模型部分可能是已经训练好的口罩检测模型。这个模型经过了大量的数据训练和调整,可以用于对新的口罩图像进行检测。使用这个模型,我们可以直接应用于实际场景中,进行实时的口罩检测。 此外,教学视频可能提供了对于口罩检测数据集代码和模型的详细讲解和演示。通过观看教学视频,我们可以更好地理解如何使用这些资源,以及如何进行实际口罩检测的应用。 总之,yolov5口罩检测数据集 代码 模型 2000标注好的数据 教学视频.zip 是一个非常有用的资源包,它提供了用于口罩检测数据集代码、模型和相关教学视频,让我们能够更好地理解和应用口罩检测技术。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值