基于轻量级CNN的口罩人脸检测方法现状研究

2020-10-09 11:01邹佰翰秦亚亭苑晓兵
软件 2020年8期

邹佰翰 秦亚亭 苑晓兵

摘  要: 在抗击新冠疫情的背景下,如何选用神经网络模型高效、快速地检测人的面部是否佩戴口罩成为技术热点。在实际人脸口罩检测场景中,要求模型能够尽可能快地输出判别结果。本文针对目前几种主要的轻量级检测模型:PyramidBox-Lite模型、基于SSD算法的Keras模型和基于CenterFace的口罩检测模型,在不同的数据集下做综合测试,并利用单帧图像处理速度、检测分类正确率两种指标对各种方法的性能做评价对比。最后分析了各种方法的优劣,以及口罩人脸检测技术在未来的优化方案。

关键词: 口罩人脸检测;PyramidBox-Lite模型;CenterFace;SSD算法

中图分类号: TP3    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.08.050

本文著录格式:邹佰翰,秦亚亭,苑晓兵,等. 基于轻量级CNN的口罩人脸检测方法现状研究[J]. 软件,2020,41(08):186-188

【Abstract】: Under the background of fighting the new crown epidemic, how to select the neural network model to effectively and quickly detect whether people wear masks or not has become the current technology hotspot. This paper aims at several main lightweight CNN models: the model based on PaddlePaddle, the model based on SSD algorithm and the model based on CenterFace. Comprehensive tests are carried out under different data sets, and the performance of each method is evaluated and compared by using ACC and FPS. Finally, the advantages and disadvantages of various methods are analyzed, as well as the optimization scheme of face detection technology in the future.

【Key words】: Mask face detection; PyramidBox-Lite model; CenterFace; SSD algorithm

0  引言

人臉口罩检测实际上属于人脸检测与图像分类问题[1],即使用人脸检测网络配合图像分类网络,首先确定人的面部位置,然后将图像分类为未佩戴口罩、已佩戴口罩两种情况。同时,口罩数据集较少、佩戴口罩的场景多样化、对模型运行速度的要求等情况,也成为口罩人脸检测中必须考虑的问题[2]。

1  口罩人脸检测相关技术分析

1.1  百度PyramidBox-Lite模型

百度基于PaddlePaddle深度学习平台研发的Py-ramidBox-Lite,是一种主干网络基于FaceBoxes的轻量级模型。它充分考虑了实际应用场景下,图像分辨率低、面部特征模糊以及外部的遮挡导致面部纹理不可区分的情况[3],使用了anchor-based的方法来改善人脸的检测。同时针对现有口罩人脸数据集较少的问题,模型的训练采用了WIDER FACE数据集和百度自采人脸数据集的超过10万张口罩人脸图像。

PyramidBox-Lite在检测速度方面吸收了FaceBoxes的优势。FaceBoxes模型在其RDCL(快速消融卷积层)模块通过选择合适尺寸的卷积核和降低输出特征图通道的数量,来减小输入特征图的尺寸,能够提高实际运用中的检测速度[4]。网络结构如图1所示。

而在原FaceBoxes结构的基础上,PyramidBox的网络结构继承了VGG16的backbone,同时也采用了S3FD中的anchor尺度设计[5],anchor是指在训练之前,在训练集上利用k-means等方法聚类出来的一组矩形框,代表数据集中目标主要分布的长宽尺度。在损失层,设置了PyramidBox损失,分类采用Softmax损失,回归采用平滑L1损失。

1.2  基于CenterFace的口罩检测模型

该模型是思百达公司在实时口罩检测项目sbd_ mask中提出的一种轻量级目标检测网络,人脸检测部分网络使用了CenterFace,而其图像分类部分网络使用了MobileNetV2。

在大多口罩检测场景下,比如商场和车站,图像中很可能会存在多个人脸,且受复杂环境影响,多目标人脸检测难度较大。CenterFace采用轻量级的特征金字塔网络,使得计算能力低、存储空间小的终端设备也能实时快速地进行人脸检测[6]。网络结构如图2所示。

CenterFace的backbone使用谷歌提出的MobileNetV2,并借鉴anchor-free通用对象检测框架[7],先判断feature map对应在图像中的位置是否是目标的中心点,再去计算目标的宽和高。由于无需计算与anchor之间交叉的面积,而是根据人脸中心所在的位置分配标签,从而有效缩短了训练时间[8]。

1.3  基于SSD的Keras模型

该模型是AIZOO公司以SSD[9]为基础架构,并使用Keras进行训练的模型。模型可以实时运行在浏览器以及终端设备上,符合实际应用需求。模型的主干网络如果加上定位和分类层,一共有24层。其中包含8个卷积层,用多个卷积层后的特征映射图来定位和检测原始图像的物体[10]。其中,模型用L1损失函数计算矩形框位置的损失,用交叉熵损失函数计算预测类的损失,模型的总体流程可以概括为提取低尺度的特征映射图、提取高尺度的特征映射图以及输出特征映射图的位置信息与分类信息三步[11],流程可以概括如图3所示。

在上述三种模型中,PyramidBox-Lite检测模型和SSD检测模型明确使用了anchor-based的设计,而基于CenterFace的检测模型则使用了anchor-free的设计。两种方法的区别在于是否利用anchor提取候选目标框。目前,采用 anchor-free 的方法在单阶段检测器上达到了和 anchor-based 方法接近甚至更好的效果。

2  方法性能测评

2.1  数据集与评价指标选取

在此我们使用AIZOO开源的从WIDER FACE中选出的700张图片以及随机自选的300张图片作为测试集,分为人数在10人及以上和人数低于10人的两类场景,并选用检测正确率ACC与图像处理速度FPS对各种方法进行评价[12]。测试平台为拥有GTX950型GPU,8G内存的Win10操作系统。

2.2  对比实验

经过测试,三种检测方法的性能数据如表1所示。

从实验结果可以看出,在人数不低于10人的场景下,基于CenterFace主干网络的模型在口罩分类检测方面准确率最高,且检测速度最快;百度的PyramidBox- Lite模型则在人脸检测方面准确率最高。在人数低于10人的场景下,PyramidBox-Lite的检测速度和人脸检测准确率最高,基于CenterFace的检测模型的口罩检测准确率最高,而基于SSD的Keras模型在三种性能上都略逊于前两种方法。部分结果如图4、5所示。

图4中被框选的左起第七人因其嘴部被前面的人的肩膀和衣物遮挡,导致PyramidBox-Lite误判为已佩戴口罩,而思百达基于CenterFace的模型则成功检测出其未佩戴口罩;AIZOO的基于SSD的模型对右起第二、左起第一、第二、第六人均未框选出人脸,但对于成功框选的人脸,其口罩检测结果都正确。

从复杂场景下的实验效果可以看出,PyramidBox- Lite和基于CenterFace的检测模型的人脸检测和口罩检测准确率都较高,且基于CenterFace的检测模型  的运行速度更快。说明当场景中人数较多时,衣物对人脸的遮挡和过于复杂的实际场景可能导致模型的  误判。

对于人数小于10人的一般场景,我们展示了部分有代表性的图像,包括正常口罩、非口罩遮罩、肢体遮罩、类肢体颜色的口罩四种情况。可以清晰地看到,三种方法都能够检测出正常口罩人脸和遮挡面部面积较大、颜色接近肢体颜色的口罩人脸。对于非口罩遮罩和肢体遮罩,基于SSD的Keras模型的检测效果最好,不仅正确区分了衣物遮罩,还明确检测出肢体遮罩并非口罩;PyramidBox-Lite仅成功检测出其中一张衣物遮罩,将第四张用衣物遮挡的人脸误判为已佩戴口罩;基于CenterFace的检测模型错将非口罩遮罩人脸检测为口罩人脸,且未框选出肢体遮罩人脸。

综合实验的检测效果可以看出,百度的PyramidBox- Lite模型检测速度最快,且人脸和口罩的检测的准确率都很高。而思百达的CenterFace模型和AIZOO的基于SSD的檢测模型拥有更加轻量级的架构,在低配终端的运行能力更具有优势,其检测效果和检测速度都值得肯定。

3  结语

在实际应用中,防控检测人员更加关注准确性和效率。从本文实验可以看出,现有检测方法在人数较少、环境简单的一般生活场景中检测准确性都非常可观,但对于有复杂人群的生活场景,性能会受到包括衣物遮挡、肢体遮挡、口罩颜色等多重因素的影响。更重要的是,模型需要在保证检测准确率的同时,具有更快的检测和分类速度。因此,总结未来口罩人脸检测方法的优化趋势如下:

(1)完善动态学习机制。由于现有口罩数据集较少,模型可以在实际应用中不断微调。例如,目前百度的Paddlehub1.6以上版本已经支持自身微调后自动转存模型。

(2)强化模型在特殊情况下的训练。包括对类肢体颜色的口罩、非口罩的衣物遮罩、肢体遮罩等信息较为特殊的图像的检测训练。

(3)降低模型体量,支持终端运行。大多数终端设备的存储计算能力不高,因此轻量级模型将更有发展前景,例如思百达的sbd_mask和AIZOO的模型均可支持终端运行。

参考文献

[1] 王远大. UCloud开放人脸口罩检测服务借助AI算法加快疫情防控[J]. 通信世界, 2020(5): 33-34.

[2] Xu Tang, Daniel K. Du, Zeqiang He, Jingtuo Liu. PyramidBox: A Context-assisted Single Shot Face Detector// ECCV2018, pp. 797-813.

[3] Yuanyuan Xu and Wan Yan and Haixin Sun and Genke Yang and Jiliang Luo. CenterFace: Joint Face Detection and Alignment Using Face as Point//CVPR, 2019.

[4] C. Zhu, Y. He, and M. Savvides. Feature selective anchor- free module for single-shot object detection. arXiv:1903. 00621, 2019.

[5] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.-Y. Fu, and A. C. Berg. SSD: Single shot multibox detector. ECCV, 2016.

[6] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar. Focal loss for dense object detection. In ICCV, 2017.

[7] R. Girshick. Fast r-cnn. In ICCV, 2015. 1, 3.

[8] B. Singh, M. Najibi, and L. S. Davis. SNIPER: Efficient multi-scale training. NIPS, 2018.

[9] Joseph Redmon and Ali Farhadi. Yolo9000: Better, faster, stronger. arXiv:1612.08242, 2016.

[10] Lingxi Xie and Alan L. Yuille. Genetic CNN. CoRR, abs/1703.01513, 2017.

[11] V. Jain and E. G. Learned-Miller. Fddb: A benchmark for face detection in unconstrained settings. UMass Amherst Technical Report, 2010.

[12] X.Zhou, D. Wang and P. Krahenbuhl. Objects as Points. arXiv:1904.07850.