一種通用的運動捕獲數(shù)據(jù)檢索方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種通用的運動捕獲數(shù)據(jù)檢索方法。
【背景技術(shù)】
[0002] 運動捕獲(MotionCapture)技術(shù)是一種數(shù)字化記錄人體運動的技術(shù),其中人體運 動包括全身運動和局部身體運動。運動捕獲技術(shù)大大提高了動畫制作的效率,而且使得人 體動畫更加細致、逼真,目前已經(jīng)成為人體動畫制作的主流方法之一。隨著運動捕獲技術(shù)的 發(fā)展,運動捕獲數(shù)據(jù)大量積累。如何對大量已有的運動捕獲數(shù)據(jù)進行自動化的分析,高效而 準確的找到動畫師想要的運動數(shù)據(jù)是計算機動畫研宄領(lǐng)域亟待解決的關(guān)鍵問題。
[0003] 正如其他類型的數(shù)字媒體數(shù)據(jù)(如圖片、視頻)的檢索一樣,傳統(tǒng)的基于文本標 注的方法只能提供有限的功能而且要耗費大量的人力和時間。因此,我們需要自動的分析 和描述每個運動捕獲數(shù)據(jù)序列的內(nèi)容,然后通過匹配運動數(shù)據(jù)的描述來執(zhí)行基于內(nèi)容的檢 索。
[0004] 目前絕大多數(shù)基于內(nèi)容的運動捕獲檢索算法所檢索的對象都是整個身體的運動 數(shù)據(jù)。而且,他們假設(shè)運動對象都是具有相同骨架結(jié)構(gòu)和關(guān)節(jié)標注的。在統(tǒng)一的骨架結(jié)構(gòu) 基礎(chǔ)上,將各個關(guān)節(jié)的關(guān)節(jié)角度信息抽取出運動特征,然后對運動特征進行相似度排序來 完成檢索任務(wù)。然而,世界上不同的運動捕獲系統(tǒng)可能會采用不同標記點粘貼方案,不同的 骨架結(jié)構(gòu)和關(guān)節(jié)標注。即便是在同一個運動捕獲系統(tǒng)下,所捕獲的運動對象也不僅僅只是 演員的整個身體,也有可能捕獲身體的一部分,像頭部、面部、上肢、下肢等。這些運動對象 可能并不存在定義好的骨架結(jié)構(gòu)。因此,研宄能工作在一個具有不同運動對象,不同標記點 粘貼方案,不同骨架結(jié)構(gòu),不同關(guān)節(jié)標注的異質(zhì)運動捕獲數(shù)據(jù)庫中的通用運動捕獲數(shù)據(jù)檢 索算法是非常有必要的。但到目前為止,公開發(fā)表的能檢索異質(zhì)運動捕獲數(shù)據(jù)的通用檢索 算法幾乎沒有。
[0005] 既然不同的運動對象可能具有不同的骨架結(jié)構(gòu),甚至有的運動對象不存在骨架, 那么我們在檢索算法中就不采用骨架信息,僅采用標記點的位置信息。但是不同運動對 象所貼的標記點數(shù)目是不同的,而且不同運動對象的標記點之間無法直接建立一一對應(yīng)關(guān) 系。如何從數(shù)目不同的標記點位置信息中抽取出運動特征,并用一致性的結(jié)構(gòu)進行表達是 要解決的首要問題。如何對維度不同的運動特征進行相似度比較是要解決的另一個關(guān)鍵性 問題。
【發(fā)明內(nèi)容】
[0006] 為解決以上技術(shù)上的不足,本發(fā)明提供了一種檢索效率高,而且準確率高,適用范 圍廣的通用的運動捕獲數(shù)據(jù)檢索方法。
[0007] 本發(fā)明是通過以下措施實現(xiàn)的:
[0008] 本發(fā)明是一種通用的運動捕獲數(shù)據(jù)檢索方法,包括以下步驟:
[0009] 步驟1,建立數(shù)據(jù)庫,在數(shù)據(jù)庫中存儲若干運動捕獲數(shù)據(jù)序列,并且每段運動捕獲 數(shù)據(jù)序列離線計算出對應(yīng)的運動簽名;所述運動簽名由基于整個標記點集構(gòu)建的形態(tài)運動 結(jié)構(gòu)MAKS圖的高層描述和任意標記點對之間的低層運動學(xué)特征共同組成;運動簽名是為 每一個標記點對定義一個特征向量,然后將所有點對的特征向量放在一起,形成的一個二 維矩陣;
[0010] 步驟2,將用戶提交的一段運動捕獲序列查詢樣例在線計算出與之對應(yīng)的運動簽 名,然后將該運動簽名與數(shù)據(jù)庫中存儲的所有運動捕獲數(shù)據(jù)序列的運動簽名進行比對;
[0011] 步驟3,在數(shù)據(jù)庫中找出與步驟2中在線計算出的運動簽名之間距離最接近的若 干運動簽名,并按照距離由小到大的順序?qū)⑴c這些運動簽名所對應(yīng)存儲在數(shù)據(jù)庫中的運動 捕獲序列作為查詢結(jié)果集反饋給用戶。
[0012] 上述在步驟1中形態(tài)運動結(jié)構(gòu)MAKS圖的構(gòu)建包括以下步驟:
[0013] 第一步,首先基于標記點集推導(dǎo)出一個最小運動生成樹;
[0014] 第二步,基于標記點對之間的相對運動來自適應(yīng)地聚類標記點;
[0015] 第三步,根據(jù)聚類的結(jié)果修改最小運動生成樹以構(gòu)建形態(tài)運動結(jié)構(gòu)MAKS圖。
[0016] 上述在步驟1中,實現(xiàn)形態(tài)運動結(jié)構(gòu)MAKS圖的高層描述的方法是:為形態(tài)運動結(jié) 構(gòu)MAKS圖中的標記點對定義一個形狀函數(shù),并使用形狀函數(shù)值的統(tǒng)計分布來描述形態(tài)運 動結(jié)構(gòu)MAKS圖的拓撲和幾何特征;對于一對標記點叫和!!^,其形狀函數(shù)的定義為 =U/L ;其中:標記點叫和m』在形態(tài)運動結(jié)構(gòu)MAKS圖上的最短路徑距離,是路徑上所有 邊權(quán)重之和,記作lu;形態(tài)運動結(jié)構(gòu)MAKS圖上所有邊的權(quán)重之和為L ;被L進行標準化后 使得形狀函數(shù)具有尺度不變性,假設(shè)總共有M個標記點,那么可能的標記點對總共有T = C(M,2)對,為每一對標記點計算其形狀函數(shù)值,這些形狀函數(shù)值的直方圖分布形成了一個 對形態(tài)運動結(jié)構(gòu)MAKS圖的形狀分布描述符。
[0017] 上述在步驟1中,任意標記點對之間的低層運動學(xué)特征包括任意標記點對之間的 絕對運動特征和相對運動特征;
[0018] 對于絕對運動特征,在每一幀上計算點對中心點處的標量速度(vD和標量加速度 (叫);對于相對運動特征,計算兩個標記點之間在每一幀上的歐式距離(d),相對速度(v2), 相對加速度(a2),相對角速度(v3)和相對角加速度(a3);
[0019] 計算上述量,獲得一個具有F幀的運動捕獲序列上每個標記點對的七條曲線: vjt),ajt),d(t),v2(t),a2(t),v3(t)和a3(t),t = 1,2,…,F(xiàn);用前三個統(tǒng)計矩來描述每 條曲線,分別是平均值,方差和偏度;因此用21個統(tǒng)計量來描述每個標記點對的運動特征, 定義上述統(tǒng)計量為標記點對的低層運動學(xué)特征,并記它們?yōu)閔,i e [1,21]。
[0020] 上述在步驟1中,將形態(tài)運動結(jié)構(gòu)MAKS圖的高層描述和任意標記點對之間的低層 運動學(xué)特征進行合成;假設(shè)所有可能組合的標記點對總共有T對;對于第p (1 < p < T)個 標記點對,標記它的形狀函數(shù)值為sp,它的運動學(xué)特征為kp,^ 1彡i彡21 ;則第p (1彡p彡T) 個標記點對的特征向量可表示為fp= (s p, kp>1,kp,2,…,kp,21);按照特征向量的第一個成分 即形狀函數(shù)值的升序排序,將所有標記點對的特征向量放在一起,最終獲得了這段運動捕 獲數(shù)據(jù)的運動簽名。
[0021] 上述在步驟2、3中,將運動簽名的注冊問題轉(zhuǎn)換為兩個運動簽名中標記點對的對 應(yīng)問題,基于特征向量中的形狀函數(shù)值來注冊運動簽名,首先在兩個運動簽名中尋找形狀 函數(shù)值最接近的特征向量作為初始對應(yīng)向量,在以初始對應(yīng)向量為中心,大小為[-W,W]的 局部窗口中來搜索最佳匹配,以提高對應(yīng)關(guān)系查找的魯棒性,設(shè)定W= 7,然后計算兩個運 動簽名的距離,假設(shè)兩個運動簽名分別為S= [f\,f2,…,fP]和V= [f' ^f2,…, "^],其中4,1£[1,?]和"」,_]_£[1,?']是22維的特征向量,?和1^是在對應(yīng) 的兩個運動簽名中標記點對的個數(shù);S和S'之間的距離用公式(1)進行計算:
[0023] 其中W是個權(quán)重向量,包含著特征向量每一維度的權(quán)重,DF(S,S',1)如公式(2) 定義:
[0025] 在公式⑵中,h和h'是從運動簽名S和S'獲得的標準化形狀分布直方圖,DH(h, h')通過直方圖求交的倒數(shù)來衡量了兩個直方圖之間的相似性,直方圖越相似,函數(shù)值越 ?。籔通過最接近的形狀函數(shù)值確定的初始對應(yīng)向量,
[0026] 上述在步驟2、3中,通過學(xué)習(xí)來為數(shù)據(jù)庫中的每一類運動數(shù)據(jù)確定一組特征權(quán) 重,以使得數(shù)據(jù)庫中的正例和負例盡可能的分開;在運行時,對于一個給定的查詢樣例q, 它的運動簽名為Sq,首先從預(yù)先學(xué)習(xí)的權(quán)重中選擇權(quán)重向量Wq,然后對數(shù)據(jù)庫中的每個運 動序列m,對應(yīng)的運動簽名為Sm,用公式(2)計算SjPSm之間每個特征分量的差異,即, DF(Sq,Sm,1),1G[1,22];整個數(shù)據(jù)庫中所有運動簽名和樣例運動簽名之間差異在每個特 征分量或特征維度上分別進行高斯歸一化;進一步地在公式(1)中帶入這些高斯歸一化后 的差異值和特征權(quán)重Wq,獲得了從q到m的運動簽名距離D(Sq,SJ;最后,數(shù)據(jù)庫中所有的 運動捕獲數(shù)據(jù)文件根據(jù)其與查詢樣例之間的運動簽名距離從小到大排序,排在最前面的若 干個運動捕獲數(shù)據(jù)文件作為查詢結(jié)果返回。
[0027] 為一個任意給定的查詢樣例自動的選擇合適的權(quán)重向量的方法為:通過一個二維 形狀-速度直方圖為一個運動捕獲數(shù)據(jù)序列進行高層描述,這個直方圖的兩個維度分別是 形狀函數(shù)值和絕對速度的平均值,直方圖中的每一項代表具有特定形狀函數(shù)值和絕對速度 平均值的標記點對所占的比例;每一種運動類型的形狀-速度直方圖是通過把訓(xùn)練集中所 有運動數(shù)據(jù)的形狀-速度直方圖做平均得到的,在運行時,計算查詢樣例的形狀-速度直方 圖,并將其與所有運動類別的形狀-速度直方圖進行比較,然后找到直方圖最匹配的運動 類型作為查詢樣例的運動類型。
[0028] 本發(fā)明的有益效果是:定義了運動簽名作為一種通用的運動數(shù)據(jù)表示形式,在檢 索過程中不采用傳統(tǒng)的骨架信息比對,而是采用適用范圍更廣的運動簽名比對,對于具有 不同骨架結(jié)構(gòu)和標記點數(shù)目的不同運動對象,甚至是不存在骨架的運動對象同樣適用,檢 索精確度高,檢索速度快,適用范圍廣。