劉 飛,郝礦榮,b,丁永生,b,劉 歡
(東華大學(xué)a.信息科學(xué)與技術(shù)學(xué)院;b.數(shù)字化紡織服裝技術(shù)教育部工程研究中心,上海 201620)
人們?cè)谂c外界進(jìn)行交互的過程中,除了通過語言交流,還常常借助肢體語言,即通過動(dòng)作行為傳遞信息。計(jì)算機(jī)視覺的研究目標(biāo)之一就是理解人體動(dòng)作行為的含義。人體行為識(shí)別分析從低到高可分為3 個(gè)層次:姿態(tài)識(shí)別,動(dòng)作識(shí)別,行為識(shí)別。姿態(tài)識(shí)別是動(dòng)作行為分析的基礎(chǔ)。動(dòng)作可以看作是一組關(guān)鍵姿態(tài)的時(shí)間序列。復(fù)雜的行為可分解為一組簡(jiǎn)單的動(dòng)作,其中也包含了與周圍環(huán)境的交互。在人體動(dòng)作識(shí)別研究中,通??紤]2 個(gè)主要問題:傳感器的數(shù)據(jù)采集和人體動(dòng)作的建模?,F(xiàn)有的大部分文獻(xiàn)中采用普通攝像機(jī)獲取二維圖像,文獻(xiàn)[1]提取人體輪廓的形狀信息建立姿態(tài)模型,文獻(xiàn)[2]提取視頻圖像中時(shí)空興趣點(diǎn)并設(shè)計(jì)了級(jí)聯(lián)分類器進(jìn)行動(dòng)作識(shí)別,而文獻(xiàn)[3]雖然也提取輪廓信息,但采用了差分圖像傳感器簡(jiǎn)化了背景分割的圖像預(yù)處理工作,從硬件上提高了算法的實(shí)時(shí)性。
然而,動(dòng)作識(shí)別研究仍面臨諸多問題。例如,復(fù)雜背景下人體的定位與跟蹤,雖然可以通過背景建模分割人體,但不同的光照環(huán)境仍會(huì)影響分割效果;二維圖像中人體運(yùn)動(dòng)過程中的自遮擋現(xiàn)象,這大大限制了基于單目攝像機(jī)動(dòng)作識(shí)別的性能;對(duì)于多目攝像機(jī)而言[4-5],雖然它能解決遮擋問題并且具有視角不變性、提高識(shí)別準(zhǔn)確率等優(yōu)勢(shì),卻也面臨著復(fù)雜的數(shù)據(jù)融合等圖像后處理工作,而且昂貴的儀器設(shè)備也是無法忽略的問題。
近兩年來,基于深度圖像的動(dòng)作識(shí)別研究得到了廣泛關(guān)注[6-9]。首先,深度圖像提供空間深度數(shù)據(jù),對(duì)環(huán)境中的顏色、紋理和光照不敏感,可以很好地應(yīng)對(duì)復(fù)雜背景。此外,相對(duì)二維圖像,深度圖像包含了豐富的三維空間信息。本文方法正是基于深度圖像,從中提取有用信息進(jìn)行人體動(dòng)作的識(shí)別。
人體的骨架模型不僅包含了形狀信息,還包含了物體的結(jié)構(gòu)拓?fù)湫畔?。如果能從深度圖像準(zhǔn)確提取并跟蹤關(guān)節(jié)點(diǎn),就可以構(gòu)建出3D 人體骨架,文獻(xiàn)[10]表明可以從單一深度圖像實(shí)時(shí)地進(jìn)行姿態(tài)估計(jì)和識(shí)別人體關(guān)節(jié)點(diǎn)。本文利用微軟的Kinect 設(shè)備對(duì)動(dòng)作進(jìn)行捕捉,相對(duì)于其他深度圖像采集設(shè)備,Kinect 在姿態(tài)估計(jì)有較強(qiáng)的優(yōu)勢(shì)[11],利用它可獲取20 個(gè)空間骨架關(guān)節(jié)點(diǎn),如圖1 所示。
圖1 Kinect 骨架關(guān)節(jié)點(diǎn)示意圖
人體動(dòng)作識(shí)別本質(zhì)是一個(gè)模式分類問題,那么就可以從特征提取和分類器設(shè)計(jì)2 個(gè)方面去解決。根據(jù)文獻(xiàn)[12]的啟發(fā),若將人體骨架視作剛體,四肢運(yùn)動(dòng)過程中的空間位置是由運(yùn)動(dòng)關(guān)節(jié)旋轉(zhuǎn)特性決定的。因此,分析靜態(tài)姿態(tài)下骨架的關(guān)節(jié)角度特征,如圖2(a)所示。本文著重研究肩、肘、髖、膝關(guān)節(jié)和軀干這些占主導(dǎo)的運(yùn)動(dòng)因素,忽略手和腳等細(xì)節(jié)部分。
按照關(guān)節(jié)自由度的大致劃分,肩和髖關(guān)節(jié)是3-DOF,本文用局部球坐標(biāo)系表示,具體變量定義如圖2(b)所示。矢量Or 代表人體正面朝向,矢量Ov代表某一肢體指向的空間方向,矢量Or'和矢量Ov'表示其在水平面π 上的投影。按照球坐標(biāo)系的定義,方位角定義為Or'逆時(shí)針到Ov'的角度θ,仰角定義為Ov 到ON 的角度φ,所以肩和髖關(guān)節(jié)角度特征定義為Shoulder&Hip={θ,φ}。
圖2 關(guān)節(jié)角度特征
對(duì)于肘和膝關(guān)節(jié)而言,由于骨架模型無法體現(xiàn)肢體的自身旋轉(zhuǎn)特性,因此自由度是1-DOF,并在圖3所示的平面定義其角度特征,即Elbow&Knee={α}。在特征表示中,不使用徑向距離,使得人體特征具有尺度不變性。
圖3 肘和膝關(guān)節(jié)角度所在平面示意圖
此外本文也考慮了人體運(yùn)動(dòng)在冠狀面和矢狀面的傾斜角度Co&Sa={β},因此本文定義的人體關(guān)節(jié)角度為:其中,L/R 表示Left/Right;S/E/H/K 分別表示肩/肘/髖/膝;Co/Sa 表示冠狀面和矢狀面,即一組16 維特征向量。
動(dòng)作可視作一系列靜態(tài)姿態(tài)的組合,這意味著動(dòng)作的表達(dá)具有時(shí)間持續(xù)屬性。在人體運(yùn)動(dòng)過程當(dāng)中,關(guān)節(jié)角度會(huì)隨著時(shí)間變化產(chǎn)生關(guān)節(jié)角度變化曲線,即關(guān)節(jié)角度時(shí)間序列。如同人體運(yùn)動(dòng)過程中四肢末端的運(yùn)動(dòng)軌跡一樣,該關(guān)節(jié)角度曲線可以反映動(dòng)作的變化趨勢(shì)。本文采用關(guān)節(jié)角度時(shí)間序列作為人體運(yùn)動(dòng)特征,假設(shè)某一動(dòng)作的持續(xù)時(shí)間為T,則運(yùn)動(dòng)特征定義為:
其中,Ai行向量表示某一關(guān)節(jié)角度的時(shí)間序列;M(M∈[1,16])表示式(1)定義的特征數(shù)量,可根據(jù)實(shí)際需求選擇部分或全部特征。
行向量Ai可以視作時(shí)變的一維信號(hào),從而動(dòng)作識(shí)別可以簡(jiǎn)單地看作是時(shí)變特征數(shù)據(jù)的分類問題。通過大量實(shí)驗(yàn)數(shù)據(jù)分析發(fā)現(xiàn),在允許測(cè)試者運(yùn)動(dòng)自由性存在的情況下:同一動(dòng)作下的曲線波形和幅值相近,曲線之間有偏移;不同動(dòng)作下波形和幅值不同,不排除某些Ai相近的可能性;但兩者的共性是曲線長(zhǎng)度可不同,前者表現(xiàn)在同一動(dòng)作不同人執(zhí)行的快慢,后者表現(xiàn)在不同動(dòng)作之間本身的差異。從模式識(shí)別的角度分析,上述特點(diǎn)可作為動(dòng)作類別區(qū)分的判據(jù)。假設(shè)以LS-φ 角度序列為例,如圖4 所示。
圖4 LS-φ 序列的對(duì)比情況
圖4(a)展示了同一動(dòng)作下3 個(gè)測(cè)試者的角度序列對(duì)比情況,圖4(b)展示了同一個(gè)測(cè)試者3 種不同動(dòng)作的角度序列對(duì)比情況。因此,本文通過比較時(shí)間序列的相似度進(jìn)行動(dòng)作識(shí)別,換一個(gè)思路來說,需要比較不同長(zhǎng)度向量之間的距離來進(jìn)行判斷。
比較曲線之間的相似度,更多關(guān)注地是序列的變化趨勢(shì),然而由于攝像機(jī)和測(cè)試者等的不確定性噪音影響,會(huì)產(chǎn)生數(shù)據(jù)的變差和不必要的波動(dòng)。本文采用n 階移動(dòng)平均對(duì)序列進(jìn)行光滑處理:
其中,xi表示序列中第i 個(gè)時(shí)間點(diǎn)的關(guān)節(jié)角度值。
動(dòng)態(tài)時(shí)間規(guī)整(Dynamic Time Warping,DTW)算法基于動(dòng)態(tài)規(guī)劃的思想,其目的就是尋找2 個(gè)長(zhǎng)度不同的測(cè)試樣本和參考模板之間的最短距離和最優(yōu)匹配路徑。假參考時(shí)間序列R={r1,r2,…,ri,…,rL1}和測(cè)試樣本T={t1,t2,…,tj,…,tL2},ri和tj表示時(shí)間點(diǎn)的關(guān)節(jié)角度值,L1和L2表示向量長(zhǎng)度,則向量R 和T 非線性匹配時(shí)的累計(jì)距離矩陣D(i,j)為:
其中,d(ri,tj)是ri和tj的距離函數(shù),通常取歐式距離,則 D (L1,L2)即為 R 和 T 的最短距離。D(L1,L2)越小,R 和T 的距離越近,相似度越大。
如果DTW 試圖校準(zhǔn)2 條相似的時(shí)間序列,對(duì)于那些影響序列的整體性差異,如均值、偏移和幅值等,該算法是有效的。然而,當(dāng)2 條序列對(duì)應(yīng)的Y 軸值有明顯的局部差異時(shí),DTW 算法將會(huì)出現(xiàn)問題。實(shí)際上,傳統(tǒng)的DTW 的缺點(diǎn)在于它計(jì)算時(shí)所考慮的特征,通常它只考慮數(shù)據(jù)點(diǎn)上的Y 軸值。例如,2 條時(shí)間序列上的點(diǎn)ri和tj的Y 值相同,但是ri是在序列的上坡,而tj在序列的下坡,這2 點(diǎn)不應(yīng)該進(jìn)行映射,可DTW 確實(shí)是這樣做的。
為了避免這些問題,本文對(duì)傳統(tǒng)的DTW 進(jìn)行改進(jìn)。本文在ri和tj的基礎(chǔ)上,分別構(gòu)造一個(gè)三維向量來重新定義d(ri,tj)來替代原來的歐式距離,即和,其中一階近似導(dǎo)數(shù)和二階近似導(dǎo)數(shù)分別為:可以提供序列的形狀信息,還可減少不同趨勢(shì)上的點(diǎn)的錯(cuò)誤映射??梢蕴峁└嗟男畔?,如最大值、最小值和折點(diǎn)。ri同樣需要保留,因?yàn)楹鸵讓?duì)噪聲敏感,而ri相對(duì)穩(wěn)定,有利于映射的準(zhǔn)確性。因此,本文中的d(ri,tj)定義為:
為了保證一階導(dǎo)和二階導(dǎo)在分類中的作用,w1~w3 遵循如下原則:
傳統(tǒng)DTW 算法和本文改進(jìn)DTW 算法的對(duì)比效果如圖5 所示,可以發(fā)現(xiàn)改進(jìn)DTW 算法的映射準(zhǔn)確性明顯提高。
圖5 改進(jìn)的DTW 算法效果
假設(shè)根據(jù)式(2),現(xiàn)有運(yùn)動(dòng)模板特征矩陣AR=(R1,R2,…Rk,…,RM)T和待測(cè)樣本特征矩陣AT={T1,T2,…,Tk,…,TM}T,Rk和Tk(k∈[1,M])為行向量,向量長(zhǎng)度不同。假設(shè)Dk表示Rk和Tk的改進(jìn)的DTW 的距離,則AR 和AT 的距離為:
再求期望距離:
其中,wk為相應(yīng)的權(quán)重。假設(shè)參考模板庫(kù)中有C 類模板,給定一個(gè)測(cè)試樣本AT,使得ED 取得最小值的模板對(duì)應(yīng)的動(dòng)作類別作為識(shí)別結(jié)果,即:
通過關(guān)節(jié)點(diǎn)空間坐標(biāo),可在Matlab 上進(jìn)行骨架重建,如圖6 所示,其中身前的矢量箭頭表示人體正面朝向,提取的關(guān)節(jié)角度值如表1 所示。結(jié)果顯示,深度圖像可以很好地應(yīng)對(duì)圖6(a)中復(fù)雜背景和光照不均的環(huán)境。
圖6 Matlab 骨架重建效果
表1 靜態(tài)姿態(tài)下的關(guān)節(jié)角度特征 (°)
本文首先在自己準(zhǔn)備的人體動(dòng)作數(shù)據(jù)庫(kù)(簡(jiǎn)稱數(shù)據(jù)庫(kù)A)進(jìn)行算法的驗(yàn)證,其中包含了室內(nèi)采集的6 種動(dòng)作,動(dòng)作1~動(dòng)作6 如圖7(a)~圖7(e)所示。每種動(dòng)作由6 人完成,每人重復(fù)5 次,前3 次正對(duì)攝像頭,后2 次分別以±45°角面對(duì)攝像頭,采集速率為30 幀/s,共180 組動(dòng)作樣本,約6 300 幀數(shù)據(jù)。
本文隨機(jī)選取1/6 樣本作為參考模板,5/6 作為測(cè)試樣本,共測(cè)試6 次,取均值作為最終測(cè)試結(jié)果。本文選用式(1)的全部特征即M=16,為了簡(jiǎn)單起見,式(7)中w1=1,w2=2,w3=3,式(10)中的權(quán)重均取1/16。所有程序均在Matlab2009 上運(yùn)行,CPU為Intel Core i3,匹配運(yùn)行時(shí)間為0.5 s~0.8 s。數(shù)據(jù)庫(kù)A 的識(shí)別效果如表2 所示,并與傳統(tǒng)DTW 的效果進(jìn)行比較。
本文算法對(duì)數(shù)據(jù)庫(kù)A 平均識(shí)別率達(dá)到了98.32%,但也發(fā)現(xiàn),不同動(dòng)作之間曲線波形的相似性可能會(huì)導(dǎo)致動(dòng)作的誤判。這是因?yàn)閷?shí)際環(huán)境中測(cè)試者執(zhí)行的是自然人體動(dòng)作,必須容忍動(dòng)作的隨意性和自由性。此外,為了驗(yàn)證深度圖像在應(yīng)對(duì)自遮擋現(xiàn)象的效果,本文也進(jìn)行了對(duì)比,如圖8 所示,其中,0°表示測(cè)試者正對(duì)攝像頭??梢园l(fā)現(xiàn)當(dāng)測(cè)試者以±45°面對(duì)攝像頭時(shí)仍有較高的識(shí)別率。
圖7 6 種動(dòng)作示意圖
表2 數(shù)據(jù)庫(kù)A 的動(dòng)作識(shí)別效果 %
圖8 自遮擋情況下識(shí)別效果的對(duì)比
為了驗(yàn)證本文算法的魯棒性,本文還在MSR Action3D 數(shù)據(jù)庫(kù)(簡(jiǎn)稱數(shù)據(jù)庫(kù)B)上進(jìn)行測(cè)試,并與文獻(xiàn)[8]進(jìn)行了對(duì)比,對(duì)比結(jié)果如表3 所示,動(dòng)作集分類和測(cè)試方法參照文獻(xiàn)[8]。
文獻(xiàn)[8]中Test One 取1/3 作為訓(xùn)練樣本,本文則作為參考模板;Test Two 取2/3 作為訓(xùn)練樣本;Cross Subject Test 取半數(shù)測(cè)試者作為訓(xùn)練樣本。同樣本文方法共測(cè)試6 次,取均值作為最終測(cè)試結(jié)果。通過表3 發(fā)現(xiàn),隨著Test Two 的模板數(shù)量的增加,識(shí)別率提高,但同時(shí)也會(huì)增加運(yùn)算時(shí)間代價(jià),經(jīng)統(tǒng)計(jì)在Test Two 中匹配時(shí)間提高到0.7 s~1.2 s。相比表2,表3的整體效果下降,這是因?yàn)閿?shù)據(jù)庫(kù)B 包含的動(dòng)作種類復(fù)雜多樣,測(cè)試者動(dòng)作的隨意性和自由性更大,增加了識(shí)別難度。另外,雖然對(duì)于Test One/Two 中的AS3,本文的識(shí)別比文獻(xiàn)[8]低,但仍足以保證總體平均識(shí)別率高于文獻(xiàn)[8],尤其在Cross Subject 中,本文的算法優(yōu)勢(shì)明顯高于文獻(xiàn)[8]。
表3 數(shù)據(jù)庫(kù)B 的識(shí)別效果 %
與彩色圖像相比,深度圖像不會(huì)有光照、陰影、以及環(huán)境變化的干擾,并且在一定程度上解決物體遮擋的問題。本文利用深度圖像的特點(diǎn),進(jìn)行人體動(dòng)作識(shí)別。通過深度圖像獲得骨架模型,提取特征模型,利用改進(jìn)的DTW 算法進(jìn)行模板匹配,實(shí)驗(yàn)結(jié)果表明本文方法獲得了較好的識(shí)別效果。
然而,深度圖像的采集是有距離限制的,單一深度圖像仍會(huì)有視覺死角,難以應(yīng)對(duì)更加復(fù)雜的識(shí)別任務(wù)。因此,在今后的研究工作中,希望利用多個(gè)Kinect 進(jìn)行運(yùn)動(dòng)捕捉,通過數(shù)據(jù)融合構(gòu)建出更為準(zhǔn)確的特征模型。此外,DTW 算法并不能應(yīng)用與所有的分類場(chǎng)景,況且隨著模板數(shù)量的不斷增加,匹配時(shí)間代價(jià)也將是巨大的,今后將繼續(xù)對(duì)分類算法進(jìn)行研究和改進(jìn)。
[1]鄧甜甜,王智靈,朱明清,等.基于輪廓圖像空頻域特征的人體姿態(tài)分層識(shí)別算法[J].模式識(shí)別與人工智能,2011,24(3):411-416.
[2]彭江平.基于級(jí)聯(lián)結(jié)構(gòu)的人體動(dòng)作識(shí)別方法[J].計(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ù)的手勢(shì)識(shí)別方法[J].計(jì)算機(jī)工程,2012,38(8):16-18,21.
[7]林 鵬,張 超,李竹良,等.基于深度圖像學(xué)習(xí)的人體部位識(shí)別[J].計(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.