999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種可編輯的三維人體蒙皮網格動畫合成方法

2010-01-01 00:00:00李連東樊養余呂國云
計算機應用研究 2010年3期

摘 要:為了使虛擬人情感表達更加逼真,提出了一種可編輯的三維人體動畫合成方法。首先建立了三維網格和人體骨架之間的蒙皮關系,構造了關節運動角度的參數模型;然后,對三維人體骨架進行操作,利用線性混合蒙皮算法,驅動虛擬人體的運動。在Visual C++平臺上實現了在特定情感狀態下的肢體動畫,驗證了該方法的有效性。

關鍵詞:虛擬人;蒙皮網格;動畫;運動編輯;表情仿真

中圖分類號:TP391 文獻標志碼:A

文章編號:1001-3695(2010)03-1176-04

doi:10.3969/j.issn.1001-3695.2010.03.0104

Editable method to 3D human skinned mesh animation synthesis

LI Lian-dong, FAN Yang-yu, LEI Tao, LV Guo-yun

(School of Electronics Information, Northwestern Polytechnical University, Xi’an 710072, China)Abstract:In order to make the emotional expression of virtual human more realistic,this paper proposed an editable method to 3D human animation synthesis.With this method,established the relationship between 3D mesh and human skeleton using skinning method,and then constructed the parameter model of joint motion angle.By manipulating the skeleton and using linear blend skinning algorithm, the motion of virtual human would be driven.The effectiveness of this method is verified by the body animation of particular emotional states on the platform of Visual C++.

Key words:virtual human; skinned mesh; animation; motion editing; expression simulation

虛擬人動畫合成技術是計算機仿真的重要組成部分,在游戲編程和三維動畫電影產業中有廣泛的應用,由于存在廣闊的市場前景,其越來越受到重視,成為了人們研究的熱點之一[1]。在三維虛擬人肢體動畫實現方法中,最常用的是蒙皮網格動畫。它具有操作簡單、逼真度高等特點而被廣泛應用于三維虛擬人的動作仿真。蒙皮網格動畫的思想源于真實的動物運動機制。動物的皮膚依附于肌肉和骨骼上,肌肉的伸縮和骨骼的轉動一起影響皮膚的運動和形變。因此只要控制肌肉層和骨骼層的運動,利用它們與皮膚層的依附關系就能有效地產生肢體動畫。在虛擬人表情仿真過程中,逼真自然的肢體語言能起到畫龍點睛的作用,能使得表情仿真更加自然,符合真實情況。但如果動作和表情不能完好地匹配反而使面部表情失真。

在獲得大量的肢體動作運動參數的情況下,如何利用這些參數,與面部表情參數進行匹配,使特定表情動作協調正是本文著重解決的問題。本文在線性混合蒙皮網格基礎上,提出了可編輯的運動參數模型,使用關鍵幀處參數擬合的方式對運動數據進行編輯,從而使得肢體動作的設計更加隨意,不但能將原有數據庫中的運動信息加以編輯、使用,還能構造需要的動作。

1 三維人體模型的幾何表示

人體幾何模型是骨骼動畫的載體。它由不包含層次關系的皮膚層、肌肉層和包含層次關系的骨骼層組成[2]。

1.1 皮膚層

皮膚層,即表面網格,用于描述人體的外形,展現逼真的動畫效果。在3D模型的數學描述中,皮膚層被表示為一系列的頂點和由頂點相連接構成的多邊形,一個人體模型的皮膚層可以由一個單一的整體網格組成,也可以是由多個有并列關系的網格組成。皮膚層的建模可以利用三維掃描設備獲取真實人體幾何數據,也可以用諸如Poser、Maya、3DSMAX這樣的建模軟件對已有的模型進行更改繪制[3]。但是三維掃描設備得到的人體幾何數據必須依賴于真實存在的人體,不能隨意構造不存在的人物形象,而且只能獲得三維形體的表面數據,內部數據不容易獲得。在表情仿真時口腔內部幾何數據若不能得到,張嘴大笑的模擬就不能得以完好實現。在此種情形之下,利用建模軟件進行繪制就變得更為簡單可行。

1.2 肌肉層

早在1987年,Keith Waters[4]就提出了用肌肉模型來模擬仿真面部表情的方法,該方法用一種偽肌肉的方式將面部肌肉分為窄線性肌、寬線性肌、括約肌三種,并根據統計面部運動數據構造肌肉拉伸系數,實現面部運動,但是它只能實現簡單的肌肉拉伸和收縮,后來在肌肉模型基礎上加以改進,通過增加約束等方法來構造皺紋的效果。

1.3 骨骼層

骨骼層是由骨骼和關節組成的存在層次關系的樹型結構,是不可見的,它表示為一系列關于皮膚的變換矩陣[5]。骨骼層有層次結構,它必須有一個根節點,下一級骨骼定義為上一級骨骼的子節點,如小臂骨骼為大臂骨骼的子節點,有并列關系的骨骼定義為兄弟節點,如食指第一節骨骼為拇指第一節骨骼的兄弟節點。在創建虛擬人骨骼時,本文采用H-Anim1.1標準,這是一個關于虛擬人的國際標準,它的層次結構是以脊椎末端的骨盆為整個骨架結構的根節點,按照關節的順序,以子節點和兄弟節點的形式構成樹型的繼承結構。該標準的層次結構如圖1所示。

2 線性混合蒙皮算法

線性混合蒙皮算法[6]也稱為骨骼子空間變形、平滑蒙皮[7]、多權重封套[8,9],它是將靜態的網格與內在的骨骼框架結合在一起,網格上的每個頂點通過蒙皮權重將骨骼空間變換映射到網格頂點,從而實現皮膚層的運動[10,11]。在皮膚層中,每個頂點都有控制它的骨骼和表示控制程度的權重,這樣就實現了從骨骼層次到皮膚層之間的映射。皮膚層頂點的變形和運動通過變換影響該頂點所有骨骼來實現。變形后的皮膚層網格頂點的位置可以用式(1)來計算:

=ni=1ωiMi,kM-1i,0V0(1)

其中:ωi表示第i個骨骼對網格頂點的權重,通常為使得網格在運動時不至于出現開裂等不自然的情況,它滿足約束

ni=1ωi=1(2)

V0表示在世界坐標系中要發生運動的頂點的初始位置;Mi,0表示在初始姿態下從第i塊骨骼的局部坐標系到世界坐標系的變換矩陣,它的逆矩陣M-1i,0則表示在初始姿態下該骨骼從世界坐標系到該骨骼局部坐標系的變換矩陣;M-1i,0V0表示在第i塊骨骼的局部坐標系中表示的頂點初始位置;Mi,k為世界坐標系中表示的運動變換矩陣,它包含了運動前的骨骼初始位置和骨骼運動兩方面的信息;Mi,kM-1i,0V0表示在蒙皮權重為1的情況下,第i塊骨骼的局部坐標系內該骨骼所影響的頂點從初始位置到運動后位置的變換。蒙皮權重是將骨骼層和皮膚層聯系起來的紐帶,皮膚層網格頂點的最終運動還要受權重系數的影響,它表示皮膚層網格頂點位置的變化受骨骼運動影響的程度。

通過線性混合蒙皮算法,本文將骨骼運動和皮膚層的網格運動相分離,單獨研究骨骼運動,再通過蒙皮權重這一映射關系,就能很好地實現網格的運動。

3 蒙皮估計

3.1 骨骼影響關系的估計

由于蒙皮權重的存在,骨骼和網格頂點之間有一個映射關系。骨骼影響關系的估計就是要確定某一網格頂點受哪些骨骼的影響。骨骼的塊數和在大致的位置可以根據實際情況手工設置。設骨骼的塊數為B,Bj為關于頂點j的頂點—骨骼映射,它是B維的列向量,其中的B個元素取值只能為0或者1,分別表示“受”或者“不受”B塊骨骼的影響。定義和設置每個頂點所受的骨骼影響傳統上來說是3D造型師的任務,本文在這里使用一個簡單有效的方法來估計骨骼和頂點的映射關系。基于對應用的需要和計算機硬件的考慮,每個頂點所受影響的最大骨骼數β一般不超過4。假設已經得到K個不同的網格姿態vj,1,vj,2,…,vj,K,這些姿態可以是關鍵幀時刻的姿態,也可以是在虛擬人運動過程中的的姿態,網格頂點j在受到第b塊骨骼的影響之后位置的估計:

j,k=Mb,kM-1b,0vj,0,k∈K(3)

骨骼的均方誤差和為

γbj=k=1,…,K‖vj,k-j,k‖22;b=1,…,B(4)

通過求最小均方誤差γ得到頂點所受骨骼影響的映射關系,它僅與空間坐標有關,所以得到的映射關系也是與空間位置有關。

3.2 蒙皮權重估計

由式(1)可知,對于每一塊骨骼都有=ni=1(Mi,kM-1i,0V0)ωi,設w=(ω1,ω2,…,ωn)T,則有

( Mi,kM-1i,0V0)w=(5)

約束條件: ni=1ωi=1

在已知不同網格姿態的情況下,用最小二乘法解存在約束的方程(Mi,k,M-1i,0V0)w=,這個方程可以有多種方法來求解,為了能達到盡可能使得求解結果和運動數據相接近,本文使用奇異值分解的方法來得到蒙皮權重。

4 人體運動的數學模型

4.1 常用的人體骨架運動生成方法[12,13]

4.1.1 關鍵幀方法

關鍵幀方法在影視動畫、游戲等方面有廣泛的應用,先給定人體運動過程中一些關鍵幀之后,利用線性插值等方法計算出相鄰關鍵幀中間幀的姿態。這種算法簡單直觀,但是人體的關節有上百個自由度,手工調整不同關鍵姿態下的骨骼角度是非常繁瑣和困難的,手工調整出現的誤差也難以消除,往往造成最終動畫的逼真度不夠。

4.1.2 逆運動學方法

逆運動學的思想來源于機器人學,只要給定結構末端的位置,就能求解出到達末端的各個關節的運動情況,在關節數和自由度較少的情況下,可以求解得到,但是隨著關節結構越來越復雜,反向動力學的解難以求出。本文采用基于正向運動學的方法,利用關鍵幀的運動信息提取,并對該運動信息在三自由度內的曲線擬合,構造變換矩陣,對某一特定運動進行仿真。

4.2 肢體運動姿態表示

一個4×4的矩陣可以表示旋轉、平移和縮放以及三者結合的變換過程,而在實際過程中人體關節的相對運動只存在旋轉,而不存在平移和縮放的過程,因此在某一特定時刻,變換矩陣T的構造僅由繞x、y、z方向上的三個角度來確定。在t時刻關節繞x、y、z三個方向的旋轉角度分別為α(t)、β(t)、γ(t)。在局部坐標系內,假設骨架繞原點在x、y、z三個方向上分別旋轉的角度為α、β、γ,則構造的旋轉矩陣為

T=cos γsin γ00

-sin γcos γ00

0010

0001

cos β0-sin β0

0100

sin β0cos β0

0001

1000

0cos αsinα0

0-sinαα0

0001(6)

其中:規定α、β、γ的單位是弧度,在DirectX平臺下使用左手坐標系,沿旋轉軸正方向朝向坐標原點看去順時針旋轉為正。在不考慮骨骼子空間變換的前提下,頂點V經過旋轉得到V′可由公式V′=TV表示。

4.3 運動學方程建立

虛擬人的骨骼是被抽象為簡單剛性幾何實體,組成虛擬人的骨骼系統必須有一個根節點,在根節點處有一個表示骨骼位置和方向的矩陣,即骨骼根節點初始矩陣,它表示在世界坐標系中骨骼的初始位置和初始姿態。虛擬人骨架中的每塊骨骼都有自己的初始矩陣,但這矩陣不是在世界坐標系中,而是在該骨骼的父骨骼局部坐標系中來表示。

在初始姿態下,設第i級骨骼是第i-1級骨骼的子節點,骨骼根節點(即第1塊骨骼)的局部坐標系相對于世界坐標系的變換矩陣為01T,它包含了根節點在世界坐標系中的方位;第i級骨骼局部坐標系相對于第i-1級骨骼局部坐標系的變換矩陣為i-1iT,則第i級骨骼到第j級骨骼坐標系中的變換矩陣jiT=i-jm=1i-mi+1-mT(i>j),第i級骨骼在世界坐標系中的變換矩陣為0iT=im=1i-mi+1-mT。由式(1)中可知,Mi,0=0iT 。

如果第j級骨骼存在運動,該運動構造的變換矩陣為Tk(t),則在該運動下第i級骨骼在世界坐標系中的變換矩陣為

Mi,k=jiT×Tk(t)×0jT 若i>j

Tk(t)×0iT若i=j

0iT若i

即Mi,k=(i-jm=1Ti-mi+1-m)×Tk(t)×(jm=1j-mj+1-mT)若i>j

Tk(t)×(im=1i-mi+1-mT)若i=j

im=1i-mi+1-mT若i

由式(8)可以看出,某一層級骨骼的運動只對其下一級以后的骨骼運動產生影響,對該骨骼同一級和上一級的骨骼不會起作用。

4.4 運動編輯

在得到關鍵幀處運動關節的角度信息后,就可以對運動信息進行編輯了。這些運動關節的角度可以由運動捕獲設備獲得,從運動數據庫得到,也可以由動畫設計師根據想要得到的效果來構造。運動編輯的過程其實就是對各幀構造旋轉矩陣Tk(t)的過程。運動是連續的過程,因此只要在運動過程的各個時刻求解得到關節在x、y、z方向上運動的角度α(t)、β(t)、γ(t),根據式(6)即可求解得到Tk(t)。為了使運動連貫,每個關鍵幀前后達到平滑過渡的效果,本文使用分段曲線多項式擬合的方法,對關鍵幀數據進行擬合。這種方法解決了傳統多項式擬合不能很好地與離散采樣點匹配的問題,與樣條曲線擬合相比又有一定的抗干擾能力。

假如將整個運動的過程分為m段,每段的區間分別為T1,T2,…,Tm,則分別繞x軸旋轉的角度隨時間變化曲線為

α(t)=ni=0a1,iti t∈T1

ni=0a2,itit∈T2

ni=0am,itit∈Tm(9)

其中:n為各段區間內曲線擬合的階數。

同理,繞y、z軸旋轉的角度隨時間變化函數也有與式(9)相同的形式。分段數、每段的區間長度以及曲線擬合的階數隨獲得的運動數據的特點而定,通常的做法是在運動時間點的極值點附近分段,這樣能達到匹配比較理想的時間函數曲線。由于采用了分段擬合的方法,每段擬合的階數n一般不超過8階。

5 實驗結果及結論

本文在Intel E7200 2.53 GHz CPU,2 GB內存,NVIDIA GeForce 9600GT顯卡的硬件環境下,利用MATLAB對關節原始角度數據進行了曲線擬合,并在Visual C++ 2005和DirectX9.0 SDK的軟件平臺上實現了三維虛擬人的運動仿真。應用的原始三維網格模型由建模軟件Poser構造并導出,它由86 529個頂點和166 368個三角形面片組成,骨骼層結構由68塊組成,應用線性混合蒙皮算法對采集得到的高興情感下的身體姿態進行了模擬。圖2是在大笑的表情下脖子繞x軸運動的離散數據及擬合的曲線,此時分段數為3,曲線擬合階數為5。

虛擬人運動仿真實驗結果如圖3所示。幀速率能達到39.5 fps,運行流暢,關節隨時間運動符合曲線擬合的結果,可以自然地實現仰頭大笑這一特定的表情動作,增加逼真度。

6 結束語

虛擬人運動建模是虛擬人運動仿真的基礎。本文采用了h-anim標準構造人體骨骼結構,并將其應用到肢體網格,然后利用線性混合蒙皮算法將運動信息驅動虛擬人模型的運動。其中,關節運動角度信息用多項式擬合的方法進行編輯,既簡化了運動信息的復雜程度,增加數據重用性,又使得每一幀運動能夠平滑過渡。最后,對特定表情下的運動進行仿真,過渡平滑自然,肢體動作和面部表情在時間上能夠協調一致,表明了本文方法在運動不是十分劇烈的表情仿真中是有效的。若在變化劇烈的運動仿真中采用的本文提出的多項式擬合的方法,為了使復雜動作得以完好表達,就必須增加多項式擬合的分段數和擬合的階數。

本文使用的線性混合蒙皮方法能實現運動的仿真,但卻不能很好地實現肌肉的隆起、肌腱的拉伸以及皮膚的褶皺的效果,以后將在蒙皮算法上繼續改進。細節上的逼真度將是以后工作的重點。

參考文獻:

[1]

王兆其.虛擬人合成研究綜述[J].中國科學院研究生院學報,2000,17(2):89-98.

[2]YESIL M S,GUDUKBAY U.Realistic rendering and animation of a multi-layered human body model[C]//Proc of the Information Visua-lization.Washington DC:IEEE Computer Society,2006:785-790.

[3]呂治國,李焱,賀漢根.基于Poser模型的三維人體建模方法[J].計算機工程,2008,34(13):256-258,261.

[4]WATERS K.A muscle model for animating three-dimensional facial expression[C]//Proc of the 14th Annual Conference on Computer Graphics and Interactive Techniques.New York:ACM Press,1987:17-24.

[5]MEMISOGLU A.Human motion control using inverse kinematics[D].Ankara:Bilkent University,2003.

[6]MOHR A,GLEICHER M.Building efficient, accurate character skins from examples[J].ACM Trans on Graphics,2003,22(3):562-568.

[7]JACKA D,REID A,MERRY B,et al.A comparison of linear skinning techniques for character animation[C]//Proc of the 5th International Conference on Computer Graphics,Virtual Reality,Visualisation and Interaction in Africa.New York:ACM Press,2007:177-186.

[8]LEWIS J P,CORDNER M,FONG N.Pose space deformation:a unified approach to shape interpolation and skeleton-driven deformation[C]//Proc of the 27th Annual Conference on Computer Graphics and Interactive Techniques.New York:ACM Press,2000:165-172.

[9]WANG X C,PHILLIPS C.Multi-weight enveloping:least-squares approximation techniques for skin animation[C]//Proc of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation.New York:ACM Press,2002:129-138.

[10]JAMES D L,TWIGG C D.Skinning mesh animations[J].ACM Trans on Graphics SIGGRAPH,2005,24(3):399-407.

[11]JIA Yun-tao,FENG Wei-wen,YU Yi-zhou.Transplanting and editing animations on skinned meshes[C]//Proc of the 15th Pacific Confe-rence on Computer Graphics and Applications.Washington DC:IEEE Computer Society,2007:431-434.

[12]王瑢瑢,邱顯杰,王文中,等.一種視頻驅動的三維人體動畫合成方法[J].系統仿真學報,2007,19(8):1700-1704.

[13]羅忠祥,莊越挺,劉豐,等.基于視頻的人體動畫[J].計算機研究與發展,2003,40(2):269-276.

主站蜘蛛池模板: 久久婷婷人人澡人人爱91| 成人噜噜噜视频在线观看| 欧美不卡视频在线| 天堂成人av| 亚洲色图欧美视频| 精品久久久久久成人AV| 国产精品主播| av天堂最新版在线| AV天堂资源福利在线观看| 激情影院内射美女| 成人字幕网视频在线观看| 日韩经典精品无码一区二区| 亚洲精品成人福利在线电影| 成人精品午夜福利在线播放| 国产激情在线视频| 在线免费不卡视频| 亚洲欧美天堂网| 国产人免费人成免费视频| 日韩麻豆小视频| 国产69精品久久| 精品无码专区亚洲| 亚洲欧洲日韩久久狠狠爱| 青草视频网站在线观看| 91麻豆国产在线| 精品国产美女福到在线不卡f| 亚洲一级毛片免费看| 青草国产在线视频| 欧美日本在线| jizz在线观看| 六月婷婷精品视频在线观看| 秋霞午夜国产精品成人片| 六月婷婷精品视频在线观看 | 又黄又湿又爽的视频| 国产主播一区二区三区| 97在线视频免费观看| 免费人成在线观看成人片| 国产免费好大好硬视频| 免费大黄网站在线观看| 亚洲天堂2014| 国产一在线| 亚洲国模精品一区| 亚洲中文字幕在线观看| 国产一区二区丝袜高跟鞋| 97视频精品全国免费观看| 中文字幕无码中文字幕有码在线 | 成人年鲁鲁在线观看视频| 在线免费亚洲无码视频| 国产福利在线免费| 欧美日韩专区| 久久伊人色| 91麻豆国产在线| 免费人成网站在线观看欧美| 国产亚洲欧美日本一二三本道| 亚洲经典在线中文字幕| 国产国产人免费视频成18| 亚洲人成亚洲精品| 99精品这里只有精品高清视频| 91亚洲国产视频| 亚洲一区二区日韩欧美gif| 性欧美在线| 国产美女自慰在线观看| 91破解版在线亚洲| 国产第八页| 日韩av在线直播| 91亚洲精选| 2020最新国产精品视频| 日本道中文字幕久久一区| 精品一区二区三区中文字幕| 热热久久狠狠偷偷色男同| 亚洲中文字幕在线一区播放| 亚洲午夜片| 日韩高清无码免费| 国产精品福利导航| 亚洲最猛黑人xxxx黑人猛交| 亚洲成网站| 日韩欧美国产另类| 国产精品福利一区二区久久| 草逼视频国产| 久久精品中文无码资源站| 久久精品亚洲专区| 午夜国产大片免费观看| 91九色国产porny|