2019年12月底在湖北武汉爆发的新型冠状病毒肺炎肆虐至今, 对世界各国人民造成了巨大损失. 人们佩戴口罩出行已经成为常态, 而佩戴口罩所导致的面部遮挡问题干扰了人脸检测, 导致人脸识别算法出现漏检情况, 给如今众多人脸识别应用带来巨大的挑战, 如在通过火车站、机场安检通道时进行人脸认证就需要摘下口罩, 在某种程度上这就会带来一定的安全隐患. 在人脸识别算法中增强人脸检测网络, 高效准确识别口罩遮挡的人脸, 此举能够减少人员交叉感染的风险, 有效地抑制病毒的传播.
口罩人脸检测[1]从本质上来说是属于目标检测范畴, 传统的目标检测方法利用滑动窗口遍历目标区域进行选择, 然后使用SIFT、Harr等特征对滑框选中的候选区域进行特征提取, 最后通过训练好的分类器[2]如AdaBoost、SVM对特征进行分类, 滑框的选择没有针对性且特征提取的好坏直接影响后续的分类效果, 因而该方法效率低且鲁棒性差; 近年来, 深度学习的快速发展给目标检测带来了新思路, 通过卷积神经网络[3]能够提取高层特征, 显著地提升了分类的准确率, 加快模型检测速度. 基于深度学习的目标检测算法主要分为“两阶段”和“单阶段”, “两阶段”指的是将提取特征和检测分为两个步骤, 以R-CNN[4]、Fast R-CNN[5]、Faster R-CNN[6]为代表, 首先为先进性区域选取, 再进行分类; 而“单阶段”则是将这两个步骤合并为一步, 以SSD[7]、YOLO[8]系列为代表, 将区域选取和分类融合到同一个网络结构中, 构建一个“分类+回归”的多任务学习模型结构.
在人脸检测模型的实际应用场景中, 大多数是部署在移动端或嵌入式平台上, 考虑到移动端平台的计算能力不足和无法使用GPU加速处理数据的问题, 实现轻量级的网络模型显得尤为重要. 针对人脸口罩佩戴检测的精度、速度和模型大小的问题, 多位学者进行了研究, 比如文献[9]基于原始的Faster R-CNN框架, 引入基于空间-通道注意力结构改进的Res2Net分组残差结构, 在AIZOO和FMDD两个人脸数据集上对佩戴口罩的人脸检测准确率分别达到90.37%和90.11%. 文献[10]在YOLOv4算法中引入轻量级骨干网络L-CSPDarkNet以提高模型的检测速度, 同时提出轻量级特征增强模块Light-FEB和多尺度注意力机制Multi-Scale-Sam增强轻量级主干网络的特征提取能力, 该算法精度可达91.94%.
本文选取YOLO系列最新的YOLOv5模型为基础, 设计更加轻量化的网络结构以减少参数量和计算量并提高检测速度, 添加注意力机制以增强特征表达能力, 并改进损失函数, 在模型轻量化的同时提升检测精度.
1 YOLOv5算法介绍YOLOv5是YOLO系列当前最新的实时目标检测算法, 自Ultralytics公司于2020年5月提出迭代更新至今, 最新版v6.0在之前版本的YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x这4个模型基础上提出了更小的YOLOv5n模型, 新提出的YOLOv5n模型保持了YOLOv5s的深度即Bottleneck的数量, channel数降为一半, 模型总参数减少了75%, 非常适用移动端平台.
YOLOv5现版本网络主要由输入端、Backbone、Neck、Prediction四部分组成, 在输入端用了Mosaic数据增强、自适应锚框计算、自适应图片缩放等策略对数据进行预处理, Backbone结构主要由C3、Conv和SPPF模块组合而成, Neck结构采用了PANet[11]结构, Detect结构对3个不同尺寸特征图进行预测. Mosaic数据增强对4张图片采取随机缩放、随机裁剪、随机排布的方式进行拼接, 在提升数据集多样性的同时增加许多小目标, 训练得到的模型鲁棒性更好; C3模块参照CSPNet[12]的设计将输入的特征图分成了两部分, 然后分别进行各自的阶段操作后合并以实现更丰富的梯度组合, 在保证准确率的前提下降低计算成本, 并且通过shortcut的true和false值控制有无残差网络[13]; SPPF模块通过3次递进的池化操作, 最后拼接得到了2倍通道数的特征图, 极大地提升了模型的特征提取能力, 有利于检测图像中不同大小的目标对象. PANet结构如图1所示, 它是在特征金字塔网络FPN[14]结构的基础上引入了Bottom-up path augmentation结构, FPN将高层特征信息通过上采样的方式和低层特征融合达到高层语义特征与低层细节特征融合互补的目的, PAN再进行自底向上的特征融合, 强化特征提取能力.
YOLOv5n和YOLOv5s对于640×640和1280×1280不同输入尺寸的性能表现, 1280×1280尺寸精度虽高但输入图片的高分辨率对设备资源增加了更大的负担, 640×640尺寸下, YOLOv5n的参数量和计算量优于YOLOv5s, 更易部署于移动端平台, 最终选择YOLOv5n为基准进行模型优化.
2 模型优化 2.1 改进的C3GhostGhostNet轻量级网络能够在保持原有卷积输出特征图的尺寸和通道大小的前提下, 大幅降低网络的计算量和参数量, 实现原理是将传统的卷积分成两步操作进行, 分别是普通卷积和廉价的线性计算, 首先利用较少的卷积核生成一部分特征图, 接着对这部分特征图进行通道卷积生成更多特征图, 最后拼接两组特征图生成GhostNet特征图. 传统卷积与GhostNet卷积过程如图2所示.
传统卷积计算方式可表示为:
$ Y = F*f + b $ | (1) |
其中,
GhostNet卷积的计算方式[15]可表示为:
$ Y' = F*f' $ | (2) |
$ {y_{ij}} = {\Phi _{i, j}}\left( {{y_i}} \right), i \in \left[ {1, M} \right], {{j}} \in \left[ {1, S} \right] $ | (3) |
其中,
通过对比传统卷积和GhostNet卷积的计算量和参数量, 如式(4):
$ \begin{split} & \dfrac{{N \times H' \times W' \times K \times K \times C}}{{M \times H' \times W' \times K \times K \times C + (N - M) \times H' \times W' \times D \times D}} \\ & = \dfrac{{N \times K \times K \times C}}{{\dfrac{N}{S} \times K \times K \times C + \dfrac{N}{S}(S - 1) \times D \times D}} \\ & = \dfrac{{K \times K \times C}}{{\dfrac{1}{S} \times K \times K \times C + \dfrac{1}{S}(S - 1) \times D \times D}} \\ & \approx \dfrac{{S \times C}}{{C + S - 1}} \approx S \\ \end{split} $ | (4) |
采用同样大小的
GhostConv第1个Conv采用步长为1的
注意力在人类感知中起着重要作用, 使人们能够有选择地关注重要部分, 获取感兴趣的信息, 将注意力纳入机器学习中就形成了注意力机制, 在模型的学习过程中, 将有限的精力集中在重要信息上, 减小计算量的同时节约了成本. 卷积注意力模块(CBAM)[17]是一个简单而有效的前馈卷积神经网络, 融合通道注意力机制和空间注意力机制, 先通道后空间的串行方式组合在保持较小开销的情况下实现了相当大的性能提升. 特征图
$ F' = {M_C}\left( F \right) \otimes F $ | (5) |
$ F'' = {M_S}\left( {F'} \right) \otimes F' $ | (6) |
其中,
通道注意力机制关注的是输入特征图的通道信息, 给予每条通道不同的权重, 权重参数代表了该通道特征信息对特征图的关键信息的影响程度, 合理的权重分配强化了特征图的特征信息表达. 通道注意力模块的网络结构如图4, 对输入特征图同时进行最大池化和平均池化以聚合空间维度信息, 然后依次送入一个权重共享的多层感知机器(MLP)[18], 最后通过Sigmoid激活函数得到通道注意力图
2.2.2 空间注意力机制
空间注意力[19]关注的是输入特征图的位置信息, 按照对特征图像素影响的重要性, 分配权重, 在一定程度上弥补了通道注意力的不足. 空间注意力模块的网络结构如图5所示, 对输入特征图先后进行最大池化和平均池化得到两组特征图, 接着在通道维度上进行拼接并通过7×7的卷积核处理, 最后通过Sigmoid激活函数得到空间注意力图
在Backbone结构中的所有Conv模块加入CBAM, 先进行标准卷积再通过CBAM模块削弱网络中无关特征的权重, 提高对脸部特征关注, 会减少网络模型收敛的时间, 理论上可以提升小目标检测性能.
2.3 α-CIoU损失函数
损失函数用来计算模型输出的预测值与输入的实际值之间的差距, 在模型训练优化过程中至关重要. 目标检测通过Bounding box回归来预测定位图像中的目标, 早期的目标检测使用
$ {L_{{\rm{CIoU}}}} = 1 - IoU + \frac{{{\rho ^2}\left( {b, {b^{gt}}} \right)}}{{{c^2}}} + \beta \nu $ | (7) |
其中,
在现有的
$ {L_{IoU}} = 1 - Io{U^\alpha } $ | (8) |
其中, power参数可作为调节
$ {L_{\alpha {\textit{-}} {\rm{CIoU}}}} = 1 - Io{U^\alpha } + \frac{{{\rho ^{2\alpha }}\left( {b, {b^{gt}}} \right)}}{{{c^{2\alpha }}}} + {\left( {\beta \nu } \right)^\alpha } $ | (9) |
本文实验机器操作系统版本为Windows 10 专业版, CPU型号为Intel(R) Core(TM) i9-10900F CPU @ 2.8 GHz, 显卡型号为GeForce RTX 3090, 24 GB显存, 32 GB内存, 模型基于PyTorch 1.10深度学习框架, 并使用cuda 11.3对GPU进行加速.
本文的实验数据集收集于公开数据集WIDER Face[23], 对这些图片进行了筛选, 删除错误不合理标签并添加缺失标签, 然后通过爬虫在百度图片爬取了少量图片扩充数据集, 最终得到9 240张图片, 分为人脸类(face)和口罩人脸类(mask), 训练前将数据集按6:2:2比例随机划分为训练集、验证集和测试集, 使用Python的random函数随机生成一个0–100之间的数字, 0–60划分为训练集, 60–80划分为验证集, 80–100划分为测试集, 共得到训练集5 449张、验证集1 903张和测试集1 888张.
3.2 评价指标考虑到人脸检测模型的主要部署在移动端或嵌入式设备上, 并且疫情防控影响深远, 本文选取精确率(precision, P)、召回率(recall, R)、平均精度均值(mean average precision, mAP)、参数量(parameters)、计算量(GFLOPs)、模型大小、平均检测时间等作为评价指标.
精确率表示预测为正样本中实际正样品的概率, 召回率表示实际正样本中预测为正样品的概率, TP、FP、FN分别是实际正样品预测为正样品数、实际负样品预测为正样品数、实际正样品预测为负样品数, 平均精度均值表示所有类别平均精度(AP)的均值, 模型大小指训练结束得到权重文件大小, 平均检测时间指模型检测一张图片所耗费的时间. 具体计算公式如下.
$ {{P}} = \frac{{TP}}{{TP + FP}} $ | (11) |
$ {{R}} = \frac{{TP}}{{TP + FN}} $ | (12) |
$ {{AP}} = \int_0^1 {PdR} $ | (13) |
$ mAP = \frac{{\displaystyle\sum\nolimits_{i = 1}^n {A{P_i}} }}{n} $ | (14) |
实验中采用Warmup[24]学习率优化策略, 在训练开始时采用一维线性插值方式更新学习率, 使学习率从0增加到初始学习率(0.01), 这样可以规避过高初始学习率引起模型震荡的风险, 之后采用余弦退火算法[25]更新学习率. 所有训练图像输入尺度统一为640×640, 一共训练400轮, batch-size设置为128即每轮中一个批次GPU处理的图片数量, 充分利用显存.
3.3.1 实验结果通过消融实验验证本文的改进对口罩人脸检测性能的影响, 分别进行了YOLOv5n、C3Ghost、CBAM、α-CIoU、YOLOv5n-face共5次训练, 改进方式与名称对应, YOLOv5n-face是最终改进模型. 训练得到的模型参数及测试集测试结果如表1所示.
如表1所示, 替换了融合GhostNet网络的C3Ghost模块后, 相对于原模型, 计算量和参数量分别减少了33.33%和29.79%, 模型权重大小减少了26.31%, 模型得到了理想压缩, 并且在GPU加速情况下模型检测速度提升了17.64%, 这些都归功于廉价的GhostNet卷积, 鉴于移动端平台的计算能力不足的情况, 以上性能的提升显得尤为突出. 此外精确率提升了0.4%, 召回率和平均精度均值仅降低了1%, 不难想到, 模型计算量和参数量的压缩势必会给模型检测精度带来一定的影响; 原模型加入注意力机制(CBAM)后, 精确率、召回率和平均精度均值分别提升0.3%、0.1%和0.2%, 参数量仅增加了0.67%, 因为原模型对人脸特征的提取不够明确, 不能准确地检测出所有人脸, 造成漏检, CBAM更加关注人脸位置和特征并且提高了模型的特征提取能力, 能够更加快速准确地检测到人脸位置, 检测速度5.88%提升也是理所当然. CIoU损失函数优化后的α-CIoU提升了0.9%的精确率和0.3%的平均精度均值, 正如提出者所说, 它通过增加高交并比对象的损失和梯度的权重来提高Bounding box回归精度, 尤其是在高平均精度均值的情况下, 并且在轻量级模型中表现更优; 最终模型YOLOv5n-face相比原模型, 权重文件大小减少了23.68%而平均精度均值提升了0.4%, 检测速度也略有提升, 实现了模型轻量化的目标.
3.3.2 不同网络的对比实验为了进一步验证本文改进后轻量级模型YOLOv5n-face在口罩人脸检测中的检测性能, 与YOLO同系列下的YOLOv3-tiny[26]、YOLOv4-tiny[27]展开对比实验, YOLOv3-tiny和YOLOv4-tiny均属于单阶段轻量型目标检测算法且具有不错的检测速度和精度, 采用平均精度均值、参数量、计算量等多个指标进行对比评估, 对比实验结果如表2所示.
不难看出, 本文模型的参数量和计算量为YOLOv3-tiny模型的14.4%、22.48%和YOLOv4-tiny模型的19.92%、16.96%, 并且训练得到的模型大小仅有2.8 M, 不到YOLOv3-tiny和YOLOv4-tiny模型的16.67%、23.02%. 此外, 参数量和计算量的降低并没有导致平均精度均值的降低, 相比YOLOv3-tiny和YOLOv4-tiny模型mAP@0.5(IoU阈值为0.5)分别提高了1.7%和1.4%, mAP@0.5:0.95 (IoU阈值取0.5到0.95, 步长0.05)分别提高了3.6%、2.3%. 本文模型在减少模型大小的同时兼顾检测精度和速度, 无论是CPU还是GPU环境, 其检测精度和速度都优于YOLOv3-tiny和YOLOv4-tiny, 仅2.8 M的模型大小部署在移动端或嵌入式设备的效果不言而喻, 整体性能相比YOLOv3-tiny和YOLOv4-tiny具有明显的优势.
4 结束语针对疫情防控下移动端或嵌入式设备的人脸检测模型检测精度降低的问题, 考虑到移动端或嵌入式平台计算能力不足, 本文通过融合GhostNet网络, 添加注意力机制, 改进目标框CIoU损失函数, 提出了YOLOv5改进的轻量级口罩人脸检测模型. 该模型极大压缩了计算量和参数量并降低检测时间, 模型精度得到一定程度的优化, 且最终得到的模型权重大小仅2.8 M, 减少对硬件条件的依赖. 后续将实现移动端平台的模型部署, 进一步实验证实该模型的有效性, 真正的投入疫情防控工作中以满足社会的实际需求.
[1] |
Hasan K, Ahsan S, Abdullah-Al-Mamun, et al. Human face detection techniques: A comprehensive review and future research directions. Electronics, 2021, 10(19): 2354. DOI:10.3390/electronics10192354 |
[2] |
Verschae R, Ruiz-Del-Solar J, Correa M. A unified learning framework for object detection and classification using nested cascades of boosted classifiers. Machine Vision and Applications, 2008, 19(2): 85-103. DOI:10.1007/s00138-007-0084-0 |
[3] |
Deng B, Lv H. Survey of target detection based on neural network. Journal of Physics: Conference Series, 2021, 1952: 022055. DOI:10.1088/1742-6596/1952/2/022055 |
[4] |
Girshick R, Donahue J, Darrell T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation. Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus: IEEE, 2014. 580–587.
|
[5] |
Girshick R. Fast R-CNN. Proceedings of the 2015 IEEE International Conference on Computer Vision. Santiago: IEEE, 2015. 1440–1448.
|
[6] |
Ren SQ, He KM, Girshick R, et al. Faster R-CNN: Towards real-time object detection with region proposal networks. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. DOI:10.1109/TPAMI.2016.2577031 |
[7] |
Liu W, Anguelov D, Erhan D, et al. SSD: Single shot multibox detector. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 21–37.
|
[8] |
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 779–788.
|
[9] |
李泽琛, 李恒超, 胡文帅, 等. 多尺度注意力学习的Faster R-CNN口罩人脸检测模型. 西南交通大学学报, 2021, 56(5): 1002-1010. DOI:10.3969/j.issn.0258-2724.20210017 |
[10] |
丁培, 阿里甫·库尔班, 耿丽婷, 等. 自然环境下实时人脸口罩检测与规范佩戴识别. 计算机工程与应用, 2021, 57(24): 268-275. DOI:10.3778/j.issn.1002-8331.2106-0363 |
[11] |
Liu S, Qi L, Qin HF, et al. Path aggregation network for instance segmentation. Proceedings of the 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 8759–8768.
|
[12] |
Wang CY, Liao HYM, Wu YH, et al. CSPNet: A new backbone that can enhance learning capability of CNN. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). Seattle: IEEE, 2020. 1571–1580.
|
[13] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
|
[14] |
Lin TY, Dollár P, Girshick R, et al. Feature pyramid networks for object detection. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 936–944.
|
[15] |
Han K, Wang YH, Tian Q, et al. GhostNet: More features from cheap operations. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020. 1577–1586.
|
[16] |
Chollet F. Xception: Deep learning with depthwise separable convolutions. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2016. 1800–1807.
|
[17] |
Woo S, Park J, Lee JY, et al. CBAM: Convolutional block attention module. Proceedings of the 15th European Conference on Computer Vision. Munich: Springer, 2018. 3–19.
|
[18] |
Tolstikhin IO, Houlsby N, Kolesnikov A, et al. MLP-Mixer: An all-MLP architecture for vision. Proceedings of the 35th Advances in Neural Information Processing Systems. 2021. 24261–24272.
|
[19] |
Zhao L, Yang F, Bu LG, et al. Driver behavior detection via adaptive spatial attention mechanism. Advanced Engineering Informatics, 2021, 48: 101280. DOI:10.1016/j.aei.2021.101280 |
[20] |
Rezatofighi H, Tsoi N, Gwak JY, et al. Generalized intersection over union: A metric and a loss for bounding box regression. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 658–666.
|
[21] |
Zheng ZH, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression. Proceedings of the AAAI Conference on Artificial Intelligence, 2020, 34(7): 12993–13000.
|
[22] |
He JB, Erfani S, Ma XJ, et al. Alpha-IoU: A family of power intersection over union losses for bounding box regression. arXiv:2110.13675, 2021.
|
[23] |
Yang S, Luo P, Loy CC, et al. WIDER FACE: A face detection benchmark. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 5525–5533.
|
[24] |
Xiong RB, Yang YC, He D, et al. On layer normalization in the transformer architecture. Proceedings of the 37th International Conference on Machine Learning. JMLR.org, 2020. 975.
|
[25] |
Loshchilov I, Hutter F. SGDR: Stochastic gradient descent with warm restarts. Proceedings of the 5th International Conference on Learning Representations. Toulon: ICLR, 2017.
|
[26] |
Redmon J, Farhadi A. YOLOv3: An incremental improvement. arXiv:1804.02767, 2018.
|
[27] |
Bochkovskiy A, Wang CY, Liao HYM. YOLOv4: Optimal speed and accuracy of object detection. arXiv:2004.10934, 2020.
|