孫燕,李旭軍,何啟泓
(湘潭大學(xué) 物理與光電工程學(xué)院,湖南 湘潭 411105)
年齡因素導(dǎo)致人臉識別準(zhǔn)確率降低,如何抑制年齡因素是人臉識別技術(shù)中的關(guān)鍵。在2015年,Chen等[1]將一般的人臉識別模型應(yīng)用在跨年齡人臉識別任務(wù)中,研究結(jié)果顯示準(zhǔn)確率降低13%以上,直接說明了年齡的變化會降低人臉識別率。目前跨年齡人臉識別研究主要分為三類:生成方法、判別方法和基于深度學(xué)習(xí)的方法[2-6]。生成方法先構(gòu)建一個模擬人臉老化或者年輕化的生成模型,在人臉匹配階段,生成目標(biāo)年齡的人臉,以此來降低年齡因素對人臉識別的影響。該方法需要準(zhǔn)確的數(shù)據(jù)標(biāo)簽和先驗參數(shù)假設(shè),對非受限環(huán)境敏感,生成的圖像會增加噪聲,影響匹配結(jié)果[7-9]。判別方法先提取出隨年齡變化穩(wěn)定的人臉特征,再進(jìn)行人臉識別。2013年,Gong等[10]提出了一種隱藏因子分析(HFA)的方法,該方法分別提取年齡相關(guān)的人臉特征以及不隨年齡變化的穩(wěn)定特征,對這兩個特征建模,然后用期望最大化(EM)算法估計參數(shù),以此實現(xiàn)跨年齡的人臉識別。2016年,Gong等[11]又提出了一種最大熵特征描述符(MEFD)的方法,該方法根據(jù)最大熵將面部圖像的微觀特征編碼為一組離散代碼,通過密集采樣編碼的面部圖像,提取大量具有區(qū)分性和表達(dá)性的信息,進(jìn)一步對跨年齡人臉特征進(jìn)行分析。2017年,Xu等[12]依據(jù)年齡變化是一種非線性變換,提出了一種耦合自動編碼器網(wǎng)絡(luò)(CAN)的方法,由兩個淺層神經(jīng)網(wǎng)絡(luò)組成,適用于復(fù)雜的非線性老化過程。由于卷積神經(jīng)網(wǎng)絡(luò)具有從原始特征中端到端學(xué)習(xí)非線性特征的優(yōu)勢[13-14],基于深度學(xué)習(xí)的跨年齡人臉識別方法相繼提出。Wang等[15]提出正交嵌入卷積神經(jīng)網(wǎng)絡(luò)模型(OECNN),該方法將面部特征分解成兩個正交分量,分別表示年齡特征和身份特征,以實現(xiàn)跨年齡人臉識別。Wen等[16]提出了一種并行的卷積神經(jīng)網(wǎng)絡(luò)模型(LF-CNN)學(xué)習(xí)年齡不變的人臉特征,并且提出了LIA分析法進(jìn)行參數(shù)更新,代替了傳統(tǒng)梯度下降法。
本文基于判別方法提出一種跨年齡人臉驗證網(wǎng)絡(luò)模型,首先改進(jìn)LBP算法,提出雙編碼平均局部二值模式算法(DCALBP)。該算法使用鄰域像素的平均值與中心像素的差值以及差值的絕對值作為差值閾值和幅度閾值,可減少光照和高頻噪聲對像素值的影響,同時豐富紋理特征信息,降低特征維度。以3×3像素塊為例,將8點采樣降為4點采樣,編碼數(shù)量從28=256降為24=16。之后采取多任務(wù)方式,應(yīng)用CCA算法融合DCALBP和HOG提取的人臉紋理形狀特征,得到一維的年齡特征信息。另外,本文引入孿生網(wǎng)絡(luò)(siamese network)進(jìn)行特征匹配,從網(wǎng)絡(luò)提取的特征中分離出年齡特征信息,得到具有年齡不變性的人臉特征,從而完成跨年齡人臉驗證任務(wù)。
局部二值模式(LBP)是一種描述圖像局部紋理特征的算子[17],以中心像素灰度值為閾值,相鄰像素的灰度值與其比較,若鄰域像素灰度值大于等于閾值,記為1,反之記為0。對其結(jié)果進(jìn)行編碼,得到相應(yīng)的二進(jìn)制數(shù),轉(zhuǎn)為十進(jìn)制,作為該點的LBP編碼值,用來表示這個區(qū)域的紋理信息。LBP編碼公式如下:
式中:(xc,yc) 是中心像素點;ic表示中心像素點的灰度值;N表示鄰域像素點的個數(shù);ip(p=0,1···p-1)表示鄰域像素點的灰度值。以 3×3 像素窗口為例 ,LBP計算過程如圖1所示。
圖 1 LBP編碼算子Fig. 1 LBP encoded operator
傳統(tǒng)LBP只考慮了鄰域像素灰度值與中心像素灰度值之間的關(guān)系,沒有考慮鄰域像素灰度值之間的影響。針對這一問題,后來有研究者提出一種中心對稱局部二值模式(CS-LBP),即設(shè)置一個閾值T,將中心對稱的兩個鄰域像素灰度值相減,與閾值T相比較,大于等于T取1,反之取0。編碼公式為
式中:R表示區(qū)域半徑(R=1);N表示鄰域像素點個數(shù)(N=8);ip表示鄰域像素點p(p=0,1,···,7) 灰度值;T為閾值。
傳統(tǒng)LBP方法和改進(jìn)后的CS-LBP算法,都是8點采樣,且CS-LBP算法中閾值為預(yù)設(shè)值,需要根據(jù)先驗知識進(jìn)行設(shè)置,很難定義一個合適的閾值。本文提出的DCALBP方法將采樣點降低到4個,減少特征向量的維度,同時考慮了光照變化不均勻時對像素的影響,采樣點的灰度值用相鄰像素點和自身灰度值的平均值代替,引入兩個閾值變量,分別為差值閾值d和幅度閾值t,兩個變量的計算公式為
其中,N 表示采樣點的個數(shù);ic表示中心像素點的灰度值; i2p+1(p=0,1,2···) 表示采樣點的灰度值。
為了提取出豐富的面部紋理信息,DCALBP采用雙編碼的方法。取采樣點與中心像素點灰度值的差值,差值大于等于閾值 d,編碼為1,反之為0,得到第一位編碼值。第二位編碼值與采樣點與中心像素灰度值的絕對值有關(guān),絕對值大于等于 t,編碼為1,反之為0。編碼公式如下:
其中S(1)和S(2)分別表示 S(ip,ic) 編碼中的第一位和第二位編碼值。以3×3的窗口,采樣點為4(N=4) 為例,DCALBP編碼過程如圖2所示。
圖 2 DCALBP雙編碼Fig. 2 DCALBP dual-encoded
首先求取4個采樣點的灰度值,灰度值取整,根據(jù)式(5),差值閾值為(31-50)+(43-50)]=-2.75,根據(jù)式(6),幅度閾值由式(7)、(8),得到DCALBP編碼值。由于二值編碼模式經(jīng)循環(huán)位移后會產(chǎn)生不同的編碼結(jié)果,為了保證算法的旋轉(zhuǎn)不變性,取最小值為DCALBP的值。圖2中,循環(huán)移位后二值編碼分別為:(10110100)2=(180)10,(00101101)2=(45)10,(01001011)2=(75)10,(11010010)2=(210)10,取最小值,故該像素點的 DCALBP值為45。
典型相關(guān)性分析(canonical correlation analysis,CCA)用來挖掘兩個來自于同一個體的多維數(shù)據(jù)之間的聯(lián)系[18]。CCA將多維向量X和Y通過線性變換為U和V,計算U和V之間的相關(guān)系數(shù),從而得到二者的相關(guān)性。該算法將兩組特征向量的典型特征作為有效特征,既達(dá)到特征融合的目的,又消除了特征向量之間的信息冗余,同時起到降維的作用。在本研究中,首先應(yīng)用DCALBP和HOG算法分別提取人臉紋理特征和形狀特征向量,用X、Y表示,然后引入CCA算法將兩組向量通過線性變換投影到一維空間,求出投影向量a和b,使得 U =aTX和V=bTY 之間的相關(guān)系數(shù) C oor(U,V) 最大。向量X和Y的協(xié)方差矩陣為,表示X的協(xié)方差矩陣;表示X和Y的互協(xié)方差矩陣;,表示Y的協(xié)方差矩陣。先求出U=aTX和 V=bTY 的方差和協(xié)方差,有:
然后求U和V的相關(guān)系數(shù):
此時,問題轉(zhuǎn)化為,求解出投影向量a、b,使得相關(guān)系數(shù) ρ 最大。分母固定,求解分子最大值,即:令aTΣXXa=1,bTΣYYb=1, aTΣXYb 最大,構(gòu)造拉格朗日等式,有:
求導(dǎo)得出:
令導(dǎo)數(shù)為0,則有:
由此求出 λ =θ=aTΣXYb,對式(15)進(jìn)一步簡化,有:
轉(zhuǎn)化成矩陣的形式,即:
人臉驗證任務(wù)的目的就是比較兩幅輸入人臉圖片的匹配程度,因此需要構(gòu)建一個卷積神經(jīng)網(wǎng)絡(luò),實現(xiàn)圖像對輸入、輸出兩幅圖片的相似度量值。在2005年,Chopra[19]提出了一種用于圖片匹配的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),稱之為孿生網(wǎng)絡(luò)(Sia-mese Network),該網(wǎng)絡(luò)通過兩個共享權(quán)值的卷積神經(jīng)網(wǎng)絡(luò)(CNN)提取特征,再進(jìn)行特征匹配。在本文的網(wǎng)絡(luò)結(jié)構(gòu)中,對Siamese Network進(jìn)行了改進(jìn),把CNN結(jié)構(gòu)替換為ResNet,該結(jié)構(gòu)在2015年被何凱明團(tuán)隊提出[20],由多個殘差塊組成,結(jié)構(gòu)中使用了“shortcut connection”的連接方式,很好地解決了深層網(wǎng)絡(luò)中梯度彌散和訓(xùn)練困難的問題。整體的模型流程圖如圖3所示。
圖 3 RS-CNN模型流程圖Fig. 3 Architecture of the RS-CNN
首先構(gòu)建一個映射函數(shù)GW(X),把輸入圖片T1、T2作為參數(shù)自變量,輸出得到特征向量GW(T1)、GW(T2),分離出年齡特征向量,得到兩組年齡無關(guān)的特征向量進(jìn)行相似度量,通過反向傳播,不斷優(yōu)化網(wǎng)絡(luò)參數(shù),使得兩張同一人臉圖片的距離相似度量值最小化,兩張不同人臉圖片的距離相似度量值最大化,以此來實現(xiàn)人臉驗證。其計算過程為
式中:X表示紋理特征;Y表示輪廓特征;a和b是CCA算法中的投影向量;f(x) 即是X和Y特征融合后的年齡特征向量。h(x) 表示輸入圖像的整個人臉特征,μ 表示年齡特征向量的權(quán)值,經(jīng)過實驗驗證,當(dāng)μ=0.72 時,實驗結(jié)果最優(yōu)。g(x) 表示特征分離得到的與年齡無關(guān)的人臉特征向量,EW(g(x)) 為相似性度量函數(shù),表示圖片對的匹配程度。引入損失函數(shù)Contrastive Loss,通過反向傳播不斷更新網(wǎng)絡(luò)的權(quán)值,降低損失值,優(yōu)化網(wǎng)絡(luò)性能。損失函數(shù)表達(dá)式如下:
本次實驗所使用的數(shù)據(jù)集有3種,分別是FG-NET數(shù)據(jù)集、MORPH2數(shù)據(jù)集以及從FGNET數(shù)據(jù)集、MORPH2數(shù)據(jù)集中按照實驗所需選擇圖片構(gòu)成一個綜合數(shù)據(jù)集。綜合數(shù)據(jù)集年齡跨度為0~62歲,包括13 040人52 840張照片,正樣本為同一人不同年齡段的圖像對,負(fù)樣本為兩類,一類是不同人同一年齡段的圖像對,一類是不同人不同年齡段的圖像對。其中訓(xùn)練集包括30 000個圖像對,驗證集包括4 000個圖像對,測試集包括4 000個圖像對。每個圖像對有對應(yīng)的標(biāo)簽,1表示正樣本,0表示負(fù)樣本。3個數(shù)據(jù)集的年齡段占比分布如圖4所示。
圖 4 數(shù)據(jù)集年齡分布Fig. 4 Data set age distribution
2.1.1 數(shù)據(jù)預(yù)處理
采用MTCNN檢測人臉關(guān)鍵點,通過相似性變換實現(xiàn)人臉對齊,檢測出人臉區(qū)域,統(tǒng)一將輸入圖片像素大小裁剪為224×224。為了防止過擬合,在訓(xùn)練的過程中為保證樣本的多樣性,采用在線數(shù)據(jù)增強(qiáng)的方式,對訓(xùn)練集數(shù)據(jù)進(jìn)行隨機(jī)翻轉(zhuǎn)、水平鏡像、亮度變換的操作,最后對圖片數(shù)據(jù)歸一化,歸一化區(qū)間為[-1,1]。
2.1.2 實驗參數(shù)設(shè)置
本實驗?zāi)P褪褂玫目蚣転镻ytorch框架,batch_size設(shè)為64,學(xué)習(xí)率預(yù)設(shè)為0.01,實驗過程中防止學(xué)習(xí)率過大帶來模型振蕩的問題,采用Warmup Learning的方法對學(xué)習(xí)率進(jìn)行處理,訓(xùn)練開始使用較小的學(xué)習(xí)率,設(shè)為0.000 1,迭代訓(xùn)練3次后,學(xué)習(xí)率恢復(fù)為預(yù)設(shè)值,之后每迭代50次,學(xué)習(xí)率下降1/10,迭代次數(shù)設(shè)為200,動量因子設(shè)為0.9。
2.2.1 在FG-NET數(shù)據(jù)集上的實驗結(jié)果
FG-NET數(shù)據(jù)集包含82個人1 002張不同年齡段的面部圖像,年齡范圍在0~69周歲,其年齡段分布如表1所示。
表 1 FG-NET數(shù)據(jù)集年齡分布Table 1 FG-NET data set age distribution
18歲以下的人臉圖像占據(jù)該數(shù)據(jù)集的61%以上,而人臉輪廓紋理變化最大的便是嬰幼兒到青少年時期,此數(shù)據(jù)集給人臉驗證算法帶來了很大的難度,因此要對數(shù)據(jù)進(jìn)行更加科學(xué)的處理。訓(xùn)練集選取了60個人不同年齡段的照片,從每個年齡段中選取圖片組成正樣本圖像對和負(fù)樣本圖像對,如表2所示。不同方法在FG-NET數(shù)據(jù)集上的實驗結(jié)果如表3所示。
表 2 正負(fù)樣本組合方式Table 2 Positive and negative sample combination method
表 3 不同方法在FG-NET數(shù)據(jù)集上的識別率Table 3 Recognition rate of different method on FGNET
2.2.2 在MORPH2數(shù)據(jù)集上的實驗結(jié)果
MORPH2收錄了同一個人在不同年齡段的圖片。該數(shù)據(jù)集包括13 000個人的55 134張圖片,人物年齡跨度為16~77歲。訓(xùn)練集選取6 000人不同年齡段的照片,正樣本為每個人年齡跨度最大的兩張圖片,即6 000個樣本對,負(fù)樣本為6 000人中不同人不同年齡的兩張圖片,也組成6 000個樣本對。驗證集為不包括訓(xùn)練集的3 000人的數(shù)據(jù)集,測試集為不包括訓(xùn)練集和驗證集的4 000人樣本對,正負(fù)樣本對的選取方式和訓(xùn)練集相同。不同方法在MORPH2上的實驗結(jié)果如表4所示。
2.2.3 在綜合數(shù)據(jù)集上的實驗結(jié)果
FG-NET數(shù)據(jù)集數(shù)量少,且18歲以下的數(shù)據(jù)量占據(jù)整個數(shù)據(jù)集的60%以上,MORPH數(shù)據(jù)集數(shù)據(jù)量足夠,但是不包含幼兒時期的數(shù)據(jù),且兩個數(shù)據(jù)集中60歲以上的數(shù)據(jù)呈現(xiàn)個位數(shù)的情況,為了提高算法的魯棒性和泛化性,對兩個數(shù)據(jù)集進(jìn)行整理,整合成一個包含13 040人52 840張照片的數(shù)據(jù)集,年齡跨度為0~77,表5是本文提出的方法在綜合數(shù)據(jù)集上的實驗結(jié)果。
表 4 不同方法在MORPH2數(shù)據(jù)集上的識別率Table 4 Recognition rate of different method on MORPH2
表 5 本文不同方法組合在綜合數(shù)據(jù)集上的識別率Table 5 Recognition rate of different method combinations on the comprehensive data set
本文提出了一種基于深度學(xué)習(xí)算法與傳統(tǒng)圖像算法相融合的跨年齡人臉驗證方法,該方法分別提取人臉特征信息和年齡特征信息,并通過特征分離得到具有年齡不變性的人臉特征。為了更好地匹配人臉特征,本文利用孿生網(wǎng)絡(luò)的結(jié)構(gòu)特性,對人臉特征進(jìn)行相似性度量,判定匹配程度,得到跨年齡人臉驗證結(jié)果。為了驗證算法的魯棒性,在FG-NET、MORPH以及兩個數(shù)據(jù)集的綜合數(shù)據(jù)集上進(jìn)行實驗,得到理想的效果,驗證了此方法的有效性。