姚 旭
(河南大學計算機與信息工程學院,河南 開封 475000)
人體行為識別是計算機視覺的一項挑戰,它在視頻監控、人機交互、虛擬現實、體感游戲等領域有廣泛應用,受到研究人員的關注[1-3]。人體行為識別中一大難點是數據提取過程中由于受到視角、光照及背景等因素的影響會使得識別的精度大幅度下降。微軟Kinect傳感器的發布,使得傳感器可以從深度圖像中精確的估計出人體骨架關節點的信息。因此引起了研究人員的關注。
Wang J[4]等人提出了基于三維人體骨架關節點子集的行為識別方法,MihaiZanfir[5]等人提出了基于運動姿態描述子的三維人體行為識別方法。SharafA[6]等人提出了基于角度描述子協方差特征的三維人體行為識別。雖然基于三維人體骨架序列的研究取得了一定進展,但是在識別精度上依然有很大的提升空間。
本文基于三維骨架序列信息采用詞袋模型[7]和運動姿態描述子[5]并運用改進硬向量編碼的方式,最后在數據集MSR Action3D上用Lib linear分類器分類,獲得了很好的分類精度。實驗結果優于其他方法。
詞袋(bag of word)模型最早是文檔的一種建模方法,把一個文檔表示為向量數據,從而使計算機處理文檔數據更加便捷,而后運用到圖像和視頻處理中。
BOW模型一般分為五個基本步驟。①提取人體特征信息,就是要從圖片或者視頻去提取有用的信息,這屬于底層特征提取.本文用的是提取三維骨架信息。②特征描述,這一步就是為了獲得更多信息,屬于對步驟1的提純,本文運用MP描述符來描述特征信息。③生成視覺單詞,這一步的主要目的就是獲得最能代表動作的信息,通過對從描述符運用K-mean方法去聚類得到視覺單詞。④特征編碼,輸入每幀的特征描述符以及生成的視覺單詞,獲得編碼矩陣。這步會對每個描述符運用視覺單詞重新被編碼從而得到編碼向量,它的長度和視覺單詞大小一致。不同的編碼方式會得到不同的編碼矩陣,本文采用改進的硬向量編碼方式。⑤匯聚特征,這個步驟的輸入是一個編碼矩陣輸出,是每個動作的一個集合矢量,常用的方法有兩種,分別為average pooling和MAX pooling。本文采用后一種匯聚方法。最后就是訓練分類器獲得優良的分類精度,本文采用Lib linear線性分類器。
運動姿態描述子(motion posture descriptor),是一個基于幀的并在其周圍的短時間窗口內,幀的動態提取三維人體姿態信息及相關關節速度和加速度的信息的描述符。由于像慣性這樣的物理約束,或者在肌肉驅動上的延遲,研究發現人體運動和該運動姿態基于時間上的以用一階、二階導數表示的二次函數很接近,由此提出MP描述符。
從視頻中提取的每一幀中的每個3D關節位置用pi=(px,py,pz)來表示,i{1,...,N},這里的N表示人體關節總數。每一幀我們計算出一個MP并將3D關節點歸一化串聯即P=[p1,p2,…,pn],還有其一階二階導數δP(t0)和δ2P(t0),導數被當前處理中的5幀時間窗口來估算,δP(t0)≈P(t1)-P(t-1)和δ2P(t0)≈P(t2)P(t-2)-2P(t0)。為了更好的數值近似我們先在時間維度采用5乘1的高斯濾波器(σ=1)平滑每個坐標歸一化向量。注意,高斯平滑會產生兩幀的滯后,這在實踐中不會顯著影響整體延遲。
為了抑制估計的輸入姿勢中的噪聲,并補償不同主體之間的骨骼變化,我們按照以下所述對姿勢進行歸一化。導數矢量也進行了重新調整,以使它們具有單位范數,這種標準化還消除了不同輸入序列間絕對速度和加速度的無關變化,同時保留了不同關節之間的相對分布。時間t處的幀的最終描述符Xt是通過連接時間上的姿態信息及其導數得到的:Xt=[Pt,αδPt,βδ2Pt]。參數α和β加權兩個導數的相對重要性,并且在訓練集上進行優化。
從BOW模型中可以看出其第4步就是采用編碼方式,由于提取的每一幀描述子中包含了大量的冗余與噪聲,為提高特征表示的魯棒性,需要對描述子進行特征編碼,從而獲得更具判別能力的特征表示。不同的編碼方式會有不同的分類精度,硬向量編碼方式在對向量進行編碼時,要計算向量和碼本中所有碼值的歐式距離,以此來尋找符合條件的視覺單詞并賦權值。
傳統的硬向量編碼[8]描述如下:讓X=[x1,x2,…,xn]∈RD×N表示N個從視頻序列中提取出來的D維特征向量,B=[b1,b2,…,bm]∈RD×M表示有M個視覺單詞的字典,V=[v1,v2,…,vn]表示編碼后對應的N個特征。公式如下:

從傳統的硬向量編碼可以看出,在特征編碼過程中對最近的那個視覺單詞加權值1,其他均標0。因此它只是對局部特征進行很粗糙的重構,這很容易丟失很多重要的信息。
所以在硬向量編碼的基礎上進行改進,改進的公式如下:

與傳統的硬向量編碼相比,改進的編碼方式給最近的K個視覺單詞加權,這樣,有效地解決了視覺單詞的模糊性問題,提高了識別的精度。
本文設計的識別系統在BOW的基礎上從深度圖像中提取出人體骨架信息,用MP描述符描述并用K-means方法聚類出視覺單詞,然后用改進的硬向量編碼方式編碼特征,匯聚出整個動作序列的密碼向量最后用lib linear分類器訓練分類。整個流程如圖:

圖1 整體流程圖
本實驗在MSR-Action3D數據集上進行實驗,MSR-Action3D數據集由RGB-D相機捕獲的時間分段動作序列組成,數據集中有20個動作,有10位實驗者,并且每位實驗者重復這20個動作2-3次。總共有567個序列其中有些序列嚴重損壞,所以實驗最終選取其中的557個進行實驗,本文采取與文獻[5]相同的對α,β的設置。設計好系統后發現影響實驗的因素有三個分別是視覺字典的大小、距離視覺單詞最近的K取值還有訓練-測試的分配比例上。為了實驗的穩定性,每次實驗重復進行5次取均值。
首先分析距離視覺單詞最近的K取值對分類精度的影響,與此同時選取視覺字典的大小為4096,訓練-測試的比例為1:1即選取(1,3,5,7,9)5人為訓練集其余為測試集。得出如圖2所示結果。

圖2 K對精度的影響
從圖2可見,K的取值對分類精度是有影響的,在K=5之前隨著K的增大分類精度也逐漸增加,而后出現下降趨勢。考慮降低運算量,本文取K=4。
研究完K對精度的影響后,接著研究視覺詞典的大小對分類精度的影響。同樣的選取K=4,(1,3,5,7,9)5人為訓練集其余為測試集。實驗結果如圖3所示。

圖3 字典對精度的影響
從圖3可以看出字典大小對精度也是有影響的,當字典在2048之前精度呈上升趨勢,而后有回落。故本文采取的字典大小為2048。
最后研究訓練-測試比例不同對精度的影響,得出如圖4所示結果。

圖4 訓練-測試比例對精度的影響
從以上實驗看出訓練-測試集的比例不同對分類精度也是有影響的,但是當過多的數據用于訓練是會出現過擬合現象,這樣不利于客觀分析。所以本實驗采用訓練-測試比例為1:1。
以上是對影響本文設計的因素的研究,為了說明本設計的實用性還需與相關的實驗進行對比,為確保設計的有效性和公平性,本實驗參照文獻[5,9],選取1、3、5、7、9這五位單號表演者的行為骨架序列數據為訓練集,其余表演者的骨架序列數據為測試集。

表1 各種方法在MSR Action3D數據集上的實驗結果
從表1中可以看出本文方法在識別精度上要優于其他方法,相比于早期隱馬爾科夫模型[10]在精度上提升了將近30%;而且也要比三維點包上的動作圖方法[11在精度上提升了約18%;最后相比同樣運用運動姿態描述子的文獻[8],該文獻運用MP描述子和KNN方法也取得了很好的精度,但是本文運用MP描述子與詞袋模型相結合的方法使得精度比之提升了0.82%。上述結果表明,本文所提方法能夠提高識別精度。
為了提升基于三維骨架序列的人體行為識別的精度,本文選用詞袋模型在提取骨架信息后用運動描述子來描述,同時選出一種改進的硬向量編碼方式來編碼特征,在簡化特征向量的同時進一步提煉特征信息。最后在數據集MSR Action3D上實驗并在識別精度上取得了很好的成果。但是在識別精度上依然有很大的提升空間,這值得我們去研究,比如在描述子不同或者編碼方式不同時,可能會取得更高的識別精度,獲得魯棒性更好的識別方法,這也是我們以后的研究方向。
參考文獻(References):
[1]胡瓊,秦磊,黃慶明.基于視覺的人體動作識別綜述[J].計算機學報,2013.36(12):2512-2524
[2]Presti LL,Cascia ML.3Dskeleton-based humanactionclassification:A survey[J].Pattern Recognition,2016.53(3):130-147
[3]ZhangJ,LiWOgunbonaPO,etal.RGB-D-based actionrecognition datasets:A survey[J].Pattern Recognition,2016.60(12):86-105
[4]Wang J,Liu Z,Wu Y,et al.Miningactionlet ensemble for action recognition withdepth cameras[C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2012:1290-1297
[5]Zanfir M,Leordean M,Sminchisescu C.The moving pose:An efficient3D kinematicsdescriptorforlow-latency action recognition and detection[C]. Proceedings of IEEE Conference on Computer Vision,2013:2752-2759
[6]SharafA,TorkiM,Hussein ME,etal.Real-Time Multi-scale Action Detection from 3D Skeleton Data[C].IEEE Winter Conference on Applications of Computer Vision,2015:998-1005
[7]G.Csurka,C.Bray,C.Dance,and L.Fan,"Visual Categorizationwith BagsofKeypoints,"Proc.ECCV Int'lWorkshop StatisticalLearningin ComputerVision,2004.
[8]Sivic J,Zisserman A.Video Google:A Text Retrieval Approach to Object Matching in Videos[C].IEEE InternationalConference on ComputerVision,2003:1470-1477
[9] VemulapalliR, Arrate F, ChellappaR.Humanaction recognition by representing3dskeletons as points in a liegroup[C]. Proceedings of IEEE Conference on ComputerVision and Pattern Recognition,2014:588-595
[10]F.Lv and R.Nevatia.Recognition andsegmentation of 3-d human action usinghmm and multi-classadaboost.InECCV,2006.
[11]W.Li,Z.Zhang,and Z.Liu.Action recognition based on abag of 3d points.InWCBA-CVPR,2010.