運動捕獲技術、運動紋理技術、運動圖方法、統計學模型以及運動分割方法都是利用聚類分析方法,對有關數據進行聚類分析,最終取得人體運動的分割結果。但是在本質上來講,作為一組運動序列,人體運動數據具有高度的時序性,如果采用聚類分析方法,則不可以避免打破原有的人體運動數據中固存的時序性,最終致使人體運動分隔結果失真。文章利用主成分析法、動態時間歸整方法、概率轉移建模等方法提出了一種新型的動作單元提取模式,即基于動作單元分析的人體動畫合成方法,就此展開論述。
引言
基于動作單元分析的人體動畫合成方法的具體內容如下:第一步,采用主成分析法(Principal Component Analysis,PCA)對實現了高維運動數據向低維特征空間的映射,同時利用馬氏距離平方對低維特征空間樣本的相似度進行度量;第二步,在自動切割與標注時序運動序列時,綜合采用了動態時間歸整方法以及誤差平方及其原則。最后一步,實現概率轉移建模,即構建不同基本動作單元之間的概率轉移模型,并構建運動圖,同時依據約束條件來實現新的逼真人體動畫的合成。
一、人體運動數據的預處理
經過簡化之后,人體的骨架模型可以被簡單地看成有各個運動關節相連以及具有層次結構的骨骼段構成。經過簡化之后的運動模型共具有五十四個自由度,不同的骨骼均具有與之相適應的局部坐標系,并與骨骼相連。其中,Root關節一共擁有六個自由度,代表世界坐標系中的Root位置的自由度共有三個,代表世界坐標系中Root朝向的自由度也有三個。但是,其它的關節僅僅擁有對應父關節而轉動的三個自由度。一般情況下,我們用歐拉角來表現關節旋轉,但是在實際中,采用歐拉角來表現關節旋轉容易導致奇異性,進而造成萬向鎖。為了徹底避免由于使用歐拉角而導致的萬向鎖問題,本文表示關節旋轉時采用單位四元數。
二、采用主成分析法(PCA)分析人體運動數據
因為,人體運動時,每一個關節之間具有非常強的相關性,舉例來說,假設右腿向前運動,那么該人體的左腿便要向后運動(與之相類似的運動相關性非常之多),并且人體運動數據為高維向量,所以,假如分析數據時直接在姿態空間當中進行,則會不可避免地出現運動分析失真的現象,最終導致人體運動數據的內在關聯性未能得到有效地挖掘。所以,采用主成分析法(PCA)來實現人體運動數據由高維運動數據向低維特征空間的映射,在降維同時,也有利于原始運動數據的低維特征空間分析。
三、度量運動姿態相似性
由于運動數據是時序的運動序列,在度量姿態的相似性時需考慮它的運動學特征。定義姿態和之間的距離是
四、度量人體運動片段相似性
因為人體運動具有非常豐富的變化形式,即便是針對相同的基本動作單元,該人體運動片段所體現出的運動細節和序列長度也能夠展現出一定的不同之處。所以,需要利用動態時間規整算法(Dynamic Time Warping,DTW)來度量人體運動片段的相似度。
對給定的運動片斷A(y1A,y2A,y3A,……y1A)以及B(y1B,y2B,y3B,……y1B),并且I≠j,利用動態時間規整算法(DTW)尋找一個最優的時間規整函數,并讓運動片斷A的時間軸i非線性地映射到運動片斷B的時間軸j,同時讓總的累積失真量最小。
五、自動提取動作單元
人體的運動動作種類和數據雖然非常之多,但是其中某些動作均是重復性的動作,這些動作的主要構成部分就是一些重復的基本動作單元。舉例來說,舞蹈動作中便有許多的重復性動作。在自動切割與標注時序運動序列時,綜合采用動態時間歸整方法以及誤差平方及其原則能夠很好地實現動作單元的自動提取。
六、構建運動圖
對于提取的基本動作單元,雖然它們在動作上各不相同,但它們在時序上保持一定的概率轉移關系,本文采用運動學連續和行為連續描述各個基本動作單元之間的概率轉移模型。運動學連續是度量不同動作單元之間過渡的平滑性,行為連續是刻畫不同動作模式之間的概率轉移關系。
參考文獻:
[1]宗丹,李淳芃,夏時洪,等.基于關鍵姿態分析的運動圖自動構建[J].計算機研究與發展,2010(08).
(作者單位:浙江傳媒學院)