基于注意力残差网络的口罩佩戴规范检测算法*

2023-03-03 08:45姜月武张玉金施建新
传感器与微系统 2023年2期
关键词:残差口罩注意力

姜月武,张玉金,施建新

(上海工程技术大学 电子电气工程学院, 上海 201620)

0 引 言

新型冠状病毒(COVID—19)主要通过呼吸道飞沫和接触传播[1],具有很强的致病力和传染力。截止到2020年11月17日,全球累计确诊超过5 525万,累计死亡超132万。医用外科口罩可以有效地预防飞沫引起的呼吸道传染病[2],佩戴口罩已成为大多数国家防疫的一项基本措施。人流密集场合实现实时的口罩佩戴及规范性检测具有重要的理论和实际意义。目前存在多种口罩检测算法,百度基于Pyramid Box-Lite[3]构建了口罩检测的轻量级模型,该模型是针对移动端优化的模型,可用于检测人脸是否佩戴口罩。AIZOOM使用SSD(single shot multibox detector)[4]类型的架构设计了一种微型模型实现浏览器以及终端设备上的口罩检测。牛作东等人[5]提出了一种基于Re-tina Face算法[6]改进模型,该模型在特征金字塔中引入自注意力机制优化损失函数,实现自然场景下的口罩佩戴检测。研究发现多数检测口罩算法仅识别是否佩戴口罩,解决了口罩佩戴有无的问题却没有解决规范性问题。现有的数据集包含佩戴口罩和未佩戴口罩两种情况,如人脸口罩数据集(MAFA)[7]、真实面部口罩数据集(RMFRD)[8]等包含了大量的佩戴口罩图像,然而对口罩佩戴是否规范并没有详细的区分。使用这些数据集进行训练可以较好地识别人们有没有佩戴口罩,尚不能用于识别是否规范佩戴口罩。

本文以残差网络[9]为基础网络,同时引入通道和空间注意力机制[10]构成注意力残差网络对佩戴口罩图像进行特征提取。残差网络进行不同层次的特征融合,注意力机制通过增强有用信息的聚合和无用信息的抑制提高网络对主要特征的敏感度。

1 口罩佩戴规范性检测算法

1.1 总体架构

本文所提出的检测口罩规范佩戴算法主要有两部分构成,第一部分构建实验数据集,该数据集包含规范佩戴口罩、不规范佩戴口罩和未佩戴口罩3种类别;第二部分本文基于残差网络,引入通道注意力机制和空间注意力机制增强相关特征表达和抑制无关信息,增强网络对口罩部位特征学习。本文整体的算法架构如图1所示。

图1 本文算法的总体架构

1.2 数据集的构建

现有人脸口罩数据集对规范佩戴口罩和不规范佩戴口罩并未加以区分,如何划分是否规范佩戴口罩具有一定的难度。为了给本文算法构建训练集和测试集,需要对数据集进行进一步划分。采用人工方法去标注海量数据集工作量巨大,阻碍算法的实际应用。根据已有数据集以及佩戴口罩特性,本文提出了一种基于口鼻检测的方法对数据集进行重新标注。该方法基于改进的Haar级联方式[11]进行面部特征提取获取口鼻特征,通过口鼻分类器检测口鼻是否存在。基于口鼻检测的口罩佩戴实验数据集构建流程如图2所示,规范佩戴口罩面部口鼻被遮盖,不规范佩戴口罩主要有口、鼻和口鼻未被遮盖3种情况。

图2 基于口鼻检测的口罩佩戴实验数据集构建

根据该特点,本文使用口鼻检测器来检测图像中是否包括口、鼻,若检测出口或鼻的存在即可判定为不规范佩戴口罩,实验数据集构建算法如下:

1:Input:Unclassified mask data imageI

2:Dm=Mouth detectorDn=Nose detector

3:If·Dn(I)TRUE:

ImageIis saved as incorrectly masked

Else if:Dm(I)TRUE:

ImageIis saved as incorrectly masked

Else:

ImageIis saved as correctly masked

4:Obtain sort data set

实验数据集的具体建立过程如下:基于已有的口罩数据集(RMFRD,MAFA),首先将图像输入到鼻检测器,检测到鼻子外漏可判定为不规范佩戴口罩,再进一步使用口部检测器,检测到口部可判为不规范佩戴口罩。当口鼻均未被检测到可视为规范佩戴口罩。在此基础上,添加未佩戴口罩类别。完成数据分类后,进行人工核验对少部分划分错误的数据进行剔除。规范佩戴口罩的人脸图像1 645张,不规范佩戴口罩的人脸图像1 465张,未佩戴口罩的人脸图像1 843张,由这3个类别共同构成了实验数据集,共计4 773张图片。

1.3 图像的标准化

由于每张图片的亮度、对比度等存在一定差异,标准化处理使数据有可比性,同时使相比较的2个数据之间的相对关系转换成标准模式,减小仿射变换带来的影响。首先对图像进行直方图均衡实现光照归一化,直方图均衡化是一种利用灰度变换自动调节图像对比质量的方法,通过灰度级的概率密度函数求出灰度变换函数s。变换函数T(r)与原图像概率密度函数pr(r)之间的关系

(1)

式中T(r)满足0≤T(r)≤1。

直方图均衡会降低有用信号的对比度,使用Z-score标准化来增强图像的对比度。Z-score标准化是基于原始数据的均值和标准差来进行数据的标准化,其计算公式如下

(2)

式中Z为原始值与总体平均值间的距离,μ为均值,σ为标准差。

2 基于注意力机制的深度网络构建

在残差网络上引入注意力机制,分别在通道和空间维度上进行注意权重的推断。将权重与原始特征相乘实现特征重要性的自适应调整,使得所要关注的特征被强化而忽略其他部分,提高特征图的描述能力以区分佩戴口罩规范性类别。残差网络的学习单元可以有效地缓解反向传播中的梯度消失问题,从而使得深度网络的性能保持稳定,解决性能退化问题。

2.1 注意力机制模块

通道注意力机制:通道注意力机制关注最有意义的特征是什么形态。输入一个特征图F∈RC×H×W,使用平均池化和最大池化进行空间信息的聚合,得到平均池化后的特征图Favg和最大池化后的Fmax。将得到的特征图输入到共享网络,该共享网络有一个隐含层的感知机构成,输出层的大小为1×1×C。最后将2个新得到的特征图相加经过Sigmod激活函数得到权重系数Mc∈RC×1×1,将权重系数和原始特征相乘得到基于通道注意力的新特征。计算方式如下

Mc(F)=σ(MLP(avgPool(F))+MLP(maxPool(F)))

=σ(W1(W0(Favg))+W1(W0(Fmax)))

(3)

式中σ为Sigmod激活函数,W0,W1为多层感知机(MLP)的权重。

Ms(F)=σ(Conv7×7([avgPool(F);maxPool(F)]))

(4)

式中σ为Sigmod激活函数,Conv7×7为卷积核为7×7的标准卷层。图3为通道注意力机制与空间力机制结构。

图3 注意力机制结构

2.2 深度残差网络

残差网络(ResNet)是一种有效的特征提取网络,ResNet使用卷积层捷径连接支路构成基本的残差学习单元,将这些基本单元顺序叠加后可有效减小训练不佳和性能削减问题。残差网络每隔2层进行残差学习,层与层之间的恒等映射,使网络可以融合浅层与深层特征实现较好的特征学习性能。在激活层前加入BN(batch normalization)层[12]加速网络收敛,有效地避免梯度的消失和爆炸。深度网络使用交叉熵损失函数,通过随机梯度下降(stochastic gradient descent,SGD)法进行函数优化。该网络的损失函数包含分类损失项和正则化项

(5)

式中 第一项Lclassifier为交叉熵分类损失,第二项为L2正则项用来防止过拟合问题,λ为正则项系数,w为权重参数。

2.3 特征提取网络

特征提取网络是基于残差网络引入通道注意力(channel attention)和空间注意力(spatial attention)组成(下文缩写为CSA-ResNet)。使用ResNet来克服深度网络性能削减问题,注意力机制使得口罩部位特征实现强化,在学习中占有更大的权重实现口罩规范性检测。本文在ResNet网络上部署了两处注意力机制模块,分别为第一层卷积层和最后一层卷积层之后,这样的布置更有利于保持残差模块的完整。数据输入ResNet后经过第一层卷积层后输出特征图F,经过通道注意加权后得到F1,再将F1传入空间注意力机制加权后得到F2,将新特征输入到剩余的残差模块。在最后一层卷积层执行同性的操作。特征提取网络结构图如图4所示,计算方式如式(6)所示

图4 提取特征的网络结构

F1=Mc(F)⊗F

F2=Mc(F1)⊗F1

(6)

3 实验结果与分析

从1.2节构建的实验数据集中分别随机抽取90 %的样本作为训练集(包含未佩戴口罩1 660张、规范佩戴口罩1 444张和不规范佩戴口罩1 320张),余下作为测试集(包含未佩戴口罩183张、规范佩戴口罩201张和不规范佩戴口罩145张)进行模型的训练和测试。实验均使用NVIDIA RTX 2080Ti GPU进行加速处理。每次实验迭代250次(epoch),初始学习率为0.01,当迭代次数大于20后,每5次迭代学习率以0.9倍衰减。

3.1 数据集上的结果

在图像数据输入深度网络之前,使用线上数据增强手段,包括随机水平翻折、随机中心裁剪扩展数据的不同形态,使数据内容更加丰富增强网络的泛化性。本文算法在测试集上每次实验的预测准确率均在96 %以上,平均预测准确率97.240 %,最高可达97.732 %。预测准确率波动较小,说明模型的性能稳定。图5为CSA-ResNet和ResNet在测试集实验的混淆矩阵,可以发现:

1)未佩戴口罩、不规范佩戴口罩和规范佩戴口罩的预测准确率在图5(a)为93.99 %,99.31 %和100 %,图5(b)中为91.80 %,95.86 %和100 %。加入注意力机制后不规范佩戴口罩准确率有了明显提高,不规范佩戴口罩图像内容与其余两类相对接近较难识别。加入注意力机制后改善了该问题,预测准确率得到提高,模型具有一定的有效性。

2)佩戴口罩(规范佩戴和不规范佩戴)的样本被分类成未佩戴口罩的样本在图5(a)中为0.4 %,图5(b)为2.43 %,在检测是否配带口罩上也有很大提升。规范佩戴和不规范佩戴之间并未出现误判。

3)图5(a)存在5.46 %的未佩戴口罩的样本被误判成佩戴口罩(包含规范佩戴和不规范佩戴)的样本,相较于图5(b)8.20 %的识别错误率有了明显的下降。模型可能会受到遮挡、大角度侧脸、光照、对比等影响造成误判,通过引入注意力机制有效缓解了该问题。

图5 口罩识别算法混淆矩阵

图6是CSA-ResNet和ResNet迭代250次的准确率曲线和Loss曲线图,可以看出改进的CSA-ResNet网络的性能优于ResNet。准确率的波动相对较小,说明了本文模型的有效性。CSA-ResNet的Loss值低于ResNet说明网络的优化性能更好,Loss曲线并未出现过拟合的现象。

图6 准确率和Loss变化曲线

3.2 消融实验

本文基于残差网络和通道注意力、空间注意力构建了特征提取网络。为验证加入注意力机制对口罩规范性检测的影响,进行消融实验来验证注意力机制的有效性。实验结果如表1所示,第一组为ResNet网络,第二组为使用注意力机制网络(CSA-ResNet),可见第二组最低准确率高于第一组,平均准确率和最高分别提高1.777个和1.702个百分点。由实验结果可知改进后的网络的合理性和有效性。

表1 在测试集上的5次试验的准确率 %

使用可视化技术Grad-CAM[13]对本文提出的网络进行定性分析,Grad-CAM使用梯度来计算卷积层中空间位置的重要性,构建热力图直观展示卷积神经网络学习到的特征。从图7中可以清晰发现本文算法对口鼻部位的热力图覆盖范围优于ResNet网络。CSA-ResNet能更好地学习和利用目标区域的信息,并从中聚合特征。从图中可以发现,注意力机制可以很好地挖掘口鼻区域的信息,并引导网络更好地利用聚合特征进行分类。

图7 基于Grad-CAM可视化特征参与区域

3.3 真实场景口罩规范检测实验

为了验证网络模型在真实场景下检测效果,构建了一个小型真实环境数据集。数据集包含6名成员,每名成员规范佩戴口罩图片5张、不规范佩戴口罩10张、未佩带口罩5张,合计共120张图片。在该数据集上进行模型测试,统计识别的准确率。如表2所示,最终的准确率为96.7 %,相较于模型在测试集上的准确率略低。模型的最后一层为SoftMax层,输出表征了不同类别之间的相对概率,图8为一些测试图像的SoftMax分类得分的可视化直方图。

表2 现实场景下的识别准确率

图8 测试图像的分类得分直方图

4 结束语

本文设计了一种口罩佩戴规范检测算法,相较于现有佩戴口罩检测算法进一步解决了口罩佩戴是否规范的问题。该网络结合残差网络与注意力机制的优点实现口罩规范性端到端的识别。通过测试集的实验结果和现实场景下的实现结果证明了算法的有效性和实用性,达到识别是否规范佩戴口罩的目标。未来轻量级数据应用将会更广泛,设计更好的网络应用在轻量级数据集上有利于实现快速场景应用,这将是接下来的进一步研究的工作。

猜你喜欢
残差口罩注意力
基于双向GRU与残差拟合的车辆跟驰建模
让注意力“飞”回来
基于残差学习的自适应无人机目标跟踪算法
戴口罩的苦与乐
因为一个口罩,我决定离婚了
基于递归残差网络的图像超分辨率重建
雾霾口罩
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
综合电离层残差和超宽巷探测和修复北斗周跳