2021-1-28 13:53:49 [显示全部楼层]
3520浏览
查看: 3520|回复: 1

基于OPENCV的人脸口罩识别

[复制链接]
本帖最后由 Mark_Sein 于 2021-1-28 13:55 编辑

自从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

Forgotten  版主

发表于 2021-1-29 11:55:43

好像对眼镜的识别不是很好
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主

楼主的其它帖子

上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail