【毕业设计】机器视觉行人口罩佩戴检测系统 - python 深度学习

基于yolov5的口罩佩戴检测代码 使用paddle框架,比较来说训练效果不错,已经训练好,有训练权重。 立即下载

0 前言

🔥 Hi,大家好,这里是丹成学长的毕设系列文章!

🔥 对毕设有任何疑问都可以问学长哦!

这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。

为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是

🚩 基于机器视觉的行人口罩佩戴检测

🥇学长这里给一个题目综合评分(每项满分5分)

  • 难度系数:4分
  • 工作量:4分
  • 创新点:3分

🧿 选题指导, 项目分享:

https://gitee.com/yaa-dc/BJH/blob/master/gg/cc/README.md

1 简介

2020新冠爆发以来,疫情牵动着全国人民的心,一线医护工作者在最前线抗击疫情的同时,我们也可以看到很多科技行业和人工智能领域的从业者,也在贡献着他们的力量。近些天来,旷视、商汤、海康、百度都多家科技公司研发出了带有AI人脸检测算法的红外测温、口罩佩戴检测等设备,依图、阿里也研发出了通过深度学习来自动诊断新冠肺炎的医疗算法。可以说,各行各业的从业者都在为早日战胜这场疫情贡献着力量。

2 效果展示

不多说, 先上效果
在这里插入图片描述
在这里插入图片描述

3 实现方法

3.1 模型介绍

在深度学习时代之前,人脸检测一般采用传统的、基于手动设计特征的方法,其中最知名的莫过于Viola-Jones算法,至今部分手机和数码相机内置的人脸检测算法,仍旧采用Viola-Jones算法。然而,随着深度学习技术的蓬勃发展,基于深度学习的人脸检测算法逐步取代了传统的计算机视觉算法。

在人脸检测最常用的数据集——WIDER Face数据集的评估结果上来看,使用深度学习的模型在准确率和召回率上极大的超过了传统算法。下图的青线是Viola-Jones的Precision-Recall图。
在这里插入图片描述

下图是众多基于深度学习的人脸检测算法的性能评估PR曲线。可以看到基于深度学习的人脸检测算法的性能,大幅超过了VJ算法(曲线越靠右越好)。近两年来,人脸检测算法在WIDER Face的简单测试集(easy 部分)上可以达到95%召回率下,准确率也高达90%,作为对比,VJ算法在40%召回率下,准确率只有75%左右。
在这里插入图片描述

其实,基于深度学习的人脸检测算法,多数都是基于深度学习目标检测算法进行的改进,或者说是把通用的目标检测模型,为适应人脸检测任务而进行的特定配置。而众多的目标检测模型(Faster RCNN、SSD、YOLO)中,人脸检测算法最常用的是SSD算法,例如知名的SSH模型、S3FD模型、RetinaFace算法,都是受SSD算法的启发,或者基于SSD进行的任务定制化改进, 例如将定位层提到更靠前的位置,Anchor大小调整、Anchor标签分配规则的调整,在SSD基础上加入FPN等。

在我个人看来,SSD是最优雅、简洁的目标检测模型,因此,我们实现的人脸口罩检测模型,也是采用SSD的思想,限于篇幅原因,本文不会详细介绍SSD的原理,只会进行简单的模型配置介绍。

在本项目中,我们使用的是SSD架构的人脸检测算法,相比于普通的人脸检测模型只有人脸一个类别,而人脸口罩检测,只不过是增加了一个类别,变成戴口罩人脸和不戴口罩的人脸两个类别而已。

我们开源的模型是一个非常小的模型,输入是260x260大小,主干网络只有8层,有五个定位和分类层,一共只有28个卷积层。而每个卷积层的通道数,是32、64、128这三种,所有这个模型总的参数量只有101.5万个参数。下图是网络的结构图。
在这里插入图片描述

其中,上面八个卷积层是主干网络,也就是特征提取层,下面20层是定位和分类层(注意,为了方便显示,我们没有画出BN层)。

训练目标检测模型,最重要的合理的设置anchor的大小和宽高比,笔者个人在做项目时,一般会统计数据集的目标物体的宽高比和大小来设置anchor的大小和宽高比。例如,在我们标注的口罩人脸数据集上,我们读取了所有人脸的标注信息,并计算每个人脸高度与宽度的比值,统计得到高度与宽比的分布直方图,如下:
在这里插入图片描述

因为人脸的一般是长方形的,而很多图片是比较宽的,例如16:9的图片,人脸的宽度和高度归一化后,有很多图片的高度是宽度的2倍甚至更大。从上图也可以看出,归一化后的人脸高宽比集中在1~2.5之间。所以,根据数据的分布,我们将五个定位层的anchor的宽高比统一设置为1,0.62, 0.42。(转换为高宽比,也就是约1,1.6:1,2.4:1)

五个定位层的配置信息如下表所示:

在这里插入图片描述

笔者使用基于Keras实现的目标检测微框架训练的人脸口罩检测模型,为了避免一些网友提到的使用手挡住嘴巴就会欺骗部分口罩检测系统的情况,我们在数据集中加入了部分嘴巴被手捂住的数据,另外,我们还在训练的过程中,随机的往嘴巴部分粘贴一些其他物体的图片,从而避免模型认为只要露出嘴巴的就是没戴口罩,没露出嘴巴的就是带口罩这个问题,通过这两个规避方法,我们很好的解决了这个问题,大家可以在aizoo.com体验我们的模型效果。

后处理部分主要就是非最大抑制(NMS),我们使用了单类的NMS,也就是戴口罩人脸和不戴口罩人脸两个类别一起做NMS,从而提高速度。

3.2 获取数据集

人脸口罩数据集下载

下载人脸口罩数据集的目的是利用OpenCV进行模型训练,这里采用口罩数据集的正负比列为1:3,即500张戴口罩的人脸图片和1500张不戴口罩的人脸图片。

3.3 数据集获取

解压之后,将压缩包中的mask文件自行选择文件夹放置,以便之后的操作。

如下:
在这里插入图片描述

上面带口罩的人脸图像我们命名为正样本,相反,没带口罩的数据集合命名为负样本, 如下:

在这里插入图片描述
由于数据集解压后样本图像命名是乱序的,我们要进行重命名,上面两幅图是已经处理好的, 下面给出示例代码

#对数据集重命名
#coding:utf-8
import os
path = "E:\\facemask\\mask\\have_mask" #人脸口罩数据集正样本的路径
filelist = os.listdir(path)
count=1000 #开始文件名1000.jpg
for file in filelist:   
    Olddir=os.path.join(path,file)  
    if os.path.isdir(Olddir):  
        continue
    filename=os.path.splitext(file)[0]   
    filetype=os.path.splitext(file)[1]
 
    Newdir=os.path.join(path,str(count)+filetype)  
    os.rename(Olddir,Newdir)
    count+=1
#对数据集重命名
#coding:utf-8
import os
path = "E:\\facemask\\mask\\no_mask" #人脸口罩数据集的路径
filelist = os.listdir(path)
count=10000 #开始文件名1000.jpg
for file in filelist:   
    Olddir=os.path.join(path,file)  
    if os.path.isdir(Olddir):  
        continue
    filename=os.path.splitext(file)[0]   
    filetype=os.path.splitext(file)[1]
 
    Newdir=os.path.join(path,str(count)+filetype)  
    os.rename(Olddir,Newdir)
    count+=1

4 最后

人脸戴口罩AI识别数据集(含戴口罩116和未戴口罩70张数据) 立即下载

相关推荐

人脸+戴口罩人脸数据集

数据集共包含1600张图片,标注为voc格式,有人脸及戴口罩人脸两类,可用于目标检测,自用过,质量高

YOLOv5实战口罩佩戴检测

人脸口罩佩戴检测(识别)是当前急需的应用,而YOLOv5是目前流行的强悍的目标检测技术。本课程使用YOLOv5实现人脸口罩佩戴的实时检测。课程提供超万张已标注人脸口罩数据集。训练后的YOLOv5可对真实场景下人脸口罩佩戴进行高精度实时检测。 本课程会讲述本项目超万张人脸口罩数据集的制作方法,包括使用labelImg和“精灵标注助手”标注工具以及使用Python代码对第三方数据集进行清洗。 本课程的YOLOv5使用PyTorch版的ultralytics/yolov5,分别在Windows和Ubuntu系统上做人脸口罩佩戴检测的项目演示。具体项目过程包括:安装YOLOv5、训练集和测试集自动划分、修改配置文件、准备Weights&Biases(wandb)训练可视化工具、训练网络模型、测试训练出的网络模型和性能统计。

【matlab】使用alexnet进行特征提取

1.下载alexnet工具箱 在命令栏输入alexnet,若不报错说明已经安装,若出现错误按照提示去下载工具箱; 下载地址:https://ww2.mathworks.cn/matlabcentral/fileexchange/59133-deep-learning-toolbox-model-for-alexnet-network (1)需要先注册(十分简单),登陆,下载; (2)下载完成之后,...

jingjingliang1995的博客 5275

【毕业设计】口罩佩戴检测系统 - opencv 卷积神经网络 机器视觉 深度学习

🔥 Hi,大家好,这里是丹成学长的毕设系列文章!🔥 对毕设有任何疑问都可以问学长哦!这两年开始,各个学校对毕设的要求越来越高,难度也越来越大… 毕业设计耗费时间,耗费精力,甚至有些题目即使是专业的老师或者硕士生也需要很长时间,所以一旦发现问题,一定要提前准备,避免到后面措手不及,草草了事。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的新项目是🚩 基于深度学习的口罩佩戴检测🥇学长这里给一个题目综合评分(每项满分5分)🧿 选题指导, 项目分享:https://gite

caxiou的博客 4365

毕设 基于深度学习的口罩佩戴检测

今天学长向大家介绍一个机器视觉的毕设项目基于深度学习的口罩佩戴检测【全网最详细】 - opencv 卷积神经网络 机器视觉 深度学习🧿 选题指导, 项目分享:见文末从2019年末开始,新型冠状病毒肺炎(COVID-19)在我国全面爆发并迅速传播,同时国家卫生健康委员会也积极响应密切关注全国疫情的动态变化并且发布了相关的预防指南,强调个人出行需要做好安全措施,在公共场合必须严格按照要求佩戴口罩。自从新型冠状病毒蔓延以来,各行各业都受到了巨大的冲击,严重影响到人们正常生产和生活。新型冠状病毒具有很强的传播和生

HUXINY的博客 948

基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)

基于STM32F103C8T6的循迹避障小车完整制作过程 由于本人的一个小项目,要做一个基于STM32的循迹避障小车,前后花了约1周的时间,这个过程种也参考了很多大神分享的资料,学到很多的东西。但是资料都比较分散,有些东西也不好找,在这里就想把自己制作小车的一个整体过程记录分享一下,希望能够帮到你。 我自己也算是一个小白,之前有做过 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎...

weixin_43924857的博客 14万+

毕业设计项目 基于机器视觉的行人口罩佩戴检测

新冠疫情爆发以来,人工智能技术在防疫工作中发挥了重要作用。本文介绍了一种基于SSD算法的图像口罩识别系统,能够准确检测戴口罩和未戴口罩的人脸。该系统采用轻量化网络结构,仅包含28个卷积层,参数量约101.5万。通过分析人脸宽高比分布,优化了anchor设置,并采用数据增强方法防止误判。实验结果表明,该系统在准确率和召回率上远超传统算法,为疫情防控提供了有效的技术支持。项目包含完整的数据集获取、模型训练和效果展示方案,适合作为计算机视觉相关毕业设计选题。

Mr.D学长 580

瑞萨CS+仿真器高级配置指南:从原理到实战优化RX系列MCU调试

在嵌入式系统开发中,仿真器是进行早期验证和深度调试的核心工具。它通过精确模拟目标微控制器的指令集、内存和外设行为,构建了一个虚拟的硬件沙盒环境。其工作原理在于对CPU核心、时钟系统和外设接口的软件模拟,使开发者能在无物理硬件时进行代码逻辑验证、内存布局规划和时序分析。这项技术的核心价值在于大幅降低开发成本、加速问题定位,并支持复杂场景的复现与测试。在瑞萨RX系列MCU开发中,CS+集成开发环境内置的仿真器功能尤为强大。本文聚焦于**指令解码缓存**和**外设时钟比率**等关键配置的深度解析,阐述如何通过优化

cmff98425的博客 619

【毕业设计】基于深度学习的口罩佩戴识别检测 人工智能 Python 目标检测 机器视觉 数据集 YOLO

毕业设计选题:口罩佩戴识别系统利用深度学习技术,旨在自动识别个体是否佩戴口罩,以提升公共健康管理效率。数据集包含两个主要分类:masks-detected(佩戴口罩)和no-masks-detected(未佩戴口罩)。在数据集准备完成后,项目进入环境配置阶段,创建虚拟环境并安装必要的深度学习库和YOLO工具。随后,通过YOLO模型进行训练,系统学习口罩佩戴的特征并保存模型。训练完成后,进行模型评估,计算在验证集上的表现,确保其准确性和鲁棒性。该系统能够实时监控口罩佩戴情况,及时发现未佩戴口罩的个体,有助于提

机器学习,深度学习,计算机视觉爱好者,整理分享技术资料与项目案例。 968

【毕业设计】复杂背景下的口罩识别与检测 人工智能 深度学习 Python 目标检测 机器视觉 计算机视觉 数据集 YOLO

毕业设计选题:口罩佩戴检测系统利用深度学习技术,旨在自动识别和分类公众场合中人们的口罩佩戴状态。该系统的数据集包含两种分类:佩戴口罩和未佩戴口罩。项目的关键步骤包括环境配置、数据集准备、模型训练及推理。在环境配置阶段,创建虚拟环境并安装必要的库,以确保项目的顺利运行;随后,编写数据集配置文件,明确训练和验证数据的路径及类别信息。在模型训练过程中,YOLO框架通过优化参数学习如何识别不同的佩戴状态,训练时间可能持续数小时到数天。

机器学习,深度学习,计算机视觉爱好者,整理分享技术资料与项目案例。 847

WINCC8.1工业组态软件安装与授权配置指南

SCADA系统作为工业自动化控制的核心平台,通过实时数据采集与监控实现生产流程可视化。WINCC作为西门子旗舰级组态软件,其8.1版本凭借稳定的运行时环境在汽车制造、流程工业等领域广泛应用。本文从工业控制系统软件安装规范切入,重点解析WINCC8.1与Automation License Manager的协同工作原理,详细说明包括系统环境检查、安装包校验、授权文件配置等关键技术环节。针对工程实施中常见的内存配置不足、授权管理器报错等典型问题,提供经过现场验证的解决方案,特别适用于需要进行产线监控系统升级维护

cqwf95925的博客 861

2026 基于深度学习的毕业设计(论文)选题指南 开题指导

基于深度学习的毕业设计(论文)选题合集涵盖了深度学习、机器学习、算法、人工智能、大数据、信息安全、推荐系统、目标检测等多个热门领域。对于计算机专业、软件工程专业、人工智能专业、大数据专业的毕业生而言,选择一个合适的毕业设计选题至关重要。在这个毕业设计选题合集中,我们精心收集了各种有趣且具有挑战性的选题,旨在帮助学生们在毕业设计中展现他们的技术实力和创新能力。不论是对于对深度学习技术感兴趣的同学,还是希望探索机器学习、算法或人工智能的领域的同学,本合集都能为您提供丰富的选题资源和灵感。

2301_79555157的博客 1万+

分布式存储系统关于GDPR条例中的数据清除原则

文章目录前言HDFS存储系统数据的完全删除基于加解密的输入输出流的数据保护方案 前言 关于GDPR是什么,可能许多同学之前并不太了解,至少笔者在之前也是不清楚的。GDPR全称为通用数据保护条例,General Data Protection Regulation。它是一项来自欧盟的关于计算机数据保护相关的条约,旨在规范系统如何收集,管控用户私人数据的种种行为。但是当前的一些存储系统并没有完全符合...

走在前往架构师的路上 2810

python深度学习毕业设计任务书帮助

🔥 Hi,大家好呀,大四的同学马上要开始毕业设计啦,大家做好准备了没呢!🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设缺少创新和亮点,往往达不到毕业答辩的要求。🔥 为了大家能够以最少的精力顺利通过毕业设计,学长推荐20个优秀的毕设项目给大家,同时分享项目与论文(源码+论文)。🔥 下文会对每个推荐的项目进行展示与打分,大家可以挑选自己喜欢的项目作为毕业设计。🧿详细项目介绍及项目分享,见文末!

yunhai66的博客 1034

python深度学习毕设选题建议

🔥 Hi,大家好呀,大四的同学马上要开始毕业设计啦,大家做好准备了没呢!🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设缺少创新和亮点,往往达不到毕业答辩的要求。🔥 为了大家能够以最少的精力顺利通过毕业设计,学长推荐20个优秀的毕设项目给大家,同时分享项目与论文(源码+论文)。🔥 下文会对每个推荐的项目进行展示与打分,大家可以挑选自己喜欢的项目作为毕业设计。🧿详细项目介绍及项目分享,见文末!

kooerr的博客 1482

二元交叉熵:分类模型概率校准的数学根基

二元交叉熵(BCE)是二分类任务中实现概率校准的核心损失函数,其本质源于最大似然估计与KL散度,确保模型输出具备真实可解释的概率意义。相比均方误差(MSE)或Hinge Loss,BCE强制优化预测分布与真实伯努利分布之间的信息差异,使p=0.8真正对应约80%的正例发生率,支撑风控、医疗、推荐等高信度场景的阈值决策。它不只影响训练收敛,更决定部署后概率的业务可信度——这正是Focal Loss等变体无法替代其基础地位的根本原因。理解BCE,就是理解分类模型如何从‘打分器’进化为‘概率契约签署者’。

congli3478的博客 691

大数据 深度学习毕业设计项目选题集合

🔥 Hi,大家好呀,大四的同学马上要开始毕业设计啦,大家做好准备了没呢!🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设缺少创新和亮点,往往达不到毕业答辩的要求。🔥 为了大家能够以最少的精力顺利通过毕业设计,学长推荐20个优秀的毕设项目给大家,同时分享项目与论文(源码+论文)。🔥 下文会对每个推荐的项目进行展示与打分,大家可以挑选自己喜欢的项目作为毕业设计。🧿详细项目介绍及项目分享,见文末!

yunhai66的博客 1548

《MySQL 入门教程》第 03 篇 管理数据库

本篇主要介绍 MySQL 数据库的创建、查看、选择和删除操作,包括使用 mysql 命令行和 MySQL Workbench 图形工具两种方式。

Tony.Dong的专栏 3056

基于YOLOv5的行人口罩检测系统开发实战

计算机视觉技术在智能安防和公共卫生领域有着广泛应用,其中目标检测是核心基础技术。通过深度学习框架如YOLOv5实现的高精度检测系统,能够有效解决复杂场景下的实时识别需求。这类技术方案通常包含数据采集、模型训练和边缘部署三个关键阶段,在智慧城市、疫情防控等场景中展现出重要价值。本文以口罩佩戴检测为切入点,详细解析了从PaddlePaddle框架选型到树莓派部署优化的全流程实践,特别分享了数据增强带来8%准确率提升的实战经验,以及如何通过模型量化实现边缘设备的高效推理。

weixin_34221112的博客 425
上一篇: 【毕业设计】机器视觉答题卡识别系统 - python 深度学习
下一篇: 【毕业设计】微信小程序商城购物系统
caxiou
博客等级 码龄5年 6129粉丝 823原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值