基于注意力机制的光线昏暗条件下口罩佩戴检测

2022-01-26 12:43王邱龙
电子科技大学学报 2022年1期
关键词:卷积注意力口罩

郭 磊,王邱龙,薛 伟,郭 济

(1.电子科技大学计算机科学与工程学院 成都 611731;2.新疆大学信息科学与工程学院 乌鲁木齐 830000;3.西藏民族大学财经学院 陕西 咸阳 712082)

新冠肺炎疫情爆发后,人类健康受到巨大威胁,人们正常的工作与生活也受到了极大影响。为避免新冠肺炎疫情传播,规范佩戴口罩便成为了一项有效的防控手段。仅靠人工方式对流动人员进行口罩佩戴检测不仅效率低,且会耗费大量人力物力,同时由于新冠肺炎病毒易发生变异,且传染性极强,因此,做好公共卫生干预措施,检测活动人员在各类车站、大型商场等公共场合的口罩佩戴情况,对疫情防控具有重要的现实意义。

基于深度学习的目标检测算法主要分为两大类,一类是以R-CNN[1]、Fast-RCNN[2]等为代表的两阶段检测算法,该类算法在特征提取的基础上,由独立的网络分支先生成大量的候选区,再对其进行分类和回归。另一类是以SSD[3]、YOLO 系列算法为代表的一阶段检测算法,该类算法在生成候选框的同时进行分类和回归任务。

针对口罩佩戴检测这一特定问题,目前国内外有许多学者进行了研究。文献[4]将ReinaNet 网络应用在口罩佩戴检测上,在验证集上AP 达到86.5%。文献[5]将YCrCb 方法引入YOLOv3 中,对正确佩戴口罩的识别准确率达82.5%。文献[6]在RetinaFace 算法上进行改进,引入自注意力机制,检测效果较好。AIZOO(https://github.com/aky 15/AIZOO_torch)也提出了一种基于Fast-RCNN 和YOLOv3 的目标检测方法,在口罩佩戴检测任务上取得了不错的成绩,但在可见度不高、光照强度不强的昏暗条件下,其检测精度仍有待提高。

本文主要针对在可见度不高、光线昏暗的场景下,利用图像增强算法对图片进行预处理,将通道注意力和空间注意力结合,充分挖掘人脸口罩等关键特征点,同时对YOLOv5 网络的损失函数进行相应的改进,提高模型在昏暗条件下的鲁棒性。

1 YOLOv5 模型简介

YOLO 是一个基于深度神经网络的目标识别定位算法,其最大的特点是运行速度快,且检测精度较好,能运用于实时系统,现在YOLO 系列已经发展到v5 版本。YOLOv1[7]将目标检测问题看作空间上的多个边界框和与边界框对应类别概率的回归问题,令人耳目一新。随后,YOLOv2[8]引入批量标准化方法,使用高分辨率图像微调分类模型,采用先验框并使用聚类提取先验框尺度,约束先验框尺度等多种技巧,使得预测更加准确、检测速度更快、识别对象更多,由于YOLOv2 能识别并定位9 000 种不同的对象,因此也被称为YOLO9000。YOLOv3[9]使用Darknet53网络作为骨干网络完成对图像的特征提取,并利用多尺度特征进行对象检测,加速了目标检测在工业界的落地。YOLOv4[10]设计了一种强大而高效的目标检测模型,使得其能够在在一块普通的GPU(如GTX1080Ti)上训练超快而精准的目标检测器。YOLOv5 与YOLOv4 相比,结构更加小巧,配置更加灵活,图像推理速度更快,能够更好地满足视频图像实时性检测的需求。YOLOv5 自身也有其版本迭代,现已更迭至v5.0 版本,本文使用最新版本v5.0。YOLOv5 算法具有4 个大小不同的模型,具体包括:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。本文使用YOLOv5s,其他的版本都是在该版本的基础上对网络进行加深与加宽,可以通过配置文件方便地进行修改。

YOLOv5 的网络结构如图1 所示,对于一个通用的目标检测算法而言,主要分为4 个基础组件:输入端、基准Backbone 骨干网络、Neck 网络与Head 输出端。其中输入端表示要输入的图片。在输入端中通常会对原始图片进行相应的预处理,即对输入图像缩放到网络的输入大小,并采取归一化等操作,最终转化为640×640×3 的张量输入到网络中。在YOLOv5 中,还使用了Mosaic数据增强操作来提升模型的训练速度和网络的精度。基准Backbone 骨干网络主要用来提取图片中的某些特征供后面的网络使用,通常采用Resnet、VGG 等典型网络。YOLOv5 中使用的是CSPDarknet53[11]结构,并删除了先前版本中的BottleneckCSP 中的部分Conv 模块,经过改进后的BottleneckCSP 称为C3 模块,它将梯度的变化从头到尾地集中到特征图中,使得YOLOv5 网络能够具有很好的学习能力,能够在轻量化的同时保持较好的准确率,同时降低了计算瓶颈和内存成本,在YOLOv5 中有两种C3 模块,以有无残差边为标准,分为C3-False 和C3-True。YOLOv5还在Backbone 骨干网络中引入了Focus 模块,它与4 个Conv 模块实现对输入图片的32 倍下采样。Focus 模块将输入图像进行切片操作,每隔一个像素取一个值,与邻近下采样类似,将原始图像数据切分为4 份数据,接着在通道维度上进行拼接,最后进行卷积操作。这一过程将图片长、宽维度上的信息集中到了通道维度,因此没有造成信息的丢失,Focus 模块减少了卷积的成本,用重置张量维度的方法巧妙地实现了下采样并增加了通道维数。Neck 网络通常位于基准Backbone 网络和Head 网络的中间位置,利用它可以进一步提升特征的多样性及鲁棒性,更好地利用Backbone 网络提取到的特征,YOLOv5 中使用 了 SPP(spatial pyramid pooling)[12]模 块、FPN(feature pyramid network)[13]模 块、PAN(path aggregation network)[14]模块完成信息的传递融合。Head 输出层主要利用之前提取的特征做出预测。

图1 YOLO 网络结构图

2 改进后的网络模型

YOLO 系列算法已在长期的实践中被证明是一个优秀的目标检测算法,YOLOv5 更是在其内部针对目标检测中的各种常见问题做出了较大的优化改进,因此本文选择YOLOv5 作为口罩佩戴检测模型的基础网络是可行的。注意力机制最早在2014年率先被Google Deep Mind 团队引入RNN 模型上来实现图像的分类[15],实现了图像中多个物体对象的高效准确的识别。在卷积神经网络中,注意力机制作用在特征图上,通过获取特征图中的可用注意力信息,能够达到更好的任务效果[16]。

在昏暗条件下,光照强度不大,可见度低,难以对人脸进行精确定位,口罩佩戴检测任务的难度也更为困难,因此需要对YOLOv5 网络做进一步的结构优化和调整。

2.1 损失函数

在目标检测中,损失函数通常由定位损失、分类损失和置信度损失3 部分组成,如式(1)所示。常见的计算定位损失函数有GIOU Loss[17]、DIOU Loss[18]和CIOU Loss[19],经过对比实验,本文使用CIOU Loss 来计算目标框的定位损失:

式中,IOU 是预测框与真实框GT(ground truth)的重叠面积;d1是预测框中心点到真实框中心点的距离;d2是覆盖预测框与真实框的最小外接矩形的对角线长度。

可以看出CIOU Loss 不仅考虑了预测框与真实框的重叠面积,还兼顾了两者中心点之间的距离和两者的长宽比,因此在口罩佩戴检测实例中,表现比其他两种定位损失更好。针对置信度损失和分类损失,实验中采用交叉熵损失函数进行计算,分别如式(3)和式(4)所示,采用交叉熵损失函数能使得网络中的参数更新加快,让模型更快地达到收敛状态。

2.2 卷积注意力模块

在原始的YOLOv5 网络的基础上,添加卷积注意力模块(convolutional block attention module,CBAM)[20]。CBAM 是一种用于前馈卷积神经网络的简单且有效的注意力模块,它能将给定的特征图依次沿着通道注意力模块(channel attention module,CAM)和空间注意力模块(spatial attention module,SAM)推断出注意力图,然后将输入特征图与注意力图相乘进行自适应特征优化,突出主要特征,抑制无关特征,从而使网络更加关注需要检测目标的内容信息和位置信息,以提高网络的检测精度。CBAM整体结构如图2 所示。

图2 CBAM 网络结构

在CAM 中,特征图的每一个通道都可以看成是一个特征检测器。通道注意力模块关注的是特征在通道与通道之间的关系,主要提取输入图像中有意义的内容信息,压缩输入特征图的空间信息。对给定特征图F∈RC×H×W,采用全局平均池化和全局最大池化,分别生成两个不同的空间信息描述特征图Favg∈RC×1×1和Fmax∈RC×1×1,再将这两个特征图送入一个含有一个隐藏层的多层感知机的共享网络中进行计算得到通道注意力图,最后通过点像素逐位相加将共享网络输出的两个向量融合得到最终的通道注意力特征图Mc∈RC×1×1。CAM的结构如图3所示。

图3 CAM 结构

SAM 更关注特征在空间上的关系,主要提取输入图像中目标的位置信息,与通道注意力模块相互补充。它将CAM 的输出特征图作为本模块的输出特征图。它首先做一个基于通道的全局最大池化和全局平均池化,分别得到∈R1×H×W和∈R1×H×W两个特征图,然后将这两个特征图串联,基于通道做拼接操作,再经过一个7×7 卷积操作生成空间注意力特征Ms∈R1×H×W。SAM 的结构如图4 所示。

图4 SAM 结构

由于CBAM 模型在CAM 中加入了全局最大池化操作,它能在一定程度上弥补了全局平均池化所丢失的信息。其次,生成的二维空间注意力图使用卷积核大小为7 的卷积层进行编码,较大的卷积核对于保留重要的空间区域有良好的帮助。添加了CBAM 的YOLOv5 网络不仅能更准确地对目标进行分类识别,而且能更精准地定位目标所在的位置。

3 实验与结果分析

3.1 数据集及实验环境介绍

目前开源的口罩佩戴检测数据集较少,因此实验通过网络爬取与自行拍摄相结合的方式制作数据集,数据集中80%来源于网络,20%来源于实际拍摄。昏暗条件下的口罩佩戴图片相对缺乏,实际拍摄主要获取的是这类图片,实验过程中从楼道、室内等光线昏暗的场所进行了图片采集,同时也在傍晚和清晨等光线较弱的环境下进行了拍摄。数据集部分图片如图5 所示。

图5 数据集部分图片

实验数据集共包含9 000 张图片,对其进行手工标注,标注工具使用LabelImg。该数据集分为两种类别,分别是bad 和good,bad 表示人员未佩戴或未按规范佩戴口罩,good 表示正确佩戴口罩。训练集与测试集的划分如表1 所示。

表1 口罩数据集划分

本文使用图像增强技术,对原始图片进行图像平移、翻转、旋转、缩放,分离3 个颜色通道并添加随机噪声,图像增强后的数据集类别分布如图6所示。

图6 数据集类别分布

对增强后的数据进行可视化,如图7 所示,图7a 中表示中心点位置分布,图7b 中表示物体的大小分布,可以看出进行数据增强后的数据物体中心点的分布较为均匀,物体大小以中小物体为主,符合日常生活场景。

图7 数据集可视化分析

本文具体实验环境如表2 所示。

表2 实验环境配置

3.2 模型评估指标

模型评估指标主要包括平均精度均值(mean average precision,mAP)、召回率(recall)、精度(precision)。mAP 即所有类别的平均精度求和除以数据集中所有类的平均精度,召回率表示原始样本中的正例有多少被预测正确的比率,精确率表示预测结果中预测为正的样本中有多少是真正的正样本的比率。在本次实验中,TP、FP 和FN 分别表示正确检测框、误检框和漏检框的数量:

从图8a 中可以看出,当迭代次数接近400 次左右时,MAP 的数值接近于0.996;从图8b 中可以看出,当迭代次数接近450 次左右时,召回率近1;从图8c 中可以看出,当迭代次数接近500次时,准确率接近0.995。

图8 模型性能评估

网络模型训练阶段,迭代批量大小设置为32,总迭代次数为600 次。初始学习率设置为0.001,采用小批量梯度下降法,并使用Adam 优化器计算每个参数的自适应学习率。大约在350 次迭代后,模型开始逐渐收敛。

3.3 实验结果对比

模型训练完成后,将得到的模型与参考文献[5]中的方法和AIZOO 方法的口罩检测模型进行对比实验,分别在光照强度为30-75Lux(昏暗),75-250Lux(较昏暗)和250-1000Lux(正常光照)的条件下进行对别实验,实验结果如图9 所示。其中,光照强度是指单位面积上所接受可见光的能量,常用于指示光照的强弱和物体表面积的被照明程度,单位是Lux,光照强度越大,表明光照越强,物体表面被照的越亮。

图9 3 种方法实验结果

可以看出,在一定的光照强度范围内,随着光照强度的增加,本文方法与文献[5]和AIZOO 方法对口罩佩戴检测的准确率也逐渐增加。在光照强度为250~1 000 Lux 的正常光照条件下,本文方法与文献[5]和AIZOO 方法对口罩佩戴检测的准确率接近。在光照强度为75~250 Lux 的较昏暗条件下,文献[5]和AIZOO 方法对口罩佩戴检测的准确率比较接近,但本文方法对口罩佩戴检测的准确率比文献[5]和AIZOO 方法分别高5.6%、4.8%。在光照强度为30~75 Lux 的昏暗条件下,文献[5]和AIZOO 方法对口罩佩戴检测的准确率相差不大,在图像增强和注意力机制的加持下,经过改进的YOLOv5 模型实现了口罩佩戴的高效检测,对是否正确佩戴口罩做出了正确的判断。在光线昏暗的条件下,本文方法的检测精度要比文献[5]的方法和AIZOO 方法高10.2%、9.3%。

本文将算法应用在在实际场景中,实验的结果如图10 所示,图中每一列分别是使用参考文献[5]、AIZOO 与本文方法的检测效果。从图10a中可以看出,在光照正常的条件下,本文方法与参考文献[5]中的方法和AIZOO 方法均实现了口罩佩戴的检测,正确地检测出了图片中的目标。图10b中,在光线较昏暗的条件下,文献[5]的方法和AIZOO 方法能检测出人脸信息和口罩佩戴状态,但本文方法检测出的目标的置信度比其他两种方法要高。图10c 中,在可见度不高、光线昏暗的条件下,识别人脸信息和口罩的难度增大,文献[5]中的方法和AIZOO 方法无法获取到人脸口罩关键点信息,导致目标检测失败,但本文方法不仅成功地检测到了人脸信息,而且正确地检测出口罩佩戴的状态,并给出了对应的置信度。

图10 口罩佩戴检测效果实际场景对比示例

实验结果表明,在可见度不高、光照强度不大的昏暗条件下,与文献[5]和AIZOO 的方法相比,本文方法使用图像增强能改善图片的质量,通过注意力机制能更加准确地提取人脸口罩关键点特征,使得检测的准确率更高,具有较强的鲁棒性和扩展性,基本能够达到视频图像实时性的要求。

4 结束语

本文提出的基于注意力机制的光线昏暗条件下的口罩检测方法可应用在口罩佩戴识别系统中,具有较强的鲁棒性和扩展性,对推进口罩佩戴检测的自动化、智能化,实现疫情防控和公共卫生安全具有重要的现实意义。

猜你喜欢
卷积注意力口罩
基于全卷积神经网络的猪背膘厚快速准确测定
让注意力“飞”回来
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
戴口罩的苦与乐
因为一个口罩,我决定离婚了
雾霾口罩
A Beautiful Way Of Looking At Things
阅读理解两则