專利名稱:基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法
技術領域:
本發明涉及多媒體人體三維動畫領域,尤其涉及一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法。
背景技術:
二十世紀九十年代以來,隨著運動捕獲技術的興起,以及設備技術的進步,大量的三維人體運動捕獲數據生成,并被廣泛的應用在計算機動畫,游戲,醫學仿真,電影特技等領域。隨著海量三維人體運動捕獲數據庫的出現,使得如何從復雜的人體運動中找到能正確表達運動信息的本質特征,如何對運動數據進行正確高效的識別和對海量運動數據進行高效處理,從而有效利用運動捕獲數據庫成為一個新的挑戰。
運動是各關節點信號的和諧組合,在檢索過程中需要合理的運動特征描述機制,因此,提取什么樣的運動特征,以及用什么樣的表達方式來表達運動特征會對運動處理的效果和效率會有極大的影響。本發明中所采用的二維幾何特征方法不同于傳統的運動特征提取方法,考慮運動的幾何結構能夠較真實地反映運動內在屬性。
從運動數據中提取的特征維數通常都非常高,每個數據之間的距離將因為中央極限定律而變得近乎相同,無法區分彼此,產生高維災難(Curse ofDimensionality)問題。因此從高維特征中尋找“有意義”的低維特征,可以避免導致較高的時間和空間復雜度,提高檢索效率。而非線性流形學習(ISOMAP)算法使用最近鄰圖中最短路徑得到近似的測地線距離,代替不能表示內在流形結構的歐氏(Euclidean)距離,然后輸入到多維尺度分析(MDS)中處理,進而發現嵌入在高維空間的低維坐標。
而通過隱馬爾可夫模型(HMM)的學習方法對人體運動數據庫里的運動進行學習,可以自動的為絕大部分常見的運動類型的每一個二維幾何特征建立一個連續的隱馬爾可夫模型。而因為單個弱學習器的精度非常低,因此本發明引入集成學習的方法。集成學習(ensemble learning)通過訓練基學習器(base learner)的多個版本來對一個問題進行求解,可以顯著地提高學習系統的泛化能力。最近幾年,國際上神經網絡、機器學習、統計學等領域的很多研究者都投入到集成學習的研究中,使得該領域成為了一個相當活躍的研究熱點。通過采用自適應的推進算法(Adaboost)對弱隱馬爾可夫學習器的集成,我們提高了學習器的精度,從而提高了運動識別的準確性。
發明內容
本發明的目的在于提供一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法。
基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法包括如下步驟(1)從三維人體運動數據中,提取一種能反映局部幾何關系的二維幾何特征;(2)采用非線性流形學習的降維算法,把高維原始數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維;(3)采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據;(4)對于降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型參數;(5)采用自適應的推進算法,對弱隱馬爾可夫模型建立了一個加強型的集成學習器,完成對運動的識別。
所述的從三維人體運動數據中,提取一種能反映局部幾何關系的二維幾何特征用布爾函數來表示F∏→{0,1};對于f個布爾函數組成的向量,得到一個混合函數F∏→{0,1}f,把F看作是一個特征函數,向量F(p)則是特征向量或者簡單的說是姿勢p∈∏的一個特征,通過組合FοD應用到運動捕獲數據D[1T]→∏上,其中,FοD表達了運動循環的兩個峰值,通過峰值能夠很輕易的得到運動的速度,特征F對于全局位置和朝向,骨骼尺寸大小,不同的局部空間變形以及腿部的垂直移動具有不變性。
所述的采用非線性流形學習的降維算法,把高維原始數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維采用非線形流形學習算法先構建一個鄰接圖,每個點只和自己相鄰的點相連,鄰域內兩點的流形距離由他們的歐式距離逼近,不在同一個鄰域中的兩點的流形距離由他們在鄰接圖上的最短Dijkstra距離逼近,隨后非線形流形學習基于這個鄰接矩陣,直接計算低維流形的嵌入,使得如下目標函數最小化E=||D-D~||L2]]>
其中Dij表示流形上的點的某種距離測度, 表述嵌入空間點對之間的距離,L2表示矩陣的Frobenius范數,||A||L2=Σi,jAij2.]]>所述的非線性流形學習算法的步驟如下1)建立鄰接矩陣G.,主要有兩種辦法確定鄰接矩陣的邊,ε鄰域和K鄰域.當點j在點i,或點i落在點j的ε或K鄰域時,在i和j之間建立一條權重為dx(i,j)的邊。
2)利用Dijkstra或者Flyod算法,計算點對之間的最短距離,得到矩陣DG,其中的所有元素都是G中每對點的最短路徑DG={dG(i,j)}3)建立一個d維子空間嵌入讓λp是矩陣τ(DG)的前p個特征值(特征值按降序排列),vpi是第p個特征向量的第i個分量;d維子空間的坐標向量yi的第p個分量就等于 所述的采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據讓D={x1,x2,...,xn}是未知分布的一個采樣數據集,其連續密度為p,讓P為其對應的經驗分布。考慮一個Hilbert空間 的內積函數表達如下<f,g>p=∫f(x)g(x)p(x)dx其中,p(x)是權重函數,這樣核函數K在空間 中和一個線性算子Kp聯系如下(Kpf)(x)=∫K(x,y)f(y)p(y)ddy然后用經驗分布P取代未知分布p重新定義一個“經驗”Hilbert空間 核函數 產生一個基于D的對稱矩陣 其中M~ij=K~(xi,xj);]]>讓特征向量,特征值對(vk,λi)作為K~pfk=λk′fk]]>的解;讓ek(x)=yk(x)λk]]>用來表示新數據x到低維空間的映射,擴展非線性流形學習,使其能夠運用到新數據上ek(x)=12λkΣivik{Ex′[D~2(x′,xi)]-D~2(xi,x)}]]>用足夠數量的運動數據去估計空間 上Kp的特征函數,就得到一個非訓練數據映射。
所述的對于降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型參數對于第j個二維幾何特征,為每一種運動類型學習一個隱馬爾可夫模型λi(i=1,2,...,M);給定一個觀測序列O,為每一個隱馬爾可夫模型利用前向后向算法計算P(O|λ);基于第j個二維幾何特征的運動識別就通過尋找有著最大P(O|λ)值的運動類型i來實現的表達式如下action(O)=argmaxi:i=1,···,M(P(O|λi)]]>通過以上表達式,M個運動類型和N個二維幾何特征組成了一個M×N的隱馬爾克夫模型矩陣,把第i種運動類型的第j個關節點的隱馬爾可夫模型表示為HMMi,j,對應參數為λi,j。列j所對應的隱馬爾科夫模型集合對應第j個二維幾何特征的分類器;需要計算給定狀態s在t時刻觀測事件Ot的概率P(Ot|st=s);連續隱馬爾可夫模型用概率密度函數來計算P(Ot|st=s),表達式如下Σm=13(wsm1(2π)d2|Σsm|12e-12(Ot-μsm)Σsm-1(Ot-μsm)T).]]>所述的采用自適應的推進方法對弱隱馬爾可夫模型進行加強,得到一個能反映人體整體運動信息的加強型集成分類器,實現正確高效的運動識別給定n個訓練樣本(x1,y1),...,(xn,yn)的訓練集,其中yi=|0,1|,(i=1,2,...,n)對應樣本識別的錯誤和正確,樣本中有u個錯誤樣本,v個正確樣本;待分類運動的每個關節點的空間特征表示為fj(·),其中1≤j≤16;對于第i個訓練樣本xi,它的特征為fj(xi);第j個關節點的空間特征的弱分類器hj(x)由一個特征fj,一個閥值θj和一個指示不等式方向的偏置值pj構成hj(x)=1,pjfj<pjθj0,otherwise]]>通過對正反例進行分析,選擇錯誤率最低的T個弱分類器,最優化組合成一個強分類器。
本發明具有的有益的效果是(1)提取了能很好反映人體整體運動的二維幾何特征,并采用非線性流形學習的降維算法,把高維特征數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維,消除數據冗余,減少后續的計算量;
(2)采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據,提高了非線性流形學習方法的普遍適用性;(3)對降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型,采用自適應的推進方法對弱隱馬爾可夫模型進行加強,得到一個能反映人體整體運動信息的加強型集成分類器,實現對人體運動的自動,快速的識別。
圖1用走路運動風格為例顯示了本發明中運動二維幾何特征的特點;圖2是本發明中采用的非線性流形學習的降維方法在三維子空間的運動投影;圖3本發明訓練人體運動數據得到的隱馬爾可夫模型矩陣,每一個隱馬爾可夫模型有三個隱藏的狀態,每一個狀態包含三個混合高斯分量;圖4是針對人體走路運動采用本發明中的方法和采用弱隱馬爾可夫模型的方法得到的運動識別精度的比較;圖5是針對人體拳擊運動采用本發明中的方法和采用弱隱馬爾可夫模型的方法得到的運動識別精度的比較。
具體實施例方式
本發明采用集成學習的隱馬爾可夫模型的方法,對通過擴展的非線性流形學習的降維方法實現特征數據降維的人體運動二維幾何特征進行學習,得到不同運動類型的學習器,從而實現人體運動高精度的快速自動識別。
為了實現發明目的,本方法采用如下的技術方案步驟1從三維人體運動數據中,提取一種能反映局部幾何關系的二維幾何特征為了有效地表達人體運動,我們提取運動的二維幾何特征。因此利用運動姿勢中各個關節點的幾何關系來提取運動的特征,得到的二維幾何特征能夠很好地解決運動數據的邏輯相似問題,我們引入布爾特征的概念,并用一個布爾函數來表示F∏→{0,1},顯然布爾函數的任何布爾表達式都是它本身。對于f個布爾函數組成的向量,我們可以得到一個混合函數F∏→{0,1}f。如上所述,我們把F看作是一個特征函數,向量F(p)則是特征向量或者簡單的說是姿勢p∈∏的一個特征。特征函數通過組合FοD應用到一個運動捕獲數據D[1T]→∏上,設定j1=’root’,j2=’lankle’,j3=’lhip’,and j4=’rtoes’,這樣二維結構特征可以表示為Fr:=Fplane(j1,j2,j3;j4).]]>j1,j2,j3所決定的平面,很明顯對于一個人自然站立的姿勢來說,特征Fr(P)的值為1。而對于走路或者跑步運動來說,如果右腳移動到身后或者左腳移動到前方,則特征為0。交換特征Fr的定義點的左右位置并翻轉平面的朝向,我們得到了另外一個特征Fl。現在讓我們來研究一下特征函數組合F=Fr∧Fl,F的值為1當且僅當Fr,Fl都為1,即左腳趾和右腳趾都位于所對應平面的前方。可以看出,函數F非常適合對走路,跑步等這類腳步循環運動類型進行表達。如果一個運動數據D[1T]→∏描述的是這種類型的運動,那么FοD則表達了運動循環的兩個峰值,通過峰值能夠很輕易的得到運動的速度。另一方面,特征F對于全局位置和朝向,骨骼尺寸大小,不同的局部空間變形(比如側身)以及腿部的垂直移動來說來說是不變的,Fplanej1,j2,j3;j4中的四個點可以通過各種不同的方法來挑選。比如,當j1=’root’,j2=’l shoulder’,j3=’rshoulder’,j4=’lwrist’時,特征表示左手是否位于身體的前面或者后面。通過一些合適的補償,我們可以使特征更加的魯棒。我們通過實驗以及先驗知識,還定義了一系列其他類型的二維幾何特征。與三個點來定義一個平面不同的是可以通過兩個點給定的法向量得到基準平面。比如,與從“胸口”到“脖子”的向量正交的平面,通過這個平面,可以很方便的判斷頭部在脖子上面還是下面,另外一類幾何特征則檢查兩個關節點,兩個身體段,或者一個關節點和一個身體段是否在一個很近的區域內,換句話說就是是否足夠靠近。這里需要考慮的諸如兩個手互相接觸,或者一個手去接觸身體的頭,腿的情況,所以需要對靠近區域確定一個足夠大的閥值,來保證盡可能的避免錯誤。二維幾何特征還被用來判斷身體的特定部位比如手臂,腿或者軀干是否彎曲或者伸展。這樣的幾何特征是利用合適身體段的夾角來表示的,比如大腿和小腿,上臂和前臂或者脊骨和左右大腿之間的夾角。實驗結果顯示120的角度是一個很好的閥值,可以用來區分肢體的不同部分是否彎曲(<120)或者伸展(>120)。最后,還需要用一些非幾何的特征來補償整個特征集合,比如一些關節點的絕對速度和相對速度等等,二維幾何特征示意圖如表1所示表1二維幾何特征示意
步驟2采用非線性流形學習的降維算法,把高維原始數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維采用非線形流形學習算法先構建一個鄰接圖,每個點只和自己相鄰的點相連,鄰域內兩點的流形距離由他們的歐式距離逼近,不在同一個鄰域中的兩點的流形距離由他們在鄰接圖上的最短Dijkstra距離逼近,隨后非線形流形學習基于這個鄰接矩陣,直接計算低維流形的嵌入,使得如下目標函數最小化E=||D-D~||L2]]>其中Dij表示流形上的點的某種距離測度,
表述嵌入空間點對之間的距離,L2表示矩陣的Frobenius范數,||A||L2=Σi,jAij2,]]>這一優化可以通過經典的多維尺度分析方法解決,非線性流形學習算法的步驟如下1)建立鄰接矩陣G.,主要有兩種辦法確定鄰接矩陣的邊,ε鄰域和K鄰域.當點j在點i,或點i落在點j的ε或K領域時,在i和j之間建立一條權重為dx(i,j)的邊;2)利用Dijkstra或者Flyod算法,計算點對之間的最短距離,得到矩陣DG,其中的所有元素都是G中每對點的最短路徑DG={dG(i,j)};
3)建立一個d維子空間嵌入讓λp是矩陣τ(DG)的前p個特征值(特征值按降序排列),vpi是第p個特征向量的第i個分量;d維子空間的坐標向量yi的第p個分量就等于 步驟3采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據為了讓非線性流形學習算法能夠對新數據進行處理,我們通過學習主成分特征核函數來對降維進行逼近,讓D={x1,x2,...,xn}是未知分布的一個采樣數據集,其連續密度為p,讓P為其對應的經驗分布。考慮一個Hilbert空間 的內積函數表達如下<f,g>p=∫f(x)g(x)p(x)dx這里p(x)是權重函數,這樣核函數K可以在空間 中和一個線性算子Kp聯系如下(Kpf)(x)=∫K(x,y)f(y)p(y)ddy然后我們用經驗分布P取代未知分布p重新定義一個“經驗”Hilbert空間 核函數 產生一個基于D的對稱矩陣 其中M~ij=K~(xi,xj).]]>讓特征向量,特征值對(vk,λi)作為K~pfk=λk′fk]]>的解。這樣我們讓ek(x)=yk(x)λk]]>用來表示新數據x到低維空間的映射,這樣就有以下幾個等式λk′=1nλk,fk(x)=nλkΣi=1nvikK~(x,xi),]]>fk(xi)=nvik,yk(x)=fk(x)n=1λkΣi=1nvikK~(x,xi)]]>yk(xi)=yik,ek(x)=λkyk(x),ek(xi)=eik.]]>下面我們利用以上方程式對非線性流形學習算法進行擴展。DG(a,b)為已知訓練數據集中兩點之間的最短距離。我們得到一個標準核函數如下K~(a,b)=-12{DG(a,b)-Ex[DG2(x,b)]-Ex′[DG2(a,x′)]+Ex,x′[DG2(x,x′)]}]]>這樣以下方程式就可以用來擴展非線性流形學習算法,使其能夠運用到新數據上ek(x)=12λkΣivik{Ex′[D~2(x′,xi)]-D~2(xi,x)}]]>如果我們用足夠數量的運動數據去估計空間 上Kp的特征函數,那么就可以得到一個最佳的非訓練數據映射,由上所述,原來只能處理訓練集內部的已知數據的經典非線性流形學習方法就被擴展到能夠將新的數據映射到低維子空間。
步驟4對于降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型參數對于第j個二維幾何特征,為每一種運動類型學習一個隱馬爾可夫模型λi(i=1,2,...,M);給定一個觀測序列O,為每一個隱馬爾可夫模型利用前向后向算法計算P(O|λ);基于第j個二維幾何特征的運動識別就通過尋找有著最大P(O|λ)值的運動類型i來實現的表達式如下action(O)=argmaxi:i=1,···,M(P(O|λi)]]>通過以上表達式,M個運動類型和N個二維幾何特征組成了一個M×N的隱馬爾克夫模型矩陣,把第i種運動類型的第j個關節點的隱馬爾可夫模型表示為HMMi,j,對應參數為λi,j。列j所對應的隱馬爾科夫模型集合對應第j個二維幾何特征的分類器,需要計算給定狀態s在t時刻觀測事件Ot的概率P(Ot|st=s);連續隱馬爾可夫模型用概率密度函數來計算P(Ot|st=s),表達式如下
Σm=13(wsm1(2π)d2|Σsm|12e-12(Ot-μsm)Σsm-1(Ot-μsm)T).]]>步驟5采用自適應的推進方法對弱隱馬爾可夫模型進行加強,得到一個能反映人體整體運動信息的加強型集成分類器,實現正確高效的運動識別給定n個訓練樣本(x1,y1),...,(xn,yn)的訓練集,其中yi=|0,1|,(i=1,2,...,n)對應樣本識別的錯誤和正確,樣本中有u個錯誤樣本,v個正確樣本;待分類運動的每個關節點的空間特征表示為fj(·),其中1≤j≤16;對于第i個訓練樣本xi,它的特征為fj(xi);第j個關節點的空間特征的弱分類器hj(x)由一個特征fj,一個閥值θj和一個指示不等式方向的偏置值pj構成hj(x)=1,pjfj<pjθj0,otherwise]]>通過對正反例進行分析,選擇錯誤率最低的T個弱分類器,最優化組合成一個強分類器,由于集成學習的方法的思想是重點訓練那些難分的樣本,這樣,每輪循環結束后,被錯誤分類的樣本的權重增加,進入下一輪循環的時候,這些錯分樣本將會被重點訓練從而使得這些樣本變得容易被正確分類,但是我們在針對物理特征使用集成學習方法的時候,雖然對識別率提高有貢獻,但是提高的空間并不很大,分析原因,主要和弱分類器本身的準確性有很大的關系,由于物理特征的數據存在大量的噪聲樣本,這些都是難以被正確分類的,因此會被重點訓練,在這些噪聲樣本被正確分類前,他們的權重會被增加到一個很大的值,相比之下,那些被正確分類的樣本的權重反而被置成非常小的數,這其實違背事實的準則,過于輕視已經正確分類的工作。所以我們用二維幾何特征,從而消除了物理特征存在的大量噪聲,使得分類器能夠清晰的識別。
實施例1訓練樣本包括150個各種類型的走路運動,附圖4給出了利用弱隱馬爾可夫模型和集成的隱馬爾可夫模型兩種學習方法對走路運動識別精度的比較。下面幾何本發明的方法詳細說明該實例實施的具體步驟如下(1)以步驟1所描述的方法提取出走路運動的所有二維幾何特征提取一個二維幾何特征用來表達走路運動中一個右腳趾位于左腳踝,左臀部以及root節點組成的平面的前方的固定姿勢。我們定義 1≤i≤4是四個三維點,其中<p1,p2,p3>表示前三個點所確定的基準平面,而朝向則取決于三個點的順序。然后我們定義如下 通過以上定義,我們對任意四個相鄰關節點定義一個特征函數如下Fplane(j1,j2,j3;j4)(P):=B(Pj1,Pj2,Pj3;Pj4)]]>其中Fplane(j1,j2,j3;j4):Π→{0,1}.]]>(2)對人體運動的二維幾何特征數據采用步驟2所描述非線性流型學習的方法進行降維,通過對矩陣的譜分解得到高維特征數據的低維子空間,步驟如下①建立鄰接矩陣G,主要有兩種辦法確定鄰接矩陣的邊,ε鄰域和K鄰域。當點j在點i,或點i落在點j的ε或K鄰域時,在i和j之間建立一條權重為dx(i,j)的邊;②利用Dijkstra或者F1yod算法,計算點對之間的最短距離,得到矩陣DG,其中的所有元素都是G中每對點的最短路徑DG={dG(i,j)};③建立一個d維子空間嵌入讓λp是矩陣τ(DG)的前p個特征值(特征值按降序排列),vpi是第p個特征向量的第i個分量;d維子空間的坐標向量yi的第p個分量就等于 (3)采用步驟3所描述的方法將非線性流形學習方法擴展到非訓練數據集利用學習主成分特征核函數對非線性流形學習進行擴展。DG(a,b)為已知訓練數據集中兩點之間的最短距離。我們得到一個標準核函數如下K~(a,b)=-12{DG(a,b)-Ex[DG2(x,b)]-Ex′[DG2(a,x′)]+Ex,x′[DG2(x,x′)]}]]>
這樣以下方程式就可以用來擴展非線性流形學習的算法,使其能夠運用到新數據上ek(x)=12λkΣivik{Ex′[D~2(x′,xi)]-D~2(xi,x)}]]>如果我們用足夠數量的運動數據去估計空間 上Kp的特征函數,那么就可以得到一個最佳的非訓練數據映射。
(4)采用步驟4所描述的方法對人體運動數據用隱馬爾可夫模型進行學習對于第j個二維幾何特征,我們為每一種運動類型學習一個隱馬爾可夫模型λi(i=1,2,...,M)。給定一個觀測序列O,我們為每一個隱馬爾可夫模型利用前向后向算法(Forward-Backward)計算P(O|λ)。基于第j個二維幾何特征的運動識別就可以通過尋找有著最大P(O|λ)值的運動類型i來實現,如下所示action(O)=argmaxi:i=1,···,M(P(O|λi)]]>通過以上表達式,M個運動類型和N個二維幾何特征組成了一個M×N的隱馬爾克夫模型矩陣,如附圖3所示,我們把第i種運動類型的第j個關節點的隱馬爾可夫模型表示為HMMi,j,對應參數為λi,j。列j所對應的隱馬爾科夫模型集合對應第j個二維幾何特征的分類器。
(5)采用步驟5所描述的自適應的推進方法對一系列弱隱馬爾可夫學習器進行集成,得到強學習器,步驟如下步驟1設ωt,i為第t次循環中第i個樣本的誤差權重。對訓練樣本中的誤差權重按如下公式初始化對于yi=0的樣本,ω1,i=12u;]]>對于yi=1的樣本,ω1,i=12v;]]>步驟2for t=1 to T權重歸一化,使得ωt,i=ωt,iΣj=1nωt,j;]]>步驟3對于每個關節點,訓練出其弱隱馬爾可夫模型的分類器,確定閥值θj,偏置值pj,使得目標函數ϵj=Σi=1nωt,j|hj(xi)-yi|]]>達到最小;
步驟4從上面的弱分類器中,找到一個具有最小錯誤εt的分類器ht,對所有樣本的權重進行更新ωt+1,i=ωt,iβt1-ϵi;]]>步驟5確定ei,如果剛才xi被hi正確的識別,ei=0;反之ei=1;β=ϵt1-ϵt]]>能保證后面訓練提取的弱分類器會更加強化這些識別錯誤樣本訓練;步驟6最后得到基于自適應推進算發的,所有關節點的弱分類器集成的強分類器h(x)=1,Σt=1Tαtht(x)≥0.5Σt=1Tαt0,otherwise]]>其中αt=log1βt.]]>(6)采用訓練好的隱馬爾可夫模型對新運動進行識別,步驟如下步驟1給定一個新的運動序列O=O1O2...OT;步驟2搜索所有的運動類型,計算P(O|λi,j);步驟3返回最大值所在的運動類型,完成走路運動的識別。
實施例2訓練樣本包括110個各種類型的拳擊運動,附圖5給出了利用弱隱馬爾可夫模型和集成的隱馬爾可夫模型兩種學習方法對拳擊運動識別精度的比較。下面幾何本發明的方法詳細說明該實例實施的具體步驟如下(1)以步驟1所描述的方法提取一個二維幾何特征用來表達拳擊運動中一個右手位于左肩部,左臀部以及root節點組成的平面的前方的固定姿勢。我們定義 1≤i≤4是四個三維點,其中<p1,p2,p3,>表示前三個點所確定的基準平面,而朝向則取決于三個點的順序。然后我們定義如下 通過以上定義,我們對任意四個相鄰關節點定義一個特征函數如下Fplane(j1,j2,j3;j4)(P):=B(Pj1,Pj2,Pj3;Pj4)]]>
其中Fplane(j1,j2,j3,j4):Π→{0,1}.]]>(2)對人體運動的二維幾何特征數據采用步驟2所描述非線性流型學習的方法進行降維,通過對矩陣的譜分解得到高維特征數據的低維子空間,步驟如下①建立鄰接矩陣G,主要有兩種辦法確定鄰接矩陣的邊,ε鄰域和K鄰域。當點j在點i,或點i落在點j的ε或K鄰域時,在i和j之間建立一條權重為dx(i,j)的邊;②利用Dijkstra或者Flyod算法,計算點對之間的最短距離,得到矩陣DG,其中的所有元素都是G中每對點的最短路徑DG=dG(i,j)};③建立一個d維子空間嵌入讓λp是矩陣τ(DG)的前p個特征值(特征值按降序排列),vpi是第p個特征向量的第i個分量;d維子空間的坐標向量yi的第p個分量就等于 (3)采用步驟3所描述的方法將非線性流形學習方法擴展到非訓練數據集利用學習主成分特征核函數對非線性流形學習進行擴展。DG(a,b)為已知訓練數據集中兩點之間的最短距離,我們得到一個標準核函數如下K~(a,b)=-12{DG(a,b)-Ex[DG2(x,b)]-Ex′[DG2(a,x′)]+Ex,x′[DG2(x,x′)]}]]>這樣以下方程式就可以用來擴展非線性流形學習的算法,使其能夠運用到新數據上ek(x)=12λkΣivik{Ex′[D~2(x′,xi)]-D~2(xi,x)}]]>如果我們用足夠數量的運動數據去估計空間 上Kp的特征函數,那么就可以得到一個最佳的非訓練數據映射。
(4)采用步驟4所描述的方法對人體運動數據用隱馬爾可夫模型進行學習對于第j個二維幾何特征,我們為每一種運動類型學習一個隱馬爾可夫模型λi(i=1,2,...,M)。給定一個觀測序列O,我們為每一個隱馬爾可夫模型利用前向后向算法計算P(O|λ)。基于第j個二維幾何特征的運動識別就可以通過尋找有著最大P(O|λ)值的運動類型i來實現,如下所示
action(O)=argmaxi:i=1,···,M(P(O|λi)]]>通過以上表達式,M個運動類型和N個二維幾何特征組成了一個M×N的隱馬爾克夫模型矩陣,如附圖3所示,我們把第i種運動類型的第j個關節點的隱馬爾可夫模型表示為HMMi,j,對應參數為λi,j列j所對應的隱馬爾科夫模型集合對應第j個二維幾何特征的分類器。
(5)采用步驟5所描述的自適應的推進方法對一系列弱隱馬爾可夫學習器進行集成,得到強學習器,步驟如下步驟1設ωt,i為第t次循環中第i個樣本的誤差權重。對訓練樣本中的誤差權重按如下公式初始化對于yi=0的樣本,ω1,i=12u;]]>對于yi=1的樣本,ω1,i=12v;]]>步驟2for t=1 to T權重歸一化,使得ωt,i=ωt,iΣj=1nωt,j;]]>步驟3對于每個關節點,訓練出其弱隱馬爾可夫模型的分類器,確定閥值θj,偏置值pj,使得目標函數ϵj=Σi=1nωt,j|hj(xi)-yi|]]>達到最小;步驟4從上面的弱分類器中,找到一個具有最小錯誤εt的分類器ht,對所有樣本的權重進行更新ωt+1,i=ωt,iβt1-ϵi;]]>步驟5確定ei,如果剛才xi被hi正確的識別,ei=0;反之ei=1;β=ϵt1-ϵt]]>能保證后面訓練提取的弱分類器會更加強化這些識別錯誤樣本訓練;步驟6最后得到基于自適應推進算法的,所有關節點的弱分類器集成的強分類器
h(x)=1,Σt=1Tαtht(x)≥0.5Σt=1Tαt0,otherwise]]>其中αt=log1βt.]]>(6)采用訓練好的隱馬爾可夫模型對新運動進行識別,步驟如下步驟1給定一個新的運動序列O=O1O2...OT;步驟2搜索所有的運動類型,計算P(O|λi,j);步驟3返回最大值所在的運動類型,完成拳擊運動的識別。
權利要求
1.一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于包括如下步驟(1)從三維人體運動數據中,提取一種能反映局部幾何關系的二維幾何特征;(2)采用非線性流形學習的降維算法,把高維原始數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維;(3)采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據;(4)對于降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型參數;(5)采用自適應的推進算法,對弱隱馬爾可夫模型建立了一個加強型的集成學習器,完成對運動的識別。
2.根據權利要求1所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的從三維人體運動數據中,提取一種能反映局部幾何關系的二維幾何特征用布爾函數來表示F:∏→{0,1};對于f個布爾函數組成的向量,得到一個混合函數F:∏→{0,1}f,把F看作是一個特征函數,向量F(p)則是特征向量或者簡單的說是姿勢p∈∏的一個特征,通過組合FоD應用到運動捕獲數據D:[1:T]→∏上,其中,FоD表達了運動循環的兩個峰值,通過峰值能夠很輕易的得到運動的速度,特征F對于全局位置和朝向,骨骼尺寸大小,不同的局部空間變形以及腿部的垂直移動具有不變性。
3.根據權利要求1所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的采用非線性流形學習的降維算法,把高維原始數據投影到一個低維的子空間里,通過這個低維空間揭示人體運動的內在結構,實現數據降維采用非線形流形學習算法先構建一個鄰接圖,每個點只和自己相鄰的點相連,鄰域內兩點的流形距離由他們的歐式距離逼近,不在同一個鄰域中的兩點的流形距離由他們在鄰接圖上的最短Dijkstra距離逼近,隨后非線形流形學習基于這個鄰接矩陣,直接計算低維流形的嵌入,使得如下目標函數最小化E=||D-D~||L2]]>其中Dij表示流形上的點的某種距離測度, 表述嵌入空間點對之間的距離,L2表示矩陣的Frobenius范數,||A||L2=Σi,jAij2.]]>
4.根據權利要求3所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的非線性流形學習算法的步驟如下1)建立鄰接矩陣G.,主要有兩種辦法確定鄰接矩陣的邊,ε鄰域和K鄰域.當點j在點i,或點i落在點j的ε或K鄰域時,在i和j之間建立一條權重為dx(i,j)的邊。2)利用Dijkstra或者Flyod算法,計算點對之間的最短距離,得到矩陣DG,其中的所有元素都是G中每對點的最短路徑DG={dG(i,j)}3)建立一個d維子空間嵌入讓λp是矩陣τ(DG)的前p個特征值(特征值按降序排列),vpi是第p個特征向量的第i個分量;d維子空間的坐標向量yi的第p個分量就等于
5.根據權利要求1所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的采用學習主成分特征核函數來對降維進行逼近,實現非線性流形學習算法的擴展,使之能夠處理訓練集之外的新運動數據讓D={x1,x2,...xn}是未知分布的一個采樣數據集,其連續密度為p,讓P為其對應的經驗分布。考慮一個Hilbert空間 的內積函數表達如下<f,g>p=∫f(x)g(x)p(x)dx其中,p(x)是權重函數,這樣核函數K在空間 中和一個線性算子Kp聯系如下(Kpf)(x)=∫K(x,y)f(y)p(y)ddy然后用經驗分布P取代未知分布p重新定義一個“經驗”Hilbert空間 核函數 產生一個基于D的對稱矩陣 其中M~ij=K~(xi,xj);]]>讓特征向量,特征值對(vk,λi)作為K~pfk=λk′fk]]>的解;讓ek(x)=yk(x)λk]]>用來表示新數據x到低維空間的映射,擴展非線性流形學習,使其能夠運用到新數據上ek(x)=12λkΣivik{Ex′[D~2(x′,xi)]-D~2(xi,x)}]]>用足夠數量的運動數據去估計空間 上Kp的特征函數,就得到一個非訓練數據映射。
6.根據權利要求1所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的對于降維之后的運動數據采用隱馬爾可夫模型進行學習,得到基于二維幾何特征的常見運動類型的隱馬爾可夫模型參數對于第j個二維幾何特征,為每一種運動類型學習一個隱馬爾可夫模型λi(i=1,2,...,M);給定一個觀測序列O,為每一個隱馬爾可夫模型利用前向后向算法計算P(O|λ);基于第j個二維幾何特征的運動識別就通過尋找有著最大P(O|λ)值的運動類型i來實現的表達式如下action(O)=argmaxi:i=1,...,M(P(O|λi)]]>通過以上表達式,M個運動類型和N個二維幾何特征組成了一個M×N的隱馬爾克夫模型矩陣,把第i種運動類型的第j個關節點的隱馬爾可夫模型表示為HMMi,j,對應參數為λi,j。列j所對應的隱馬爾科夫模型集合對應第j個二維幾何特征的分類器;需要計算給定狀態s在t時刻觀測事件Ot的概率P(Ot|st=s);連續隱馬爾可夫模型用概率密度函數來計算P(Ot|st=s),表達式如下Σm=13(wsm1(2π)d2(Σsm)12e-12(Ot-μsm)Σsm-1(Ot-μsm)T).]]>
7.根據權利要求1所述的一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法,其特征在于,所述的采用自適應的推進方法對弱隱馬爾可夫模型進行加強,得到一個能反映人體整體運動信息的加強型集成分類器,實現正確高效的運動識別給定n個訓練樣本(x1,y1),...,(xn,yn)的訓練集,其中yi=|0,1|,(i=1,2,...,n)對應樣本識別的錯誤和正確,樣本中有u個錯誤樣本,v個正確樣本;待分類運動的每個關節點的空間特征表示為fj(·),其中1≤j≤16;對于第i個訓練樣本xi,它的特征為fj(xi);第j個關節點的空間特征的弱分類器hj(x)由一個特征fj,一個閥值θj和一個指示不等式方向的偏置值pj構成hj(x)=1,pjfj<pjθj0,otherwise]]>通過對正反例進行分析,選擇錯誤率最低的T個弱分類器,最優化組合成一個強分類器。
全文摘要
本發明公開了一種基于集成隱馬爾可夫模型學習方法的人體運動數據的識別方法。本方法對人體運動捕獲數據提取二維幾何特征,然后引入非線性流型學習的降維方法對運動特征數據進行有效的降維,最后采用基于自適應的推進算法的隱馬爾可夫集成學習器對運動數據庫里的運動進行學習,實現常規運動類型快速檢索。該方法提取的二維幾何特征很好的表達了運動的本質屬性,擴展的非線性流形學習的降維方法成功地將高維運動特征映射到能反映數據間內在聯系的低維空間中,從而極大的消除了數據冗余。同時本發明通過對降維數據用集成的隱馬爾可夫模型學習的方法進行學習,使得運動能夠在高精度的基礎上自動地被識別和歸類。
文檔編號G06K9/62GK101034441SQ20071006768
公開日2007年9月12日 申請日期2007年3月29日 優先權日2007年3月29日
發明者莊越挺, 向堅, 吳飛 申請人:浙江大學