姜紹忠, 姚克明, 陳 磊, 王中洲, 郭復(fù)澳
(江蘇理工學(xué)院 電子信息工程學(xué)院,江蘇 常州 213001)
為了防止新型冠狀病毒肺炎(COVID—19)疫情擴散,在公共場合人們都會佩戴口罩,這對人臉識別造成了巨大的挑戰(zhàn)。自Turk M等人提出Eigenface[1]以來,人臉識別一直是研究的焦點。深度學(xué)習(xí)使模型可以學(xué)習(xí)到用于人臉識別的高鑒別度的面部特征??谡终趽踅o人臉識別帶來更大的挑戰(zhàn),由于鼻子、嘴巴這2個重要人臉特征被破壞,導(dǎo)致超過半數(shù)人臉特征不可用,并且給人臉關(guān)鍵點位置信息帶來大量噪聲,因此,口罩人臉識別成為人臉識別算法的一大難題[2]。用深度學(xué)習(xí)解決口罩人臉識別的難題,首先想到的就是通過增強數(shù)據(jù)集來提高現(xiàn)有算法對口罩人臉識別的準(zhǔn)確率,文獻(xiàn)[3]通過混合戴口罩和不戴口罩的人臉數(shù)據(jù)集來對模型進(jìn)行訓(xùn)練以提高現(xiàn)有人臉識別模型性能。文獻(xiàn)[4]利用Triplet loss對在混合數(shù)據(jù)集上預(yù)訓(xùn)練的模型進(jìn)行微調(diào),進(jìn)一步提高人臉識別模型對口罩人臉識別的準(zhǔn)確率。隨著注意力機制在視覺鄰域被廣泛地研究,其思想也被帶到口罩人臉識別的研究中來,文獻(xiàn)[5]采用裁剪,并結(jié)合注意力模塊使網(wǎng)絡(luò)更多地關(guān)注眼部周圍地特征,該方法能夠很好地提高對口罩人臉識別的準(zhǔn)確率,但卻降低了無遮擋場景下人臉識別的性能。文獻(xiàn)[6]采用雙路的訓(xùn)練策略,提出上半人臉分塊注意力,通過這種訓(xùn)練策略引導(dǎo)網(wǎng)絡(luò)更多地關(guān)注到上半人臉。
近一年來,Transformer模型由于具有自注意力(self-attention)模塊強大的全局建模能力,而在計算機視覺中取得了顯著的成效,但模型的參數(shù)量大,空間復(fù)雜度高,導(dǎo)致Transformer模型需要大量的數(shù)據(jù)進(jìn)行訓(xùn)練,訓(xùn)練成本非常高,且由于缺乏正確的歸納偏置,模型的泛化能力較差,難以移植,這也導(dǎo)致難以將模型部署到下游任務(wù)中去。將Transformer與卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)結(jié)合能夠取得更好的效果[7~10]。
本文提出一種基于CNN與Transformer混合模型的口罩人臉識別方法,該方法能兼顧戴口罩人臉識別和不戴口罩人臉識別任務(wù)。主干特征提取網(wǎng)絡(luò)使用的是CNN與Transformer的混合模型CoAtNet[11],在卷積模塊引入空間注意力機制模塊,使模型能夠更多地關(guān)注到未被遮擋的人臉部分,提取更多用于身份識別的魯棒信息,構(gòu)建分類器時使用了Sub-center Arcface[12]損失函數(shù),進(jìn)一步優(yōu)化了模型的識別效果。該方法能結(jié)合CNN與Transformer的優(yōu)點,提高模型的泛化能力和識別準(zhǔn)確率。
綜合考慮模型的泛化能力和模型的容量,最終采用如圖1所示的架構(gòu),輸入的圖像為112×112三通道的三原色(RGB)彩色圖像,其中,Stage0為經(jīng)典卷積,Stage1和Stage2階段為堆疊的MBConv模塊,經(jīng)過卷積模塊后,圖像進(jìn)入空間注意力模塊,然后,送入相對自注意力模塊(relative self-attention block)Stage3和Stage4,最后,將圖像表示為特征向量,送入Sub-center Arcface分類器中,對人臉進(jìn)行分類。
圖1 整體結(jié)構(gòu)
谷歌在MobileNet[13]架構(gòu)中引入了深度可分離卷積(depthwise separable convolution),由于使用1×1卷積,需要的計算量大大減小。在MobileNetV2[14]中又引入了倒置殘差(inverted residuals)和線性瓶頸(linear bottleneck)層。卷積操作可表示為
(1)
其中,xi,yi∈RD,分別為在位置i上的輸入與輸出,L(i)為i的鄰域,也即為卷積處理的感受野。
Self-attention的感受野是整個特征圖,并根據(jù)(xi,yi)之間重新歸一化的成對相似度計算權(quán)重
(2)
式中G為全局空間,Ai,j為注意力權(quán)重。以上2個公式有以下幾個特性:
1)Depthwise卷積核是一個靜態(tài)值的輸入獨立參數(shù),而注意力權(quán)重動態(tài)地取決于輸入的表示。因此,自注意力更容易捕捉不同空間位置之間復(fù)雜的關(guān)系交互,是處理高級概念時最想要的屬性;
2)注意給定任何位置對(i,j),對應(yīng)的卷積權(quán)重只關(guān)心它們之間的相對位移,即i-j,而不是i或j的具體值。由于使用絕對位置嵌入,標(biāo)準(zhǔn)Transformer(ViT)缺少此屬性,這部分解釋了當(dāng)數(shù)據(jù)集不是很大時,CNN通常比Transformers更好;
3)感受野的大小是自注意力和卷積之間最重要的區(qū)別之一。Transformers擁有全局感受野,然而,一個大的感受野需要更多的計算,在全局注意力的情況下,復(fù)雜性圖像尺寸的平方倍,這是應(yīng)用自注意力模型的基本權(quán)衡。
綜上所述,最優(yōu)架構(gòu)應(yīng)該是自注意力的輸入同時具有自適應(yīng)加權(quán)和全局感受野特性以及CNN的平移不變性。所以選擇在SoftMax初始化之后或之前將全局靜態(tài)卷積核與自適應(yīng)注意力矩陣相加,混合卷積和自注意力的計算公式可表示為
(3)
MBConv中含有通道注意力SE(squeeze and excitation)[15],通道注意力部分能使更多有利于識別任務(wù)的特征通道的權(quán)重得以增加,其他特征通道的權(quán)重得以抑制。然而,遮擋人臉識別任務(wù)中,更應(yīng)該重點關(guān)注空間上的信息,例如眼睛、眉毛、額頭部分的紋理信息,因此,引入了空間注意力(spatial attention)機制來加強特征提取網(wǎng)絡(luò)。
空間注意力機制的詳細(xì)描述如下,對于輸入的特征圖F∈RC×H×W使用尺寸為(H,1)的Pooling kernel沿著水平方向做平均池化操作,使用尺寸為(1,W)的Pooling kernel沿著垂直方向做平均池化操作,因此,高度為h時,第c個通道的輸出為
(4)
同樣的,寬度為w的第c個通道的輸出為
(5)
F′=F⊙W′⊙H′
(6)
其中,⊙為對應(yīng)位置元素相乘,F(xiàn)′為注意力輸出。
通過對水平方向和垂直方向上的平均池化,空間注意力模塊捕獲到這兩個方向上的長依賴關(guān)系,并且其中的一個方向上保存了另一個方向上的精確位置信息,這有助于網(wǎng)絡(luò)定位到感興趣的區(qū)域,如圖2所示。
圖2 空間注意力模塊
ArcFace經(jīng)過特征提取網(wǎng)絡(luò)提取到的人臉特征向量x映射到超球體上,并壓縮相同人臉特征向量x的余弦距離,擴大不同人臉特征向量x的余弦距離
(7)
其中,s為超球體的半徑,θ為權(quán)重W和人臉特征向量x之間的夾角,yi則是第i個人的標(biāo)簽,且權(quán)重W與人臉特征向量x都要進(jìn)行歸一化。ArcFace通過在此夾角上添加一個間距m,進(jìn)一步增大了不同人臉特征之間的余弦間隔,這樣做可以使模型學(xué)習(xí)到的特征具有更強的判別能力。盡管ArcFace已經(jīng)顯示出其在高效和有效的人臉特征嵌入方面的能力,但這種方法假設(shè)訓(xùn)練數(shù)據(jù)是干凈的。然而,事實并非如此,尤其數(shù)據(jù)集規(guī)模較大時。在本文使用了Sub-center ArcFace,它提出了為每個身份使用子類的思想,放寬了類內(nèi)約束,可以有效的提高噪聲下的魯棒性。
Sub-center ArcFace具體實現(xiàn)的方式是,為每個身份設(shè)置一個足夠大的K,基于對xi∈R512×1上嵌入的特征和所有的子中心W∈RN×K×512的L2歸一化步驟,通過矩陣乘法WTxi得到子類的相似得分S∈RN×K,然后對Subclass-wise的相似度得分S∈RN×K采用最大池化得到類的相似度S′∈RN×1。Sub-center ArcFace損失函數(shù)可以表示為
(8)
本節(jié)將介紹本文使用到的數(shù)據(jù)集,以及對數(shù)據(jù)集所做的處理,模型訓(xùn)練方法,然后分析實驗結(jié)果,驗證本文算法的有效性。所述的模型在Windows10下進(jìn)行訓(xùn)練,使用GPU為單個NVIDIA GTX 3060,訓(xùn)練時的批量大小設(shè)置為64,優(yōu)化器采用SGD,初始學(xué)習(xí)率設(shè)置為0.01。
本文使用了一個給標(biāo)準(zhǔn)人臉添加口罩的工具,MaskTheFace通過定位人臉關(guān)鍵點,計算人臉角度,有效地為人臉模擬添加口罩,將已有的大規(guī)模人臉數(shù)據(jù)集轉(zhuǎn)換為人工合成的口罩人臉數(shù)據(jù)集,如圖3所示,由于現(xiàn)有真實世界人臉口罩?jǐn)?shù)據(jù)集規(guī)模較小,只適合用來做模型的評估,而不能用于訓(xùn)練。CASIA-WebFace[16]是最常用的人臉識別訓(xùn)練集之一,是一個包含10 575不同個人的494 414張人臉圖片的大規(guī)模人臉數(shù)據(jù)集。在添加口罩之前先使用MTCNN[17]將CASIA-WebFace當(dāng)中的人臉圖片對齊并裁剪為112×112大小,可以避免人臉關(guān)鍵點檢測時因為口罩遮擋而失效。驗證集采用MaskTheFace在LFW[18]上生成的口罩人臉數(shù)據(jù)集LFW-Masked,以及真實的口罩人臉數(shù)據(jù)集MFR2。MFR2是一個包含269張人臉圖片,53個ID的小規(guī)模真實人臉數(shù)據(jù)集,其中,每一個人都包含了佩戴口罩和未佩戴口罩的人臉圖片。本文在谷歌上搜索了一些圖片將該數(shù)據(jù)集擴充到76人,518張圖片作為真實口罩人臉測試集,命名為RMF(real masked-face)。
圖3 數(shù)據(jù)集準(zhǔn)備
基于CNN的模型選用Mobilefacenet[19]和Resnet50[20],基于Transformer的模型選用ViT損失函數(shù)選用Arcface。將其與本文提出的算法作為對比。如表1所示,可以看出,不僅在未帶口罩的人臉識別上,本文算法在準(zhǔn)確率上有所提升,在佩戴口罩的人臉識別上,本文算法遠(yuǎn)遠(yuǎn)優(yōu)于目前最先進(jìn)的算法。其中,ViT模型的識別效率較低,是因為采用的CASIA-WebFace數(shù)據(jù)集數(shù)據(jù)量較少,基于純Transformer的模型需要大規(guī)模的數(shù)據(jù)和大量的時間進(jìn)行訓(xùn)練才能達(dá)到最優(yōu)的效果,這無疑增加了大量的成本,由于條件的限制故無法使ViT性能達(dá)到最優(yōu),也證明了混合模型的優(yōu)越性。
表1 在LFW-Masked和RMF上與最先進(jìn)方法的比較
在LFW-Masked和RMF數(shù)據(jù)集上做了消融實驗,如表2。具體來說,將CoAtNet作為基線(baseline)網(wǎng)絡(luò),然后給網(wǎng)絡(luò)添加空間(spatial)注意力模塊,再將損失函數(shù)替換為Sub-center Arcface。實驗中均使用相同的設(shè)置進(jìn)行訓(xùn)練。當(dāng)添加了空間注意力機制后,網(wǎng)絡(luò)的準(zhǔn)確率在LFW-Masked和RMF上分別提升了0.86個百分點和0.67個百分點。此外,在使用了Sub-center Arcface之后模型的準(zhǔn)確率在LFW-Masked和RMF分別提升了0.53個百分點和0.51個百分點。本文算法之所以能取得更好地表現(xiàn),得益于添加的空間注意力機制,使網(wǎng)絡(luò)的關(guān)注點更集中于未被遮擋的人臉特征,且使用的損失函數(shù)能夠更好地對口罩人臉進(jìn)行分類。
表2 在LFW-Masked和RMF上的消融實驗結(jié)果
如表3所示,比較CoAtNet與其他引入卷積操作的Transformer主干網(wǎng)絡(luò)的模型容量,每秒浮點運算的次數(shù)和在RMF上的準(zhǔn)確率。本文實驗中,將這些模型的Tiny版本,在CASIA-WebFace和WebFace-masked上進(jìn)行訓(xùn)練,然后在LFW-masked上測試準(zhǔn)確率??梢钥闯觯珻oAtNet能夠很好地結(jié)合CNN與Transfomer模型地優(yōu)點,提高了人臉識別的準(zhǔn)確率,并且Transformer模型在有口罩遮擋這種大面積的遮擋人臉識別中能夠起到很好的識別效果,且CoAtNet模型的參數(shù)量不大,計算復(fù)雜度較低,模型的總體性能較其他融合CNN結(jié)構(gòu)的Transformer網(wǎng)絡(luò)更優(yōu)。
表3 不同混合模型在RMF上的對比實驗
本文將CNN與Transformer混合網(wǎng)絡(luò)用于訓(xùn)練口罩人臉識別模型,在卷積模塊引入空間注意力模塊,使模型能夠更多地關(guān)注到未被遮擋的人臉部分,提取更多用于身份識別的魯棒信息,損失函數(shù)使用了Sub-center Arcface,進(jìn)一步提升了模型識別的精度。該方法很好地結(jié)合了CNN與Transformer的優(yōu)點,提高了模型的泛化能力和識別準(zhǔn)確率。分別在LFW和LFW-Masked上的精度達(dá)到98.54 %和97.68 %,實驗表明,該模型能夠同時兼顧戴口罩和不戴口罩的人臉識別。