基于OPENCV的人脸口罩识别

2021-01-285907
AI 快速预览详细 收起
本文介绍了如何使用Python和OpenCV实现人脸口罩识别。首先需要安装Python和OpenCV,然后下载三个.xml模型文件(人正脸、人鼻子、口罩)。通过摄像头捕捉图像,灰化处理,并导入模型文件进行比对,有效识别未戴口罩或未遮住鼻子的情况。最后运行程序即可实现人脸口罩识别,适用于公共场所的卫生防护。


自从2019年新冠肺炎疫情(COVID-9)横行以来,人们已经充分意识到了个人卫生防护的重要性,在终南山院士的建议下人们平常在外出行的时候都需要带上口罩避免给他人造成不必要的伤害和麻烦。但是周围仍旧有很多的人要么不戴口罩,要么就是戴了口罩但是不遮住鼻子导致效果减半。今天就教大家如何来判断你的对象是否有好好的戴上口罩。

首先我们定义一下怎样算是戴好口罩
基于OPENCV的人脸口罩识别图1
不戴口罩或者戴了口罩但不把鼻子遮住都算是没有佩戴好口罩都需要提出警告。
基于OPENCV的人脸口罩识别图2
只有像这样戴了口罩并且良好的遮住鼻子才算是不需要警告的正确佩戴方式
下面就让我们来一起实践一下

前期准备:
1. Python(使用的为3.7.0
2. Opencv(使用版本为opencv-python4.5.1.48
3. 电脑+摄像头(笔记本自带或者USB外接摄像头)
4. Vscode代码编辑器(非必要)

具体实施:
1. 首先我们需要三个.xml的模型文件,OPENCV自带了两个模型文件关于人正脸的和人鼻子的,还有一个是有关口罩的模型在这里也给到大家这个mask.xml文件
2. 实施的逻辑大致如下:
1) 首先打开摄像头
2) 截取视频流,捕捉每一帧
3) 将图像灰化
4) 导入三个模型文件
5) 将模型文件里与摄像头中捕获的图像进行比对并且对符合的目标作出反应,将目标框出,并标识出当前的人的状态。


实施步骤:
相信大家都应该是已经安装好python的所以。。。
基于OPENCV的人脸口罩识别图3
1. win+R 打开运行,输入cmd进入命令行窗口
2. 输入pip install opencv-python并回车
基于OPENCV的人脸口罩识别图4
3. 下载的过程会比较缓慢,可以替换使用清华的镜像进行下载
输入:pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
这样会快很多。
基于OPENCV的人脸口罩识别图5
4. 安装结束之后会显示成功安装的字样(截止2021/1/27最新版本为4.5.1.48
基于OPENCV的人脸口罩识别图6
5. 这个时候运行我们的程序”口罩识别.py”,应该就可以看到你电脑的摄像头已经打开并且可以使用了,程序有关的注意事项已经在程序中以注释的形似进行标注出来了。注意哦,你的程序文件和模型文件需要在同一目录下不然程序会找不到你的模型自然也就运行不起来了,有能力的朋友可以修改模型文件的路径,在这里为了方便我就都放在同一目录下了。
基于OPENCV的人脸口罩识别图7                                基于OPENCV的人脸口罩识别图8
基于OPENCV的人脸口罩识别图9
可以看到最后的识别结果还是达到预期的不管是没戴口罩还是没好好戴口罩都能很好的识别出来

最后整体的打包文件我放在这里供大家参考下载了 下载附件基于OPENCV的口罩识别.zip


借助Python丰富的库再结合大家今天学到的口罩识别,期待大家能在作出更加功能丰富且有趣的小项目,来用各位新奇的脑洞来警醒人们好好戴口罩别人和自己都好。
基于OPENCV的人脸口罩识别图10                 基于OPENCV的人脸口罩识别图11

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
Forgotten
Forgotten
好像对眼镜的识别不是很好
- 没有更多了 -