張凱兵,謝盼榮,陳小改,蘇澤斌
(西安工程大學 電子信息學院,陜西 西安 710048)
人臉識別,通常也稱人像識別或面部識別,是一種用于身份認證的計算機視覺技術,是繼識別卡認證、密鑰認證等傳統身份識別和虹膜識別、聲紋識別、指紋識別等生物信息識別后應用最為廣泛的生物信息識別技術[1]。人臉識別在刑偵追逃、罪犯識別、電子政務、戶籍管理、電子商務、電子貨幣、支付和考勤等方面均具有重要的應用前景。
在自然場景下,受光照、姿態(tài)、表情、遮擋、年齡變化等因素的影響,導致人臉識別面臨巨大的挑戰(zhàn)。在過去的幾十年里,許多研究者使用統計機器學習技術解決人臉識別面臨的諸多難題[2]。近年來,隨著深度學習技術的快速發(fā)展,基于深度學習的人臉識別方法能有效克服傳統人臉識別方法在自然場景下的局限性,取得令人矚目的效果。其中,DeepFace[3]使用3D人臉正面化技術,實現了深度學習在人臉識別上的突破。隨著DeepFace的出現,后續(xù)大多數基于深度學習的人臉識別方法普遍采用深度網絡模型進行特征提取,然后組合一個分類器完成識別任務。為了提升識別性能,文獻[4-5]分別提出了三元組損失、中心損失來提高人臉識別的準確率;文獻[6]提出了帶有乘法角度邊緣的角度softmax(A-Softmax)損失減小類內差異和增大類間差異;文獻[7-9]在A-Softmax的基礎上提出了加性角度邊緣損失,以提高特征的判別性;文獻[10-11]考慮基于角邊緣的方法只關注類內緊湊性而忽略了類間差異,提出了一個新的增加類間差異的損失,該損失同時關注類內緊湊性和類間分離性。除此之外,還有一些研究者專注于網絡結構的研究[12]。文獻[13]在ShiftNet-C網絡的基礎上提出了一個用于人臉識別的ShiftFaceNet;文獻[14]通過分析MobileNet網絡在人臉識別任務存在的不足,提出了一個輕量化的MobileFaceNet。盡管上述方法增強了人臉特征的表征能力,但它們僅從單個維度對深度網絡模型進行改進,導致識別性能還不能達到令人滿意的效果。
本文受視覺任務中圖像分類方法的啟示[15-16],以EfficientnetV2-S[17]網絡結構為基礎,從網絡結構和損失函數2個角度考慮人臉識別任務,提出了一個新的人臉識別框架EfficientFaceNets。EfficientNetV2-S使用SE注意力機制[18]提取人臉關鍵區(qū)域。針對EfficientNetV2-S模型中使用的SE注意力機制忽略人臉識別的空間位置信息的問題,本文提出了一種新的三維注意力機制,分別對特征圖的通道維度、寬維度和高維度進行一系列池化,在特征提取過程中嵌入人臉結構的空間位置信息,同時保留人臉識別所需的顯著性信息,以有效提取具有判別性的深度特征表示人臉信息。除此之外,針對現有方法忽略了上下文信息對人臉識別任務的輔助作用,本文借助殘差結構的思想,提出了一種上下文特征融合的特征融合方案,實現更細粒度人臉特征表示。最后,考慮到分類任務中廣泛使用的交叉熵損失只關注類間分離性,而忽略了類內緊湊性的問題,本文提出了可信度增強損失優(yōu)化同類樣本的相似性,以提高相同類人臉特征表示的緊湊性。在相同的實驗條件下,提出的EfficientFaceNets能獲得比現有方法更好的識別性能。
本文提出的EifficentFaceNets的整體框架如圖1所示,整個網絡結構由8個模塊組成,分別為S1~S8。
圖1 EifficentFaceNets整體框架
圖1中,S2~S4均由Fused-MBConv結構組成;S5~S7中的基本模塊是Attention-MBConv。輸入模型中的人臉圖像依次經過圖1所示的8個模塊得到最終的輸出,每個模塊的具體參數如表1所示,其中空白單元格表示“不適用”。
表1 網絡結構參數
從圖1和表1可以看出,S1是一個包含卷積、批量歸一化和Swish激活函數的普通卷積層,主要用于提取輸入圖像的淺層特征。S2、S3、S4均由Fused-MBConv結構堆疊而成,其中S2堆疊2次、S3堆疊4次、S4堆疊4次。每個Fused-MBConv結構內部存在1倍或4倍的通道擴充,如表1中的Fused-MBConv4表示輸出特征圖的通道數為輸入特征圖的4倍。Fused-MBConv的具體結構如圖1中虛線框中所示。而S5、S6、S7由Attention-MBConv結構堆疊而成,其中S5堆疊6次、S6堆疊9次、S7堆疊15次。與Fused-MBConv結構類似,每個Attention-MBConv結構內部存在4倍或6倍的通道擴充,如表1中的Attention-MBConv6表示輸出特征圖的通道數為輸入特征圖的6倍。Attention-MBConv的具體結構如圖1中對應的虛線框所示。S8由卷積層、池化層和全連接層組成,最終達到識別目的。
考慮到上下文信息對人臉識別任務的重要性,本文設計了一個新的上下文特征融合方式。具體如圖1所示,上下文特征融合將包含淺層信息的Fused-MBConv模塊的輸出與包含深層信息的Attention-MBConv模塊的輸出進行通道級聯操作。為了實現更細粒度人臉特征的表示,再將S1的輸出與上述級聯后的特征進行拼接。本文通過融合不同模塊的特征,使最終的特征不僅包含淺層網絡提取的人臉細節(jié)信息,而且包含深層網絡提取的語義信息。上下文特征融合過程表示為
FF=Fcat(F(1)s,F(4)s,F(6)s)
(1)
式中:FF為上下文特征融合模塊的輸出;Fcat為通道維度的特征級聯操作;F(i)s為第i個模塊的輸出特征。
大量研究表明,利用注意力機制可以顯著增強深度網絡輸出特征的表征能力。普通的空間注意力通常使用全局池化對空間位置信息進行全局編碼,它將全局空間信息壓縮到一個維度中,難以保留圖像中的結構位置信息,而人臉圖像的結構位置信息是人臉識別任務中獲取空間結構的關鍵。此外,傳統的通道注意力通常使用平均池化操作,保留特征圖的均值信息,此過程忽略了特征的顯著性信息,而人臉識別是一個對顯著性特征極為敏感的計算機視覺任務。
1) SE注意力機制。EfficientnetV2中使用的SE注意力機制通過在通道維度對特征圖賦予不同的權重,從而得到更重要的權重信息。SE注意力機制的整體結構如圖2所示。
圖2 SE注意力結構
對于輸入的特征圖,首先沿著通道維度進行平均池化,然后依次經過2個全連接層,上述操作可表示為
FC=Fs(f(2)FC(FR(f(1)FC(FA_C(Fin)))))
(2)
式中:FC為通道維度的注意力映射圖;Fs為Sigmoid激活函數;f(i)FC為第i個全連接層;FR為Relu激活函數;FA_C為通道維度的平均池化;Fin為輸入特征圖。最后將通道維度的注意力映射圖與原始的輸入特征圖相乘,得到帶有注意力映射圖的特征圖。公式如下:
FSE=FC*Fin
(3)
式中:FSE為SE注意力機制的輸出特征圖;*表示逐元素相乘。SE注意力僅關注特征圖中通道維度的信息,而忽略了結構位置信息。
2) 三維注意力機制。為了使注意力能夠獲取到精確的人臉結構位置信息,同時保留人臉識別所需的顯著性特征,本文提出一種新的三維注意力機制。本文提出的注意力分別對特征圖的寬、高和通道3個維度進行池化操作,然后經過一系列的級聯、拆分等步驟,得到帶有結構信息的判別性特征圖。三維注意力機制的整體結構如圖3所示。
圖3 三維注意力結構
對于寬維度和高維度,三維注意力首先對這2個維度的特征圖進行最大池化和平均池化操作,再進行級聯操作,上述2個操作分別表示為
(4)
式中:FW為級聯之后寬維度的特征圖;Fcat為通道維度的特征級聯操作;FA_W為寬維度的平均池化操作;FM_W為寬維度的最大池化操作;FH為級聯之后高維度的特征圖;FA_H為高維度的平均池化操作;FM_H為高維度的最大池化操作;Fin為輸入特征圖。然后將寬維度得到的特征圖與高維度得到的特征圖級聯后依次經過一個卷積、批量歸一化和H-Swish激活函數,計算公式如下:
FWH=FH(FBN(Fc1(Fcat(FH,FW))))
(5)
式中:FWH為級聯寬高維度之后的特征圖;FH為H-Swish激活函數;FBN為批量歸一化;Fc1為卷積核維度為(1,1)的卷積。之后,將上述得到的特征圖分割為高維度的特征圖和寬維度的特征圖。對分割后高維度的特征圖依次經過一個卷積核維度為(2,1)的卷積和Sigmoid激活函數,得到高維度的注意力映射圖。類似地,對分割后寬維度的特征圖依次經過一個卷積核維度為(1,2)的卷積和Sigmoid激活函數,得到寬維度的注意力映射圖。對于通道維度的特征圖,先進行池化操作,再經過一個卷積核維度為(1,1)的卷積和Sigmoid激活函數,最后得到通道維度的注意力映射圖。將不同維度的注意力映射圖與原始的輸入特征分別進行乘法操作,從而得到帶有特定維度注意力的特征圖。上述操作的計算過程分別表示為
(6)
式中:fS_H為拆分后的高維度特征圖;Fc2,1為卷積核維度為(2,1)的卷積;FA_H為高維度的注意力映射圖;fS_W為拆分后的寬維度特征圖;Fc1,2為卷積核維度為(1,2)的卷積;FA_W為寬維度的注意力映射圖;FA_C為通道維度的平均池化操作;FM_C為通道維度的最大池化操作;FA_C′為通道維度的注意力映射圖;*表示逐元素相乘;Fin表示輸入的原始特征圖。最后將得到的3個特征圖逐元素相加得到最終輸出,表示為
FAtt=FA_W+FA_H+FA_C′
(7)
式中:FAtt為最終得到的三維度注意力特征圖。
1) 交叉熵損失。交叉熵損失是分類任務中應用最廣泛的損失函數[19],可表示為
(8)
式中:xi∈Rd,為第yi個類的第i個樣本的深度特征;Wj∈Rd,為權重矩陣W∈Rd×n的第j列的權值向量;bj∈Rd,為偏置;N為一個批次的batch數;n為總類別數。傳統的交叉熵損失被廣泛用于深度人臉識別中,然而交叉熵損失并沒有明確優(yōu)化特征嵌入以增強同類樣本間的相似性,導致在類內特征差異較大時,該損失不能達到期望的識別效果。
2) 可信度增強損失??尚哦仍鰪姄p失使用類隊列存儲被網絡正確分類的特征。為確保類隊列中的特征對網絡具有有效的導向作用,本文使用3個不同的概率值0.7、0.8、0.9進行對比實驗,結果顯示0.9可達到最好的效果,而0.95、0.99等概率值的效果與0.9類似,故只需將分類正確且分類概率大于0.9的樣本特征存儲到類隊列中。如果將分類錯誤的特征入隊,它會使類隊列失去標簽特性,導致錯誤的訓練導向。類隊列的個數為類別數,限制每個類隊列的大小不超過給定的閾值m,本文使用4個不同的類隊列大小值50、100、150、200進行對比實驗,結果顯示150可以達到最好的識別效果,故在實驗中將參數m的值設置為150。
為彌補交叉熵損失的不足,本文提出了一個基于余弦相似度的可信度增強損失進一步增強深度網絡的特征學習能力,使得同類樣本的深度嵌入特征之間的相似性盡可能高,從而提高人臉識別任務的準確性。本文基于分類可信度的樣本隊列優(yōu)化策略構造可信度增強損失,構造過程如圖4所示。
圖4 基于分類可信度的樣本隊列優(yōu)化
從圖4可以看出,可信度增強損失的優(yōu)化過程存在3種不同的情況,一種是被網絡正確分類且分類概率大于0.9的樣本特征,一種是被網絡正確分類但分類概率小于0.9的樣本特征,最后一種是被網絡錯誤分類的樣本特征。對于第1種情況,首先需要判斷該特征對應的類隊列是否為空。若類隊列為空,直接將對應類的嵌入特征入隊;若類隊列不為空,先判斷該嵌入特征入隊之后,類隊列的特征數是否大于給定的閾值m。如果大于給定的閾值,則先將隊列中存在的隊頭特征出隊,再將該嵌入特征與隊列中的特征做可信度增強損失,最后將該嵌入特征入隊;如果類隊列中樣本數小于給定的閾值,則不需要將隊頭特征出隊。針對第2種情況,需要先判斷該特征對應的類隊列是否為空。若類隊列為空,既不計算損失也不入隊;若類隊列不為空,只需將樣本特征與對應的類隊列進行損失的計算,不進行入隊操作。對于沒有被網絡正確分類的樣本特征,該算法既不進行損失的計算,也不進行入隊操作。
相似度越高表明樣本越相近,相似度越低表明樣本差異越大。對于相同類相似度較高的訓練樣本,給予較小的懲罰值;相反地,對于相同類相似度較低的訓練樣本,給予較大的懲罰值。本文采用余弦相似度衡量不同樣本的相似性,表示為
(9)
式中:Ni為第i類隊列中的樣本數;bi為本批次中第i個樣本的特征向量;Fn為當前類隊列中的第n個樣本特征向量;Ri為第i個樣本是否分類正確;m為一個批次的特征數量。本文聯合交叉熵損失和可信度增強損失對網絡模型參數進行優(yōu)化,整個網絡的損失函數表示為
L=L1+λL2
(10)
本文使用MTCNN[20-21]人臉檢測算法檢測整個訓練集和測試圖像的人臉區(qū)域和標記點,將其裁剪到224×224的大小。然后將訓練集中的RGB彩色圖像進行歸一化操作。在數據集CASIA-WebFace[22]上訓練網絡模型,該數據集是一個公用的人臉識別數據集,其中包含10 575個名人的490 000張人臉圖像,部分名人的圖片少于20張,部分名人的圖片大于300張。對于每一張圖像采用隨機水平翻轉方式進行數據增強。本文使用PyTorch深度學習框架實現人臉識別深度模型的搭建和訓練,利用隨機梯度下降法(stochastic gradient descent,SGD)算法訓練提出的EfficientFaceNets模型。對于CASIA訓練集,將初始學習率設為0.1,然后以0.1的速度使用余弦退火方式進行學習率調整,設置動量為0.9,權重衰減因子設置為10-4。
為了驗證本文提出方法的有效性,分別在2個公共的人臉數據集LFW[23]和CFP-FP[24]上進行了驗證實驗。2個數據集中部分代表性樣本如圖5所示。
(a) LFW數據集的代表性樣本
圖5中,每一列代表同一個人的2張不同人臉圖像。LFW數據集提供的人臉圖片均來源于生活中的自然場景,受多姿態(tài)、光照、表情、年齡、遮擋等因素影響,導致同一身份的人臉圖像在外觀上存在較大的差異。LFW數據集包含5 749個人的13 233張人臉圖像,該數據集提供了6 000個測試對用于驗證人臉識別模型的性能。CFP-FP數據集難度比LFW更大,它由受試者的正臉圖像和側臉圖像組成。CFP-FP數據集總共包含500個受試者的7 000張人臉圖像,每個受試者含有10個正臉圖像和4個側臉圖像。
首先,為了證明三維注意力機制對人臉結構位置信息的編碼能力,圖6展示了提出的三維注意力機制與SE注意力機制的特征值可視化的對比結果,圖中顏色越亮表示網絡對其關注度越高。
圖6 不同注意力特征圖可視化
圖6中,第1行是原圖,第2行是使用SE注意力機制可視化的特征圖,最后一行是使用三維注意力機制可視化的特征圖。從可視化結果來看,提出的三維注意力機制可以比SE注意力機制更準確的關注到人臉區(qū)域,有利于提取更具有判別性的人臉深度特征。其次,為了驗證提出的可信度增強損失能夠促進同類樣本的緊湊性,本文選取10個類別的樣本圖像進行實驗,不僅將使用交叉熵損失訓練的模型提取到的特征可視化到二維空間中,而且將使用可信度增強損失訓練的模型提取到的特征值可視化到二維空間中??梢暬瘜Ρ冉Y果如圖7所示。
(a) 交叉熵損失訓練模型
從圖7可以看出,使用可信度增強損失訓練的模型得到的人臉特征在空間分布上更加緊湊,優(yōu)于使用交叉熵損失訓練的模型得到的特征分布,這表明可信度增強損失有利于生成更具有判別性的特征表示。
最后,將提出的EfficientFaceNets模型與MobileFacenet、MobilenetV3-large、Resnet50模型在LFW、CFP-FP數據集上的識別性能進行比較。提出的模型與對比模型均使用CASIA數據集進行訓練,對比結果如表2所示。
表2 不同模型在LFW和CFP-FP數據集中的識別率
從表2可以看出,本文提出的EfficientFaceNets模型在LFW數據集和CFP-FP數據集上均達到了最好的識別性能。為了驗證可信度增強損失的有效性,本文使用交叉熵損失和可信度增強損失2種訓練策略來訓練提出的模型和需要比較的模型。表2中的model+softmax表示使用交叉熵損失訓練構建的模型,而model+classLoss表示使用可信度增強損失訓練對應的模型。從表2中結果可以看出,使用可信度增強損失訓練的模型在LFW數據集和CFP-FP數據集上均優(yōu)于使用交叉熵損失訓練的模型。對于MobileFacenet模型來說,使用可信度增強損失比使用交叉熵損失在LFW上的識別準確率高0.35%,在CFP-FP上的識別準確率高1.35%。由于MobilenetV3模型本身使用了注意力機制,將其替換為提出的三維注意力機制,再使用可信性增強損失進行訓練,其在LFW和CFP-FP上的識別準確率比使用交叉熵損失得到的模型分別提升了2.27%和0.98%。對于Resnet50網絡模型,使用可信度增強損失訓練的人臉識別模型在LFW和CFP-FP數據集上均表現出優(yōu)異的識別效果,識別率分別達到94.68%和88.48%。
為進一步評估不同網絡模型的計算復雜度,對EfficientFaceNets與EfficientNetV2-S[17]、MobileFacenet[14]、MobilenetV3[25]和Resnet50[26]模型的參數量進行比較,EfficientFaceNets、EfficientNetV2-S、MobileFacenet、MobilenetV3和Resnet50[26]模型的參數量分別為2.356×107、2.018×107、2.370×106、2.990×106和2.352×107。 MobileFacenet和MobilenetV3_large網絡模型是針對移動設備上運行的輕量化網絡,需要的模型參數量都較少。而提出的EfficientFaceNets模型的參數量與Resnet50模型參數量相當,主要原因在于本文方法使用了上下文特征融合方式增加了淺層特征的通道數,從而增加了網絡的參數量。但EfficientFaceNets模型在LFW數據集上的準確率比Resnet50高出0.55%。
本節(jié)進行了一系列的消融實驗驗證提出不同模塊的有效性。為了清楚地展示每個模塊對人臉識別性能的貢獻,以EfficientNetV2-S為基準模型,將其在LFW數據集上的取得的識別率與嵌入不同模塊的網絡模型獲得的識別性能進行比較,對比結果如表3所示。
表3 消融實驗
表3中,第1行表示EfficientNetV2-S在LFW數據集上的識別率;第2行表示在EfficientNetV2-S的基礎上增加上下文特征融合模塊??梢钥闯?上下文特征融合方案可以略微提升網絡的整體識別性能;第3行表示在基準模型的基礎上使用了三維注意力機制,從表中的結果可以看出,三維注意力機制對網絡的識別性能有一定的作用,在基準模型基礎上增加了1.4%;第4行表示在EfficientNetV2-S模型上使用了可信度增強損失,使用該損失時,在基準模型基礎上識別率增加了2.04%;最后一行表示將上述提出的3個模塊均用于基準模型中,取得的識別率最高,達到了94.77%,相比于基準模型增加了2.39%。上述實驗結果驗證了本文提出的3個模塊提升識別性能均有貢獻。
本文提出的EfficientFaceNets方法融合模型中的淺層細節(jié)信息和深層語義信息,可得到更細粒度的人臉特征表示,同時采用三維注意力機制,可以增強人臉圖像中的空間位置信息??紤]到類間可分性對于分類任務的重要性,使用可信度增強損失提高同類樣本的深度嵌入特征之間的相似度。實驗結果表明,本文提出的EfficientFaceNets在人臉識別性能上優(yōu)于其他幾種對比主流方法。
盡管提出的方法在自然場景人臉識別任務上取得了較好的性能,但仍然存在計算復雜度較高的問題,不利于實時應用,如何研究計算復雜度低的輕量化人臉識別網絡,是未來進一步需要研究的課題。