張 磊,韓廣良
(1.中國科學(xué)院 長春光學(xué)精密機械與物理研究所,吉林 長春 130033;2.中國科學(xué)院大學(xué),北京 100049)
人體動作識別是指根據(jù)輸入的動作時間序列(RGB圖像序列或人體骨骼點序列)進行分析,從而識別出該動作序列所進行的動作類別,是近年來的研究熱點之一。人體動作識別在智能監(jiān)控系統(tǒng)、人機交互、動作輔助矯正等諸多領(lǐng)域有著廣泛的應(yīng)用前景。同時由于人體骨架序列的數(shù)據(jù)量極小,遠(yuǎn)小于RGB視頻序列,且結(jié)構(gòu)簡單、計算速度快,幾乎不會受到背景的影響,所以非常適合于動作識別的應(yīng)用。
在早期的研究中,研究人員常通過人為設(shè)計多種動作特征來代表的人體的運動軌跡。Dalal等首先提出使用光流直方圖的方法來獲取運動軌跡[1],隨后Dalal等又提出了方向梯度直方圖的方法[2]。在此基礎(chǔ)上,Wang等提出了密集軌跡法(Dense Trajectory,DT)及其改進方法增強的密集軌跡法(improved Dense Trajectory,iDT),通過大量采樣視頻中隨機的像素點追蹤時間維度的該像素點的運動軌跡[3-4]。由于人工設(shè)計的特征工作量較大、準(zhǔn)確率低,所以基于神經(jīng)網(wǎng)絡(luò)的方法逐漸應(yīng)用于動作識別中[5]。Du等于2015年首次提出了將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Net?work,CNN)應(yīng)用于骨骼動作識別的SK-CNN,將人體骨架序列結(jié)構(gòu)歸一化為固定大小輸入到CNN網(wǎng)絡(luò)中進行動作識別[6]。由于人體骨架序列與CNN的輸入數(shù)據(jù)結(jié)構(gòu)存在差異,Wang等提出了關(guān)節(jié)軌跡圖(Joint Trajectory Maps,JTM),將骨架數(shù)據(jù)投影到3個正交平面從而得到3幅2D骨架數(shù)據(jù),歸一化后送入預(yù)訓(xùn)練好的CNN進行動作識別[7]。Li等借鑒共現(xiàn)特征學(xué)習(xí)的方法提出了HCN網(wǎng)絡(luò)[8]?;贑NN的方法往往參數(shù)量較大,也存在遮擋、視點變化等問題,所以基于循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)和基于圖卷積網(wǎng)絡(luò)(Graph Convolution Neural Network,GCN)的算法[9-10]也開始逐漸出現(xiàn)。Shahroudy等提出利用長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)進行動作識別,但無法獲得具有競爭力的結(jié)果[11]。由于圖卷積網(wǎng)絡(luò)(Graph Convolution Neural Network,GCN)對具有拓?fù)浣Y(jié)構(gòu)的人體骨架數(shù)據(jù)處理十分有效,所以Yan等首先在GCN的基礎(chǔ)上提出了ST-GCN,利用圖卷積提取人體動作的時空特征[12]。Li等在ST-GCN的基礎(chǔ)上提出AS-GCN,揭示了關(guān)節(jié)點之間的潛在關(guān)系[13]。
基于人體骨架序列的動作識別相比于基于RGB視頻的方法具有數(shù)據(jù)量小,不受外界環(huán)境、光照、人體外貌等因素影響,魯棒性高的優(yōu)點,成為當(dāng)下的研究熱點。而在基于骨架的方法中,基于CNN的方法是主流,也取得了較好的成果,但其網(wǎng)絡(luò)大多依賴于規(guī)模較大的網(wǎng)絡(luò),計算量較大,且難以直接處理人體骨架序列這樣的拓?fù)浣Y(jié)構(gòu)。基于RNN的方法一般識別準(zhǔn)確率不如其他方法,并且隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的不斷加深,極易出現(xiàn)梯度消失的現(xiàn)象,使得訓(xùn)練的準(zhǔn)確率突然降低。基于GCN的方法具有CNN的優(yōu)點,同時由于引入了人體拓?fù)浣Y(jié)構(gòu)的先驗知識,能夠進一步提升識別性能。除此之外,現(xiàn)階段的算法尚不能在多種運動特征之間發(fā)現(xiàn)更深層次的關(guān)系,并且對于提取到的多種運動特征信息都很難得到高效的應(yīng)用。
針對以上問題,本文首先根據(jù)動作識別網(wǎng)絡(luò)模型的多分支輸入和原始數(shù)據(jù)的結(jié)構(gòu),對原始數(shù)據(jù)進行了特征增強,將多分支的輸入形式改進為多分支的融合特征,并經(jīng)過多個網(wǎng)絡(luò)模塊后融合多層次多種類的特征信息,從而增強了多特征之間的相關(guān)性,從特征層面更全面地描述一個人體骨架序列。其次,本文通過多尺度特征對時序卷積進行了改進,并與圖卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,使得網(wǎng)絡(luò)模型能夠提取不同深度的時間特征和空間特征,提高了動作識別的準(zhǔn)確性。通過殘差連接圖卷積神經(jīng)網(wǎng)絡(luò)和多尺度時序卷積,在提取到深層次特征信息的同時很大程度上解決了網(wǎng)絡(luò)退化等問題。
原生的人體骨架序列數(shù)據(jù)在采集時可能存在數(shù)值缺失、數(shù)值范圍小等問題,同時由于設(shè)備精度問題使得骨架序列在時間維度上存在與動作無關(guān)的抖動,并且在不同的動作類別中,骨架序列的幀數(shù)也不同。針對以上問題,本文分別在時間和空間兩個維度進行如圖1所示的特征增強。歸一化、坐標(biāo)轉(zhuǎn)換、深度優(yōu)先樹遍歷等基于空間維度的特征增強重點關(guān)注于關(guān)節(jié)點的位置坐標(biāo)和聯(lián)系上,Savitsky-Golay平滑濾波、插幀等基于時間維度的特征增強重點關(guān)注于骨架序列幀間的聯(lián)系。
圖1 特征增強處理方法Fig.1 Feature enhancement processing methods
數(shù)據(jù)集中的關(guān)節(jié)點坐標(biāo)的大小常位于小數(shù)點后一位或兩位,使得動作的關(guān)節(jié)點過于密集,不利于動作類別的預(yù)測。最好的處理方法是將整體坐標(biāo)所處的區(qū)間放大,所以采用歸一化的方式將關(guān)節(jié)點坐標(biāo)的區(qū)間擴大至(-1,1),新坐標(biāo)可表示為:
其 中Jt,c、Jt,c,max、Jt,c,min分 別 表 示 在 某 一 動 作 中t時刻x、y、z分量上的坐標(biāo)。
原始的人體骨架數(shù)據(jù)沿著時間維度運動時會存在一些與動作無關(guān)但影響類別判斷的噪音,這一噪音是人體骨架數(shù)據(jù)在可視化時運動中關(guān)節(jié)點的不自然抖動。針對這一問題,本文使用Savitsky-Golay濾波器進行濾波。Savitsky-Golay濾波器是一種在時域內(nèi)基于局域多項式最小二乘法擬合的濾波方法,這種濾波器最大的特點在于在濾除噪聲的同時可以確保信號的形狀、寬度不變。Savitsky-Golay濾波器通過多項式對移動窗口內(nèi)的數(shù)據(jù)進行多項式最小二乘擬合,算出窗口內(nèi)中心點關(guān)于其周圍點的加權(quán)平均和,可表示為:
其中Xi和Xi*為濾波前、后的數(shù)據(jù),Wj為移動窗口平滑過程中的權(quán)重因子,窗口長度為2r+1。窗口長度是平滑濾波中最重要的參數(shù),若窗口長度過小則噪音無法減弱,若窗口長度過長則會將原本正常的動作變化幅度減弱甚至消減至靜止,取r=4。
接著為了確保關(guān)節(jié)點的參考坐標(biāo)系一致,同時減少采集過程中設(shè)置的相機多視角產(chǎn)生的影響,以圖2所示的骨架結(jié)構(gòu)及編號為基礎(chǔ),將每個動作序列中的第一幀骨架的脊柱中心點(編號20)設(shè)置為參考坐標(biāo)系的原點,脊柱(編號0和1)所在的直線作為z軸,兩側(cè)肩膀(編號4和8)所在的直線作為x軸。原始的骨架結(jié)構(gòu)數(shù)據(jù)中各個類別的動作幀數(shù)不是統(tǒng)一的,多則接近300幀,少則少于50幀,無法直接輸入到后續(xù)網(wǎng)絡(luò)中。針對這一問題,本文采用插幀的方式,將幀數(shù)設(shè)置為300,采用三次樣條插值法進行處理。若區(qū)間[a,b]可分為n個 區(qū) 間[(x0,x1),(x1,x2),(x2,x3),…,(xn-1,xn),],其中a=x0,b=xn,在n個區(qū)間中的每個區(qū)間都各自存在三次樣條函數(shù)Si(x),可表示為:
圖2 人體骨架結(jié)構(gòu)及編號Fig.2 Human skeleton structure and number
其中ai、bi、ci和di為Si(x)在n個 區(qū)間中的第i個小區(qū)間的參數(shù)。Si(x)必須滿足3個條件:在每個小區(qū)間(xn-1,xn)內(nèi)Si(x)都是一個三次方程;滿足插值條件,即xn必須在S(x)函數(shù)的曲線上;Si(x)的曲線是光滑的,即S(x)、S′(x)、S″(x)是連續(xù)的??捎嬎愕玫剑?/p>
其中mi=S″i(xi),hi=xi+1-xi。
為了進一步有效學(xué)習(xí)人體骨架中關(guān)節(jié)點的空間關(guān)系,引入了深度優(yōu)先樹遍歷[14]。輸入格式中一對相鄰關(guān)節(jié)的空間相關(guān)性與連接這一對關(guān)節(jié)的邊有關(guān),若這對關(guān)節(jié)在物理上是相連的,則空間相關(guān)性就強。在動作識別中,空間相關(guān)性一般是指人體骨骼結(jié)構(gòu)中相鄰關(guān)節(jié)點之間的聯(lián)系緊密程度。空間相關(guān)性越強,最后所反映的動作識別準(zhǔn)確率越高。原始數(shù)據(jù)的輸入形式是將抽象的關(guān)節(jié)點坐標(biāo)序列轉(zhuǎn)化為T×N×C的矩陣,其中T為人體動作序列的幀數(shù),N為人體骨架的關(guān)節(jié)點數(shù)量,C為關(guān)節(jié)點坐標(biāo)的維度數(shù)。在代表關(guān)節(jié)點數(shù)量的N維度中,人體的25個關(guān)節(jié)是以0,1,2,3,…,23,24這樣順序編號進行排列的,如圖3(a)所示,相鄰的關(guān)節(jié)在圖2所示的結(jié)構(gòu)中基本上是不相連的,關(guān)節(jié)之間便沒有相關(guān)性。根據(jù)這一理論,可將人體骨架結(jié)構(gòu)改變?yōu)閳D4所示的樹形骨架結(jié)構(gòu)圖。根據(jù)深度遍歷,按照從上到下、從左到右的順序,在輸入數(shù)據(jù)的N維度上,人體的關(guān)節(jié)可排序為1,20,2,3,2,20,4,5,6,7,22,21,22,7,6,5,4,20,8,9,10,11,24,23,24,11,10,9,8,20,1,0,12,13,14,15,14,13,12,0,16,17,18,19,18,17,16,0,1,N由原來的25變?yōu)?9。
圖3 數(shù)據(jù)輸入的原始和改進格式Fig.3 Original and improved formats for input
圖4 樹形骨架結(jié)構(gòu)圖Fig.4 Structure diagram of tree structure skeleton
經(jīng)過特征增強后,單一樣本中的人體骨架數(shù)據(jù)結(jié)構(gòu)可表示為四維向量(C,T,V,M),其中C表示骨架關(guān)節(jié)點的x、y、z分量;T代表骨架數(shù)據(jù)的幀數(shù),經(jīng)過特征增強后固定為300幀;V代表每一幀中的人體關(guān)節(jié)點數(shù)量;M代表每一個動作的參與人數(shù)。參考ResGCN[15]中關(guān)節(jié)點坐標(biāo)(Joints)、運動向量(Velocities)和骨節(jié)(Bones)三分支輸入,為了增加輸入數(shù)據(jù)的空間相關(guān)性,本文將三分支輸入修改為Bone length+Joints、Bone length+Ve?locities和Bone length+Bone angle。
多分支輸入的操作需要將特征融合在一起,從而將經(jīng)過一定深度的神經(jīng)網(wǎng)絡(luò)提取到的特征拼接在一起,此時的特征在經(jīng)過多層神經(jīng)網(wǎng)絡(luò)后具有一定的深層信息,而特征融合的具體位置在哪一層神經(jīng)網(wǎng)絡(luò)之后則需要進一步的實驗與研究。
本文網(wǎng)絡(luò)模型的基本結(jié)構(gòu)由可提取時間和空間特征的多尺度時空卷積構(gòu)成。多尺度指的是對網(wǎng)絡(luò)中不同深度的特征進行采集融合。多尺度時空卷積模塊由負(fù)責(zé)提取時間特征的多尺度時序卷積和負(fù)責(zé)提取空間特征的圖卷積組成,使得網(wǎng)絡(luò)能夠分別提取網(wǎng)絡(luò)中的時間特征和空間特征。
本文中的多尺度時序卷積模塊如圖5所示。網(wǎng)絡(luò)模塊中的第一層是卷積核為1×1的普通卷積,其作用是降低輸入數(shù)據(jù)的通道維數(shù);模塊中的第二層為膨脹系數(shù)分別為1,2,3的膨脹卷積[16],卷積核為m×1。原本大小為m×n的卷積核要對兩個維度的特征進行處理,但當(dāng)n=1時,卷積核只會處理一個維度的特征,因此通過這種方式來只對時間維度進行特征提取。多尺度特征通過設(shè)置不同的膨脹系數(shù)來體現(xiàn),當(dāng)膨脹卷積擁有不同的膨脹系數(shù)時,卷積核的感受野也隨之變化,卷積所能提取到的特征也會有所區(qū)分。膨脹卷積的優(yōu)點在于在保持參數(shù)個數(shù)不變的情況下增大了卷積核的感受野,讓每個卷積輸出都包含較大范圍的信息,同時它可以保證輸出的特征映射的大小保持不變。
圖5 多尺度時序卷積模塊結(jié)構(gòu)圖Fig.5 Structure diagram of multi-scale temporal convolution
輸入特征在經(jīng)過多個并列的膨脹卷積提取多尺度時間特征后,使用Concat函數(shù)進行拼接,得到的特征通道維度與輸入一致,此時使用殘差將輸入特征與輸出特征相連接,使得輸出同時具有淺層網(wǎng)絡(luò)的特征表現(xiàn)和深層網(wǎng)絡(luò)的特征表現(xiàn),有助于解決梯度消失和梯度爆炸問題,在網(wǎng)絡(luò)層數(shù)不斷加深的同時,又能保證良好的性能。
GCN處理的主要對象是骨架數(shù)據(jù)、交通網(wǎng)絡(luò)數(shù)據(jù)、化學(xué)分子結(jié)構(gòu)數(shù)據(jù)等具有一定拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)。在動作骨架的每一幀中,圖卷積可表示為
其中fin和fout分別代表輸入和輸出特征,A表示鄰接矩陣,I為單位矩陣,W為權(quán)重矩陣表示歸一化鄰接矩陣。
本文圖卷積的鄰接矩陣使用距離分區(qū)(Dis?tance partitioning)的方法。對于一個龐大的圖結(jié)構(gòu)而言,不可能把所有的節(jié)點特征直接相加。為了劃分圖結(jié)構(gòu)中每一個節(jié)點的鄰居節(jié)點,即骨骼結(jié)構(gòu)中節(jié)點附近的節(jié)點,采用距離分區(qū)的方法將不同的鄰居節(jié)點編為不同的序號,如圖6所示,同一個序號的鄰居節(jié)點看作一個鄰居子集,也就形成了多個鄰接矩陣。本文中分區(qū)子集設(shè)為4個,即距離目標(biāo)節(jié)點的距離分別為0,1,2,3。距離為0為節(jié)點自身,位于鄰接矩陣的一個子集中;距離為1的節(jié)點為與目標(biāo)節(jié)點直接相連,位于鄰接矩陣的第二個子集中;距離為2和3的節(jié)點則分別位于鄰接矩陣的第三和第四個子集中。
圖6 距離分區(qū)的劃分原理Fig.6 Division principle of distance partitioning
由此得到的鄰接矩陣可視化結(jié)果如圖7所示。使用了距離分區(qū)的分區(qū)策略后,圖卷積可表示為:
圖7 鄰接矩陣可視化結(jié)果Fig.7 Visualization results of adjacency matrix
其中j=0,1,2,3,表示鄰接矩陣的子集;M為權(quán)重矩陣,使用了距離分區(qū)的鄰接矩陣依照距離的大小為子集劃分不同的權(quán)重?;诰嚯x分區(qū)的分區(qū)策略能夠建模如關(guān)節(jié)之間的相對平移等關(guān)節(jié)點的局部差異性,增加圖卷積提取空間特征的多樣性。
多尺度時空卷積模塊的結(jié)構(gòu)如圖8所示。在一定程度上,網(wǎng)絡(luò)的層數(shù)越深則表達(dá)能力越強,越能夠提取到深層次的特征信息,性能也越好。但隨著網(wǎng)絡(luò)深度的增加,也帶來了許多問題,如梯度消散、網(wǎng)絡(luò)退化等,殘差連接可以在很大程度上解決這一問題。
圖8 多尺度時空卷積模塊結(jié)構(gòu)圖Fig.8 Structure image of multi-scale spatial-temporalconvolution
整體網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示,由多尺度時空卷積模塊堆疊而成。原始的人體骨架序列存在諸多缺陷,特征提取階段通過基于時間維度和空間維度的特征增強加強了數(shù)據(jù)的表達(dá)能力。將處理好的數(shù)據(jù)以Bone length+Joints、Bone length+Velocities和Bone length+Bone angle的 融 合 特 征的方式分別輸入到三分支中,利用改進的多尺度卷積提取特征并融合在一起。動作分類階段將拼合后的數(shù)據(jù)輸入帶有注意力機制的多尺度卷積進行多次訓(xùn)練,最后進入分類器進行動作分類。
圖9 網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.9 Schematic diagram of network structure
為了更加全面地認(rèn)識本文所設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu),本節(jié)詳細(xì)給出了多尺度時空卷積模塊的結(jié)構(gòu)和在每一層所使用的參數(shù),如表1所示。表1中Conv_gcn代表圖卷積模塊,Conv_tcn代表多尺度時間卷積模塊,包含多個不同尺度的卷積。
表1 多尺度卷積網(wǎng)絡(luò)參數(shù)表Tab.1 Network parameter table of multi-scale convolution
本實驗使用的數(shù)據(jù)集為NTU RGB-D 60和NTU RGB-D 120的人體骨架結(jié)構(gòu)數(shù)據(jù)。在RTX 3090上進行訓(xùn)練,顯存為25.4 GB。所利用的環(huán)境為Python 3.6,PyTorch 1.10.0。
在訓(xùn)練過程中,所有需要學(xué)習(xí)的參數(shù)均用Xavier方法進行初始化。網(wǎng)絡(luò)模型使用交叉熵?fù)p失函數(shù)(Cross Entropy)進行訓(xùn)練,優(yōu)化器采用隨機梯度下降法(Stochastic Gradient Descent,SGD)對網(wǎng)絡(luò)參數(shù)進行優(yōu)化,學(xué)習(xí)率為0.1,數(shù)據(jù)集在迭代70次(Epoch)后停止訓(xùn)練,批(Batch)大小設(shè)置為16。
為了充分證明每種特征增強方法對于動作識別的作用,需要分別對每一種方法進行實驗測試。基于NTU RGB+D 60數(shù)據(jù)集的Crossview(CV)劃分標(biāo)準(zhǔn),將經(jīng)過各自方法進行特征增強后的數(shù)據(jù)輸入到網(wǎng)絡(luò)中,得到的識別準(zhǔn)確率如表2所示。
表2 不同特征增強方法在NTU RGB-D 60數(shù)據(jù)集的準(zhǔn)確率Tab.2 Accuracy of different feature enhancement method on NTU RGB-D 60 dataset
由實驗結(jié)果可以看出,每種方法都取得了一定的識別準(zhǔn)確率。在這5種特征增強方法單獨的實驗結(jié)果中,只使用深度優(yōu)先樹遍歷的模型得到了最高的識別準(zhǔn)確率,說明基于深度優(yōu)先樹遍歷的方法的有效性得到了實驗驗證。其次識別準(zhǔn)確率最高的是基于坐標(biāo)轉(zhuǎn)換的動作識別,接著3種普通的數(shù)據(jù)增強方法排在后面,且與前兩種的準(zhǔn)確率差別較大,說明網(wǎng)絡(luò)對于從多個層次描述空間特征是十分認(rèn)可的。將所有方法一起使用的動作識別準(zhǔn)確率為95.1%,與單獨的特征增強方法得到的識別準(zhǔn)確率相差至少2.5%,說明本文使用的5種特征增強方法都或多或少發(fā)揮了其應(yīng)有的作用,對于人體骨架動作的識別都有正向的作用,為后續(xù)網(wǎng)絡(luò)提取到多層次、多尺度的時間和空間特征打下了堅實基礎(chǔ)。
本文改善了三分支輸入的人體骨架特征,使得三分支的輸入變?yōu)锽one length+Joints、Bone length+Velocities和Bone length+Bone angle,增加了輸入特征的關(guān)節(jié)相關(guān)性。為了驗證每一分支對于動作類別判斷的有效性,分別將3種特征輸入網(wǎng)絡(luò)中進行實驗,在NTU RGB+D 60數(shù)據(jù)集的Cross-view(CV)評價標(biāo)準(zhǔn)上的識別準(zhǔn)確率如表3所示。
表3 不同特征在NTU RGB-D 60數(shù)據(jù)集的準(zhǔn)確率Tab.3 Accuracy of different feature on NTU RGB-D 60 dataset
由實驗結(jié)果可知,3種人體骨架結(jié)構(gòu)特征都在網(wǎng)絡(luò)中取得了相接近的動作識別準(zhǔn)確率。在3種 特 征Bone length+Joints、Bone length+Ve?locities和Bone length+Bone angle分 別 得 到 的 動作識別準(zhǔn)確率中,特征Bone length+Joints的識別準(zhǔn)確率最高,而特征Bone length+Velocities和特征Bone length+Bone angle緊隨其后,二者之間的識別準(zhǔn)確率差別不大,僅在0.2%,說明3種特征均有一定的能力獨自作為網(wǎng)絡(luò)的輸入,可以從中提取到一定程度的信息用以動作分類。當(dāng)三分支同時輸入3種特征時,其結(jié)果為95.1%,與3種特征分別輸入得到的結(jié)果相比,有了一定程度的提升,說明3種特征以三分支的形式輸入到網(wǎng)絡(luò)中對動作識別的準(zhǔn)確率起到積極的促進作用。
本小節(jié)主要探討三分支特征在特征融合時的位置對動作類別判斷產(chǎn)生的影響。若特征融合時的位置在第k個多尺度卷積模塊的后方,則取k=1,2,3,4時網(wǎng)絡(luò)的識別準(zhǔn)確率如表4所示。
表4 不同融合位置在NTU RGB-D 60數(shù)據(jù)集的準(zhǔn)確率Tab.4 Accuracy of different feature fusion location on NTU RGB-D 60 dataset
本小節(jié)主要探討多尺度時序卷積的卷積核大小對人體動作識別性能的影響。使用NTU RGB-D 60數(shù)據(jù)集的Cross-view(CV)劃分標(biāo)準(zhǔn)作為消融實驗的數(shù)據(jù)集,時序卷積的卷積核m=3,5,7,9時的動作識別準(zhǔn)確率如表5所示。
表5 不同時序卷積核在NTU RGB-D 60數(shù)據(jù)集的準(zhǔn)確率Tab.5 Accuracy of different temporal convolution kernel on NTU RGB-D 60 dataset
由消融實驗的結(jié)果可知,不同的k值取得了不同的動作識別準(zhǔn)確率。當(dāng)k值為3時,人體動作的識別準(zhǔn)確率最高,所以本文中特征融合的階段選擇在第三個多尺度卷積模塊之后。在本實驗中,當(dāng)k值過小時,多分支的特征融合后雖然具有很強的淺層次相關(guān)性,但在融合后經(jīng)過神經(jīng)網(wǎng)絡(luò)層數(shù)的不斷深入,提取到的深層次特征趨為一致,缺少了多樣化的深層次特征;而當(dāng)k值過大時又缺少了早期特征之間的相關(guān)性。所以,要選擇合適的k值。
實驗結(jié)果表明,特征融合的位置會對動作識別的準(zhǔn)確率產(chǎn)生影響,應(yīng)該選擇能夠使準(zhǔn)確率達(dá)到最大的位置。
多尺度時序卷積的卷積核是提取時間維度特征的核心。卷積核越大,特征信息的感受野也隨之變大,多尺度時序卷積能夠提取到的時間維度的跨度就越大,也就是說能夠提取距離更長的視頻幀間的特征信息,但同時也容易漏掉更多的細(xì)節(jié)信息,所以選擇合適的卷積核大小尤為重要。由實驗結(jié)果可知,當(dāng)卷積核的大小m=5時,人體動作識別在RGB-D 60數(shù)據(jù)集Cross-view(CV)的準(zhǔn)確率最高,為95.1%。當(dāng)卷積核過小時,提取到的特征在時間維度的跨度不夠長,幀間特征無法高效地表達(dá)動作,同時網(wǎng)絡(luò)的參數(shù)量和計算量也相較較大;當(dāng)卷積核過大時,容易漏掉更多的細(xì)節(jié)信息,幀間特征無法完整地表達(dá)動作。所以多尺度時序卷積的卷積核大小設(shè)為5×1。
使用NTU RGB-D 60數(shù)據(jù)集與NTU RGB-D 120數(shù)據(jù)集展示本文提出的網(wǎng)絡(luò)模型的結(jié)果,并與目前提出的其他基于人體骨架數(shù)據(jù)的動作識別算法進行對比與分析,在NTU RGB-D 60數(shù)據(jù)集上的人體動作識別準(zhǔn)確率如表6所示。
表6 不同動作識別方法在NTU RGB-D 60數(shù)據(jù)集的準(zhǔn)確率Tab.6 Accuracy of different action recognition methods on NTU RGB-D 60 dataset
本文提出的網(wǎng)絡(luò)模型在NTU RGB-D 60數(shù)據(jù)集的Cross-subject劃分標(biāo)準(zhǔn)上獲得了89.6%的識別準(zhǔn)確率,在Cross-view劃分標(biāo)準(zhǔn)上獲得了95.1%的準(zhǔn)確率。與基于循環(huán)神經(jīng)網(wǎng)絡(luò)的Ind-RNN網(wǎng)絡(luò)模型相比,在兩個指標(biāo)上分別高出7.8%和7.1%;與基于卷積神經(jīng)網(wǎng)絡(luò)的3SCNN網(wǎng)絡(luò)模型相比,在兩個指標(biāo)上分別高出1.0%和1.4%;與同樣基于圖卷積神經(jīng)網(wǎng)絡(luò)的SGN相比,在兩個指標(biāo)上分別高出3.0%和0.8%。與其他基于人體骨架數(shù)據(jù)的動作識別算法相對比的結(jié)果說明了本文所使用網(wǎng)絡(luò)的優(yōu)越性。
橫向?qū)Ρ然贜TU RGB-D 60數(shù)據(jù)集的Crosssubject和Cross-view劃分標(biāo)準(zhǔn)的識別準(zhǔn)確率結(jié)果,可以發(fā)現(xiàn)所有識別準(zhǔn)確率在Cross-view評價標(biāo)準(zhǔn)上的結(jié)果均要高于Cross-subject評價標(biāo)準(zhǔn),兩者之差最大能夠達(dá)到8.8%,最小能夠達(dá)到4.6%。
為了對實驗結(jié)果進行更深入的分析,得到圖10所示的Cross-subject和Cross-view劃分標(biāo)準(zhǔn)下的混淆矩陣圖,圖中橫坐標(biāo)為具體動作類別的編號,縱坐標(biāo)為具體動作類別的準(zhǔn)確率。由圖10可知,模型在Cross-subject中可準(zhǔn)確識別絕大部分的動作類別。其中類別11(Reading)、12(Writing)、29(Play with phone/Tablet)、30(Type on a keyboard)、34(Rub two hands)、41(Sneeze/Cough)、44(Head?ache)的準(zhǔn)確率明顯低于其他類別。這些動作類別聚焦于局部肢體動作,動作幅度不大,動作之間的區(qū)別也不明顯。模型無法確切區(qū)分這些動作類別,這是影響本文模型準(zhǔn)確率的主要因素之一。
圖10 NTU RGB-D 60數(shù)據(jù)集下的混淆矩陣Fig.10 Confusion matrix under NTU RGB-D 60 dataset
除了NTU RGB-D 60數(shù)據(jù)集之外,本文也在其擴展版本NTU RGB-D 120數(shù)據(jù)集上進行了實驗與分析,如表7所示。該數(shù)據(jù)集相比于NTU RGB-D 60數(shù)據(jù)集,其動作類別數(shù)更多且人物、場景情況更復(fù)雜,因此基本上所有主流方法在該數(shù)據(jù)集上的識別準(zhǔn)確率均出現(xiàn)了明顯的下降。在NTU RGB-D 120數(shù)據(jù)集中,本文提出的網(wǎng)絡(luò)模型在Cross-subject劃分標(biāo)準(zhǔn)上的識別結(jié)果為84.1%,在Cross-setup劃分標(biāo)準(zhǔn)上的識別結(jié)果為86.0%,均保持在一個較好的水平,相比于其他方法呈現(xiàn)出了更為明顯的優(yōu)勢,證明了本文提出的網(wǎng)絡(luò)模型在性能上的優(yōu)越性。
表7 不同動作識別方法在NTU RGB-D 120數(shù)據(jù)集的準(zhǔn)確率Tab.7 Accuracy of different action recognition methods on NTU RGB-D 120 dataset
如今基于視頻的人體動作識別需求層出不窮。基于人體骨架數(shù)據(jù)的動作識別相比于RGB視頻具有數(shù)據(jù)量小、無環(huán)境干擾等優(yōu)點,從而成為了研究重點。本文從多特征、多分支以及多特征之間的關(guān)聯(lián)為主線出發(fā),首先基于輸入的骨架數(shù)據(jù),利用多種特征增強方法并通過改進的多分支融合特征輸入到本文的神經(jīng)網(wǎng)絡(luò)中,然后使用多尺度時空卷積模塊提取多尺度特征信息。在NTU RGB-D 60數(shù)據(jù)集的兩種劃分標(biāo)準(zhǔn)Cross-subject和Cross-view上的識別準(zhǔn)確率分別為89.6%和95.1%,在NTU RGB-D 120數(shù)據(jù)集的兩種劃分標(biāo)準(zhǔn)Cross-subject和Cross-setup上的識別準(zhǔn)確率分別為84.1%和86.0%,較好地提升了模型的動作識別準(zhǔn)確率。