国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于余弦距離的人體運(yùn)動(dòng)數(shù)據(jù)行為分割算法

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

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

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

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

1 相關(guān)工作

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

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

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

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

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

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

2 特征提取及運(yùn)動(dòng)相似性度量

2.1 骨骼夾角運(yùn)動(dòng)特征提取

原始的運(yùn)動(dòng)捕獲數(shù)據(jù)是由一系列姿態(tài)幀組成的運(yùn)動(dòng)序列,每一幀定義了1個(gè)層次骨架模型。根關(guān)節(jié)(root)具有6 個(gè)自由度,其中3 個(gè)用于表示人體骨架在世界坐標(biāo)系中的位置,另外3 個(gè)定義骨架在世界坐標(biāo)系中的朝向。對于其余關(guān)節(jié),具有3 個(gè)自由度,表示它們相對于各自父關(guān)節(jié)的旋轉(zhuǎn)角度。圖1 所示為本文使用的人體骨架模型。

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

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

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

此外,在一段走運(yùn)動(dòng)和跳躍運(yùn)動(dòng)中,胳膊和腿與根骨骼構(gòu)成的夾角的分布不會(huì)有太大區(qū)別。但走路時(shí)胳膊和腿是一前一后,而跳躍時(shí),胳膊和腿是同時(shí)前伸。基于上述觀察,為了進(jìn)一步提高運(yùn)動(dòng)類別的描述和區(qū)分能力,本文又增加了2 個(gè)骨骼夾角,即左、右上臂骨骼B1和B3之間的夾角以及左、右大腿骨骼B5和B7之間的夾角,與表1 中的8 個(gè)骨骼夾角共同作為描述運(yùn)動(dòng)姿態(tài)的特征。

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

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

2.2 骨骼夾角直方圖和運(yùn)動(dòng)相似性度量

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

對于給定的1 條運(yùn)動(dòng)序列M,為了計(jì)算骨骼夾角的直方圖,本文將[0,π]平均劃分為L 個(gè)區(qū)間,采用如下計(jì)算公式[21]確定L:

其中:N 為運(yùn)動(dòng)序列M 所包含的幀數(shù)。相應(yīng)地,在[0,π]上形成了l+1 個(gè)邊界,這些邊界可以表示為

由這些邊界構(gòu)成的區(qū)間定義為

第i 個(gè)骨骼夾角的直方圖計(jì)算公式為

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

在通常情況下,一類運(yùn)動(dòng)中人體骨骼夾角的活動(dòng)范圍并不是都能夠占據(jù)[0,π]的整個(gè)角度空間,于是,[0,π]的L 個(gè)區(qū)間中有些區(qū)間對應(yīng)的元素為0,表示運(yùn)動(dòng)中骨骼不可達(dá)的范圍空間。可見,骨骼夾角直方圖特征是一個(gè)高維稀疏向量,本文采用余弦距離來度量2 個(gè)高維特征向量之間的相似性,具體通過計(jì)算2 個(gè)向量之間夾角的余弦來實(shí)現(xiàn)。

對于任意給定的2 條運(yùn)動(dòng)序列M1和M2,分別提取出對應(yīng)的特征向量YM1和YM2,則序列M1和M2之間的余弦距離計(jì)算公式如下:

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

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

3 運(yùn)動(dòng)分割

3.1 相似度曲線計(jì)算

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

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

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

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

滑動(dòng)窗口長度的選擇應(yīng)滿足如下2 個(gè)條件:

圖2 包含2 類運(yùn)動(dòng)行為的運(yùn)動(dòng)序列M 的相似度曲線Fig.2 Similarity plot motion sequence M including two behavior sequences

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

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

因此,需要根據(jù)行為類型的運(yùn)動(dòng)周期及最短的運(yùn)動(dòng)類型片段長度,設(shè)定適當(dāng)?shù)幕瑒?dòng)窗口長度。

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

3.2 分割點(diǎn)檢測

給定一條運(yùn)動(dòng)序列,能夠計(jì)算得到1 條對應(yīng)的相似度曲線。經(jīng)過上述分析得知,相似度曲線的極小值即為不同運(yùn)動(dòng)類型的分割點(diǎn),本文的目標(biāo)就是找出相似度曲線上的極小值點(diǎn)。為了確定分割點(diǎn),最直接的作法是通過設(shè)置閾值,選擇小于該閾值的點(diǎn)作為分割點(diǎn)。然而,由于給定的運(yùn)動(dòng)序列中任意2 種類型運(yùn)動(dòng)之間的最小相似度并不能預(yù)先確定,因此,閾值法并不適合。在一段運(yùn)動(dòng)序列中,即使都屬于同類型的運(yùn)動(dòng),不同周期的運(yùn)動(dòng)姿態(tài)也會(huì)有差異,這會(huì)導(dǎo)致相似度曲線產(chǎn)生波動(dòng);此外,滑動(dòng)窗口長度的選擇也會(huì)對相似度曲線產(chǎn)生影響。但實(shí)際上由上述原因?qū)е碌南嗨贫惹€波動(dòng)的幅度遠(yuǎn)遠(yuǎn)小于由運(yùn)動(dòng)類型改變引起的波動(dòng)幅度,因此,本文采用曲線簡化算法來忽略相似度曲線中較小的波動(dòng)變化而保留較大的波動(dòng)變化,達(dá)到分割點(diǎn)檢測的目的。

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

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

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

圖5 運(yùn)動(dòng)序列相似度曲線的簡化結(jié)果Fig.5 Simplification result for motion sequence similarity curve

4 實(shí)驗(yàn)結(jié)果及分析

為了進(jìn)一步說明算法的適用性和有效性,本文設(shè)計(jì)2 組實(shí)驗(yàn)。實(shí)驗(yàn)數(shù)據(jù)選自美國CMU 的人體運(yùn)動(dòng)捕捉數(shù)據(jù)庫[24],其運(yùn)動(dòng)數(shù)據(jù)采用AMC 格式[25],數(shù)據(jù)描述使用歐拉關(guān)節(jié)角。

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

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

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

4.2 運(yùn)動(dòng)序列的自動(dòng)分割

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

為了測試本文方法的分割效果,對運(yùn)動(dòng)序列的分割點(diǎn)進(jìn)行了預(yù)先人工劃分,將其作為算法自動(dòng)分割結(jié)果的比較標(biāo)準(zhǔn),并與Barbic 等[5]提出的基于PPCA 的運(yùn)動(dòng)分割算法進(jìn)行比較。部分運(yùn)動(dòng)行為的分割實(shí)驗(yàn)結(jié)果如圖6 所示。

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

表2 7 類運(yùn)動(dòng)14 段序列的相似性Table 2 Similarity of 14 motion sequences belonging to 7 behaviors

圖6 運(yùn)動(dòng)分割比較實(shí)驗(yàn)結(jié)果Fig.6 Comparison experimental results between our method and PPCA algorithm for motion segmentation

表3 實(shí)驗(yàn)中用于行為分割的人體運(yùn)動(dòng)數(shù)據(jù)序列Table 3 Human motion data sequences of behavior segmentation used in experiments

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

為了進(jìn)一步說明本文提出的分割算法的性能,計(jì)算了運(yùn)動(dòng)分割實(shí)驗(yàn)結(jié)果的準(zhǔn)確率(p)和召回率(r)。用Ncorrect表示算法檢測出的正確的分割點(diǎn)數(shù)目,Treport表示算法檢測到的總的分割點(diǎn)數(shù)目,Thuman表示手工分割點(diǎn)的數(shù)目,則準(zhǔn)確率定義為

召回率定義為

對于實(shí)驗(yàn)中的14 條運(yùn)動(dòng)序列,通過準(zhǔn)確率和召回率比較了本文提出的算法與PPCA 算法的分割結(jié)果,如表4 所示。

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

據(jù)準(zhǔn)確率可知本文提出的方法較PPCA 方法在實(shí)驗(yàn)數(shù)據(jù)庫中能夠得到更多正確的分割點(diǎn),據(jù)召回率可知本文算法得到的分割點(diǎn)中有效分割點(diǎn)更多,也說明本算法良好的行為分割性能。

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

5 結(jié)論

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

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

[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] 肖俊, 莊越挺, 吳飛. 三維人體運(yùn)動(dòng)特征可視化與交互式運(yùn)動(dòng)分割[J]. 軟件學(xué)報(bào), 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òng)畫若干關(guān)鍵技術(shù)研究[D]. 杭州: 浙江大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 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] 楊濤, 肖俊, 吳飛, 等. 基于分層曲線簡化的運(yùn)動(dòng)捕獲數(shù)據(jù)關(guān)鍵幀提取[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 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] 楊躍東, 王莉莉, 郝愛民. 運(yùn)動(dòng)串: 一種行為分割的運(yùn)動(dòng)捕獲數(shù)據(jù)表示方法[J]. 計(jì)算機(jī)研究與發(fā)展, 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.

猜你喜歡
余弦夾角直方圖
符合差分隱私的流數(shù)據(jù)統(tǒng)計(jì)直方圖發(fā)布
旋轉(zhuǎn)變壓器接線故障分析法的研究
探究鐘表上的夾角
基于FPGA的直方圖均衡圖像增強(qiáng)算法設(shè)計(jì)及實(shí)現(xiàn)
求解異面直線夾角問題的兩個(gè)路徑
用直方圖控制畫面影調(diào)
如何求向量的夾角
平面向量夾角問題的易錯(cuò)剖析
中考頻數(shù)分布直方圖題型展示
兩個(gè)含余弦函數(shù)的三角母不等式及其推論
商丘市| 静宁县| 云南省| 那坡县| 达拉特旗| 汾西县| 许昌市| 札达县| 宁河县| 平原县| 当雄县| 溧水县| 铜鼓县| 桓台县| 原阳县| 广水市| 珠海市| 永兴县| 星子县| 曲沃县| 称多县| 仙桃市| 庆云县| 潞城市| 林周县| 依安县| 昆明市| 张家港市| 彩票| 沭阳县| 澄迈县| 克山县| 新密市| 保山市| 和顺县| 辽中县| 铜陵市| 芜湖市| 龙井市| 南漳县| 双鸭山市|