2020年1月30日,看到团团发的视频,报道有用无人机劝老奶奶戴口罩的做法,突然萌生了这个想法,就是实现通过机器视觉检测有没有戴口罩。

那么,既然无聊在家,就挑战七天实现机器视觉检测戴口罩。

【武汉加油!中国加油!】挑战七天 实现机器视觉检测有没有戴口罩系统——第一二三天

【武汉加油!中国加油!】挑战七天 实现机器视觉检测有没有戴口罩系统——第四五六七天

【B站视频】:在家无聊写了一个视觉检测戴口罩程序,基于OpenCV和Python的戴口罩检测程序
在这里插入图片描述

2020年1月30日- 2020年2月1日:

初步方案有二:

  1. 通过调用大厂api。

2020年2月12日更新

之前没有发现EasyDL,在这上面是可以不用知道机器学习原理,经过简单操作就可以进行建模了。

EasyDL平台训练模型校验示例:

检测:
在这里插入图片描述
分类:
在这里插入图片描述
当然,搭建自己的模型也是可以的。



2020年2月25日更新

开源项目:
PaddleHub口罩检测https://aistudio.baidu.com/aistudio/projectdetail/267322

百度积极响应号召,为了助推全社会的力量将AI技术应用于防疫工作,决定免费开源自研的“口罩人脸识别”预训练模型,该模型基于2018年百度在国际顶级计算机视觉会议ECCV 2018的论文PyramidBox而研发,可以在公共场景检测大量的人脸同时,将佩戴口罩和未佩戴口罩的人脸快速识别标注。基于此预训练模型,开发者仅需使用少量自有数据,便可快速完成自有场景模型开发。



  1. 方案二是OpenCV方案或者Halcon方案。OpenCV提供了基于Haar 特征的Adaboost 人脸检测训练文件:
    在这里插入图片描述
初步涉略认识:

Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联;
Haar分类器算法的要点如下:
a) 使用Haar-like特征做检测。
b) 使用积分图(IntegralImage)对Haar-like特征求值进行加速。
c) 使用AdaBoost算法训练区分人脸和非人脸的强分类器。
d) 使用筛选式级联把分类器级联到一起,提高准确率。
————————————————
版权声明:本文为CSDN博主「张雨石」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stdcoutzyx/article/details/34842233

人脸检测方法可大致分为基于外部特征、模板匹配和统计型 。人脸检测方法可大致分为基于外部特征、模板匹配和统计型的方法。

最常用到的三种特征分别为Haar特征、LBP特征及HOG特征,三种特征描述了三种不同的局部信息:
1) Haar描述的是图像在局部范围内像素值明暗变换信息;
2) LBP描述的是图像在局部范围内对应的纹理信息;
3) HOG描述的则是图像在局部范围内对应的形状边缘梯度信息。
————————————————
版权声明:本文为CSDN博主「Mirror_Yu_Chen」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sinat_31425585/article/details/82735158

卷积神经网络是一种特殊的深层的神经网络模型,它是将人工神经网络和深度学习技术相结合而产生的一种新型人工神经网络方法,具有局部感受区域、层次结构化、特征提取和分类过程结合的全局训练的特点,在图像识别领域获得了广泛的应用。卷积神经网络的特殊性体现在两个方面,一方面它的神经元之间的连接是非全连接的,另一方面同一层中某些神经元之间的连接的权重是共享的,这种非全连接和权值共享的网络结构降低了网络模型的复杂度,减少了权值的数量,这种网络结构对平移、旋转、倾斜、比例缩放等具有高度不变性。

基于Haar特征的分类器实际上是采用AdaBoost算法训练的。而AdaBoost是Boosting算法家族中代表算法。

经典的Viola-Jones人脸检测算法,它的主要思想包括积分图、Adaboost 分类学习和级联结构

由弱分类器并联成强分类器,由强分类器串联组成级联分类器。

常见的人脸识别技术有主成分分析( PC A ) ,线性判别分析( LD A )。

初步思路和步骤:

步骤:图像采集——人脸检测——特征提取——判定

检测原则有直接检测和间接检测方式:

  • 直接检测:直接检测存在人脸和口罩,而且已科学戴好。
  • 间接检测:通过检测人脸,若检测到眼睛而无嘴巴鼻子则判断为已经戴好口罩。
人脸检测方法分类:
人脸图像的检测, 将人脸区域从背景中分割出来。不同论文对检测方法的分类不一致。

描述一: 常见人脸区域检测技术有基于VJ 算法, DPM 模型, 深度学习框架。

  • VJ算法:VIola-Jones 是传统人脸检测算法。OpenCV 中的人脸检测也是用的这种算法。有三个步骤: Harr-like特征, Adaboost分类和级联分类。以下是算法的关键点:运用Harr-like输入特征: 阈值化矩形图像的和或差; 图像4 5 度旋转运用了积分图像技术, 加速计算类Harr; 运用Adaboost 创建分类器, 区分人脸与非人脸。筛选式级联分类器节点。第一组性能最优, 第二组次之, 以此类推。但是Harr-like特征只能创建简单的特征, 面对难样本稳定性低; 弱分类器采用的简单决策树,造成过拟合问题。分类器以VJ-cascade 为基础, 在进入下一个步骤前,信息全部被丢弃, 鲁棒性较弱。
  • DMP模型:运用FHOG进行特征选取, 依据PCA的结果选择维特征。基于DMP 的人脸检测方法在随机采集的图片上获得比V J 算法更好的效果。但是模型太过复杂,不能达到实时性的要求。后续有加入级联分类器, 使用积分图法进行特征计算,但是没有VJ效率高。
  • 深度学习框架:经典人脸检测方法络并不能达到稳定性要求, 容易受到光照, 遮挡, 调度的影响, 在复杂场景下保证人脸检测的识别率就很困难, 因此使用场景受限。在医人脸检测方法可大致分为基于外部特征、模板匹配和统计型 。院手术室这种场景中也无法施用。后续很多的人脸检测方法几乎都是根据深度神经网络进行优化的算法。精度上超越了之前的Adaboost框架。目前, 使用卷积神经网络进行的人脸检测方法能够解决运用滑动选框进行的人脸检测很难达到实时性要求这个问题。

描述二: 人脸检测方法可大致分为基于外部特征、模板匹配和统计型 的人脸检测。

  • 基于外观不变特征的人脸检测:人脸的一些特征比如几何、肤色等不受姿态表情变化影响,所以可以通过特定的算法提取相应脸部征, 并对这些特征进行建模。
  • 基于模板匹配的人脸检测:将事先准备好的一个人脸模板作为描述子,在视频流或图片输入时从左上方开始逐像素的进行扫描、匹配。
  • 基于统计模型的人脸检测:基于统计模型的人脸检测不需要对图片进行相关的预处理,并且不需要准备人脸模板。此方法是利用某种算法或者多种算法的融合对大量的样本图片(包含人脸和非人脸)进行学习,紧接着训练出一个人脸分类器,利用此分类器可以快速在输入视频的每一帧中检测出人脸并标记。基于统计模型的人脸检测需要在训练阶段采用大量的样本图片对该训练器进行训练,虽然算法过程较复杂,但是其检测效果速度快,检测率高,是目前的人脸检测主流方法,基于统计模型的人脸检测方法有主成分分析[37]。

描述三: 现有的人脸捡测方法大致可分为四种:基于知识的方法、特征不变方法、模板匹配方法、基于外观的方法。

  • 基于知识的方法: 基于规则的人脸检测方法,如人脸肤色、几何结构、人脸轮廓等特征。
  • 特征不变方法:根据提取到的面部特征,构建统计模型描述特征之间的相互关系并确定存在的人脸。
  • 模板匹配方法:预先存储几种标准的人脸模式描述整个人脸和面特征。计算输入
    图像和存储模式之间的相互关系, 根据计算得到的相互关系用于人脸检测。
    基于外观的方法:利用机器学习和统计分析找到人脸和非人脸的特征。
国内外研究现状:

南加利福尼亚大学研究团队介绍了一种检测医生是否在手术室中使用医用口罩的系统。总体目标是在不丢失面罩检测的情况下尽可能少地进行假阳性面部检测,以便仅为不戴手术面罩的医护人员触发警报。这个医用口罩检测运用了两个面部检测器进行检测, 其中一个用于面部检测, 另一个用于医用口罩检测。两个检测同时进行, 以便于提高效率且减少错误。两个检测器都运行颜色处理,以提高真阳性与假阳性的比率。该系统的召回率在95%以上,假阳性率在5%以下。该系统提供实时图像处理,在处理整个图像时,VGA分辨率达到10fps。在VGA图像中,高斯混合技术使得性能可以高达20fps 。采集图像允许人脸或者口罩佩戴者距离摄像机5 米。
在这里插入图片描述
周泉辰实现的基于人脸识别技术的医院手术室人员确认系统,利用了基于卷积神经网络进行人脸检测,选择抗干扰性强、适用于在医生有口罩遮挡这种情况下的 的FACVENET 算法进行人脸识别,由腕带码进行的“ 码, 人”进行一致性检测。
在这里插入图片描述
邵向阳实现的基于深度学习的人脸识别智能系统,选用深度卷积神经网络实现人脸识别,采用 Caffe 框架来训练人脸模型,采用 MFC搭配 OpenCV库编写系统的功能界面。
在这里插入图片描述
张伟峰, 朱明研究的基于巡逻小车的人脸遮挡异常事件实时检测中,采用固定区域的肤色检测以最大程度的减少误检的概率, 采用基于组件的方法,通过检测眼睛、鼻子、嘴巴等面部组件, 来实验面部遮挡的检测. 即通过检测眼睛来判断是否存在上遮挡, 通过检测嘴巴来判断是否存在下遮挡.步骤为 前景提取——人头区域定位——肩部定位——人脸区域判断——异常人脸遮挡判断。通过载入OpenCV haarcascades 文件下的训练文件haarcascade_mcs_mouth.xml 来识别嘴巴, 通过载入 haarcascade_eye_tree_eyeglasses.xml 来识别眼睛.
在这里插入图片描述
袁宝华研究的异常人脸的定位与识别,在归一化处理后通过对眉毛的定位, 将图像粗略地分割成眼部区域和嘴巴区域图像,针对眼部区域,采用了两种检测算法,基于人脸中心线检测,和基于区域灰度分布特征的墨镜检测;针对嘴巴区域,在第四章中采用基于直线检测方法检测口罩, 即利用水平投影和变换来检测水平长直线。
在这里插入图片描述
王文龙应用于ATM监控的异常人脸检测方法研究中,在人的头部定位的基础上,通过检测是否存在五官缺失来判断是否是异常人脸。通过分析人脸器官的几何分布图,可以通过定位眉毛的方法来确定人脸图像的中心线。然后根据中心线的位置将人脸图像分为嘴部区域和眼部区域两部分。在第四章中,在眼部区域采用基于haar特征的人眼分类器进行搜索。而在嘴部区域采用基于hough变换的水平直线检测结合基于haar特征的嘴器官分类器进行检测搜索。根据检测的结果判断该人脸是否是异常的人脸 。
在这里插入图片描述

引用文献:

[1] Nieto-Rodríguez, Mucientes M , Brea V M . System for Medical Mask Detection in the Operating Room Through Facial Attributes[C]// Iberian Conference on Pattern Recognition and Image Analysis. 2015.

[2]周泉辰. 基于人脸识别技术的医院手术室人员确认系统的研究与实现[D].南京师范大学,2019.

[3]邵向阳. 基于深度学习的人脸识别智能系统[D].河南大学,2017.

[4]廖广军. 复杂条件下的人脸检测与识别应用研究[D].华南理工大学,2014.

[5]汪济民. 基于卷积神经网络的人脸检测和性别识别研究[D].南京理工大学,2015.

[6]袁宝华. 异常人脸的定位与识别[D].南京理工大学,2005.

[7] 张伟峰,朱明.基于巡逻小车的人脸遮挡异常事件实时检测.计算机系统应用,2017,26(12):175–180. http://www.c-s-a.org.cn/1003-
3254/6122.html

[8]王文龙. 应用于ATM监控的异常人脸检测方法研究[D].沈阳航空航天大学,2013.

【武汉加油!中国加油!】挑战七天 实现机器视觉检测有没有戴口罩系统——第一二三天

【武汉加油!中国加油!】挑战七天 实现机器视觉检测有没有戴口罩系统——第四五六七天

【B站视频】:在家无聊写了一个视觉检测戴口罩程序,基于OpenCV和Python的戴口罩检测程序

Logo

为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。

更多推荐