?

基于余弦距離的人體運動數據行為分割算法

2014-04-01 01:00邢薇薇仝磊鳴張毅任程
關鍵詞:余弦夾角直方圖

邢薇薇,仝磊鳴,張毅,任程

(1.北京交通大學 軟件學院,北京,100044;2. 北京交通大學 計算機與信息技術學院,北京,100044;3. 煤炭科學研究總院,北京,100013)

近年來,在計算機圖形學領域中,隨著運動捕捉技術的發展[1],人體運動數據日益龐大,如何有效利用這些數據已變得非常重要。其中,對運動捕捉數據的行為進行分割成為運動數據分析與合成的一個不可或缺的重要處理過程。它的主要目的是將包含有不同運動類型的長序列分割成單一的運動,形成具有單一運動類型等語義描述信息的運動片段,以便于在人體運動數據庫中的組織和存儲管理,為人體運動數據的有效分析以及人體動畫運動合成的數據重用等創造條件。本文提出一種新的無監督的人體運動捕捉數據的自動行為分割算法,并采用一組骨骼夾角直方圖表示人體運動序列的姿態特征。骨骼夾角[2]反映了人體運動骨骼的生理特征。對于一段運動數據序列,首先選取最能刻畫人體運動姿態的主要骨骼夾角作為關鍵角;然后,對每個關鍵骨骼夾角數值隨序列變化的情況進行直方圖統計,并建立所有關鍵角的直方圖統計特征向量作為人體運動序列的描述特征。對于一段包含多種運動類型的人體運動序列,定義滑動比較窗口,隨著比較窗口在序列上從起點向終點滑動,計算當前位置比較窗口中前半段與后半段2 部分運動序列的骨骼夾角直方圖特征的余弦相似度,從而獲得該序列的余弦相似度數值曲線。比較窗口中前、后2 半部分的人體運動姿態特征越相似,對應的余弦相似度越接近于1,所以,運動序列中2 個不同運動類型切換處的余弦相似度曲線會出現1 個低谷,余弦相似度曲線上的區域最小值處對應著不同類型運動行為的分割點。為了避免余弦相似度曲線上的噪聲及數值波動等對人體運動行為分割點判斷的影響,本文使用曲線簡化算法對余弦相似度曲線進行近似表示,從而檢測出2 段不同類型運動行為的切分點,實現對運動數據的有效分割。

1 相關工作

隨著運動捕捉技術的發展,人體運動捕捉數據日益龐大。為了有效地利用這些運動數據,使用者常常需要將長序列的高維人體運動數據按照人體運動類型的語義描述進行有效分割,劃分為具有單一運動類型的數據片段,以便于后續對人體運動捕捉數據進行分析、合成、組織和管理等處理和應用。人體運動行為的分割提取實現對原始的人體運動捕捉數據進行精確的行為分割,以此作為人體運動數據的結構化分析與合成等數據處理的基礎,已成為國內外研究人員關注的研究熱點。許多研究人員為此進行了大量研究工作,并取得了一系列研究成果。早期的一些研究者以直觀的低層運動特征為基礎分割運動數據。例如,Pomplun等[3]提出了基于關節空間(joint-space)的運動分割算法。Fod 等[4]通過檢測人體關節運動角速度過零點的方法分割人體運動數據。

針對原始人體運動捕捉數據維數高、處理計算量大的難題,一些研究者提出基于數據降維的分割方法。Barbic 等[5]認為不同的人體運動行為可以用不同的本征維數來表示,通過主成分分析 PCA(principal component analysis)對人體運動數據降維,復雜運動類型的PCA 子空間比單一運動的PCA 子空間有更高的維度,因此,最后在子空間中通過投影誤差來檢測行為分割點的位置。肖俊[6]提出了一種基于非線性流形的三維人體運動數據的行為分割方法,采用非線性流形降維技術ISOMAP(isometric mapping)對人體運動數據進行降維,使用k-均值算法對人體運動聚類,從而可以更精確地得到行為分割點。楊濤等[7]提出了一種基于分層曲線簡化的運動捕捉數據提取關鍵幀的方法。Peng[8]把人體骨架分為上肢和下肢2 部分,利用降維后的中心距離特征來表示三維人體運動,通過使用低通濾波器對人體運動數據進行降噪以得到行為分割點。

另一類分割方法通過設計分類器處理機制,實現對人體運動數據的行為分割。Arikan 等[9]通過構造支持向量機SVM(support vector machine)對人工標注的訓練數據集進行人體運動數據的行為分割。Kahol等[10]利用動態層次結構表示人體解剖學特征,使用樸素貝葉斯(naive Bayes)分類器完成人體運動數據的行為分割,但是,這種方法在很大程度上比較依賴于訓練數據集和經驗值。楊躍東等[11]提出了一種基于“運動串”的運動分割方法,運動數據經過譜聚類、時序回復和最大值濾波后生成 “運動串”,在人體運動捕捉數據的基礎上,對這些“運動串”進行分析和分類,從而實現運動數據的行為分割。Zhou 等[12]采用對齊聚類分析ACA(aligned cluster analysis)方法完成人體運動數據的行為分割,這種方法通過引入動態時間對齊核的概念,度量不同長度的運動序列片段的相似性,采用核k-均值完成人體運動的分類,從而達到行為分割的目的。

另外,一些研究者提出了基于模型的人體運動數據分割方法。Barbic 等[5]在基于PCA 行為分割的基礎上提出了基于PPCA 的行為分割方法,認為不同運動類型的數據具有不同的高斯分布,可以根據它們之間的馬氏距離來確定行為分割點。此外,他們還使用高斯混合模型GMM(Gaussian mixture model)對不同運動類型的序列進行聚類,當連續幀屬于不同GMM 模型時,就確定其為行為分割點。Wang 等[13]使用隱馬爾可夫模型HMM(idden Markov model)對運動進行聚類,能夠把自然活動序列分割成運動原子片段。Wang等[14]通過使用核動態紋理對周期對稱的人體運動數據進行分割以獲取它們的運動原子片段。Lu 等[15]提出了基于雙閾值多維分割算法,可以將比較復雜的人體運動數據分解成一個簡單的動態線性模型序列,從而得到分割點。

在三維人體運動數據處理中,國內外學者提出多種不同的三維人體運動特征表示方法。傳統方法通常采用原始運動序列姿態的關節點位置、關節角度、角速度、角加速度等表示。Lee 等[16]提出了一種2 層的結構運動特征的表示方法,其低層把一段序列看成簡單的一階Markov 過程,刻畫運動細節,高層通過統計模型對運動數據庫進行聚類分析。Muller 等[17]提出關系特征表示方法,使用一組布爾數值定性地描述人體運動序列中人體骨架動力學鏈特定點之間以及相關身體部件之間的空間幾何關系特征。肖俊等[2]采用人體各主要骨骼夾角作為對原始運動數據的幾何特征表示,選擇人體骨架中四肢部分的8 段主要骨骼作為特征表示對象,提取這8 段骨骼與由Root 關節和Chest關節組成的中心骨骼之間的夾角作為運動幾何特征。由于人體骨架四肢部分在人體運動中變化最明顯,且在運動描述上更具邏輯性,骨骼夾角既能表示三維人體姿態特征,充分反映人體運動類型變化,又能極大地降低原始三維人體運動數據的維度,為此,本文在采用骨骼夾角作為三維人體運動特征數值表示的基礎上,提出使用骨骼夾角直方圖統計特征,進行人體運動數據的行為分割。另外,考慮到直方圖統計描述中會丟失原有人體運動序列的部分時序特征,例如,一段跑和一段跳的骨骼夾角直方圖可能會相似,但在前者中雙手和雙腳始終保持一前一后,而在后者中雙手與雙腳的運動方向是一致的,因此,在原有8 段骨骼夾角基礎上,增加了左、右上臂間的骨骼夾角和左、右大腿間的骨骼夾角。

本文采用余弦距離度量2 條人體運動數據片段特征的相似性。余弦距離作為一種數據相似性度量機制,通過測量2 個向量內積空間的夾角的余弦來度量它們之間的相似性,可用于任何維度的向量比較,尤其在高維正空間中。余弦距離廣泛應用于信息檢索和文本處理等方面[18-20],其中,文本通常被建模為詞頻向量(term–frequency vector)。由于特定文本中所包含詞匯往往只占所有詞匯集的一部分,詞頻向量通常為一個高維稀疏向量,因此,計算詞頻向量相似度時,需要忽略不匹配的詞匯,只對2 個文檔中都出現的詞匯頻率進行比較,而使用2 個詞頻向量之間夾角的余弦進行度量顯然比傳統歐式距離等度量方法更精確。本文采用骨骼夾角直方圖作為人體運動序列統計特征,同樣具有高維稀疏向量的特點,使用余弦距離度量2 個特征向量在高維空間分布上的方向差異,相對于比較2 個向量幅值等屬性更加直觀,且物理意義明顯,因此,本文提出基于余弦距離的人體運動序列數據統計特征向量的相似性度量機制。

2 特征提取及運動相似性度量

2.1 骨骼夾角運動特征提取

原始的運動捕獲數據是由一系列姿態幀組成的運動序列,每一幀定義了1個層次骨架模型。根關節(root)具有6 個自由度,其中3 個用于表示人體骨架在世界坐標系中的位置,另外3 個定義骨架在世界坐標系中的朝向。對于其余關節,具有3 個自由度,表示它們相對于各自父關節的旋轉角度。圖1 所示為本文使用的人體骨架模型。

圖1 本文使用的人體骨架模型Fig.1 Human skeleton model used in this paper

由于運動類型并不會隨著人體位置和朝向的不同而發生變化,因此,本文不考慮根關節的作用。在通常情況下,人體四肢和腰部的變化最顯著,基本決定了人體的運動類型;頭、手和腳這3 個部位的變化沒有規律,對運動的比較會造成很大影響,而它們對于整體運動類型的區分能力非常小。為此,本文采用根骨骼(Broot)與四肢部分的8 段骨骼(Bi, i=1,…,8)之間的骨骼夾角[2]作為描述每一個姿態的運動特征,如表1所示,表中關節點的位置表示,如root,lowerback 和l-clavicle 等符號與圖1 中的各關節點的符號一一對應,且B1表示由父關節位置l-clavicle(id=17)指向子關節位置l-humerus(id=18)的骨骼向量,表中其他骨骼向量具有同樣的表示含義。

表1 骨骼的向量表示Table 1 Bones definition as vectors pointing from parent joint position to the child

此外,在一段走運動和跳躍運動中,胳膊和腿與根骨骼構成的夾角的分布不會有太大區別。但走路時胳膊和腿是一前一后,而跳躍時,胳膊和腿是同時前伸?;谏鲜鲇^察,為了進一步提高運動類別的描述和區分能力,本文又增加了2 個骨骼夾角,即左、右上臂骨骼B1和B3之間的夾角以及左、右大腿骨骼B5和B7之間的夾角,與表1 中的8 個骨骼夾角共同作為描述運動姿態的特征。

這些骨骼夾角不僅能夠直觀地反映人體運動的物理意義,而且能夠降低原始高維運動數據的維度[7]。根骨骼Broot和第i 段骨骼Bi之間的夾角θi通過式(1)計算得到:

此外,在一段走運動和跳躍運動中,胳膊和腿與根骨骼構成的夾角的分布不會有太大區別。但走路時胳膊和腿是一前一后,而跳躍時,胳膊和腿是同時前伸?;谏鲜鲇^察,為了進一步提高運動類別的描述和區分能力,又增加了2 個骨骼夾角,即左、右上臂骨骼B1和B3之間的夾角θ9,左、右大腿骨骼B5和B7之間的夾角θ10,與表1 中的8 個骨骼夾角共同作為描述運動姿態的特征。

2.2 骨骼夾角直方圖和運動相似性度量

本文采用直方圖來描述運動序列中10 個骨骼夾角的分布,并將2 個運動序列的骨骼夾角直方圖之間的距離作為運動序列的相似性度量,這是本文分割算法的基礎。對于不同類型的運動,其骨骼夾角的變化范圍是不同的,但骨骼之間的夾角總是在0 到π 之間,因此,每個骨骼夾角的下限為0,上限為π。

對于給定的1 條運動序列M,為了計算骨骼夾角的直方圖,本文將[0,π]平均劃分為L 個區間,采用如下計算公式[21]確定L:

其中:N 為運動序列M 所包含的幀數。相應地,在[0,π]上形成了l+1 個邊界,這些邊界可以表示為

由這些邊界構成的區間定義為

第i 個骨骼夾角的直方圖計算公式為

其中:mj為運動序列M 中第j 個骨骼夾角θi落在區間ψj內的頻數;j=1,2,…,10,對應于本文選取的10個骨骼夾角。運動序列M 中的每個骨骼夾角的直方圖Hi是一個1×L 的向量,將M 的10 個骨骼夾角的直方圖向量首尾相連,構成1 個新的1×10L 的向量YM,作為描述運動序列M 的特征向量。

在通常情況下,一類運動中人體骨骼夾角的活動范圍并不是都能夠占據[0,π]的整個角度空間,于是,[0,π]的L 個區間中有些區間對應的元素為0,表示運動中骨骼不可達的范圍空間??梢?,骨骼夾角直方圖特征是一個高維稀疏向量,本文采用余弦距離來度量2 個高維特征向量之間的相似性,具體通過計算2 個向量之間夾角的余弦來實現。

對于任意給定的2 條運動序列M1和M2,分別提取出對應的特征向量YM1和YM2,則序列M1和M2之間的余弦距離計算公式如下:

運動序列M1和M2越相似,則對應的特征向量之間的夾角越小,Dis(M1,M2)也越接近于1。

基于骨骼夾角直方圖的運動特征不但對原始運動數據進行降維,而且避免了邏輯上相似的運動由于時空變化而導致的數值上的差異[22]。此外,在進行相似性度量計算時,本文的骨骼夾角直方圖運動特征不需要像基于DTW(dynamic time warping)的運動相似性度量方法[16,23]一樣需要進行預先時間對齊處理。

3 運動分割

3.1 相似度曲線計算

在計算得到運動序列特征和相似性度量值后,需要計算出1 條運動序列的相似度曲線。對于給定的一段運動序列M,首先在M 上定義1 個滑動窗口W,窗口大小為S,窗口每次滑動步長可以根據不同情況進行自定義,本文將窗口步長設置為1 幀。初始窗口的左邊緣與運動序列M 的第1 幀對齊,最后1 個窗口的右邊緣與運動序列M 的最后1 幀對齊。本文的滑動窗口定義為

其中:m 為當前窗口的序號;f(k)為該窗口包含的運動序列M 中的第k 幀。對于滑動過程中的每一個窗口W(m),提取出前半個窗口對應的運動片段的特征向量Yfirst-half和后半個窗口對應的運動片段的特征向量Ysecond-half,然后,根據余弦距離計算該窗口內前、后2部分運動片段的相似度,如下式所示:

于是,根據s(W(m))得到1 條相似度曲線,該曲線起始于運動序列M 的第S/2 幀,終止于第N-S/2 幀。

若M 只包含1 種運動類型,則每個窗口中前后2段運動應該屬于同一個運動類。根據式(8),s(W(m))將接近于1,得到的相似度曲線是1 條接近于1 的水平線。若M 是1 條由2 類運動前、后相連構成的運動序列,則當滑動窗口在第1 類運動上滑動時,相似度保持相對恒定。當第2 類運動進入滑動窗口時,首先進入的是滑動窗口的后半部分,此時,窗口的前、后2 段運動的相似度將逐漸減小。當第2 類運動完全占據滑動窗口的后半部分時,窗口的前、后2 段運動為2 類不同的運動,因此,計算的相似度將降到最小。隨著滑動窗口繼續向后移動,第2 類運動開始進入窗口的前半部分,此時,窗口的前、后2 段運動之間的相似度逐漸開始增大。當滑動窗口完全進入第2 類運動時,相似度達到最大,如圖2 所示。圖2 中,運動序列M 包含2 類運動行為,每類運動包含大約500 幀,滑動窗口的大小L 設置為100。從圖2 可以看出:運動序列中2 類運動行為的分割點為曲線的極小值點。

滑動窗口長度的選擇應滿足如下2 個條件:

圖2 包含2 類運動行為的運動序列M 的相似度曲線Fig.2 Similarity plot motion sequence M including two behavior sequences

(1) 滑動窗口應具有足夠長度,至少應容納運動序列M 中最大周期運動的2 個周期,以包含充分的運動序列幀數據并能夠反映該類行為的運動特征信息,只有這樣,窗口的前、后2 半部分才能獲取足夠的數據來建立有效的骨骼夾角直方圖。

(2) 滑動窗口的一半應小于運動序列中所包含的全部運動類中最短語義運動片段的長度。如圖3 所示,灰色和黃色片段分別表示2 類運動序列,其中,深色運動序列小于窗口的一半。當滑動窗口中心點從A 點滑動到B 點時,深色運動逐漸進入窗口,窗口前、后2 半部分之間的相似度逐漸減??;當滑動窗口從B 移至C 點時,由于后半窗口中的2 類運動占據比例保持不變,此時,相似度也保持恒定;由C 點滑至D 點時,相似度開始增加。從圖3 可以看到:C 點是行為分割點,而在這種情況下,B 點也很容易被選擇為分割點,于是產生分割錯誤。因此,在設置滑動窗口長度時,其尺寸的一半應小于運動序列中的最短運動類型運動片段。

因此,需要根據行為類型的運動周期及最短的運動類型片段長度,設定適當的滑動窗口長度。

圖3 窗口一半大于運動序列中待分割出的最短語義運動片段時的錯誤分割Fig.3 Error case of segmentation when half of window size is larger than the shortest behavior clip in the motion sequence

3.2 分割點檢測

給定一條運動序列,能夠計算得到1 條對應的相似度曲線。經過上述分析得知,相似度曲線的極小值即為不同運動類型的分割點,本文的目標就是找出相似度曲線上的極小值點。為了確定分割點,最直接的作法是通過設置閾值,選擇小于該閾值的點作為分割點。然而,由于給定的運動序列中任意2 種類型運動之間的最小相似度并不能預先確定,因此,閾值法并不適合。在一段運動序列中,即使都屬于同類型的運動,不同周期的運動姿態也會有差異,這會導致相似度曲線產生波動;此外,滑動窗口長度的選擇也會對相似度曲線產生影響。但實際上由上述原因導致的相似度曲線波動的幅度遠遠小于由運動類型改變引起的波動幅度,因此,本文采用曲線簡化算法來忽略相似度曲線中較小的波動變化而保留較大的波動變化,達到分割點檢測的目的。

對于得到的相似度曲線(如圖4(a)所示),首先用連接該曲線首尾兩端點的線段來近似表示該曲線(如圖4(b)所示),近似效果可以通過計算曲線到該線段的最大距離來衡量。若該距離大于預先設定的閾值,則將線段2 個端點與曲線到該線段最遠距離的點分別相連,并刪除該線段(如圖4(c)所示)。然后,該過程一直遞歸直至最大距離小于閾值為止,如圖4(d)所示。

圖4 曲線簡化算法示意Fig.4 Demonstration for curve simplification

曲線簡化算法中的閾值為經驗值,通過實驗進行設置。設置過大會將一些分割點忽略,過小會受到噪聲和數據波動的影響,可能會選出一些錯誤的分割點。圖2 中的相似度曲線經過曲線簡化處理后得到的近似曲線如圖5 中的折線所示。本文通過在包含大多數運動類別的訓練樣本集上進行的實驗來確定曲線簡化中的閾值,據此設置閾值為0.08。圖5 中小方框是近似曲線的連接點,為了找到分割點,需要從這些連接點中檢測出極小值。從圖5 可以看出:極小值的點與左邊相鄰的連接點構成的直線斜率為負,與右邊相鄰的連接點構成的直線斜率為正。因此,可以根據該方法從這些曲線連接點中快速提取出運動序列的分割點。

圖5 運動序列相似度曲線的簡化結果Fig.5 Simplification result for motion sequence similarity curve

4 實驗結果及分析

為了進一步說明算法的適用性和有效性,本文設計2 組實驗。實驗數據選自美國CMU 的人體運動捕捉數據庫[24],其運動數據采用AMC 格式[25],數據描述使用歐拉關節角。

4.1 余弦相似性度量的有效性

從CMU 數據庫選取7 類不同的運動,包括走(walking)、跑(running)、坐(sitting down)、前跳(forward jumping)、爬(climbing)、伸手臂(arm stretching)、打拳(punching),并從數據庫中隨機抽取這7 類運動行為的14 段運動序列,每類包含2 段運動序列,每段序列長度為240 幀。2 個相同類型的運動片段之間的余弦相似度理論上應該接近于1。為了驗證算法的正確性和有效性,建立14×14 的相似性矩陣,矩陣的每一個元素是其所在行和列對應的2 類運動序列的余弦相似度,如表2 所示。

事實上,每個運動類與其自身相似,相似度為1,與同類運動的不同序列片段也應該具有很高的相似度。在相似性矩陣表中,用灰色矩形標識出的對角線元素是2 個同類運動相同片段和同類不同片段之間的余弦相似度。從表2 可以看出:同類運動相同片段的相似度為1,同類運動不同片段之間也具有比其他運動片段更高的相似度,接近于1。例如,run1 和run2之間的相似度為0.97,jump1 和jump2 之間的相似度為0.94。實驗結果表明:本文提出的余弦距離度量對人體運動捕捉數據序列片段具有良好的描述能力和區分能力,為實現運動捕捉數據的自動化高效分割創造了有利條件。

4.2 運動序列的自動分割

從CMU 數據庫中選取對第86 號實驗者采集的14段人體運動捕捉數據序列,每段運動序列大約8 000幀,包含約10 類人體運動,包括走(walking)、跑(running)、打拳(punching)、爬(climbing)等,每類運動行為的周期為50~200 幀。表3 所示為實驗用運動序列數據集的詳細信息。

為了測試本文方法的分割效果,對運動序列的分割點進行了預先人工劃分,將其作為算法自動分割結果的比較標準,并與Barbic 等[5]提出的基于PPCA 的運動分割算法進行比較。部分運動行為的分割實驗結果如圖6 所示。

從圖6 可以看出:在部分運動數據的分割實驗中,對于走這類運動行為,基于PPCA 的算法在行走過程中的拐彎處多得到1 個分割點,錯誤地將同一個走運動行為分成了2類。例如,圖6(a)中運動序列86_03.amc的第1 個和最后1 個分割點,圖6(b)中運動序列86_05.amc,圖6(d)中運動序列86_08.amc,圖6(e)中運動序列86_11.amc 和圖6(f)中運動序列86_13.amc的第1 個分割點,圖6(c)中運動序列86_07.amc 的第8個分割點。

表2 7 類運動14 段序列的相似性Table 2 Similarity of 14 motion sequences belonging to 7 behaviors

圖6 運動分割比較實驗結果Fig.6 Comparison experimental results between our method and PPCA algorithm for motion segmentation

表3 實驗中用于行為分割的人體運動數據序列Table 3 Human motion data sequences of behavior segmentation used in experiments

在圖6(b)中,對于86_05.amc 運動序列,手工分出的第4 個分割點是將前跳和右腿單腿跳分開,而PPCA 卻漏掉了這個分割點。根據數據庫中采集的原始運動數據序列,在手工分出的第9 和第10 個分割點之間是一段“揚起手臂揮打”的動作,PPCA 卻將其分為2 段。在圖6(e)中,對于86_11.amc 序列手工分割的第2 個分割點是將雙臂伸展與右臂單獨伸展2 段運動分開,第4 個分割點是將雙臂伸展與左臂單獨伸展分開。從圖6 可以看到:實驗中在曲線簡化算法閾值設為0.08 的情況下,手工分割中的第2 個和第4 個分割點沒有找到,但可以通過調整閾值設置實現不同粒度的運動行為分割。在圖6(f)中,對于86_13.amc 序列手工分割的第4 個和第5 個分割點之間是一段靜止站立的動作,PPCA 卻將它們與前、后兩段運動融合在一起而沒有分開。手工分割的第6 個和第7 個分割點之間是一段“站在梯子上四處張望”的動作,PPCA卻將其分成了3 段。手工分割的第7 個和第8 個分割點之間是一段短暫的“站在梯子上指點”動作,由于該動作與前一個動作很相近,且持續時間很短,因此,這2 種方法都沒有將其分割開。

為了進一步說明本文提出的分割算法的性能,計算了運動分割實驗結果的準確率(p)和召回率(r)。用Ncorrect表示算法檢測出的正確的分割點數目,Treport表示算法檢測到的總的分割點數目,Thuman表示手工分割點的數目,則準確率定義為

召回率定義為

對于實驗中的14 條運動序列,通過準確率和召回率比較了本文提出的算法與PPCA 算法的分割結果,如表4 所示。

表4 本文COSINE 算法和PPCA 的準確率及召回率Table 4 Precision and recall of our COSINE based method and PPCA algorithm

據準確率可知本文提出的方法較PPCA 方法在實驗數據庫中能夠得到更多正確的分割點,據召回率可知本文算法得到的分割點中有效分割點更多,也說明本算法良好的行為分割性能。

需說明的是:由于相似度曲線是從運動序列的第S/2 幀開始,第N-S/2+1 幀結束,因此,[1,S/2]和[N-S/2+1,N]這2 段范圍內的分割點將會檢測不到。為了避免該問題,本文在設置窗口長度時,保證窗口長度的一半小于人體最短運動類型的最短運動語義片段長度,這樣,在[1,S/2]和[N-S/2+1,N]的范圍內,將不存在分割點,從而保證了本文算法的魯棒性。

5 結論

(1) 針對運動檢索與合成等一系列運動數據重用方法對單一語義運動序列的需求,本文提出了一種新的無監督的人體運動捕捉數據運動行為的自動分割算法,將運動序列自動劃分為不同類型的行為運動。算法通過計算描述人體運動序列姿態的每個骨骼夾角的統計直方圖,提取運動序列的特征向量。在此基礎上,本文提出了基于余弦距離的運動序列相似性度量計算方法,并通過定義滑動窗口和曲線簡化得到運動序列的分割點。

(2) 采用骨骼夾角直方圖作為運動序列的描述特征,不僅對原始運動序列進行了降維,而且在相似性度量方面避免了時空變化所帶來的影響,不需要預先進行時間對齊計算??梢?,本文的骨骼夾角直方圖特征和余弦距離度量大大減小了對運動序列進行比較的計算量,提高了算法的運行效率,實驗結果也充分說明了算法在進行運動行為分割上的正確性、有效性和良好性能。

[1] Moeslund T B, Hilton A, Kruger V. A survey of advances in vision-based human motion capture and analysis[J]. Computer Vision and Image Understanding, 2006, 104(2/3): 90-126.

[2] 肖俊, 莊越挺, 吳飛. 三維人體運動特征可視化與交互式運動分割[J]. 軟件學報, 2008, 19(8): 1995-2003.XIAO Jun, ZHUANG Yueting, WU Fei. Feature visualization and interactive segmentation of 3D human motion[J]. Journal of Software, 2008, 19(8): 1995-2003.

[3] Pomplun M, Matari? M J. Evaluation metrics and results of human arm movement imitation[C]//Proceedings of International Conference on Humanoid Robotics (Humanoids 2000). Boston,USA: IEEE-RAS, 2000: 7-8.

[4] Fod A, Mataric M, Jenkins O C. Automated derivation of primitives for movement classification[J]. Autonomous Robots,2002, 12(1): 39-54.

[5] Barbic J, Safonova A, Pan J Y, et al. Segmenting motion capture data into distinct behaviors[C]//Proceedings of International Conference on Graphics Interface. Ontario, 2004: 185-194.

[6] 肖俊. 智能人體動畫若干關鍵技術研究[D]. 杭州: 浙江大學計算機科學與技術學院, 2007: 42-50.XIAO Jun. Study on intelligent human animation key techniques[D]. Hangzhou: Zhejiang University. School of Computer Science and Technology, 2007: 42-50.

[7] 楊濤, 肖俊, 吳飛, 等. 基于分層曲線簡化的運動捕獲數據關鍵幀提取[J]. 計算機輔助設計與圖形學學報, 2006, 18(11):1691-1697.YANG Tao, XIAO Jun, WU Fei, et al. Extraction of keyframe of motion capture data based on layered curve simplification[J].Journal of Computer-Aided Design & Computer Graphics, 2006,18(11): 1691-1697.

[8] Peng S J. Motion segmentation using central distance features and low-pass filter[C]//Proceedings of International Conference on Computational Intelligence and Security. Nanning, China:IEEE, 2010: 223-226.

[9] Arikan O, Forsyth D A, O’Brien J F. Motion synthesis from annotations[J]. ACM Transactions on Graphics, 2003, 22(3):402-408.

[10] Kahol K, Tripathi P, Panchanathan S, et al. Gesture segmentation in complex motion sequences[C]//Proceedings of International Conference on Image Processing(ICIP 2003). Barcelona,Spain:IEEE, 2003: II: 105-108.

[11] 楊躍東, 王莉莉, 郝愛民. 運動串: 一種行為分割的運動捕獲數據表示方法[J]. 計算機研究與發展, 2008, 45(3): 527-534.YANG Yuedong, WANG Lili, HAO Aimin. Motion string: A motion capture data representation for behavior segmentation[J].Journal of Computer Research and Development, 2008, 45(3):527-534.

[12] Zhou F, Torre F, Hodgins J K. Aligned cluster analysis for temporal segmentation of human motion[C]//Proceedings of International Conference on Automatic Face & Gesture Recognition. Amsterdam, Netherland: IEEE, 2008: 1-7.

[13] Wang T S, Shum H Y, Xu Y Q, et al. Unsupervised analysis of human gestures[C]//Proceedings of IEEE Pacific Rim Conference on Multimedia. Beijing, China:Springer Berlin Heidelberg, 2001: 174-181.

[14] Wang M, Wang W, Li Y, et al. Motion capture data segmentation using kernel dynamic texture[C]//Proceedings of International Conference on Audio Language and Image Processing. Shanghai,China: IEEE, 2010: 592-596.

[15] Lu C M, Ferrier N J. Repetitive motion analysis: Segmentation and event classification[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(2): 258-263.

[16] Lee J, Chai J, Reitsma P S A, et al. Interactive control of avatars animated with human motion data[J]. ACM Transactions on Graphics, 2002, 21(3): 491-500.

[17] Müller M, Roder T, Clausen M. Efficient content-based retrieval of motion capture data[J]. ACM Transactions on Graphics, 2005,24(3): 677-685.

[18] Singhal A. Modern Information Retrieval: A brief overview[J].IEEE Data Engineering Bulletin, 2001, 24(4): 35-43.

[19] Marti A H. TextTiling: Segmenting text into multi-paragraph subtopic passages[J]. Journal of Computational Linguistics, 1997,23(1): 33-64.

[20] Peter D T, Patrick P. From frequency to meanings: vector space models of semantics[J]. Journal of Artificial Intelligence Research, 2010, 37(1): 141-188.

[21] Scott D W. Multivariate Density Estimation: Theory, Practice,and Visualization. New York: John Wiley, 1992: 47-94.

[22] Lucas K, Michael G. Automated extraction and parameterization of motions[J]. ACM Transactions on Graphics, 2004, 23(3):559-568.

[23] Eamonn K, Themistoklis P, Victor B Z, et al. Indexing large human-motion databases[C]//Proceedings of International Conference on Very Large Data Bases. Toronto, Canada:VLDB Endowment, 2004: 780-791.

[24] CMU Graphics Lab. CMU Motion Capture Database [EB/OL].[2003-01-01]. http://mocap.cs.cmu.edu/.

[25] Miiller M, Roder T, Clausen M, et al. Documentation mocap database HDM05[R]. Bonn, Germany: Universit?t Bonn, 2007,9-20.

猜你喜歡
余弦夾角直方圖
符合差分隱私的流數據統計直方圖發布
旋轉變壓器接線故障分析法的研究
探究鐘表上的夾角
基于FPGA的直方圖均衡圖像增強算法設計及實現
求解異面直線夾角問題的兩個路徑
用直方圖控制畫面影調
如何求向量的夾角
平面向量夾角問題的易錯剖析
中考頻數分布直方圖題型展示
兩個含余弦函數的三角母不等式及其推論
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合