庾 晶,葛 軍,郭 林
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003;2.南京郵電大學 物聯(lián)網(wǎng)學院,江蘇 南京 210003)
基于骨架特征的人體動作分類研究
庾 晶1,葛 軍1,郭 林2
(1.南京郵電大學 通信與信息工程學院,江蘇 南京 210003;2.南京郵電大學 物聯(lián)網(wǎng)學院,江蘇 南京 210003)
為了能夠在豐富復(fù)雜的網(wǎng)絡(luò)信息中快速找到所需圖片,提出一種基于骨架特征的人體上半身動作分類方法,以提高相應(yīng)圖片的檢索效率。對人體運動圖片進行人體運動時上半身姿勢識別,得到能夠表示人體位置、方向以及大小的“火柴人模型”(即骨架特征),使用矩陣形式對提取到的骨架特征進行描述。為了校正因距離和位置變化造成的尺度差異,對特征矩陣進行歸一化處理,然后使用多分類SVM方法對提取的骨架特征進行訓練,得到可以對不同動作進行分類的分類器。以收集到的人體運動圖片作為測試數(shù)據(jù)庫進行實驗,實驗結(jié)果表明,該算法的分類準確率達到97.36%,能夠很好地對人體動作進行分類。同時,在Buffy數(shù)據(jù)庫上進行圖片檢索對比實驗,實驗結(jié)果表明,所提算法的分類準確率更高,更好地提高了圖片檢索效率。
動作分類;姿勢識別;骨架特征;多分類SVM
計算機網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)的快速發(fā)展,為圖像等海量視覺信息的存儲和傳輸創(chuàng)造了便利條件,人們可以從網(wǎng)絡(luò)上獲得大量的圖片信息。然而,日益增多的數(shù)據(jù)量也使得人們尋找自己想要的圖片變得越發(fā)困難[1]。對網(wǎng)站來說,需要對大量的圖片信息進行管理,對圖片進行分類,建立索引,從而使用戶能夠方便地獲得所需內(nèi)容。對廣大用戶來說,也希望能夠快速、有效地找到自己需要的圖片信息,減少不必要的時間浪費。因此,對圖片進行分類有著重要的實際意義。人體動作行為分類是其中一個重要的組成部分。對人體動作分類進行的深入研究,可提高圖片檢索效率。
對人體動作進行分類,首先需要對人體結(jié)構(gòu)進行分析,建立相應(yīng)的人體結(jié)構(gòu)模型,然后在此基礎(chǔ)上進行動作姿勢識別,提取動作特征,從而實現(xiàn)對相應(yīng)動作的分類。Leung M K等[2]使用二維帶狀模型來表示人體在體操動作中的每一個姿態(tài),并通過對姿態(tài)外輪廓的單獨測算得出人體的動作結(jié)構(gòu)。M.Eichner等[3-4]基于對Ramanan圖形結(jié)構(gòu)模型的擴展,通過預(yù)處理減小背景干擾,利用圖像的邊緣信息和區(qū)域信息對人體上半身姿勢進行識別,準確地對人體運動姿勢進行描述。Kellokumpu等[5]利用從人體輪廓得到的仿射不變傅里葉描述子來實現(xiàn)姿勢分類,該方法能夠?qū)緞幼鬟M行正確識別,但并沒有對動作分類產(chǎn)生真正的意義。Liu Hong等[6]提出一種連續(xù)詞袋方法,通過將一個動作分割成多個子動作來捕捉時間連續(xù)結(jié)構(gòu),最終用這些子動作分別進行分類并投票得出統(tǒng)一結(jié)果。Hao Yan采用3D Zernike矩陣來計算人體動作的全局特征,然后使用基于AdaBoost的貝葉斯分類器對圖像序列進行分類[7]。Sun Qianru等[8]提出將視覺詞之間的時空共生關(guān)系添加到視覺詞袋中,以更加豐富地表達人體動作特征,更好地進行動作分類。文獻[9]利用視覺捕捉技術(shù),通過對視覺數(shù)據(jù)的處理來判斷用戶的動作?;谝曈X捕捉技術(shù),在特征表達方面,起初是采用人體輪廓作為姿勢特征表達,但是輪廓特征從整體角度描述姿勢,忽略了身體各部位的細節(jié),不能精確地表示豐富多彩的人體姿勢。與傳統(tǒng)的統(tǒng)計理論相比,統(tǒng)計學習理論[10-11]基本上不涉及概率測度的定義及大數(shù)定律。它避免了人工神經(jīng)網(wǎng)絡(luò)等方法的網(wǎng)絡(luò)結(jié)構(gòu)選擇、過學習和欠學習以及局部極小等問題?;谠摾碚摪l(fā)展的支持向量機(Support Vector Machine)逐漸成熟并已在模式識別、函數(shù)估計等人工智能領(lǐng)域得到較好的應(yīng)用。因此,使用SVM[12]對特征數(shù)據(jù)進行分類。人體動作中,上半身動作往往能夠代表此時人的行為狀態(tài)。為此,提出了基于人體骨架特征的人體上半身動作分類方法。該方法基于文獻[4]所采用的姿勢識別方法,通過對人體上半身動作進行姿勢識別,從而實現(xiàn)表示人體位置、方向以及大小的‘火柴人模型’(骨架特征)簡化特征提取,使之生動且準確地表示當前人體的動作特征。在此基礎(chǔ)上,應(yīng)用多分類SVM[13-14]方法對提取到的人體上半身動作的骨架特征進行學習,可以對8種人體上半身動作進行分類、學習。
通常情況下,人的一個姿勢或者一系列姿勢代表了人的態(tài)度及行為,因此獲得人的動作姿勢特征具有重要的意義。利用圖形結(jié)構(gòu)估計人體外觀模型,然后對得到的人體結(jié)構(gòu)模型進行姿勢識別。具體實現(xiàn)步驟包括檢測人體位置、前景突出及圖像解析,最終得到表示人體骨架結(jié)構(gòu)的‘火柴人模型’。
1.1 圖形結(jié)構(gòu)模型
圖形結(jié)構(gòu)模型是根據(jù)一系列部件以及部件間的位置關(guān)系來表示目標,每個部件描述目標的一個局部屬性(即代表一個身體部位),通過部件間的連接表示模型配置。Ramanan模型如圖1(a)所示,其中的矩形表示各個身體部位li(x,y,θ),(x,y)表示位置信息,θ表示方向。人體通過坐標(x,y)和方向θ參數(shù)化,通過位置先驗ψ連接。所使用的Eichner的圖形結(jié)構(gòu)模型是基于Ramanan圖形結(jié)構(gòu)模型并利用位置先驗進行擴展得到的,模型包括人身體軀干lt,左上手臂llua、右上手臂lrua、左下手臂llla、右下手臂lrla,以及頭部lh六部分,圖形結(jié)構(gòu)模型如圖1(b)所示。人體上半身的六個身體部位通過二元約束項ψ(li,lj)連接在一個樹狀結(jié)構(gòu)E中,即中一個節(jié)點表示一個身體部位。
圖1 圖形結(jié)構(gòu)模型
給定圖像I,身體各部位組合為L,則表示人體上半身姿勢的公式即為:
(1)
其中,Φ為一元勢函數(shù);Φ(li)表示身體部位li處的局部圖像特征;二元約束項ψ(li,lj)表示身體部位i和身體部位j的位置先驗;γ(·)設(shè)定接近垂直的一些θ值為均勻概率,設(shè)定其他方向的值為零概率,這樣能夠減少軀干和頭部的搜索空間,從而提高它們被正確識別的機率;γ(lh)表示需要身體軀干方向接近垂直的先驗;γ(lt)表示需要頭部方向接近垂直的先驗。這樣能夠提高正確識別的概率,也有利于對手臂的姿勢識別,因為身體軀干通過位置先驗ψ對它們的位置進行了控制。
1.2 前景突出
對圖像進行人體上半身姿勢識別時,由于圖像中存在干擾因素,會使得姿勢識別結(jié)果受到影響。因此首先需要對圖像進行預(yù)處理,以消除背景因素的影響。通過輸入檢測框[p,t,w,h](p和t分別表示包含人體的方框的左上角的橫縱坐標值,w和h分別為方框的寬和高)框出圖片中的人體位置,則姿勢估計就在該檢測框中進行,以提高搜索效率。根據(jù)輸入的檢測框產(chǎn)生一個擴大的矩形框。在得到的矩形框內(nèi)對圖像進行初始化Grabcut分割[15-16],分割出前/背景,并細化矩形框內(nèi)的人體所在的范圍,這樣消除了大部分背景雜波。這里的前景即為人體各個身體部位。
1.3 圖像解析
Ramanan提出一個迭代的圖像解析過程[17]。此階段要解析的區(qū)域部分為前景突出輸出的區(qū)域。利用式(1),結(jié)合迭代計算過程就能夠有效地估計人體姿勢。具體方法是利用圖像邊緣特征進行第一次推斷,得到圖像中人體各個身體部位的概率分布Pi(x,y);根據(jù)Pi(x,y)為每個身體部位分別建立前景和背景的顏色直方圖,即可得到每個身體部位的前景直方圖和背景直方圖,這即是一次迭代的過程,通過多次迭代即可得到一個較為準確的值來獲取人體姿勢。
根據(jù)以上幾個步驟,就可對一幅圖像中的人進行上半身動作姿勢識別,得到其骨架模型,生動且準確地表示當前人體的動作特征。具體實現(xiàn)流程見圖2。
圖2 姿勢識別實現(xiàn)效果流程圖
SVM基本模型定義為特征空間上的間隔最大的線性分類器,即其學習策略便是間隔最大化,最終可轉(zhuǎn)化為一個凸二次規(guī)劃問題的求解。SVM方法的核心是支持向量,分類超平面由支持向量完全決定,分類函數(shù)表達式為:
(2)
SVM算法最初是為二值分類問題設(shè)計的,當處理多類問題時,就需要構(gòu)造合適的多類分類器。方法主要有兩類:一類是直接法,另一類是間接法。間接法主要是通過組合多個二分類器來實現(xiàn)多分類器的構(gòu)造,常見的方法有一對多法和一對一法,使用第二種多分類SVM方法來實現(xiàn)對數(shù)據(jù)庫中人體不同動作的分類。
通過對一幅圖像進行人體動作識別后,得到骨架特征,六條線段分別表示身體軀干、頭部、上手臂以及下手臂(見圖2)。得到的人體骨架特征由4×6的矩陣表示,圖2中的骨架特征矩陣如下所示。其中,矩陣列數(shù)據(jù)表示骨架模型中的六條線段,行數(shù)據(jù)表示每條線段上下兩個終點的橫縱坐標值。
身體軀干 左上手臂 右上手臂 左下手臂 右下手臂 頭部
為了校正因距離和位置變化造成的尺度差異,對上面輸出的矩陣數(shù)據(jù)進行圖像歸一化處理,以消除影響。圖片中心點為坐標(0,0),圖片左上角坐標為(-1,-1),圖片右下角坐標為(1,1),對得到的矩陣中的數(shù)據(jù)進行歸一化處理,使所有數(shù)據(jù)在(-1,1)之間,歸一化表達式如式(3)所示。
(3)
其中,m和n分別為線段終點的橫坐標值和縱坐標值;w'為輸入圖片寬度的一半;h'為輸入圖片高度的一半;m'和n'為經(jīng)過歸一化后的數(shù)值。
歸一化后矩陣如下所示:
身體軀干 左上手臂 右上手臂 左下手臂 右下手臂 頭部
用多分類SVM對得到的特征集進行處理時,為便于數(shù)據(jù)處理,將4×6的矩陣轉(zhuǎn)換為1×24的矩陣,即依次為六條線段12個端點的橫縱坐標值,則輸入N幅圖像的特征集表示為N×24的矩陣,動作標簽種類根據(jù)處理動作的種類數(shù)m依次標記為1到m。使用多分類SVM對訓練集訓練后可得到一個分類器,然后使用分類器對測試集圖片進行分類,得到每幅圖像的動作分類結(jié)果。算法實現(xiàn)流程如圖3所示。
圖3 算法實現(xiàn)流程示意圖
提出方法涉及的數(shù)據(jù)庫是對不同人拍攝得到的。包含8個人,每個人8個動作(叉腰1、雙臂舉起2、站立3、右手臂與身體垂直4、左手臂豎直向上5、左手臂與身體垂直6、右手臂抬起7以及走路8,人體可正面可背面,其中雙臂舉起可以是任意高度),每個人同一個動作的圖片為不同角度拍攝,且運動者可調(diào)整距離相機的遠近及偏移距離。每個動作7~12幅圖片,共計608幅,圖片像素為640×480。實驗所用計算機硬件配置為Intel(R) Core(TM) i5-2450@ 2.5 GHz,4.00 GB內(nèi)存,軟件環(huán)境為Windows7操作系統(tǒng),使用MATLAB 2011a編程實現(xiàn)。具體實現(xiàn)步驟如下:
3.1 對數(shù)據(jù)庫中的圖片進行姿勢識別
在姿勢識別中,人體被劃分為6個部位:身體軀干,頭部,左右、上下手臂,通過這些身體部位的動作描述人的行為狀態(tài)。首先輸入檢測框[p,t,w,h](p和t分別表示包含人體的方框的左上角的橫縱坐標值,w和h分別為方框的寬和高)框出圖片中人體位置,經(jīng)過姿勢識別后,得到4段線段銜接起來的人體骨架‘火柴人模型’,如圖4所示。
圖4 人體上半身姿勢識別結(jié)果
3.2 多分類SVM訓練并預(yù)測
對所有圖片經(jīng)過姿勢識別后,將得到的骨架特征數(shù)據(jù)分為訓練集和測試集。選取其中6個人的動作骨架特征用作訓練集,另外2個人的動作骨架特征用來測試分類器的分類準確率,訓練集包含456幅圖片,測試集包含152幅圖片。使用多分類SVM算法對訓練集數(shù)據(jù)進行訓練,得到可以對不同動作進行分類的分類器,并對測試集進行預(yù)測。經(jīng)過訓練得到的分類器對訓練集的分類正確率為100%,然后對測試集中8個不同動作進行分類的準確率為97.36%。8種動作分類準確率的實驗數(shù)據(jù)如表1所示。
表1 8種動作的分類準確率
從實驗結(jié)果可以看出,對于1~7種動作,提出方法都具有較高的分類準確率,第8種動作的分類準確率相對較低。分析原因得知,由于人體動作圖片為各個角度拍攝得到,使得動作1立正休息與動作8走路在某些角度下的姿勢識別得到的骨架模型較為相似,因此將動作8誤分類為動作1,使得其準確率(16/21)有所下降。實驗結(jié)果表明,總的分類準確率達到97.36%,能夠有效應(yīng)對由于相機位置、角度的變化、不同人體高度和肢體差異等因素帶來的影響,具有較高的動作分類準確率。
3.3 Buffy數(shù)據(jù)庫上的分類對比實驗
對特定動作進行分類,文獻[4]中使用提出的三種描述子分別表示人體結(jié)構(gòu)模型。描述子A:部位位置;描述子B:部位方向、相對位置及相對方向;描述子C:部位軟分割,然后使用線性SVM分類出數(shù)據(jù)集中相應(yīng)的動作。其中描述子B具有最好的分類效果。提出方法與其在Buffy數(shù)據(jù)庫上進行動作分類對比實驗。數(shù)據(jù)集中圖片像素為720×405,選取三種動作(包括Hips、Rest以及Folded)進行動作分類效果對比,三種動作的圖片共計60幅。
將得到的Buffy數(shù)據(jù)庫上圖片中人體的骨架特征,使用提出的方法經(jīng)過矩陣歸一化、轉(zhuǎn)化為N×24的矩陣等操作后,用SVM多分類方法訓練特征集并對三種動作進行分類,計算分類準確率;同時使用文獻[4]中B描述子所述方法對Buffy數(shù)據(jù)庫上圖片相應(yīng)動作建立模型,實現(xiàn)對三種動作的分類。兩種算法對這三種動作的分類效果如表2所示。
表2 兩種算法對三種動作的分類 %
從實驗數(shù)據(jù)能夠看出,F(xiàn)olded動作的分類正確率相對較低,分析得知是由于數(shù)據(jù)庫中這個動作的人體姿勢角度變化較多(包括偏左側(cè)立、正面站立以及偏右側(cè)立)和雙臂折疊長短的原因,使得在某些動作下得到的‘火柴人模型’類似于Hips動作,從而使得分類出錯。通過實驗可以看到,文中方法的分類準確率較高,能夠提高圖片檢索效率。
在前人工作的基礎(chǔ)上,有效地實現(xiàn)對人體運動動作的分類。通過對選取的8個常見動作進行姿勢識別,得到能夠有效表示人體運動狀態(tài)的骨架模型,使用多分類SVM的方法對得到的骨架特征進行訓練,從而得到分類器,最終實現(xiàn)對人體動作的分類。同時使用文中方法與文獻[4]中的算法在Buffy數(shù)據(jù)庫上對特定動作進行分類對比。實驗結(jié)果表明,文中方法具有很高的分類準確率,能夠?qū)崿F(xiàn)對人體運動動作的有效分類。
[1] Wang J Z,Gemen D,Luo J,et al.Real-world image annotation and retrieal:an introduction to the special section[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2008,30(11):1873-1876.
[2] Leung M K,Yang Y H.First sight:a human body outline labeling system[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(4):359-377.
[3] Eichner M,Ferrari V.Better appearance models for pictorial structures[C]//British machine vision conference.[s.l.]:[s.n.],2009.
[4] Eichner M,Marin-Jimenez M,Zisserman A,et al.2d articulated human pose estimation and retrieval in (almost) unconstrained still images[J].International Journal of Computer Vision,2012,99(2):190-214.
[5] Kellokumpu V,Pietik?inen M,Heikkil? J.Human activity recognition using sequences of postures[C]//LAPR conference on machine vision applications.Japan:[s.n.],2005:570-573.
[6] Liu Hong,Zhang Qiaoduo.Human action classification based on sequential bag-of-words model[C]//International conference on robotics and biomimetics.[s.l.]:IEEE,2014:2280-2285.
[7] 胡 瓊,秦 磊,黃慶明.基于視覺的人體動作識別綜述[J].計算機學報,2013,36(12):2512-2524.
[8] Sun Qianru,Liu Hong.Learning spatio-temporal co-occurrence correlograms for efficient human action classification[C]//2013 IEEE international conference on image processing.Melbourne:IEEE,2013:3220-3224.
[9] Xiong Ziyou,Radhakrishnan R.Audio events detection based highlights extraction from baseball,golf and soccer games in a unified framework[C]//International conference on acoustics,speech,and signal processing.Hong Kong:Institute of Electrical and Electronics Engineers Inc,2003:632-636.
[10] 張學工.關(guān)于統(tǒng)計學習理論與支持向量機[J].自動化學報,2000,26(1):32-42.
[11] Vapnik V N.Estimation of dependences based on empirical data[M].New York:Springer-Verlag,1982.
[12] Cortes C,Vapnik V.Support-vector networks[J].Machine Learning,1995,20(3):273-297.
[13] Hsu C W,Lin C J.A comparison of methods for multi-class support vector machines[J].IEEE Transactions on Neural Networks,2002,13(2):415-425.
[14] 相 潔,陳俊杰.基于SVM的FMRI數(shù)據(jù)分類:一種解碼思維的方法[J].計算機研究與發(fā)展,2010,47(2):286-291.
[15] Rother C,Minka T.Grabcut:interactive foreground extraction using iterated graph cuts[J].ACM Transactions on Graphics,2004,23(3):307-312.
[17] Sch?lkopf B,Platt J,Hofmann T.Learning to parse images of articulated bodies[C]//Conference on advances in neural information processing systems.[s.l.]:[s.n.],2007:1129-1136.
Investigation on Human Action Classification Based on Skeleton Features
YU Jing1,GE Jun1,GUO Lin2
(1.School of Communication and Information Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210003,China;2.School of Internet of Things,Nanjing University of Posts and Telecommunications,Nanjing 210003,China)
In order to find the desired pictures quickly in the abundant and complex network information,a method for human upper-body action classification based on skeleton features is proposed to improve the efficiency of the corresponding pictures.It does the pose estimation for the image of human motion,acquires the “stickman” (skeleton features) representation of the location,orientation,and size of body parts,and describes the skeleton features with matrix form.In order to correct the scale differences caused by distance and position changes,the feature matrix is normalized.Then the multi-classification SVM is used to train the skeleton features and obtain the classifier which can classify different actions.The images of human motion collected are as the test data for experiments which show that its classification accuracy reaches 97.78% and it can do well in human action classification.At the same time,an image retrieval contrast experiment is done on the Buffy database,which show that it has higher classification accuracy and enhance image retrieval efficiency better.
action classification;pose estimation;skeleton features;multi-class SVM
2016-10-10
2017-01-13 網(wǎng)絡(luò)出版時間:2017-07-05
江蘇省自然科學基金(BK20130883);南京郵電大學引進人才科研啟動基金(NY212016,NY214189)
庾 晶(1991-),女,碩士研究生,研究方向為圖像處理;葛 軍,博士,講師,碩士生導(dǎo)師,研究方向為圖像處理、科學可視化。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170705.1653.084.html
TP391
A
1673-629X(2017)08-0083-05
10.3969/j.issn.1673-629X.2017.08.017