王圣雄 刘瑞安 燕达 黄玉兰 胡昕
摘 要: 提出一種基于改进YOLOv5的轻量型口罩检测算法CG-YOLOv5s。结合卷积注意力机制和Ghost卷积等技术,在网络中加入CBAM-CSP、GRCM改进模块以增强特征提取能力,改善模型的计算性能,使用Alpha-CIoU损失并结合DIoU非极大抑制方法,进一步提升检测精度。结果表明,CG-YOLOv5s在对检测速度影响较小的情况下,获得了89.1%的检测精度,模型大小减少了19.63%,实现了模型轻量化的效果。
关键词: 目标检测算法; 口罩检测; 卷积注意力; Ghost卷积; 轻量化模型
中图分类号:TP391.4 文献标识码:A 文章编号:1006-8228(2023)05-109-04
Lightweight mask wearing detection algorithm based on improved YOLOv5
Wang Shengxiong, Liu Ruian, Yan Da, Huang Yulan, Hu Xin
(College of Electronic and Communication Engineering, Tianjin Normal University, Tianjin 300387, China)
Abstract: A lightweight mask detection algorithm CG-YOLOv5s based on improved YOLOv5 is proposed. Combining techniques such as convolutional attention mechanism and Ghost convolution, CBAM-CSP module and GRCM module are added to the network to enhance the feature extraction ability and improve the computational performance of the model. The use of Alpha-CIoU losses combined with DIoU NMS method further improves detection accuracy. The results show that the CG-YOLOv5s achieves 89.1% detection accuracy and 19.63% reduction in model size with less impact on detection speed. It achieves the effect of model lightweight.
Key words: object detection algorithm; mask detection; CBAM; Ghost convolution; lightweight model
0 引言
人们佩戴口罩是针对病毒传播的重要防护方式[1]。近年来,已经有许多研究者使用主流的目标检测方法来检测公共场所人们口罩佩戴情况。如程长文[2]等人在YOLOv4中加入自适应锚定框并改进了前馈输入层以优化数据处理,降低计算量。王艺皓[3]等人提出了一种基于YOLOv3的口罩检测改进算法,通过使用改进的空间金字塔池化结构来提高口罩佩戴检测的检测精度。任健[4]等人为优化目标遮挡和尺度变化等问题,提出了一种基于SSD优化模型的多尺度卷积特征融合检测方法,通过残差网络、跳跃连接机制和多尺度特征融合机制提升了人脸口罩的检测精度。刘玉国[5]等人改进了Faster R-CNN主干网络并结合K-means聚类策略对锚框尺寸进行聚类,重新设计其尺寸,该方法能够有效提升检测精度。
尽管上述方法都取得了较好的检测效果,但它们在复杂场景下仍存在因人群密集、人脸遮挡而引起的检测效果较差、定位目标准确性低等问题。
为解决上述问题并进一步提升检测精度,本文提出一种基于改进YOLOv5的轻量型口罩检测算法CG-YOLOv5s。主要贡献如下:在YOLOv5s骨干网络中,加入改进CBAM-CSP模块,增强特征提取能力;加入改进的Ghost卷积模块GRCM,降低参数量;使用Alpha-CIoU损失并结合基于DIoU的非极大抑制来优化边界框回归过程,进而提高检测模型的精度。
1 CG-YOLOv5s口罩检测算法
1.1 网络结构
CG-YOLOv5s网络由骨干网络、颈部网络和检测网络组成。CG-YOLOv5s的网络结构如图1所示。
在骨干网络中,本文加入了卷积注意力机制[6]并集成CSP模块[7]得到基于注意力机制的跨阶段局部模块CBAM-CSP。CBAM注意力机制能够增强图像局部特征的特征表示,使网络关注到关键特征信息,从而提升网络的特征提取能力,其与CSP模块集成后,能够保证检测模型在最大程度上充分利用注意力特征图。改进后的模块结构如图2所示。模块包含两条分支,一条分支由卷积模块和残差模块组成,用于进一步增强卷积的提取特征能力,而另一条分支只采用卷积处理注意力特征图。最后,将两条分支的输出特征图在通道维度上进行拼接并通过卷积处理得到CBAM-CSP模块的最终输出。同时为了降低网络的计算成本,本文引入Ghost卷积[8]并对其进行技术改进,提出了Ghost残差卷积模块,即GRCM模块,其模块结构如图3所示。借鉴残差网络[9]的思想,将残差结构引入到Ghost卷积结构中,从而进一步获取更多的局部细节特征,同时还能增强网络层之间的反向传播能力,以避免模型在训练时出现梯度消失。此外,本文选用深度卷积来实现改进模块的线性计算操作,通过这种廉价的计算方式来获取大量的非必要特征信息,以此来减少计算资源的消耗,降低网络的计算成本。
CG-YOLOv5s的颈部网络结合了特征金字塔网络结构[10]和路径聚合网络结构[11]的特点,用于进行多尺度特征融合处理。其检测网络包含三个检测头,每个检测头会根据给定的锚框尺寸对特定大小的特征图进行检测,并输出最终的检测框和类别信息。
1.2 损失函数
为了提高边界框的回归效果,并加快回归损失的收敛速度,本文采用Alpha-CIoU[12]计算边界框回归损失,其表达式如下:
[Alpha-CIoUb,bgt=IoUα-ρ2αb,bgtc2α-βvα,α>0] ⑴
[Lbbox=1-Alpha-CIoUb,bgt] ⑵
其中,[b]和[bgt]分别为预测框和真实框的中心点,[ρ?]表示两个中心点之间的欧式距离,[c]为最小闭包区域的对角线长度(最小闭包区域,即能够同时包围预测框和真实框的最小矩形区域),[α]是一个可控的幂参数(本文中,[α=3]),[β]是权重参数,[v]用来衡量预测框和真实框的长宽比一致性。[IoU]、[v]和[β]的表达式如下:
[IoU=B∩BgtB∪Bgt] ⑶
[v=4π2arctanwgthgt-arctanwh2] ⑷
[β=v1-IoU+v] ⑸
其中,[w]和[h]分别为边界框的宽度和高度。
此外,本文引入基于DIoU的非极大抑制方法[13]对边界框进行筛选,从而解决在目标相近的情况下错误去除边界框的问题,以此来进一步提高检测过程的准确性。
2 实验与结果分析
2.1 数据集及实验环境
本文通过网络收集人脸佩戴口罩、未佩戴口罩和错误佩戴口罩三种图像数据,并采用数据增强方式对数据进行扩充,最后得到16600张图像,其中,训练集占比64%、验证集和测试集各占比18%。本文标记了三种类别标签,依次为without_mask(未佩戴口罩)、with_mask(正确佩戴口罩)和mask_weared_incorrect(错误佩戴口罩)。
本文实验在基于Python 3.8的PyTorch框架中进行,使用型号为GeForce RTX 3080 Ti的GPU服务器训练、测试模型。实验前,对部分参数进行如下调整。输入图像尺寸设置为640×640,每个批次训练16张图像,实验训练的最大epoch值设置为300等。
最后,本文选用单类别平均精确度(Average Precision, AP)、多类别平均精确度均值(Mean Average Precision, mAP)和每秒處理图片的帧数(FramePerSecond, FPS)评估算法性能。
2.2 结果分析
为了验证本文算法中改进模块的有效性,在相同的实验环境下,本文进行了六组消融实验,实验结果如表1所示。其中,类别1为未佩戴口罩,类别2为正确佩戴口罩,类别3为错误佩戴口罩。
从表1可以清晰地看出,与实验1相比,实验2在每种类别的检测精度均有所提升,平均检测精度提升了8.56%,模型参数量降低了10.98%,由此说明Ghost卷积模块能够有效地保留图像的全局特征信息,降低模型参数量。与实验2相比,实验3的检测精度并没有明显的提升,但其模型参数量降低了11.05%,可以证明GRCM模块在正常发挥其作用的同时还能降低模型参数量,这为轻量化模型的构建提供了基础。从实验1和实验4、实验2和实验5的结果可以看出,在加入CBAM-CSP模块后检测精度均有所提升,由此验证了CBAM-CSP模块的有效性。根据实验5和实验6的结果可以看出,CG-YOLOv5s算法的平均检测精度提升了0.22%,检测速度提升了4.60%,这充分说明Alpha-CIoU损失函数与DIoU非极大抑制方法的结合能进一步提升检测精度。此外,与实验5相比,实验6的模型参数量降低了10.83%,由此可以证明GRCM模块在模型轻量化方面发挥了显著的作用。
为了进一步体现本文算法的综合性能,本文与YOLOv3、YOLOv3-tiny、YOLOv4s-mish和YOLOv5s算法进行了对比实验,对比结果如表2所示。
由表2可以看出,本文算法CG-YOLOv5s的模型参数更少,且相比于YOLOv5s参数量减少了20.24%,模型大小也仅为YOLOv5s的80.36%。在检测精度和检测速度方面,本文算法的检测精度相对较高,但检测速度较低。与YOLOv4s-mish相比,虽然本文算法检测精度下降了0.22%,但在其他方面的性能均超过了YOLOv4s-mish。由此可以看出,CG-YOLOv5s在综合性能上表现更优,而且在人群密集和目标较小的情况下取得了不错的效果。检测效果如图4所示。
3 结束语
本文针对口罩检测存在因人群密集、遮挡等复杂因素而导致检测效果较差、定位目标的准确性较低等问题,提出了一种改进的口罩佩戴检测算法CG-YOLOv5s。实验结果表明,CG-YOLOv5s进一步降低了模型参数量,实现了模型轻量化的效果,并在对检测速度影响较小的同时有效地提高了检测精度,且其在人群密集、目标遮挡的复杂场景中表现较好。后期将主要针对如何提升算法的检测速度展开相关研究,以使算法性能达到更优。
参考文献(References):
[1] 周艳萍,饶翮,姜怡,等.新型冠状病毒肺炎疫情后期公众正确使用口罩调查分析[J].药物流行病学杂志,2021,30(3):205-209
[2] 程长文,陈玮,陈劲宏,等.改进YOLO的口罩佩戴实时检测方法[J].电子科技,2022(11):1-9
[3] 王艺皓,丁洪伟,李波.复杂场景下基于改进YOLOv3的口罩佩戴检测[J].计算机工程,2020,46(11):12-22
[4] 任健,楊帆,张奕凡,等.基于改进SSD的人脸口罩佩戴检测算法[J].电子测试,2022,36(13):48-51
[5] 刘玉国,张晶.基于改进的Faster R-CNN的行人口罩检测[J].现代计算机,2021,27(26):73-76,81
[6] WOO S, PARK J, LEE J Y, et al. CBAM: Convolutionalblock attention module[C]//Proceedings of the European conference on computer vision (ECCV),2018:3-19
[7] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shotmultibox detector[C]//European Conference on Computer Vision. Springer, Cham,2016:21-37
[8] HAN K, WANG Y, TIAN Q, et al. Ghostnet: more featuresfrom cheap operations[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR), Seattle: IEEE,2020:1580-1589
[9] HE K, ZHANG X, REN S, et al. Deep residual learning forimage recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition,2016:770-778
[10] LIN T Y, DOLL?R P, GIRSHICK R, et al. Featurepyramid networks for object detection[C]//Proceedings of the IEEE conference on computer vision and pattern recognition,2017:2117-2125
[11] LIU S, QI L, QIN H, et al. Path aggregation network forinstance segmentation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition,2018:8759-8768
[12] HE J, ERFANI S, MA X, et al. Alpha-IoU: A Family ofPower Intersection over Union Loses for Bounding Box Regresion[J]. Advances in Neural Information Procesing Systems,2021,34
[13] ZHENG Z, WANG P, LIU W, et al. Distance-IoU los:Faster and better learning for bounding box regresion[C]//Proceedings of the AAAI Conference on Artificial Intelligence,2020,34(7):12993-13000