王 晶, 蘇光大
1.清華大學(xué)電子工程系,北京100084
2.國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心,北京100029
隨著計(jì)算機(jī)技術(shù)的發(fā)展,人臉識(shí)別逐漸成為世界上最具挑戰(zhàn)性的研究課題.經(jīng)過(guò)幾十年的發(fā)展,涌現(xiàn)出諸多人臉識(shí)別算法,如主成分分析法(principal component analysis,PCA)[1-3]、獨(dú)立成分分析法(independent component analysis,ICA)[4]、Hausdorff距 離法[5]、彈性圖匹配法(elasticgraphmatching,EGM)[6]、支持向量機(jī)法(support vector machine,SVM)[7]等.這些算法對(duì)于可控條件下的正面圖像具有很高的識(shí)別率,但不能很好地適應(yīng)姿態(tài)的變化.實(shí)驗(yàn)表明,當(dāng)姿態(tài)發(fā)生變化時(shí),上述算法的識(shí)別率急劇下降[8].
為了解決這一問(wèn)題,提出了基于三維信息的人臉識(shí)別方法[9].三維人臉識(shí)別主要根據(jù)人臉的三維幾何形狀信息進(jìn)行識(shí)別,因?yàn)榘吮榷S人臉更多的信息,所以不會(huì)受到姿態(tài)的影響,具有更好的魯棒性.人臉三維信息的獲取方法主要有3種:三維形變模型方法[10]、有限元反射模型方法(shape from shading,SFS)[11-12]、雙目立體視覺方法[13].基于三維形變模型的方法采用所構(gòu)建人臉的三維數(shù)據(jù)庫(kù)和圖像紋理數(shù)據(jù)庫(kù)來(lái)訓(xùn)練特征空間,利用不同姿態(tài)的人臉圖像在特征空間的投影系數(shù)建立該人臉的三維模型.這種方法需要預(yù)先進(jìn)行訓(xùn)練,故效果受到訓(xùn)練庫(kù)的影響,計(jì)算量大.SFS方法假設(shè)人臉是朗伯表面[11],可以由一幅圖像恢復(fù)人臉的三維形狀,但恢復(fù)的眼睛、鼻子、嘴巴等區(qū)域的深度信息是不正確的.雙目立體視覺的方法是基于視差原理,利用成像設(shè)備從不同的位置獲取被測(cè)物體的兩幅圖像,通過(guò)計(jì)算圖像對(duì)應(yīng)點(diǎn)間的位置偏差,來(lái)獲取物體三維幾何信息的方法.由于該算法能快速而準(zhǔn)確地得到圖像的深度信息,近年來(lái)已成為一大研究熱點(diǎn),并涌現(xiàn)出諸多算法[14-15],但沒有針對(duì)人臉的算法.與景物圖像相比,人臉面部區(qū)域更加平滑,不利于點(diǎn)對(duì)點(diǎn)的匹配,這就給視差圖的計(jì)算帶來(lái)了一些難度.
針對(duì)人臉圖像紋理平滑性對(duì)特征匹配帶來(lái)的影響,本文基于雙目立體視覺設(shè)計(jì)了一套新的匹配算法,獲得了更加準(zhǔn)確的人臉視差圖,進(jìn)而求出人臉的三維坐標(biāo);再根據(jù)人眼特征點(diǎn)定位的結(jié)果求出人臉的偏轉(zhuǎn)角度,將人臉校正成正面圖像.實(shí)驗(yàn)結(jié)果表明,基于改進(jìn)的雙目立體視覺的正面臉合成算法能夠?qū)崟r(shí)準(zhǔn)確地恢復(fù)出正面人臉的紋理,且效果逼真.
如圖1所示,人臉的姿態(tài)角度根據(jù)旋轉(zhuǎn)坐標(biāo)軸分成3類:繞z軸旋轉(zhuǎn)的平面內(nèi)旋轉(zhuǎn)、繞x軸旋轉(zhuǎn)的俯仰變化、繞y軸旋轉(zhuǎn)的水平偏轉(zhuǎn).其中,平面內(nèi)旋轉(zhuǎn)可以通過(guò)簡(jiǎn)單的圖片旋轉(zhuǎn)來(lái)校正,俯仰和水平偏轉(zhuǎn)會(huì)造成面部的拉伸、扭曲和遮擋,增加了校正難度.水平偏轉(zhuǎn)相對(duì)于俯仰變化更為常見,于是本文只考慮水平偏轉(zhuǎn).
圖1 人臉偏轉(zhuǎn)角度定義Figure 1 Head pose def inition
本文算法可以將繞y軸旋轉(zhuǎn)的水平偏轉(zhuǎn)人臉校正成正面人臉圖像,其流程圖見圖2.首先根據(jù)攝像機(jī)標(biāo)定時(shí)確定的相機(jī)參數(shù),對(duì)原始圖像進(jìn)行校正,一方面消除攝像頭畸變效應(yīng),另一方面將對(duì)應(yīng)極線調(diào)整到圖像的同一水平高度.接著進(jìn)行自動(dòng)人臉檢測(cè)[16],檢測(cè)到人臉后再根據(jù)雙眼定位算法[17]確定雙眼位置坐標(biāo).然后將雙眼坐標(biāo)作為初始值,對(duì)兩幅圖像的人臉區(qū)域進(jìn)行第1次密集點(diǎn)匹配.匹配完成后采用區(qū)域增長(zhǎng)法排除干擾,再以拋物線匹配法去除空洞,得到人臉圖像完整視差圖.根據(jù)視差圖計(jì)算出人臉的三維坐標(biāo),由人眼三維坐標(biāo)確定人臉偏轉(zhuǎn)角度.最后,根據(jù)偏轉(zhuǎn)角度進(jìn)行旋轉(zhuǎn)投影,生成正面人臉.
圖2 算法流程圖Figure 2 Flowchart of our algorithm
雙目攝像機(jī)將拍攝到兩張圖像,本文以“左圖”、“右圖”分別表示這兩張圖.根據(jù)雙眼定位結(jié)果可以求出左眼對(duì)應(yīng)的視差為
式中,L1x為左圖像中左眼x坐標(biāo),R2x為右圖像中左眼x坐標(biāo),Dx1=y1為對(duì)應(yīng)像素(x1,y1)視差.那么,根據(jù)人臉的連續(xù)性得到人臉區(qū)域像素對(duì)應(yīng)的視差值應(yīng)該位于D±△D之間,于是本文在此范圍內(nèi)搜索.
首先以左圖為基準(zhǔn).對(duì)于左圖中人臉區(qū)域的每個(gè)點(diǎn)Lx,y,取其鄰域3×3像素,并與右圖對(duì)應(yīng)點(diǎn)Rx-D,y鄰域進(jìn)行塊匹配.采用絕對(duì)差值求和法(sum of absolute difference,SAD)進(jìn)行匹配,求出對(duì)應(yīng)的代價(jià)函數(shù)
式中,Dx,y為對(duì)應(yīng)像素(x,y)視差,|°|為絕對(duì)值,‖‖為矩陣2范數(shù).理論上對(duì)于不同的Dx,y,當(dāng)c(Lx,y,Dx,y)取最小值時(shí)為最佳匹配值.然而,人臉圖像存在著噪聲等其他干擾,不可避免地導(dǎo)致局部匹配得到的最小代價(jià)值出現(xiàn)錯(cuò)誤.因此,本文還定義如下函數(shù)進(jìn)行全局優(yōu)化:
式中,第1部分為人臉區(qū)域中每個(gè)點(diǎn)的代價(jià)之和;第2部分表示鄰域中代價(jià)函數(shù)變化1 pixel,這種情況通常由于人臉深度變化造成的;第3部分表示鄰域中代價(jià)函數(shù)有較大的變化,這種情況通常是由不連續(xù)造成的.α1和α2表示代價(jià)系數(shù),為了保證人臉的平滑和連續(xù)性,α2取較大的值.至此,已將求解每個(gè)點(diǎn)視差的問(wèn)題轉(zhuǎn)化為求解式(3)最小值的最優(yōu)化問(wèn)題,該求解方法由文獻(xiàn)[18]給出.
同樣,以右圖為基準(zhǔn),尋找左圖對(duì)應(yīng)的視差.根據(jù)匹配的唯一性,若左圖人臉中某點(diǎn)(x,y)的視差為Dx,y,則對(duì)應(yīng)右圖(x-Dx,y,y)的視差應(yīng)該等于Dx,y.因此,本文對(duì)每個(gè)點(diǎn)進(jìn)行唯一性判斷,將不滿足條件的匹配結(jié)果視為無(wú)效.
結(jié)合局部和全局優(yōu)化的方法求出人臉的視差圖,得到的結(jié)果如圖3所示.然而,人臉具有平滑性,給正確匹配帶來(lái)了難度,使人臉區(qū)域經(jīng)常出現(xiàn)一系列空洞,這就需要進(jìn)一步處理.
圖3 初步匹配結(jié)果Figure 3 Primary matching result
由圖3可見,第1次匹配的視差圖并不理想,不僅在人臉周圍存在很多其他物體的干擾,而且人臉內(nèi)部存在明顯的空洞,需要進(jìn)一步排除和匹配.
對(duì)視差圖采用區(qū)域增長(zhǎng)法[19]來(lái)排除非人臉區(qū)域的干擾,該方法的基本原理是將具有相似性質(zhì)的像素集合起來(lái)構(gòu)成區(qū)域.實(shí)現(xiàn)區(qū)域增長(zhǎng)首先要選定種子像素,由于人眼附近區(qū)域包含較多的紋理,這部分區(qū)域的視差圖具有更高的準(zhǔn)確性,于是本文選定左眼和右眼坐標(biāo)為區(qū)域增長(zhǎng)法的種子坐標(biāo).
區(qū)域增長(zhǎng)必須有恰當(dāng)?shù)南嗨菩詼?zhǔn)則.令集合R表示整個(gè)圖像區(qū)域,Rb是未經(jīng)過(guò)增長(zhǎng)的區(qū)域,Ra是已經(jīng)過(guò)增長(zhǎng)的區(qū)域,則對(duì)于像素點(diǎn)(x0,y0)∈Ra,以及其鄰域像素(x1,y,y1∈N(x0,y0),區(qū)域增長(zhǎng)應(yīng)滿足
式中,τ為區(qū)域增長(zhǎng)的閾值,Dx,y為對(duì)應(yīng)像素(x,y)視差.利用區(qū)域增長(zhǎng)法排除非人臉區(qū)域,得到的結(jié)果如圖4所示.
圖4 區(qū)域增長(zhǎng)法結(jié)果Figur e 4 Region growing result
由于人臉的平滑性,局部區(qū)域可以近似為平面.但為了取得更高的匹配精度,以二次函數(shù)進(jìn)行局部的擬合,并用二次拋物線匹配法填補(bǔ)面部空洞.二次拋物線匹配法的具體步驟如下:
步驟1 確定兩幅圖像對(duì)應(yīng)空洞區(qū)域的端點(diǎn),圖像L的端點(diǎn)為x1和x2,圖像R對(duì)應(yīng)區(qū)域的端點(diǎn)為y1和y2,則對(duì)應(yīng)區(qū)域存在如下關(guān)系:
步驟2 假設(shè)對(duì)應(yīng)區(qū)域滿足二次方程
同時(shí),該函數(shù)還應(yīng)滿足單調(diào)性,并且面部曲率不能太大,因此系數(shù)a必須滿足
步驟3 變換a,直至找到最佳匹配結(jié)果.
經(jīng)二次匹配得到一個(gè)完全匹配沒有空洞的人臉視差圖,如圖5所示.
圖5 視差圖最終結(jié)果Figur e 5 Disparity map
由雙目立體視覺原理可知[13],圖像中某一點(diǎn)與其對(duì)應(yīng)的真實(shí)空間中三維坐標(biāo)的對(duì)應(yīng)關(guān)系為
式中,M為投影矩陣,那么通過(guò)該點(diǎn)在兩個(gè)攝像頭的對(duì)應(yīng)關(guān)系為
可以求出該點(diǎn)的三維坐標(biāo)為
由于攝像機(jī)拍攝的圖像經(jīng)過(guò)極線校正,v1=v2,式(10)可以改寫為
根據(jù)式(11)以及2.2節(jié)中求出的視差圖可以算出每個(gè)點(diǎn)的三維坐標(biāo);再以人眼定位的結(jié)果計(jì)算出雙眼的三維坐標(biāo)分別為(XW1,YW1,ZW1)、(XW2,YW2,ZW2),則人臉姿態(tài)可以根據(jù)式(12)計(jì)算得到
求出人臉偏轉(zhuǎn)角后,即可通過(guò)旋轉(zhuǎn)投影獲得正面人臉圖像.
為了驗(yàn)證本算法的效果,采集了40個(gè)人的不同角度的人臉圖像,每個(gè)人采集7個(gè)水平旋轉(zhuǎn)角度的圖像(±45°,±30°,±15°,0°),并與傳統(tǒng)SAD方法、NCC方法進(jìn)行比較.實(shí)驗(yàn)設(shè)備為Bumblebee2雙目相機(jī),合成結(jié)果如圖6所示.
圖6 合成結(jié)果Figure 6 Composite Results
由圖6可以看出,傳統(tǒng)的SAD方法和NCC方法在計(jì)算視差圖時(shí)引入了很多噪聲干擾,導(dǎo)致合成圖像很不理想.局部結(jié)合全局匹配方法沒有進(jìn)行匹配后處理,雖然去掉了噪聲,得到了正確的結(jié)果,但仍包含一些空洞和背景干擾,導(dǎo)致合成圖像也包含空洞和遮擋.本文算法的視差圖去掉了空洞和背景干擾,得到的合成結(jié)果更加真實(shí).本算法耗時(shí)0.4s,實(shí)驗(yàn)平臺(tái):2.66GHz主頻,8GB內(nèi)存,VS 2010.
為了進(jìn)一步驗(yàn)證結(jié)果的準(zhǔn)確性,采用PCA識(shí)別算法對(duì)合成的正面人臉與真實(shí)正面人臉進(jìn)行識(shí)別測(cè)試,測(cè)試結(jié)果如表1所示.可以看出,本文算法的識(shí)別率最高,合成的正面臉最接近真實(shí)效果.
該方法還可以將人臉指定旋轉(zhuǎn)任意角度,將正面人臉旋轉(zhuǎn)(±45°,±30°,±15°)后的結(jié)果如圖7所示.
表1 識(shí)別率比較Table 1 Comparison of recognition rates
圖7 不同角度的合成結(jié)果Figure 7 Different pose synthesis results
本文提出了一種基于雙目立體視覺的正面臉合成算法.該方法結(jié)合了局部和全局匹配方法,同時(shí)又通過(guò)區(qū)域增長(zhǎng)法及拋物線匹配法進(jìn)一步處理,克服了原有方法對(duì)人臉處理的不足,得到了完整的視差圖.通過(guò)視差圖求出人臉的三維坐標(biāo),進(jìn)而求出人臉的偏轉(zhuǎn)角度,再根據(jù)人臉偏轉(zhuǎn)角度旋轉(zhuǎn)投影,最終得到一幅較好的正面人臉圖像.該方法沒有使用迭代等訓(xùn)練算法,故速度快,效率高.
[1]TURK M,PENTLAND A.Eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.
[2]YANGJ,ZHANGD.Two-dimensional PCA:a new approach to appearance-based face representation and recognition[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2004,26(1):131-137.
[3]BELHUMEUR P N,HESPANHA J P,KRIEGMAN D J.Eigenfaces vs.f isherfaces:recognition using class specif ic linear projection[J].IEEE Transactions Pattern Analysis and Machine Intelligence,1997,19(7):711-720.
[4]BARTLETT M S,MOVELLAN J R,SEJNOw SKI T J.Face recognition by independent component analysis[J].IEEE Transactions Neural Networks,2002,13(6):1450-1464.
[5]TAKACSB.Comparing face images using the modif ied Hausdorffdistance[J].Pattern Recognition,1998,31(12):1873-1881.
[6]WISKOTT L,FELLOUSJ M,KRUGERN,von DER M C.Face recognition by elastic bunch graph matching[J].IEEE Transactions Pattern Analysis and Machine Intelligence,1997,19(7):775-779.
[7]DENIZ O,CASTRILLON M,HERNANDEZ M.Face recognition using independent component analysis and support vector machines[J].Pattern Recognition Letters,2003,24(13):2153-2157.
[8]TSALAKANIDOU F,TZOVARAS D,STRINTZIS M G.Use of depth and color eigenfaces for face recognition[J].Pattern Recognition Letter,2003,24(9/10):1427-1435.
[9]王躍明,潘綱,吳朝暉.三維人臉識(shí)別研究綜述[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2008,20(7):819-829.WANG Yueming,PAN Gang,WU Zhaohui.A survey of 3D face recognition[J].Journal of Computer-Aided Design&Computer Graphics,2009,20(7):819-829.(in Chinese)
[10]BUSTARD J,NIXON M.3D morphable model construction for robust ear and face recognition[C]//Computer Vision and Pattern Recognition,2010:2582-2589.
[11]ZHAOW,CHELLAPPA R.Robust face recognition using symmetric shape-from-shading[R].Center for Automation Research,1999.
[12]WU J,SMITH W,HANCOCK E.Facial gender classif ication using shape-from-shading[J].Image and Vision Computing,2010,28(6):1039-1048.
[13]JACEK K,PRZEMYSLAMR.Pose invariant face recognition method using stereo vision[J].Computer Recognition Systems 4,2011:13-22.
[14]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2008,30(2):328-341.
[15]GEIGER A,ROSER M,URTASUN R.Efficient largescale stereo matching[C]//Asian Conference on Computer Vision,2011:25-38.
[16]鄧亞峰,蘇光大,傅博.一種基于AdaBoost的快速動(dòng)態(tài)人臉檢測(cè)算法[J].計(jì)算機(jī)工程,2006,32(11):222-224.DENG Yafeng,SU Guangda,FUBo.An algorithm of fast face detection in video based on Adaboost[J].Computer Engineering,2006,32(11):222-224.(in Chinese)
[17]顧華,蘇光大,杜成.人臉關(guān)鍵特征點(diǎn)的自動(dòng)定位[J].光電子激光,2004,15(8):975-979.GU Hua,SU Guangda,DU Cheng.Automatic localization of the vital feature points on human faces[J].Journal of Optoelectronics Laser,2004,15(8):975-979.(in Chinese)
[18]HIRSCHMULLER H.Stereo processing by semiglobal matching and mutual information[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2008,30(2):328-341.
[19]DINGJ J.Time-frequency analysis and wavelet transform[D].Taipei:National Taiwan University,2007.