孫琪翔,何 寧,張聰聰,劉圣杰
(1.北京聯(lián)合大學 北京市信息服務工程重點實驗室,北京 100101;2.北京聯(lián)合大學 智慧城市學院,北京 100101)
人體動作識別是計算機視覺領域的重要研究方向之一。基于RGB 的人體動作識別方法往往對計算量有較高要求,且魯棒性較差,易受環(huán)境因素影響,在實際應用中準確率和實時性不佳?;诠羌艿膭幼髯R別可以明確地表現(xiàn)人體動作,僅依據(jù)骨架便可識別出大量動作[1]。與傳統(tǒng)的RGB 數(shù)據(jù)相比,骨架序列不包含顏色信息,對視角變換、光照、遮擋等因素具有魯棒性,因此,骨架序列引起研究人員的關注[2]并廣泛應用于智能醫(yī)療、視頻理解、人機交互等領域[3]。
早期基于骨架的人體動作識別方法將人體的關節(jié)點視為一組獨立的特征,并且通過手工設計來模擬時空關節(jié)相關性[4],如YANG 等[5]提出基于關節(jié)位置差異的新型特征EigenJoints,其包含靜態(tài)姿態(tài)、運動、偏移量等信息,進一步使用樸素貝葉斯最近鄰分類器(Na?ve-Bayes-Nearest-Neighbor,NBNN)進行動作識別。但是,這類方法很少探索身體關節(jié)點之間的關系,同時由于復雜度過高且準確率有限而逐漸被深度學習方法所替代。
目前,基于骨架進行動作識別的主流方法可以分為三類,即基于卷積神經(jīng)網(wǎng)絡[6]的方法、基于循環(huán)神經(jīng)網(wǎng)絡[7]的方法以及基于圖卷積網(wǎng)絡(Graph Convolutional Network,GCN)[8]的方法。LIU 等[9]將關節(jié)點映射到3D 坐標空間,分別對空間和時間信息進行編碼,接著利用3D 卷積神經(jīng)網(wǎng)絡分別從時空信息流中提取深層特征,從而得到最終的動作識別結(jié)果。該方法的優(yōu)勢是可以在不同的時間區(qū)間提取到多尺度的特征,但其參數(shù)量過于龐大。DU 等[10]提出端到端的級聯(lián)循環(huán)神經(jīng)網(wǎng)絡,其根據(jù)人體物理結(jié)構(gòu)將人體骨架分為5 個部分,并分別輸入到5 個子網(wǎng)絡中,接著逐層進行信息融合,并在最后一層完成動作分類。該方法可以有效地學習時序特征,但其缺點是網(wǎng)絡參數(shù)量過高,較難優(yōu)化。結(jié)合人體關鍵點的空間特性,空間圖卷積網(wǎng)絡可以更好地學習人體動作特征,同時,結(jié)合人體關鍵點位置的時間序列,能對動作的上下文信息進行學習。
為了提高動作識別的準確率,本文在WANG 等[11]所提出的非局部神經(jīng)網(wǎng)絡的基礎上,設計基于圖卷積網(wǎng)絡的非局部網(wǎng)絡模塊,該模塊可以獲取全局特征信息從而提高網(wǎng)絡識別準確率。此外,本文利用多流數(shù)據(jù)融合算法,對4 種特征數(shù)據(jù)流進行融合,只需一次訓練就可以得到最優(yōu)結(jié)果,從而降低網(wǎng)絡參數(shù)量。在此基礎上,結(jié)合Ghost 網(wǎng)絡[12]思想設計空間Ghost 圖卷積模塊和時間Ghost 圖卷積模塊,在網(wǎng)絡結(jié)構(gòu)層面進一步降低網(wǎng)絡參數(shù)量。
通過人體姿態(tài)估計算法或高精度的深度攝像頭可以獲取人體關節(jié)點特征,而由關鍵點連接的人體骨架能夠形成圖結(jié)構(gòu)。YAN 等[13]提出將圖卷積網(wǎng)絡擴展到時空模型上的時空圖卷積網(wǎng)絡(Spatial Temporal Graph Convolutional Networks,ST-GCN),其基礎是時空圖結(jié)構(gòu),可以從輸入的關鍵點中建立一個時空圖,該方式保留了骨架關鍵點的空間信息,并使得關鍵點的運動軌跡以時序邊的形式得到展現(xiàn),提高了網(wǎng)絡的特征表現(xiàn)能力和魯棒性。SHI等[14]在ST-GCN 的基礎上,提出2s-AGCN(Two-streamAdaptive Graph Convolutional Networks),其有自學習的鄰接矩陣策略,提高了網(wǎng)絡對空間特性的抽取能力。LI等[15]提出動作結(jié)構(gòu)圖卷積網(wǎng)絡(Actional-Structural Graph Convolutional Networks,AS-GCN),該網(wǎng)絡創(chuàng)新性地從原始坐標信息中提取Action-Link 和Structural-Link 進行加權(quán)以作為GCN 的輸入,提升了網(wǎng)絡的準確率。SI 等[16]提出將圖卷積與LSTM 融合的新型網(wǎng)絡(Attention Enhanced Graph Convolutional LSTM Network,AGC-LSTM),該網(wǎng)絡使用注意力機制增強關鍵點的特征,同時利用LSTM 提高學習高層次時空語義特征的能力。SHI 等[17]提出使用有向無環(huán)圖構(gòu)建人體骨架結(jié)構(gòu)的新型模型(Directed Graph Neural Networks,DGNN),該模型為了更好地適應動作識別任務,構(gòu)建可以根據(jù)訓練過程自適應改變圖的拓撲結(jié)構(gòu),同時利用骨架序列的運動信息和空間信息進一步提高雙流框架的性能。YANG 等[18]提出CGCN(Centrality Graph Convolutional Networks),其利用被忽視的圖拓撲信息區(qū)分關節(jié)點、骨骼和身體部分。相較基于循環(huán)神經(jīng)網(wǎng)絡和卷積神經(jīng)網(wǎng)絡的方法,上述基于圖卷積網(wǎng)絡的方法對非歐氏數(shù)據(jù)(Non-Euclidean data)具有有效性[19]。
SHI等[20]提出一種新型解耦時空注意網(wǎng)絡(Decoupled Spatial-Temporal Attention Network,DSTA-Net),其可以根據(jù)注意力網(wǎng)絡發(fā)現(xiàn)骨骼數(shù)據(jù)的關聯(lián)性,無需利用結(jié)構(gòu)相關的卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡或圖卷積神經(jīng)網(wǎng)絡,體現(xiàn)了注意力機制的優(yōu)越性。
當前眾多學者致力于輕量級網(wǎng)絡研究[21],目的是在減少網(wǎng)絡參數(shù)量的同時保持較好的特征提取能力。網(wǎng)絡輕量化方法主要分為3 類,即網(wǎng)絡參數(shù)輕量化、網(wǎng)絡裁剪以及直接設計輕量化網(wǎng)絡。網(wǎng)絡參數(shù)輕量化指降低表征網(wǎng)絡的參數(shù)量,VANHΟUCKE 等[22]提出一種利用8 位整數(shù)定點消除冗余參數(shù)的方法,GΟNG等[23]提出針對密集權(quán)重矩陣進行量化編碼來實現(xiàn)壓縮的方法。此外,Binary Connect[24]、Binarized Neural Networks[25]和Xnor-net[26]方 法雖然對 網(wǎng)絡壓 縮的程度較高,但是也會對網(wǎng)絡的準確率造成較大損失。網(wǎng)絡剪裁通常應用于壓縮網(wǎng)絡模型,HANSΟN 等[27]提出基于偏置參數(shù)衰減的網(wǎng)絡裁剪方式。和常規(guī)網(wǎng)絡相比,輕量級網(wǎng)絡結(jié)構(gòu)所需的網(wǎng)絡參數(shù)量和浮點運算量(Floating-point Οperations Per second,F(xiàn)LΟPs)更小。因此,輕量級的網(wǎng)絡結(jié)構(gòu)更適合在嵌入式設備和移動終端上應用。IANDΟLA等[28]在卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)層面,利用瓶頸結(jié)構(gòu)設計具有更少參數(shù)量的卷積神經(jīng)網(wǎng)絡,根據(jù)該思路,其設計了一種精度與AlexNet 相當?shù)妮p量級網(wǎng)絡結(jié)構(gòu),該網(wǎng)絡參數(shù)量的大小只有AlexNet 的1/50。HΟWARD 等[29]利用深度可分離卷積建立輕量級深度神經(jīng)網(wǎng)絡,結(jié)合2 個超參數(shù)乘法器和分辨率乘法器設計MobileNets 網(wǎng)絡結(jié)構(gòu),其網(wǎng)絡參數(shù)量大小只有標準卷積方法的1/9。張洋等[30]提出改進的EfficientDet 網(wǎng)絡并結(jié)合注意力機制,在保證網(wǎng)絡參數(shù)量的前提下提高了網(wǎng)絡準確率。
為了同時實現(xiàn)較低的網(wǎng)絡參數(shù)量以及較高的網(wǎng)絡準確率,本文主要進行如下研究:
1)針對預先定義圖拓撲結(jié)構(gòu)所導致的準確率降低的問題,提出一種基于圖卷積網(wǎng)絡結(jié)構(gòu)的非局部網(wǎng)絡模塊,直接關注所有關節(jié)點并判斷其是否存在連接,從而提高網(wǎng)絡的準確率。
2)為了減少網(wǎng)絡訓練的次數(shù),提出多流數(shù)據(jù)融合算法,將關節(jié)點信息流、骨長信息流、關節(jié)點運動信息流、骨長運動信息流進行融合,使得網(wǎng)絡通過一次訓練即可得到最優(yōu)結(jié)果,從而降低網(wǎng)絡參數(shù)量。
3)結(jié)合Ghost 卷積的思想,分別設計空間圖卷積網(wǎng)絡和時間圖卷積網(wǎng)絡,從主干網(wǎng)絡的層面降低網(wǎng)絡參數(shù)量。
4)設計新的時空圖卷積基礎模塊和時空圖卷積網(wǎng)絡,并在NTU60 RGB+D[31]和NTU120 RGB+D[32]數(shù)據(jù)集上進行驗證。
在ST-GCN 的基礎上,本文利用GhostNet 網(wǎng)絡中的Ghost卷積結(jié)構(gòu)來降低網(wǎng)絡參數(shù)量,其中,用Ghost卷積替換空間圖卷積,命名為GSCN(Ghost Spatial Convolutional Network)模 塊,連接一個BN(Batch Normalization)層和一個ReLU層,以加快訓練;用Ghost卷積替換時間卷積,命名為GTCN(Ghost Temporal Convolutional Network)模塊,連接一個BN 層和一個ReLU 層,以加快訓練。如圖1 所示,一個基礎Ghost圖模塊(Ghost Graph Convolution Networks,GGCN)由一個GSCN、一個dropout 層和一個GTCN 組成,其中,dropout參數(shù)設置為0.5,同時,為了穩(wěn)定訓練,網(wǎng)絡中增加了殘差連接。
圖1 非局部網(wǎng)絡模塊和單個GGCN 網(wǎng)絡模塊Fig.1 Non-local network module and single GGCN network module
對于傳統(tǒng)的圖卷積,人體的物理結(jié)構(gòu)是設計圖拓撲結(jié)構(gòu)的基礎,但是這樣的設計對于動作識別并非有效,例如,在由NTU-RGB+D 數(shù)據(jù)集提供的拓撲圖中,頭和手之間沒有聯(lián)系,但是在“wiping face(擦臉)”和“touching head(摸頭)”等動作中,頭和手之間的關系就是很重要的信息,因此,連接關系不應局限在相鄰節(jié)點中。隨著信息在不同網(wǎng)絡層間的傳遞,不同網(wǎng)絡層的語義信息將不同,因此,圖網(wǎng)絡結(jié)構(gòu)也應該隨著信息的傳遞而更新。
針對上述問題,結(jié)合WANG 等[11]提出的非局部神經(jīng)網(wǎng)絡,本文提出一種非局部網(wǎng)絡模塊,該模塊可直接關注所有的關節(jié)點,繼而判斷所有關節(jié)點間是否存在連接。在訓練過程中,以端到端方式對不同層和樣本分別學習圖結(jié)構(gòu)。與原始非局部神經(jīng)網(wǎng)絡不同,本文所提非局部網(wǎng)絡模塊包括3個部分,如圖1所示:第1部分Ai是物理結(jié)構(gòu)圖,和ST-GCN[13]中的物理結(jié)構(gòu)圖保持一致;第2 部分Bi是可以共享的圖結(jié)構(gòu),對于不同樣本而言這個部分是相同的,其可以表示關節(jié)點之間連接的一般模式;第3 部分Ci可為不同樣本學習獨一無二的圖結(jié)構(gòu),其為個性化的圖結(jié)構(gòu),針對任意一個樣本捕捉到獨特的特征圖。具體地,針對第3 部分Ci,本文采用歸一化嵌入式高斯函數(shù)計算2 個關鍵點之間的相似性,如式(1)所示:
其中:N代表關節(jié)點的數(shù)目;T表示幀數(shù);θ和?用來進行維度變換。通過點積計算可以得到所有關鍵點之間的相關性,進而得到非局部鄰接矩陣。
如圖1 所示,使用1×1 卷積表示嵌入函數(shù),每個輸入特征圖的個性化圖的計算如式(2)所示:
其中:softmax 操作將結(jié)果歸一化在0~1 之間;W是1×1 卷積的參數(shù),初始值為0,與共享圖相同,它也需要采用殘差連接。綜上,圖卷積的定義公式如下:
圖卷積網(wǎng)絡方法主要分為基于頻譜的方法(spectralbased)和基于空間的方法(spatial-based)?;陬l譜的圖卷積網(wǎng)絡中的圖卷積操作可以看成將原始的處于空間域的圖信號變換到頻域之后,對頻域?qū)傩赃M行濾波,然后再恢復到原來的圖信號所在的空域中,從而完成特征提?。?3],該操作的缺點是靈活性低、普適性差、運行效率不高;基于空間的圖卷積讓圖中的節(jié)點在空間域中相連并達成層級結(jié)構(gòu),進而進行卷積,因此,其能降低復雜度,增強泛化能力,提高運行效率。空間域圖卷積方法是動作識別領域的主流方法。
將骨架數(shù)據(jù)表示為N個節(jié)點,T幀的時空圖為G=(V,Ε)。人體動作的骨架坐標可以表示為X∈RN×T×d,其中,d是關節(jié)點的維度。基于圖卷積的模型包含空間圖卷積和時間圖卷積2 個部分。
對于空間圖卷積,將節(jié)點的鄰域定義為鄰接矩陣A∈{0,1}N×N。為了更好地說明空間圖卷積,將鄰接矩陣劃分為向心點、本征點和離心點3 個部分。對于單幀,F(xiàn)∈RN×C代表輸入特征,F(xiàn)′∈RN×C′代表輸出特征,其中,C和C′分別代表輸入和輸出特征的維度。圖卷積計算如式(4)所示:
其中:P={本征點,向心點,離心點}代表空間分區(qū)是歸一化的鄰接矩陣,定義如式(5)所示。
根據(jù)文獻[34],時間卷積是通過連接連續(xù)幀的節(jié)點并在時間維度上進行1 維卷積來實現(xiàn)。卷積核的大小由kt表示,通常設置為9。
基于上述圖卷積的模型有2 個缺點:
1)需要大量的算力。例如,ST-GCN[13]識別一個動作樣例需要16.2GFLΟPs,其中,空間圖卷積消耗4.0GFLΟPs,時間圖 卷積消 耗12.2GFLΟPs。一 些ST-GCN 的相關算法甚至需要消耗100GFLΟPs[17]。
2)不論是時間圖結(jié)構(gòu)還是空間圖結(jié)構(gòu),都是預先定義好的,盡管一些研究工作[14]采用了可學習的鄰接矩陣,但是其仍受常規(guī)圖卷積架構(gòu)的限制。
受限于內(nèi)存和算力,在嵌入式設備上部署神經(jīng)網(wǎng)絡比較困難。例如,給定輸入數(shù)據(jù)X∈Rc×h×w,其中,c代表輸入數(shù)據(jù)的通道數(shù),h和w分別是輸入數(shù)據(jù)的高和寬。用于產(chǎn)生n個特征映射的任意卷積層的操作如式(6)所示:
其中:*代表卷積操作;b代表偏置項;Y∈代表輸出的有n個通道的特征圖,h′和w′代表輸出數(shù)據(jù)的高和寬;f∈Rc×k×k×n代表這個層的卷積濾波器,k×k代表卷積濾波器f的卷積核大小。如圖2 所示,此時FLΟPs 可以由n·h′·w′·c·k·k計算,由于濾波器和通道數(shù)通常非常大(如256、512 等),因此FLΟPs 通常高達數(shù)十萬。
圖2 常規(guī)卷積操作Fig.2 Conventional convolution operation
HAN 等[12]提出的Ghost 模塊可以有效解決上述問題。一個訓練好的深度神經(jīng)網(wǎng)絡通常包含很多冗余的特征圖,在這些特征圖中,有些是彼此近似的,因此,用大量的網(wǎng)絡參數(shù)和FLΟPs 逐個生成冗余特征圖沒有必要。假設有m個固有特征圖Y′∈由初始卷積生成,如式(7)所示:
其中:卷積濾波器為f′∈Rc×k×k×m,m≤n。其他超參數(shù)(卷積核、步長、空間大小等)與原始卷積保持一致。為了得到所需要的n個特征圖,可以利用一系列線性操作在固有特征圖Y′上生成s個Ghost 特征,如式(8)所示:
圖3 Ghost 卷積操作Fig.3 Ghost convolution operation
Ghost 模塊包含一個恒等映射和m·(s-1)=(n/s)·(s-1)個線性運算,理想情況下普通卷積與Ghost 模塊的參數(shù)量比如式(9)所示,即用Ghost 模塊代替普通卷積操作可以使參數(shù)量縮小s倍。
基于圖卷積的方法通常利用訓練多流數(shù)據(jù)集的方式提高精度。特征流數(shù)據(jù)是指針對同一對象來描述這些數(shù)據(jù)的不同視角。利用多流數(shù)據(jù)之間的互補性可以學到更好的特征表示。本文提出一種將多流數(shù)據(jù)融合到圖卷積中的方法,該方法對關節(jié)點信息流、骨長信息流、關節(jié)點運動信息流、骨長運動信息流進行融合。進行多流數(shù)據(jù)融合,一方面使得構(gòu)建的鄰接矩陣具有全局特性,另一方面能夠減少運算次數(shù),降低運算成本,實現(xiàn)網(wǎng)絡輕量化。針對圖卷積網(wǎng)絡參數(shù)量過大的問題,本文設計輕量化Ghost 圖卷積網(wǎng)絡,其包含空間Ghost圖卷積和時間Ghost 圖卷積。
對于一個給定的骨架序列,其關節(jié)點的定義如式(10)所示:
其中:T為序列中的總幀數(shù);N為總關節(jié)點數(shù);Vi,t表示t時刻的關節(jié)點i。為了完成多流數(shù)據(jù)融合,需要對骨架序列s進行多樣化預處理。本文分別給出骨長信息流、關節(jié)點運動信息流和骨長運動信息流的定義。
1)骨長信息流。通常定義靠近人體重心的點為源關節(jié)點,坐標為Vi,t=(xi,t,yi,t,zi,t),遠離人體重心的點為目標關節(jié)點,坐標為Vj,t=(xj,t,yj,t,zj,t)。通過源關節(jié)點與目標關節(jié)點的差值計算骨長信息流,即骨長信息流的定義如式(11)所示:
2)關節(jié)點運動信息流通過計算相鄰2 個幀中相同關節(jié)點之間的差值得到。定義在t幀上的關節(jié)點i,其坐標為Vi,t=(xi,t,yi,t,zi,t),在t+1 幀上的關節(jié)點i則定義為Vi,t+1=(xi,t+1,yi,t+1,zi,t+1)。在關節(jié)點Vi,t與關節(jié)點Vi,t+1之間的運動信息流如式(12)所示:
3)骨長運動信息流通過計算相鄰2 個幀中相同骨骼之間的差值得到。根據(jù)式(10),可以定義在t幀上的骨長信息流為Bi,j,t,在t+1 幀上的骨長信息流為Bi,j,t+1。因此,骨長信息流如式(13)所示:
如圖4 所示,根據(jù)關節(jié)點信息流、骨長信息流、關節(jié)點運動信息流、骨長運動信息流的定義,多流數(shù)據(jù)融合的計算如式(14)所示:
圖4 多流數(shù)據(jù)融合Fig.4 Multi-stream data fusion
如圖5 所示,非局部Ghost 圖卷積網(wǎng)絡(Non-Local Ghost Graph Convolutional Network,NL-GGCN)是由9個基礎模塊堆疊而成,每個塊的輸出通道數(shù)分別為64、64、64、128、128、128、256、256 和256。在網(wǎng)絡的開始階段增加數(shù)據(jù)BN 層,用來歸一化輸入數(shù)據(jù),在網(wǎng)絡的最后增加一個全局平均池化層(Global Average Pooling,GAP),將所有不同的骨架樣本池化到相同的尺寸大小,最后通過softmax 分類獲得預測結(jié)果。
圖5 非局部Ghost 圖卷積網(wǎng)絡結(jié)構(gòu)Fig.5 Non-local Ghost graph convolutional network structure
本文算法流程如算法1 所示。
算法1輕量級人體骨架動作識別算法
本文實驗環(huán)境設置為:64 位Ubuntu 18.04 操作系統(tǒng),Intel?Xeon?CPU E5-2678v3@2.50 GHz,內(nèi)存12 GB,顯卡RTX2080Ti、Cuda10.0.130、Cudnn7.5、PyTorch1.4和Python3.6軟件平臺。
本文實驗的人體骨架數(shù)據(jù)集包括NTU60 RGB+D數(shù)據(jù)集和NTU120 RGB+D 數(shù)據(jù)集,骨架樣例如圖6 所示,通過可視化代碼表現(xiàn)上述數(shù)據(jù)集中人體骨架在不同動作下的狀態(tài)。
圖6 NTU RGB+D 數(shù)據(jù)集中6 種動作的可視化效果Fig.6 Visualization of six actions in NTU RGB+D dataset
NTU60 RGB+D 數(shù)據(jù)集由南洋理工大學提出,由3 個Microsoft Kinectv2 相機同時捕獲完成,包括56 880 個動作片段,60 個動作分類,17 種相機擺放位置組合,有40 名演員參與到數(shù)據(jù)集的采集工作,具體的采樣點分布如圖7 所示,該數(shù)據(jù)采集的樣本關節(jié)點數(shù)目為25。
圖7 NTU60 RGB+D 數(shù)據(jù)集關節(jié)點標簽Fig.7 Joint point labels of NTU60 RGB+D dataset
本文采用該數(shù)據(jù)集中的2 種評判標準:
1)跨表演者(Cross-Sub),表示訓練集和驗證集中的動作來自不同的演員,其中,身份標示為1~38 的演員所演示的動作用于訓練,身份標示為39~40 的演員所演示的動作用于測試,訓練集樣本數(shù)為40 320,測試集樣本數(shù)為16 560。
2)跨視角(Cross-View),表示標號為2 和3 的攝像機拍攝的動作用作訓練,標號為1 的攝像機所拍攝的動作用作測試,訓練集樣本數(shù)為37 920,測試集樣本數(shù)為18 960。
NTU120 RGB+D 數(shù)據(jù)集是對NTU60 RGB+D 數(shù)據(jù)集的擴充,相機擺放位置組合為32 個,動作分類增加到120 類,演員人數(shù)增加到106 人,動作片段數(shù)增加到114 480,樣本關節(jié)點數(shù)保持25 個不變。
本文中的所有實驗都是在PyTorch 深度學習框架下進行[35]。實驗優(yōu)化策略采用Nesterov momentum(0.9)的隨機梯度下降(Stochastic Gradient Descent,SGD)。批大?。˙atch size)為64,模型迭代次數(shù)(Epoch)設置為50,初始學習率為0.1,當?shù)螖?shù)分別為30和40時,學習率除以10。
為了驗證本文算法的有效性,在NTU60 RGB+D和NTU120 RGB+D 這2 個數(shù)據(jù)集上進行實驗對比。
首先,驗證本文多流數(shù)據(jù)融合方案的性能和有效性,設計6 組數(shù)據(jù)流,測試不同數(shù)據(jù)流對實驗結(jié)果的影響,結(jié)果如表1 所示,最優(yōu)結(jié)果加粗表示,下同。其中:J 代表關節(jié)點信息流;B 代表骨長信息流;JM 代表關節(jié)點運動信息流;BM 代表骨長運動信息流。從表1 可以看出,骨長信息流對實驗結(jié)果影響較大,實驗數(shù)據(jù)驗證了本文所提多流數(shù)據(jù)融合方案的有效性。
表1 不同特征數(shù)據(jù)流對實驗結(jié)果的影響Table 1 Effects of different characteristic data streams on experimental results %
其次,為了驗證本文所提網(wǎng)絡的有效性,以融合的多流數(shù)據(jù)作為輸入,在NTU60 RGB+D 數(shù)據(jù)集上進行實驗,以Cross-View 作為評價標準,分別構(gòu)建8 組實驗網(wǎng)絡,測試該網(wǎng)絡模塊對整個實驗結(jié)果的影響,結(jié)果如表2 所示,CV 表示Cross-View。
表2 不同網(wǎng)絡架構(gòu)的準確率對比Table 2 Comparison of accuracy of different network architectures %
在表2 中,Non-local代表增加了非局部網(wǎng)絡模塊,wo-Non-local(without Non-local)代表沒有非局部網(wǎng)絡模塊,Convs 代表常規(guī)空間圖卷積,GhostConvs 代表Ghost 空間圖卷積,Convt 代表時間圖卷積,GhostConvt代表Ghost時間圖卷積。從表2 可以看出,非局部網(wǎng)絡模塊對準確率有較大的提升效果,Ghost結(jié)構(gòu)對準確率提升效果有限。
從網(wǎng)絡參數(shù)量的角度,本文以融合的多流數(shù)據(jù)作為輸入,在NTU60 RGB+D 數(shù)據(jù)集上進行實驗,以Cross-View 作為評價標準,分別構(gòu)建4 組實驗網(wǎng)絡,測試不同網(wǎng)絡結(jié)構(gòu)對實驗結(jié)果的影響,結(jié)果如表3所示,其中,GFLΟPs 代表浮點運算量。從表3 可以看出,Ghost 架構(gòu)在有效降低網(wǎng)絡參數(shù)量的同時保持了較高的準確率。
表3 不同網(wǎng)絡架構(gòu)的網(wǎng)絡參數(shù)量對比Table 3 Comparison of network parameters of different network architectures
為了說明本文所提算法對網(wǎng)絡實時性的影響,以融合的多流數(shù)據(jù)作為輸入,在NTU60 RGB+D 數(shù)據(jù)集上進行實驗,以Cross-View 作為評價標準,分別構(gòu)建4 組實驗網(wǎng)絡,測試不同網(wǎng)絡結(jié)構(gòu)對網(wǎng)絡實時性的影響,結(jié)果如表4 所示,其中,Time 代表檢測單個動作樣本所需時間。從表4 可以看出,隨著Ghost架構(gòu)的應用,網(wǎng)絡檢測單個動作樣本所需時間降低,Ghost 時間圖卷積網(wǎng)絡架構(gòu)對網(wǎng)絡實時性影響較大。
表4 不同網(wǎng)絡架構(gòu)的網(wǎng)絡實時性對比Table 4 Comparison of network real-time performance of different network architectures
在NTU60 RGB+D數(shù)據(jù)集上,本文將所提NL-GGCN與最先進的基于骨骼的動作識別方法在準確率和模型參數(shù)量上進行比較,實驗結(jié)果如表5 所示,CS 表示Cross-Sub。從表5 可以看出,本文NL-GGCN 的模型參數(shù)量遠小于其他方法,同時在準確率方面,以Cross-Sub作為評價標準,本文NL-GGCN 性能優(yōu)勢明顯。
表5 NTU60 RGB+D 數(shù)據(jù)集上的實驗結(jié)果對比Table 5 Comparison of experimental results on NTU60 RGB+D dataset
為解決目前動作識別方法計算復雜度過高的問題,本文提出一種輕量級的人體骨架動作識別方法。針對人體骨架的特征,設計一種非局部網(wǎng)絡模塊,以提升網(wǎng)絡的動作識別準確率。在數(shù)據(jù)預處理階段,進行多流數(shù)據(jù)融合,通過一次訓練即可得到最優(yōu)結(jié)果。在網(wǎng)絡結(jié)構(gòu)上,分別將Ghost網(wǎng)絡結(jié)構(gòu)應用在空間圖卷積和時間圖卷積上,進一步降低網(wǎng)絡參數(shù)量。動作識別數(shù)據(jù)集NTU60 RGB+D和NTU120 RGB+D上的實驗結(jié)果表明,該方法在實現(xiàn)較低網(wǎng)絡參數(shù)量的情況下能達到較高的識別準確率。在未來,人體動作識別將向著高實時性和高準確率的方向發(fā)展,以期廣泛應用于安防監(jiān)控、陪護機器人等領域。后續(xù)將結(jié)合Transformer、heatmap stack、EfficientNet等新型網(wǎng)絡架構(gòu),進一步提升本文動作識別方法的魯棒性、準確率并降低網(wǎng)絡參數(shù)。