基于人體運動捕捉數(shù)據(jù)字符串表示的行為分割方法
【技術領域】
[0001] 本發(fā)明涉及計算機動畫中對人體運動捕捉數(shù)據(jù)的處理。更具體地,涉及一種基于 人體運動捕捉數(shù)據(jù)字符串表示的行為分割方法。
【背景技術】
[0002] 計算機動畫是計算機圖形學與藝術相結合的產物,隨著計算機圖形學技術以及計 算機軟硬件技術的飛速發(fā)展,計算機動畫已廣泛的應用于影視特效、三維游戲、商業(yè)廣告、 計算機仿真等眾多領域。
[0003] 近年來,隨著硬件技術的不斷發(fā)展以及成本的降低,運動捕捉系統(tǒng)逐漸普及,基于 光學的三維人體運動捕捉(Motion Capture)方法已經(jīng)發(fā)展成為一種重要的人體運動信息 獲取手段,具有較大規(guī)模的人體運動捕捉數(shù)據(jù)庫應運而生,而且這些運動捕捉數(shù)據(jù)庫中的 數(shù)據(jù)也逐漸龐大。人體運動捕捉數(shù)據(jù)由于較好地保留了運動的細節(jié)并真實地記錄人體運動 的軌跡,具有數(shù)據(jù)精度高、質量好的特點,已經(jīng)被廣泛地應用于計算機動畫領域。但是,捕捉 人體運動數(shù)據(jù)需要非常昂貴的設備,捕捉過程也相對復雜。
[0004] 隨著運動捕捉技術的不斷發(fā)展,人體運動捕捉數(shù)據(jù)庫中的數(shù)據(jù)呈現(xiàn)飛速增長。面 對一個較大的運動捕捉數(shù)據(jù)庫(超過百萬幀),如何從中提取用戶所需要的運動數(shù)據(jù)已成 為當前的研究熱點。最直接的方法是通過人工的方法對這些數(shù)據(jù)庫中的數(shù)據(jù)進行手動提取 與人工標注,以便日后進行管理與重用。然而面對數(shù)目龐大的運動數(shù)據(jù),人工的方法往往只 能保證得到的數(shù)據(jù)質量較好,卻需要大量既繁瑣又耗時的手工操作,而且難以進行有效的 組織與維護。想要高效地開發(fā)和利用已有的數(shù)據(jù)庫,一個重要的前提和基礎就是要實現(xiàn)對 于人體運動捕捉數(shù)據(jù)的自動分割。
[0005] 隨著人體運動捕捉數(shù)據(jù)庫中數(shù)據(jù)的日益龐大,如何有效的利用這些現(xiàn)有的數(shù)據(jù)變 得非常重要,行為分割作為其中一個重要的基礎,其目的是在包含若干不同行為的長序列 中尋找若干時間幀,將其兩側屬于不同行為的數(shù)據(jù)分割開來,最終形成在語義上具有單一 行為的運動片段,以便于在數(shù)據(jù)庫中的組織與存儲,以及在計算機動畫制作過程中進行重 用。綜上所述,基于人體運動捕捉數(shù)據(jù)的行為分割具有巨大的發(fā)展前景,值得深入研究。
[0006] 近年來,國內外有很多學者針對人體運動行為分割方法進行了研究與探索。卡 內基梅隆大學的 Barbie 等人(J. Barbii,A. Safonova, J. Y. Pan and C. Faloutsos. · Segmenting motion capture data into distinct behaviors. . Proceedings of Graphics Interface. . 2004年,頁碼:185-194.)認為不同行為可以用不同特征維數(shù)來表示,只包含 單一行為的運動片段具有較低的維數(shù),而包含有不同行為的運動片段應該具有較高的維 數(shù),首先通過主成分分析(Principal Component Analysis,簡稱PCA)算法降低人體運動 捕捉數(shù)據(jù)的維數(shù),然后在子空間中通過分析投影誤差來實現(xiàn)人體運動的行為分割。由于 這種方法在降維時丟棄了主成分子空間以外的信息,所以分割的準確性比較低。接著他 們又在PCA的基礎上提出基于概率主成分分析(Probabilistic Principal Component Analysis,簡稱PPCA)的行為分割方法,這種方法假設不同行為數(shù)據(jù)具有不同的概率分布, 采用馬氏距離對概率模型進行距離度量來找出行為分割點。與PCA相比,PPCA定義了一 個恰當?shù)母怕誓P停筆PCA既具有與PCA相同的降維處理能力,又克服了 PCA由于缺乏 相關的概率密度或生成模型而帶來的局限性。但是這種方法不能夠判斷出待分割序列中 包含的相同行為,在實際應用中存在很多不便??▋然仿〈髮W的Zhou等人(F. Zhou,F(xiàn). Torre and J. K. Hodgins. . Hierarchical aligned cluster analysis for temporal clustering of human motion.. IEEE Transactions on Pattern Analysis and Machine Intelligence. . 2013 年,頁碼:582-596.)通過分層對齊聚類分析(Hierarchical Aligned Cluster Analysis,簡稱HACA)的方法實現(xiàn)了基于人體運動捕捉數(shù)據(jù)的行為分割,該方法將 行為分割問題轉換成能量最小化問題,利用動態(tài)規(guī)劃算法實現(xiàn)行為分割,該方法分割準確 率較高,但是該方法需要用戶事先確定序列中的行為個數(shù)以及時序約簡時的聚類個數(shù)。
[0007] 因此,需要提供一種基于人體運動捕捉數(shù)據(jù)字符串表示的行為分割方法。
【發(fā)明內容】
[0008] 本發(fā)明的目的在于提供一種基于人體運動捕捉數(shù)據(jù)字符串表示的行為分割方法。
[0009] 為達到上述目的,本發(fā)明采用下述技術方案:
[0010] 一種基于人體運動捕捉數(shù)據(jù)字符串表示的行為分割方法,該方法包括如下步驟:
[0011] S1、將人體運動捕捉數(shù)據(jù)作為多個高維離散的數(shù)據(jù)點,并分別計算各數(shù)據(jù)點之間 的歐式距離;
[0012] S2、通過基于各數(shù)據(jù)點的局部密度和相對距離的聚類方法進行聚類得到各數(shù)據(jù)點 所屬的類,并用不同的字符一一對應表示不同的類;
[0013] S3、將字符按照各字符對應的人體運動捕捉數(shù)據(jù)的時序進行重新排序得到字符 串,并合并字符串中在時序上相鄰的相同字符為字符組,由各字符組構成按照人體運動捕 捉數(shù)據(jù)的時序排列的行為串;
[0014] S4、根據(jù)行為串對人體運動捕捉數(shù)據(jù)所構成的整體行為進行分割,并提取分割后 各單個行為的運動周期。
[0015] 優(yōu)選地,步驟S2進一步包括如下子步驟:
[0016] S2. 1、根據(jù)高斯核函數(shù)計算用于聚類的各數(shù)據(jù)點局部密度;
[0017] S2. 2、將各數(shù)據(jù)點按照其局部密度進行降序排列,計算各數(shù)據(jù)點的相對距離;
[0018] S2. 3、分別將各數(shù)據(jù)點的局部密度與相對距離進行歸一化后相乘,并根據(jù)各數(shù)據(jù) 點的乘積判斷聚類中心;
[0019] S2. 4、對非聚類中心的數(shù)據(jù)點進行向聚類中心的聚類,并用不同的字符一一對應 表示不同的類。
[0020] 優(yōu)選地,步驟S2中數(shù)據(jù)點的相對距離定義為:
[0021 ] 如果該數(shù)據(jù)點的局部密度是所有數(shù)據(jù)點中的最大值,則該數(shù)據(jù)點的相對距離為除 了該數(shù)據(jù)點外其它數(shù)據(jù)點的相對距離中的最大值;
[0022] 如果該數(shù)據(jù)點的局部密度非所有數(shù)據(jù)點中的最大值,則該數(shù)據(jù)點的相對距離為該 數(shù)據(jù)點與比該數(shù)據(jù)點有著更高局部密度的數(shù)據(jù)點的歐式距離中的最小值。
[0023] 優(yōu)選地,根據(jù)各數(shù)據(jù)點的乘積判斷聚類中心的方法為:
[0024] 將各數(shù)據(jù)點按乘積的大小進行降序排列,依次將降序排列后的各相鄰數(shù)據(jù)點的乘 積相減,相減結果大于乘積閾值的數(shù)據(jù)點以及所有乘積大于該數(shù)據(jù)點的乘積的數(shù)據(jù)點作為 聚類中心。
[0025] 優(yōu)選地,乘積閾值為0· 05。
[0026] 優(yōu)選地,步驟S3中進一步包括如下子步驟:
[0027] S3. 1、將步驟S2得到的字符按照各字符對應的人體運動捕捉數(shù)據(jù)的時序進行重 新排序得到字符串;
[0028] S3. 2、合并字符串中在時序上相鄰的相同字符為字符組,記錄各字符組中包含的 字符個數(shù);
[0029] S3. 3、由各字符組構成按照人體運動捕捉數(shù)據(jù)的時序排列的行為串。
[0030] 優(yōu)選地,步驟S4進一步包括如下子步驟:
[0031] S4. 1、用滑動窗的方法統(tǒng)計行為串中字符段的個數(shù),并從字符段中篩選出關鍵字 符段,字符段由行為串中在時序上相鄰的字符組構成,且字符段最多包含3個不重復的字 符組;
[0032] S4. 3、根據(jù)關鍵字符段用字符串匹配的方法找出行為分割點,對人體運動捕捉數(shù) 據(jù)所構成的整體行為進行分割得到各單個行為,并提取分割后各單個行為的運動周期。
[0033] 優(yōu)選地,步驟S4. 1中用滑動窗的方法統(tǒng)計行為串中字符段的個數(shù)的方法為:
[0034] 設步長為1、窗口長度為2,從行為串的第一幀開始到最后一幀為止統(tǒng)計各字符段 出現(xiàn)的次數(shù);
[0035] 然后再將窗口長度設為3并從行為串的第一幀開始到最后一幀為止統(tǒng)計各字符 段出現(xiàn)的次數(shù)。
[0036] 優(yōu)選地,步驟S4. 1中從字符段中篩選出行為串中的關鍵字符段的篩選條件為:
[0037] 字符段中包含的字符組數(shù)量大于等于3,且如果組成字符段的字符組完全包含在 另一個字符段中則只保留出現(xiàn)次數(shù)最多的字符段。
[0038] 優(yōu)選地,步驟S4. 1之后且步驟S4. 3之前還包括如下步驟:
[0039] S4. 2、如果存在不包含于關鍵字符段中的字符組,則進行如下處理:
[0040] 若該字符組中包含的字符數(shù)量大于600,則將該字符組作為一個單個行為;
[0041] 若該字符組中包含的字符數(shù)量小于等于600,則不將該