摘要:傳統(tǒng)的人臉識別方法,都是基于人臉的二維與非剛性編碼技術(shù),存在著較為明顯的缺陷。因此,提出一種三維人臉骨骼識別框架,主要解決了三維人臉姿態(tài)的規(guī)范化。實(shí)驗(yàn)表明,可以有效地提高人臉的識別率。
關(guān)鍵詞:人臉骨骼識別;測地距離;PCA
0 引言
當(dāng)前的人臉識別系統(tǒng),采用了多種不同的構(gòu)造模型。如主流構(gòu)造模型有基于器官的方法和基于模板的方法來構(gòu)造模型,但它們都存在一個共同的特點(diǎn),就是構(gòu)造的對象都非剛性,必然受到光照、表情、服飾或其它遮隱物的影響,計算復(fù)雜,識別率不高。本文提出了一種采用骨骼模型構(gòu)造三維人臉模型的方式,構(gòu)造的對象是剛性物體,克服了人臉形變所帶來的識別率不高的問題。
1 人臉骨骼模型的獲取
現(xiàn)在,國外有許多X光機(jī),可以直接拍攝人臉的三維骨骼,如圖1所示,就是X光機(jī)拍攝到的人體骨骼。
為了獲取人臉的三維骨骼模型,將人臉骨骼切割出來。利用三維人臉骨骼所有頂點(diǎn)以及頂點(diǎn)方向分布,將三維人臉骨骼頂點(diǎn)集合設(shè)定為最小二乘擬合平面。
在最小二乘擬合平面中,首先定位出原始模型的鼻尖骨點(diǎn),然后按照測地距離度量,切割原始三維人臉骨骼模型,得到三維人臉骨骼模型,最后估計三維人臉骨骼模型姿態(tài),并將其旋轉(zhuǎn)至規(guī)范的正面姿態(tài)。
1.1 定位鼻尖點(diǎn)
為了定位三維人臉模型,必須先確定某點(diǎn)為參考點(diǎn)。對給定的人臉骨骼,利用最小二乘方法擬合一個過人臉骨骼模型所有頂點(diǎn)的平面,如圖2所示。
將人臉骨骼切割為兩部分,在位于最小擬合二乘平面上的那部分點(diǎn)集中尋找距離最小二乘擬合平面最遠(yuǎn)的頂點(diǎn),記為三維人臉模型的鼻尖點(diǎn)。
在定位了三維人臉骨骼模型之后,需要對原始模型做處理,定位出提取識別中起關(guān)鍵作用的面部骨骼區(qū)域,以便于人臉規(guī)范化與后續(xù)的比對處理。
1.2 測地距離的計算
人臉骨骼并不是一個剛性物體,它的某些部位(如下頜骨)會隨表情的變化而發(fā)生變形。文獻(xiàn)認(rèn)為由于表情變化引起的人臉(骨骼)變形可以看作是一個等距(保長)的變換。這些變換并不拉伸與破壞面部骨骼曲面,或者更嚴(yán)格地說,它不改變面部骨骼曲面上的度量,因此人臉骨骼曲面的一些內(nèi)在幾何屬性是與表情無關(guān)的。從而,為了得到人臉的一個表情無關(guān)的表示,也等價于尋找人臉骨骼曲面的一個等距表示。文獻(xiàn)在人臉上放置了133個標(biāo)記點(diǎn),并且跟蹤由于表情變化引起的這些點(diǎn)之間的距離變化。實(shí)驗(yàn)結(jié)果表明由于表情變化引起的測地距離的改變量不到歐氏距離改變量的1/2,當(dāng)然對人臉骨骼的影響更小,幾乎可以忽略不計。
在文獻(xiàn)中,sethlan(1996)提出了一個高效的數(shù)值計算格式,稱為Fast Marching Method(FMM),它能夠在O(N)步內(nèi)計算一個平面上從一個源點(diǎn)到另外N個點(diǎn)的距離。FMM是基于求解短時矩方程(eikonal euqation)的迎風(fēng)格式的差分逼近,短時矩方程是wave propagation equat-ion‖(x)=1 ‖的微分形式,其中v:表示從源點(diǎn)s1,…,sk開始的距離映射函數(shù),v(si)=O為上述方程的邊界條件。距離映射從源點(diǎn)出發(fā),逐步向外傳播。
在文獻(xiàn)中FMM被擴(kuò)展到三角網(wǎng)格流形(TMTD)上。經(jīng)典的FMM是在矩形網(wǎng)格上進(jìn)行的,每次被更新的網(wǎng)格點(diǎn)都包含在—個直角三角形中。在三角網(wǎng)格流形的情形中,主要針對銳角三角形進(jìn)行處理,如果要更新的網(wǎng)格點(diǎn)包含在一個鈍角三角形中,文獻(xiàn)提出了一個通過展開鄰近三角片的方法來分裂鈍角三角形。本文求解測地距離的方法基于文獻(xiàn)。
1.3 測地模型
在前期處理階段,我們需要提取三維人臉骨骼模型的面部區(qū)域。關(guān)鍵在于首先要在人臉骨骼上定位一個位置固定的源點(diǎn),本文使用上一小節(jié)定位出的鼻尖點(diǎn)作為源點(diǎn)。其次需要找到在源點(diǎn)周圍的一個等距(在測地距離意義下)區(qū)域。測地模型為該區(qū)域的內(nèi)部,原始三維人臉骨骼模型中在該區(qū)域外面的點(diǎn)都被移除。這能保證我們在幾何連續(xù)的意義下切割得到人臉骨骼的面部區(qū)域,同時由于采用測地距離度量,因此切割得到的人臉骨骼面部區(qū)域不受表情的影響。
測地模型是通過計算環(huán)繞三維人臉鼻尖點(diǎn)的一個區(qū)域而得到的,如圖3所示。測地模型的半徑是經(jīng)驗(yàn)數(shù)據(jù),是多次試驗(yàn)結(jié)果的總結(jié),半徑在80~110mm范圍內(nèi)波動,本文使用100毫米。我們使用Fast Marching Method來計算測地距離,切割之后得到的測地模型包含大約4 000~5 000個頂點(diǎn)。
2 三維人臉骨骼模型的規(guī)范化
得到測地模型之后,主要通過對測地模型做PCA分析,估計并校準(zhǔn)人臉骨骼姿態(tài)。令S(P,K)表示人臉測地模型,其中P表示N個點(diǎn)pi的集合,,1≤i≤N,K是一個抽象單純復(fù)形(alstract Simplicial complex),它包含與頂點(diǎn)pi相關(guān)的一些信息:頂點(diǎn)v={i}∈K,{i,j}∈K以及三角面f={i,J,k}∈K。令Os表示三維人臉測地模型S(P,K)的質(zhì)心,我們首先計算測地模型頂點(diǎn)分布的協(xié)方差矩陣如下:
通過對C做主成分分析(PCA),我們得到C的三個特征值λ1≥λ2≥λ3,以及與這三個特征值相對應(yīng)的三個特征向量v1,v2,v3。通常人臉骨骼都會比較長,也就是說人臉骨骼垂直方向的長度大于水平方向的長度。因此,協(xié)方差陣C會有三個不同的特征向量。特征向量v3表示測地模型的最小二乘擬合平面的法向量,特征向量v1,表示測地模型垂直方向,特征向量v2對應(yīng)與測地模型的水平方向。PCA算法的復(fù)雜度為O(N)。
取Os為原點(diǎn),v1為坐標(biāo)x-軸,v3為坐標(biāo)z-軸,我們定義一個新的右手坐標(biāo)系。這個坐標(biāo)系反映了人臉骨骼的姿態(tài),并且只與三維人臉骨骼模型的頂點(diǎn)分布有關(guān)。通過將測地模型旋轉(zhuǎn)到這個新的坐標(biāo)系下,可以達(dá)到校準(zhǔn)人臉骨骼姿態(tài)的目的。過程如下:
其中A表示從原始坐標(biāo)系旋轉(zhuǎn)到新坐標(biāo)系的旋轉(zhuǎn)矩陣,A中的V表示C的特征向量v1,v2,v3的分量。效果如圖4所示。
測地模型在三維人臉的規(guī)范化在后續(xù)比對中起到了非常重要的作用。
3 實(shí)驗(yàn)結(jié)果
為檢測本構(gòu)造在人臉識別中的識別率,我們采用平均的Hausdorff距離(MHD),進(jìn)行相似性比對,在相同條件進(jìn)行5組,每組100次蒙特卡洛仿真,比較基于特征的人臉識別與基于模板的人臉識別率,得到識別率如表1所示。
4 結(jié)論
本文構(gòu)造了一種三維人臉骨骼模型,它以三維人臉骨骼的擬合平面和鼻尖定位作為模型的基本骨架,通過測地模型的計算,消除了人臉姿態(tài)的變化,然后作PCA分析,歸一化人臉骨骼標(biāo)準(zhǔn)坐標(biāo)進(jìn)行識別,實(shí)驗(yàn)表明,該方法可以提高人臉的識別率。