劉 飛,郝礦榮,b,丁永生,b,劉 歡
(東華大學(xué)a.信息科學(xué)與技術(shù)學(xué)院;b.數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)
人們在與外界進(jìn)行交互的過程中,除了通過語言交流,還常常借助肢體語言,即通過動作行為傳遞信息。計算機(jī)視覺的研究目標(biāo)之一就是理解人體動作行為的含義。人體行為識別分析從低到高可分為3 個層次:姿態(tài)識別,動作識別,行為識別。姿態(tài)識別是動作行為分析的基礎(chǔ)。動作可以看作是一組關(guān)鍵姿態(tài)的時間序列。復(fù)雜的行為可分解為一組簡單的動作,其中也包含了與周圍環(huán)境的交互。在人體動作識別研究中,通??紤]2 個主要問題:傳感器的數(shù)據(jù)采集和人體動作的建?!,F(xiàn)有的大部分文獻(xiàn)中采用普通攝像機(jī)獲取二維圖像,文獻(xiàn)[1]提取人體輪廓的形狀信息建立姿態(tài)模型,文獻(xiàn)[2]提取視頻圖像中時空興趣點并設(shè)計了級聯(lián)分類器進(jìn)行動作識別,而文獻(xiàn)[3]雖然也提取輪廓信息,但采用了差分圖像傳感器簡化了背景分割的圖像預(yù)處理工作,從硬件上提高了算法的實時性。
然而,動作識別研究仍面臨諸多問題。例如,復(fù)雜背景下人體的定位與跟蹤,雖然可以通過背景建模分割人體,但不同的光照環(huán)境仍會影響分割效果;二維圖像中人體運動過程中的自遮擋現(xiàn)象,這大大限制了基于單目攝像機(jī)動作識別的性能;對于多目攝像機(jī)而言[4-5],雖然它能解決遮擋問題并且具有視角不變性、提高識別準(zhǔn)確率等優(yōu)勢,卻也面臨著復(fù)雜的數(shù)據(jù)融合等圖像后處理工作,而且昂貴的儀器設(shè)備也是無法忽略的問題。
近兩年來,基于深度圖像的動作識別研究得到了廣泛關(guān)注[6-9]。首先,深度圖像提供空間深度數(shù)據(jù),對環(huán)境中的顏色、紋理和光照不敏感,可以很好地應(yīng)對復(fù)雜背景。此外,相對二維圖像,深度圖像包含了豐富的三維空間信息。本文方法正是基于深度圖像,從中提取有用信息進(jìn)行人體動作的識別。
人體的骨架模型不僅包含了形狀信息,還包含了物體的結(jié)構(gòu)拓?fù)湫畔ⅰH绻軓纳疃葓D像準(zhǔn)確提取并跟蹤關(guān)節(jié)點,就可以構(gòu)建出3D 人體骨架,文獻(xiàn)[10]表明可以從單一深度圖像實時地進(jìn)行姿態(tài)估計和識別人體關(guān)節(jié)點。本文利用微軟的Kinect 設(shè)備對動作進(jìn)行捕捉,相對于其他深度圖像采集設(shè)備,Kinect 在姿態(tài)估計有較強(qiáng)的優(yōu)勢[11],利用它可獲取20 個空間骨架關(guān)節(jié)點,如圖1 所示。
圖1 Kinect 骨架關(guān)節(jié)點示意圖
人體動作識別本質(zhì)是一個模式分類問題,那么就可以從特征提取和分類器設(shè)計2 個方面去解決。根據(jù)文獻(xiàn)[12]的啟發(fā),若將人體骨架視作剛體,四肢運動過程中的空間位置是由運動關(guān)節(jié)旋轉(zhuǎn)特性決定的。因此,分析靜態(tài)姿態(tài)下骨架的關(guān)節(jié)角度特征,如圖2(a)所示。本文著重研究肩、肘、髖、膝關(guān)節(jié)和軀干這些占主導(dǎo)的運動因素,忽略手和腳等細(xì)節(jié)部分。
按照關(guān)節(jié)自由度的大致劃分,肩和髖關(guān)節(jié)是3-DOF,本文用局部球坐標(biāo)系表示,具體變量定義如圖2(b)所示。矢量Or 代表人體正面朝向,矢量Ov代表某一肢體指向的空間方向,矢量Or'和矢量Ov'表示其在水平面π 上的投影。按照球坐標(biāo)系的定義,方位角定義為Or'逆時針到Ov'的角度θ,仰角定義為Ov 到ON 的角度φ,所以肩和髖關(guān)節(jié)角度特征定義為Shoulder&Hip={θ,φ}。
圖2 關(guān)節(jié)角度特征
對于肘和膝關(guān)節(jié)而言,由于骨架模型無法體現(xiàn)肢體的自身旋轉(zhuǎn)特性,因此自由度是1-DOF,并在圖3所示的平面定義其角度特征,即Elbow&Knee={α}。在特征表示中,不使用徑向距離,使得人體特征具有尺度不變性。
圖3 肘和膝關(guān)節(jié)角度所在平面示意圖
此外本文也考慮了人體運動在冠狀面和矢狀面的傾斜角度Co&Sa={β},因此本文定義的人體關(guān)節(jié)角度為:其中,L/R 表示Left/Right;S/E/H/K 分別表示肩/肘/髖/膝;Co/Sa 表示冠狀面和矢狀面,即一組16 維特征向量。
動作可視作一系列靜態(tài)姿態(tài)的組合,這意味著動作的表達(dá)具有時間持續(xù)屬性。在人體運動過程當(dāng)中,關(guān)節(jié)角度會隨著時間變化產(chǎn)生關(guān)節(jié)角度變化曲線,即關(guān)節(jié)角度時間序列。如同人體運動過程中四肢末端的運動軌跡一樣,該關(guān)節(jié)角度曲線可以反映動作的變化趨勢。本文采用關(guān)節(jié)角度時間序列作為人體運動特征,假設(shè)某一動作的持續(xù)時間為T,則運動特征定義為:
其中,Ai行向量表示某一關(guān)節(jié)角度的時間序列;M(M∈[1,16])表示式(1)定義的特征數(shù)量,可根據(jù)實際需求選擇部分或全部特征。
行向量Ai可以視作時變的一維信號,從而動作識別可以簡單地看作是時變特征數(shù)據(jù)的分類問題。通過大量實驗數(shù)據(jù)分析發(fā)現(xiàn),在允許測試者運動自由性存在的情況下:同一動作下的曲線波形和幅值相近,曲線之間有偏移;不同動作下波形和幅值不同,不排除某些Ai相近的可能性;但兩者的共性是曲線長度可不同,前者表現(xiàn)在同一動作不同人執(zhí)行的快慢,后者表現(xiàn)在不同動作之間本身的差異。從模式識別的角度分析,上述特點可作為動作類別區(qū)分的判據(jù)。假設(shè)以LS-φ 角度序列為例,如圖4 所示。
圖4 LS-φ 序列的對比情況
圖4(a)展示了同一動作下3 個測試者的角度序列對比情況,圖4(b)展示了同一個測試者3 種不同動作的角度序列對比情況。因此,本文通過比較時間序列的相似度進(jìn)行動作識別,換一個思路來說,需要比較不同長度向量之間的距離來進(jìn)行判斷。
比較曲線之間的相似度,更多關(guān)注地是序列的變化趨勢,然而由于攝像機(jī)和測試者等的不確定性噪音影響,會產(chǎn)生數(shù)據(jù)的變差和不必要的波動。本文采用n 階移動平均對序列進(jìn)行光滑處理:
其中,xi表示序列中第i 個時間點的關(guān)節(jié)角度值。
動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)算法基于動態(tài)規(guī)劃的思想,其目的就是尋找2 個長度不同的測試樣本和參考模板之間的最短距離和最優(yōu)匹配路徑。假參考時間序列R={r1,r2,…,ri,…,rL1}和測試樣本T={t1,t2,…,tj,…,tL2},ri和tj表示時間點的關(guān)節(jié)角度值,L1和L2表示向量長度,則向量R 和T 非線性匹配時的累計距離矩陣D(i,j)為:
其中,d(ri,tj)是ri和tj的距離函數(shù),通常取歐式距離,則 D (L1,L2)即為 R 和 T 的最短距離。D(L1,L2)越小,R 和T 的距離越近,相似度越大。
如果DTW 試圖校準(zhǔn)2 條相似的時間序列,對于那些影響序列的整體性差異,如均值、偏移和幅值等,該算法是有效的。然而,當(dāng)2 條序列對應(yīng)的Y 軸值有明顯的局部差異時,DTW 算法將會出現(xiàn)問題。實際上,傳統(tǒng)的DTW 的缺點在于它計算時所考慮的特征,通常它只考慮數(shù)據(jù)點上的Y 軸值。例如,2 條時間序列上的點ri和tj的Y 值相同,但是ri是在序列的上坡,而tj在序列的下坡,這2 點不應(yīng)該進(jìn)行映射,可DTW 確實是這樣做的。
為了避免這些問題,本文對傳統(tǒng)的DTW 進(jìn)行改進(jìn)。本文在ri和tj的基礎(chǔ)上,分別構(gòu)造一個三維向量來重新定義d(ri,tj)來替代原來的歐式距離,即和,其中一階近似導(dǎo)數(shù)和二階近似導(dǎo)數(shù)分別為:可以提供序列的形狀信息,還可減少不同趨勢上的點的錯誤映射??梢蕴峁└嗟男畔ⅲ缱畲笾?、最小值和折點。ri同樣需要保留,因為和易對噪聲敏感,而ri相對穩(wěn)定,有利于映射的準(zhǔn)確性。因此,本文中的d(ri,tj)定義為:
為了保證一階導(dǎo)和二階導(dǎo)在分類中的作用,w1~w3 遵循如下原則:
傳統(tǒng)DTW 算法和本文改進(jìn)DTW 算法的對比效果如圖5 所示,可以發(fā)現(xiàn)改進(jìn)DTW 算法的映射準(zhǔn)確性明顯提高。
圖5 改進(jìn)的DTW 算法效果
假設(shè)根據(jù)式(2),現(xiàn)有運動模板特征矩陣AR=(R1,R2,…Rk,…,RM)T和待測樣本特征矩陣AT={T1,T2,…,Tk,…,TM}T,Rk和Tk(k∈[1,M])為行向量,向量長度不同。假設(shè)Dk表示Rk和Tk的改進(jìn)的DTW 的距離,則AR 和AT 的距離為:
再求期望距離:
其中,wk為相應(yīng)的權(quán)重。假設(shè)參考模板庫中有C 類模板,給定一個測試樣本AT,使得ED 取得最小值的模板對應(yīng)的動作類別作為識別結(jié)果,即:
通過關(guān)節(jié)點空間坐標(biāo),可在Matlab 上進(jìn)行骨架重建,如圖6 所示,其中身前的矢量箭頭表示人體正面朝向,提取的關(guān)節(jié)角度值如表1 所示。結(jié)果顯示,深度圖像可以很好地應(yīng)對圖6(a)中復(fù)雜背景和光照不均的環(huán)境。
圖6 Matlab 骨架重建效果
表1 靜態(tài)姿態(tài)下的關(guān)節(jié)角度特征 (°)
本文首先在自己準(zhǔn)備的人體動作數(shù)據(jù)庫(簡稱數(shù)據(jù)庫A)進(jìn)行算法的驗證,其中包含了室內(nèi)采集的6 種動作,動作1~動作6 如圖7(a)~圖7(e)所示。每種動作由6 人完成,每人重復(fù)5 次,前3 次正對攝像頭,后2 次分別以±45°角面對攝像頭,采集速率為30 幀/s,共180 組動作樣本,約6 300 幀數(shù)據(jù)。
本文隨機(jī)選取1/6 樣本作為參考模板,5/6 作為測試樣本,共測試6 次,取均值作為最終測試結(jié)果。本文選用式(1)的全部特征即M=16,為了簡單起見,式(7)中w1=1,w2=2,w3=3,式(10)中的權(quán)重均取1/16。所有程序均在Matlab2009 上運行,CPU為Intel Core i3,匹配運行時間為0.5 s~0.8 s。數(shù)據(jù)庫A 的識別效果如表2 所示,并與傳統(tǒng)DTW 的效果進(jìn)行比較。
本文算法對數(shù)據(jù)庫A 平均識別率達(dá)到了98.32%,但也發(fā)現(xiàn),不同動作之間曲線波形的相似性可能會導(dǎo)致動作的誤判。這是因為實際環(huán)境中測試者執(zhí)行的是自然人體動作,必須容忍動作的隨意性和自由性。此外,為了驗證深度圖像在應(yīng)對自遮擋現(xiàn)象的效果,本文也進(jìn)行了對比,如圖8 所示,其中,0°表示測試者正對攝像頭。可以發(fā)現(xiàn)當(dāng)測試者以±45°面對攝像頭時仍有較高的識別率。
圖7 6 種動作示意圖
表2 數(shù)據(jù)庫A 的動作識別效果 %
圖8 自遮擋情況下識別效果的對比
為了驗證本文算法的魯棒性,本文還在MSR Action3D 數(shù)據(jù)庫(簡稱數(shù)據(jù)庫B)上進(jìn)行測試,并與文獻(xiàn)[8]進(jìn)行了對比,對比結(jié)果如表3 所示,動作集分類和測試方法參照文獻(xiàn)[8]。
文獻(xiàn)[8]中Test One 取1/3 作為訓(xùn)練樣本,本文則作為參考模板;Test Two 取2/3 作為訓(xùn)練樣本;Cross Subject Test 取半數(shù)測試者作為訓(xùn)練樣本。同樣本文方法共測試6 次,取均值作為最終測試結(jié)果。通過表3 發(fā)現(xiàn),隨著Test Two 的模板數(shù)量的增加,識別率提高,但同時也會增加運算時間代價,經(jīng)統(tǒng)計在Test Two 中匹配時間提高到0.7 s~1.2 s。相比表2,表3的整體效果下降,這是因為數(shù)據(jù)庫B 包含的動作種類復(fù)雜多樣,測試者動作的隨意性和自由性更大,增加了識別難度。另外,雖然對于Test One/Two 中的AS3,本文的識別比文獻(xiàn)[8]低,但仍足以保證總體平均識別率高于文獻(xiàn)[8],尤其在Cross Subject 中,本文的算法優(yōu)勢明顯高于文獻(xiàn)[8]。
表3 數(shù)據(jù)庫B 的識別效果 %
與彩色圖像相比,深度圖像不會有光照、陰影、以及環(huán)境變化的干擾,并且在一定程度上解決物體遮擋的問題。本文利用深度圖像的特點,進(jìn)行人體動作識別。通過深度圖像獲得骨架模型,提取特征模型,利用改進(jìn)的DTW 算法進(jìn)行模板匹配,實驗結(jié)果表明本文方法獲得了較好的識別效果。
然而,深度圖像的采集是有距離限制的,單一深度圖像仍會有視覺死角,難以應(yīng)對更加復(fù)雜的識別任務(wù)。因此,在今后的研究工作中,希望利用多個Kinect 進(jìn)行運動捕捉,通過數(shù)據(jù)融合構(gòu)建出更為準(zhǔn)確的特征模型。此外,DTW 算法并不能應(yīng)用與所有的分類場景,況且隨著模板數(shù)量的不斷增加,匹配時間代價也將是巨大的,今后將繼續(xù)對分類算法進(jìn)行研究和改進(jìn)。
[1]鄧甜甜,王智靈,朱明清,等.基于輪廓圖像空頻域特征的人體姿態(tài)分層識別算法[J].模式識別與人工智能,2011,24(3):411-416.
[2]彭江平.基于級聯(lián)結(jié)構(gòu)的人體動作識別方法[J].計算機(jī)應(yīng)用,2012,32(6):1578-1580.
[3]Chen Shoushun,Martini B,Culurciello E.A Bio-inspired Event-based Size and Position Invariant Human Posture Recognition Algorithm[C]//Proc.of IEEE International Symposium on Circuits and Systems.Taipei,China:[s.n.],2009:775-778.
[4]Le H,Thuc U,Tuan P V,et al.An Effective 3D Geometric Relational Feature Descriptor for Human Action Recognition[C]//Proc.of IEEE International Conference on Computing and Communication Technologies,Research,Innovation,and Vision for the Future.Ho Chi Minh City,Vietnam:[s.n.],2012:1-6.
[5]Lee Y,Jung K.Non-temporal Multiple Silhouettes in Hidden Markov Model for View Independent Posture Recognition[C]//Proc.of IEEE International Conference on Computer Engineering and Technology.Singapore:[s.n.],2009:466-470.
[6]曹雛清,李瑞峰,趙立軍.基于深度圖像技術(shù)的手勢識別方法[J].計算機(jī)工程,2012,38(8):16-18,21.
[7]林 鵬,張 超,李竹良,等.基于深度圖像學(xué)習(xí)的人體部位識別[J].計算機(jī)工程,2012,38(16):185-188.
[8]Li Wangqing,Zhang Zhengyou,Liu Zicheng.Action Recognition Based on a Bag of 3D Points[C]//Proc.of IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.San Francisco,USA:[s.n.],2010:9-14.
[9]Wang Jiang,Liu Zicheng,Wu Ying,et al.Mining Actionlet Ensemble for Action Recognition with Depth Cameras[C]//Proc.of International Conference on Computer Vision and Pattern Recognition.Providence,USA:[s.n.],America,2012:1290-1297.
[10]Shotton J,F(xiàn)itzgibbon A,Cook M,et al.Real-time Human Pose Recognition in Parts from Single Depth Images[C]//Proc.of CVPR' 11.Colorado Spring,USA:1715-1732.
[11]Obdrzalek S,Kurillo G,Ofli F,et al.Accuracy and Robustness of Kinect Pose Estimation in the Context of Coaching of Elderly Population [C]//Proc.of International Conference on Engineering in Medicine and Biology Society.San Diego,USA:[s.n.],2012:1188-1193.
[12]Yang Jialun,Gao Feng,Guo Weizhong.Classification of Motion Patterns for Robot Manipulators[C]//Proc.of International Conference on Reconfigurable Mechnanisms and Robots.London,UK:[s.n.],2009:54-57.