專利名稱:一種基于區域分割和分段學習的三維人臉動畫制作的方法
技術領域:
本發明涉及三維人臉網格的區域劃分的方法,涉及人臉表情運動和三維人臉網格變形的方法,屬于計算機三維動畫技術領域。
背景技術:
三維人臉動畫技術最早的工作開始于1972年。其后的學者做了很多工作,以期能夠生成逼真生動的三維人臉動畫。但由于人臉的解剖學結構非常復雜,細微的非剛性運動難以用數學建模,同時,人們對人臉外觀的敏感性,使得這一課題非常困難。目前真實感三維人臉動畫的工作取得了一些進展,基本上可以分為如下幾類 基于插值的方法最早的人臉動畫是基于插值的方法。首先由動畫師制作一些特定的人臉表情關鍵幀,然后用線性插值在這些關鍵幀之間建立光滑的過渡。這種方法主要依靠動畫師的個人能力,而且比較耗時。
基于自由變形的方法自由變形的方法把三維人臉動畫轉化為一個曲面變形的問題。由若干控制點組成了一個包圍體,包圍體的運動直接驅動人臉網格的變形。這種方法輸入限制少,但往往需要對人臉進行區域劃分,這個過程對一般用戶來說比較困難和繁瑣;而且由于變形體沒有考慮人臉網格本身的拓撲結構,所以變形往往會產生一些瑕疵。
基于物理建模的方法首先對人臉的解剖學結構,如肌肉、頭骨和皮膚進行建模,然后運動捕獲數據則可以轉化為肌肉收縮的參數,驅動模型的人臉動畫。這種方法產生的符合人臉的運動特性,比較真實,但計算代價比較高,且難以快速對新角色建立物理模型。
基于例子的方法三維人臉動畫被看作是一些特定實例的線性組合。運動捕獲數據中的運動向量,直接被用來估計線性組合的參數和插值系數。預先定義的實例則通過這些參數和系數被混合在一起。這類方法比較穩定和準確,但建立實例的過程比較昂貴和繁瑣。
表情克隆的方法為了將已有的三維網格運動數據應用到新的三維人臉模上,運動位移需要針對網格的局部幾何特征進行旋轉和縮放。表情克隆可以解決不同三維人臉曲面網格之間的運動重定向問題。
實時人臉動畫捕獲通過計算機視覺算法,視頻中的角色的三維形狀和彩色紋理被實時重建。這種方法可以對特定角色進行逼真生動的動畫創作,但產生的動畫難以轉移到其他角色上。
發明內容
本發明的目的在于提供一種基于區域分割和分段學習的三維人臉動畫制作的方法。此方法可以對單個人臉模型進行自動區域分割,并通過分段徑向基函數對人臉非剛性運動進行建模,從而生成具有真實感的人臉動畫;同時避免了對人臉功能區域進行手工劃分的繁瑣,具有較好的實時性和可擴展性。
為實現上述發明目的,本發明采用下述的技術方案 基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于該方法包括如下步驟首先獲取稀疏的三維運動捕獲數據和三維人臉曲面網格;然后在三維人臉網格上標定運動捕獲數據的對應控制點;采用聚類算法對三維人臉模型進行區域分割;分割得到的曲面片來訓練分段徑向基函數,控制三維人臉曲面網格的變形;對邊緣運動采用改進的Voronoi-Cell算法進行融合。
所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的獲取稀疏三維運動捕獲數據在人面部的關鍵運動部位粘貼反光標記點,采用三維運動捕獲設備,對反光標記點進行視覺跟蹤,對面部標記點的三維空間位置進行三維重建,然后用文件的方式記錄。
所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的獲取三維人臉曲面網格數據采用光學三維掃描儀,獲取人臉的三維幾何信息和彩色紋理信息,并用三維繪圖軟件包繪制在顯示器上。
所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的在三維人臉網格上標定運動捕獲數據的對應控制點對于已經獲取的人臉的三維模型,采用三維繪圖軟件包繪制在顯示器上,用計算機鼠標交互方法,對人臉模型上的關鍵運動部位進行選取,所選取的特征點與所獲取的運動數據對應的特征點一致,建立運動捕獲數據和三維曲面網格特征點的對應關系。
所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的采用聚類算法對三維人臉模型進行區域分割基于運動捕獲數據的位移向量的余弦距離和三維人臉網格頂點的短程距離對運動捕獲數據標記點進行聚類;采用短程距離,即三維曲面上的最短路徑,采用圖論中的最短路徑算法,將兩點之間的最短路徑作為距離度量,用來表達三維曲面上的拓撲結構;把輸入的人臉網格看作一個無向圖,其中無向圖的結點和弧由人臉網格的頂點和邊表示,由人臉網格構造的無向圖構造一個鄰接矩陣,無向圖上結點
和
之間的短程距離δij由鄰接矩陣的最短路徑算法,即Dijkstra算法得到在三維人臉網格上的控制點到其他所有點的短程距離,并以矩陣的形式存儲起來; 將余弦距離和短程距離的復合相似度函數嵌入到單連接階層聚類算法包括如下 1)在一個特征幀Ei,0≤i≤NF′,其中E0是帶有中立表情的初始幀,對兩個標記點mki,mji,1≤k,j≤NM,其相似度量函數為1≤i≤NF′1≤k,j≤NM。其中pki,pji是mki,mji在人臉網格上的對應特征點。對所有特征幀計算S(mki,mji)取最大值作為mk,mj的相似度1≤i≤NF′。
2)將每一個標記點分為一個類別,類之間的相似度定義為其包含的標記點之間的相似度; 3)找到最大相似度的兩個類并將其合并為一類; 4)計算新產生的類與其他類的相似度,類之間的相似度定義為一個類中的任意標記點與另一類中的任意標記點之間的最大相似度; 5)重復步驟2和3直到類之間的最大相似度小于某個閾值θ。所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的分割得到的曲面片來訓練分段徑向基函數,控制三維人臉曲面網格的變形在分割后的人臉曲面片中中,學習分段徑向基函數作為能量優化的映射函數,徑向基函數有多種形式,采用多二次徑向基函數,其形式如下其中
是輸入數據的向量表示,即三維人臉網格頂點的初始位置,W=[w1,w2,...wn]T是權值參數,其中n是控制點的個數,γji是輸入頂點j和第i個控制點之間的距離,σi是松弛系數。
所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的對邊緣運動采用改進的Voronoi-Cell算法進行融合對于曲面片沒有覆蓋到的邊緣頂點運動,把聚類后的標記點作為虛擬質心,對人臉網格上的頂點進行分類,為了判斷某一個頂點是否屬于某一個虛擬質心,首先計算這個頂點到每一個質心的距離,對每組標記點的對應特征點計算最小包圍盒,然后采用啟發式規則判定一個頂點是否屬于一個或多個標記點組; 條件1頂點位于此標記點類的最小包圍盒內; 條件2頂點到此標記點類的距離相比其他類的距離為最短; 啟發式規則1如果頂點和一個標記點類同時滿足以上兩個條件,頂點屬于此標記點類; 啟發式規則2如果頂點和一個標記點類不能同時滿足以上兩個條件,頂點被認為是邊緣頂點并被歸類到滿足Dist(Ci,vj)≤α·si的一個或多個組,其中,Dist是距離函數,Ci是質心,vj是頂點坐標,α>0是放大因數,si是松弛系數; 假設A={Ci|Dist(Ci,vj)≤α·si}是頂點vj的相鄰質心的集合,為vj分別分配一組權重wi,j表示vj屬于Ci的程度,作為加權計算的權重。
本發明的有益效果 1、三維運動捕獲數據給三維人臉動畫提供準確的時序保證,三維人臉網格數據則提供了準確的空間保證。三維運動捕獲數據和三維人臉網格數據的結合,可以得到時空上高精度的三維人臉動畫; 2、引入兩層聚類算法對人臉網格數據進行區域劃分,避免了自由變形方法中的人臉功能區域劃分的復雜和繁瑣,提高了人臉動畫的制作效率; 3、以區域分割后的曲面片學習分段函數,運動捕獲數據中的控制點位移作為參數,對人臉曲面進行變形,并對曲面片沒有覆蓋的邊緣區域進行融合處理,可以實時生成具有真實感的三維人臉動畫,同時保證了人臉肌肉運動屬性的正確性和變形處理的實時性要求。
下面結合附圖和具體實施對本發明作進一步的說明; 圖1(a)為本發明的三維運動捕獲數據; 圖1(b)為本發明的三維人臉模型; 圖2為本發明的Voronoi-Cell融合算法的示意圖邊緣頂點的運動由相鄰單元的運動加權計算。
具體實施例方式 基于區域分割和分段學習的三維人臉動畫制作的方法,可以對單個人臉模型進行自動區域分割,并通過分段徑向基函數對人臉非剛性運動進行建模,從而生成具有真實感的人臉動畫。首先獲取稀疏的三維運動捕獲數據和三維人臉曲面網格;然后在三維人臉網格上標定運動捕獲數據的對應控制點;采用雙層聚類算法對三維人臉模型進行區域分割;分割得到的曲面片來訓練分段徑向基函數;邊緣運動采用改進的Voronoi-Cell算法進行融合。該方法包括如下步驟 (1)獲取稀疏三維運動捕獲數據通過快速光學攝像機,將綁有反光標記的人臉運動采集,然后用文件的方式記錄。
(2)獲取三維人臉曲面網格數據采用光學三維掃描儀,將特定人臉的三維信息和彩色紋理信息記錄,并用三維繪圖軟件包繪制在顯示器上。
(3)在三維人臉網格上標定運動捕獲數據的對應控制點將運動捕獲數據中的全部或者部分標記點對應的在三維人臉曲面網格上指名,建立運動捕獲數據和三維曲面網格的對應關系。
(4)采用雙層聚類算法對三維人臉模型進行區域劃分基于運動捕獲數據的位移向量的余弦距離和三維人臉網格頂點的流形距離對運動捕獲數據標記點進行聚類,通過聚類后的標記點組對人臉模型的頂點進行分割;所述的采用短程距離,即三維曲面上的最短路徑對三維曲面上的拓撲結構和縫隙進行建模采用圖論中的最短路徑算法,將兩點之間的最短路徑作為它們之間的距離度量。
(5)分割得到的曲面片所覆蓋的運動捕獲標記點作為控制頂點,用來訓練分段徑向基函數,指導曲面片上其他三維人臉網格頂點運動;曲面片沒有覆蓋到的邊緣頂點運動采用改進的Voronoi-Cell算法進行融合。
實施例 首先可通過美國MotionAnalysis公式的Hawk三維運動數據捕獲設備采集人臉的運動數據,表演者的面部主要特征點用反光材料做標記,如圖1(左)所示,或者從計算機存儲設備中讀取已經捕獲的三維運動數據;另外,通過3DCamega三維掃描儀建立三維人臉網格模型,或者從計算機存儲設備中讀取已有的三維人臉網格模型,采用三維軟件包將三維人臉網格模型繪制在顯示器上。通過計算機輸入設備在三維人臉網格上標定運動捕獲數據的對應控制點,即將運動捕獲數據中的全部或者部分標記點對應的在三維人臉曲面網格上標明,建立運動捕獲數據和三維曲面網格的對應關系,如圖1(右)所示。
在建立了三維人臉網格以后,我們用短程距離來對人臉的拓撲結構進行建模。我們把輸入的人臉網格看作一個無向圖,其中無向圖的結點和弧由人臉網格的頂點和邊表示。根據圖論,由人臉網格構造的無向圖可以構造一個鄰接矩陣。由圖1(b)所示的三維人臉網格構造的鄰接矩陣由5832行和5832列構成,只有22984個非零元素,即,非零元素只有0.068%。無向圖上結點
和
之間的短程距離δij可以由鄰接矩陣的最短路徑算法,即Dijkstra算法得到我們計算了在三維人臉網格上的控制點到其他所有點的短程距離,并以矩陣的形式存儲起來。
本文將余弦距離和短程距離的復合相似度函數嵌入到單連接階層聚類算法,其流程如下 6)將每一個標記點分為一個類別,類之間的相似度定義為其包含的標記點之間的相似度; 7)找到最接近(最大相似度)的兩個類并將其合并為一類; 8)計算新產生的類與其他類的相似度,類之間的相似度定義為一個類中的任意標記點與另一類中的任意標記點之間的最大相似度; 9)重復步驟2和3直到類之間的最大相似度小于某個閾值θ。閾值θ經過實驗確定為0.75。
把聚類后的標記點作為虛擬質心,對人臉網格上的頂點進行分類。為了判斷某一個頂點是否屬于某一個虛擬質心,首先計算這個頂點到每一個質心的距離。同時,我們對每組標記點的對應特征點計算最小包圍盒。然后采用啟發式規則判定一個頂點是否屬于一個或多個標記點組。
條件1頂點位于此標記點類的最小包圍盒內; 條件2頂點到此標記點類的距離相比其他類的距離為最短; 啟發式規則1如果頂點和一個標記點類同時滿足以上兩個條件,頂點屬于此標記點類; 啟發式規則2如果頂點和一個標記點類不能同時滿足以上兩個條件,頂點被認為是邊緣頂點并被歸類到滿足Dist(Ci,vj)≤α·si的一個或多個組,其中α>0是放大因數,可以用來控制單元邊緣的寬度。本實施例中α=1。
假設A={Ci|Dist(Ci,vj)≤α·si}是頂點vj的相鄰質心的集合,為vj分別分配一組權重 表示vj屬于Ci的程度。
在分割后的人臉曲面片中中,學習分段徑向基函數作為能量優化的映射函數。徑向基函數有多種形式,我們采用了多二次徑向基函數(Multi-quadricsRBF),其形式如下 其中
是輸入數據的向量表示,即三維人臉網格頂點的初始位置,W=[w1,w2,...wn]T是權值參數,其中n是控制點的個數,γji是輸入頂點j和第i個控制點之間的距離,σi是松弛系數。對于邊緣頂點,采用公式1中計算的權重,通過Voronoi-Cell算法進行加權計算。
本實施例通過三維運動捕獲數據給三維人臉動畫提供準確的時序保證,通過三維人臉網格數據則提供了準確的空間保證。三維運動捕獲數據和三維人臉網格數據的結合,可以得到時空上高精度的三維人臉動畫;引入兩層聚類算法對人臉網格數據進行區域劃分,避免了自由變形方法中的人臉功能區域劃分的復雜和繁瑣,提高了人臉動畫的制作效率;以區域分割后的曲面片學習分段函數,運動捕獲數據中的控制點位移作為參數,對人臉曲面進行變形,并對曲面片沒有覆蓋的邊緣區域進行融合處理,可以實時生成具有真實感的三維人臉動畫,同時保證了人臉肌肉運動屬性的正確性和變形處理的實時性要求。
權利要求
1.一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于該方法包括如下步驟
1)首先獲取稀疏的三維運動捕獲數據和三維人臉曲面網格;
2)然后在三維人臉網格上標定運動捕獲數據的對應控制點;
3)采用聚類算法對三維人臉模型進行區域分割;
4)分割得到的曲面片來訓練分段徑向基函數,控制三維人臉曲面網格的變形;
5)對邊緣運動采用改進的Voronoi-Cell算法進行融合。
2.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的獲取稀疏三維運動捕獲數據在人面部的關鍵運動部位粘貼反光標記點,采用三維運動捕獲設備,對反光標記點進行視覺跟蹤,對面部標記點的三維空間位置進行三維重建,然后用文件的方式記錄。
3.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的獲取三維人臉曲面網格數據采用光學三維掃描儀,獲取人臉的三維幾何信息和彩色紋理信息,并用三維繪圖軟件包繪制在顯示器上。
4.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的在三維人臉網格上標定運動捕獲數據的對應控制點對于已經獲取的人臉的三維模型,采用三維繪圖軟件包繪制在顯示器上,用計算機鼠標交互方法,對人臉模型上的關鍵運動部位進行選取,所選取的特征點與所獲取的運動數據對應的特征點一致,建立運動捕獲數據和三維曲面網格特征點的對應關系。
5.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的采用聚類算法對三維人臉模型進行區域分割基于運動捕獲數據的位移向量的余弦距離和三維人臉網格頂點的短程距離對運動捕獲數據標記點進行聚類;采用短程距離,即三維曲面上的最短路徑,采用圖論中的最短路徑算法,將兩點之間的最短路徑作為距離度量,用來表達三維曲面上的拓撲結構;把輸入的人臉網格看作一個無向圖,其中無向圖的結點和弧由人臉網格的頂點和邊表示,由人臉網格構造的無向圖構造一個鄰接矩陣,無向圖上結點
和
之間的短程距離δij由鄰接矩陣的最短路徑算法,即Dijkstra算法得到在三維人臉網格上的控制點到其他所有點的短程距離,并以矩陣的形式存儲起來;
將余弦距離和短程距離的復合相似度函數嵌入到單連接階層聚類算法包括如下
1)在一個特征幀Ei,0≤i≤NF′,其中E0是帶有中立表情的初始幀,對兩個標記點mki,mji,1≤k,j≤NM,其相似度量函數為1≤i≤NF′,1≤k,j≤NM。其中
pki,pji是mki,mji在人臉網格上的對應特征點。對所有特征幀計算S(mki,mji)取最大值作為mk,mj的相似度
2)將每一個標記點分為一個類別,類之間的相似度定義為其包含的標記點之間的相似度;
3)找到最大相似度的兩個類并將其合并為一類;
4)計算新產生的類與其他類的相似度,類之間的相似度定義為一個類中的任意標記點與另一類中的任意標記點之間的最大相似度;
5)重復步驟2和3直到類之間的最大相似度小于某個閾值θ。
6.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的分割得到的曲面片來訓練分段徑向基函數,控制三維人臉曲面網格的變形在分割后的人臉曲面片中中,學習分段徑向基函數作為能量優化的映射函數,徑向基函數有多種形式,采用多二次徑向基函數,其形式如下其中
是輸入數據的向量表示,即三維人臉網格頂點的初始位置,W=[w1,w2,...wn]T是權值參數,其中n是控制點的個數,γji是輸入頂點j和第i個控制點之間的距離,σi是松弛系數。
7.根據權利要求1所述的一種基于區域分割和分段學習的三維人臉動畫制作的方法,其特征在于,所述的對邊緣運動采用改進的Voronoi-Cell算法進行融合對于曲面片沒有覆蓋到的邊緣頂點運動,把聚類后的標記點作為虛擬質心,對人臉網格上的頂點進行分類,為了判斷某一個頂點是否屬于某一個虛擬質心,首先計算這個頂點到每一個質心的距離,對每組標記點的對應特征點計算最小包圍盒,然后采用啟發式規則判定一個頂點是否屬于一個或多個標記點組;
條件1頂點位于此標記點類的最小包圍盒內;
條件2頂點到此標記點類的距離相比其他類的距離為最短;
啟發式規則1如果頂點和一個標記點類同時滿足以上兩個條件,頂點屬于此標記點類;
啟發式規則2如果頂點和一個標記點類不能同時滿足以上兩個條件,頂點被認為是邊緣頂點并被歸類到滿足Dist(Ci,vj)≤α·si的一個或多個組,其中,Dist是距離函數,Ci是質心,vj是頂點坐標,α>0是放大因數,si是松弛系數;
假設A={Ci|Dist(Ci,vj)≤α·si}是頂點vj的相鄰質心的集合,為vj分別分配一組權重表示vj屬于Ci的程度,作為加權計算的權重。
全文摘要
本發明公開了一種基于區域分割和分段學習的三維人臉動畫制作的方法。它首先獲取稀疏的三維運動捕獲數據和三維人臉曲面網格;然后在三維人臉網格上標定運動捕獲數據的對應控制點;分離運動捕獲數據中的剛性和非剛性運動,并對齊運動捕獲數據和靜態人臉模型;基于運動捕獲數據的位移向量的余弦距離和三維人臉網格頂點的流形距離對人臉模型的頂點進行聚類;對分割得到的曲面片訓練分段徑向基函數;邊緣運動采用改進的Voronoi-Cell算法進行融合。本發明可以對單個人臉模型進行自動區域分割,并通過分段徑向基函數對人臉非剛性運動進行建模,從而生成具有真實感的人臉動畫。
文檔編號G06T15/00GK101216949SQ20081005912
公開日2008年7月9日 申請日期2008年1月14日 優先權日2008年1月14日
發明者莊越挺, 王玉順, 俊 肖, 飛 吳 申請人:浙江大學