姜月武,張玉金,施建新
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院, 上海 201620)
新型冠狀病毒(COVID—19)主要通過(guò)呼吸道飛沫和接觸傳播[1],具有很強(qiáng)的致病力和傳染力。截止到2020年11月17日,全球累計(jì)確診超過(guò)5 525萬(wàn),累計(jì)死亡超132萬(wàn)。醫(yī)用外科口罩可以有效地預(yù)防飛沫引起的呼吸道傳染病[2],佩戴口罩已成為大多數(shù)國(guó)家防疫的一項(xiàng)基本措施。人流密集場(chǎng)合實(shí)現(xiàn)實(shí)時(shí)的口罩佩戴及規(guī)范性檢測(cè)具有重要的理論和實(shí)際意義。目前存在多種口罩檢測(cè)算法,百度基于Pyramid Box-Lite[3]構(gòu)建了口罩檢測(cè)的輕量級(jí)模型,該模型是針對(duì)移動(dòng)端優(yōu)化的模型,可用于檢測(cè)人臉是否佩戴口罩。AIZOOM使用SSD(single shot multibox detector)[4]類型的架構(gòu)設(shè)計(jì)了一種微型模型實(shí)現(xiàn)瀏覽器以及終端設(shè)備上的口罩檢測(cè)。牛作東等人[5]提出了一種基于Re-tina Face算法[6]改進(jìn)模型,該模型在特征金字塔中引入自注意力機(jī)制優(yōu)化損失函數(shù),實(shí)現(xiàn)自然場(chǎng)景下的口罩佩戴檢測(cè)。研究發(fā)現(xiàn)多數(shù)檢測(cè)口罩算法僅識(shí)別是否佩戴口罩,解決了口罩佩戴有無(wú)的問(wèn)題卻沒(méi)有解決規(guī)范性問(wèn)題。現(xiàn)有的數(shù)據(jù)集包含佩戴口罩和未佩戴口罩兩種情況,如人臉口罩?jǐn)?shù)據(jù)集(MAFA)[7]、真實(shí)面部口罩?jǐn)?shù)據(jù)集(RMFRD)[8]等包含了大量的佩戴口罩圖像,然而對(duì)口罩佩戴是否規(guī)范并沒(méi)有詳細(xì)的區(qū)分。使用這些數(shù)據(jù)集進(jìn)行訓(xùn)練可以較好地識(shí)別人們有沒(méi)有佩戴口罩,尚不能用于識(shí)別是否規(guī)范佩戴口罩。
本文以殘差網(wǎng)絡(luò)[9]為基礎(chǔ)網(wǎng)絡(luò),同時(shí)引入通道和空間注意力機(jī)制[10]構(gòu)成注意力殘差網(wǎng)絡(luò)對(duì)佩戴口罩圖像進(jìn)行特征提取。殘差網(wǎng)絡(luò)進(jìn)行不同層次的特征融合,注意力機(jī)制通過(guò)增強(qiáng)有用信息的聚合和無(wú)用信息的抑制提高網(wǎng)絡(luò)對(duì)主要特征的敏感度。
本文所提出的檢測(cè)口罩規(guī)范佩戴算法主要有兩部分構(gòu)成,第一部分構(gòu)建實(shí)驗(yàn)數(shù)據(jù)集,該數(shù)據(jù)集包含規(guī)范佩戴口罩、不規(guī)范佩戴口罩和未佩戴口罩3種類別;第二部分本文基于殘差網(wǎng)絡(luò),引入通道注意力機(jī)制和空間注意力機(jī)制增強(qiáng)相關(guān)特征表達(dá)和抑制無(wú)關(guān)信息,增強(qiáng)網(wǎng)絡(luò)對(duì)口罩部位特征學(xué)習(xí)。本文整體的算法架構(gòu)如圖1所示。
圖1 本文算法的總體架構(gòu)
現(xiàn)有人臉口罩?jǐn)?shù)據(jù)集對(duì)規(guī)范佩戴口罩和不規(guī)范佩戴口罩并未加以區(qū)分,如何劃分是否規(guī)范佩戴口罩具有一定的難度。為了給本文算法構(gòu)建訓(xùn)練集和測(cè)試集,需要對(duì)數(shù)據(jù)集進(jìn)行進(jìn)一步劃分。采用人工方法去標(biāo)注海量數(shù)據(jù)集工作量巨大,阻礙算法的實(shí)際應(yīng)用。根據(jù)已有數(shù)據(jù)集以及佩戴口罩特性,本文提出了一種基于口鼻檢測(cè)的方法對(duì)數(shù)據(jù)集進(jìn)行重新標(biāo)注。該方法基于改進(jìn)的Haar級(jí)聯(lián)方式[11]進(jìn)行面部特征提取獲取口鼻特征,通過(guò)口鼻分類器檢測(cè)口鼻是否存在?;诳诒菣z測(cè)的口罩佩戴實(shí)驗(yàn)數(shù)據(jù)集構(gòu)建流程如圖2所示,規(guī)范佩戴口罩面部口鼻被遮蓋,不規(guī)范佩戴口罩主要有口、鼻和口鼻未被遮蓋3種情況。
圖2 基于口鼻檢測(cè)的口罩佩戴實(shí)驗(yàn)數(shù)據(jù)集構(gòu)建
根據(jù)該特點(diǎn),本文使用口鼻檢測(cè)器來(lái)檢測(cè)圖像中是否包括口、鼻,若檢測(cè)出口或鼻的存在即可判定為不規(guī)范佩戴口罩,實(shí)驗(yàn)數(shù)據(jù)集構(gòu)建算法如下:
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
實(shí)驗(yàn)數(shù)據(jù)集的具體建立過(guò)程如下:基于已有的口罩?jǐn)?shù)據(jù)集(RMFRD,MAFA),首先將圖像輸入到鼻檢測(cè)器,檢測(cè)到鼻子外漏可判定為不規(guī)范佩戴口罩,再進(jìn)一步使用口部檢測(cè)器,檢測(cè)到口部可判為不規(guī)范佩戴口罩。當(dāng)口鼻均未被檢測(cè)到可視為規(guī)范佩戴口罩。在此基礎(chǔ)上,添加未佩戴口罩類別。完成數(shù)據(jù)分類后,進(jìn)行人工核驗(yàn)對(duì)少部分劃分錯(cuò)誤的數(shù)據(jù)進(jìn)行剔除。規(guī)范佩戴口罩的人臉圖像1 645張,不規(guī)范佩戴口罩的人臉圖像1 465張,未佩戴口罩的人臉圖像1 843張,由這3個(gè)類別共同構(gòu)成了實(shí)驗(yàn)數(shù)據(jù)集,共計(jì)4 773張圖片。
由于每張圖片的亮度、對(duì)比度等存在一定差異,標(biāo)準(zhǔn)化處理使數(shù)據(jù)有可比性,同時(shí)使相比較的2個(gè)數(shù)據(jù)之間的相對(duì)關(guān)系轉(zhuǎn)換成標(biāo)準(zhǔn)模式,減小仿射變換帶來(lái)的影響。首先對(duì)圖像進(jìn)行直方圖均衡實(shí)現(xiàn)光照歸一化,直方圖均衡化是一種利用灰度變換自動(dòng)調(diào)節(jié)圖像對(duì)比質(zhì)量的方法,通過(guò)灰度級(jí)的概率密度函數(shù)求出灰度變換函數(shù)s。變換函數(shù)T(r)與原圖像概率密度函數(shù)pr(r)之間的關(guān)系
(1)
式中T(r)滿足0≤T(r)≤1。
直方圖均衡會(huì)降低有用信號(hào)的對(duì)比度,使用Z-score標(biāo)準(zhǔn)化來(lái)增強(qiáng)圖像的對(duì)比度。Z-score標(biāo)準(zhǔn)化是基于原始數(shù)據(jù)的均值和標(biāo)準(zhǔn)差來(lái)進(jìn)行數(shù)據(jù)的標(biāo)準(zhǔn)化,其計(jì)算公式如下
(2)
式中Z為原始值與總體平均值間的距離,μ為均值,σ為標(biāo)準(zhǔn)差。
在殘差網(wǎng)絡(luò)上引入注意力機(jī)制,分別在通道和空間維度上進(jìn)行注意權(quán)重的推斷。將權(quán)重與原始特征相乘實(shí)現(xiàn)特征重要性的自適應(yīng)調(diào)整,使得所要關(guān)注的特征被強(qiáng)化而忽略其他部分,提高特征圖的描述能力以區(qū)分佩戴口罩規(guī)范性類別。殘差網(wǎng)絡(luò)的學(xué)習(xí)單元可以有效地緩解反向傳播中的梯度消失問(wèn)題,從而使得深度網(wǎng)絡(luò)的性能保持穩(wěn)定,解決性能退化問(wèn)題。
通道注意力機(jī)制:通道注意力機(jī)制關(guān)注最有意義的特征是什么形態(tài)。輸入一個(gè)特征圖F∈RC×H×W,使用平均池化和最大池化進(jìn)行空間信息的聚合,得到平均池化后的特征圖Favg和最大池化后的Fmax。將得到的特征圖輸入到共享網(wǎng)絡(luò),該共享網(wǎng)絡(luò)有一個(gè)隱含層的感知機(jī)構(gòu)成,輸出層的大小為1×1×C。最后將2個(gè)新得到的特征圖相加經(jīng)過(guò)Sigmod激活函數(shù)得到權(quán)重系數(shù)Mc∈RC×1×1,將權(quán)重系數(shù)和原始特征相乘得到基于通道注意力的新特征。計(jì)算方式如下
Mc(F)=σ(MLP(avgPool(F))+MLP(maxPool(F)))
=σ(W1(W0(Favg))+W1(W0(Fmax)))
(3)
式中σ為Sigmod激活函數(shù),W0,W1為多層感知機(jī)(MLP)的權(quán)重。
Ms(F)=σ(Conv7×7([avgPool(F);maxPool(F)]))
(4)
式中σ為Sigmod激活函數(shù),Conv7×7為卷積核為7×7的標(biāo)準(zhǔn)卷層。圖3為通道注意力機(jī)制與空間力機(jī)制結(jié)構(gòu)。
圖3 注意力機(jī)制結(jié)構(gòu)
殘差網(wǎng)絡(luò)(ResNet)是一種有效的特征提取網(wǎng)絡(luò),ResNet使用卷積層捷徑連接支路構(gòu)成基本的殘差學(xué)習(xí)單元,將這些基本單元順序疊加后可有效減小訓(xùn)練不佳和性能削減問(wèn)題。殘差網(wǎng)絡(luò)每隔2層進(jìn)行殘差學(xué)習(xí),層與層之間的恒等映射,使網(wǎng)絡(luò)可以融合淺層與深層特征實(shí)現(xiàn)較好的特征學(xué)習(xí)性能。在激活層前加入BN(batch normalization)層[12]加速網(wǎng)絡(luò)收斂,有效地避免梯度的消失和爆炸。深度網(wǎng)絡(luò)使用交叉熵?fù)p失函數(shù),通過(guò)隨機(jī)梯度下降(stochastic gradient descent,SGD)法進(jìn)行函數(shù)優(yōu)化。該網(wǎng)絡(luò)的損失函數(shù)包含分類損失項(xiàng)和正則化項(xiàng)
(5)
式中 第一項(xiàng)Lclassifier為交叉熵分類損失,第二項(xiàng)為L(zhǎng)2正則項(xiàng)用來(lái)防止過(guò)擬合問(wèn)題,λ為正則項(xiàng)系數(shù),w為權(quán)重參數(shù)。
特征提取網(wǎng)絡(luò)是基于殘差網(wǎng)絡(luò)引入通道注意力(channel attention)和空間注意力(spatial attention)組成(下文縮寫為CSA-ResNet)。使用ResNet來(lái)克服深度網(wǎng)絡(luò)性能削減問(wèn)題,注意力機(jī)制使得口罩部位特征實(shí)現(xiàn)強(qiáng)化,在學(xué)習(xí)中占有更大的權(quán)重實(shí)現(xiàn)口罩規(guī)范性檢測(cè)。本文在ResNet網(wǎng)絡(luò)上部署了兩處注意力機(jī)制模塊,分別為第一層卷積層和最后一層卷積層之后,這樣的布置更有利于保持殘差模塊的完整。數(shù)據(jù)輸入ResNet后經(jīng)過(guò)第一層卷積層后輸出特征圖F,經(jīng)過(guò)通道注意加權(quán)后得到F1,再將F1傳入空間注意力機(jī)制加權(quán)后得到F2,將新特征輸入到剩余的殘差模塊。在最后一層卷積層執(zhí)行同性的操作。特征提取網(wǎng)絡(luò)結(jié)構(gòu)圖如圖4所示,計(jì)算方式如式(6)所示
圖4 提取特征的網(wǎng)絡(luò)結(jié)構(gòu)
F1=Mc(F)?F
F2=Mc(F1)?F1
(6)
從1.2節(jié)構(gòu)建的實(shí)驗(yàn)數(shù)據(jù)集中分別隨機(jī)抽取90 %的樣本作為訓(xùn)練集(包含未佩戴口罩1 660張、規(guī)范佩戴口罩1 444張和不規(guī)范佩戴口罩1 320張),余下作為測(cè)試集(包含未佩戴口罩183張、規(guī)范佩戴口罩201張和不規(guī)范佩戴口罩145張)進(jìn)行模型的訓(xùn)練和測(cè)試。實(shí)驗(yàn)均使用NVIDIA RTX 2080Ti GPU進(jìn)行加速處理。每次實(shí)驗(yàn)迭代250次(epoch),初始學(xué)習(xí)率為0.01,當(dāng)?shù)螖?shù)大于20后,每5次迭代學(xué)習(xí)率以0.9倍衰減。
在圖像數(shù)據(jù)輸入深度網(wǎng)絡(luò)之前,使用線上數(shù)據(jù)增強(qiáng)手段,包括隨機(jī)水平翻折、隨機(jī)中心裁剪擴(kuò)展數(shù)據(jù)的不同形態(tài),使數(shù)據(jù)內(nèi)容更加豐富增強(qiáng)網(wǎng)絡(luò)的泛化性。本文算法在測(cè)試集上每次實(shí)驗(yàn)的預(yù)測(cè)準(zhǔn)確率均在96 %以上,平均預(yù)測(cè)準(zhǔn)確率97.240 %,最高可達(dá)97.732 %。預(yù)測(cè)準(zhǔn)確率波動(dòng)較小,說(shuō)明模型的性能穩(wěn)定。圖5為CSA-ResNet和ResNet在測(cè)試集實(shí)驗(yàn)的混淆矩陣,可以發(fā)現(xiàn):
1)未佩戴口罩、不規(guī)范佩戴口罩和規(guī)范佩戴口罩的預(yù)測(cè)準(zhǔn)確率在圖5(a)為93.99 %,99.31 %和100 %,圖5(b)中為91.80 %,95.86 %和100 %。加入注意力機(jī)制后不規(guī)范佩戴口罩準(zhǔn)確率有了明顯提高,不規(guī)范佩戴口罩圖像內(nèi)容與其余兩類相對(duì)接近較難識(shí)別。加入注意力機(jī)制后改善了該問(wèn)題,預(yù)測(cè)準(zhǔn)確率得到提高,模型具有一定的有效性。
2)佩戴口罩(規(guī)范佩戴和不規(guī)范佩戴)的樣本被分類成未佩戴口罩的樣本在圖5(a)中為0.4 %,圖5(b)為2.43 %,在檢測(cè)是否配帶口罩上也有很大提升。規(guī)范佩戴和不規(guī)范佩戴之間并未出現(xiàn)誤判。
3)圖5(a)存在5.46 %的未佩戴口罩的樣本被誤判成佩戴口罩(包含規(guī)范佩戴和不規(guī)范佩戴)的樣本,相較于圖5(b)8.20 %的識(shí)別錯(cuò)誤率有了明顯的下降。模型可能會(huì)受到遮擋、大角度側(cè)臉、光照、對(duì)比等影響造成誤判,通過(guò)引入注意力機(jī)制有效緩解了該問(wèn)題。
圖5 口罩識(shí)別算法混淆矩陣
圖6是CSA-ResNet和ResNet迭代250次的準(zhǔn)確率曲線和Loss曲線圖,可以看出改進(jìn)的CSA-ResNet網(wǎng)絡(luò)的性能優(yōu)于ResNet。準(zhǔn)確率的波動(dòng)相對(duì)較小,說(shuō)明了本文模型的有效性。CSA-ResNet的Loss值低于ResNet說(shuō)明網(wǎng)絡(luò)的優(yōu)化性能更好,Loss曲線并未出現(xiàn)過(guò)擬合的現(xiàn)象。
圖6 準(zhǔn)確率和Loss變化曲線
本文基于殘差網(wǎng)絡(luò)和通道注意力、空間注意力構(gòu)建了特征提取網(wǎng)絡(luò)。為驗(yàn)證加入注意力機(jī)制對(duì)口罩規(guī)范性檢測(cè)的影響,進(jìn)行消融實(shí)驗(yàn)來(lái)驗(yàn)證注意力機(jī)制的有效性。實(shí)驗(yàn)結(jié)果如表1所示,第一組為ResNet網(wǎng)絡(luò),第二組為使用注意力機(jī)制網(wǎng)絡(luò)(CSA-ResNet),可見(jiàn)第二組最低準(zhǔn)確率高于第一組,平均準(zhǔn)確率和最高分別提高1.777個(gè)和1.702個(gè)百分點(diǎn)。由實(shí)驗(yàn)結(jié)果可知改進(jìn)后的網(wǎng)絡(luò)的合理性和有效性。
表1 在測(cè)試集上的5次試驗(yàn)的準(zhǔn)確率 %
使用可視化技術(shù)Grad-CAM[13]對(duì)本文提出的網(wǎng)絡(luò)進(jìn)行定性分析,Grad-CAM使用梯度來(lái)計(jì)算卷積層中空間位置的重要性,構(gòu)建熱力圖直觀展示卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征。從圖7中可以清晰發(fā)現(xiàn)本文算法對(duì)口鼻部位的熱力圖覆蓋范圍優(yōu)于ResNet網(wǎng)絡(luò)。CSA-ResNet能更好地學(xué)習(xí)和利用目標(biāo)區(qū)域的信息,并從中聚合特征。從圖中可以發(fā)現(xiàn),注意力機(jī)制可以很好地挖掘口鼻區(qū)域的信息,并引導(dǎo)網(wǎng)絡(luò)更好地利用聚合特征進(jìn)行分類。
圖7 基于Grad-CAM可視化特征參與區(qū)域
為了驗(yàn)證網(wǎng)絡(luò)模型在真實(shí)場(chǎng)景下檢測(cè)效果,構(gòu)建了一個(gè)小型真實(shí)環(huán)境數(shù)據(jù)集。數(shù)據(jù)集包含6名成員,每名成員規(guī)范佩戴口罩圖片5張、不規(guī)范佩戴口罩10張、未佩帶口罩5張,合計(jì)共120張圖片。在該數(shù)據(jù)集上進(jìn)行模型測(cè)試,統(tǒng)計(jì)識(shí)別的準(zhǔn)確率。如表2所示,最終的準(zhǔn)確率為96.7 %,相較于模型在測(cè)試集上的準(zhǔn)確率略低。模型的最后一層為SoftMax層,輸出表征了不同類別之間的相對(duì)概率,圖8為一些測(cè)試圖像的SoftMax分類得分的可視化直方圖。
表2 現(xiàn)實(shí)場(chǎng)景下的識(shí)別準(zhǔn)確率
圖8 測(cè)試圖像的分類得分直方圖
本文設(shè)計(jì)了一種口罩佩戴規(guī)范檢測(cè)算法,相較于現(xiàn)有佩戴口罩檢測(cè)算法進(jìn)一步解決了口罩佩戴是否規(guī)范的問(wèn)題。該網(wǎng)絡(luò)結(jié)合殘差網(wǎng)絡(luò)與注意力機(jī)制的優(yōu)點(diǎn)實(shí)現(xiàn)口罩規(guī)范性端到端的識(shí)別。通過(guò)測(cè)試集的實(shí)驗(yàn)結(jié)果和現(xiàn)實(shí)場(chǎng)景下的實(shí)現(xiàn)結(jié)果證明了算法的有效性和實(shí)用性,達(dá)到識(shí)別是否規(guī)范佩戴口罩的目標(biāo)。未來(lái)輕量級(jí)數(shù)據(jù)應(yīng)用將會(huì)更廣泛,設(shè)計(jì)更好的網(wǎng)絡(luò)應(yīng)用在輕量級(jí)數(shù)據(jù)集上有利于實(shí)現(xiàn)快速場(chǎng)景應(yīng)用,這將是接下來(lái)的進(jìn)一步研究的工作。