何星辰 郭勇 李奇龍 高唱
人臉識別是一個極具挑戰但又非常重要的問題,因為其廣泛的應用場景而受到越來越多的關注,目前一些一般人臉識別方法[1-6]在幾個基準測試中已經取得了理想的成績,但由于人臉本身存在的較大的類內干擾(如表情、光照、年齡等)使得這項工作面臨極大的困難.其中年齡變化所引起的類內變化仍然是許多實際應用的主要瓶頸,如尋找多年前的失蹤人口、排查潛逃的犯罪嫌疑人、證件的注冊及認證工作等.相較于其他干擾,年齡相關的變化取決于內因(如壓力和疾病)和外因(如生活環境和生活方式),以及隨著年齡的增長,臉部的紋理和形狀也會發生顯著改變,這使得學習不變的模式變得困難.因此,基于相同年齡的的一般人臉識別模型在處理跨年齡識別任務時無法得到理想的結果,2015 年Chen等[7]的研究顯示在跨年齡識別任務中一般人臉識別模型的正確率會降低13%以上.生成模型和判別模型是現有的兩種抗年齡干擾的人臉識別方法.生成模型通過將面部合成到一個或多個年齡類別來進行建模,然后利用人工面部表示進行識別[8-10],隨著深度學習的迅速發展,生成模型在抗年齡干擾識別上更有前景[11-13].然而生成模型的識別過程通常分為兩步,無法以端到端的方式優化識別性能,并且通過生成模型生成的面部圖像通常不穩定,會引入額外的噪聲到合成圖相中從而對識別過程形成干擾.因此,對判別模型的研究成為近些年來的熱點,本文本文提出的深度模型也是屬于判別模型的范疇.
判別模型旨在對人臉特征進行分離,從剔除年齡相關特征,提取年齡無關的身份特征的角度提高人臉識別的穩定性.Ling等[14]使用梯度方向金字塔(Gradient orientation pyramid,GOP)作為年齡不變的特征并采用支持向量機(Support vector machine,SVM)作為面部識別的分類器.許多判別模型在設計適當的特征和有效的匹配系統兩個方面做了深入研究,但大多數設計的特征仍包含干擾信息,為了將特定于人的身份因素與年齡因素分開,Gong等[15-16]提出了隱藏因子分析方法(Hidden factor analysis,HFA),將人的面部圖像表示為在衰老過程中穩定的身份特定成分和反映衰老效果的其他成分的組合,表示身份的特征成分用于年齡不變的面部識別,他們采用期望最大化(Expectation maximization,EM)算法來估計模型參數,并進一步提出最大熵特征.Li等[17]提出了區域模式選擇(Local patterns selection,LPS)作為跨年齡人臉識別的新特征描述符.文獻[18]提出了一種稱為跨年齡參考編碼(Cross age reference code,CARC)的編碼框架,CARC能夠使用年齡不變的參考空間對人臉圖像的低級特征進行編碼.深度學習因其在原始特征中直接學習一系列非線性特征映射函數的卓越性能而受到廣泛關注,相比之下,深度學習模型通常通過使用單個或幾個具有集中特定損失函數的年齡模型來處理年齡差異[19-22].Wen等[21]提出一種潛在因子引導卷積神經網絡(Latent factor guided convolutional neural network,LF-CNN)模型來學習年齡不變的深層特征.Xu等[22]提出了一種非線性方法來分離整個特征以獲得身份特征,并提出稱為耦合自動編碼器網絡(Coupled auto-encoder network,CAN)的神經網絡模型,它利用兩個淺層神經網絡橋接兩個自動編碼器以適應老化和衰老過程.Wang等[20]提出正交嵌入CNN (Orthogonal embedding convolutional neural network,OECNN)模型以將深度面部表征分解成兩個正交分量以表示年齡和身份特定特征.本文基于深度學習提出了一種新的抗年齡干擾的人臉識別模型ADCNN (Age decomposition convolution neural network),如圖1 所示.給出面部圖像年齡標簽和身份標簽,AD-CNN同時實現年齡估計任務和人臉識別任務,第1 個全連接層輸出包括年齡信息在內的所有面部特征,第2 個全連接層用于輸出通過年齡回歸任務所提取到的年齡特征,并將其送入含有一層隱藏層的多層感知機(Multilayer perceptron,MLP)網絡最終得到年齡相關因子,通過從整個特征中減去年齡因子獲得年齡不變特征.此外,ADCNN 在基線網絡中采用了空間注意力機制,重新建模了特征提取過程中通道和空間的相互依賴關系,增強了特征提取性能.

圖1 AD-CNN 模型流程圖Fig.1 The architecture of the proposed AD-CNN
跨年齡識別任務的困難在于年齡的變化會導致較大的類內變化(如面部形態和紋理),但通過觀察我們可以發現,同一年齡段的不同人的面部圖像通常具有相同的特征(如皺紋和皮膚),此外同一個人在不同的年齡段始終會有如性別等部分特征保持相對穩定的狀態.因此,本文的目標是基于深度學習設計一種有效的方法,以便從參有年齡信息的混合的特征中有效地學習年齡不變的成分.
Gong等[15]和Wen等[21]的研究通過迭代和學習的方法將所提取到的混合特征線性分解為年齡特征和抗年齡干擾的身份特征兩部分;Wang等[20]則將混合特征正交分解為年齡特征和身份特征的乘積,并分別對這兩部分賦予年齡標簽和身份標簽進行聯合學習.受上訴方法的啟發,本文延用了文獻[12,18]的思想,將深度卷積神經網絡提取到的原始混合特征看作是年齡特征與年齡無關的身份特征在高維空間的線性組合,并利用多層感知機能夠學習任何映射函數的這一數學特性[23]在線性空間對混合特征進行了分離.具體來說,首先年齡估計任務可以從混合特征中提取出年齡特征,隨后通過含有一層隱藏層的多層感知機將年齡特征映射回原始混合特征所在的高維線性空間,最后從混合特征中減去年齡特征帶來的干擾得到年齡無關的身份特征從而完成身份分類的任務,整個過程可表示為

其中,t,x,y都是128 維向量,t表示輸入圖像的整個特征,x表示從年齡估計中獲得的年齡特征,y表示與年齡無關的人臉潛在特征,W1,W2,W3和b1,b2,b3分別表示全連接層fc3和多層感知機網絡的權重參數和偏置項,relu表示非線性激活函數.h(x)是獲得年齡因子的函數,全連接層fc3 的輸出對應式(1)中的y,它能更好地處理整個面部特征、年齡特征和不受年齡干擾的人臉特征之間的關系.在模型中,人臉識別任務和年齡估計任務同時進行.
隨著CNN 層數逐漸加深,所能提取到圖像的特征也越來越豐富,但如果簡單地增加深度,會帶來梯度彌散或梯度爆炸的問題.He等[24]在2015 年提出了建立在快捷連接和恒等映射基礎上的殘差網絡(Residual networks,ResNets)結構,解決了CNN 隨著深度增加而帶來的網絡退化問題.
該網絡的基本組成單元為殘差塊,如圖2 所示,在殘差塊中,上層輸出做為下層輸入的一部分,即在原始卷積層外部加上了躍層連接支路,使得原始映射可以表示為H(x)=F(x)+x,此時可以將對H(x)的學習轉換為對殘差函數F(x)=H(x)-x的學習,使得網絡更容易擬合.本文采用了類似Res-Nets-34[24]的模型作為CNN 原始特征提取網絡,該模型由4 組殘差塊組成,每個組的輸入到輸出接有一額外的支路映射shortcut,每個組中分別包含3,4,6,3 個殘差塊,每個殘差塊由2 維卷積層(Conv),批量歸一化層(Batch normalization)[25],非線性激活層(Relu)組成,并且相同的組中殘差塊的輸出通道數相同,分別為64,128,256和512.每個殘差塊組之間連接有池化層(Pool)和卷積塊注意力模型(Convolutional block attention module,CBAM)以增強模型的魯棒性及特征提取能力.整個基線網絡的計算過程可以表示為

圖2 殘差塊的結構Fig.2 The structure diagram of residual block

其中,xlin與xlout表示第l個殘差塊的輸入和輸出,F(·)表示殘差映射函數,g(xlin)表示每個殘差組的shortcut 支路映射,MCBAM(·)表示注意力模型,表示第l個殘差塊的權重參數.
為了增強網絡模型的特征表達能力,提升特定區域的表征,本文在特征提取過程中引入卷積塊注意力模型(CBAM)[26]以提高深度模型對有用信息的敏感度.CBAM 模塊將注意力機制同時運用在通道和空間兩個維度上,通過建模卷積特征通道和空間的相互依賴性來提高網絡的特征提取能力.在特征空間和通道進行校準的機制,使網絡從全局信息出發來提升有價值的特征并且抑制對任務無用的特征.CBAM 模塊示意圖如圖3 所示.將一個經過卷積變換后的特征圖:F∈RH×W×C作為輸入,M,H,C代表特征圖的三維信息,特征圖F經過1 維通道注意力模塊Mc∈R1×1×C和2 維空降注意力模塊Ms∈RH×M×1后得到最終輸出F′′,整個過程可表示為

圖3 CBAM 注意力模塊示意圖Fig.3 The overview of CBAM attention module

其中,?表示element-wise 的點乘操作,將特征圖F送入通道注意力模塊Mc,并將其結果與F進行點乘得到F′,再將F′送入空間注意力模塊Ms,將其結果與F′進行點乘從而得到最終的輸出F′′.
通道注意力模塊首先利用平均池化和最大池化操作聚合特征圖在每個通道上的信息,生成兩個不同的通道上下文描述符即


其中,Pmax(·)表示最大池化操作,Pavg(·)表示平均池化操作,w0∈RN/2×N,w1∈RN×N/2,表示多層感知機的權重,并且在w0后接有一個Relu 激活函數,σ表示Sigmod 激活函數.
空間注意力模塊利用特征的空間關系生成空間注意力圖層,空間注意力集中在 “哪里”是信息部分,這是對通道注意力的補充.為了計算空間注意力,首先沿通道軸應用平均池化和最大池化操作,并將它們連接起來以生成有效的特征描述符.通過兩個池化操作融合特征圖的通道信息,生成兩個2維特征圖即

其中,N表示特征的通道數量,Sij(c)表示第c個特征圖中位于坐標(i,j)處的元素,分別表示每個通道上的平均融合特征和最大融合特征.然后合并這兩個2 維特征圖并送入卷積層,最終得到空間維度上的注意力權重,其計算過程為

其中,σ表示sigmod 激活函數,f7×7表示卷積核大小為的卷積操作.圖4 顯示了兩個注意力子模塊內部的處理流程.

圖4 注意力子模塊示意圖Fig.4 Diagram of each attention sub-module
由于老化過程(例如面部形貌變化、紋理變化等)會引起不同年齡類別(類內變化)中相同個體的變化,以及從CNN 中提取的深度特征中不可避免地會出現無關成分,這都會給人臉識別任務帶來巨大挑戰.因此本文提出年齡估計任務和人臉識別任務聯合學習的方法來克服上述困難.
為了挖掘年齡信息的內在表示,本文將線性回歸的方法應用在年齡估計任務中,如圖1 所示,將全連接層fc2 所得的年齡特征作為輸入,回歸損失表示為

其中,M表示每一個批次中所含樣本的數量,zi表示第i個樣本所對應的年齡標簽,||·||表示L2范數,f(x)是關聯Xi和zi的映射函數,本文使用的是線性多項式
在進行面部識別時,將分類邊界投影到角度空間,采用A-Softmax[27]類似的損失函數增大類間距離,減小類內距離.先對全連接層fc3 輸出的面部特征和權重向量做歸一化處理,使它們的L2范數都為1,此時損失函數可寫為

其中,?(θyi,i)=(-1)kcos(mθyi,i)-2k,θyi,i是第i個樣本的面部特征Fi與第yi個類別對應的權重向量之間的夾角,θyi,i∈[kπ/m,(k+1)π/m],k∈[0,m-1],m≥1是控制角度大小的超參數.s>0 是一個可調整的比例因子,用于補償Softmax 的學習.從幾何角度來看,式(14)增加了一個約束,該約束保證特征x的角度與其相應的權重向量應小于特征x與任何其他權重向量之間的角度的 1/m,因此,可以增加兩個任意類之間的余量,與原始的A-Softmax 相比,式(14)引入了一個新的自由變量s以補償L2規范化的損失.
綜上,合并式(13)和式(14)以形成多任務聯合學習的損失函數,即

其中,λ是平衡兩損失的超參數.
本文在MORPH Album 2[28]和FGNET[29]兩個公共領域跨年齡人臉基準數據集上設置了實驗,以證明所提方法的有效性.MORPH Album 2 數據集包含了超過78 000 幅人臉圖像,20 000 個身份標識(id),年齡范圍從16 歲到77 歲,平均每個身份id 對應4 幅圖片,每個id 的年齡跨度較小.FGNET數據集由來自于82 個身份id 的1 002 幅圖像組成,樣本數相對較小,但平均每個身份id 對應12 幅人臉圖像且同一人的年齡跨度較大.兩個數據集的年齡分布如圖5 所示.

圖5 MORPH和FGNET 數據集的年齡分布Fig.5 Age range distribution of MORPH and FGNET
使用MTCNN (Multitask cascaded convolutional neural network)[30]檢測圖像中的面部和面部關鍵點,然后應用相似性變換,根據5 個面部關鍵點(兩個眼睛、鼻子和兩個嘴角)進行人臉對齊,并將面部貼片裁剪為130×152 像素.為了避免出現過擬合,訓練時本文對輸入圖像進行隨機裁剪和隨機翻轉的操作,隨機裁剪后圖像大小為112×112 像素.最后將圖像歸一化到[-1,1]區間,如圖6 所示.圖6(a)和圖6(c)為來自于數據集中的原始圖像,圖6(b)和圖6(d)為處理后的圖像.

圖6 MORPH Album 2 中處理后的圖像Fig.6 Processed images of MORPH Album 2 dataset
考慮到MORPH Album 2和FGNET 的規模都不大,為防止過擬合,本文將CNN 原始特征提取模型在CASIA-WebFace[23]上進行預訓練,實驗時用跨年齡數據集進行微調.根據文獻[27,31]的結果,將式(13)中提到的超參數設置為4,32.對于權重因子λ,選取0.1,0.3,0.5,0.7 四個值分別進行實驗.所有模型均采用Tensorflow 框架進行訓練,采用隨機梯度下降(Stochastic gradient descent,SGD)算法進行優化.訓練批量大小設置為16,迭代次數設置為25 個epoch.動量因子為0.9,初始學習率設置為0.001,并且當損失變得穩定時(在第8,16和20 個迭代周期),訓練過程自適應地降低學習率3 次.
FGNET 包含來自82 個人的1 002 幅面部圖像,年齡范圍從兒童到老年人的跨度很大.由于FGNET 的規模較小,本文采用文獻[13,15]中的留一法設置,以便與之前的方法進行公平比較.選取1 幅圖像作為測試樣本,剩下1 001 幅圖像作為訓練集對模型進行微調.重復此過程1 002 次,對每個實驗結果從Top-1 到Top-n進行排序,最后對這些結果取平均值得到Rank-n識別率.考慮到式(15)中調節兩個損失函數平衡權重參數λ會影響模型性能,本文在FGNET 上設置了4 組實驗以探索λ合理的取值.圖7 顯示了λ取不同值時,模型正確率的變化曲線,當λ取值較小時,年齡估算任務的重要性較低,使得特征分離不充分,隨著λ逐漸增大,年齡因素和身份因素的相關性隨之減小,識別準確率逐步上升;λ超過一定范圍后,模型對身份因素的表征能力會受到干擾,從而使得識別精度降低.實驗表明,將λ的值設為0.5 能使模型得到較好的性能.表1 給出了本文方法與其他已發表方法的Rank-1 識別率,可以看到本文提出的基于深度學習的方法不僅與其他基于線性分析的方法相比有較大優勢,其識別結果也高于CAN[22]和LF-CNN[21]兩種深度模型.

圖7 不同權重參數下的人臉分類準確率曲線圖Fig.7 Face classification accuracy graph under different weight parameters

表1 不同方法在FGNET 數據庫上的識別率Table 1 Recognition rate of different method on FGNET
在FGNET 中,受試者的年齡分布不均勻,并且與MORPH 中的年齡分布也不同,在FGNET 中,大約61%的樣本不到16 歲.但對于MORPH 數據集,所有人都超過16 歲.因此,有必要驗證所提方法在不同年齡分布下的表現.本文將FGNET 中的圖片按照年齡分成了0~4,5~10,11~16,17~24,25~69 五個年齡段,表2 給出了各年齡段的Rank-1識別率.

表2 本文方法在FGNET 數據庫上各個年齡段的識別正確率Table 2 Performance of our method on different age groups on FGNET
可以看出,本文方法在所有年齡組上均優于CNN 基線模型,表明年齡不變的特征能夠成功地從原始特征中分離并良好地表征.但我們注意到,在較小的年齡段中識別結果較低,這是因為在幼年時人的臉部輪廓和紋理變化較大,與成年時期相比面部特征構成有所差異.
MORPH Album 2 數據集包含了超過78 000幅人臉圖像和20 000 多個身份id.為了保證與其他方法進行對比的公平性,本文依據文獻[13,15]對訓練集和測試機的劃分,隨機選取10 000 個身份id 作為訓練集,余下的10 000 個身份id 作為測試集.測試集的每個身份id 中選取年齡跨度最大的兩幅照片,年齡較小的10 000 幅照片作為gallery 集,較大的作為prob 集,根據FG-NET 的實驗結果λ取0.5,實驗結果如表3 所示.

表3 不同方法在MORPH 數據庫上的識別率Table 3 Recognition rate of different method on MORPH
從表3 中我們可以得出以下結論:1)沒有微調的基線CNN 的結果僅74.73%,不如表3 中的其他結果,這表明CASIA-WebFace 數據集與MORPH Album 2 數據集中的圖片有明顯不同,CASIAWebFace 數據集不適合直接用來解決年齡不變問題.2)由MORPH Album 2 微調的CNN 基線模型可以達到96.77%的準確率,這表明卷積神經網絡內部具有非常強大的特征提取能力,但原始特征提取網絡所提取的特征本身包含了年齡因素的干擾,所以與其他方法相比沒有顯著優勢,因此設計一個不受年齡因素干擾的卷積神經網絡是有必要的.3)本文所提出的網絡模型在由MORPH Album 2 上的準確率達到了98.93%,相比于CNN 基線模型有明顯的提升,這表明使用估計任務來指導年齡不變的人臉識別任務是有用的,通過從原始特征中減去年齡特征,成功的得到了抗年齡干擾的身份特征.4)本文方法是建立在人臉分類和年齡回歸聯合訓練基礎之上的,而多任務聯合訓練也會影響模型正確率,因此為了進一步評估年齡因素對人臉識別帶來的干擾,驗證正確率的提升是本文的特征分離方法帶來的而不是聯合訓練所導致,本文設計了一組對比實驗,在用MORPH 數據集對原始特征提取網絡微調后,分別用本文所提的方法和僅基于聯合訓練的方法繼續訓練,結果顯示僅基于聯合訓練的方法正確率為97.10%.圖8 給出了訓練過程中年齡估計和面部識別的曲線圖,年齡估計采用訓練損失表示.從圖中可以看出僅采用聯合訓練的方式無法給識別正確率帶來明顯提升,正確率曲線在短時間內達到飽和.采用本文方法時,正確率有較大幅度上漲,并且人臉識別率曲線與年齡回歸損失曲線發生顯著變化的時間段基本吻合,說明隨著網絡對年齡的估計越來越準確,原始特征的分離也就越徹底,在排除了年齡干擾后,人臉識別率隨之提升.

圖8 識別正確率與年齡估計值的變化曲線Fig.8 The performance of age estimation and cross-age face recognition rate
最后,圖9 顯示了失敗檢索的一些示例.第1行為待測試的人臉圖像,第2 行對應識別結果,第3 行對應真實的結果.雖然在這些情況下Rank-1 檢索不正確,但待測圖像與識別結果的視覺相似性高于真實圖像.

圖9 MORPH Album 2 中部分識別錯誤的人臉圖像Fig.9 Some examples of failed retrievals in MORPH Album 2 dataset
本文提出了一種基于深度學習的抗年齡干擾的人臉識別方法,該方法將面部識別任務、年齡估計任務和網絡注意力機制結合到同一個深度模型中,使用Resnet-34-CBAM 提取整張人臉的特征,CBAM 注意力模型使得網絡所提取到的特征更具有針對性和完整性,隨后從整個特征中減去由年齡估計任務所得到的年齡因子以消除掉年齡因素對人臉識別帶來的干擾,最后使用基于角度損失函數的人臉識別方法對只包含身份信息的特征進行識別.本文方法在MORPH和FGNET 兩個數據庫上得到了理想的實驗結果,充分證明了該方法的有效性,此外,本文所引入的年齡因子也可替換為其他干擾因子(如表情、光照等),有望用來解決類似的類內干擾較大的人臉識別問題.