張 德, 哈 曼
(北京建筑大學(xué) 電氣與信息工程學(xué)院&建筑大數(shù)據(jù)智能處理方法研究北京市重點實驗室, 北京 100044)
人臉圖像包含了許多重要信息,如性別、種族、年齡、身份、表情以及頭部姿態(tài)等各種可感知信息。與人臉圖像緊密相關(guān)的分析處理和識別估計等技術(shù)已經(jīng)發(fā)展為計算機視覺和模式識別等技術(shù)領(lǐng)域的重要研究課題。人臉年齡預(yù)測是其中的一個主要研究方向,指從包含有人臉的圖像中判斷和估計該人臉相應(yīng)的年齡?;谌四槇D像的自動年齡預(yù)測在人機交互、未成年人身份信息識別以及安全監(jiān)控等信息技術(shù)領(lǐng)域中都具有廣闊的應(yīng)用和研究前景[1-2]。
基于人臉圖像的年齡預(yù)測或者估計問題一般通過對人臉圖像特征隨著年齡變化的規(guī)律進行建模來解決,可以使用統(tǒng)計學(xué)習(xí)或者機器學(xué)習(xí)的方法進行建模。然后基于建立的模型,計算機或者計算機類的機器能夠計算和推測出人的大概年齡或所屬的年齡范圍。年齡預(yù)測屬于比較特殊的模式識別問題,有2個方面的原因。其一,每個年齡值可以是一個類別,所以年齡預(yù)測可以被看作分類問題去研究;其二,由于年齡的增長是一個數(shù)列的有序變化過程,所以也可以被看作回歸問題。
與人臉識別、表情識別等人臉圖像相關(guān)研究比較,人臉年齡預(yù)測研究起步較晚,但近年來,逐年呈現(xiàn)上升趨勢。在分類模式方面,朱明等[3]提出一種基于改進混合蛙跳算法的支持向量機(Support Vector Machine,SVM)訓(xùn)練算法,用于人臉年齡的分類;趙軍等[4]把字典學(xué)習(xí)應(yīng)用于年齡分類,從人臉區(qū)域提取主要特征和次要特征,并分別進行訓(xùn)練,提出了一種加權(quán)字典對學(xué)習(xí)的年齡估計方法;梁曉曦等[5]同時考慮了人臉的全局特征和關(guān)鍵局部特征,使用神經(jīng)網(wǎng)絡(luò)方法進行年齡分類。在回歸模式方面,曾雪強等[6]使用標準差自適應(yīng)生成不同標準差的年齡離散高斯分布,然后使用偏最小二乘回歸建立人臉年齡預(yù)測的回歸模型;房國志等[7]通過結(jié)合多尺度特征回歸和卷積神經(jīng)網(wǎng)絡(luò),并訓(xùn)練和構(gòu)造決策樹進行人臉年齡預(yù)測,也可以基于分類和回歸混合模型進行人臉年齡估計;趙一丁等[8]提出年齡段重疊區(qū)域的思路,并針對不同的年齡段分別使用分類或者回歸模型,然后在重疊區(qū)域進行均值融合,取得了較低的年齡預(yù)測誤差。
考慮到支持向量機在分類方面有很好的優(yōu)勢和應(yīng)用,后來被推廣到用于解決回歸問題,在小樣本的情況下支持向量機不僅算法簡單,而且具有較好的魯棒性[9]。另外,對于年齡估計研究而言,由于難以獲得同一個人從出生到少年、青年,再到中年、老年時期的人臉圖像,人臉年齡數(shù)據(jù)庫規(guī)模相對來說比較小。因此,本文使用支持向量機進行回歸分析,設(shè)計和完成了人臉年齡預(yù)測的實驗,并跟經(jīng)典的回歸模型進行比較。實驗結(jié)果表明基于支持向量機回歸的年齡預(yù)測更為準確。
使用回歸分析的方式實現(xiàn)基于人臉圖像的年齡預(yù)測,一般分為4個步驟:人臉圖像預(yù)處理、特征提取、訓(xùn)練回歸模型和輸出預(yù)測年齡。依據(jù)選用的特征提取方法和回歸方法,給出本文進行基于人臉圖像的年齡預(yù)測流程,如圖1所示。
接下來分別介紹圖1中提到的各個步驟。首先是人臉圖像預(yù)處理,數(shù)據(jù)庫中的人臉圖像需經(jīng)過標準的預(yù)處理操作,包括人臉幾何歸一化和灰度歸一化操作。幾何歸一化包括裁剪人臉區(qū)域、校正人臉的方向和統(tǒng)一人臉圖像區(qū)域的大小,讓人臉處于水平的狀態(tài)?;叶葰w一化通過增強圖像的對比度,進行光照補償,讓人臉圖像處于同樣的環(huán)境狀態(tài)。然后,使用主成分分析(Principal Component Analysis,PCA)方法進行特征提取,降低人臉圖像數(shù)據(jù)的維數(shù)。PCA方法經(jīng)常用于減少數(shù)據(jù)特征的維數(shù),同時還可以最大限度地保留原數(shù)據(jù)的信息,對訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)需要使用同樣的特征提取方法。接下來,基于提取的訓(xùn)練圖像的PCA特征數(shù)據(jù),使用支持向量機回歸方法進行模型訓(xùn)練,生成可用于年齡預(yù)測的回歸模型。最后,把模型應(yīng)用到來自不同測試圖像的PCA特征數(shù)據(jù)上,輸出人臉對應(yīng)的年齡。
人臉圖像預(yù)處理主要包括幾何歸一化和灰度歸一化2種操作,如果數(shù)據(jù)庫中包含一些彩色圖像,需要先把它們轉(zhuǎn)換為灰度圖像。幾何歸一化具體包括4個步驟:
1)標定特征點,通過鼠標點擊獲取左右兩眼的中心坐標值。
2)根據(jù)左右兩眼特征點的標定,旋轉(zhuǎn)人臉圖像,保證雙眼連接線處于水平方向。
3)基于兩眼之間的水平距離,根據(jù)面部幾何模型比例確定人臉矩形區(qū)域并裁剪。
4)把截取的人臉區(qū)域圖像尺寸變換到統(tǒng)一大小,長和寬可以都設(shè)一個固定值,然后以雙線性插值的方法實現(xiàn)。
灰度歸一化主要是通過增加圖像的亮度和對比度,使圖像的細節(jié)更加清楚,減弱光照強度的影響?;叶葰w一化操作可以通過圖像直方圖均衡化方法實現(xiàn)。本文使用的人臉年齡圖像數(shù)據(jù)庫是FG- NET,來自該數(shù)據(jù)庫的示例圖片和相應(yīng)的預(yù)處理結(jié)果如圖2所示。
由圖2可以看出,經(jīng)過預(yù)處理操作,數(shù)據(jù)庫中的圖像原有的客觀性差異變小,能夠以一致的姿態(tài)和均衡的亮度條件進行后續(xù)的特征提取處理,從而提高系統(tǒng)的穩(wěn)定性。
經(jīng)過預(yù)處理之后的人臉圖像數(shù)據(jù)維數(shù)仍比較大,這里選擇使用PCA方法進行特征提取和降維,PCA同時還可以起到相關(guān)性去除的作用。PCA是以Karhunen-Loeve(K-L)變換為基礎(chǔ),通過解除原有數(shù)據(jù)向量的各個分量之間的相關(guān)性,可以消除帶有很少數(shù)據(jù)特征信息的坐標分量,以達到降低特征空間維數(shù)的目的。
為說明PCA方法的計算過程,假設(shè)歸一化后的圖像大小是mn,m和n分別表示圖像的行數(shù)和列數(shù),按列相連可構(gòu)成N維列向量:
N=mn
(1)
然后以xi表示第i個圖像樣本向量,每個xi都是N維列向量。設(shè)訓(xùn)練樣本數(shù)為M,則組成大小為NM的樣本矩陣X:
X=[x1,x2,…,xi,…,xM]
(2)
每個圖像樣本xi可看作N維空間中的1個點,接下來通過K-L變換生成1個低維子空間來描述每個樣本,新的特征空間投影矩陣計算步驟如下所述。
步驟1:計算訓(xùn)練樣本的平均向量mX:
mX=(x1+x2+…+xi+…+xM)/M
(3)
然后,每個訓(xùn)練樣本向量減去該均值,結(jié)果以φi表示:
φi=xi-mX
(4)
得到新的矩陣A:
A=[φ1,φ2,…,φi,…,φM]
(5)
步驟2:計算協(xié)方差矩陣CA:
CA=(AAT)/M
(6)
新的坐標系由矩陣CA的非零特征值對應(yīng)的特征向量組成。由于樣本特征維數(shù)較高,直接求AAT的特征值和特征向量很困難,所以轉(zhuǎn)而求解矩陣ATA的特征值和特征向量。
(7)
正交歸一特征向量ui為:
(8)
步驟4:把CA的非零特征值按照從大到小排序為[γ1,γ2,…,γi,…,γr],其中1≤r Y=UTxi(Y∈Rr) (9) 利用以上得到的特征空間矩陣U,首先把所有訓(xùn)練樣本圖像進行投影,然后對測試樣本也進行同樣的投影,得到的投影系數(shù)就是降維之后的PCA特征。 支持向量機回歸(Support Vector Regression, SVR)是支持向量機中的一個重要應(yīng)用分支。SVM是一種常用的分類算法,也可以用于回歸。SVR與SVM的區(qū)別在于,SVM使到超平面最近的樣本點的距離最大,SVR是使到超平面最遠的樣本點的距離最小,超平面的劃分可由法向量w和位移b確定。 對于SVR回歸問題,給定訓(xùn)練數(shù)據(jù)D為: D={(x1,y1),(x2,y2),…,(xi,yi),…,(xM,yM)} (10) 式中,xi表示數(shù)據(jù)樣本,yi表示樣本的輸出標記。 目標是建立一個回歸模型f(x)=wTx+b,確定最合適的超平面,使得f(x)和輸出標記y盡可能接近。傳統(tǒng)的回歸模型基于當且僅當f(x)和y完全一樣時,模型輸出f(x)的損失才為0。而SVR則定義一個誤差常量ε,只要f(x)和y的偏離程度不超過ε,即可認為模型預(yù)測準確。因此,SVR只是計算|f(x)-y|>ε的數(shù)據(jù)點的損失,損失函數(shù)lε為: (11) 然后,SVR的目標函數(shù)為: (12) 式中,C為正則化常數(shù)。 SVR回歸模型和SVM分類模型相似,也對每個樣本(xi,yi)加入松弛變量,定義為ξi和i,將式(12)優(yōu)化為: (13) 其中,松弛變量ξi和i需滿足條件:f(xi)-yi≤ε+ξi,yi-f(xi)≤ε+i,ξi≥0,i≥0,i=1,2,…,M。 使用拉格朗日函數(shù)把目標優(yōu)化函數(shù)式(13)變成無約束的形式: L(w,b,α,,ξ,,μ,)= (14) 式中:αi≥0、i≥0、μi≥0、i≥0是拉格朗日乘子。 式(14)對w求偏導(dǎo),并令偏導(dǎo)為0,得到: (15) 然后,轉(zhuǎn)化為等價的對偶問題來求解,SVR的解f(x)為: (16) 另外,支持向量機中有大量的核函數(shù)可以使用,用于解決各種非線性數(shù)據(jù)的分類回歸問題。核函數(shù)的擴展也比較簡單,只需要把x用核函數(shù)φ(x)代替,得到的回歸模型為: (17) 本文的實驗選用了人臉年齡估計研究中常用的數(shù)據(jù)庫FG-NET,該數(shù)據(jù)庫包含來自82個人的人臉圖像,共計1 002張,所對應(yīng)的年齡分布在0~69歲。為了充分利用數(shù)據(jù)庫中的樣本圖像,選用留一校驗法,每次使用1個人的圖像樣本作為測試集,剩下的所有圖像樣本為訓(xùn)練集。這樣,一共需要循環(huán)82次,取所有結(jié)果的平均值作為最終的年齡估計誤差。為了評估本文所使用年齡預(yù)測方法的性能,選用2個常用的評價指標對實驗結(jié)果進行評估。一個是平均絕對誤差(Mean Absolute Error, MAE),另一個是累計分數(shù)(Cumulative Score, CS)。MAE表示誤差,值越小說明算法性能越好。CS表示年齡估計誤差在某范圍內(nèi)(可以取3~10歲的數(shù))的所有樣本占總樣本的比例,顯然,CS值越大說明算法性能越好。 FG-NET數(shù)據(jù)庫中40歲以上的人臉圖像樣本較少,所以劃分了5個年齡段進行結(jié)果評估,分別是0~9歲、10~19歲、20~29歲、30~39歲和40~69歲。PCA降維選取累積能量占前90%的特征維數(shù),提取的特征數(shù)據(jù)為88維。SVR訓(xùn)練回歸模型選用徑向基核函數(shù)(Radial Basis Function, RBF),然后進行年齡預(yù)測實驗。不同年齡段的年齡估計結(jié)果評價比較見表1。 表1 不同年齡段的年齡估計結(jié)果評價比較 從表1可以看出,0~9歲和10~19歲年齡段的平均絕對誤差(MAE)較小,而且各個累積分數(shù)(CS)的結(jié)果也相對較高。30~39歲和40~69歲年齡段的平均絕對誤差較大,各個累積分數(shù)的值也相對較小。結(jié)合樣本數(shù)量所占比例的分析,由于這2個年齡段的樣本圖像數(shù)量偏少,得到的訓(xùn)練模型在該年齡段預(yù)測的結(jié)果就比較差,所以誤差比較大。另一方面,由于人臉年齡生理變化的影響,不同年齡階段的人臉老化程度和速度不一樣,也會影響年齡預(yù)測的結(jié)果。 為驗證支持向量機回歸模型的有效性,進行了一元函數(shù)回歸、二元函數(shù)回歸以及多重多元回歸方法的比較實驗,表2列出了這幾種不同的回歸方法得出的年齡估計誤差,以MAE進行評估。 表2 不同回歸方法的MAE結(jié)果比較 由表2可知,本文使用的SVR得出的平均絕對誤差最小,所以實驗取得了預(yù)期的效果。同時,從表2也可以看出,在不同的回歸算法下,較大年齡段情況下的MAE比較高,和表1給出的變化趨勢一致。圖3給出了部分樣本圖像的真實年齡和預(yù)測年齡對比,表明使用PCA特征提取方法和SVR回歸模型可以進行較好的年齡預(yù)測。從圖3中可以看出,所選取的樣本示例年齡階段包含了幼年、少年、青年和中年時期,真實年齡和預(yù)測年齡之間的差異都不大。為進一步驗證本文方法的可靠性,對來自網(wǎng)絡(luò)的一些明星人物的人臉圖片進行了年齡預(yù)測,如圖4所示。雖然在訓(xùn)練集中不包含這些人物的不同年齡段的樣本圖像,但是從圖4中可以看出,對于中青年的實際樣本示例,真實年齡和預(yù)測年齡之間的差異在可以接受的范圍內(nèi)。不過,對于真實年齡為51歲的樣本預(yù)測差異比較大,后期還需要進一步提高中老年階段的年齡預(yù)測準確度。 本文進行了基于人臉圖像的年齡預(yù)測研究,采用主成分分析法提取人臉特征,然后使用支持向量機回歸的方法進行訓(xùn)練和測試,在公開的FG-NET人臉圖像數(shù)據(jù)庫上進行了實驗。通過MAE和CS 2種評價指標的分析,結(jié)果表明取得了良好的年齡估計結(jié)果,并給出了部分樣本的真實年齡和預(yù)測年齡的對比示例,也對一些實際的人臉圖片進行了年齡預(yù)測的驗證。通過和其他回歸方法的比較,展現(xiàn)了支持向量機回歸方法的優(yōu)勢,可以獲得更低的年齡預(yù)測誤差。本文得到的實驗結(jié)果說明基于人臉圖像的年齡預(yù)測是可行的和可靠的,可以應(yīng)用在智能安防中的人臉屬性判別、商業(yè)中的受眾人群數(shù)據(jù)分析和智慧醫(yī)療等方面。由于當前使用的人臉數(shù)據(jù)庫中圖像背景比較單一,后續(xù)的研究工作會更多關(guān)注非限制場景或者多種頭部姿態(tài)條件下的人臉年齡預(yù)測問題。1.3 支持向量機回歸
2 實驗和比較
3 結(jié)論