职场文秘网

首页 > 心得体会 > 学习材料 / 正文

改进YOLOv5s的口罩佩戴检测算法

2023-02-05 11:05:10

杨国亮,赵 敏,黄 聪,黄经纬

(江西理工大学电气工程与自动化学院,江西赣州341000)

近年来,基于深度学习的目标检测算法发展迅速,其相关内容应用于工业检测、机器人导航、交通安全等领域。自2020年初,新冠疫情逐步席卷全球,这对于群众出行卫生防护要求提出更高标准。目前我国在公共场所要求出行人员正确佩戴口罩,主要分布在一些聚集空间,如商场、车站等。在密集场所下采取人工方式检查人员是否合理佩戴口罩的方式存在不足,在一定程度上易产生漏检等现象,将给防控疫情带来安全隐患。

目前,已有部分学者使用深度学习技术对口罩佩戴检测做出了研究。刘玉国[1]等人设计K-means聚类对Faster R-CNN主干网络替换提高了算法的检测精度,取得了对行人口罩佩戴检测的良好效果。王艺皓[2]等人在YOLOv3中加入改进后的空间金字塔池化模型,使得该算法对口罩佩戴检测的mAP提高了14.9%。朱杰[3]等人使用空间金字塔池化结构添加在YOLOv4-tiny等系列操作提升了特征层对于目标的表达能力,进而达到满足各类场景下口罩佩戴情况检测的实时要求。曹城硕[4]等通过引入注意力机制、增强细节特征信息等方式提升了YOLO-Mask算法的平均精度均值。曹小喜[5]等人通过在YOLOv4-tiny中加入通道空间双注意力等改进方法提升了算法的检测性能。上述方法尽管一定程度上提升了算法的性能,但依旧存在一些不足。单阶段算法,如SSD[6]速度快但精度稍逊,泛化能力较弱,对于复杂密集场景应对存在偏差。双阶段算法,如Faster R-CNN[7]精度较高但检测速度慢,过于消耗训练时间,检测效率偏低。

综合以上,为进一步提高口罩佩戴的检测精度与速度,本文基于YOLOv5s网络模型做了系列相关的改进工作。首先,针对训练过程中一些无用信息的冗余,引入PSA注意力机制。然后,为使模型充分利用目标不同尺度特征,加入ASFF模块。最后,本文为降低漏检率和提升回归定位精度,增加了一个尺度检测以及替换了损失函数。这样在很大程度上改善了算法在复杂场景下的检测性能。

为改善本文所提检测算法相关性能,在原YOLOv5s网络模型(如图1所示)的基础之上,在backbone部分增添PSA注意力机制,Neck部分引入ASFF模块,增加一个检测层,改进损失函数,改进后的YOLOv5s网络结构如图2所示。

图1 YOLOv5s网络结构

图2 改进的YOLOv5s网络结构图

1.1 PSA极化自注意力

PSA极化自注意力[8-9]是一种更加细致的双注意力机制,其区别于SE、CBAM等注意力特征优势在于该模块在通道和空间计算中保持较高的内部分辨率,同时沿其对应维度完全折叠输入张量。另一方面,PSA合成直接符合典型细粒度回归的输出分布的非线性,使之拟合输出更切合实际输出。由此,PSA极化自注意力能够对目标中所包含的信息进行更清晰精确的定位识别。如图3所示,SPC模块将输入层沿通道方面分解为S组,各组分别采取具有差异卷积核的大小卷积,从而获取不同尺度的感受野,即得到不同尺度的目标信息。随即经过SE模块,获取各通道加权值,最后对以上值采取softmax归一化加权。如图4所示,PSA注意力机制处理图像的主要流程为:PSA将SPC所得输出经SE weight Module获取通道注意力权值,最后对各权值使用softmax归一化加权,得到最终输出。

为在复杂密集场景下精准识别定位行人是否佩戴口罩,提升口罩佩戴精确率,本文在YOLOv5s的backbone的卷积层间嵌入PSA注意力机制,使得原特征提取网络由10层增添为13层,进行网络模型优化。从而能够更好地拟合小目标间的相关特征信息,抑制无用的信息,最终使模型更专注于小目标口罩这一特定类别。

图3 SPC模块

图4 PSA注意力机制

1.2 ASFF模块

ASFF(自适应特征空间融合)是一种新型数据驱动的金字塔特征融合策略。该模块主要原理是利用空间过滤冲突信息以抑制不一致的方法,从而提高了特征的尺度不变性,并引入了几乎免费的推理开销,模块具体结构如图5所示。

图5 ASFF模块

图5中ASFF-3,其流程描绘了融合特征的步骤,框中X1-X3各自来源于level-level3特征,再与不同特征层的权重参数进行乘加运算,进一步得到新型融合特征ASFF-3[10],如式(1)所示。

(1)

相较于大多数检测器的网络结构采取FPN直接添加连接的方式输出目标信息多层特征,加入ASFF模块可以达到充分利用不同尺度特征的效果。综合ASFF模块特点叙述,本文在YOLOv5s算法中Neck部分的C3模块后引入ASFF,即作用于该模型的PAFPN部分,以此加强模型在多尺度特征方面的融合。

1.3 多尺度检测

YOLOv5s网络模型检测目标采用20×20、40×40、80×80三种不同大小检测尺度,其对应Neck部分各自进行32倍、16倍、8倍下采样,以此检测大中小三种类型目标[11]。然而在一些密集场景下人员佩戴口罩情况复杂,原模型在进行检测此类小目标时经多次卷积后易丢失相关信息,从而产生错检漏检等状况,针对该问题,本文在原模型三检测层基础上增加一个160×160的检测尺度。拓展后的检测尺度结构图如图6所示。

图6 拓展后检测尺度结构图

基于此,本文这部分主要改进点为:在Neck部分,经8倍下采样后先进行上采样以及增加卷积层,再融合2倍上采样及160×160特征层。经拓展,网络深度更进一步,使得网络能够在更深层次中提取目标特征,降低多次卷积过程后的信息损失,从而优化模型在复杂情境下的泛化能力。

1.4 改进损失函数

原YOLOv5s的回归损失函数采用GIoU Loss,用来表现预测框与真实框之间的差距程度。GIoU如式(2)所示。

(2)

其中,Ac代表B与G的最小外接矩形面积,U则代表B与G并集面积。而GIoU Loss=1-GIoU。GIoU Loss优化的是当两个矩形框没有重叠时候的情况,而当两个矩形框的位置非常接近时,GIoU Loss和IoU Loss的值也将非常接近,因此在某些场景下使用两个损失模型效果差异不大,但是GIoU应该具有更快的收敛速度。当B或G互相包围时,GIoU被IoU极大约束,致使其在训练时收敛速度下降不少,此时预测框精度将变低。因而本文对原YOLOv5损失函数进行改进,采用EIoU Loss[12]替换GIou Loss,如式(3)所示。

(3)

与原YOLOv5s所采用的GIoU Loss相比较,EIoU Loss将目标与anchor之间的距离、重叠率、标准、惩罚项包括宽高距离都加以考虑,这促使目标框回归能够更加的稳定,收敛速度更快,不会像IoU和GIoU一样出现训练过程当中发散等情况。因而本文采用EIoU Loss作为口罩佩戴检测算法YOLOv5s的损失函数。

2.1 数据集及实验环境

在目标检测领域,数据集对于实验而言不可或缺。本文通过网络从线上收集了9240张人员是否佩戴口罩的图片作为网络模型所需要的数据集。由于缺少适合本文算法的标注文件,故采取Labelimg对收集图片进行手工标注,并按照8:1:1对其划分为训练集、验证集和测试集,数据集类别分为两种,其中,mask代表人员佩戴口罩,no-mask则代表人员未佩戴口罩。另一方面,本文实验环境使用Windows10操作系统,16GB内存,NVIDIA GeForce GTX 1080显卡,Intel®CoreTMi7-6700 cpu @3.40GHz处理器,深度学习框架为pyTorch1.10.0。在准备好实验数据集以及配置好实验环境之后,采用YOLOv5s进行迭代训练。训练时,batch-size设置为8,epoch设置为250,训练以及测试的图片img-size均为640×640,最后分析原模型与改进后模型的实验结果。

2.2 评价指标

为了定量分析检测性能,本文选取了精确率(precision)、召回率(Recall)、平均精度均值(mAP)、每秒检测帧数(FPS)来作为模型算法的衡量指标。精确率即查准率,可用来评估模型检测准确性,其定义为正确预测为正的占全部预测为正的比例,如式(4)所示。召回率即查全率,可用来评估模型检测全面性,其定义为正确预测为正的占全部实际为正的比例,如式(5)所示,mAP即平均精度均值,是目标检测领域重要的模型性能评估指标。在计算mAP时,通常需要先算出每个类别的平均精度,即AP值,如式(6)所示。之后再取平均。通常以交并比(IOU)为0.5时计算mAP,如式(7)所示。FPS作为模型检测速率,用来考虑其实时检测性,如式(8)所示。

(4)

(5)

(6)

(7)

(8)

2.3 实验与分析

2.3.1 实验结果

将原YOLOv5s模型和本文改进之后模型在相同硬件条件的实验平台下各自训练200个epoch,一段时间后观察mAP(IOU=0.5)的对比曲线,如图7(a)、图7(b)所示。其中横坐标为训练轮数,纵坐标为平均精度均值。由图7(a)、图7(b)中可知,两种模型在100个epoch之后开始趋向稳定,且都能达到90%以上,训练效果比较乐观。如图8(a)、图8(b)为改进前后模型训练后的分类PR曲线,由图中最终数据呈现可直观看出,经本文改进之后的模型曲线,即图8(b),all classes曲线更加接近(1,1)坐标,mask与no-mask两类别PR曲线下面积平均值更大,检测性能更好。其中内侧为no-mask曲线,中间为all classes曲线,外侧为mask曲线。

(a)改进前mAP曲线

(b)改进后mAP曲线

(a)改进前分类PR曲线

(b)改进后分类PR曲线

2.3.2 对比实验

为验证本文改进后的算法对于口罩佩戴检测的卓越性能表现,与现有主流检测算法YOLOv3、YOLOv4、YOLOv5s、Faster RCNN、SSD在同一数据集下实验后进行对比,实验采用mAP@0.5、FPS两项指标对以上各算法进行评估与对比,对比实验结果如表1所示。

表1 与现有目标检测算法对比

由表1中实验结果可知,改进后算法的平均精度值为96.1%,相对比于YOLOv3、YOLOv4、YOLOv5s、Faster RCNN、SSD算法,其平均精度值分别提升6.6%、5.7%、4.2%、6.0%、8.3%,通过对比,从平均精度方面分析,本文算法显然优于其他检测算法。而从检测速率方面分析,本文算法检测速率对比YOLOv3、YOLOv4、Faster RCNN大幅领先,另一方面,由于本文增加改进点之后能够检测到图像中更多目标信息导致降低部分检测速率,但从结果来看,对比SSD算法,检测速率低了3.6frame/s,但其对应精度值领先8.3%。而相较原YOLOv5s仅降低0.9frame/s,与此同时其对应平均精度得到较大的提升。由此可以看出本文所提算法在检测精度与速率方面性能良好,也证实了改进方案的优越性。

2.3.3 消融实验

为证实本文对于YOLOv5s网络模型改进方法的有效与合理性,本文对原网络模型的结构改进以及所加模块后对模型性能影响进行充分评估,故分别对各自改进后模型训练并测试,在所用数据集上进行消融实验,以此判断每个改进点的合理性。以原未改进YOLOv5s模型为标准,依次在此标准上嵌入PSA模块、引入ASFF模块、拓展检测尺度、改进损失函数。在训练过程中,依旧采用相同的配置参数与实验平台展开实验。其中“√”代表添加对应改进点,“×”代表没有添加对应改进点,实验结果如表2所示。

表2 YOLOv5s消融实验对比表

由表2可知,原算法的准确率、召回率及平均精度值分别为93.2%、87.5%、91.9%,在单独加入PSA注意力机制后,各项指标均涨点明显。原算法结合扩展检测尺度,准确率及平均精度值提升较高,能够综合提升检测口罩佩戴情况的准确率。其余各项改进点单独加入后,指标数值也有不少提升,但还是只加入PSA注意机制后精度提升最高,效果最好。值得注意的是,在引入ASFF模块后其算法精确率有了小幅度下降,但其召回率以及mAP@0.5有所上升。在组合模块进行实验时,前两处组合改进平均精度值达到了95.1%,相较于原算法提高了3.2%。但经对比,加入PSA注意力和扩展检测尺度这种方案组合对于算法性能提升最高,其准确率达到95.3%,而后续的两两组合尽管各指标提升均超过之前单处改进。整体来看,还是四处改进叠加所取得的效果最佳,虽在算法准确率提升方面略低于PSA注意力与扩展检测尺度组合,但其余指标均为最优,平均精度值能够达到96.1%,相比较原算法提高了4.2%,这也切实证明了改进方向的有效性。图9(a)、图9(b)为密集场景下算法改进前后检测效果对比。由效果图可得出,改进后算法检测性能更佳,其相应检测精度得到较大提升。

(a)改进前密集场景检测效果图

(b)改进后密集场景检测效果图

为了改进现有口罩佩戴检测算法在密集复杂场景下的检测精度不足、解决人工方式检测繁琐等问题,本文提出了若干对于改进YOLOv5s算法的方法。经实验测试,模型精度得到良好优化,保证检测速率的同时检测性能得到较大提高,超过了现有大多数检测算法平均精确率,综合来看,达到了任务目标,能够满足实时监测要求。

猜你喜欢 尺度注意力口罩 让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09财产的五大尺度和五重应对内蒙古民族大学学报(社会科学版)(2020年2期)2020-11-06戴口罩的苦与乐意林(2020年9期)2020-06-01因为一个口罩,我决定离婚了海峡姐妹(2020年4期)2020-05-30如何培养一年级学生的注意力甘肃教育(2020年22期)2020-04-13雾霾口罩作文大王·笑话大王(2019年3期)2019-04-22A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21宇宙的尺度太空探索(2016年5期)2016-07-129时代英语·高三(2014年5期)2014-08-26室外雕塑的尺度雕塑(2000年2期)2000-06-22

Tags: 佩戴   口罩   算法  

搜索
网站分类
标签列表