鄭 亮,陳 亞,陳小潘,鄭逢斌
河南大學 計算機與信息工程學院,河南 開封 475004
人臉識別[1]是計算機視覺研究領域的一個重要研究方向,基于人臉識別的算法已經廣泛應用到現實生活中。人臉圖像包含有大量的生物學特征,已有心理學和認知科學的研究表明[2-3],人臉是判斷親屬關系相似性的重要線索。基于人臉圖像或人臉視頻進行親屬關系驗證是計算機視覺領域一個重要且具有挑戰性的問題。親屬關系驗證是基于給定的人臉圖像或人臉視頻,通過對其特征進行分析來驗證這些圖像或視頻中的對象之間是否存在某種親屬關系。
人臉識別是親屬關系驗證的基礎,盡管目前機器學習用于人臉識別[4]的準確率已經高達99.81%[5],但親屬關系驗證和人臉識別之間存在著顯著的差異。人臉識別的對象是同一個人,同一個人的面部特征在短時期內通常變化不大;而用于親屬關系驗證的人臉圖像來自于不同的人,他們之間面部特征不可能是完全相同的。在不受約束的條件下采集的人臉圖像在姿態、光照、表情、年齡、性別、遮擋條件等方面通常存在較大差異。此外,親屬關系遺傳特性復雜,造成人臉外觀自身的多種變化,甚至出現不具有親屬關系的兩幅人臉圖像比具有親屬關系的兩幅人臉圖像更加相似的情形。針對以上問題,如何從人臉圖像中提取有鑒別力的特征是提高親屬關系驗證準確率的關鍵。
已有研究表明[6-8],分辨人臉主要是基于眼睛、鼻子、嘴部等關鍵部位。當基于人臉圖像判斷兩個人是否具有親屬關系時,利用這些關鍵部位提取有鑒別力的人臉特征是提高親屬關系驗證準確率的關鍵。
鑒于此,本文結合深度學習在特征提取上的優勢,提出了一種局部特征增強的方法用于親屬關系驗證,并針對親屬關系驗證任務展開了以下工作:
(1)針對局部特征提取任務,提出了局部特征注意力網絡(Local Feature Attention Net,LFA Net),并訓練使該模型能夠提取人臉局部關鍵特征。
(2)基于ResNet[9]改進并提出了殘差驗證網絡(Res-Verification Net,RVF Net),引入Family ID信息輔助進行親屬關系驗證。設計了用于親屬關系驗證的目標損失函數,優化網絡的參數,提高親屬關系驗證的準確率。
(3)使用LFFEV Net進行親屬關系驗證,將人臉圖像和由LFA Net提取到的局部關鍵特征輸入到Res-Verification Net中,在特征空間中進行相似性度量,使得具有親屬關系的正樣本之間距離更近,負樣本之間距離更遠,最終得到驗證結果。
2010年,Fang等[10]首次基于人臉圖像來進行親屬關系驗證,其主要通過提取圖像中人臉關鍵部位的灰度值和直方圖等特征信息,再借助于最鄰近法和支持向量機進行人臉親屬關系驗證。一般說來,親屬關系驗證方法主要分為兩類:基于特征的方法[11]和基于模型的方法[12-14]。基于特征的方法主要借助于人工特征描述符或者特征學習方法來提取有鑒別力的面部圖像特征進行親屬關系驗證。目前廣泛采用的特征表述方法主要有梯度直方圖[15]、LBP[12]、尺度不變特征[13,16]等。Zhou等[17]針對不受約束條件下的親屬關系驗證問題,提出了一個新的基于空間金字塔學習(SPLE)的特征算子。基于模型的方法通常采用統計學習的方法來學習到一個有效的分類器或者距離度量進行親屬關系驗證,例如度量學習[12-13]、遷移學習[18]、多核學習[19]。Lu等[20]提出鄰域排斥度量學習方法,該方法通過學習獲得一個度量,使得具有親屬關系的樣本距離盡可能變小,不具備親屬關系的樣本在特征空間中距離盡可能增大。Zhou等[21]提出了可擴展相似度學習方法(Scalable Similarity Learning,SSL),借助于在線截斷梯度學習來學習一個對角雙線性相似模型,針對具有高維度數據的親屬關系數據集在擴展性和計算效率上都有優勢。Lu等[22]提出了緊湊的二值人臉向量用于人臉識別,在識別精度上取得了較好的結果。隨著深度學習在人臉識別、人臉檢測等領域的成功應用,學者們開始嘗試使用深度學習的方法進行親屬關系驗證。Zhang等人[23]設計了利用深層卷積神經網絡提取高層特征的框架進行親屬關系驗證。Zhou等[24]設計了一個自適應網絡(KinNet),在有監督的度量學習框架中使用帶標簽數據有限的親屬關系數據集中學習一個魯棒的跨代親屬關系度量。Nandy等[25]使用了深度孿生網絡對親屬關系進行驗證,充分利用卷積神經網絡良好的表征和學習能力,有效提高了識別準確率和識別速度。深度學習方法的應用往往依賴較大的數據量,而親屬關系驗證數據集規模一般很有限,易導致過擬合。因此,本文研究如何利用有限規模的數據集,借助于深度學習的方法獲得更具鑒別力的特征,提高親屬關系驗證的準確率。
近年來,注意力機制被廣泛應用在深度學習領域,取得了令人鼓舞的成果。例如卷積注意力模塊CBAM[26]將給定的特征圖,沿著空間和通道兩個維度推斷出注意力圖,然后將注意力圖與輸入特征圖相乘,加強重要空間和通道的關注,提升特征表達能力。Mnih等[27]將注意力機制應用到計算機視覺研究領域,并首次將注意力網絡與循環神經網絡(RNN)相結合,按照時間順序處理輸入圖像,一個時間段只處理某一個局部區域,依次將得到的局部信息融合形成圖像的動態特征表示,以提高模型的計算性能。Wang等[28]利用殘差結構可堆疊的特點,將注意力模塊與殘差網絡結合,解決了單純堆疊注意力模塊而導致的網絡結構層次過深產生過擬合的問題。
本文設計了一種人臉局部特征增強驗證網絡LFFEV Net(Local Facial Feature Enhancement Verification Net),由能夠對人臉局部特征增強的LFA Net和驗證親屬關系的RVE Net兩部分組成,整體網絡結構如圖1所示。

圖1 LFFEV Net模型結構圖Fig.1 Structure of LFFEV Net
具有親屬關系的父母和子女在左眼、右眼、鼻子、嘴部等4個關鍵部位上表現出很強的相似性,利用這些關鍵區域的特征能夠提高親屬關系驗證的精度。鑒于此,本文設計了局部特征注意力網絡(LFA Net)來獲取人臉圖像的局部關鍵特征,主要包括構造局部特征圖像和重構局部關鍵特征兩個步驟。
(1)構造局部特征圖像
首先利用人臉檢測算法MTCNN[29]獲取人臉圖像的左眼、右眼、鼻子和左、右嘴角的坐標,嘴部取左右嘴角坐標的中心位置坐標,最終得到4個關鍵部位中心點。以4個中心點為基準,設定人臉圖像的保留區域,并將保留區域以外的像素值設為零。其中,眼睛保留區域大小25×15,鼻子保留區域大小20×20,嘴部保留區域大小35×15,預處理人臉圖像的過程如圖2所示。

圖2 提取人臉局部特征圖像Fig.2 Extracting local features of face
(2)重構局部關鍵特征
目前用于親屬關系驗證的數據集中的人臉圖像分辨率不高,而且部分存在遮擋和姿態變化,使得部分人臉圖像中的關鍵特征點通過人臉檢測模型無法被全部檢測到或檢測到的特征點存在較大的誤差,進而導致基于這些關鍵特征點獲取的局部特征圖像不準確。因此設計了LFA Net模型來獲取圖像局部關鍵特征。
具體來說,從上一步提取的局部特征圖像中選取關鍵部位準確的局部特征圖像,連同它們對應的原始圖像一起作為訓練集來訓練LFA Net模型,使模型具有更好獲取人臉圖像的局部關鍵特征的能力,最終用訓練好的LFA Net模型重構其他圖像的局部關鍵特征。模型的基本結構如圖3所示。LFA Net對原始圖像進行卷積、池化、反卷積、去池化等操作得到與原圖像大小相同的特征。最后將得到的局部關鍵特征與人臉檢測模型得到人臉局部特征圖像使用均方誤差(Mean Squared Error,MSE)損失函數優化網絡參數。MSE損失函數如公式(1)所示:

其中,y表示經過LFA Net生成的局部關鍵特征所對應特征,y′表示構造的局部特征圖像經過歸一化和通道轉換后得到的特征,n為輸入數據的batch-size大小。

圖3 LFA Net模型結構圖Fig.3 Structure diagram of LFA Net model
LFA Net的網絡結構參數如表1所示,除最后一層反卷積層外,其余每一個卷積層和反卷積層操作后均使用ReLU函數[30](Rectified Linear Unit)作為激活函數,并且使用了批標準化(Batch Normalization)對輸出結果進行歸一化處理,使用池化層對特征進行壓縮,去池化層對特征尺寸進行還原,最終得到與輸入圖像相同維度和尺寸的局部關鍵特征。
2.2.1 網絡結構
現有的親屬關系數據集大多僅利用親屬關系標記信息,而較少考慮家庭標記信息。為使學習的特征有更好的表達能力,本文在數據集中引入Family ID信息,具體來說具有親屬關系的一對人臉圖像分別標記相同的Family ID,而不具備親屬關系的一對人臉圖像分別標記不同的Family ID。

表1 LFA Net網絡結構參數Table 1 Parameters of LFA Net model structure
為了驗證兩個樣本之間的親屬關系,構建了深度殘差驗證網絡RVF Net,模型結構如圖4所示。網絡使用共享權值的兩個分支分別提取父母和孩子的人臉圖像的特征。RVF Net采用了殘差卷積結構作為提取特征的主干網絡,提取到的深度特征分成兩組來處理。一組將特征結合Family ID進行輔助訓練,將特征分類到不同的家庭;另一組將提取的特征通過組合運算和拼接的方式進行融合,然后將融合后的特征輸入到一個全連接層構成的鑒別器中,得到相似度評分,通過設置閾值t,獲得最終親屬關系的預測結果。具體來說評分如果大于閾值則表明二者有親屬關系,否則無親屬關系,定義如公式(2)所示:

RVF Net中每層網絡的構成如表2所示,其中卷積層默認步長為1,padding設置為1。在每層卷積層、Fc1和Fc2之后都增加了ReLU作為激活函數,使用Batch Normalization層對數據進行歸一化處理。為避免過擬合,在Fc1和Fc2之后增加了Dropout[31]層。Fc(ID)層用來進行Family ID分類,Fc3層用來進行親屬關系驗證。

表2 RVF Net網絡結構參數Table 2 Parameters of RVF Net
2.2.2 損失函數
將由RVF Net中殘差卷積結構提取的深度特征輸入到兩個分支,在第一個分支中,根據不同的Family ID標簽,使用Center loss[32]在特征空間中對樣本進行距離劃分,使不同Family樣本之間具有離散性,同時也使相同Family樣本之間具有緊湊性。Center loss的定義如公式(3)所示:

圖4 RVF Net結構圖Fig.4 Structure diagram of RVF Net

其中,n表示batch-size的大小,cyi表示第yi個類別的特征中心,xi表示輸入特征。距離劃分后將深度特征轉化為1維,輸入到分類器中,得到樣本預測的Family ID,用真實Family ID作為標簽,使用Family-Cross-Entropy loss(FCE loss)訓練網絡,FCE loss定義如公式(4)所示:

C為類別總數,n為batch-size大小,yj,m表示一個batch-size中第j個樣本預測為家庭m的值,yj,k是該樣本被預測為真實家庭k的預測值。
深度特征輸入到第二個分支進行親屬關系驗證,第二個分支由3個全連接層構成,用Sigmoid函數進行二分類,結合真實親屬關系標簽,使用親屬關系損失函數(Kin loss)優化網絡。Kin loss定義如公式(5)所示:

其中,zi是親屬關系標簽(有親屬關系為1,否則為0),pi為通過網絡得到的兩張圖像的相似度分數,n為batch-size大小。
網絡的損失函數定義為這三個損失函數的加權值之和,如公式(6)所示:

其中,λ1、λ2、λ3為損失函數的權重,根據實驗進行動態調節。
LFFEV Net由LFA Net和RVF Net組成,其中LFA Net網絡參數已通過預訓練完成,在訓練LFFEV Net之前,需將LFA Net網絡參數載入,使用Center loss+FCE loss+Kin loss優化網絡。將數據輸入到LFFEV Net網絡中,增強圖像中人臉局部特征信息,經過網絡處理,得到相似度評分,如果評分超過閾值t,則判斷為具有親屬關系,否則不具有親屬關系。
本章進行了一系列實驗來驗證本文算法的有效性。
本文使用KinFaceW[20]數據集進行實驗驗證,該數據集由KinFaceW-I和KinFaceW-II兩個子集構成。數據集中的圖像來源于互聯網,包括一些公眾人物及其子女的照片。人臉圖像是在不受約束的環境下采集的。此外,人臉圖像均已按照眼睛的坐標進行對齊并做了裁剪處理,圖像大小為64×64,KinFaceW-I數據集中部分數據及其親屬關系如圖5所示。

圖5 KinFaceW-I部分圖像Fig.5 Several image examples of KinFaceW-I
KinFaceW-I數據集:該數據集包含4種不同親屬關系的圖像:父親和女兒(FD),父親和兒子(FS),母親和女兒(MD),母親和兒子(MS)。這四種關系的圖像對數分別為134、156、127、116,共計1 066張圖像。該數據集中每對人臉圖像均采集于不同的照片,因此圖像的光照、清晰程度有些許差異。
KinFaceW-II數據集:由4種親屬關系構成,每種親屬關系包含250對圖像,數據集中總共有2 000張圖像。該數據集中每對人臉圖像均采集于同一張照片。
LFA Net模型基于Pytorch實現,使用KinFaceW-II數據集中原始圖像和經過關鍵部位提取處理后的圖像作為訓練數據,對LFA Net進行預訓練,網絡優化器選用Adam,學習率設置為0.01,權值衰減設置為0.005,batch-size設置為32,損失函數使用BCE loss,迭代次數為200次。
LFFEV Net模型的優化器選用Adam,學習率設置為0.000 03,權值衰減設置為0.005,損失函數使用Center loss+FCE loss+Kin loss,其權重λ1、λ2、λ3分別為0.000 1、1、10。使用交叉驗證方法,將數據集盡可能等分成5折,其中4折用來訓練,1折用來測試。每折由相同數量的正樣本和負樣本構成,正樣本是一對有親屬關系的父母和孩子,負樣本是由在本折中的不具有親屬關系的樣本隨機組合構成。進行5次實驗,每次實驗迭代次數為300次,閾值t設置為0.5。每次實驗都會得出相應的準確率,最后將5次實驗結果取平均值作為最終的實驗結果。
本文進行了四組對比實驗,并將四組實驗結果進行比較。第一組實驗命名為“RVF-only”,在這組實驗中,去掉了LFFEV Net中的LFA Net,使用RVF Net進行親屬關系驗證,輸入數據為原始圖像和3張由原圖像轉換的灰度圖像。第二組實驗命名為“LFA-only”,使用RVE Net網絡,輸入數據只有經過LFA NET提取的人臉局部關鍵特征。第三組實驗命名為“LFFEV-noID”,在這組實驗中使用LFFEV Net完整網絡,但沒有使用Family ID,訓練時沒有使用Center loss和FCE loss對網絡進行優化,輸入數據為原始圖像和3張對應灰度圖像。第四組使用整個LFFEV Net,同時結合Family ID,使用Center loss和FCE loss對網絡進行優化,輸入數據為原始圖像和3張灰度圖像。將四組實驗結果進行比較,表3和表4分別為KinFaceW-I和KinFaceW-II的測試結果。

表3 比較不同實驗在KinFaceW-I數據集準確率Table 3 Comparison of accuracy using different models on KinFaceW-I Dataset %

表4 比較不同實驗在KinFaceW-II數據集準確率Table 4 Comparison of accuracy using different models on KinFaceW-II Dataset%
從表3和表4可以看出,同一性別的驗證準確率要高于不同性別的準確率,如FS準確率要高于FD,MD的準確率要高于MS。人臉圖像取自同一張照片的驗證準確率高于取自不同照片,如在KinFaceW-II上的驗證準確率要高于KinFaceW-I上的驗證準確率。同時通過實驗可以得出:
(1)“RVF-only”實驗使用RVF Net驗證網絡,未對人臉局部特征進行增強,在KinFaceW-I和KinFaceW-II的平均準確率為72.2%與80.3%。
(2)僅以LFA Net所提取的人臉的局部關鍵特征作為網絡輸入時,“LFA-only”實驗得到的準確率分別為70.0%和66.7%。
(3)使用整個LFFEV Net,但未使用Family ID對網絡進行優化的情況下,“LFFEV-noID”實驗結果分別為77.8%和82.4%。引入Family ID信息之后,“LFFEV”實驗結果分別達到79.0%和85.0%。
實驗“RVF-only”與“LFFEV”對比可以看出,使用LFA Net對局部特征進行增強后,在兩個數據集上準確率分別提升了6.8個百分點和4.7個百分點。“LFA-only”和“LFFEV”實驗表明,單獨使用局部關鍵特征作為輸入,模型具有一定的親屬關系驗證能力,但是準確率較低。通過實驗“LFFEV-noID”和“LFFEV”可以看出,引入Family ID后,準確率分別提升了1.2個百分點和2.6個百分點。
實驗結果表明,加入LFA Net后,通過對人臉局部特征增強,能夠提取到更具有鑒別力的人臉特征,準確率提升效果較為顯著。此外,引入Family ID標簽用于優化類內以及類間距離,準確率有所提升。綜上所述,LFA Net提取的人臉局部特征和使用Family ID信息有利于算法性能的提升。
為進一步驗證算法的有效性,將本文提出的算法與LMBC[33]、IML[34]、MNRML[20]、MPDFL[35]、DMML[34]、KV-CNN[36]等算法進行了比較。如表5和表6所示,提出的LFFEV模型在FS、FD、MD、MS四個子數據集上的準確率都有了較為明顯的提升,與準確率最接近的KVCNN方法相比,在KinFaceW-I數據集上平均準確率增幅最少為5.7個百分點,在KinFaceW-II數據集上平均準確率增幅最少為3.8個百分點。

表5 比較不同算法在KinFaceW-I的準確率Table 5 Comparison of accuracy with other methods on KinFaceW-I Dataset %

表6 比較不同算法在KinFaceW-II的準確率Table 6 Comparison of accuracy with other methods on KinFaceW-II Dataset%
本文提出了一種基于深度學習和人臉局部特征增強的親屬關系驗證方法。該方法設計了人臉局部特征增強驗證網絡LFFEV Net,利用人臉的關鍵局部特征來提取更具鑒別力的人臉特征用于親屬關系驗證。同時,引入Family ID信息使得模型學習到更好地表征家庭信息特征,進一步提升算法準確率。算法在公開數據集KinFaceW上進行了測試,實驗結果表明,使用LFFEV Net進行親屬關系識別能提高驗證的準確率。
未來將嘗試從不同尺度對局部特征進行增強,并探討具備學習能力的注意力機制來確定每個尺度特征的權重,進一步提升算法的性能。