專利名稱:一種虛擬人眼部運動控制方法
技術領域:
本發明涉及計算機三維動畫技術領域,尤其涉及一種虛擬人眼部運動控制方法。
背景技術:
人臉表情是人類情感傳遞的一個重要途徑,是人類進行相互交流的基礎。具有真實感的三維人臉動畫有著廣泛的應用領域,可以用來模擬虛擬環境中的虛擬人物,如影視劇中的虛擬人物,還可以應用于計算機仿真、視頻會議、遠程醫療等許多領域,而眼睛作為人類面部情感表現的關鍵載體,對人類情感交流有著重要作用,眼部運動控制及表情仿真直接影響著虛擬人物面部表情合成的真實性,因此,對于人眼模型的運動仿真具有重要意義。
目前人臉面部表情動畫仿真方法主要有基于MPEG-4的人臉表情動畫和基于肌肉模型的表情動畫兩種。
MPEG-4的人臉表情模擬方法是一整套人臉模型化描述方法,包括用于定義人臉模型的面部定義參數FDP (facial define parameters)和一組用于定義人臉部動作的人臉動畫參數FAP(facial animation parameters)。 FDP共包括了 84個特征點的位置信息來定義人臉模型,這些點不僅包括外表看得見的人臉特征點,還包括了舌頭、牙齒等口腔內器官的特征點。FDP參數包括特征點坐標、紋理坐標、網格的標度、紋理面部、動畫定義表等臉部的特征參數。與靜態的FDP參數相對應的是動態的FAP參數,它分為10組,分別描述人面部的68種基本運動和6種基本表情。FAP是一個完整的臉部運動的集合,每種FAP描述人臉某一塊區域在某方向上的運動,左眼和右眼上眼皮的上下運動則分別通過FAP19和FAP20描述,通過將所有FAP結合起來可以表示人臉復雜的表情。
肌肉模型是以人臉的解剖學為基礎開發的,既考慮了臉部的肌肉活動,也考慮了臉部的結締組織層對肌肉運動的影響。這種模型將人臉描述為一種層狀結構的實體,層與層之間由許多彈簧相連,采用跟蹤非剛性的面部肌肉特征運動,以達到合成瞬間表情的目的。Waters模型包括兩類肌肉,產生拉伸的線性肌肉,產生擠壓的括約肌,肌肉擁有向量屬性,獨立與基本的骨骼結構。這使得肌肉模型獨立于特定的臉部拓撲。每塊肌肉都有一個影響區域。特定肌肉的影響隨著肌肉向量點的徑向距離而減小。根
據專利檢索,申請號為200610153032.0,名稱為"一種復雜表情仿真系統及其實現方法"的發明專利申請中就是采用先根據解剖學結構定位出眼皮的控制對象,再通過肌肉模型控制眼部網格點運動的方法實現眼部表情動作仿真。
上述兩種人臉動畫方法主要是先根據一定的規則在三維人臉網格模型上選定控制點,再由控制點的運動位移和它對非控制點的影響因子,計算出非控制點的運動位移,最后根據計算結果移動非控制點,從而驅動三維網格模型運動,實現各種表情。在這兩種方法中都沒有專門針對人眼閉合運動給出具體的網格點運動控制方法。同時,由于受到所選取的控制點位置和數目的限制,大量對眼部運動效果起到重要作用但沒有被選作控制點的其他網格點則只能通過某種控制算法在控制點的驅動下進行位移,實現網格變形,其運動規律不明確,對人眼閉合過程的模擬效果不理想,仿真結果的真實性較差。
發明內容
為了克服現有技術在模擬人眼閉合運動時對網格點的控制不夠精確,仿真結果真實性不強這一缺點,本發明提出了一種新的人眼運動控制方法,以彌補上述兩種方法在網格點運動速度及程度控制方面的不足,提高人眼動畫的真實感。
本發明解決其技術問題所采用的技術方案包括以下步驟-
首先獲取三維人臉網格模型,即采集三維人臉網格模型數據,可以是采用三維激光掃描儀掃描真實人頭生成人臉的三維網格模型,應用此方法可以同時獲得大量的三維數據和紋理信息,或是通過3DSMAX或者MAYA等三維建模軟件,由設計人員手工建立人臉三維模型,也可以是通過Poser等專業人體建模軟件,從其模型庫中直接導出所需的人頭模型及相應的紋理信息。
然后根據眼部的運動特性設計運動控制點,使用計算機的輸入設備,如鼠標拾取、或者鍵盤輸入,按如下方式指定已有的網格點作為運動控制點通過對人眼閉合動作的特征進行分析,可將眼皮的閉合運動看做是在上眼瞼邊緣點的帶動下所做的彈性弧形拉伸,因此,參照MPEG-4中對眼部FDP控制點的定義(如圖l所示),選取上眼皮邊緣處的所有網格點作為運動控制點。
在本發明中,根據MEPG-4中對人眼FDP的定義,在網格模型中選出上眼皮邊緣的最高點及兩個眼角點,以兩個眼角點的連線為一條邊,以平行于該邊并經過最高點的直線作為另一條邊限定出一個矩形區域,并在此區域中進行邊緣控制點的選取。設定XO^坐標系,x軸平行于兩個眼角點的連線,通過矩形區域邊界條件的限制,統計出落在此區域中的全部網格點,共W個,將矩形區域沿^軸向劃分為W個子區間,在落入每個子區間的所有網格點中求出^坐標值最小的點,即該區域中的最低點,作為候選邊界點。從左端眼角點開始隨著^坐標值的增大,邊緣控制點的^坐標值也應先逐漸增至最高點而后又逐漸減小到右端眼角點,從而根據這一條件從候選點中確定出邊界點,剔除其他非邊界點。
最后采用擺動導桿機構模型驅動邊界控制點的運動,模擬真實的眼部運動。根據擺動導桿機構的運動原理,曲柄能夠繞機架的固定鉸鏈做整周轉動,并帶動導桿在一定的范圍內進行往復運動。同樣,利用人的眼球近似為球體這一特性,將人眼眼皮邊界點的運動軌跡看做是一段圓弧,假設眼皮邊界點位于擺桿機構中導桿上的某一點,取曲柄的旋轉角速度為控制參數,根據機架、曲柄、導桿之間的位置關系,以及輸入的曲柄轉動角速度參數等已知信息,計算出眼皮邊界點在任意時刻的空間位置或轉過的角度,并以此驅動三維網格點運動,從而模擬出眼皮的閉合運動,生成具有真實感的三維人眼動畫。
本發明的有益效果是根據實際的眼部閉合運動特征,并參照MPEG-4標準中對上眼瞼特征點的定義,增加了上眼皮處控制點的個數,細化了網格點的運動,能夠更精確的控制上瞼緣處網格點的運動,增強了模擬效果的逼真性;結合機構學原理進行運動控制,根據擺桿機構的運動特性,導桿可在曲柄的帶動下在一定范圍內做往復運動,因此可以采用同一個數學模型實現連續時間情況下眼睛張開與閉合這樣相反的運動過程,其數學模型簡單,物理意義明確,控制簡單,容易實現且逼真度高。
下面結合附圖和實施例對本發明進一步說明。
圖1為MPEG-4中眼部FDP的定義;
圖2為MPEG-4中眼部FDP定義的右眼放大圖3為本發明所述的人眼運動控制操作流程圖4為通過人體建模軟件導出的三維人臉網格模型示意圖;圖5為本發明實施例的一種對圖3人臉網格模型中人眼部分的控制點設計方式示例圖6為擺桿機構運動原理簡圖;圖7為最大旋轉角度計算方法示意圖。
具體實施例方式
方法實施例本實施例是根據附圖2所示的操作流程,并基于附圖5的一個簡單實施方案。
首先可以通過三維激光掃描儀掃描真實人臉得到原始的三維人臉網格點模型,或是通過3DSMAX或者MAYA等三維建模軟件,由設計人員手工建立人臉三維模型,也可以是通過Poser等專業人體建模軟件,從其模型庫中直接導出所需的人頭部模型,得到附圖4。
然后通過計算機輸入設備對原始三維網格模型中的人眼部分進行控制點設計。為了獲得更精細的眼部運動模擬效果,根據人們對人眼閉合運動特征的視覺直觀認識,并參照MPEG-4標準中對眼部FDP控制點的定義,增加上瞼緣處控制點的個數,選取上眼瞼邊緣曲線上的全部網格點作為運動控制點,如附圖5中上眼瞼邊緣處采用黑色實心圓點表示的網格點。在本發明中,根據MEPG-4中對人眼FDP的定義,在網格模型中選出上眼皮邊緣的最高點(FDP 3.2)及兩個眼角點(FDP 3.8,3.12),以兩個眼角點(FDP3.8,3. 12)的連線為一條邊,以平行于該邊并經過最高點(FDP3.2)的直線作為另一條邊限定出一個矩形區域,如圖2所示,并在此區域中進行邊緣控制點的選取。設定xoy坐標系,x軸平行于兩個眼角點的連線,通過矩形區域邊界條件的限制,統
計出落在此區域中的全部網格點,共W個,將矩形區域沿x軸向劃分為^個子區間,在落入每個子區間的所有網格點中求出y坐標值最小的點,即該區域中的最低點,作
為候選邊界點。從左端眼角點(FDP3.12)開始隨著x坐標值的增大,邊緣控制點的7坐標值也應先逐漸增至最高點(FDP 3.2)而后又逐漸減小到右端眼角點(FDP 3.8),即其y坐標值應滿足關系力D""〈乂〈h〈…力D".2〉^^…^^3.8,從而根據這一條
件從候選點中確定出邊界點,剔除其他非邊界點。
得到了眼部運動控制點之后,采用擺動導桿機構模型對控制點進行驅動。機構模型運動簡圖如圖6所示。所采用的擺桿機構模型由3個構件組成,其中構件3為機架,屬于機構中的固定部分;構件1為原動件(曲柄);構件2為從動件(導桿)。構件1與機架3和構件2分別在接合處O'點和M點構成轉動副和移動副;構件2還與機架3在接合處O點構成轉動副。在模擬眼瞼運動時取O點為眼球中心,OO'的長度"等于眼
球半徑;桿l繞O'點以角速度w做圓周運動,桿長為、桿2與桿1通過滑塊M相連,在桿l的帶動下,桿2也將做繞0點旋轉的圓周運動。假設上眼瞼邊緣上的任一控制點iV位于桿2上某固定點處,就可以通過上述機構模型模擬出邊界控制點的運動軌跡。
取《,為眼瞼由正常睜眼狀態至完全閉合狀態邊界控制點繞以左右眼球中心連線為旋轉軸所轉過的角度,具體計算方法為
參照MPEG-4中眼部FDP的定義,取上眼瞼邊緣的最高網格點(FDP 3.1/3.2),下眼瞼邊緣的最低網格點(FDP 3.3/3.4)及眼球中心點O作為三角形的三個頂點,如附圖7,根據網格點在三維空間的位置坐標計算出三角形的三邊長度,再應用余弦定
理即可求出眼睛由正常狀態至完全閉合時網格點轉過的角度《皿;
參見附圖6,由機構運動原理可知,當主動桿1與從動桿2處于相互垂直的狀態
時,從動桿與機架之間的夾角(2 )最大,通過改變外部控制參數《的初始值
(G<《《《max),可以有效地控制眼睛的閉合程度,實現半閉、全閉或其它任意位置
閉合,模擬各種不同的閉眼動作狀態。
下面結合附圖6,通過數學模型具體闡述閉合過程的運動控制原理
,《、^ = r sin(J)
對于直角三角形,有 2 ;
再根據余弦定理,可得
/。 = QM = V尸2 +。2 -2cos(《為從動桿2和機架((90')之間的夾角,
fl -^《=arccos、|- 丄
2
通過&可獲得眼瞼邊界控制點繞以兩眼球連線為旋轉軸所轉過的角度^ ,
g—《,sin(《+0卞p
2 Isin(《+w/)14,進而根據^值驅動三維網格點進行旋轉運動,模擬真的人眼閉合過程動作動畫。
由上述分析可知,改變角速度參數"可以控制眼皮的閉合速度,改變角度參數《 (0<《^《_),可以控制眼睛閉合的程度,實現半閉、全閉等不同程度的閉眼動作, 從而模擬出真實的人眼閉合動作動畫。
本發明實施例最終獲得的人眼運動控制效果與現有技術相比,通過增加控制點的 個數,細化控制對象,并引入機構學模型,有效地增強了虛擬人眼部運動的仿真效果, 能夠逼真的模擬人眼閉合動作過程,運動控制的數學模型簡單,物理意義明確,易于 實現,效果逼真。
權利要求
1、一種虛擬人眼部運動控制方法,其特征在于包括下述步驟(a)獲取三維人臉網格模型,即采集三維人臉網格模型數據;(b)參照MPEG-4中對眼部FDP控制點的定義,選取上眼皮邊緣處的所有網格點作為運動控制點;(c)將人眼眼皮邊界點的運動軌跡看做是一段圓弧,假設眼皮邊界點位于擺桿機構中導桿上的一點,取曲柄的旋轉角速度為控制參數,根據機架、曲柄、導桿之間的位置關系,以及輸入的曲柄轉動角速度參數,計算出眼皮邊界點在任意時刻的空間位置或轉過的角度,并以此驅動三維網格點運動,從而模擬出眼皮的閉合運動。
2、 根據權利要求1所述的一種虛擬人眼部運動控制方法,其特征在于所述的步驟(b)根據MEPG-4中對人眼FDP的定義,在網格模型中選出上眼皮邊緣的最高點及兩個眼角點,以兩個眼角點的連線為一條邊,以平行于該邊并經過最高點的直線作為另一條邊限定出一個矩形區域,并在此區域中進行邊緣控制點的選取;設定^0^坐標系,^軸平行于兩個眼角點的連線,通過矩形區域邊界條件的限制,統計出落在此區域中的全部網格點,共W個,將矩形區域沿x軸向劃分為^個子區間,在落入每個子區間的所有網格點中求出7坐標值最小的點,即該區域中的最低點,作為候選邊界點;從左端眼角點開始隨著夂坐標值的增大,邊緣控制點的^坐標值也應先逐漸增至最高點而后又逐漸減小到右端眼角點,從而根據這一條件從候選點中確定出邊界點,剔除其他非邊界點。
全文摘要
本發明公開了一種虛擬人眼部運動控制方法,獲取三維人臉網格模型,參照MPEG-4中對眼部FDP控制點的定義,選取上眼皮邊緣處的所有網格點作為運動控制點,將人眼眼皮邊界點的運動軌跡看做是一段圓弧,假設眼皮邊界點位于擺桿機構中導桿上的一點,取曲柄的旋轉角速度為控制參數,根據機架、曲柄、導桿之間的位置關系,以及輸入的曲柄轉動角速度參數,計算出眼皮邊界點在任意時刻的空間位置或轉過的角度,并以此驅動三維網格點運動,從而模擬出眼皮的閉合運動。本發明更精確,增強了模擬效果的逼真性;其數學模型簡單,物理意義明確,控制簡單,容易實現且逼真度高。
文檔編號G06T15/70GK101533523SQ20091002132
公開日2009年9月16日 申請日期2009年2月27日 優先權日2009年2月27日
發明者呂國云, 樊養余, 毅 王, 馬元媛, 敏 齊 申請人:西北工業大學