开放科学(资源服务)标志码(OSID):
新型冠状病毒(COVID-19)能够通过飞沫、空气等进行传播,其极强的传染性和较长的潜伏期给人类健康和社会日常生活造成严重影响。虽然我国疫苗接种的人数越来越多,但是新冠病毒仍然在不断进化和变异,多个新冠变异毒株相继出现,对全民的生命健康造成极大威胁。
在病毒爆发初期,LIU等[1]提出佩戴口罩可以有效抑制新型冠状病毒的传播。目前,在超市、医院等多数公共场所,都需要人工提醒佩戴口罩,这种方法极大地造成了人力资源的浪费。随着深度学习的发展,利用人工智能技术可以快速地检测出人们的口罩佩戴情况。
目前,口罩佩戴检测技术作为新冠病毒的关键性预防手段之一,其相关算法研究显得尤为重要。在YOLOv3[2]的基础上,王艺皓等[3]结合跨阶段局部网络(Cross Stage Partial Network,CSPNet)[4]、改进的空间特征金字塔池化结构[5]以及路径聚合网络(Path Aggregation Network,PANet)[6],在复杂场景下对口罩佩戴情况进行检测,其精度效高,但是检测速度仅为38 FPS。叶子勋等[7]使用改进的MobileNetv3[8]替换原有主干网络CSPDarkNet53,解决了YOLOv4[9]网络模型庞大的问题,模型大小由原来的244 MB降低至44 MB,并新增SiLU激活函数优化模型效果。曹城硕等[10]在主干网络中引入残差注意力机制提升模型对显著性特征的表达能力,然后使用特征金字塔网络(Feature Pyramid Network,FPN)[11]和PANet策略进行特征融合,但是,其计算复杂度高达
大型网络在内存资源少、处理器性能不高以及功耗受限的设备上应用时面临巨大挑战,因此,轻量化网络应运而生。在网络模型设计方面,基于YOLOv4-Tiny,彭成等[16]通过加入Ghost模块[17]和ShuffleConv模块[18],大幅降低了模型参数,但是其精度较原始网络降低了0.2%。除了轻量化网络结构之外,一些研究人员还会利用模型压缩[19-20]、剪枝[21]等方式解决算法效率与存储问题。
上述算法在口罩佩戴检测任务中能发挥一定作用,但是仍然存在以下2个问题:多数网络能够大幅提升检测精度,但是模型较大,检测速度较慢;部分轻量化网络能有效降低模型参数,但是难以取得准确率和检测速度之间的平衡。
本文基于YOLOv4-Tiny网络,设计一种实时多尺度特征融合的轻量化口罩佩戴检测算法L-MFFN-YOLO。使用轻量化残差模块促进模型快速收敛,降低训练时间开销。考虑到口罩佩戴检测的目标较小,利用浅层特征分支来降低小目标漏检率,在原网络
YOLOv4-Tiny[4]是YOLOv4的轻量级版本,其网络结构简单,且能有效兼顾精度和速度。YOLOv4-Tiny网络结构如图 1所示,主干网络CSPDarkNet53-Tiny主要包括标准卷积、残差结构堆叠和下采样3个部分:标准卷积采用CBL结构,由卷积层Conv2D、批量标准化(Batch Normalization,BN)和激活函数Leaky ReLU组成;残差结构堆叠使用CSP(Cross Stage Partial)模块,将基础层的特征分成2个部分,第一部分直接构建残差边,第二部分通过标准卷积和上一个部分进行拼接;下采样通过最大值池化。主干网络将
![]() |
Download:
|
图 1 YOLOv4-Tiny结构 Fig. 1 The structure of YOLOv4-Tiny |
为进一步提升网络性能,本文改进算法L-MFFN-YOLO的结构如图 2所示。图 2(a)部分采用轻量化的残差结构。由于YOLOv4-Tiny只包含2个尺度,小目标漏检情况严重,因此图 2(b)部分新增8倍下采样尺度分支,通过主干网络提取出3种不同分辨率的特征然后进行多层级交叉融合,在保证资源消耗较少的情况下增强不同分支中的特征图信息,最终提升特征提取能力。
![]() |
Download:
|
图 2 L-MFFN-YOLO结构 Fig. 2 The structure of L-MFFN-YOLO |
在一些资源受限的设备中,较深的卷积网络模型容易导致反向传播过程中出现梯度弥散、梯度爆炸等问题,使得口罩佩戴检测模型无法很好地收敛。运算量较少的卷积操作在保证模型有效性的同时可以缓解上述问题。深度可分离卷积(Depth-Wise Separable Convolution)[22]可以减少算法参数,提高训练速度,并且对检测精度影响较小,能够解决网络加深引起的性能退化问题。深度可分离卷积可分成深度卷积(Depth-Wise Convolution,DW Conv)和逐点卷积(Point-Wise Convolution,PW Conv),即
![]() |
Download:
|
图 3 不同的卷积过程 Fig. 3 Different convolution processes |
设2种不同卷积的输入特征大小为
在本文中,使用
上述2种卷积形式都可以在检测任务中大幅降低模型参数量,但是改进模块在硬件条件有限的情况下更具优势。图 4所示为不同残差模块结构的对比。在YOLOv4-Tiny中,采用图 4(a)所示的CSP模块进行残差结构堆叠;图 4(b)中Res_new_X是本文主干网络的重要组成部分,其用CDC模块替换原有CSP结构中的部分卷积。
![]() |
Download:
|
图 4 不同的残差模块 Fig. 4 Different residual modules |
设CSP与Res_new_X输入特征图的大小分别为
本文采用Res_new_X模块替换YOLOv4-Tiny中的3个CSP模块,前2个使用卷积核大小为
自制数据集包含很多不同尺度的口罩目标,部分图片中目标较集中,特征差异性较小,实验结果表明,Res_new_X中引入了一定的检测误差,因此,单一尺度的卷积核无法适应多角度、多尺度变化的图片。浅层网络分辨率较大,包含较清晰的位置信息,深层特征则包含丰富的语义信息,不同尺度的特征层包含的特征信息不同,对不同大小的目标适应性较强。为了解决多角度、多尺度目标降低模型精度的问题,本文基于HRNet[23]的并行网络结构构建一种轻量化的多层级交叉融合模块MCF:将3种不同分辨率的子网以并行的方式进行连接;在每一个子网上通过上采样或下采样操作转换特征的大小;利用拼接操作将所有的特征信息进行融合,使得网络能够较好地利用深层语义信息。
MCF模块仅增加极少的内存,却能很好地保留特征图的细粒度信息并大幅提升检测准确度,不同分辨率的特征图的融合过程如图 5所示。
![]() |
Download:
|
图 5 不同分辨率的特征图的融合过程 Fig. 5 Fusion process of feature images with different resolutions |
图 5中的(a)~(c)分别表示
多层级交叉融合能够提取更多有利信息并有效进行信息交互,并且只增加少量的计算量,更适用于存在目标遮挡、多目标以及目标较小的复杂场景。
2 实验结果与分析 2.1 实验设置 2.1.1 实验平台本文模型训练于Ubuntu20.04操作系统,使用Keras框架,CPU为Intel酷睿i7-8700K,GPU为NVIDIA GeForce GTX 1080Ti(11 GB),软件环境为CUDA10.0、CuDNN7.6、Python3.6。输入图像统一缩放为
在训练过程中,采用K-means聚类得到新的先验框,分别为:(6,10),(11,20),(18,31);(29,47),(46,69),(59,121);(88,101),(120,172),(205,253)。训练参数设置如下:初始学习率为
YOLOv4-Tiny与L-MFFN-YOLO的损失函数值随训练轮数的变化曲线如图 6所示。
![]() |
Download:
|
图 6 YOLOv4-Tiny和L-MFFN-YOLO的损失函数对比 Fig. 6 Comparison of loss function of YOLOv4-Tiny andL-MFFN-YOLO |
考虑口罩类型、制造商、颜色等因素,本文通过手机拍摄、网络爬取等方法收集图片作为数据集,共计7 910张,每张图片中的人脸都对应一个标签,每个标签对应一个序号。将检测结果分为3类:序号0对应“佩戴口罩(with_mask)”,表示已佩戴口罩;序号1对应“不正确佩戴口罩(incorrect_mask)”,表示佩戴口罩不正确;序号2对应“人脸(face)”,表示未佩戴口罩。数据集中的不同类别样本分布如表 1所示。
![]() |
下载CSV 表 1 数据集中的样本分布 Table 1 Sample distribution in dataset |
图 7(a)~图 7(d)分别表示标准佩戴口罩的正面、左面、右面、上面示例,图 7(e)~图 7(h)分别展示鼻外露、口鼻外露、口鼻下巴外露、下巴外露4种常见的不正确的口罩佩戴方式。
![]() |
Download:
|
图 7 数据集示例 Fig. 7 Examples of the dataset |
为了验证本文算法的检测性能,将精确率P(Precision)和召回率R(Recall)作为定量评估指标,两者的计算公式分别如式(1)、式(2)所示:
$ P=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{P}}} $ | (1) |
$ R=\frac{{T}_{\mathrm{P}}}{{T}_{\mathrm{P}}+{F}_{\mathrm{N}}} $ | (2) |
其中:TP、FN和FP分别表示目标是正确的、目标被检测错误以及未被检测出的样本数量。
本文利用平均精确度(Average Precision,AP)来评价模型在测试集上的检测性能,其计算如式(3)所示。多类别的检测结果通常采用平均精确度均值(mean Average Precision,mAP)来衡量,其计算如式(4)所示。
$ {A}^{\mathrm{A}\mathrm{P}}={\int }_{0}^{1}P\left(R\right)\mathrm{d}R $ | (3) |
$ {m}^{\mathrm{m}\mathrm{A}\mathrm{P}}=\frac{{A}_{\mathrm{w}\mathrm{i}\mathrm{t}\mathrm{h}\_\mathrm{m}\mathrm{a}\mathrm{s}\mathrm{k}}^{\mathrm{A}\mathrm{P}}+{A}_{\mathrm{i}\mathrm{n}\mathrm{c}\mathrm{o}\mathrm{r}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{t}\_\mathrm{m}\mathrm{a}\mathrm{s}\mathrm{k}}^{\mathrm{A}\mathrm{P}}+{A}_{\mathrm{f}\mathrm{a}\mathrm{c}\mathrm{e}}^{\mathrm{A}\mathrm{P}}}{3} $ | (4) |
此外,本文采用每秒处理图片数量,即每秒帧率(Frames Per Second,FPS)来衡量算法的检测速度。在面向一些内存受限的设备时,还需要评估模型的参数量、模型大小以及每秒10亿次的浮点运算量(Billion Floating-point Operations Per second,BFLOPs)。
2.2 对比实验结果分析 2.2.1 检测算法模型参数分析口罩佩戴检测系统需要快速高效地判断出人们是否佩戴口罩以及佩戴口罩是否正确,因此,更加适合部署在内存资源受限的设备上。为验证模型的有效性,实验对比分析不同主流检测模型的精度、参数量、检测速度、在GPU和CPU下的推理时间以及每秒10亿次的浮点运算量,结果如表 2所示,最优结果加粗表示。
![]() |
下载CSV 表 2 不同模型的性能对比结果 Table 2 Performance comparison results of different models |
从表 2可以看出:大型网络Faster R-CNN[24]的检测精度比本文L-MFFN-YOLO高1.51个百分点,但是其参数量和模型较大;用MobileNetv1和MobileNetv2替换SSD主干网络的2个一阶段目标检测器,在一定程度上可以降低计算复杂度,但是模型整体性能均低于本文L-MFFN-YOLO;相较YOLOv3-Tiny和YOLOv4-Tiny,在输入尺寸为
L-MFFN-YOLO是在YOLOv4-Tiny的基础上进行的改进,因此,需要对不同的轻量化YOLO模型在口罩佩戴测试集上的检测结果进行对比,如表 3所示。从表 3可以看出,相较YOLOv3-Tiny和YOLOv4-Tiny,L-MFFN-YOLO在TP中达到最大值,在FN中达到最小值,其精确率和召回率也达到最佳,即对样本具有良好的检测性能。
![]() |
下载CSV 表 3 不同的轻量化YOLO模型在口罩佩戴测试集上的检测结果 Table 3 Test results of different lightweight YOLO models on mask-wearing test set |
为进一步直观地展示本文改进算法在口罩佩戴检测任务中的效果,分别对YOLO系列算法在常规、多人脸、遮挡及背景虚化、光线较弱等场景下进行测试,结果如图 8所示(彩色效果见《计算机工程》官网HTML版)。在图 8(a)场景下,3种方法均能实时检测出口罩佩戴情况,但是,YOLOv3-Tiny和YOLOv4-Tiny的检测性能低于L-MFFN-YOLO;在图 8(b)场景下,YOLOv3-Tiny和YOLOv4-Tiny的漏检和错检情况严重,而L-MFFN-YOLO不仅能够解决漏检问题,还在识别精度上有很大提高;在图 8(c)场景下,本文L-MFFN-YOLO由于加入了MCF结构,能够融合深层语义信息和浅层位置信息,因此对远处虚化目标的检测性能较好,有效降低了小目标漏检率;在图 8(d)场景下,YOLOv3-Tiny漏检情况严重,YOLOv4-Tiny虽然能识别大部分目标,但是检测精度低于L-MFFN-YOLO。综上,本文提出的L-MFFN-YOLO算法能够在复杂场景中实现高效的目标检测。
![]() |
Download:
|
图 8 不同场景下的检测效果对比 Fig. 8 Comparison of detection effects in different scenes |
1.1节分析了深度可分离卷积、CSP模块和CDC模块的参数量,较少参数量和较低计算复杂度的模型更适合部署在资源受限的设备中。将YOLOv4-Tiny中的CSP模块替换为由深度可分离卷积构建的残差结构和由CDC构建的Res_new_X,不同残差模块对算法性能的影响如表 4所示。
![]() |
下载CSV 表 4 不同残差模块对算法性能的影响 Table 4 Influence of different residual modules on algorithm performance |
从表 4可以看出,改进模块精度较深度可分离卷积模块降低0.07个百分点,但是参数量和计算量降低最多,GPU处理时间较优,因此,其降低的精度可以忽略不计。
2.3.2 不同多尺度特征融合网络的对比分析上文验证了由CDC模块构建的主干网络Res_new_X的有效性,本节将在Res_new_X的基础上,首先将FPN和PANet中的卷积操作替换成CDC模块,大幅降低模型参数量,然后再分析不同的多尺度融合模块对网络性能的影响。分别在原始主干网络Res_new_X中加入轻量化FPN结构(构成Res_new_X-A)、轻量化PANet(构成Res_new_X-B)以及多层级交叉融合MCF(构成Res_new_X-C),输入图片尺寸为
![]() |
下载CSV 表 5 不同多尺度融合网络对算法性能的影响 Table 5 Influence of different multi-scale fusion networks on algorithm performance |
本文采用消融实验来分析不同模块结构对整个网络性能的影响,实验分为4组分别进行训练:
1)实验1,使用的主干网络为YOLOv4-Tiny CSPDarkNet53-Tiny[4]并去掉上采样;
2)实验2,使用的网络在实验1的基础上增加
3)实验3,使用的主干网络用CDC模块构成的Res_new_X。
4)实验4,使用的网络在实验3的基础上加入多层级交叉融合模块MCF。
实验结果如表 6所示,其中,“√”表示加入了该模块。
![]() |
下载CSV 表 6 改进模块对检测性能的影响 Table 6 Influence of improved module on detection performance |
从表 6可以看出:实验2的mAP比实验1提高了3.14个百分点,证明增加浅层预测分支能在较少计算开销的条件下增强算法的学习能力;实验3用CDC模块构成的Res_new_X替换原始主干网络,mAP达到79.71%,模型大小比实验2减少15.4 MB,从而验证了Res_new_X的有效性;实验4在实验3的基础上引入多层级交叉融合模块MCF,该模块使用卷积运算,较实验3增加了0.64×106的参数量,减慢了检测速度,FPS有所下降,但其检测精度提高了6.37个百分点。
3 结束语针对现有口罩佩戴检测算法网络结构复杂、计算参数冗余等问题,本文提出一种多尺度特征融合的轻量化口罩佩戴检测算法L-MFFN-YOLO,其可以实现多尺度、遮挡、多目标场景下的口罩佩戴实时检测,且适合部署于资源受限的检测设备。在YOLOv4-Tiny的基础上,通过轻量化主干特征提取网络缓解模型规模较大的问题。针对数据集图像大小不一的现象,新增一个高分辨率预测分支来提升小目标的检测能力。在此基础上,使用多层级交叉融合模块提高模型的检测精度,增强语义信息和位置信息的表达。实验结果表明,该算法的参数量与模型大小均较低,且检测精度较轻量级模型YOLOv4-Tiny提升5.25个百分点,其能够兼顾检测精度和速度,具有较好的工程应用价值。但是,在遮挡、背景虚化和光线较弱的场景中,有一些目标未被本文算法检测出,因此,下一步将在遮挡、能见度低的情况下,通过学习人脸眼睛、耳朵等细节特征来增加人脸定位,从而利用本文轻量化算法快速准确地完成口罩佩戴检测任务。
[1] |
LIU Y, GAYLE A A, WILDER-SMITH A, et al. The reproductive number of COVID-19 is higher compared to SARS coronavirus[J]. Journal of Travel Medicine, 2020, 27(2): 1-4. |
[2] |
REDMON J, FARHADI A. YOLOv3: an incremental improvement[EB/OL]. [2021-07-05]. https://arxiv.org/abs/1804.02767.
|
[3] |
王艺皓, 丁洪伟, 李波, 等. 复杂场景下基于改进YOLOv3的口罩佩戴检测算法[J]. 计算机工程, 2020, 46(11): 12-22. WANG Y H, DING H W, LI B, et al. Mask wearing detection algorithm based on improved YOLOv3 in complex scenes[J]. Computer Engineering, 2020, 46(11): 12-22. (in Chinese) |
[4] |
WANG C Y, MARK LIAO H Y, WU Y H, et al. CSPNet: a new backbone that can enhance learning capability of CNN[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 1571-1580.
|
[5] |
HE K M, ZHANG X Y, REN S Q, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904-1916. DOI:10.1109/TPAMI.2015.2389824 |
[6] |
LIU S, QI L, QIN H F, et al. Path aggregation network for instance segmentation[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 8759-8768.
|
[7] |
叶子勋, 张红英. YOLOv4口罩检测算法的轻量化改进[J]. 计算机工程与应用, 2021, 57(17): 157-168. YE Z X, ZHANG H Y. Lightweight improvement of YOLOv4 mask detection algorithm[J]. Computer Engineering and Applications, 2021, 57(17): 157-168. (in Chinese) |
[8] |
BOCHKOVSKIY A, WANG C Y, LIAO H Y M. YOLOv4: optimal speed and accuracy of object detection[EB/OL]. [2021-07-05]. https://arxiv.org/abs/2004.10934.
|
[9] |
HOWARD A, SANDLER M, CHU G, et al. Searching for MobileNetv3[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2019: 1314-1324.
|
[10] |
曹城硕, 袁杰. 基于YOLO-Mask算法的口罩佩戴检测方法[J]. 激光与光电子学进展, 2021, 58(8): 211-218. CAO C S, YUAN J. Mask-wearing detection method based on YOLO-Mask[J]. Laser & Optoelectronics Progress, 2021, 58(8): 211-218. (in Chinese) |
[11] |
LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2017: 936-944.
|
[12] |
余阿祥, 李承润, 于书仪, 等. 多注意力机制的口罩检测网络[J]. 南京师范大学学报(工程技术版), 2021, 21(1): 23-29. YU A X, LI C R, YU S Y, et al. Multi-attention mechanism of mask wearing detection network[J]. Journal of Nanjing Normal University(Engineering and Technology Edition), 2021, 21(1): 23-29. (in Chinese) |
[13] |
TAN M, PANG R, LE Q V, et al. EfficientDet: scalable and efficient object detection[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 10781-10790.
|
[14] |
HU J, SHEN L, SUN G. Squeeze-and-excitation networks[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 7132-7141.
|
[15] |
BODLA N, SINGH B, CHELLAPPA R, et al. Soft-NMS—improving object detection with one line of code[C]//Proceedings of IEEE International Conference on Computer Vision. Washington D. C., USA: IEEE Press, 2017: 5562-5570.
|
[16] |
彭成, 张乔虹, 唐朝晖, 等. 基于YOLOv5增强模型的口罩佩戴检测方法研究[J]. 计算机工程, 2022, 48(4): 39-49. PENG C, ZHANG Q H, TANG Z H, et al. Research on mask wearing detection method based on YOLOv5 enhancement model[J]. Computer Engineering, 2022, 48(4): 39-49. (in Chinese) |
[17] |
HAN K, WANG Y H, TIAN Q, et al. GhostNet: more features from cheap operations[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2020: 1577-1586.
|
[18] |
MA N N, ZHANG X Y, ZHENG H T, et al. ShuffleNet V2: practical guidelines for efficient CNN architecture design[EB/OL]. [2021-07-05]. https://arxiv.org/pdf/1807.11164.pdf.
|
[19] |
何涛, 俞舒曼, 徐鹤. 基于条件生成对抗网络与知识蒸馏的单幅图像去雾方法[J]. 计算机工程, 2022, 48(4): 165-172. HE T, YU S M, XU H. Single image dehazing method based on conditional generative adversarial network and knowledge distillation[J]. Computer Engineering, 2022, 48(4): 165-172. (in Chinese) |
[20] |
FAN S T, ZHANG X M, SONG Z H. Reinforced knowledge distillation: multi-class imbalanced classifier based on policy gradient reinforcement learning[J]. Neurocomputing, 2021, 463: 422-436. |
[21] |
曹远杰, 高瑜翔. 基于GhostNet残差结构的轻量化饮料识别网络[J]. 计算机工程, 2022, 48(3): 310-314. CAO Y J, GAO Y X. Lightweight beverage recognition network based on GhostNet residual structure[J]. Computer Engineering, 2022, 48(3): 310-314. (in Chinese) |
[22] |
SANDLER M, HOWARD A, ZHU M L, et al. MobileNetV2: inverted residuals and linear bottlenecks[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2018: 4510-4520.
|
[23] |
SUN K, XIAO B, LIU D, et al. Deep high-resolution representation learning for human pose estimation[C]//Proceedings of IEEE/CVF Conference on Computer Vision and Pattern Recognition. Washington D. C., USA: IEEE Press, 2019: 5686-5696.
|
[24] |
REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149. |
[25] |
HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. [2021-07-05]. https://arxiv.org/abs/1704.04861.
|