文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173038
中文引用格式: 胡青松,張亮. 人體行為序列化識(shí)別算法研究[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ì)算機(jī)的運(yùn)算能力大大提升,,針對(duì)大數(shù)據(jù)的處理漸漸得以實(shí)現(xiàn),。在此基礎(chǔ)上發(fā)展而來的人體行為姿態(tài)識(shí)別[1]為人機(jī)交互、視頻監(jiān)控和智能家居等方面的應(yīng)用提供了基礎(chǔ),。近些年,,研究人員已經(jīng)在人體行為識(shí)別方面做了大量的研究工作,取得了許多重要的成果,,但是對(duì)于復(fù)雜人體行為的識(shí)別準(zhǔn)確率較低,,仍然有待于提高。
基于視覺的人體行為識(shí)別方法[2]可以分為兩類,,一類基于模板匹配[3],,一類基于機(jī)器學(xué)習(xí)[4]?;谀0迤ヅ涞姆椒ㄍㄟ^計(jì)算當(dāng)前動(dòng)作與模板庫里的模板之間的相似度,,把當(dāng)前模板判定為最相似動(dòng)作的過程。IBANEZ R和SORIA A等人通過提取人體肢體行為軌跡,,分別用動(dòng)態(tài)時(shí)間規(guī)整(DTW)和隱馬爾科夫(HMM)算法,,基于模板匹配進(jìn)行人體行為識(shí)別[5]?;跈C(jī)器學(xué)習(xí)的方法通過提取樣本特征對(duì)樣本訓(xùn)練,,得到一個(gè)分類器,此分類器具有預(yù)測(cè)未知樣本的能力,。TRIGUEIROS P和RIBEIRO F等人就對(duì)比了幾種機(jī)器學(xué)習(xí)算法在手勢(shì)識(shí)別上的應(yīng)用[6],。但是,這些算法都是為某一具體行為動(dòng)作所設(shè)計(jì),,當(dāng)需要檢測(cè)額外的行為動(dòng)作時(shí),,又需要重新設(shè)計(jì)方案,,拓展性較差。
本文使用從Kinect[7]采集的骨骼圖數(shù)據(jù)(由MSRC-12 Gesture Dataset數(shù)據(jù)庫[8]提供),,Kinect提取的骨骼圖像能夠克服光線強(qiáng)弱等外界因素帶來的干擾,,具有較強(qiáng)的魯棒性;提取骨骼特征,,并采用機(jī)器學(xué)習(xí)的算法對(duì)靜態(tài)動(dòng)作分類,,最終形成序列;從序列中找出需要識(shí)別的動(dòng)作序列的過程即可表示動(dòng)態(tài)動(dòng)作識(shí)別過程,,此過程具有很好的實(shí)時(shí)性和拓展性,。
1 基于骨骼圖的特征提取
選取既能夠充分表示人體某一動(dòng)作,又不包含過多的冗余信息的人體特征特征提取對(duì)行為識(shí)別的研究很有價(jià)值,。根據(jù)人體機(jī)械學(xué)理論,,本文通過提取4個(gè)關(guān)節(jié)點(diǎn)向量、5個(gè)關(guān)節(jié)點(diǎn)角度和4個(gè)關(guān)節(jié)點(diǎn)距離系數(shù)表示人體行為姿態(tài),。
1.1 關(guān)節(jié)點(diǎn)向量提取
如圖1所示,,4個(gè)關(guān)節(jié)點(diǎn)向量分別是左上臂(VSL-EL)、右上臂(VSR-ER),、左大腿(VHL-KL)和右大腿(VHR-KR)?,F(xiàn)以左上臂為例,計(jì)算左上臂向量,。已知左肩膀(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)向量計(jì)算方法如式(1)所示,。其他關(guān)節(jié)點(diǎn)向量以此類推。
1.2 關(guān)節(jié)點(diǎn)角度提取
在原有向量的基礎(chǔ)上提取4個(gè)關(guān)節(jié)點(diǎn)角度,。聯(lián)合關(guān)節(jié)點(diǎn)向量,,可以描述人體左小臂、右小臂,、左小腿和右小腿的活動(dòng)狀態(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)的彎腰程度,,描述整體軀干的活動(dòng)狀態(tài)。夾角可以通過式(2)計(jì)算獲得,。
其中V1,、V2分別表示兩個(gè)關(guān)節(jié)點(diǎn)向量,θ表示這兩個(gè)關(guān)節(jié)點(diǎn)向量的夾角,。
1.3 關(guān)節(jié)點(diǎn)距離系數(shù)提取
為了能夠讓選取特征對(duì)上肢手部活動(dòng)更加敏感,,本文加入4個(gè)關(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)可以獲得頭部到左右手的相對(duì)距離系數(shù)d1,、d2和臀部中心到左右手的相對(duì)距離系數(shù)d3、d4,。
至此,,基于骨骼圖的特征可以表示為式(4)所示的特征矩陣,共計(jì)4×3+5+4=21維,。
2 基于SVM的識(shí)別算法流程
2.1 靜態(tài)動(dòng)作的SVM識(shí)別
支持向量機(jī)[9](Support Vector Machines,,SVM)是一種用于分類的算法,它能夠在多維空間找出完美劃分事物的超平面,。本文使用SVM進(jìn)行動(dòng)作分類,,以二分類支持向量機(jī)為例,已知訓(xùn)練樣本集T:
使用多個(gè)二分類器形成多分類器,,用豐富的樣本訓(xùn)練并識(shí)別人體靜態(tài)姿勢(shì),。
2.2 動(dòng)態(tài)動(dòng)作的序列化識(shí)別
設(shè)定某一采樣頻率,所提取到每一幀骨骼圖都以靜態(tài)的方式呈現(xiàn),。對(duì)每一幀骨骼圖進(jìn)行靜態(tài)動(dòng)作識(shí)別,,可以得到一串長序列。在長序列中尋找待識(shí)別序列即為動(dòng)態(tài)動(dòng)作識(shí)別,。如圖2所示,,一組抬起雙手舉高(Start system)的動(dòng)作可以分解為G1、G2,、G3 3個(gè)靜態(tài)動(dòng)作,,因此只要在長序列中檢測(cè)到連續(xù)的G1、G2,、G3 3個(gè)靜態(tài)動(dòng)作即可判定出現(xiàn)“抬起雙手舉高”的動(dòng)態(tài)動(dòng)作,。
2.3 分類的糾錯(cuò)過程
為了減小靜態(tài)姿勢(shì)識(shí)別錯(cuò)誤對(duì)動(dòng)態(tài)動(dòng)作識(shí)別準(zhǔn)確率的影響,,本文提出一種基于前后信息的姿態(tài)糾正算法。一般情況下,,相鄰兩幀或者多幀的數(shù)據(jù)描述的都是同一動(dòng)作,。算法流程圖如圖3所示,其中predict是分類器預(yù)測(cè)的結(jié)果,,sequence是最終形成的長序列,。首先判斷當(dāng)前預(yù)測(cè)結(jié)果是否與長序列隊(duì)尾數(shù)據(jù)相同,如果相同,,說明當(dāng)前動(dòng)作與上一幀動(dòng)作相同,,把預(yù)測(cè)結(jié)果加入長序列隊(duì)尾;如果不相同,,需要驗(yàn)證當(dāng)前預(yù)測(cè)結(jié)果是否出錯(cuò),。此算法判斷當(dāng)前動(dòng)作之后的n(本文選取15)幀預(yù)測(cè)結(jié)果中出現(xiàn)最多的數(shù)據(jù)是否等于當(dāng)前動(dòng)作預(yù)測(cè)結(jié)果,并且其所占比是否大于某一閾值(本文選取0.5),,如果是,,將當(dāng)前動(dòng)作的預(yù)測(cè)結(jié)果加入長序列隊(duì)尾;如果否,,說明當(dāng)前動(dòng)作預(yù)測(cè)結(jié)果出錯(cuò),,長序列隊(duì)尾數(shù)據(jù)保持不變。
3 實(shí)驗(yàn)驗(yàn)證
3.1 訓(xùn)練靜態(tài)動(dòng)作
MSRC-12 Gesture Dataset是微軟提供的數(shù)據(jù)庫,,共包括12組動(dòng)作,。本文選擇其中3組動(dòng)作,分別為Start system,、Duck和Push right,,如圖2、圖4和圖5所示,。
顯然,,大多數(shù)志愿者保持某一靜態(tài)動(dòng)作的時(shí)間并不一致。為了合理利用資源和方便處理,,把姿勢(shì)劃分為進(jìn)行態(tài)和保持態(tài)兩種狀態(tài):
(1)進(jìn)行態(tài)是一組動(dòng)作的中間狀態(tài),,即兩種靜態(tài)姿態(tài)的過度,可包含運(yùn)動(dòng)過程中較大范圍的運(yùn)動(dòng)姿態(tài),,圖2(b)的G2和圖5(b)中的G5即是進(jìn)行態(tài),。因?yàn)檫M(jìn)行態(tài)不能對(duì)決策結(jié)果起決定性作用,所以進(jìn)行態(tài)并不需要非常高的識(shí)別精確度,。
(2)保持態(tài)是一組動(dòng)作中保持時(shí)間較長的狀態(tài),,能夠?qū)ψ藙?shì)的識(shí)別起決定性作用,因此需要很高的識(shí)別準(zhǔn)確率,。圖2(a)中的G1,、圖2(c)中的G3,、圖4(b)中的G4以及圖5(c)中的G6都屬于保持態(tài)。實(shí)驗(yàn)中,,從10人中選取600幀G1姿勢(shì),,5人中選取550幀G2、G3,、G4,、G5和G6姿勢(shì),共3 350幀數(shù)據(jù),,用于訓(xùn)練分類器,,SVM識(shí)別結(jié)果見表1。
3.2 靜態(tài)動(dòng)作結(jié)果分析
采用十折交叉驗(yàn)證法檢驗(yàn)分類器的性能,,最終得到的平均識(shí)別準(zhǔn)確度為93.12%,。表1為單個(gè)姿態(tài)的識(shí)別準(zhǔn)確度。從表1可以看出,,位于保持態(tài)的姿態(tài)識(shí)別準(zhǔn)確率普遍在90%以上,達(dá)到較高的準(zhǔn)確率,。進(jìn)行態(tài)姿態(tài)識(shí)別準(zhǔn)確率比保持態(tài)稍低,,但是從前文可知,這對(duì)最終的判定結(jié)果影響不大,。
3.3 序列糾錯(cuò)
采用2.3節(jié)所述的方法進(jìn)行姿態(tài)序列糾錯(cuò),。不失一般性,從實(shí)驗(yàn)的3 350幀數(shù)據(jù)中隨機(jī)選取150幀數(shù)據(jù)(原序列)為例,,見圖6(a),。在原序列第30幀左右,姿勢(shì)2(G2)向姿勢(shì)3(G3)過度階段出現(xiàn)了較多錯(cuò)分類現(xiàn)象,。圖6(b)是采用2.3節(jié)方法糾錯(cuò)后序列,,可以看出,整個(gè)序列變得光滑得多,,上述的分類錯(cuò)誤得到了抑制,,大大方便了后續(xù)動(dòng)作識(shí)別。
3.4 態(tài)動(dòng)作識(shí)別驗(yàn)證
為便利于分析,,將經(jīng)過糾錯(cuò)處理的數(shù)據(jù)中連續(xù)的n個(gè)“1”用一個(gè)“1”表示,,其他姿態(tài)以此類推。以Start system為例,,當(dāng)檢測(cè)到連續(xù)的1,,2,3或者1,,3則可以判定出現(xiàn)一組Start system動(dòng)作,,當(dāng)檢測(cè)到連續(xù)的1,,2,3,,2,,1、1,,2,,3,1,、1,,3,2,,1,、1,3,,1則判定完成Start system動(dòng)作并回到站姿(G1),。用MSRC-12 Gesture Dataset數(shù)據(jù)測(cè)試,測(cè)試結(jié)果見表2,。為了對(duì)比算法的優(yōu)劣,,表2中同時(shí)列出了文獻(xiàn)[10]的隨機(jī)森林算法的識(shí)別情況。
由表2明顯可以看出,,與文獻(xiàn)[10]的算法相比,,本文提出的算法的識(shí)別準(zhǔn)確率更高。通過實(shí)驗(yàn)得知,,Start system,、Duck和Push right 3種動(dòng)作具體的識(shí)別準(zhǔn)確率分別是71.82%、80%和76.36%,。
4 總結(jié)
本文算法可以實(shí)現(xiàn)實(shí)時(shí)提取骨骼數(shù)據(jù),,計(jì)算骨骼特征,分類識(shí)別并形成序列,,具有很好的實(shí)時(shí)性,。序列化的動(dòng)態(tài)動(dòng)作識(shí)別方法可以滿足各種動(dòng)作的任意組合,具有很好的拓展性,。實(shí)驗(yàn)表明,,本文算法具有較高的識(shí)別準(zhǔn)確率。但是,,對(duì)采集到的每一幀骨骼圖進(jìn)行分類無疑會(huì)增加算法復(fù)度,。因此,如何降低冗余的分類識(shí)別,是下一步研究需要解決的問題,。
參考文獻(xiàn)
[1] 李瑞峰,,王亮亮,王珂.人體動(dòng)作行為識(shí)別研究綜述[J].模式識(shí)別與人工智能,,2014,,27(1):35-48.
[2] 胡瓊,秦磊,,黃慶明.基于視覺的人體動(dòng)作識(shí)別綜述[J].計(jì)算機(jī)學(xué)報(bào),,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的人體動(dòng)作識(shí)別技術(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)