5 Star 53 Fork 25

Gitee 极速下载 / FaceMaskDetection

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/AIZOOTech/FaceMaskDetection
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

FaceMaskDetection

English Version | 中文版

[updates]

人脸口罩检测,现开源所有主流框架模型和推理代码,支持的框架如下:

  • PyTorch
  • TensorFlow(包含tflite模型和pb模型)
  • Keras
  • MXNet
  • Caffe
  • Paddle
  • OpenCV dnn

检测人脸并判断是否佩戴了口罩, 并开源近8000张人脸口罩标注数据

Detect faces and determine whether they are wearing mask.

首先,祝愿我国和世界各国早日战胜新冠肺炎疫情,武汉加油!中国加油!

  • 我们开源了人脸口罩检测的所有主流框架(PyTorch、TensorFlow、Keras、MXNet和caffe)的相应模型(使用keras训练的模型,并转换得到的其他框架模型),并提供了所有五大框架的的推理代码。所有模型都在models文件夹下。

  • 开源了标注的7971张人脸标注图片,数据集来自于WIDER FaceMAFA数据集, 我们重新修改了标注并进行了校验(主要是 MAFA和WIDER Face的人脸位置定义不一样,所以我们进行了修改标注)并将其开源出来。(有需要的朋友,敬请关注我们新建的公众号AIZOO(本文末也有二维码,可以扫描关注),回复口罩数据集就可以了。公众号刚开,恳请大家帮忙关注和扩散一下~)

关于本项目的介绍,请参考以下三篇我们公众号的文章

我们也使用TensorFlow.js部署了一个网页版,大家可以点击下面链接访问 欢迎大家点击链接在线体验

aizoo.com跑在您浏览器的口罩检测模型

模型结构

我们在本项目中使用了SSD类型的架构,为了让模型可以实时的跑在浏览器以及终端设备上,我们将模型设计的非常小,只有101.5万个参数。模型结构在本文附录部分。

本模型输入大小为260x260,主干网络只有8个卷积层,加上定位和分类层,一共只有24层(每层的通道数目基本都是32\64\128),所以模型特别小,只有101.5万参数。模型对于普通人脸基本都能检测出来,但是对于小人脸,检测效果肯定不如大模型。具体效果,大家可以点击以下链接,访问我们的网站在线体验效果。 aizoo.com跑在您浏览器的口罩检测模型

网页使用了Tensorflow.js库,所以模型是完全运行在您浏览器里面的。运行速度的快慢,取决于您电脑配置的高低。

模型在五个卷积层上接出来了定位分类层,其大小和anchor设置信息如下表.

卷积层 特征图大小 anchor大小 anchor宽高比(aspect ratio)
第一层 33x33 0.04,0.056 1,0.62,0.42
第二层 17x17 0.08,0.11 1,0.62,0.42
第三层 9x9 0.16,0.22 1,0.62,0.42
第四层 5x5 0.32,0.45 1,0.62,0.42
第五层 3x3 0.64,0.72 1,0.62,0.42

运行方法

opencv

python opencv_dnn_infer.py  --img-path /path/to/your/img

paddle

on image:

python paddle_infer.py  --img-path /path/to/your/img

pytorch

如果您要运行图片:

python pytorch_infer.py  --img-path /path/to/your/img

如果您要在视频上跑,只需要:

python pytorch_infer.py --img-mode 0 --video-path /path/to/video  
# 如果要打开本地摄像头, video_path填写0就可以了,如下
python pytorch_infer.py --img-mode 0 --video-path 0

TensorFlow/Keras/MXNet/Caffe

另外四大框架运行方法基本类似,只不过将pytorch_infer.pypytorch的换成对应框架名字即可即可,以TensorFlow为例:

python tensorflow_infer.py  --img-path /path/to/your/img

注意,对于caffe的推理,我们使用了permute层,所以需要使用caffe-ssd,也就是SSD作者开源的caffe版本,官方版本的caffe并不包含permute层。您也可以使用opencv的dnn模块来加载模型推理,opencv支持permute层。

不过如果您需要可以在官方版本的caffe上可以运行的模型,也可以联系我们修改模型,实现不需要permute层的模型。

附录

问题反馈与交流

欢迎AI圈和科技圈的朋友关注我们的公众号,这是我们分享AI技术和资讯的地方。我们要做的事情是搭建开发者和AI算法和产品需求方的一个桥梁,欢迎有AI算法需求的朋友关注我们,也欢迎有熟练算法和开发经验的工程师添加我们,与我们交流。

如果你有任何问题,欢迎关注我们的公众号,通过后台给我留言,或者添加作者元峰的微信AIZOOTech与我联系 ,我会将您拉入AIZOO技术交流群。 我们的技术交流群二维码,欢迎算法开发者和需求方进群交流,请输入备注,例如张三丰-浙大-目标检测或者张三丰-腾讯-图像分割

** 扫描元峰的微信号,邀请您入群。**

模型结构图

为了可视化方便,我们省略了BN层,如果您要查看完整模型,可以查看img文件夹的face_mask_detection.hdf5.png图片

测试集PR曲线

因为WIDER face是一个任务比较复杂的数据集,我们的模型又设计的非常小,所以对于人脸的PR曲线并不是那么性感。这点可以通过设计大模型来提升对于小人脸的检测效果,如果您有需求,欢迎通过上述二维码联系我们。

因为WIDER face是一个任务比较复杂的数据集,我们的模型又设计的非常小,所以对于人脸的PR曲线并不是那么性感。这点可以通过设计大模型来提升对于小人脸的检测效果,如果您有需求,欢迎通过上述二维码联系我们。

我们的网页长这样

欢迎大家点击链接在线体验

aizoo.com跑在您浏览器的口罩检测模型

MIT License Copyright (c) 2020 AIZOOTech Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

检测人脸并判断是否佩戴了口罩 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/mirrors/FaceMaskDetection.git
git@gitee.com:mirrors/FaceMaskDetection.git
mirrors
FaceMaskDetection
FaceMaskDetection
master

搜索帮助

14c37bed 8189591 565d56ea 8189591