網(wǎng)絡(luò)出版地址:http://www.cnki.net/kcms/detail/23.1538.tp.20150603.0901.001.html
改進高斯核函數(shù)的人體姿態(tài)分析與識別
林海波,王浩,張毅
(重慶郵電大學(xué) 智能系統(tǒng)及機器人研究所,重慶 400065)
摘要:為了提高人體動作姿態(tài)的識別率,利用Kinect平臺構(gòu)建人體骨骼模型,提出一種基于關(guān)節(jié)角度的人體姿態(tài)表示方法。同時針對傳統(tǒng)的高斯核函數(shù)中采用歐氏距離計算方法難以完全反映人體關(guān)節(jié)運動數(shù)據(jù)樣本點與測試點之間位置關(guān)系的問題,提出了改進的高斯核函數(shù)多類支持向量機(MSVM)人體動作姿態(tài)識別方法。在高斯徑向基核函數(shù)中使用測地線距離代替歐氏距離,建立了基于測地線距離的姿態(tài)核函數(shù),采用二叉樹方法構(gòu)建多類支持向量機完成12種上肢姿態(tài)的分類。實驗結(jié)果表明,該算法取得了較好的識別效果,能更加有效識別人體姿態(tài)。
關(guān)鍵詞:人體動作姿態(tài);識別;高斯核函數(shù);Kinect;歐氏距離;測地線距離;支持向量機
DOI:10.3969/j.issn.1673-4785.201405049
中圖分類號:TP391.9 文獻標志碼:A
收稿日期:2014-05-22. 網(wǎng)絡(luò)出版日期:2015-06-03.
基金項目:科技部國際合作項目(2010DFA12160);重慶市工業(yè)振興專項資金資助項目(渝財金[2013]442號).
作者簡介:
中文引用格式:林海波,王浩,張毅. 改進高斯核函數(shù)的人體姿態(tài)分析與識別[J]. 智能系統(tǒng)學(xué)報, 2015, 10(3): 436-441.
英文引用格式:LIN Haibo, WANG Hao, ZHANG Yi. Human postures recognition based on the improved Gauss kernel function[J]. CAAI Transactions on Intelligent Systems, 2015, 10(3): 436-441.
Human postures recognition based on the
improved Gauss kernel function
LIN Haibo, WANG Hao, ZHANG Yi
(Research Center of Intelligent System and Robot, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)
Abstract:In this paper, a method based on the joint angles of human postures is proposed in order to improve the human posture recognition rate through building a human skeleton model on the Kinect platform. For the traditional method of human postures recognition, Euclidean distance is used in Gaussian kernel function, but the positional relationship of sample point and test point of human body joint can not be reflected completely. So the method of improved Gaussian kernel function and multi-class support vector machines (MSVM) is proposed. Using the geodesic distance instead of the Euclidean distance in the Gaussian radial basis kernel function, a posture kernel function based on the geodesic distance is established. Using the binary tree method, a multi-class support vector machine is built to complete classification of 12 kinds of upper limb postures. Experimental results showed that the improved algorithm can identify body postures more effectively than before, achieving a good recognition effect.
Keywords:human postures; recognition; Gauss kernel function; Kinect; Euclidean distance; geodesic distance; support vector machines (SVM)
通信作者:王浩. E-mail: haoziwang1990@126.com.
基于視覺的人體動作姿態(tài)估計和識別在高級人機交互、智能視頻監(jiān)控、三維動畫合成、電影特技制作、體育運動分析、醫(yī)學(xué)理療等多個方面擁有十分廣闊的應(yīng)用前景,正逐漸受到越來越多學(xué)者們的關(guān)注。人體動作姿態(tài)分析主要分為2個部分:人體姿態(tài)描述和人體姿態(tài)識別。人體動作姿態(tài)識別算法是否有效通常取決于使用的動作姿態(tài)表示特征量,因而針對特定問題提出行之有效的動作姿態(tài)表示方法成為動作姿態(tài)識別研究的重要內(nèi)容之一。D. Weinland等[1]提出用MHV(motion history volumes)模板描述動作姿態(tài);Wang在2006年提出用輪廓的平均運動形狀和運動前景的平均運動能2個模板,用最近鄰分類器描述動作姿態(tài)[2]。傳統(tǒng)的基于視覺的人體動作姿態(tài)檢測主要針對二維特征,隨著運動捕獲技術(shù)的成熟和推廣,高效、快捷獲取大量三維的運動數(shù)據(jù)集已經(jīng)成為現(xiàn)實。R. Girshick等[3]利用Kinect深度圖像分析人體姿態(tài)變化。S. Sempena等[4]在2011年利用從Kinect深度圖像中得到的人體骨骼模型,采用關(guān)節(jié)角描述人體動作姿態(tài)。結(jié)果表明,相對于二維特征,基于Kinect傳感器的三維運動捕獲數(shù)據(jù)較好地保持了運動細節(jié),并真實地記錄了運動軌跡,數(shù)據(jù)精度高,并且相比于人體深度數(shù)據(jù),采用骨骼數(shù)據(jù)能夠更加緊湊和鮮明地反應(yīng)人體姿態(tài)。對于人體動作姿態(tài)識別,常用的方法有動態(tài)時間規(guī)整(dynamic time warping, DTW)、動態(tài)貝葉斯(dynamic Bayesian, DBN)、隱馬爾科夫模型(hidden Markov models, HMM)、神經(jīng)網(wǎng)絡(luò)等。如A. Veeraraghavan等[5]使用DTW方法匹配動作序列,Luo[6]采用動態(tài)貝葉斯網(wǎng)絡(luò)進行人體動作姿態(tài)識別研究,并與HMM方法進行了比較,F(xiàn). Buccolieri[7]通過徑向基神經(jīng)網(wǎng)絡(luò)(radial-basis function, RBF)分析人體輪廓特征來識別姿態(tài)。
相比上述方法,基于支持向量機的學(xué)習(xí)算法利用結(jié)構(gòu)風(fēng)險最小化代替?zhèn)鹘y(tǒng)模式識別中的經(jīng)驗風(fēng)險最小化,對解決高維數(shù)、非線性和小樣本的問題很有優(yōu)勢。鑒于此,本文提出了一種多類支持向量機人體動作姿態(tài)識別方法。該方法運用Kinect骨骼追蹤技術(shù)提取人體骨骼模型,并針對人體關(guān)節(jié)的特點在關(guān)節(jié)點處建立球坐標系,利用關(guān)節(jié)角對人體動作姿態(tài)進行描述。同時,利用高斯核模型設(shè)計了基于測地線距離的姿態(tài)核函數(shù),采用二叉樹設(shè)計多類支持向量機算法對人體姿態(tài)進行識別。
1人體姿態(tài)表示
1.1Kinect簡介
Kinect傳感器是微軟公司開發(fā)的一種3D體感攝像機,它由1個紅外投影儀、2個攝像頭組成,如圖1(a)所示。Kinect工作原理的核心是通過類似結(jié)構(gòu)光法的光編碼(light coding)技術(shù)的方式來獲取深度圖像。紅外發(fā)射器連續(xù)地向空間發(fā)射光,并給空間編碼,通過普通CMOS合成黑白深度圖像,其中純黑代表無窮遠,純白代表無窮近。由于不需要特制的感光芯片,極大地降低了成本,越來越多的學(xué)者采用它進行深度圖像的采集。本文利用分割技術(shù)將人體從深度圖像背景環(huán)境中區(qū)分出來,并采用隨機森林[8]等分類算法將人體各個部位進行區(qū)分定位,得出骨骼關(guān)節(jié)點的坐標信息。每一幀的骨骼圖像中都有被跟蹤人的姿勢,包括20個關(guān)節(jié)點,并以30幀/s的速度生成骨骼圖像流,實時地重現(xiàn)人體的運動狀態(tài),骨骼提取流程如圖1(b)所示。
圖1 當(dāng)Kinect外觀和工作機理 Fig. 1 The appearance of the Kinect and the mechanism
1.2人體姿態(tài)建模和行為描述
圖2 人體骨架框圖 Fig. 2 Human skeleton diagram
由于人體的動作姿態(tài)描述可以用四肢部分和頭部相對于軀干部分的位置變化來表示。因此,將構(gòu)成骨架框圖的16個關(guān)節(jié)點分為3個部分:第1部分是構(gòu)成人體軀干的關(guān)節(jié)點,包括P1,P2,…,P7;第2部分是所有與人體軀干相鄰的關(guān)節(jié)點,包括P8,P9,…,P12;第3部分是與第2部分關(guān)節(jié)點相鄰的關(guān)節(jié)點,包括P13,P14,P15,P16。這樣,通過第2、3部分的9個關(guān)節(jié)點相對于第1部分人體軀干的各個關(guān)節(jié)角度變化就可以描述人體動作姿態(tài)。
運用PCA主成分析法將第1部分的人體軀干7個關(guān)節(jié)點用1個三維向量表示,并將三維向量進行施密特正交化處理,用{u,r,t}表示(如圖3),其中u表示人體的上下運動,r表示人體的前后運動,t表示人體的左右運動,顯然t=u×r。人體的關(guān)節(jié)是球形關(guān)節(jié),其余2部分的運動以此為基準,分別在與上級部分連接的關(guān)節(jié)點處建立一個球面坐標系。以描述左手臂的運動為例,第2部分從左肩到左肘的向量v,第3部分從左肘到左腕的向量w。第2部分的坐標系以{u,r,t}為基準,原點在P3;第3部分的坐標系是將{u,r,t}以軸心b=v×r旋轉(zhuǎn)α=cos-1(v·r)角度得到,記作{u′,r′,t′},原點在P10。給定一個體,由于人體骨骼長度不變性,根據(jù)球面坐標系的定義,關(guān)節(jié)點的運動可用仰角θ和方位角φ加以約束。其中θ為v與平面tP3r的夾角以及w在平面t′P10r′的夾角,即仰角;φ為t軸和v在平面tP3r上投影的夾角以及t′軸與w在平面t′P10r′上投影的夾角,即方位角。所以用(θ1,φ1),(θ2,φ2)可分別表示P10、P14點的運動,其他關(guān)節(jié)點計算類似。綜上,第2、3部分共有9個關(guān)節(jié)點,可用一個18維的特征向量:
來表示人體動作姿態(tài)每一幀姿勢,其中每一對(θi,φi)都表示其對應(yīng)關(guān)節(jié)點在相應(yīng)坐標系下的位置。如圖3所示。
(a)人體第2部分的表示
(b)人體第3部分的表示 圖3 人體行為描述 Fig. 3 Description of human behavior
2支持向量機姿態(tài)識別算法
支持向量機(support vector machine, SVM)方法是在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來的一種有監(jiān)督的分類和回歸方法。其核心思想是在一個n維空間中構(gòu)造一個超平面用來區(qū)分特征空間中的類模式,且模式之間的距離最大。為計算2類模式的距離,在分類面的2側(cè)構(gòu)建2個平行于分類面的超平面,在這2個超平面上的數(shù)據(jù)稱為支持向量。
(1)
(2)
式(1)約束于式(2)。其中,2/‖w‖為分類間隔,b為常數(shù),C為懲罰系數(shù),ξi是松弛因子。
通常求解式(1)時采取其拉格朗日對偶問題的方法:
(3)
(4)
2.1改進高斯核模型的姿態(tài)核函數(shù)選取
采用核函數(shù)的作用是簡化映射空間中的內(nèi)積運算,將非線性的訓(xùn)練數(shù)據(jù)隱式映射到高維空間,而不增加可調(diào)參數(shù)的個數(shù)。在常用的核函數(shù)中,高斯函數(shù)因其優(yōu)越性能引起人們的關(guān)注。高斯函數(shù)的表達式為
(5)
式中:υi,υ∈Rn是樣本點,σ>0是核半徑,‖υi-υ‖表示空間中任一點υi到某一中心υ之間的歐氏距離[9]。然而本文人體姿態(tài)描述的是多個關(guān)節(jié)在各自球面坐標下的關(guān)節(jié)角,樣本點和測試點之間的歐氏距離并不能完全反應(yīng)它們之間的位置關(guān)系。針對人體關(guān)節(jié)運動的特點,采用球面上的測地線距離能夠更加準確地反映各個關(guān)節(jié)運動。因此,基于高斯核模型,在高斯徑向基核函數(shù)中使用測地線距離代替歐氏距離構(gòu)造姿態(tài)核函數(shù)。
假設(shè)給出2個球面上的點υi=(θi,φi),υj=(θj,φj),則這2點間的測地線距離δ(υi,υj)為
(6)
(7)
最后參照高斯核模型,得到姿態(tài)核函數(shù):
(8)
(9)
2.2多類支持向量機的構(gòu)建
SVM最初僅用于實現(xiàn)2類問題的分類,要實現(xiàn)12種人體姿態(tài)的多類分類,需要對標準SVM進行擴展,將多個標準SVM以某種方式組織在一起,構(gòu)建多類支持向量機。目前構(gòu)建MSVM的方法主要有一對一、一對多方法、導(dǎo)向無環(huán)圖和二叉樹[12]。鑒于二叉樹設(shè)計方法的諸多優(yōu)點,采用決策二叉樹的多類分類器設(shè)計方法,如圖4所示。
圖4 二叉樹的多類分類器框架 Fig. 4 The multi-class classifier framework of binary tree
在二叉樹結(jié)構(gòu)中,根據(jù)決策半徑構(gòu)造二叉樹各內(nèi)節(jié)點的最優(yōu)超平面,即從根節(jié)點開始,沿樹的路徑依次得到的類別標簽為1,2,…,k。二叉樹各內(nèi)節(jié)點的分類算法流程如下:1)以第1類樣本為正樣本集,其他類樣本為負樣本集,構(gòu)造二值分類器,將1類從樣本集中剔除;2)以第2類樣本為正樣本集,其他類樣本為負樣本集,構(gòu)造第2個內(nèi)節(jié)點處的二值分類器,將2類從樣本集中剔除;3)依次下去,可以得到基于二叉樹的多類支持向量機分類器。
3實驗結(jié)果與分析
整個實驗的環(huán)境:Kinect傳感器彩色圖像分辨率為640×480、深度圖像分辨率為320×240;軟件開發(fā)環(huán)境:Window7+Visual Studio 2010、Kinect SDK-v1.7;開發(fā)語言:C#。本文提出的人體姿態(tài)識別算法可分為4個部分:人體深度圖像分割、骨骼特征提取、姿態(tài)模型和姿態(tài)識別,如圖5所示。
圖5 姿態(tài)識別算法框架 Fig. 5 Human posture recognition algorithm framework
本文主要是研究人體上肢部分的運動姿態(tài),為驗證算法的可行性及正確率,選取Kinect Gesture Data Set(the MSR Action3D dataset)數(shù)據(jù)集中人體上肢部分的12種姿態(tài)作為訓(xùn)練姿態(tài)進行識別,各個姿勢如圖6所示。
圖6 人體12種上肢姿態(tài) Fig. 6 12 kinds of human upper limb postures
表 1 改進核函數(shù)與傳統(tǒng)核函數(shù)的實驗結(jié)果對比
在實驗中發(fā)現(xiàn),當(dāng)某些姿態(tài)比較相似時,例如k7、k9和k12,這些姿態(tài)之間有一定的誤判,但誤判比例較小,整體的分類效果還是比較好的。從表1中可以得出,提出的改進高斯核函數(shù)多類支持向量機算法的平均識別率為96.1%,比傳統(tǒng)的基于歐氏距離的高斯核函數(shù)多類支持向量機算法提高了3.9%。因此,所采用的分類器在監(jiān)督學(xué)習(xí)機制下是有效的分類器模型,驗證了系統(tǒng)所提取的特征能有效表示特征姿態(tài)。同時,為了驗證本算法對姿態(tài)的分類和識別具有優(yōu)越性,利用RBF神經(jīng)網(wǎng)絡(luò)對采集的k7、k9和k12 3種誤判較高的姿態(tài)進行分類,同樣讓10位同學(xué)對每個姿勢進行50次實驗,將實驗結(jié)果與本文方法進行比較,見表2所示。由表2對比結(jié)果可以看出,對于k7、k9和k12這3種姿態(tài)的識別,本文方法用時略快于RBF神經(jīng)網(wǎng)絡(luò),且識別率更高,具有較好的小樣本分類性能。
表 2 本文算法與RBF神經(jīng)網(wǎng)絡(luò)方法性能對比
4結(jié)束語
在充分研究常用行為表示方法的基礎(chǔ)上,針對人體骨骼關(guān)節(jié)的特點提出了基于球坐標系下人體關(guān)節(jié)角的行為表示特征量。并針對歐氏距離計算方法難以完全反映人體關(guān)節(jié)運動數(shù)據(jù)樣本點與測試點之間位置關(guān)系的問題,采用測地線距離代替歐氏距離的對高斯核函數(shù)進行改進,構(gòu)建基于測地線距離的姿態(tài)核函數(shù)。最后,創(chuàng)建了基于二叉樹的多類支持向量機對人體12種常見上肢行為姿態(tài)進行識別,并通過和其他姿態(tài)識別方法對比,驗證了該人體姿態(tài)識別方法的優(yōu)越性,具有較高的識別率。然而,本文的人體姿態(tài)識別只是針對某種特定姿勢,實際生活中,人體的姿勢往往是連續(xù)的。未來的工作將是把特定姿勢作為人體動作的關(guān)鍵姿勢,并按照一定的順序編排成運動序列,完成連續(xù)姿態(tài)序列的行為識別。
參考文獻:
[1]WEINLAND D, RONFARD R, BOYER E. Free viewpoint action recognition using motion history volumes[J]. Computer Vision and Image Understanding, 2006, 104(2/3): 249-257.
[2]WANG Liang, SUTER D. Informative shape representations for human action recognition[C]//18th International Conference on Pattern Recognition. Hong Kong, China, 2006, 2: 1266-1269.
[3]GIRSHICK R, SHOTTON J, KOHLI P, et al. Efficient regression of general-activity human poses from depth images[C]//2011 IEEE International Conference on Computer Vision (ICCV). Barcelona, Spain, 2011: 415-422.
[4]SEMPENA S, MAULIDEVI N U, ARYAN P R. Human action recognition using dynamic time warping[C]//2011 International Conference on Electrical Engineering and Informatics (ICEEI). Bandung, Indonesia, 2011: 1-5.
[5]VEERARAGHAVAN A, ROY-CHOWDHURY A K, CHELLAPPA R. Matching shape sequences in video with applications in human movement analysis[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(12): 1896-1909.
[6]LUO Ying, WU T D, HWANG J N. Object-based analysis and interpretation of human motion in sports video sequences by dynamic Bayesian networks[J]. Computer Vision and Image Understanding, 2003, 92(2/3): 196-216.
[7]BUCCOLIERI F, DISTANTE C, LEONE A. Human posture recognition using active contours and radial basis function neural network[C]//IEEE Conference on Advanced Video and Signal Based Surveillance. Como, Italy, 2005: 213-218.
[8]BACKES M, HRITCU C, MAFFEI M. Type-checking zero-knowledge[C]//Proceedings of the 15th ACM Conference on Computer and Communications Security. New York, USA: ACM, 2008: 357-370.
[9]楊慶, 陳桂明, 劉鯖潔, 等. 基于測地線距離的核主元分析在齒輪泵故障識別中應(yīng)用[J]. 上海交通大學(xué)學(xué)報, 2011, 45(11): 1632-1636.
YANG Qing, CHEN Guiming, LIU Qingjie, et al. Application of kernel principal component analysis based on geodesic distance in pattern recognition of gear pump[J]. Journal of Shanghai Jiao Tong University, 2011, 45(11): 1632-1636.
[10]YUAN Lu, SUN Jian, QUAN Long, et al. Image deblurring with blurred/noisy image pairs[J]. ACM Transactions on Graphics (TOG), 2007, 26(3): 1.
[11]CRISTIANINI N, SHAWE-TAYLOR J. 支持向量機導(dǎo)論[M]. 李國正, 王猛, 曾華軍, 譯. 北京: 電子工業(yè)出版社, 2004.
[12]DU Chengjin, SUN Dawen. Multi-classification of pizza using computer vision and support vector machine[J]. Journal of Food Engineering, 2008, 86(2): 234-242.
林海波,男,1965年生,副教授,主要研究方向為機器人技術(shù)及應(yīng)用、自動控制技術(shù)、模式識別。主持完成省部級及其他科研項目4項,申請國家發(fā)明專利2項,重慶市科技創(chuàng)新創(chuàng)業(yè)人才支持計劃人選,發(fā)表學(xué)術(shù)論文10余篇。
王浩,男,1990年生,碩士研究生,主要研究方向為智能系統(tǒng)及機器人、模式識別。
張毅,男,1966年生,教授,博士生導(dǎo)師,博士,中國計量測試學(xué)會高級會員,重慶市人工智能學(xué)會理事,重慶市“322”人才工程第二層次人才,英國Essex大學(xué)機器人研究中心訪問學(xué)者。主要研究方向為機器人技術(shù)及應(yīng)用、生物信號處理及應(yīng)用、模式識別。主持完成省部級及其他科研項目10余項,申請國家發(fā)明專利4項。發(fā)表學(xué)術(shù)論文60余篇,其中被SCI、EI檢索30余篇,出版專著1部、教材2部。