本發(fā)明屬于計算機視覺技術領域,涉及面部年齡估計技術,主要應用于基于年齡的登陸控制,年齡差異化廣告以及年齡相關的人機交互技術等領域。
背景技術:面部年齡估計技術是指通過計算機算法對人臉面部特征進行分析后,自動估計人體年齡的技術。通常,計算機通過攝像頭采集人臉圖像(照片),并對面部特征進行提取和分析,自動估計該圖像對應的年齡。由于該技術在年齡相關的人際交互、基于年齡的登陸控制和年齡差異化廣告方面都有非常廣泛的應用,因此它引起了計算機視覺領域學者的廣泛興趣和關注。目前已有的人臉面部年齡估計算法可以分為3大類:(1)通用年齡估計方法,(2)性別差異化年齡估計方法,和(3)個性化年齡估計算法。通用估計方法作為最常見的一種年齡估計方法,其基本原理是假設所有人的面部特征和對應年齡之間存在通用(共同)的映射關系,該映射關系可以通過線性或非線性回歸擬合實現。該類方法的優(yōu)點是模型簡單,不受訓練樣本數多少的影響。而其缺點在于估計的準確性一般,原因在于每個個體面部特征與真實年齡之間的映射關系存在一定差異,只通過一個通用模型無法覆蓋上述所有差異性。參見文獻:A.Lanitis,C.J.Taylor,andT.F.Cootes,AutomaticInterpretationandCodingofFaceImagesusingFlexibleModels,IEEETransactionsonPatternAnalysisandMachineIntelligence,vol.19,no.7,pp.743-756,1997。性別差異化年齡估計方法相對于通用年齡估計算法在精確性上有所改進,它考慮了在面部年齡估計問題中不同性別的差異性。該類方法不再假設所有人的面部特征和年齡之間的映射關系相同,而是考慮到了男性和女性之間的差異性。該類方法的優(yōu)點是估計的準確性較高,并且不受訓練樣本多少的影響。參見文獻:Y.Liang,L.Liu,Y.Xu,Y.Xiang,andB.Zou,Multi-taskGLOHFeatureSelectionforHumanAgeEstimation,2011IEEEInternationalConferenceonImageProcessing,pp.565-568,2011。個性化年齡估計方法與性別差異化年齡估計方法相似,不同在于它考慮了所有個體面部特征和對應年齡之間映射關系的差異性。它認為每個個體面部特征和對應年齡之間存在映射關系,并且這些映射關系存在相似性,最終通過找到與測試樣本最相似的訓練個體,并利用該個體的年齡估計模型估計相應年齡。該方法的優(yōu)點在于準確性較高,缺點在于受訓練樣本數目的影響,并且較難確定測試樣本適合哪一個估計模型。
技術實現要素:本發(fā)明提供一種基于相關回歸的面部年齡估計算法,首先對采集到的面部圖像進行形狀特征提取,并對光照歸一化和形狀歸一化后圖像提取容貌特征;接著,根據所有圖像對應的標定年齡計算累積屬性;之后,對人臉面部特征和對應年齡根據被采集者的性別進行分類,得到兩組數據;在上述步驟完成的基礎上,建立從不同性別的面部特征到累積屬性的第一層回歸,即相關線性回歸,并求解回歸參數;然后,建立從估計累積屬性到年齡的第二層回歸,即支持向量回歸,并得到回歸參數;最后,在給定一個待估計面部年齡圖像時,提取面部形狀和容貌特征并利用相關回歸器估計累積屬性,再利用已學到的支持向量回歸器得到計算年齡。算法示意圖參見圖1。為了方便地描述本發(fā)明內容,首先對一些術語進行定義。定義1:面部特征點。人為定義人面部的一些特殊點,例如嘴角點,眼角點等,見圖2。定義2:FaceTracker。一種用于跟蹤定位面部特征點的C++軟件包。定義3:仿射變換。在幾何上定義為兩個向量空間之間,由旋轉、縮放和平移組成的變換。仿射變換是由于拍攝剛性物體的位置、距離和角度所不同引起的同一物體在不同圖像中呈現的外觀不一致,見圖4。假設對原始圖像進行平移量為(tx為水平方向的平移量,ty為水平方向的平移量),旋轉角度為和縮放倍數為的仿射變換,則變換后圖像任意一點與原圖像對應點之間的關系可表示為:上式的等價表示為:這里β1=scosθ,β2=ssinθ,β3=stxcosθ+stysinθ,β4=-stxsinθ+stycosθ,也可等價為:一旦β1,β2,β3,β4這4個參數確定,對應的具體的仿射變換也即確定。定義4:三角面片法。根據人臉特征點,由每三個特征點定義一個三角面片,這樣人臉可以看成是由若干三角面片組成的圖像,見圖6。定義5:梯度位置方向直方圖(GradientLocation-OrientationHistogram,GLOH)特征。是一種描述圖像局部梯度方向分布的視覺特征,通常包含子區(qū)域個數、大小、子區(qū)域半徑取值和梯度方向區(qū)間劃分數目幾個參數。定義6:線性主成分分析方法。將多個變量通過線性變換以選出較少個數重要變量的一種多元統(tǒng)計分析方法。又稱主分量分析。定義7:累積屬性。累積屬性是年齡的另一種有效表示,被用在年齡估計中,作為從面部特征到年齡映射的中間層。若已知一個人的年齡為y,累積屬性的數學定義如下:其中ch表示累積屬性c的第h個元素,累積屬性的維數H通常由某圖片庫中,標定年齡的最大值決定,如果數據庫中最大年齡是70,則H=70。該公式說明當一幅圖像對應的標定年齡為y時,其累積屬性c的前y個元素為1,后H-y個元素為0。定義8:線性回歸。已知N個輸入觀測向量f1,f2,...fN和其對應的輸出觀測值y1,y2,...yN,線性回歸假設輸入與輸出之間存在下述關系:yn=wTfn+b+εnw=[w1,w2,...,wN]T為權向量,b為偏差,εn為噪聲,線性回歸設定w,b的最優(yōu)解使得以下目標式取值最小,定義9:支持向量機回歸。已知N個輸入觀測向量f1,f2,...fN和其對應的輸出觀測值y1,y2,...yN,支持向量機回歸假設輸入與輸出之間存在下述關系:w=[w1,w2,...,wN]T為權向量,w0為偏差,εn為噪聲,k(fn,fi)為度量fn和fi之間距離的核函數,支持向量機回歸規(guī)定在給定閾值∈的情況下,w,w0的最優(yōu)解滿足式以下目標式的取值最小,其中函數E∈(y(fn)-yn)的表達式為:定義10:核函數。在機器學習中,核函數通常用于計算在變換后特征空間中兩個向量的內積,它避免了在高維空間或者無限維數空間的計算。常用的核函數包括:線性核函數:k(f,f′)=fTf′,RBF核函數:k(f,f′)=exp(-τ||f-f′||2),其中f,f′為兩個原空特征間中的輸入特征,τ為高斯核函數的參數。本發(fā)明詳細技術方案如下:一種基于相關回歸的面部年齡估計算法,包括以下步驟:步驟1:采集不同人的包含不同年齡的面部圖像N幅,其中男性的面部圖像數量為N1,女性的面部圖像數量為N2,因此N=N1+N2,如圖2;步驟2:對所有的面部圖像利用FaceTracker跟蹤面部特征點,共得到K個面部特征點,K=68,包含:嘴角點,眼角點等,如圖3;對于任意第n幅面部圖像,我們用向量記錄所有特征點的位置,其中表示第n幅面部圖像的第k個特征點的位置坐標,由橫坐標xnk和縱坐標ynk兩維構成;步驟3:由于每一幅圖像拍攝狀態(tài)不同,造成拍攝到的人臉面部大小、位置和旋轉角度不同,為了消除不同圖像對應面部特征點之間的仿射變換,以第1幅圖像為基準,對圖片庫中所有圖像的特征點位置進行仿射變換,讓變換后的特征點位置與第1幅基準圖像的面部特征點位置盡量接近,得到仿射變換后的N幅的面部形狀特征,即:進一步的,所述步驟3的具體步驟為:若令s1表示第1幅圖像的所有面部特征點坐標,sn表示任意第n幅面部圖像的特征點,根據定義3可知,與基準圖像之間的仿射變換參數β1,β2,β3,β4應滿足:令β={β1,β2,β3,β4}表示仿射變換參數集合,上式等價于:這里,s1=(x11,x12,...,x1K)T=(x11,y11,x12,y12,...,x1K,y1K)T,矩陣Xn大小為2K×4,具體的表達式為:可以得到β的最小二乘解為:β=(XnTXn)-1XnTs1,利用求得的仿射變換參數β,得到與第1幅基準圖像對齊以后的特征點位置坐標將作為任意第n幅圖像的面部形狀特征,按照上述方法對圖像庫中每一面部圖像做上述變換,可得到所有N幅仿射變換后的面部形狀特征,即:步驟4:以基準圖像面部特征為基準將步驟3得到的面部形狀進行歸一化處理,再利用三角面片方法對處理后的面部容貌細節(jié)進行變換,最后對變換后圖像中沒有賦值的像素點利用雙三次插值方法在已有像素點的基礎上進行插值,得到N幅經過三角面片方法變換的面部容貌圖像;進一步的,所述步驟4的具體步驟為:將步驟3得到圖像的面部形狀(見圖6)以基準圖像面部形狀為基準進行歸一化處理,并利用三角面片方法對面部容貌進行變換,具體方法以任意第n幅圖像為例,任意三個面部特征點xni,xnj,xnk構成的三角面片(見圖4)中任意一個位置x處,它在基準形狀中由相應的三個面部特征點構成的三角面片中的位置變?yōu)閤′,x′=(x1i,y1i)T+α[(x1j,y1j)T-(x1i,y1i)T]+γ[(x1k,y1k)T-(x1i,y1i)T],其中α和γ的取值分別為:這樣將x′位置處的灰度置為原圖像位置x處的灰度值;對所有三角面片中的所有點進行上述變換,可以得到基準圖像面部形狀相同的面部形狀歸一化圖像,按照上述方法對圖像庫中每一面部圖像做上述變換,可得到所有N幅圖像歸一化的面部容貌圖像I1,I2,...,IN;最后對變換后的圖像中沒有賦值的像素點,利用雙三次插值方法在已有像素點的基礎上進行插值;步驟5:計算面部容貌圖像I1,I2,...,IN的平均背景光照;進一步的,所述步驟5的具體步驟為:首先計算所有圖像的灰度平均值圖像;之后,計算灰度平均圖像上每一個三角面片的灰度均值,將三角面片的灰度均值作為三角面片中心點的灰度值;最后,根據三角面片中心的灰度值進行線性插值,得到與原圖像大小相同的背景光照圖像I0;步驟6:對圖片庫中所有面部圖像進行光照歸一化得到N幅圖像為進一步的,所述步驟6的具體步驟為:以任意第n幅面部形狀歸一化圖像為例,首先計算第n幅圖像每一個三角面片的灰度均值,并將此灰度均值作為三角面片中心點的灰度值,接著利用已有三角面片中心點的灰度值進行線性插值,得到第n幅圖像估計的背景光照圖像I′n,光照歸一化圖像由下式得到,已有N幅圖像對應的形狀和光照歸一化圖像為參見圖7。步驟7:首先將所有圖像縮放至大小,再將形狀和光照歸一化后的每一圖像平均劃分為多個小塊;針對每個小塊,以該小塊的中心為圓心并以不同的半徑劃分出多個不同的區(qū)域,再將外圍的環(huán)形區(qū)域劃分為多個區(qū)域,參見圖8,再分別求出每個區(qū)域梯度方向直方圖,并將梯度直方圖組合為一個向量,最后將所有小塊組合的向量再組合為GLOH特征向量;進一步的,所述步驟7的具體步驟為:所有圖像需要縮放到大小為66×66像素,同時將圖像分為36個大小為11×11像素的小區(qū)域,在每個小區(qū)域內,以小塊的中心為圓心分別以半徑2、3、5劃分出3個區(qū)域,再將外圍的兩個環(huán)形區(qū)域分別均分為8個區(qū)域,共得到圖8中的17個區(qū)域,再分別求出每個區(qū)域在8個方向上的梯度方向直方圖,得到共136維的局部直方圖特征;最后將36個區(qū)域的局部直方圖特征級聯(lián)在一起,得到每幅圖像的GLOH特征為4896維;記所有N幅圖像的GLOH特征為:步驟8:對N幅圖像的面部形狀特征和GLOH特征利用線性主成分分析方法進行降維,分別降到D1維和D2維,兩種特征降維后級聯(lián)在一起,構成每一幅面部圖像的最終特征表示對于N幅圖像,我們可以得到f1,f2,...,fN共N個特征向量;進一步的,所述步驟8中D1=60,D2=40。步驟9:計算每一幅圖像對應標記年齡的累積屬性,N幅圖像對應的累積屬性為:c1,c2,...,cN;累積屬性的數學定義如下:其中:yn為圖像人物的標記年齡,cnh表示累積屬性cn中的第h個元素,累積屬性的維數H等于圖片庫中標定年齡的最大值;步驟10:將步驟8中得到的所有圖像的特征向量,步驟9中的得到的累積屬性和原始標定年齡,根據對應人的性別分為兩組,第1組為男性,第2組為女性,令表示所有男性的面部特征,任意列向量為男性中第n1個人的面部特征,令表示上述特征對應的累積屬性,任意列向量為男性中第n1個人的累積屬性,同時令表示上述男性面部圖像對應的標定年齡。類似地,定義表示所有女性的面部特征,任意列向量為女性中第n2個人的面部特征,令表示上述特征對應的累積屬性,任意列向量為女性中第n2個人的累積屬性,同時令表示上述女性面部圖像對應的標定年齡。步驟11:在分組數據的基礎上,假設對于男性存在從面部特征到累積屬性的線性回歸關系,其中,為任意第n1個男性的面部特征,為其累積屬性,W1為回歸矩陣,b1為偏差向量,為零均值的高斯噪聲向量;對于女性,假設存在從面部特征到累積屬性的線性回歸關系,其中,為任意第n2個女性的面部特征,為其累積屬性,W2為回歸矩陣,b1為偏差向量,為零均值的高斯噪聲向量;同時假設兩個回歸模型之間存在相似性,并建立求解回歸參數W1,W2,b1,b2的目標函數,為元素全為1的列向量;使以上目標式取得最小值時對應的參數W1,W2,b1,b2取值即為最優(yōu)取值;步驟12:求解模型步驟11中的模型參數,令步驟11中的目標函數等價于下式,對該式分別關于和求導,并令導數為零,可得:最后可以得到的最優(yōu)解為:這里P和Q的表達式為:的最優(yōu)解為:即回歸參數最優(yōu)取值為:[W1,b1]=PQ-1,步驟13:利用步驟12中得到的回歸參數,計算估計所有圖像的累積屬性,對于任意第n1個男性面部圖像,其面部特征對應的估計累積屬性為:對于任意第n2個女性面部圖像,其面部特征對應的估計累積屬性為:步驟14:建立步驟13中得到的所有面部圖像對應估計累積屬性和年齡之間的支持向量回歸模型,利用Libsvm工具包求解回歸參數w和w0,在求解時所使用的核函數類型為RBF類型;進一步的,所述步驟14中RBF核函數中參數τ等于0.16,支持向量回歸中控制容回歸誤差容忍程度的參數C=7;步驟15:對于測試面部圖像,我們按照步驟4,5,6,7,8中的方法對其進行形狀特征提取,形狀歸一化和光照歸一化后容貌特征的提取,并對相關特征進行降維,得到測試圖像的面部特征f;根據該特征利用步驟12中得到的第一層回歸參數W1,W2,b1,b2估計累積屬性,如果該測試面部圖像來自于男性,則累積屬性:如果該測試面部圖像來自于女性,則累積屬性:最后利用步驟14中得到的參數w和w0估計年齡:k(·,·)為RBF核函數。本發(fā)明的創(chuàng)新之處在于:提出性別相關的年齡估計概念,假設男性和女性有不同的容貌特征和衰老過程。根據上述假設建立針對男性和女性年齡估計的回歸模型,并假設性別相關的模型存在關聯(lián)性。同時,利用累積屬性作為從面部特征到年齡映射的中間層,能有效的提高年齡估計的準確率。由于上述創(chuàng)新,使得本專利提出的年齡估計算法的估計平均誤差小于現在已公開報道的各類年齡估計算法,是目前性能最好的面部年齡估計方法。附圖說明圖1是一種基于相關回歸的面部年齡估計算法示意圖。圖2是不同人的不同年齡的面部圖像。第一行為一男性的面部年齡圖像,第二行為一女性的面部年齡圖像。圖3是68個面部特征點定義。圖4是仿射變換示意圖。圖5是三角面片變換法。圖6是面部特征點構成的三角面片。圖7是形狀和光照歸一化后的面部圖像(對應圖2)。圖8是說明書中所述步驟7對圖像區(qū)域劃分的劃分方法示意圖。具體實施方式實現語言:Matlab,C/C++硬件平臺:Intelcore2E7400+4GDDRRAM軟件平臺:Matlab2012a,VisualStdio2010采用本發(fā)明的方法,首先在VisualStdio2010平臺上利用Facetracker工具包提取面部圖像的特征點,并記錄每一幅圖像對應的特征點位置。接著根據專利內容利用C++或matlab編程實現算法,進行面部特征提取和從面部特征到年齡的兩層回歸關系建立。最后根據已學到的回歸關系,對待估計樣本利用上述代碼估計其對應的年齡。綜上所述,本發(fā)明提出的一種基于相關回歸的面部年齡估計算法,充分利用了男性和女性面部特征及其衰老過程的相似性和差異性,建立了兩層回歸模型,有效克服了面部特征不一致性對估計結果的影響,該算法在已有年齡估計數據庫FG-NET上測試,平均估計誤差達到4.57,是目前公開報道的性能最好的年齡估計算法。該專利可應用于基于年齡的登陸控制,年齡差異化廣告以及年齡相關的人機交互技術等領域。