亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于骨骼的三維虛擬人運(yùn)動合成方法研究*

        2014-01-24 06:55:38何長鵬
        計算機(jī)工程與科學(xué) 2014年4期
        關(guān)鍵詞:關(guān)鍵幀球面插值

        何長鵬,侯 進(jìn),王 獻(xiàn)

        (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031)

        基于骨骼的三維虛擬人運(yùn)動合成方法研究*

        何長鵬,侯 進(jìn),王 獻(xiàn)

        (西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院,四川 成都 610031)

        針對虛擬人運(yùn)動合成中建立的人體模型存在復(fù)雜化、合成的虛擬人運(yùn)動序列逼真度差的問題,提出了一種基于骨骼的虛擬人運(yùn)動合成方法。在分析人體結(jié)構(gòu)的基礎(chǔ)上,通過三維圖形軟件獲取人體骨骼數(shù)據(jù),構(gòu)建虛擬人體的骨骼模型。另外,將關(guān)鍵幀四元數(shù)球面插值算法與時間和空間變形方法相結(jié)合,生成多樣化的虛擬人運(yùn)動序列。實驗結(jié)果驗證了該方法的有效性。

        虛擬人;運(yùn)動合成;關(guān)鍵幀插值;時間空間變形

        1 引言

        虛擬人是人類幾何特性和行為特性在虛擬環(huán)境中的數(shù)字化表示,是高度真實的人類特性的數(shù)字化再現(xiàn),而人作為虛擬環(huán)境的主體,其運(yùn)動的逼真性直接決定著用戶在虛擬世界的沉浸感[1]。近年來,虛擬人研究主要關(guān)注兩方面的內(nèi)容:一是形象化的建模;二是運(yùn)動合成。對于虛擬人逼真的外形,以及真實自然的復(fù)雜運(yùn)動和多樣化運(yùn)動的合成,人們提出了更高的要求:不僅運(yùn)動模型高度逼真、具有實時性,而且還要有物理特性和自主行為能力。虛擬人運(yùn)動合成過程中,關(guān)鍵幀往往起著核心的作用,通過選定虛擬人關(guān)鍵幀姿態(tài),用插值算法來生成運(yùn)動序列,而運(yùn)動序列的逼真、自然程度取決于關(guān)鍵幀姿態(tài)的逼真、自然程度。Peinado M等人[2]利用優(yōu)先級的逆運(yùn)動學(xué)PIK(Prioritized Inverse Kinematics)方法,在處理關(guān)鍵幀姿態(tài)插值的過程中,根據(jù)約束條件優(yōu)先級,對虛擬人的姿態(tài)進(jìn)行調(diào)整,實現(xiàn)智能化的虛擬人運(yùn)動合成,使虛擬人具有“自我意識”。這種方法實現(xiàn)了逼真的虛擬人外形,但大幅度增加了運(yùn)動合成的復(fù)雜性。Zhang Gui-juan等人[3]提出一種基于骨架的流體動畫合成方法,它考慮了人體的生理特性和運(yùn)動特性,但運(yùn)動合成的效率存在局限性,不能滿足系統(tǒng)實時傳輸?shù)男阅芤蟆R虼?,在充分考慮人體生理特性和運(yùn)動特性的情況下,如何降低虛擬人運(yùn)動合成的復(fù)雜度,提高運(yùn)動合成的實時性,有待我們?nèi)ソ鉀Q。

        2 算法概述

        虛擬人建模,目前有很多種不同的方法:(1)通過對人體照片進(jìn)行圖像處理,提取人體輪廓和關(guān)鍵部位的特征參數(shù)信息,重構(gòu)人體模型;(2)利用三維掃描儀自動獲得真實人體表面的幾何數(shù)據(jù);(3)利用建模軟件Maya等繪制人體的三維模型,獲得虛擬人表面模型數(shù)據(jù)。虛擬人運(yùn)動合成,早期主要采用數(shù)值計算的方法,通過建立運(yùn)動學(xué)或動力學(xué)方程,用數(shù)值方法求解。后來出現(xiàn)了運(yùn)動捕獲設(shè)備,許多基于捕獲數(shù)據(jù)的合成方法被提了出來。

        本文在分析人體結(jié)構(gòu)的基礎(chǔ)上簡化人體骨骼結(jié)構(gòu),考慮降低運(yùn)動合成復(fù)雜度的情況,實現(xiàn)一種基于骨骼的虛擬人運(yùn)動合成方法。首先,通過三維圖形軟件獲取人體骨骼數(shù)據(jù),構(gòu)建人體的骨骼模型;然后,讀取運(yùn)動數(shù)據(jù)關(guān)鍵幀,通過球面線性插值算法和時間空間變形方法,驅(qū)動底層骨骼運(yùn)動,合成真實自然的虛擬人運(yùn)動序列。具體實現(xiàn)過程見圖1。

        Figure 1 System flow chart圖1 系統(tǒng)流程圖

        3 人體模型的建立

        3.1 人體骨骼結(jié)構(gòu)表示

        由于人體是一個復(fù)雜的生命體系,由206塊骨骼、600多塊肌肉以及指揮這些骨骼和肌肉的無數(shù)神經(jīng)組成,骨骼之間由多種關(guān)節(jié)相連,人體全身關(guān)節(jié)具有200多個自由度DOF(Degree of Freedom),是典型的高維非線性系統(tǒng)[4]。所以,在人體運(yùn)動合成過程中需要將人體做某種程度的抽象,這種抽象既要盡可能反映人體的真實情況,又要易于實現(xiàn)。就人體骨骼結(jié)構(gòu)而言,目前有兩個重要的國際標(biāo)準(zhǔn) H-Anim和 MPEG-4都支持虛擬人的表示。人體骨骼結(jié)構(gòu)中,各骨骼之間存在著一定的運(yùn)動連帶關(guān)系,把關(guān)節(jié)看成是點(diǎn),將關(guān)節(jié)之間的骨骼看成鏈,就可以按照運(yùn)動關(guān)系將各個肢體連接起來。對于由多關(guān)節(jié)組成的復(fù)雜人體,通常采用常規(guī)的樹形結(jié)構(gòu),樹中每一個節(jié)點(diǎn)對應(yīng)一個關(guān)節(jié)。一般根據(jù)實際的需要,從運(yùn)動關(guān)節(jié)和自由度方面考慮來簡化人體模型。本文通過三維圖形軟件獲取人體骨骼模型數(shù)據(jù),對人體骨骼模型進(jìn)行簡化處理,得到一個17個關(guān)節(jié)、39個DOF的虛擬人骨骼模型,如圖2所示,其中白色的線段表示人體的骨骼,淺色的點(diǎn)表示人體的關(guān)節(jié)點(diǎn)和末端效應(yīng)器。

        Figure 2 Skeleton model of virtual human圖2 虛擬人骨骼模型

        3.2 人體關(guān)節(jié)模型

        人體的關(guān)節(jié)是連接身體各個部分的環(huán)節(jié),也是身體運(yùn)動的樞紐。人體通過關(guān)節(jié)來傳遞力和力矩,結(jié)構(gòu)復(fù)雜。在人體工程學(xué)中,通常把人體關(guān)節(jié)抽象為一個球鉸,但是人體關(guān)節(jié)實際活動范圍并沒有像鉸鏈那樣的自由度,它受到人體運(yùn)動生理上的限制,因此必須明確人體各關(guān)節(jié)運(yùn)動的約束條件,把關(guān)節(jié)分為自轉(zhuǎn)和擺動。我們對人體的關(guān)節(jié)進(jìn)行分類,一個自由度(DOF)的關(guān)節(jié),如膝蓋,只能上下彎曲,沒有自轉(zhuǎn);兩個自由度(DOF)的關(guān)節(jié),如腕關(guān)節(jié),除自轉(zhuǎn)外,有兩個方向的旋轉(zhuǎn)自由度;三個自由度(DOF)的關(guān)節(jié),如肩關(guān)節(jié),既有自轉(zhuǎn)又有擺動。人體的約束條件有運(yùn)動約束、能量約束、動力約束和空間時間約束等。文獻(xiàn)[2]中給出了人體的運(yùn)動約束條件,考慮了人體脊柱關(guān)節(jié)的旋轉(zhuǎn)角度范圍。假設(shè)虛擬人的任意的一個關(guān)節(jié)為i,旋轉(zhuǎn)的角度為θi,其運(yùn)動約束為θimin≤θi≤θimax,其中θimin及θimax分別為關(guān)節(jié)i所允許的最小和最大旋轉(zhuǎn)角度。

        4 運(yùn)動數(shù)據(jù)處理

        4.1 關(guān)鍵幀插值

        插值是處理運(yùn)動數(shù)據(jù)最有效的方法之一。文獻(xiàn)[5]中為了增強(qiáng)人體骨骼運(yùn)動細(xì)節(jié)的表達(dá),提出了基于關(guān)鍵幀分類的虛擬人運(yùn)動插值方法。以骨骼間夾角為動作特征,將關(guān)鍵幀集合根據(jù)其運(yùn)動特征進(jìn)行分類,采用分層插值方法,合成虛擬人運(yùn)動序列。在關(guān)鍵幀插值過程中,每一個關(guān)鍵幀指出了骨骼在該時刻相對于父關(guān)節(jié)坐標(biāo)的變換以及位置、朝向等信息,而且每一根骨骼都要有很多的關(guān)鍵幀,通常用旋轉(zhuǎn)四元數(shù)、縮放向量和平移向量來表示。獲得關(guān)鍵幀數(shù)據(jù)后,需要按照某時刻與前后兩個關(guān)鍵幀時刻的時間值插值計算出該時刻骨骼相對于父節(jié)點(diǎn)的新的變換矩陣。在插值過程中,對于平移和縮放,采用線性插值,而旋轉(zhuǎn)過程比較復(fù)雜,需要球面線性插值算法。球面線性插值算法是在四維空間的單位超球面上對兩個單位四元數(shù)進(jìn)行插值,并且保證最終的插值結(jié)果仍在超球面上,而不會產(chǎn)生加速效果。

        假設(shè)q1和q2為單位四元數(shù),參數(shù)μ∈[0,1],從q1到q2的球面線性插值記做slerp(q1,q2,μ),數(shù)學(xué)表達(dá)式為:

        其中,α=arccos(q1,q2)是兩個插值點(diǎn)q1和q2間的夾角。球面線性插值的結(jié)果處于球面上,無需進(jìn)行歸一化處理,就能保證以恒定的角速度在兩個關(guān)鍵幀q1和q2間的球面上以最短弧長運(yùn)動。

        4.2 時間和空間變形

        虛擬人運(yùn)動狀態(tài)可能會實時發(fā)生變化,通過對兩個不同狀態(tài)的運(yùn)動進(jìn)行合成,生成新的運(yùn)動狀態(tài)[6]。例如,把跑步和走路這兩種不同風(fēng)格運(yùn)動進(jìn)行加權(quán)平均,從而生成新的運(yùn)動“慢跑”。本文在關(guān)鍵幀插值基礎(chǔ)上,采用時間變形使兩個運(yùn)動之間的關(guān)鍵幀產(chǎn)生一一對應(yīng)的關(guān)系,并且持續(xù)相同的時間。記選取關(guān)鍵幀的時刻為Ki(1≤i≤Nk),Nk為選取的個數(shù)。將實際時間T∈ [ K1,KNk] 映射到標(biāo)準(zhǔn)時間t∈[0,1],構(gòu)造如下函數(shù):

        其中,m為最大指數(shù),即T>Km。

        對于輸入的運(yùn)動序列經(jīng)過時間變形后,使兩個運(yùn)動之間的關(guān)鍵幀產(chǎn)生一一對應(yīng)的關(guān)系。但是,由于人物空間位置的不同,運(yùn)動插值之后很容易出現(xiàn)錯誤,因此要對輸入的運(yùn)動序列進(jìn)一步進(jìn)行空間變形。將運(yùn)動序列整體沿水平面方向平移和繞垂直方向旋轉(zhuǎn),使各輸入運(yùn)動的空間位置和朝向盡可能相似。設(shè)運(yùn)動序列P和Q的長度分別為m和n,分別表示為:

        每幀具有J 個關(guān)節(jié)點(diǎn),采用“點(diǎn)云”[6,7]方式表示運(yùn)動姿態(tài)。每個關(guān)鍵幀對應(yīng)不同的點(diǎn)云,任意點(diǎn)云經(jīng)過運(yùn)動變換后,使點(diǎn)云距離達(dá)到最小。對輸入的兩段運(yùn)動序列m1和m2任意的關(guān)鍵幀進(jìn)行空間變形。設(shè)m1中第i關(guān)鍵幀fi中一個關(guān)節(jié)坐標(biāo)為(x,y,z)T,設(shè)m2中第i關(guān)鍵幀中相同關(guān)節(jié)坐標(biāo)為 ( x′ ,y′,z′)T,人體在XOZ平面上繞軸的旋轉(zhuǎn)角度為θ。任意兩幀之間的距離函數(shù)為[6,7]:

        其中,pi,k是由第i幀生成的鄰居點(diǎn)云上的第k個節(jié)點(diǎn);是把第i幀和第j幀對齊的仿射變換矩陣;wk是權(quán)值,決定了每個節(jié)點(diǎn)對最終距離值的影響程度。

        4.3 優(yōu)先級的重疊

        我們將幾個典型動作按照合適的權(quán)重結(jié)合產(chǎn)生新的動作數(shù)據(jù)A,即可得到在兩個典型動作A1和A2之間的中間插值動作[6]:

        其中,浮點(diǎn)數(shù)α取值0~1.0。式(9)表示兩個動作所包含的所有對應(yīng)的旋轉(zhuǎn)角度和平移矢量各自進(jìn)行線性組合。

        5 實驗結(jié)果

        根據(jù)研究的內(nèi)容,本文在Intel Core i3 2.53 GHz 2 048MB的環(huán)境下,選用 Microsoft Visual Studio 2010作為軟件開發(fā)平臺,使用OpenGL和Cal3D[8]開發(fā)庫,對提出的虛擬人運(yùn)動合成方法進(jìn)行了實驗驗證。首先,系統(tǒng)讀取從三維圖形軟件獲得的人體骨骼模型數(shù)據(jù),對模型進(jìn)行簡化處理,得到一個17個關(guān)節(jié)、39個DOF的虛擬人骨骼模型。構(gòu)建完虛擬人骨骼模型之后,用關(guān)鍵幀插值方法來合成虛擬人走路的運(yùn)動序列片段,如圖3所示。在實驗中,虛擬人合成的運(yùn)動序列是以每秒60幀的速率產(chǎn)生的。從圖3中可以看出,虛擬人的行走是一個循環(huán)往復(fù)的過程,其中以腿部運(yùn)動為例來加以說明。腳趾作為人體的末端效應(yīng)器,只有平移運(yùn)動,顯然使用線性插值,而膝關(guān)節(jié)既有平移又有旋轉(zhuǎn),優(yōu)先使用球面線性插值,這樣保證了插值的連續(xù)性,不會產(chǎn)生加速效果。

        為了驗證關(guān)鍵幀時間和空間變形的有效性,我們將走路和跑步這兩種運(yùn)動進(jìn)行融合,合成虛擬人“慢跑”的運(yùn)動序列片段。分別將揮手和走路以及揮手和跑步這兩種動作相融合,生成在走路的過程中揮手和在跑步的過程中揮手兩種不同的運(yùn)動序列。圖4給出了揮手和跑步合成之后的運(yùn)動序列片段。在實驗中,可以給揮手、走路和跑步等幾種運(yùn)動序列設(shè)置不同的權(quán)重,根據(jù)不同的權(quán)重值,生成多樣化的運(yùn)動序列片段。圖4所示的運(yùn)動序列片段,揮手和跑步的權(quán)重值分別為0.2和0.8。

        Figure 3 Sequence fragment of virtual human walking motion圖3 人體走路的運(yùn)動序列片段

        Figure 4 Sequence fragment of waving and running synthetic motion圖4 揮手和跑步合成的運(yùn)動序列片段

        6 結(jié)束語

        本文介紹了一種基于骨骼的虛擬人運(yùn)動合成方法。該方法在分析人體結(jié)構(gòu)的基礎(chǔ)上,通過三維圖形軟件獲取人體骨骼模型數(shù)據(jù),構(gòu)建虛擬人體的骨骼模型。將選定的虛擬人關(guān)鍵幀狀態(tài),用線性插值和四元數(shù)球面線性插值算法來合成真實自然的虛擬人運(yùn)動序列。為了合成多樣化的虛擬人運(yùn)動序列,將兩種不同的虛擬人運(yùn)動關(guān)鍵幀進(jìn)行時間和空間變形,合成一種新的運(yùn)動狀態(tài)。這種方法充分考慮了人體生理和運(yùn)動特性,降低了運(yùn)動合成的復(fù)雜性,提高了運(yùn)動合成的實時性,生成的虛擬人運(yùn)動序列真實自然。

        [1] Hou Jin,Wu Ling,Xu Fang,et al.Real-time text driven avatars[J].Online Journal on Computer Science and Information Technology,2011,1(1):9-14.

        [2] Peinado M,Meziat D,Maupu D,et al.Full-body avatar control with environment awareness[J].IEEE Computer Graphics and Applications,2009,29(3):62-75.

        [3] Zhang Gui-juan,Zhu Deng-ming,Qiu Xian-jie,et al.Skeleton-based control of fluid animation[J].Visual Computer,2011,27(3):199-210.

        [4] Li Shi-lei,Liang Jia-hong,Li Meng,et al.Whole body posture generation of virtual characters by combinig posture examples and prioritized inverse kinematics[J].Journal of System Simulation,2011,23(12):2692-2700.(in Chinese)

        [5] Kong De-hui,Wang Li-chun,Zheng Chong-yu.A key frame interpolation method enhancing motion details of skeletal animation[J].Journal of Beijing University of Technology,2011,37(8):1255-1260.(in Chinese)

        [6] Meng Wei,Guo Wei-bin,Zhu Chang-ming,et al.Motion fusion technique based on characteristics of human motion[J].Journal of Computer Applications,2011,31(1):42-44.(in Chinese)

        [7] Horvath C,Geiger W.Directable,high-resolution simulation of fire on the GPU[C]∥Proc of the 2009Computing Machinery’s Special Interest Group on Computer Graphics,2009:1-8.

        [8] Yuan Peng,Wang Shu-jie,Zhang Ji-wei,et al.Virtual reality platform based on open sourced graphics toolkit openscenegraph[C]//Proc of the 10th IEEE International Conference on Computer-Aided Design and Computer Graphics,2007:361-364.

        附中文參考文獻(xiàn):

        [4] 李石磊,梁加紅,李猛,等.基于姿態(tài)庫和PIK算法的虛擬人全身姿態(tài)生成[J].系統(tǒng)仿真學(xué)報,2011,23(12):2692-2700.

        [5] 孔德慧,王立春,鄭重雨.增強(qiáng)骨骼動畫運(yùn)動細(xì)節(jié)的關(guān)鍵幀插值方法[J].北京工業(yè)大學(xué)學(xué)報,2011,37(8):1255-1260.

        [6] 孟巍,郭衛(wèi)斌,朱昌明,等.基于人體運(yùn)動規(guī)律的運(yùn)動融合技術(shù)[J].計算機(jī)應(yīng)用,2011,31(1):42-44.

        Research of the three-dimensional virtual human motion synthesis method based on skeleton

        HE Chang-peng,HOU Jin,WANG Xian
        (School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,China)

        In view of the problem that the construction of virtual human model is complicated and synthetic virtual human movement sequences have poor fidelity,proposes a method of the virtual human motion synthesis based on skeleton.Based on the analysis of human body structure,the human bone data are acquired through three-dimensional graphics software.In addition,quaternions spherical interpolation method and the time and space deformation of motion fusion method are combined to generates diversity virtual human movement sequences.The effectiveness of this method is verified through the experiment.

        virtual human;motion synthesis;keyframe interpolation;time and space warping

        TP317.4

        A

        10.3969/j.issn.1007-130X.2014.04.028

        2012-09-04;

        2012-12-19

        國家自然科學(xué)基金資助項目(60902023,61171096);2009年高等學(xué)校博士學(xué)科點(diǎn)專項科研基金資助項目(20090184120020,20090184120022);中央高校基本科研業(yè)務(wù)費(fèi)專項資金資助項目(SWJTU12CX093);四川省動漫研究中心2012年度科研項目(DM201204)

        侯進(jìn)(Houjin_163@163.com)

        通訊地址:610031四川省成都市二環(huán)路北一段111號西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院

        Address:School of Information Science and Technology,Southwest Jiaotong University,Chengdu 610031,Sichuan,P.R.China

        1007-130X(2014)04-0737-04

        何長鵬(1986-),男,甘肅武威人,碩士生,研究方向為虛擬人運(yùn)動合成。E-mail:hechangpeng2008@163.com

        HE Chang-peng,born in 1986,MS candidate,his research interest includes virtual human motion synthesis.

        猜你喜歡
        關(guān)鍵幀球面插值
        球面檢測量具的開發(fā)
        基于Sinc插值與相關(guān)譜的縱橫波速度比掃描方法
        基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
        Heisenberg群上移動球面法的應(yīng)用——一類半線性方程的Liouville型定理
        基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
        一種改進(jìn)FFT多譜線插值諧波分析方法
        基于四項最低旁瓣Nuttall窗的插值FFT諧波分析
        基于聚散熵及運(yùn)動目標(biāo)檢測的監(jiān)控視頻關(guān)鍵幀提取
        論“關(guān)鍵幀”在動畫制作中的作用
        球面穩(wěn)定同倫群中的ξn-相關(guān)元素的非平凡性
        午夜精品人妻中字字幕| 婷婷五月综合缴情在线视频| 国产精品一区高清在线观看| 国产三级在线观看性色av| 亚洲av综合色一区二区| 亚洲乱色伦图片区小说| 最新亚洲人成无码网站| 少妇高潮惨叫久久久久电影| 亚洲国产综合精品中久| 日本一本之道高清不卡免费| 久久99国产乱子伦精品免费| 黄片在线观看大全免费视频| 一区二区三区蜜桃av| 99精品国产一区二区三区不卡| 亚洲欲色欲香天天综合网| 久久精品国产视频在热| 国产av综合网站不卡| 2021国产精品国产精华| 人妻丰满熟妇AV无码片| 在线亚洲妇色中文色综合| 日本一道综合久久aⅴ免费| 成人免费毛片内射美女-百度| 最新永久无码AV网址亚洲| 日韩精品一区二区免费| 欧美人与动人物牲交免费观看久久| 国产人成无码中文字幕| 亚洲成人免费久久av| 久青草影院在线观看国产| www国产亚洲精品久久网站| 九九精品国产99精品| 国产精品大片一区二区三区四区 | 日本一区二区高清精品| 女人被狂躁c到高潮视频| 丝袜AV在线一区二区三区| 蜜桃在线观看免费高清| 69国产成人精品午夜福中文| 亚洲学生妹高清av| 国产亚洲av人片在线播放| 亚洲国产精品av在线| 国产成人无码一区二区三区在线| 免费 无码 国产精品|