摘 要:描述了一個能夠快速精確地對三維人臉姿態進行自動估計的系統,提出了利用人臉的反射對稱特性自動估計三維人臉姿態的方法,通過擴展高斯圖像及最小包圍球來得到三維人臉對稱平面,利用搜索得到的鼻尖頂點對人臉進行估計,然后對估計在規定范圍內進行修正,最終得到精確的估計結果。以三維掃描儀掃描的真實人臉數據作為輸入對系統進行了驗證,實驗表明該方法不但具有很好的精確性和魯棒性,而且能夠很好地應用到實際應用中。
關鍵詞:三維人臉;姿態估計;反射對稱;擴展高斯圖像
中圖分類號:TP391 文獻標志碼:A
文章編號:1001-3695(2008)07-2187-03
Estimating 3D facial pose with symmetry
LUO Hengxi, CHEN Leiting, HE Mingyun
(School of Computer Science Engineering, University of Electronic Science Technology of China, Chengdu 610054,China)
Abstract:This paper described a system that could be used to estimate 3D facial pose rapidly and accurately, and proposed a robust pose estimation method for 3D face models,which was based on facial reflective symmetry. With extended Gaussian image and smallest enclosing ball theories, the method detected the symmetry plane of 3D face at first, and searched the tip of nose, then estimated the pose approximately. In order to obtain more accurate result, the method corrected the approximate estimation in a given confine. The experiments using real face data obtained by 3D scanner, demonstrated the effectiveness as well as robustness.
Key words:3D face; pose estimation; reflective symmetry; extended Gaussian Image
三維人臉動畫、檢測以及識別等方面的研究一直是計算機視覺和模式識別領域最活躍的研究熱點。對于上面這些應用,很關鍵的一個步驟就是要保證三維模型特征描述具有針對平移、旋轉、尺度大小及方位變換的不變性和魯棒性。目前,實現特征描述不變性的方法主要有三種:
a)使用主成分分析(principal component analysis, PCA)等方法對三維模型坐標進行標準化,計算其坐標框架,但是PCA對形狀的擾動非常敏感,以至于得不到理想的效果[1]。
b)將所有待比較的三維模型兩兩之間進行坐標對齊,這種方法由于極為費時而很少被采用。
c)定義并提取本身具有不變特征的特征描述。例如,Suzuki等人提出的形狀特征只對繞坐標軸90°范圍內的旋轉變換保持不變性[2];Kazhdan等人提出的反射對稱特征描述只具有平移和尺度不變性[3]。然而,這些特征描述所具有的不變性往往是不全面的。而且,大多數這類特征的計算有時也需要在一個歸一化的坐標系內完成。因此,對三維人臉模型的坐標進行標準化是非常有必要的。
模型坐標的標準化又稱姿態估計。在三維空間中,三維模型可以具有任意方位和角度,因此,為了保證特征描述對于平移、旋轉等變換的不變性,在進行后續操作之前,必須先將三維模型變換至一個標準坐標系的范圍內。但是,在大多數情況下,人們都是手動完成這一步驟,這樣不僅費時而且不精確。
1 系統概述
圖1為整個系統的處理流程框圖。首先,讀取三維人臉模型數據,構造擴展高斯圖像;然后利用擴展高斯圖像求出三維人臉模型的對稱平面法向量;計算模型的最小包圍球,以球心作為模型的中心,得到對稱平面方程;利用得到的對稱平面對三維人臉模型的姿態進行初步估計;最后,對模型與對稱平面交集點進行判定,得到歐拉距離最大點,再以該點為中心在給定鄰域內搜索給定坐標軸向最大值,從而得到鼻尖點,利用鼻尖點到對稱平面的距離進行修正,獲得更為精確的姿態估計。
2 求解三維人臉的對稱平面
在 n維歐式空間 En中對稱可以用三個轉換來定義,反射、旋轉和平移。假設 S是 En的一個子集,給定一個變換T,如果 T(S)=S,那么 S關于T對稱。反射對稱存在一個反射平面,由反射平面所分割的左右兩個空間存在鏡像關系。旋轉對稱存在一個對稱軸和一個對稱級(order of symmetry) f(f≥2)。如果一個物體有對稱級 f,那么當它繞對稱軸旋轉 (m×360/f)°(1≤m≤f)后,它將與原位置重合。
對于人臉,總是可以近似地認為左右兩半臉呈反射對稱關系。因而通過求解人臉的對稱平面,初步估計人臉的姿態。Podolak等人[1]描述了一種復雜但更為通用的算法求解三維物體反射對稱,然而對于人臉這種具有明顯反射對稱特征的物體,則需要一種更加簡化、快速且精確的方法,以便能夠在非常短的時間內給出最優解。本文采用Sun等人在其論文中所闡述的理論[4],利用擴展高斯圖像[5]獲得三維模型對稱平面的法向量,在此基礎上將模型的最小包圍球的球心作為模型的中心,得到對稱平面方程。
2.1 對稱平面法向量
通常,求一個物體的對稱有兩種方法:a)利用物體的幾何信息來構造一個中間表示,然后利用此中間表示來求對稱。此方法適合具有細節信息豐富的物體,如人臉。b)通過提取物體的結構信息來求對稱。此方法將物體簡化抽象后,利用圖論、拓撲學等理論來得到對稱信息。此方法適合具有明顯結構特征的物體。
高斯擴展圖像是一種中間表示,它具備下列性質[5]:
a)如果一個物體是對稱的,那么它所對應的EGI也是對稱的,且對稱平面的法向量相同;
b)當轉動物體時,它所對應的EGI也以相同方式轉動;
c)EGI的對稱平面必定通過高斯球的球心。因此,可以基于EGI來計算三維人臉模型的對稱平面。
EGI是一種形狀表示,通過一個定義在單位球(稱為高斯球,Gauss sphere)上的函數來描述[4]:
v=K()
(1)
其中: 為單位球上一點的單位法向量; v為在 方向上的值。
一旦構造好三維人臉模型的EGI,對稱平面的法向量就可以直接從EGI求得而不再需要原模型數據。
2.1.1 構造EGI
實際上,可以將EGI看成是一個有向柱狀圖(orientation histogram):對于高斯球上的點 pi有值Mi,{{p
在計算機中,通常的做法是將球體分割為單元(cell)來表示高斯球上的信息。筆者通過下列步驟構造高斯球:
a)將20面體的每個三角面片通過連接三邊中點細分為四個更小的三角面片;
b)歸一化這些新得到的三角頂點,使其位于一個單位球上;
c)重復以上步驟,直到獲得滿意的解析度為止。
為了在計算速度與精度之間取得平衡,筆者通過五次迭代來得到一個適中的解析度,如圖2(b)所示。將式(1)離散化,用每個單元的中心代表整個單元上的點:
其中: i為第 i個單元的單位法向量; sk為網格模型上第 k個三角面片的面積;映射 K滿足:
其中:#8226;表示兩個向量的點積; k為網格模型上第 k個三角面片的單位法向量。
2.1.2 求對稱平面的法向量
由于三維模型與EGI的對稱平面的法向量是相同的,只需要根據模型的EGI來求對稱平面的法向量。為了尋找與最優對稱相關的向量,一種解決方案就是計算EGI上每個面片的方向,但是如果面片數量非常大,將無法通過計算機來求解。為了減少求解過程中的搜索空間,筆者主要基于Minovic等人給出的理論[6]:一個物體的任何對稱平面必與一個主軸正交。這樣,就只需將搜索范圍限定在主軸方向。
為了得到EGI的主軸,首先需要計算EGI的協方差矩陣 C [7]。該矩陣從EGI的二階中心矩得到:
在離散情況下,二階中心矩由下式得到:
其中: (x,y,z)是EGI的質心,由一階矩得到:
在離散情況下,一階矩的計算式如下:
其次,利用式(4)構造EGI的慣性矩陣 J:
其中:tr(#8226;)表示一個矩陣的跡; I是一個3×3單位矩陣。
最后,求解 J的特征向量,所得即是EGI的主軸。
為了在EGI上搜索最優對稱,筆者引入了平面反射對稱度的定義:以該平面進行反射對稱后,有向柱狀圖與自身的相關性。一個平面的反射對稱度通過遍歷有向柱狀圖上的面片,將其值與以平面鏡像后的面片值相乘得到。只有三個主軸方向,以及以它們為中心規定鄰域內的方向作為候選對稱平面法向量。最后,通過求這些平面的對稱度,得到最大對稱度的平面即是最優對稱平面。
2.2 對稱平面方程
在三維歐氏空間中,一個平面可用下面平面方程描述:
其中:是平面的單位法向量;d是常數。
上文中已經利用EGI求出 ,如果已知平面上一點 p就可以解出這個平面方程。對于一般人臉來說,總是可以利用一個球體來近似,而球體的反射對稱平面必定經過球心,因此可以通過將模型的最小包圍球球心作為其對稱平面上的點p。
通過采用Grtner提出的算法[8],筆者獲得了一個理想最小包圍球,通過將包圍球球心坐標代入式(9),得到有一定偏差的對稱平面,如圖3所示。
3 姿態估計
模型的姿態估計又稱為模型坐標的標準化。對一個模型進行姿態估計,首先應該給出一個參考基準,然后以此作為參考給出估計結果。通常,姿態估計的結果可以通過兩種形式給出:a)模型相對參考基準的信息;b)通過變換,將模型直接變換到基準。
由于本文描述的系統會作為一個動畫創作平臺的預處理子系統,本文采用了第二種形式給出結果,以便作為下一階段的輸入。對于參考基準,筆者在右手坐標系上規定:a)模型的中心與坐標原點重合;
b)模型的對稱平面與 YOZ坐標平面重合;
c)三維人臉的鼻尖朝向 Z軸正方向。
對于基準1和2,首先將模型的中心(即包圍球的中心)移到坐標原點 O,此時 O必定位于對稱平面上;然后,通過計算對稱平面與 YOZ平面的夾角 θ,來決定一個旋轉操作。
θ=arccos(1#8226;2)
(10)
其中:1為對稱平面的單位法向量, 2為 YOZ平面的單位法向量。
對于基準3,關鍵是尋找人臉鼻尖位置。通過滿足基準1、2后,可以得到對稱剖面上的輪廓曲線 C,令P1和 P2分別為曲線 C的始端和末端, L是P1與P2之間的線段,如圖4所示。通過下式來定義鼻尖:
其中: dist(#8226;,#8226;)是曲線 C到線段 L的歐拉距離。
利用式(11)得到的近似鼻尖點,完成了初步的姿態估計。可以通過下面公式得到繞 X軸旋轉的角度:
(12)
其中: ON是從坐標原點指向鼻尖向量,是 Z軸的單位向量。
4 修正
由于輸入的三維人臉模型通常會包含噪聲數據,上一章中得到的估計結果會存在偏差。為了讓姿態估計的結果更加精確,采用在上一步姿態估計的基礎上,給定以 N點為中心,半徑為 r的搜索區域,在此區域內搜索一個 z值最大的點N′,則該頂點作為新的鼻尖點,重新調整姿態,獲得一個更為精確的估計。圖5展示了 r=20,搜索步長 Δ=0.5時,得到的N′,圖中灰色標注了整個搜索區域。
5 實驗結果與討論
為了驗證上述理論的正確性,筆者用Polhemus的FastSCAN掃描儀掃描得到的任意姿態真實人臉作為實驗輸入,同時為了降低計算時間,對模型進行了簡化,使其面片數大致保持在7 000 個左右。本文在如下配置的PC上用C++實現:操作系統是Windows XP Professional(SP2),CPU是Intel Pentium4 3.06 GHz,系統內存為1 GB,GPU是nVidia的GeForce 7600GT,顯存為256 MB,顯卡總線為PCIExpress x16。圖(a)顯示了系統的輸入模型;(b)顯示了系統的輸出結果。
在實驗過程中發現,構造EGI時,高斯球的解析度對輸出結果有較大的影響,為了平衡效率和精度,經過反復實驗,得出通過五次迭代所得到的高斯球能很好地滿足要求的結論。表1展示了對10個掃描人臉測試所得到的平均數據。
平均面片數求解對稱平面耗時/s計算最小包圍球耗時/ms姿態估計及修正耗時/ms平均修正次數
7 1826.24746.67234.1532.1
實驗結果表明,當輸入模型含有一定噪聲時,輸出結果仍然能夠滿足要求。但是,當模型含有太多的噪聲,以至于左右半臉差別太大時,就需要擴大修正的搜索領域或者進行多次修正,來提高輸出精度。
6 結束語
本文提出并實現了一種利用人臉具有的反射對稱特性來實現三維人臉模型姿態自動估計的方法,采用真實掃描數據作為輸入,驗證了方法的正確性和魯棒性。從實驗數據中可以看出,求解對稱平面是最耗時的一步,雖然利用EGI作為中間表示比直接對原模型進行操作已經大大降低了復雜度,但是仍然需要對EGI的構造以及對稱平面法向量的求解作進一步的優化,同時考慮如何避免修正或者減少修正次數。
參考文獻:
[1] PODOLAK J, SHILANE P, GOLOVINSKIY A, et al. A planarreflective symmetry transform for 3D shapes[J]. ACM Trans on Graphics, 2006, 25:549-559.
[2]SUZUKI M, KATO T, OTSU N. A similarity retrieval of 3D polygonal models using rotation invariant shape descriptors[C]// Proc of IEEE International Conference on Systems, Man, and Cybernetics. Nashville,Tennessee:[s.n.], 2000: 2946-2952.
[3]KAZHDAN M, CHAZELLE B, BOBKIN D, et al. A reflective symmetry description[C]// Proc of European Conference on Computer Vision. Copenhagen, Denmark:[s.n.], 2002: 642-656.
[4]SUN C, SHERRAH J. 3D symmetry detection using the extended Gaussian image[J]. IEEE Trans PAMI, 1997, 19(2): 164-165.
[5]HORN B. Extended Gaussian image[J]. Proc of IEEE, 1984, 72(12): 1671-1686.
[6]MINOVIC P, ISHIKAWA S, KATO K. Three dimensional symmetry identification, part I: theory[R]. [S.l.]: Kyushu Institute of Technology,1992.
[7]YANG L, ALBREGTSEN F, TAXT T. Fast computation of threedimensional geometric moments using a discrete divergence theorem and a generalization to higher dimensions[J]. CGVIP: Graphical Models and Image Processing, 1997, 59(2): 97-108.
[8]GRTNER B. Fast and robust smallest enclosing balls[C]//Proc of the 7th Annual European Symposium on Algorithms (ESA), Lecture Notes in Computer Science 1643. New York: SpringerVerlag, 1999: 325-338.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。”