付仔蓉, 吳勝昔, 吳瀟穎, 顧幸生
(華東理工大學(xué)能源化工過程智能制造教育部重點實驗室,上海 200237)
人體行為動作識別是以人為中心,研究人體活動的重要分支之一。基于機器視覺的人體行為識別是自動解釋圖像或者視頻序列中固定場景的人體正在執(zhí)行什么動作或活動,如從2D 圖像中提取卷積特征,利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)實現(xiàn)自動姿勢識別[1]。人體行為識別在人機交互、智能監(jiān)視系統(tǒng)[2]、視頻搜索、游戲、行人檢測、醫(yī)療保健自動化系統(tǒng)[3]、智能駕駛和智能家居等方面具有實際的應(yīng)用前景。
在過去的幾十年中,研究者廣泛使用彩色圖像(RGB)數(shù)據(jù)來識別人體行為動作。如 Ciocca 等[4]利用輸入的RGB 圖像進行動作識別與跟蹤,但由于其背景雜亂、身體遮擋、觀察點角度不同、光線照明變化、執(zhí)行率和生物特征變化等引起的一系列問題,造成行為識別困難。隨著具有成本效益的深度圖像(RGB-D)傳感器如Microsoft Kinect 和Asus Xtion 等的開發(fā),Liu 等[5]提出了一種多模式相關(guān)表示學(xué)習(xí)(MCRL)模型,從RGB-D 視頻中識別人類動作。與傳統(tǒng)彩色圖像數(shù)據(jù)相比,深度數(shù)據(jù)具有對光線和照明變化不敏感、更容易從雜亂的背景中減去前景和提供場景的3D 幾何結(jié)構(gòu)信息等特點,使用深度數(shù)據(jù)的人體行為識別引起了研究人員的廣泛關(guān)注。隨著易于使用的深度傳感器和相關(guān)算法的推進,可以從深度圖像中輕松地進行高精度的關(guān)節(jié)位置的計算,從而獲得骨骼關(guān)節(jié)點的3D 坐標(biāo),使得基于骨骼關(guān)節(jié)點坐標(biāo)的人體行為識別獲得了新的發(fā)展。Song 等[6]提出了一種多流圖卷積網(wǎng)絡(luò)(GCN)對不完整且嘈雜的骨骼數(shù)據(jù)進行行為識別并取得了較好的效果。由于骨骼關(guān)節(jié)點3D 坐標(biāo)的簡潔性、魯棒性、視圖獨立表示和骨骼節(jié)點特征矢量運算的快速性,近幾年使用骨骼關(guān)節(jié)點進行人體識別成為一個較為活躍的研究課題。
隨著RGB-D 傳感器的快速發(fā)展,Jamie 等[7]從單個深度圖像快速準(zhǔn)確地預(yù)測骨骼關(guān)節(jié)點的3D 坐標(biāo)位置,促進了使用關(guān)節(jié)點進行人體行為識別的研究。Vantigodi 等[8]使用3D 骨架關(guān)節(jié)坐標(biāo)提取每個關(guān)節(jié)的時間方差及其時間加權(quán)方差作為分類的特征,基于SVM 在人體動作檢測數(shù)據(jù)集(MHAD)上的識別準(zhǔn)確率達到了96.06%,充分展示了利用3D 關(guān)節(jié)點位置數(shù)據(jù)進行人體行為識別的可行性。從3D 關(guān)節(jié)點位置提取出重要的特征來進行人體行為動作分類十分關(guān)鍵。Ahmed 等[9]采用關(guān)節(jié)相對距離(Joint Relative Distance,JRD)和關(guān)節(jié)相對角度(Joint Relative Angle,JRA)來編碼不同骨骼關(guān)節(jié)的時空運動模式,有效地提高了整體識別準(zhǔn)確率;Liu 等[10]將骨骼關(guān)節(jié)點的所有坐標(biāo)轉(zhuǎn)換為距離矩陣進行視圖不變下的動作識別,表明關(guān)節(jié)之間的距離包含了身體的全局結(jié)構(gòu)信息,關(guān)節(jié)之間的角度信息可以明顯描述出局部動態(tài)變化,兩者結(jié)合可以有效地區(qū)分人體行為。隨著人工智能的發(fā)展,深度學(xué)習(xí)在計算機視覺方面取得了顯著的成功,基于遞歸神經(jīng)網(wǎng)絡(luò)(RNN)在語音、文本和圖像識別中被廣泛使用,其在人體行為識別方面也不甘落后。Sharma 等[11]提出了一種建立在多層RNN之上的LSTM 模型,選擇性地關(guān)注部分動作視頻幀,并拍攝一些動作視頻后對其進行分類;Zhu 等[12]使用改進RNN 的端對端深LSTM 網(wǎng)絡(luò),基于骨骼關(guān)節(jié)點坐標(biāo)來進行行為識別,在數(shù)據(jù)集HDM05 上達到了97.25%的識別準(zhǔn)確率;Kwon 等[13]通過雙向長短期記憶網(wǎng)絡(luò)(Bi-LSTM)學(xué)習(xí)更重要和全面的空間和時間信息來對人體行為進行劃分。
視圖變化帶來了嚴(yán)重的運動和外觀變化,這使得相同類型的不同動作難以區(qū)分,因此在任意視圖下的人體動作識別仍然是一個挑戰(zhàn)。針對這一問題,本文從3D 骨骼節(jié)點數(shù)據(jù)中提取視圖和尺度不變的歐式距離特征,以及關(guān)節(jié)點之間的相對角度特征,組合構(gòu)成特征集合來進行人體行為劃分。近來深度學(xué)習(xí)方法在各種計算機視覺方面表現(xiàn)出優(yōu)異的效果,其中LSTM 模型可以更好地獲取較長距離數(shù)據(jù)間的依賴關(guān)系,在行為識別等時域序列上取得了優(yōu)異的效果。然而傳統(tǒng)的LSTM 從單一方向進行學(xué)習(xí),忽略了未來的上下文信息。人類行為動作是由一系列動作組成,一些不同的動作在開始時可能具有類似的動作,但最終動作結(jié)果卻完全不同。在LSTM 基礎(chǔ)上改進的BI-LSTM 模型可以學(xué)習(xí)雙向空間和時間信息,模擬動作的時空信息,從而對類似動作進行更準(zhǔn)確的劃分。本文采用BI-LSTM 模型加強上下雙向時間信息,同時對距離和角度空間信息進行互補,在標(biāo)準(zhǔn)數(shù)據(jù)集上的識別準(zhǔn)確率達到了97.8%,取得了良好的識別效果。
選取從深度相機Kinectv2 獲得的25 個骨骼關(guān)節(jié)點中較為活躍的20 個關(guān)節(jié)點,以減少干擾和計算量,計算其相對參考點的視圖和尺度不變特性的距離和角度特征集合。利用BI-LSTM 挖掘出更深層次的較長骨骼序列中上下文的時間信息,與空間特征相結(jié)合對人體行為進行區(qū)分。總體流程如圖1 所示。
圖1人體行為識別總體流程圖Fig.1Overall frame of human action recognition
利用深度相機獲取人體關(guān)節(jié)的三維坐標(biāo),分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集兩部分。訓(xùn)練數(shù)據(jù)集用于模型構(gòu)建和參數(shù)調(diào)整,訓(xùn)練完成后利用測試數(shù)據(jù)集測試模型性能。本文使用標(biāo)準(zhǔn)數(shù)據(jù)集UTKinect-Action3D。
在人體骨骼中,各個關(guān)節(jié)點之間的相對距離特征具有良好的視圖和尺度不變特性,可以描述出人體運動時局部感興趣區(qū)域的特征,而且對光線的明暗程度和視角的微小變化具有很強的適應(yīng)性,因此本文采用關(guān)節(jié)點的相對距離作為人體行為劃分的特征。人體在運動時,各個關(guān)節(jié)點的活躍程度是有差異的,例如手部和腳部的位置在不同動作下有較為明顯的差異。為了消除與動作識別無關(guān)的關(guān)節(jié)點和減少計算量,選取從RGB-D 傳感器獲取的25 個關(guān)節(jié)點中較為活躍的20 個關(guān)節(jié)點 s={1,2,···,20} ,如圖2所示。其中頭部關(guān)節(jié)點1 在人體運動時與其他關(guān)節(jié)點的位置變化較大,對動作劃分有良好的區(qū)分性;脊柱關(guān)節(jié)點3 在任何運動過程中幾乎保持穩(wěn)定靜止,具有很好的參考性,因此選取頭部關(guān)節(jié)點1 和脊柱關(guān)節(jié)點3 為參考點。
圖220 個關(guān)節(jié)點圖Fig.2Map of20joint points
同一副骨架在第N 幀里面的兩個關(guān)節(jié)點i ∈{2,4,···,20}和參考點 j ∈{1,3} 的三維坐標(biāo)分別為Pi=(xi,yi,zi)和 Pj=(xj,yj,zj) 。關(guān)節(jié)點 i 和參考點j之間的相對距離(JRD)可以定義為3D 空間中這兩個關(guān)節(jié)之間的歐幾里德距離 Di,j,其計算公式如式(1)所示。例如右手部關(guān)節(jié)點12 到頭部參考點1 的歐式距離 D12,1和到脊柱參考點3 的歐式距離 D12,3如圖3 所示。
在很多情況下,人體的身高和體重等身材體型的差異較大,為了消除這種情況造成的影響,提高識別準(zhǔn)確率,需要對 Di,j進行歸一化,計算公式如下:
其中, d 為人的肩膀中心關(guān)節(jié)點2 到脊柱中心關(guān)節(jié)點3 的歐幾里德距離 D2,3,如圖3 所示。
現(xiàn)有20 個骨骼關(guān)節(jié)點,深度相機獲取到N 幀骨骼序列,則在同一幀中會產(chǎn)生36 維的距離特征向量。所有N 幀骨骼序列中的36×N 維向量組成了相對歐式距離特征 D′。
圖3右手到參考點距離Fig.3Distance of right hand to reference point
人體部位的運動若僅僅由相對歐式距離特征建模則會忽略關(guān)節(jié)和關(guān)節(jié)角度的位置信息,不能充分運用骨骼序列中包含的特征信息,所以本文同時提取了相對角度特征(JAR)。它是相鄰身體部位對的靜態(tài)姿勢的良好描述,而且關(guān)節(jié)點之間的相對角度特征具有很好的尺度不變性,可直接由關(guān)節(jié)點三維坐標(biāo)求出,計算簡單,并且對不同動作具有良好的識別效果。例如人在行走和喝水時,手部和頭部相對參考點脊柱的相對角度是不一樣的。
關(guān)節(jié)點使用的是2.1 節(jié)中的20 個關(guān)節(jié)點s={1,2,···,20},因為其中的3 號脊柱關(guān)節(jié)點在任何運動過程中幾乎均保持穩(wěn)定靜止,所以選取脊柱關(guān)節(jié)點為參考關(guān)節(jié)點,并且命名為關(guān)節(jié)點 r ,同一副骨架在第N 幀中任意兩個不同關(guān)節(jié)點 i ∈s 和 j ∈s (且i 和j 不能是參考關(guān)節(jié)點),其中關(guān)節(jié)點 i 的三維坐標(biāo)為 Pi=(xi,yi,zi) ,關(guān)節(jié)點 j 的三維坐標(biāo)為 Pj=(xj,yj,zj) ,則關(guān)節(jié)點 i 和 j 之間相對脊柱參考關(guān)節(jié)點r=(xr,yr,zr)的相對角度特征 θi,j的計算公式見式(3)~ 式(7)。例如右肩膀關(guān)節(jié)點9 相對于右手關(guān)節(jié)點12 的角度特征 θ9,12如圖4所示。
其中
現(xiàn)有19 個關(guān)節(jié)點相對于參考點 r 有N 幀骨骼序列,則在同一幀中會產(chǎn)生171 維的角特征向量,所有N 幀中則會有171×N 維向量組成相對角度特征 θ 。
圖4右肩膀與右手的相對角度θ9,12Fig.4Relative angle θ9,12 of the right shoulder and right hand
關(guān)節(jié)向量由兩個相鄰的關(guān)節(jié)點組成,而關(guān)節(jié)角度由兩個相鄰的關(guān)節(jié)向量組成。將相對距離特征和相對角度特征集中表示,充分利用骨骼數(shù)據(jù)中包含的信息來劃分人體行為。令特征集合
其中: D′為歐式距離特征集合; θ 為角度特征集合。將同一副骨架在N 幀內(nèi)的(36+171)×N 維特征集合v作為特征輸入,利用BI-LSTM 網(wǎng)絡(luò)進行人體行為動作識別,示意圖如圖5 所示。
圖5特征集合劃分行為示意圖Fig.5Diagram of feature set partitioning action
RNN 架構(gòu)在處理和查找音頻、視頻和文本等時空數(shù)據(jù)中的隱藏模式顯示出了強大的功能。它以順序方式處理數(shù)據(jù),由于其參數(shù)計算量較大,在RNN處理數(shù)據(jù)序列后期時,初始輸入序列對參數(shù)更新的影響變得可以忽略不計,導(dǎo)致出現(xiàn)梯度消失的問題。而LSTM 正是在RNN 基礎(chǔ)上添加門機制和存儲單元來解決這個問題的改進算法,其具體結(jié)構(gòu)如圖6 所示??刂崎L期序列模式識別的LSTM 特殊結(jié)構(gòu)為:輸入數(shù)據(jù) xt、輸出門 ot、保持存儲單元隨時間(t)狀態(tài)的遺忘門 ft、影響記憶信息的輸入門 it、決定記憶和遺忘信息的存儲單元 ct和調(diào)節(jié)信息流入或流出的非線性門控單元。式(9)~ 式(14)為LSTM 單元執(zhí)行的過程,具體計算過程如圖7 所示。
圖6LSTM 結(jié)構(gòu)Fig.6LSTM structure
圖7LSTM 執(zhí)行過程Fig.7LSTM execution process
其中: Wxi、 bi分別為輸入數(shù)據(jù)和輸入門之間的權(quán)重矩陣和偏差量矩陣; Wxf、 bf分別為輸入數(shù)據(jù)和遺忘門之間的權(quán)重矩陣和偏差量矩陣; Wxcbc分別為輸入數(shù)據(jù)和存儲單元之間的權(quán)重矩陣和偏差量矩陣:Wxo、 bo分別為輸入數(shù)據(jù)和輸出門之間的權(quán)重矩陣和偏差矩陣: Whi、 Whf、 Who分別為隱藏狀態(tài)和各個門之間的權(quán)重矩陣; tanh 是特殊函數(shù); σ 是sigmoid 型函數(shù); ? 是特殊運算符號; ht?1為t?1 時刻的隱藏狀態(tài); xt為 t 時刻的輸入骨骼特征; ft為 t 時刻的遺忘門,它在需要時可以清除來自存儲單元的信息;輸出門 ot保存著即將到來的骨骼數(shù)據(jù)的信息,它是根據(jù)當(dāng)前骨骼幀的輸入 xt和前一幀骨骼數(shù)據(jù)的隱藏狀態(tài) ht?1來計算。通過輸出門 ot和存儲單元ct來計算 t 時刻的骨骼數(shù)據(jù)的隱藏狀態(tài) ht,依次循環(huán)可以計算出每個時刻骨骼數(shù)據(jù)的隱藏狀態(tài)。動作識別不需要LSTM 的中間進行輸出,而是直接輸出動作的類別,所以采用在LSTM 網(wǎng)絡(luò)的最終狀態(tài)上應(yīng)用softmax分類器輸出最終行為動作分類的結(jié)果。
BI-LSTM 是LSTM 的改良形式,使用LSTM 對較長骨骼序列進行建模時,無法確定從后面骨骼序列到前面序列的信息。在BI-LSTM 中,使用一前一后兩個相反方向的LSTM 來解決這個問題。 t 時刻的輸出結(jié)果不僅取決于骨骼序列中的先前幀,還取決于即將到來的幀。BI-LSTM 的結(jié)構(gòu)簡單,由兩個相反方向的LSTM 堆疊在一起,一個LSTM 向前傳遞,另外一個朝著相反的方向傳遞,最后基于兩個LSTM 的隱藏狀態(tài)組合計算人體行為結(jié)果分類輸出。圖8 所示為BI-LSTM 的總體框架結(jié)構(gòu),前向LSTML得到隱藏狀態(tài) hLt(t=0, 1, ···, n) ,見式(15);后向 LSTMR得到隱藏狀態(tài) hRt(t=0, 1, ···, n) ,見式(16);最后將兩式組合得到BI-LSTM 的隱藏狀態(tài),見式(17)。將最終的隱藏狀態(tài)通過softmax 得到最后的行為動作分類結(jié)果。
圖8BI-LSTM 網(wǎng)絡(luò)層Fig.8BI-LSTM layer
本文選用的數(shù)據(jù)集是Xia 等[14]制作的UTKinect-Action3D 標(biāo)準(zhǔn)數(shù)據(jù)集。該數(shù)據(jù)集使用深度攝像機Kinect 以每秒30 幀收集了10 種人體行為動作,包括走路、坐下、站起、拿起、抬起、扔、推、拉、揮手和拍手,每個動作由不同的10 個人重復(fù)做2 次。該數(shù)據(jù)集有3 種格式,包括分辨率640×480 的RGB 圖像、分辨率320×240 的深度圖像、3D 坐標(biāo)的骨骼關(guān)節(jié)點數(shù)據(jù)。數(shù)據(jù)集包含6220幀、200 個動作樣本,每個動作樣本的操作長度范圍從5 幀到120 幀。數(shù)據(jù)集拍攝角度差異大并有部分身體遮擋,如圖9 所示。由于視點的變化和身體遮擋,使其具有挑戰(zhàn)性。
BI-LSTM 模型的參數(shù)設(shè)置會影響動作識別的效果。經(jīng)過多次反復(fù)實驗,確定BI-LSTM 模型參數(shù)中批數(shù)據(jù)尺寸和Epoch 設(shè)置為16 和400,學(xué)習(xí)率為0.001,隱藏層設(shè)置為100 時訓(xùn)練與識別效果最好。損失函數(shù)采用交叉熵,優(yōu)化算法為Adam,其余參數(shù)均為默認(rèn)值。采用行為動作識別的準(zhǔn)確率作為評價指標(biāo),計算公式如下:
其中:p 為正確識別出測試集中的動作的數(shù)量;q 為測試集所有動作的數(shù)量。
在UTKinect-Action3D 數(shù)據(jù)集中,不是每一幀都有動作發(fā)生,為了提高識別的準(zhǔn)確率,減少計算量,選取動作發(fā)生時間段內(nèi)的幀,提取骨骼數(shù)據(jù)的相對距離特征和相對角度特征。將10 人中的前6 人的動作作為訓(xùn)練集,后4 人的動作作為測試集。將相對距離特征、相對角度特征分別輸入到LSTM 中進行行為動作的劃分,結(jié)果如表1所示。從表1 中可以看出,結(jié)合相對距離和相對角度的特征集合比只使用一種相對特征的準(zhǔn)確率要高,識別效果也更好。圖10示出了JRD+JAR 特征集合在LSTM上的實驗結(jié)果。測試集的準(zhǔn)確率在Epoch=400 時趨于穩(wěn)定,最高可達到92.1%。并且相對距離特征更能描述人體運動的特點,原因可能是相對距離特征的維數(shù)相對于角度特征要高。
圖9UTKinect-Action3D 標(biāo)準(zhǔn)數(shù)據(jù)集Fig.9UTKinect-Action3D standard dataset
表1不同特征在LSTM 上的實驗結(jié)果Table1Experimental results of different features on LSTM
圖10JRD+JAR 特征集合在LSTM 上的實驗結(jié)果Fig.10Experimental results of JRD+JAR feature on LSTM
同樣的測試集和訓(xùn)練集,JRD+JAR 特征集合在BI-LSTM 上的實驗結(jié)果如圖11 所示。測試集的準(zhǔn)確率在Epoch=400 時趨于穩(wěn)定,最高可達到97.8%,相比于LSTM 模型,準(zhǔn)確率提高了5.7%。BI-LSTM 可以捕獲三維骨骼坐標(biāo)隨時間演變的深層時空特征,混淆矩陣實驗結(jié)果如圖12 所示。從圖12 中可以看出,大部分動作類有較好的識別效果,只有兩個動作類識別率低于90%,其中將抬起識別為走路的誤判率為22%、將推識別為扔的誤判率為20%,因為這兩類動作具有相似的運動。即使這樣,本文的實驗方案仍然具有良好的識別準(zhǔn)確率。
圖11JRD+JAR 特征集合在BI-LSTM 上的實驗結(jié)果Fig.11Experimental results of JRD+JAR feature on BI-LSTM
圖12UTKinect-Acition3D 數(shù)據(jù)集混淆矩陣圖Fig.12Confusion matrices on UTKinect-Action3D dataset
將直接輸入骨骼數(shù)據(jù)特征、提取相對距離、相對角度特征在BI-LSTM 上進行對比,結(jié)果如表2 所示??梢钥闯?,準(zhǔn)確率與LSTM 模型相比有明顯提高。
表2不同特征在BI-LSTM 上的實驗結(jié)果Table2Experimental results of different features on BI-LSTM
不同特征輸入的結(jié)果顯示,使用JRD+JAR 特征在BI-LSTM 上的識別準(zhǔn)確率比直接輸入關(guān)節(jié)點3D位置時提高了10.3%、比提取JRD 特征提高了5.0%、比提取JAR 特征提高了8.9%,說明相對距離特征加上相對角度特征充分使用了骨骼數(shù)據(jù)中包含的空間運動信息,對人體行為識別有更好的效果。
本文使用相對距離和相對角度特征在UTKinect-Acition3D 數(shù)據(jù)集上進行行為動作識別,準(zhǔn)確率為97.80%,可以有效且準(zhǔn)確地實現(xiàn)動作分類。為了驗證本文方法的識別效果,將BI-LSTM 模型在UTKinect-Acition3D 數(shù)據(jù)集上的識別結(jié)果與其他網(wǎng)絡(luò)結(jié)構(gòu)進行比較,結(jié)果見表3。其中Random forest[15]是從骨骼數(shù)據(jù)中提取成對距離特征使用隨機森林法來進行識別;SVM[16]使用關(guān)節(jié)點的角度作為特征,通過SVM進行識別;ST-LSTM 的樹狀結(jié)構(gòu)模型[17]輸入數(shù)據(jù)是骨骼數(shù)據(jù),該模型驗證實驗同樣采用留一法交叉驗證;多層LSTM[18]使用關(guān)節(jié)和聯(lián)合線之間的距離的幾何關(guān)系特征來分類。
從表3 可以看出,BI-LSTM 模型在UTKinect-Acition3D 數(shù)據(jù)集上的識別準(zhǔn)確率整體優(yōu)于其他模型,比Random forest 的最高準(zhǔn)確率提高了9.90%,比SVM 的最高準(zhǔn)確率提高了3.73%,比ST-LSTM 的最高準(zhǔn)確率提高了0.80%,比Multilayer LSTM 的最高準(zhǔn)確率提高了1.84%。結(jié)果表明基于骨骼的相對距離和相對角度特征的BI-LSTM 模型具有較強的識別能力,提高了識別準(zhǔn)確率。
表3BI-LSTM 與其他文獻方法在UTKinect-Action3D 數(shù)據(jù)集上的比較結(jié)果Table3Comparison results of BI-LSTM model and other models on UTKinect-Action3D dataset
本文提出了基于視圖和尺度不變的歐式距離和關(guān)節(jié)點之間的相對角度特征來獲取骨骼數(shù)據(jù)中的空間信息,利用BI-LSTM 來學(xué)習(xí)骨骼數(shù)據(jù)中上下文的時間信息,在UTKinect-Action3D 數(shù)據(jù)集上的識別準(zhǔn)確率達到了97.80%。相比傳統(tǒng)的行為識別,骨骼數(shù)據(jù)比圖像包含更多維度的信息,深度學(xué)習(xí)網(wǎng)絡(luò)能夠自動提取復(fù)雜的空間時間特征,識別率顯著提升。但目前的行為識別仍在研究階段,未來將繼續(xù)進行行為識別應(yīng)用到具體場景的研究。