文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.173038
中文引用格式: 胡青松,張亮. 人體行為序列化識別算法研究[J].電子技術(shù)應(yīng)用,2018,44(4):122-125,129.
英文引用格式: Hu Qingsong,Zhang Liang. Research on human behavior serialization recognition based on skeleton graph[J]. Application of Electronic Technique,2018,44(4):122-125,129.
隨著科學(xué)技術(shù)的發(fā)展,計算機(jī)的運(yùn)算能力大大提升,針對大數(shù)據(jù)的處理漸漸得以實(shí)現(xiàn)。在此基礎(chǔ)上發(fā)展而來的人體行為姿態(tài)識別[1]為人機(jī)交互、視頻監(jiān)控和智能家居等方面的應(yīng)用提供了基礎(chǔ)。近些年,研究人員已經(jīng)在人體行為識別方面做了大量的研究工作,取得了許多重要的成果,但是對于復(fù)雜人體行為的識別準(zhǔn)確率較低,仍然有待于提高。
基于視覺的人體行為識別方法[2]可以分為兩類,一類基于模板匹配[3],一類基于機(jī)器學(xué)習(xí)[4]?;谀0迤ヅ涞姆椒ㄍㄟ^計算當(dāng)前動作與模板庫里的模板之間的相似度,把當(dāng)前模板判定為最相似動作的過程。IBANEZ R和SORIA A等人通過提取人體肢體行為軌跡,分別用動態(tài)時間規(guī)整(DTW)和隱馬爾科夫(HMM)算法,基于模板匹配進(jìn)行人體行為識別[5]?;跈C(jī)器學(xué)習(xí)的方法通過提取樣本特征對樣本訓(xùn)練,得到一個分類器,此分類器具有預(yù)測未知樣本的能力。TRIGUEIROS P和RIBEIRO F等人就對比了幾種機(jī)器學(xué)習(xí)算法在手勢識別上的應(yīng)用[6]。但是,這些算法都是為某一具體行為動作所設(shè)計,當(dāng)需要檢測額外的行為動作時,又需要重新設(shè)計方案,拓展性較差。
本文使用從Kinect[7]采集的骨骼圖數(shù)據(jù)(由MSRC-12 Gesture Dataset數(shù)據(jù)庫[8]提供),Kinect提取的骨骼圖像能夠克服光線強(qiáng)弱等外界因素帶來的干擾,具有較強(qiáng)的魯棒性;提取骨骼特征,并采用機(jī)器學(xué)習(xí)的算法對靜態(tài)動作分類,最終形成序列;從序列中找出需要識別的動作序列的過程即可表示動態(tài)動作識別過程,此過程具有很好的實(shí)時性和拓展性。
1 基于骨骼圖的特征提取
選取既能夠充分表示人體某一動作,又不包含過多的冗余信息的人體特征特征提取對行為識別的研究很有價值。根據(jù)人體機(jī)械學(xué)理論,本文通過提取4個關(guān)節(jié)點(diǎn)向量、5個關(guān)節(jié)點(diǎn)角度和4個關(guān)節(jié)點(diǎn)距離系數(shù)表示人體行為姿態(tài)。
1.1 關(guān)節(jié)點(diǎn)向量提取
如圖1所示,4個關(guān)節(jié)點(diǎn)向量分別是左上臂(VSL-EL)、右上臂(VSR-ER)、左大腿(VHL-KL)和右大腿(VHR-KR)。現(xiàn)以左上臂為例,計算左上臂向量。已知左肩膀(ShoulderLeft)關(guān)節(jié)點(diǎn)坐標(biāo)為SL(Sx,Sy,Sz),左手肘(ElbowLeft)關(guān)節(jié)點(diǎn)坐標(biāo)為EL(Ex,Ey,Ez),則左上臂關(guān)節(jié)點(diǎn)向量計算方法如式(1)所示。其他關(guān)節(jié)點(diǎn)向量以此類推。
1.2 關(guān)節(jié)點(diǎn)角度提取
在原有向量的基礎(chǔ)上提取4個關(guān)節(jié)點(diǎn)角度。聯(lián)合關(guān)節(jié)點(diǎn)向量,可以描述人體左小臂、右小臂、左小腿和右小腿的活動狀態(tài)。圖1中θEL、θER、θKL和θKR分別表示左肘關(guān)節(jié)點(diǎn)角度、右肘關(guān)節(jié)點(diǎn)角度、左膝關(guān)節(jié)點(diǎn)角度和右膝關(guān)節(jié)點(diǎn)角度。θHC表示臀部中心到頭部的向量與豎直方向向量之間的夾角,可以表示人體姿態(tài)的彎腰程度,描述整體軀干的活動狀態(tài)。夾角可以通過式(2)計算獲得。
其中V1、V2分別表示兩個關(guān)節(jié)點(diǎn)向量,θ表示這兩個關(guān)節(jié)點(diǎn)向量的夾角。
1.3 關(guān)節(jié)點(diǎn)距離系數(shù)提取
為了能夠讓選取特征對上肢手部活動更加敏感,本文加入4個關(guān)節(jié)點(diǎn)距離系數(shù)。圖1中,a為臀部中心到頭部的關(guān)節(jié)向量,b為頭部到右手的關(guān)節(jié)向量,c為頭部到左手的關(guān)節(jié)向量,d為臀部中心到右手的關(guān)節(jié)向量,e為臀部中心到左手的關(guān)節(jié)向量。通過式(3)可以獲得頭部到左右手的相對距離系數(shù)d1、d2和臀部中心到左右手的相對距離系數(shù)d3、d4。
至此,基于骨骼圖的特征可以表示為式(4)所示的特征矩陣,共計4×3+5+4=21維。
2 基于SVM的識別算法流程
2.1 靜態(tài)動作的SVM識別
支持向量機(jī)[9](Support Vector Machines,SVM)是一種用于分類的算法,它能夠在多維空間找出完美劃分事物的超平面。本文使用SVM進(jìn)行動作分類,以二分類支持向量機(jī)為例,已知訓(xùn)練樣本集T:
使用多個二分類器形成多分類器,用豐富的樣本訓(xùn)練并識別人體靜態(tài)姿勢。
2.2 動態(tài)動作的序列化識別
設(shè)定某一采樣頻率,所提取到每一幀骨骼圖都以靜態(tài)的方式呈現(xiàn)。對每一幀骨骼圖進(jìn)行靜態(tài)動作識別,可以得到一串長序列。在長序列中尋找待識別序列即為動態(tài)動作識別。如圖2所示,一組抬起雙手舉高(Start system)的動作可以分解為G1、G2、G3 3個靜態(tài)動作,因此只要在長序列中檢測到連續(xù)的G1、G2、G3 3個靜態(tài)動作即可判定出現(xiàn)“抬起雙手舉高”的動態(tài)動作。
2.3 分類的糾錯過程
為了減小靜態(tài)姿勢識別錯誤對動態(tài)動作識別準(zhǔn)確率的影響,本文提出一種基于前后信息的姿態(tài)糾正算法。一般情況下,相鄰兩幀或者多幀的數(shù)據(jù)描述的都是同一動作。算法流程圖如圖3所示,其中predict是分類器預(yù)測的結(jié)果,sequence是最終形成的長序列。首先判斷當(dāng)前預(yù)測結(jié)果是否與長序列隊尾數(shù)據(jù)相同,如果相同,說明當(dāng)前動作與上一幀動作相同,把預(yù)測結(jié)果加入長序列隊尾;如果不相同,需要驗證當(dāng)前預(yù)測結(jié)果是否出錯。此算法判斷當(dāng)前動作之后的n(本文選取15)幀預(yù)測結(jié)果中出現(xiàn)最多的數(shù)據(jù)是否等于當(dāng)前動作預(yù)測結(jié)果,并且其所占比是否大于某一閾值(本文選取0.5),如果是,將當(dāng)前動作的預(yù)測結(jié)果加入長序列隊尾;如果否,說明當(dāng)前動作預(yù)測結(jié)果出錯,長序列隊尾數(shù)據(jù)保持不變。
3 實(shí)驗驗證
3.1 訓(xùn)練靜態(tài)動作
MSRC-12 Gesture Dataset是微軟提供的數(shù)據(jù)庫,共包括12組動作。本文選擇其中3組動作,分別為Start system、Duck和Push right,如圖2、圖4和圖5所示。
顯然,大多數(shù)志愿者保持某一靜態(tài)動作的時間并不一致。為了合理利用資源和方便處理,把姿勢劃分為進(jìn)行態(tài)和保持態(tài)兩種狀態(tài):
(1)進(jìn)行態(tài)是一組動作的中間狀態(tài),即兩種靜態(tài)姿態(tài)的過度,可包含運(yùn)動過程中較大范圍的運(yùn)動姿態(tài),圖2(b)的G2和圖5(b)中的G5即是進(jìn)行態(tài)。因為進(jìn)行態(tài)不能對決策結(jié)果起決定性作用,所以進(jìn)行態(tài)并不需要非常高的識別精確度。
(2)保持態(tài)是一組動作中保持時間較長的狀態(tài),能夠?qū)ψ藙莸淖R別起決定性作用,因此需要很高的識別準(zhǔn)確率。圖2(a)中的G1、圖2(c)中的G3、圖4(b)中的G4以及圖5(c)中的G6都屬于保持態(tài)。實(shí)驗中,從10人中選取600幀G1姿勢,5人中選取550幀G2、G3、G4、G5和G6姿勢,共3 350幀數(shù)據(jù),用于訓(xùn)練分類器,SVM識別結(jié)果見表1。
3.2 靜態(tài)動作結(jié)果分析
采用十折交叉驗證法檢驗分類器的性能,最終得到的平均識別準(zhǔn)確度為93.12%。表1為單個姿態(tài)的識別準(zhǔn)確度。從表1可以看出,位于保持態(tài)的姿態(tài)識別準(zhǔn)確率普遍在90%以上,達(dá)到較高的準(zhǔn)確率。進(jìn)行態(tài)姿態(tài)識別準(zhǔn)確率比保持態(tài)稍低,但是從前文可知,這對最終的判定結(jié)果影響不大。
3.3 序列糾錯
采用2.3節(jié)所述的方法進(jìn)行姿態(tài)序列糾錯。不失一般性,從實(shí)驗的3 350幀數(shù)據(jù)中隨機(jī)選取150幀數(shù)據(jù)(原序列)為例,見圖6(a)。在原序列第30幀左右,姿勢2(G2)向姿勢3(G3)過度階段出現(xiàn)了較多錯分類現(xiàn)象。圖6(b)是采用2.3節(jié)方法糾錯后序列,可以看出,整個序列變得光滑得多,上述的分類錯誤得到了抑制,大大方便了后續(xù)動作識別。
3.4 態(tài)動作識別驗證
為便利于分析,將經(jīng)過糾錯處理的數(shù)據(jù)中連續(xù)的n個“1”用一個“1”表示,其他姿態(tài)以此類推。以Start system為例,當(dāng)檢測到連續(xù)的1,2,3或者1,3則可以判定出現(xiàn)一組Start system動作,當(dāng)檢測到連續(xù)的1,2,3,2,1、1,2,3,1、1,3,2,1、1,3,1則判定完成Start system動作并回到站姿(G1)。用MSRC-12 Gesture Dataset數(shù)據(jù)測試,測試結(jié)果見表2。為了對比算法的優(yōu)劣,表2中同時列出了文獻(xiàn)[10]的隨機(jī)森林算法的識別情況。
由表2明顯可以看出,與文獻(xiàn)[10]的算法相比,本文提出的算法的識別準(zhǔn)確率更高。通過實(shí)驗得知,Start system、Duck和Push right 3種動作具體的識別準(zhǔn)確率分別是71.82%、80%和76.36%。
4 總結(jié)
本文算法可以實(shí)現(xiàn)實(shí)時提取骨骼數(shù)據(jù),計算骨骼特征,分類識別并形成序列,具有很好的實(shí)時性。序列化的動態(tài)動作識別方法可以滿足各種動作的任意組合,具有很好的拓展性。實(shí)驗表明,本文算法具有較高的識別準(zhǔn)確率。但是,對采集到的每一幀骨骼圖進(jìn)行分類無疑會增加算法復(fù)度。因此,如何降低冗余的分類識別,是下一步研究需要解決的問題。
參考文獻(xiàn)
[1] 李瑞峰,王亮亮,王珂.人體動作行為識別研究綜述[J].模式識別與人工智能,2014,27(1):35-48.
[2] 胡瓊,秦磊,黃慶明.基于視覺的人體動作識別綜述[J].計算機(jī)學(xué)報,2013,36(12):2512-2524.
[3] NIEBLES J C,WANG H,LI F F.Unsupervised learning of human action categories using spatial-temporal words[J].International Journal of Computer Vision,2008,79(3):299-318.
[4] JAGER M,KNOLL C,HAMPRECHT F A.Weakly supervised learning of a classifier for unusual event detection[J].IEEE Transactions on Image Processing A Publication of the IEEE Signal Processing Society,2008,17(9):1700-1708.
[5] IBABEZ R,SORIA A,TEYSEYRE A,et al.Easy gesture recognition for Kinect[J].Advances in Engineering Software,2014,76:171-180.
[6] TRIGUEIROS P,RIBEIRO F,REIS L P.A comparison of machine learning algorithms applied to hand gesture recognition[J].Information Systems & Technologies,2012,52(11):41-46.
[7] ZHANG Z.Microsoft Kinect sensor and its effect[M].IEEE Computer Society Press,2012:4-10.
[8] 刁俊方.基于Kinect的人體動作識別技術(shù)研究[D].重慶:重慶大學(xué),2015.
[9] SOTIRIS V A,TSE P W,PECHT M G.Anomaly detection through a Bayesian support vector machine[J].IEEE Transactions on Reliability,2010,59(2):277-286.
[10] FOTHERGILL S,MENTIS H,KOHLI P,et al.Instructing people for training gestural interactive systems[C].Sigchi Conference on Human Factors in Computing Systems,ACM,2012:1737-1746.
作者信息:
胡青松1,2,張 亮1,2
(1.中國礦業(yè)大學(xué) 物聯(lián)網(wǎng)(感知礦山)研究中心,江蘇 徐州221008;
2.中國礦業(yè)大學(xué) 信息與控制工程學(xué)院,江蘇 徐州221008)