張孫培++孫懷江
摘 要: 基于關節信息的人體動作識別在人機交互、互動娛樂、多媒體信息檢索等方面應用廣泛。為了提高動作識別率,使用兩種具有固定長度的分層描述符分別關注運動的動態和靜態信息,對運動序列提取特征,將這兩種描述符線性組合,形成同時包含動態和靜態信息的新描述符,并使用極限學習機(ELM)進行分類。該方法在微軟Kinect傳感器采集到的MSRAction3D數據庫和運動采集數據集HDM05上進行了仿真實驗。實驗結果證明組合后的描述符結合ELM在這兩個數據集上的識別率較現有方法有明顯提高。
關鍵詞: 人體動作識別; 極限學習機; 協方差; 方向位移直方圖
中圖分類號: TN710?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2015)10?0055?06
0 引 言
人體動作識別是計算機視覺研究中的一個分支,被廣泛地應用于人機互動、交互式娛樂等多個領域。基于關節信息的運動軌跡記錄是常用的高級記錄方法之一,其中運動軌跡是指隨時間變化的關節路徑。
人體運動相關研究的第一個問題是運動數據的采集,常用的方法[1]有機械式的運動捕獲,基于電磁系統的運動捕獲,基于慣性系統的運動捕獲,基于光學系統的運動捕獲。為了方便研究者使用,現有很多公開的運動捕獲數據集,例如CMU運動捕獲數據集和HDM05數據集[2]。這些數據的采集需要較大代價,最近基于深度信息的微軟Kinect運動采集器因其廉價性和可接受的精度,得到越來越多的使用。
獲取運動數據后,要做的就是提取特征和選擇分類器。Wu和Yang使用運動軌跡上每個點的曲率和扭矩建立了一個長度可變的描述符[3?4]。Wang使用歸一化的分布向量描述每個運動軌跡,但是將描述符長度限定為固定值[5]。此后,Wang又根據骨架關節之間的相對位置建立描述符[6],并用傅里葉時序金字塔在頻域內建立了時序模型。Xia計算出一幀中3D關節的直方圖,并用HMM建立了時序模型[7]。Hussein等用協方差矩陣和分層的方法描述了骨架關節坐標之間的時序依賴[8],Gowayyed等又將3D關節軌跡投影到三個相互正交的2D平面上[9],利用方向位移直方圖和分層的時序金字塔提取了相鄰幀間的關節位置變化信息,并且取得了更好的識別效果。
上述兩種方法分別片面地關注了動作的動態和靜態信息,本文在Hussein等的基礎上將這兩種描述符加以線性拼接得到同時包含關節間位置依賴和相鄰幀間關節位置變化的新描述符,并使用極限學習機[10]進行分類。
1 兩種特征提取方法
1.1 協方差描述符
1.1.1 3D關節的協方差描述符
假設人體由K個關節構成,動作序列一共有T幀。設[xti],[yti]和[zti]分別為第i個關節在第t幀時的[x,y,z]坐標。設S是所有關節的位置構成的向量,即[S=x1,…,xK,y1,…,yK,z1,…,zK′],一共有[N=3K]個元素,則這個序列的協方差描述符就是[CovS=][E[(S-E(S))(S-E(S))′]]。由于S的概率分布未知,所以應用中使用樣本協方差來替代,有如下公式:
[CS=1T-1t=1T(S-S)(S-S)′] (1)
式中[S]是S的樣本均值。
樣本協方差矩陣[CS]是一個[N×N]的對稱矩陣,作為描述符時只需要采用該矩陣的上三角矩陣即可。例如后述實驗中用到的由微軟Kinect傳感器采集的人體骨架有20個關節,則[N=3×20=60],協方差矩陣的上三角矩陣元素個數則為[NN+12=1 830],也就是描述符的長度。
1.1.2 時序分層結構
3D關節的協方差描述符注意到了運動中不同關節間的位置依賴,但是忽略了運動的時序關系。這可能造成一些問題,例如開門和關門的動作從關節的空間位置來看沒有區別,但是每幀的坐標出現的先后順序是不同的。為了解決上述問題,引入了時序分層結構,該模型啟發自Lazebnik在2D圖像中的空間金字塔匹配[11]。第一層協方差矩陣計算了整個運動序列,后面的各層在整個序列的小一些的窗口上計算,并且分有交疊和無交疊兩種情況。每個協方差矩陣由兩個索引來標記,前一個標示了層數,后一個標示了在這層中的索引,例如第一層標記為[C00]。第一層的協方差矩陣涵蓋了運動序列的[T2l]幀。從一個窗口到下一個窗口的步長可以是整個窗口的長度,或者是窗口長度的一半;如果是后者,那么各窗口之間就產生了交疊。
1.1.3 快速構建描述符
創建一個時序分層并且允許交疊的多層描述符需要計算相同序列的各個子序列的多個協方差矩陣,過程耗時較長。事實上,可以用動態規劃的方法在固定的時間內計算出矩陣的每個元素。相似的思想在Tuzel的積分圖像中計算圖像塊的協方差時使用過[12]。
首先定義兩個積分符號[P(t)]和[Q(t)]如下:
[P(t)=i=1tS(i),Q(t)=i=1tS(i)S(i)′] (2)
經過一系列代數運算,可以得出下式直接計算出第[t1+1~t2]幀范圍內的協方差矩陣:
[Ct1,t2S=1M-1Qt1,t2-1MPt1,t2Pt1,t2′] (3)
式中:[M=t2-t1];[Qt1,t2=Qt2-Qt1];[Pt1,t2=Pt2-Pt1]。計算出P和Q后,用式(3)在固定時間內計算任意幀范圍內的協方差,所需時間與幀數無關。
1.2 方向位移直方圖
方向位移直方圖(Histogram of Oriented Displacements,HOD)通過分別描述每個關節的3D軌跡來描述一個運動序列。首先,將每個關節的3D軌跡替換成投影在三個坐標平面(xy,yz和xz)的2D軌跡,用HOD描述每個2D軌跡。然后通過為每個2D軌跡建立時序金字塔來獲得時序信息。
下面詳細介紹HOD、時序金字塔和最終的3D軌跡描述符。
1.2.1 方向位移直方圖
HOD方法使用每兩個相鄰點的方向直方圖來描述2D運動。給定一個運動軌跡[T={P1,P2,…,Pn}],其中[Pt]是關節在時間t的2D位置。對于每一對位置[Pt]和[Pt+1],計算出方向角[θ(t,t+1)],可以通過式(4)的斜率(slope)來得到這個角度:
[slope=Pt+1.y-Pt.yPt+1.x-Pt.x] (4)
[θ]的值介于0°~360°之間,然后根據[θ]建立一個直方圖,如果直方圖分成8個塊,則第一塊的所有[θ]介于0°~45°之間。
直方圖由相鄰關節移動的距離累加而成。用式(5)決定每個[θ]所屬的具體直方圖塊,然后將[Pt]和[Pt+1]的距離加入相應的直方圖塊:
[hist_bin=angle×hist_length360] (5)
HOD記錄了每個關節在每個方向范圍內移動量,但是丟失了時序信息,第1.2.2節描述的時序金字塔可以解決這個問題。
1.2.2 時序金字塔和3D軌跡描述符
如上所述,將運動序列作為一個整體來處理會丟失時序信息,所以使用分層的時序金字塔來獲取時序信息。在第一層,用整個運動序列來建立一個描述符。第二層,將整個運動序列分成兩部分,其中的每一部分分別建立一個二級描述符,以此類推。也就是說某個特定層的每個直方圖塊會在下一層分成兩個直方圖塊。
最后可以將一個關節的3個2D投影的HOD描述符串聯起來以描述該點的3D軌跡。
1.3 混合特征描述符
從前兩小節可以看出,協方差描述符可以反映出人體骨架關節之間的位置關聯信息,而對同一關節在不同時刻的位置變化描述不夠,相反地,HOD描述符利用建立直方圖的方法統計了各關節在相鄰幀間的動態位移關系,但丟失了每一幀各關節間的靜態聯系。此外,觀察發現兩種特征描述方法都建立了分層結構來獲取時序信息,只是各層的特征提取方法不同。
因此,本文將兩種特征按層分別拼接起來,形成新的運動特征描述符,以期達到同時能在靜態上反映關節位置關聯信息和動態上反映各關節位置變化信息的目的。考慮到大部分分類器對特征向量內元素的排列順序并不敏感,在操作上可以簡化為將兩種特征向量簡單拼接,即:
設向量[(aki)1×m]是第i個樣本在分為k層時的協方差描述符,向量[(bki)1×n]是該樣本在同樣分為k層時的HOD描述符,那么該樣本的組合特征描述符記為[cki=[aki,bki]1×(m+n)]。
2 極限學習機
在處理非線性的高維小樣本分類問題上,支持向量機(SVM)應用廣泛,Hussein等也是會用該方法做分類。但是SVM本身存在一些缺陷:算法建立在求解二次規劃的基礎上,速度較慢;對核函數、懲罰因子和核參數的選擇較為敏感;在處理多分類的問題時,性能不如神經網絡。為此,選擇極限學習機作為分類器。
極限學習機(Extreme Learning Machines,ELM)由黃廣斌在2004年提出,并由Bernard Widrow于2013年再次提出,其主要思想是輸入層與隱藏層之間的權值參數,以及隱藏層上的偏置向量參數是一次確定的[13],不需要像其他基于梯度的學習算法一樣通過迭代反復調整刷新,只需求解一個最小范數最小二乘問題,并最終化歸成求解一個矩陣的 Moore?Penrose 廣義逆問題。因此,該算法具有訓練參數少、速度快的優點。
ELM基本算法描述如下:
對于單隱層前饋網絡(SLFNs),為描述方便,引入以下符號:
(1) N:訓練樣本總數。
(2) [N]:隱藏層單元的個數。
(3) [n,m]:輸入和輸出層的維度。
(4)[xj,tj,j=1,2,…,N:]訓練樣本,其中[xj=(xj1,xj2,…,xjn)T∈Rn],[tj=(tj1,tj2,…,tjn)T∈Rm]。將所有輸出向量按行拼起來,可得到整體輸出矩陣:
[T=tT1tT2?tTNN×m=t11…t1m???tN1…tNm] (6)
(5) [oj, j=1,2,…,N]:與標注[tj]相對應的實際輸出向量。
(6) [W=(wij)N×n]:輸入層與隱藏層之間的權矩陣,其中W的第i行對應的向量[wi=(wi1,wi2,…,win)T]表示連接隱藏層第i個單元與輸入單元的權向量。
(7) [b=(b1,b2,…,bN)T]:偏置向量,[bi]表示第i個隱藏層單元的閾值。
(8) [β=(βij)N×m]:隱藏層與輸出層之間的權矩陣,其中[β]的第i行對應的向量[βi=(βi1,βi2,…,βim)T]表示連接隱藏層第i個單元與輸出層單元的權向量。矩陣[β]可按行寫成如下分塊形式:
[β=βT1βT2?βTN=β11…β1m???βN1…βNm] (7)
(9)[g(x)]:激勵函數。
2.1 SLFNs的逼近問題
數學上,SLFNs的一般模型為:
[i=1Ngwi?xj+biβi=oj, j=1,2,…,N] (8)
式中[wi?xj]表示[wi]和[xj]的內積。
要使模型(8)能夠零誤差地逼近上述N個樣本,指的是:
[j=1Noj-tj=0] (9)
也就是,存在[W,β和b],使得:
[i=1Ngwi?xj+biβi=tj, j=1,2,…,N] (10)
利用矩陣表示,式(10)可以寫成:
[Hβ=T] (11)
式中:[T∈RN×m]和[β∈RN×m]的定義分別見式(6)和式(7);[H=HW,b=(bij)N×N],這里[Hij=g(wj?xi+bj)],其第i列對應第i個隱藏層單元的輸出向量。
2.2 基于梯度的學習算法
當隱藏層單元的個數和樣本的個數相同,即[N=N],且矩陣H可逆時,式(11)有惟一解,即前面所述“零誤差地逼近樣本”。然而大多數情況下,隱藏層單元的個數遠小于樣本個數,此時H為長方陣,且不一定存在[W,b和β],使得:
[HW,bβ-T=minW,b,βHW,bβ-T] (12)
式(12)等價于以下極小化成本函數(cost function):
[E=j=1Ni=1Ngwi?xj+biβi-tj2] (13)
該極小化問題通常采用基于梯度的學習算法來求解。記[θ=(W,β,b)]表示所有的參數,則相應的迭代格式為:
[θk=θk-1-η?E(θ)?θ] (14)
式中η為學習率。
對于前饋型神經網絡,常用的學習算法是反向傳導(Back?Propagation,BP)法,但該方法存在以下問題[10]:
(1) 學習率的取值不易確定;
(2) 可能收斂到局部最小;
(3) 易造成過度訓練;
(4) 基于梯度的學習算法較為耗時。
2.3 SLFNs的最小范數最小二乘解
SLFNs的通常的學習算法中,輸入權值W和隱藏層單元的偏置向量b都要通過迭代不斷地進行調整,事實上大量實驗結果表明,SLFNs的參數W和b不需要進行調整,且可以隨機指定。當W和b固定時,式(12)等價于求線性系統(11)的最小二乘解,即:
[Hβ-T=minβHβ-T] (15)
根據定理[Gy]是[Ax=y]的最小范數最小二乘解等價于[G=A?],式(11)的最小范數最小二乘解為:
[β=H+T] (16)
2.4 ELM算法
至此,ELM的算法流程總結如下:
算法1:給定訓練樣本集合[?=][xi,tixi∈Rn,ti∈RmNi=1],激勵函數[g(x)] ,隱藏層單元個數[N]。
第一步:任意指定輸入權值[wi,bi, i=1,2,3,…, N]。
第二步:計算隱藏層輸出矩陣H。
第三步:計算輸出權矩陣[β=H+T。]
3 實 驗
為了評價拼接后的新描述符,并驗證ELM算法在運動數據上的分類能力,本文參照文獻[8?9]在數據集MSR?Action3D和HDM05上做了對比實驗。實驗中分別使用了線性SVM和ELM分類器,以及基于投票的VELM分類器[14],其中SVM采用了LIBSVM軟件[15]。
3.1 MSR?Action3D數據集
MSR?Action3D數據集[16]包含10個人的20種不同動作,每個動作重復2~3遍,一共有567個運動序列,參照文獻[8],本文采用了其中的544個。該數據集由微軟Kinect傳感器采集,記錄了深度信息和骨架關節位置,其中僅需要用到骨架信息,每個骨架包含20個關節。在數據的使用上,沿用了文獻[16]的方法,將整個數據集分成3個子集,每個子集包含8類動作,子集之間有交疊。各子集分別訓練分類器,最后統計3個子集的平均訓練精度。訓練集和測試集的劃分方法為根據表演者選取編號為1~5的5個人的運動數據作訓練,另外5個人的數據做測試。
本文使用相同的數據集在改變描述符結構參數的情況下,分別采用不同的特征描述符和不同的分類器的組合,SVM選用線性核函數,ELM隱藏層單元個數設為10 000,VELM為10個ELM進行投票,每個ELM的隱藏層單元個數為1 000,各數據子集的平均識別率如表1所示。
表1 各種方法在MSR?Action3D數據集上的識別率
表1中:L表示特征描述符的層數;帶有OL的表示各層窗口間帶交疊;CV表示協方差描述符;HOD表示方向位移直方圖描述符。HOD描述符不存在交疊情況,所以表格的后兩格為空。MIX表示組合描述符,組合描述符的交疊是指帶交疊的協方差描述符和不帶交疊的HOD描述符的組合。從表1可以看出,組合特征描述符結合ELM分類器在該數據集上具有明顯優勢,另外ELM算法對協方差描述符的分類效果對比SVM也有明顯提高。為驗證該結論的一般性,分別在不同的訓練集和測試集劃分方式下進行了10次上述實驗,平均結果如表2所示,可見結論具有一般性。
3.2 HDM05運動捕獲數據集
參照文獻[17],本文還在運動捕獲數據集HDM05上進行了上述實驗。該數據集與MSR?Action3D數據集的主要區別在于:
(1) HDM05采用專業的運動捕獲設備可以獲取具有較小噪聲的數據;
(2) 該數據集的骨架節點為31個,這會使得兩種特征描述符均變長;
(3) 每秒采集的幀數也高很多,達到120 f/s而不是前一數據集的30 f/s。
表2 10種劃分方式下MSR?Action3D數據集平均識別率
實驗中使用了和文獻[17]一樣的5個人表演的11個動作,這11個動作分別是:deposit floor,elbow to knee,grab high,hop both legs,jog,kick forward,lie down,floor,rotate both arms backward,sneak,squat和throw basketball。但是由于無法找到與原文獻中一樣的運動序列,在保證動作類別相同的情況下在該數據集下隨機選擇了277個運動序列,將其中3個演員的動作做訓練,其余2個演員的動作做測試,如同前一數據集,窮舉了全部10種訓練、測試集的劃分,并剔除其中一種明顯出錯的情況,最后統計剩余的9種,9次的平均結果如表3所示。
結果可以看出ELM算法對各種特征描述符的分類結果均優于SVM。比較表3和表2,發現雖然用作訓練的樣本個數相差無幾,但相同的特征描述符和分類器對HDM05數據集的識別率要遠高于MSR?Action3D數據集。這是HDM05數據集低噪聲,高幀率,以及較多的關節數決定的。
4 結 語
本文將協方差描述符和HOD描述符線性組合起來形成一個既包含靜態的每幀各關節間的依賴信息,又包含動態的每個關節各幀之間位移關系的新描述符。分別將這3種描述符在MSR?Action3D數據集和HDM05數據集上用線性SVM,ELM和VELM做分類,結果表明:ELM和基于投票的VELM在各種特征上的效果均不遜于SVM,且在MSR?Action3D數據集上結合組合特征對分類精度得到了很大改善,這證明了ELM算法在處理人體運動這樣的流形數據上的優勢;組合后的特征描述符在低質量的數據上,能夠起到特征互補的作用,提高識別率。但是在HDM05這樣的高質量數據集上,組合后的特征并無明顯優勢。結合具體樣本分析后HOD提取的特征具有尺度和速度不變性,而協方差特征具有縮放和平移不變性,不具備旋轉不變性,這樣的兩種特征簡單拼接會互相削弱各自性質的表達。
在后期工作中,期望建立新的描述符,對子關節相對父關節的旋轉角度提取特征,以實現旋轉、縮放、平移和尺度的不變性,來進一步改善分類效果。
表3 9種劃分方法下HDM05數據集平均識別率
參考文獻
[1] 藍榮祎.人體運動捕獲數據的建模與重用研究[D].南京:南京理工大學,2013.
[2] M?LLER M, R?DER T, CLAUSEN M, et al. Documentation mocap database HDM 05 [D]. Germeny: Universitat Bonn, 2007.
[3] WU S, LI Y, ZHANG J. A hierarchical motion trajectory signature descriptor; proceedings of the robotics and automation [C]// Proceedings of 2008 IEEE International Conference on ICRA.[S.l.]: IEEE, 2008: 3070?3075.
[4] YANG J, LI Y, WANG K. A new descriptor for 3D trajectory recognition via modified CDTW [C]// proceedings of 2010 IEEE International Conference on the Automation and Logistics (ICAL). [S.l.]: IEEE, 2010: 37?42.
[5] WANG H, KLASER A, SCHMID C, et al. Action recognition by dense trajectories[C]// Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2011: 3169?3176.
[6] WANG J, LIU Z, WU Y, et al. Mining actionlet ensemble for action recognition with depth cameras [C]// proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). [S.l.]: IEEE, 2012: 1290?1297.
[7] XIA L, CHEN C?C, AGGARWAL J. View invariant human action recognition using histograms of 3d joints [C]// proceedings of 2012 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition Workshops (CVPRW). [S.l.]: IEEE, 2012: 20?27.
[8] HUSSEIN M E, TORKI M, GOWAYYED M A, et al. Human action recognition using a temporal hierarchy of covariance descriptors on 3d joint locations [C]// proceedings of the Twenty?third International Joint Conference on Artificial Intelligence. USA: AAAI Press, 2013: 2466?2472.
[9] GOWAYYED M A, TORKI M, HUSSEIN M E, et al. Histogram of oriented displacements (HOD): describing trajectories of human joints for action recognition [C]// proceedings of the Twenty?third International Joint Conference on Artificial Intelligence. USA: AAAI Press, 2013: 1351?1357.
[10] HUANG G?B, ZHU Q?Y, SIEW C?K. Extreme learning machine: a new learning scheme of feedforward neural networks [C]// Proceedings of 2004 IEEE International Joint Conference on Neural Networks. [S.l.]: IEEE 2004: 985?990.
[11] LAZEBNIK S, SCHMID C, PONCE J. Beyond bags of features: Spatial pyramid matching for recognizing natural scene categories[C]// proceedings of 2006 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition. [S.l.]: IEEE, 2006: 45?49.
[12] TUZEL O, PORIKLI F, MEER P. Pedestrian detection via classification on riemannian manifolds [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 30(10): 1713?1727.
[13] WIDROW B, GREENBLATT A, KIM Y, et al. The< i> No?Prop algorithm: A new learning algorithm for multilayer neural networks [J]. Neural Networks, 2013, 37: 182?188.
[14] CAO J, LIN Z, HUANG G?B, et al. Voting based extreme learning machine [J]. Information Sciences, 2012, 185(1): 66?77.
[15] CHANG C?C, LIN C?J. LIBSVM: a library for support vector machines [J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2011, 2(3): 27?33.
[16] LI W, ZHANG Z, LIU Z. Action recognition based on a bag of 3d points [C]// proceedings of 2010 IEEE Computer Society Conference on the Computer Vision and Pattern Recognition Workshops (CVPRW). [S.l.]: IEEE, 2010: 9?14.
[17] OFLI F, CHAUDHRY R, KURILLO G, et al. Sequence of the most informative joints (smij): A new representation for human skeletal action recognition [J]. Journal of Visual Communication and Image Representation, 2014, 25(1): 24?38.