趙登閣,智敏
內(nèi)蒙古師范大學(xué) 計算機科學(xué)技術(shù)學(xué)院,呼和浩特010000
基于骨骼數(shù)據(jù)的人體動作識別是計算機視覺領(lǐng)域的熱點之一,它從人體骨骼序列中獲取特征信息,能夠避免視頻數(shù)據(jù)的許多不利因素。視頻數(shù)據(jù)會受到復(fù)雜的背景、變幻的色彩和明暗度、目標大小縮放以及動作軌跡速度變化的影響,基于視頻數(shù)據(jù)的人體動作識別算法[1-3]在3D 空間獲取準確特征表達的難度相對更大。骨骼數(shù)據(jù)規(guī)避了以上視頻數(shù)據(jù)中的限制,因此,骨骼數(shù)據(jù)動作識別算法的抗干擾性和魯棒性更強,也更適于解決動作識別任務(wù)中遇到的難題。
早期基于骨骼數(shù)據(jù)的算法[4-6]通常使用手工提取特征,但此類方法工作量較大且在特征表達上有很大的限制,也無法同時捕捉時空特征。隨著深度學(xué)習(xí)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolution neural networks,CNN)[7]及循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[8]提升了基于骨骼數(shù)據(jù)動作識別算法的性能,能夠從骨骼序列中提取關(guān)節(jié)點特征,然而由于骨骼數(shù)據(jù)都是非歐幾里德結(jié)構(gòu)數(shù)據(jù),此類算法忽略了至關(guān)重要的節(jié)點間關(guān)聯(lián)信息,整體提升有限。圖神經(jīng)網(wǎng)絡(luò)(graph neural networks,GNN)[9]的出現(xiàn)化解了以往算法難以處理非歐數(shù)據(jù)的困境,圖神經(jīng)網(wǎng)絡(luò)能夠提取節(jié)點間的關(guān)聯(lián)特征,適用于任何拓撲結(jié)構(gòu),相較于其他方法,GNN 更能勝任以骨骼數(shù)據(jù)為基礎(chǔ)的動作識別任務(wù)。將CNN 的概念推廣到GNN 中,于是形成了圖卷積神經(jīng)網(wǎng)絡(luò)[10],此類算法大幅提升了特征提取和表達能力。基于GCN(graph convolutional neural network),Yan 等提出了時空圖卷積網(wǎng)絡(luò)(spatialtemporal graph convolutional neural network,ST-GCN)[11],能夠從空間和時間維度提取空間結(jié)構(gòu)特征和時間軌跡特征,形成高級時空特征,大幅提升動作識別精度。在ST-GCN 基礎(chǔ)上衍生出了許多時空圖卷積算法:Thakkar等[12]將骨骼序列根據(jù)人體結(jié)構(gòu)分為多個部分(如頭、軀干、四肢)分別獨立輸入時空圖卷積網(wǎng)絡(luò)中,最終融合為整體結(jié)果;Zhang等[13]分別將骨骼序列圖中關(guān)節(jié)點和骨架作為獨立輸入,同時對關(guān)節(jié)頂點和肢體骨架進行卷積操作,構(gòu)造了以不同輸入為基礎(chǔ)的雙流時空圖卷積網(wǎng)絡(luò);Cheng等[14]利用輕量級位移圖操作代替卷積操作,通過空間位移圖和時間位移圖獲取時空特征;Liu等[15]構(gòu)造了統(tǒng)一時空圖卷積模塊,直接對跨時空關(guān)節(jié)依賴關(guān)系建模,同時消除冗余依賴關(guān)系,提高了模型性能;Zhang等[16]通過點積、線性函數(shù)、可學(xué)習(xí)參數(shù)等計算方法,減少了卷積層的堆疊,降低了動作識別算法的計算量;Ma等[17]設(shè)計了區(qū)域關(guān)聯(lián)自適應(yīng)圖卷積網(wǎng)絡(luò),強化了模型的靈活性和對非物理連接相關(guān)性的捕捉。雖然基于ST-GCN 的算法改進都提升了人體動作識別精度,但仍然存在問題。此類時空圖卷積算法的時間卷積往往是固定結(jié)構(gòu),單一且尺度固定的卷積核難以提取每個動作序列中的全部重要軌跡特征,限制了時空圖卷積網(wǎng)絡(luò)的能力。
為解決以上問題,本文在ST-GCN 的基礎(chǔ)上,提出了多尺度時間卷積結(jié)構(gòu),利用不同尺度的圖卷積從時間維度提取各尺度軌跡特征,并融合為全面的時空特征,提高了基于骨骼數(shù)據(jù)的動作識別精度。
基于骨骼數(shù)據(jù)的人體動作識別時空圖卷積網(wǎng)絡(luò)(ST-GCN),能夠從時間和空間兩個維度共同提取時空特征。主要流程是:給定一個動作視頻的骨骼序列,首先構(gòu)造表達該序列的圖結(jié)構(gòu)數(shù)據(jù),并以此作為ST-GCN 的輸入;然后經(jīng)過一系列的時空圖卷積操作提取高層時空特征;最后利用Softmax 分類器得到分類結(jié)果。ST-GCN 實現(xiàn)了端對端的訓(xùn)練,其整體結(jié)構(gòu)及卷積單元結(jié)構(gòu)如圖1 所示。
圖1 ST-GCN 網(wǎng)絡(luò)及單元結(jié)構(gòu)Fig.1 ST-GCN network and architecture of block
每個圖卷積單元包含一個空間卷積層、一個時間卷積層和殘差結(jié)構(gòu)。在時空圖卷積單元內(nèi),存在一個可學(xué)習(xí)的邊權(quán)重參數(shù),用于學(xué)習(xí)節(jié)點之間的邊重要程度。該邊權(quán)重的優(yōu)勢是可以作為ST-GCN 內(nèi)部的注意力機制,起到強化關(guān)聯(lián)信息的作用;但不足之處在于,對關(guān)鍵節(jié)點和結(jié)構(gòu)化特征并未有效加強。ST-GCN 的時間卷積層采用具有固定結(jié)構(gòu)的卷積操作,卷積核大小為單一定值。骨骼序列圖,首先通過空間卷積層獲取空間結(jié)構(gòu)特征,再經(jīng)過時間卷積獲取時間流方向上的時間特征,最后利用殘差機制融合原始輸入和高層時空特征,形成每個時空圖卷積單元的輸出。每個ST-GCN 時空卷積單元中,空間圖卷積和時間圖卷積可以有類似的表達:
時空圖卷積獲取時空關(guān)聯(lián)信息的流程如圖2 所示,輸入的骨骼數(shù)據(jù)包含空間和時間兩個序列,其中空間序列即單幀內(nèi)的關(guān)節(jié)點序列,時間序列即時間流序列。首先,通過空間卷積層從空間序列中提取出每個單幀的結(jié)構(gòu)特征,這些特征不僅包含節(jié)點特征和幀內(nèi)節(jié)點間的關(guān)聯(lián)信息,還保留原始時間序列;之后,通過時間卷積層從時間流的方向上提取幀間特征,幀間特征包含了節(jié)點的軌跡特征,即時間關(guān)聯(lián)信息;經(jīng)上述兩步,時空卷積既獲取了單幀內(nèi)結(jié)構(gòu)化的空間關(guān)聯(lián)信息,又獲取了連續(xù)幀之間節(jié)點軌跡的時間關(guān)聯(lián)信息,由此構(gòu)成了包含大量時空關(guān)聯(lián)信息的特征圖。
圖2 時空卷積流程圖Fig.2 Flow of spatial-temporal convolution
人體動作識別所需的特征是多變的,不同動作的判別關(guān)鍵也有所區(qū)別。如圖3 所示(前4 幅圖為“起立”,后4 幅圖為“坐下”),“起立”和“坐下”兩個動作相似,二者的空間特征差異不大,但在時間特征上,兩者有明顯的不同;“坐下”在時序上是一個由“高”到“低”的過程,而“起立”則相反,在時序上是一個由“低”到“高”的過程;因此,二者的時間特征在時序上存在很大差異。另外,不同動作的持續(xù)時間也不相同,例如,“擊打”只需要2 s 左右的時間,而“穿夾克”則需要5 s 左右的時間,二者的時間特征存在長短期差異。由此,基于骨骼信息的人體動作識別需要從時間維度上全面地提取并融合不同距離或尺度的特征,才能準確表達對應(yīng)不同動作序列的重要特征部分,更加精確地完成動作分類。
圖3 “起立”和“坐下”軌跡特征Fig.3 Motion features of“stand up”and“sit down”
多尺度特征融合可以增強不同分辨率和距離特征的表達能力,而多尺度特征的提取可以通過設(shè)計多個不同尺寸的卷積核實現(xiàn),如經(jīng)典的Inception 系列網(wǎng)絡(luò)[18]是 在VGG網(wǎng)絡(luò)(visual geometry group network)[19]多個固定3×3 卷積的基礎(chǔ)上,通過設(shè)置多尺度卷積核,獲得了更好的特征提取效果,提升了實驗效果;Li[20]在尺寸為t的單一時間卷積核基礎(chǔ)上,通過額外增加一個2t尺寸的卷積核,提高了動作識別精度。大尺寸的卷積核具有相對更大的感受野,獲取特征分辨率更低,能夠捕捉更豐富的長距離高層語義信息,同時計算量相對較大;小尺寸的卷積核具有相對較小的感受野,局部性更強,獲取特征分辨率更高,能夠捕捉更豐富的短距離低層內(nèi)含信息,計算量相對較??;二者兼具優(yōu)點,對不同任務(wù)需求的適應(yīng)程度各有不同。對于基于骨骼信息的人體動作識別,全面的時間特征提取包含對長、短距離依賴的提??;本文采用多尺度時間卷積核進行時間特征提取,利用小尺寸卷積進行短程時序特征建模,提取豐富的節(jié)點局部內(nèi)含信息;利用大尺寸卷積進行長距離時序依賴建模,提取豐富的長時語義信息;利用中間尺度卷積提取同時包含語義和內(nèi)含信息的特征,使模型對時間特征的提取更加全面。另外,有效的特征融合策略可以強化多尺度特征提取效果,合理的網(wǎng)絡(luò)結(jié)構(gòu)可以優(yōu)化特征融合策略;因此設(shè)計并選擇性能更優(yōu)的模型架構(gòu)也是全面提取多尺度時間特征的關(guān)鍵。反觀時空圖卷積網(wǎng)絡(luò)(ST-GCN),存在時間卷積層結(jié)構(gòu)單一、卷積核尺寸固定、難以全面提取對應(yīng)每個動作序列重要特征部分的問題;為此,本文以多尺度特征提取和融合為基礎(chǔ),設(shè)計了多尺度時間圖卷積層,包括不同數(shù)量和尺寸的卷積核以及構(gòu)造的特征融合架構(gòu)。
本文設(shè)計的多尺度時間卷積層(multiple-temporal graph convolution,MT-GC)結(jié)構(gòu)如圖4 所示。
圖4(a)將多個不同尺度圖卷積操作單元并行處理,構(gòu)造了多尺度并行時間圖卷積(multiple-temporal parallel graph convolution,MPT-GC),可以有如下表示:
圖4 多尺度時間圖卷積(MT-GC)結(jié)構(gòu)Fig.4 Architecture of multiple-temporal graph convolution(MT-GC)
其中,x為輸入,y代表輸出,conv()表示2D 卷積,表示MPT-GC 子單元,卷積核大小從1至n,BN() 表示批歸一化,gt() 表示時間圖卷積,ReLU() 表示激活函數(shù),Drop() 為隨機丟棄機制。式(4)代表MPT-GC 子單元,每個子單元采用BN歸一化-ReLU 激活-圖卷積g-BN 歸一化的結(jié)構(gòu),并且在單元末尾與原輸入融合;其中兩個BN 歸一化使模型可以在更大的學(xué)習(xí)率下進行訓(xùn)練和測試,防止梯度爆炸和過擬合現(xiàn)象的發(fā)生,保證模型的收斂性能;ReLU 激活函數(shù)使模型參數(shù)在前后向的循環(huán)學(xué)習(xí)中得到優(yōu)化;圖卷積是進行特征提取的核心操作,且每個子單元圖卷積核大小不同;隨機丟棄操作Drop在每個子循環(huán)中隨機丟棄部分算子,既能夠降低計算量,又進一步防止過擬合的發(fā)生,提升模型收斂性;每個子單元的輸出在末位與原輸入的融合是本文算法對殘差結(jié)構(gòu)的改進,作用是保持原始特征信息的作用,防止原始信息過度流失,并且保持模型在深層中的魯棒性。從式(3)可以看到,MPT-GC 以不同尺度卷積并行提取多尺度時間特征,通過直接加權(quán)求和策略進行多尺度特征融合,將長、中、短距離時序特征組合為時間特征圖,再通過一個2D 卷積進一步強化特征提取;在特征融合過程中,此結(jié)構(gòu)卷積不對提取到的時序特征作額外處理,而是直接統(tǒng)一到同一時間特征圖中,簡單地融合就使時序特征表達更加全面,并且在計算量上的增加要少于設(shè)計的其他卷積單元結(jié)構(gòu)。
圖4(b)將多個不同尺度圖卷積單元串行處理,構(gòu)造多尺度串行時間圖卷積(multiple-temporal serial graph convolution,MST-GC),如式(5):
MST-GC 的卷積子單元與上文MPT-GC 和后面將介紹的MDT-GC 子單元具有同樣的結(jié)構(gòu)和式(4)表達,都采用BN-ReLU-g-BN 結(jié)構(gòu)。在MST-GC 中,子單元的卷積核按照由前到后的結(jié)構(gòu)順序被設(shè)置為由小到大的尺寸,由小尺寸卷積獲取相對短程的特征,再逐層利用相對較大尺寸的卷積獲取長距離的語義依賴關(guān)系,使獲取的語義信息既能夠以節(jié)點內(nèi)含信息為基礎(chǔ),又能夠捕捉更高級的關(guān)聯(lián)信息。MST-GC 采用順序融合的策略,強化了內(nèi)含和語義關(guān)聯(lián)信息的提取,其計算量的增加高于MPT-GC,低于MDT-GC。
圖4(c)借鑒了經(jīng)典的稠密網(wǎng)絡(luò)(densely connected convolutional network,Dense-Net)[21]結(jié) 構(gòu),并融合MPT-GC 和MST-GC 的特點,構(gòu)造了多尺度稠密時間圖卷積(multiple-temporal dense graph convolution,MDT-GC),如式(6):
視覺變換網(wǎng)絡(luò)(vision transformer network,ViT)[22]具有強大的長距離依賴關(guān)系建模能力,而長距離關(guān)聯(lián)信息是基于骨骼信息動作識別的重點和難點之一。為了進一步強化骨骼序列中人體關(guān)聯(lián)信息,本文結(jié)合Transformer 的優(yōu)勢,對殘差機制進行改進,構(gòu)造了變換殘差機制(Transformer-Resnet,Tran-Res),強化了模型對長距離關(guān)聯(lián)依賴的關(guān)注度,并提升了人體動作識別精度。如圖5 所示,Tran-Res 由變換(Transformer branch,Tran)分支和恒等分支(skipconnection branch,Skip)組成,其中Tran 分支對原始輸入進行多頭自注意力計算,得到全部節(jié)點的關(guān)聯(lián)信息;恒等分支不對原始輸入做額外處理,保持原始信息的完整性;最后通過求和的方式對二者進行融合,作為完整的Tran-Res殘差機制輸出結(jié)果。
圖5 變換殘差機制結(jié)構(gòu)Fig.5 Architecture of Transformer-Resnet
Tran 分支以Transformer 網(wǎng)絡(luò)Q、K、V 機制為基礎(chǔ),其結(jié)構(gòu)如圖6 所示。形如Cin×T×V的原始輸入首先經(jīng)過BN 層歸一化處理,并重塑為T×Cin×V的形式,再分別通過兩組線性變換得到相應(yīng)的Q、K、V矩陣,在Q和轉(zhuǎn)置K相乘后,再與V相乘,最后通過重塑得到與原輸入形式一致的輸出Cout×T×V。圖6 中,wq、wk、wv分別為取得Q、K、V矩陣的對應(yīng)參數(shù)權(quán)重,Q、K矩陣分別具有T×N×dq×V和T×N×dk×V的形式,V矩陣具有T×N×dv×V的形式。本文中,空間維度和時間維度下Tran-Res 的Tran 分支基本相似,但有所不同??臻g維度下,Tran 分支處理的是單幀下的所有關(guān)節(jié)點,然后整合為最終的輸出;時間維度下,Tran 分支處理的是連續(xù)幀下的相同關(guān)節(jié)點,并整合為時間維度Tran分支的最終輸出??傮w來說,Tran 分支可以有如下表示:其中,式(7)代表空間維度下的Tran 分支,式(8)代表時間維度下的Tran 分支,其中表示相同幀下每個節(jié)點間的關(guān)聯(lián)強度,并作為節(jié)點值v的權(quán)重參數(shù),上標t代表第t幀,i、j分別代表目標節(jié)點和鄰居節(jié)點;代表連續(xù)幀下每個相同節(jié)點的關(guān)聯(lián)強度,并作為時間維度下節(jié)點值v的權(quán)重參數(shù),上標n代表相同節(jié)點,t、u代表不同連續(xù)幀;softmax()代表激活函數(shù),dk代表通道維數(shù)。
圖6 Tran 分支結(jié)構(gòu)Fig.6 Architecture of Tran stream
如圖7 所示,Tran-Res 作為空間和時間圖卷積子單元的殘差機制,分別融合于空間圖卷積模塊和時間圖卷積模塊中,強化了骨骼序列長距離關(guān)聯(lián)信息,提升了模型性能。
圖7 Tran-Res融合于時空圖卷積模型Fig.7 Tran-Res fused in spatial-temporal graph convolution network
類別相差較大的人體動作識別,不僅需要在時間維度全面地提取時序上的差異特征,同時也需要從空間維度上提取具有明顯差別的結(jié)構(gòu)化特征。如圖8所示,“喝水”和“起跳”兩個動作(前4幅圖為“喝水”,后4幅圖為“起跳”),每幀內(nèi)的動作特征都存在顯著的差異,因此,強化幀內(nèi)空間特征的提取和表達可以提升人體動作識別的精度;另外,對空間特征的強化,也可以減少對類別相近動作的識別混淆度。ST-GCN 內(nèi)部本身存在一定的注意力機制,但該注意力機制僅對關(guān)聯(lián)信息進行了強化,缺少對關(guān)鍵節(jié)點及特征的強化。為提升基于骨骼的人體動作識別精度,本文引入通道空間注意力(convolutional block attention module,CBAM)[23]模塊,強化了空間特征的表達。
圖8 “喝水”和“起跳”軌跡特征Fig.8 Motion features of“drink water”and“jump up”
Woo等[23]構(gòu)建的輕量級通道-空間注意力模塊(CBAM),在強化通道信息的同時,也加強了對空間特征的表達。CBAM 結(jié)構(gòu)如圖9 所示,該模塊可以融入各類基礎(chǔ)網(wǎng)絡(luò)模型中,均得到了一定的性能提升。
圖9 CBAM 結(jié)構(gòu)Fig.9 Architecture of CBAM
CBAM 模塊由通道注意力子模塊和空間注意力子模塊組成。通道注意力模塊包含并行的最大池化和平均池化操作以及對應(yīng)的兩組線性全連接層,輸入通過最大池化和平均池化后,強化了通道信息,再與原始輸出融合得到強化通道特征的輸出;空間注意力模塊包含串行的最大池化和平均池化操作以及一組尺度為7×7 的2D 卷積操作,強化了通道特征的輸入通過最大池化和平均池化后,再由2D 卷積操作得出強化的空間特征,最后與原始輸入加權(quán)融合得出最后的輸出。由于缺少激活函數(shù),在融合原始特征和強化特征時,原始特征和強化特征在深層時會減少差異性;因此本文對CBAM 特征融合階段做了微小調(diào)整,為了加強非線性并強化注意力模塊與模型的融合程度,加入了激活函數(shù)。將激活函數(shù)設(shè)置為Sigmoid,可以強化殘差結(jié)構(gòu)的性能,防止原始特征作用被過度弱化,增加強化特征和原始特征間的差異性。嵌入改進的CBAM 模塊后,構(gòu)造的強化時空圖卷積層結(jié)構(gòu)如圖10 所示。改進的時空圖卷積層能夠強化關(guān)鍵節(jié)點和結(jié)構(gòu)特征,提高基于骨骼的人體動作識別精度。
圖10 強化的時空圖卷積層結(jié)構(gòu)Fig.10 Architecture of enhanced spatial-temporal graph convolution layer
為解決ST-GCN 時間卷積層結(jié)構(gòu)固定、單一的問題,并提升空間特征表達能力,本文改進了ST-GCN時間圖卷積層,構(gòu)造了多尺度時空圖卷積網(wǎng)絡(luò)(spatial multiple-temporal graph convolutional neural network,SMT-GCN);在此基礎(chǔ)上還通過融合通道空間注意力(CBAM)模塊,構(gòu)造了多尺度時空圖注意卷積網(wǎng)絡(luò)(spatial-attentive multiple-temporal graph convolutional neural network,SAMT-GCN)。多尺度時空圖注意卷積單元具體結(jié)構(gòu)如圖11 所示。
圖11 SAMT-GCN 網(wǎng)絡(luò)單元結(jié)構(gòu)Fig.11 Architecture of SAMT-GCN block
每個多尺度時空圖卷積單元由空間圖卷積層、特征強化層、下采樣和上采樣層及多尺度時間圖卷積層組成,空間圖卷積和多尺度時間圖卷積層中都融合了構(gòu)造的變換殘差模塊,并且整體網(wǎng)絡(luò)單元內(nèi)依然應(yīng)用標準殘差機制,不對原始輸入做額外處理,用于融合原始輸入和時空特征。這里不使用構(gòu)造的變換殘差模塊的原因在于,防止原始信息過度流失的可能性,并減少對模型計算負擔(dān)的增加。整個網(wǎng)絡(luò)由骨架估計模塊、多尺度時空圖卷積模塊以及全連接層和Softmax 分類器組成,多尺度時空圖卷積模塊由1 個歸一化層和9 層多尺度時空圖卷積層堆疊組成,每個圖卷積層具有相同的結(jié)構(gòu)。整個網(wǎng)絡(luò)的算法流程如下:
(1)原始視頻通過骨架估計算法得到對應(yīng)的骨骼序列,并構(gòu)造骨骼序列圖x,作為多尺度時空圖卷積模塊的輸入;
(2)輸入x由歸一化層進行規(guī)范化處理,再通過9 層多尺度時空圖卷積層獲取高級時空特征x′;
(3)x′經(jīng)過全連接層融合全局信息,并由Softmax分類器獲取最終的動作分類結(jié)果。
另外,對于基于骨骼信息的人體動作識別,肢體骨架所包含的關(guān)聯(lián)信息與關(guān)節(jié)頂點包含的坐標信息同樣重要;單獨以關(guān)節(jié)頂點或肢體骨架作為輸入,都會使模型對關(guān)聯(lián)信息或節(jié)點坐標的利用不足。因此本文融合兩類輸入的優(yōu)勢,采用雙流網(wǎng)絡(luò)架構(gòu),如圖12,模型由處理關(guān)節(jié)點的分支和處理骨架的分支組成,兩個分支具有相同的網(wǎng)絡(luò)線構(gòu)架,均由多個多尺度時空圖卷積層堆疊而成。關(guān)節(jié)點分支的輸入為人體關(guān)節(jié)點序列,由各幀的人體關(guān)節(jié)點坐標構(gòu)成。骨架分支的輸入為肢體序列,由每一個幀的肢體序列構(gòu)成,肢體序列由該部位的大小和方向表示,根據(jù)肢體兩端的關(guān)節(jié)點坐標計算;例如給定一根肢體骨架,其靠近人體重心的關(guān)節(jié)點為v1=(x1,y1,z1),遠離人體重心的關(guān)節(jié)點為v2=(x2,y2,z2),則該肢體骨架可以表示為ev1v2=(x2-x1,y2-y1,z2-z1)。在兩個分支分別得到對應(yīng)的Softmax 分數(shù)后,通過帶權(quán)相加融合為最終的分數(shù)并預(yù)測動作標簽;與雙流多關(guān)系圖卷積網(wǎng)絡(luò)(two-stream multi-relational graph convolutional network,2S-MRGCN)[24]相似,本文設(shè)置兩個分支的識別分數(shù)具有相同的融合權(quán)重,此時取得的融合效果最佳。
圖12 雙流網(wǎng)絡(luò)結(jié)構(gòu)Fig.12 Architecture of two-stream network
本文分別在NTU RGB+D 和HDM05 兩個常用人體動作識別數(shù)據(jù)集上對提出的模型進行了實驗。與大型數(shù)據(jù)集NTU RGB+D 相比,HDM05 的數(shù)據(jù)規(guī)模相對較小,實驗在大規(guī)模數(shù)據(jù)和小規(guī)模數(shù)據(jù)兩種訓(xùn)練狀態(tài)下進行,驗證了算法的性能。
NTU RGB+D(60)數(shù)據(jù)集[25]是近期主流的大規(guī)模人體動作識別數(shù)據(jù)集,包含56 000 個視頻和60 種動作類別。60 類動作中,50 類為單人動作,10 類為多人交互動作;每位演員捕捉了25 個關(guān)節(jié)點;每個動作片段由3 臺Kinetics 攝像機分別從3 個不同角度-45°、0°、45° 捕捉完成。該數(shù)據(jù)集包含兩種分割方式,Cross Subject 和Cross View:Cross Subject 分割方式根據(jù)動作類別排序,訓(xùn)練集包含40 320 個視頻片段,測試集包含16 560 個視頻片段,兩個集合中的表演者不同;Cross View 分割方式根據(jù)設(shè)備標號排序,訓(xùn)練集包含37 920 個視頻片段,測試集包含18 960 個視頻片段,訓(xùn)練集由2 號和3 號攝像機從0°和45°的角度捕捉完成,測試集由1 號攝像機從-45°的角度捕捉完成。
HDM05 數(shù)據(jù)集[26],包含2 337 個骨骼序列,130 種動作類別,共由5 位表演者完成動作捕捉。該數(shù)據(jù)集總共包含184 046 幀視頻片段,每個人捕捉了31 個關(guān)節(jié)點。與NTU RGB+D 數(shù)據(jù)集相比,該數(shù)據(jù)集的規(guī)模相對較小,實驗利用該數(shù)據(jù)集說明了本文網(wǎng)絡(luò)在相對較小訓(xùn)練量下的性能提升。
本實驗使用的硬件為Nvidia Tesla T4 GPU,操作系統(tǒng)為Linux Centos。以Pytorch 為基礎(chǔ)框架,保障實驗的順利進行。
在實驗中,為防止過擬合現(xiàn)象的發(fā)生,采用隨機丟棄的機制,并將隨機丟棄率Dropout 參數(shù)設(shè)置為0.5。堆疊的9 層多尺度時空圖卷積層中,第4 層和第7 層的卷積步長被設(shè)置為2,以此作為池化層;其中,1到3 層的通道數(shù)設(shè)置為64,5 到6 層的通道數(shù)設(shè)置為128,8 到9 層的通道數(shù)設(shè)置為256。同時,經(jīng)反復(fù)實驗對比發(fā)現(xiàn),將每層的學(xué)習(xí)率設(shè)置為0.1 時,可以確保實驗的最優(yōu)結(jié)果。批處理量被設(shè)置為64,每個樣本的最大幀數(shù)設(shè)置為300 幀,不足300 幀的片段則會反復(fù)循環(huán)直到300 幀幀數(shù)上限;訓(xùn)練回合數(shù)被設(shè)置為80 輪批次。訓(xùn)練采用隨機梯度下降法更新參數(shù),優(yōu)化模型,保證模型的收斂性。模型使用交叉熵函數(shù)作為訓(xùn)練損失,如下所示:
其中,x為預(yù)測值,class為真實值,該損失是凸優(yōu)化函數(shù),適合隨機梯度下降法尋找最優(yōu)解,能夠衡量類間的細微差異。
另外,本文分析了雙流網(wǎng)絡(luò)架構(gòu)的合理性。表1列出了在相同實驗參數(shù)設(shè)置下(k=1,5,9;稠密結(jié)構(gòu)時間圖卷積),本文算法在不同融合權(quán)重雙流架構(gòu)下的精度提升。與單獨以關(guān)節(jié)頂點(joint-stream,jstream)和肢體骨架(bone-stream,b-stream)為輸入的模型架構(gòu)相比,雙流架構(gòu)(two-stream,2s-stream)的模型精度有明顯的提升。表1 還列出了在不同融合權(quán)重下雙流模型的識別精度,結(jié)果顯示,當(dāng)融合權(quán)重值設(shè)置為0.5 時,模型精度最高。因此,采用以關(guān)節(jié)頂點和肢體骨架為基礎(chǔ)的雙流網(wǎng)絡(luò)架構(gòu),能夠有效提升模型性能。
表1 不同融合權(quán)重下雙流模型在NTU-CS 上的精度Table 1 Accuracy of 2s-stream network on NTU-CS with different fusion weights
本文分析了設(shè)計的多尺度時空圖卷積網(wǎng)絡(luò)(SMT-GCN)在有無注意力機制嵌入下的參數(shù)量規(guī)模,如表2 所示。可以看出隨著設(shè)計的多尺度卷積核尺寸和數(shù)量的增加,模型的參數(shù)量和復(fù)雜程度也隨之增加;當(dāng)存在4 個尺度的時間卷積核時,無注意力機制模型參數(shù)量達到9.70 MB,嵌入注意力模塊的模型參數(shù)量達到9.92 MB,是ST-GCN 的3 倍。另外,圖13 為ST-GCN 與本文設(shè)計的多尺度稠密時空圖卷積模型SMDT-GCN,在相同參數(shù)設(shè)置和訓(xùn)練設(shè)置情況下的損失收斂對比圖,顯示了在50 輪訓(xùn)練下的損失變換。從圖中可以看出在相同訓(xùn)練輪次下,多尺度時空圖卷積模型的收斂速度要比ST-GCN 更快,效果更好。
表2 參數(shù)量對比Table 2 Comparison of parameters 單位:MB
圖13 損失函數(shù)收斂曲線Fig.13 Convergence curve of loss function
本文比較了提出的多尺度時空圖卷積網(wǎng)絡(luò)與ST-GCN 在兩個主流動作識別數(shù)據(jù)集上的實驗結(jié)果對比,如表3 和表4 所示。
表3 NTU RGB+D 識別精度及浮點運算數(shù)Table 3 Accuracies and FLOPs on NTU RGB+D
表4 各方法在HDM05 數(shù)據(jù)集的識別精度Table 4 Accuracies of algorithms on HDM05
表3 列出了各方法在NTU RGB+D 數(shù)據(jù)集上的精度和浮點計算量。其中SMT-GCN 并未在多尺度時空圖卷積網(wǎng)絡(luò)中嵌入通道空間注意力(CBAM)模塊,SAMT-GCN 在構(gòu)造的多尺度時空圖卷積網(wǎng)絡(luò)中融合了通道空間注意力(CBAM)模塊;另外,表中SMPT-、SMST-、SMDT-、SMDT-p-分別表示具有并行、串行、稠密、簡化稠密結(jié)構(gòu)多尺度時間圖卷積的時空模型。在4 種多尺度時間圖卷積單元中,圖卷積操作單元卷積核大小分別設(shè)置為1、5、9,經(jīng)消融實驗對比發(fā)現(xiàn),如此設(shè)置的多尺度時間圖卷積層參數(shù)可以使模型的性能最優(yōu),消融實驗的結(jié)果和細節(jié)將在下節(jié)中敘述。
表4 列出了各類方法在HDM05 數(shù)據(jù)集上的識別精度。在相對較小規(guī)模的數(shù)據(jù)集上,本文算法的精度提升相對少于在大規(guī)模數(shù)據(jù)集上的精度提升,這表明該算法仍需要大規(guī)模數(shù)據(jù)作為訓(xùn)練基礎(chǔ)。
從表3 和表4 可以看出,具有稠密結(jié)構(gòu)的SMDT-獲得了最優(yōu)的實驗效果,這是因為SMDT-相較于SMPT-能夠獲取更加豐富的高層語義信息,相較于SMST-,SMDT-獲取的語義和內(nèi)含信息更加全面,SMDT-有效融合了并、串行結(jié)構(gòu)的優(yōu)點;SMST-雖然能夠更好地對長距離依賴建模,但相較于其他結(jié)構(gòu),其時間特征仍然不夠全面,因此獲取的精度提升最??;簡化版的SMDT-p-雖然看似融合了并行、串行的設(shè)計思想,但實際上其結(jié)構(gòu)仍可以視為強化版的串行結(jié)構(gòu)時間卷積模型;雖然第n層的輸入包含前n-1層所有輸出和,但經(jīng)過第n層相對大尺寸卷積計算后,所捕獲的依然是長距離的語義依賴,對短程信息的利用依然沒有并行結(jié)構(gòu)和稠密結(jié)構(gòu)全面,因此簡化版SMDT-p-的實驗精度要低于SMDT-和SMPT-。從表2 和表3 中可以看到,不同結(jié)構(gòu)的多尺度時空模型對計算復(fù)雜度FLOPs 有不同程度的增加,其中并行結(jié)構(gòu)SMPT-GCN 的浮點計算量較ST-GCN 增加了23.5 GFLOPs,增加得最少;而稠密結(jié)構(gòu)的SMDTGCN 增加得最多,較ST-GCN 增加了100.7 GFLOPs,較SMPT-GCN 增加了77.2 GFLOPs。雖然SMDTGCN 的精度比SMPT-GCN 高出1 個百分點,但計算復(fù)雜度卻增加了近3 倍,因此如果綜合復(fù)雜度的增加和精度的提升,本文認為SMPT-GCN 的整體效果最佳。從表2 還可以看到,改進CBAM 注意力的嵌入并未顯著增加復(fù)雜度,但平均增加了1.34 個百分點的精確度。
另外,本文設(shè)計的多尺度時間圖卷積可以作為結(jié)構(gòu)策略模塊,應(yīng)用于各類具有相似構(gòu)架的圖卷積動作識別模型中,并提升效果。為了驗證多尺度時間圖卷積的有效性,本文以2S-AGCN(two-steam adaptive graph convolutional neural network)[27]、AS-GCN(actionalstructural graph convolutional network)[28]模型為基礎(chǔ)基線,進行了融合實驗,在NTU RGB+D-CS 上的實驗結(jié)果如表5 所示。
表5 不同基線融合MPT-GC 實驗效果Table 5 Performance of MPT-GC with other baselines
可以看出,本文設(shè)計的方法以不同的基線為基礎(chǔ),均獲得了優(yōu)秀的實驗效果,其中以2S-AGCN 為基線的多尺度模型將識別準確率達到90.4%,證明了多尺度時間圖卷積是提升動作識別精度的有效方法。
綜上所述,本文設(shè)計的多尺度時間卷積模塊可以有效地提升基于骨骼信息的人體動作識別精度,同時也可以作為策略模塊,遷移到其他基線中并提高性能;改進CBAM 注意力的嵌入也提升了模型性能。另外,本文提出的模型需要以大規(guī)模訓(xùn)練為基礎(chǔ),在大規(guī)模數(shù)據(jù)集上的表現(xiàn)優(yōu)于在小規(guī)模數(shù)據(jù)集上的表現(xiàn)。
為了探究設(shè)計的多尺度時間圖卷積層中,卷積核尺寸以及圖卷積層結(jié)構(gòu)對性能的影響,本文設(shè)計了相應(yīng)的消融實驗。實驗對不同的卷積核大小及卷積層結(jié)構(gòu)進行了比較,其中時間卷積子單元層數(shù)分別從1 層延伸至4 層,卷積核尺寸分別設(shè)置有1、5、9、13、17、21,消融實驗在NTU RGB+D 數(shù)據(jù)集上進行,采用Cross Subject 分割方式訓(xùn)練和測試。消融實驗結(jié)果如表6 所示。
表6 中SMT-GCN 表示未嵌入注意力模塊的多尺度時空圖卷積模型,SAMT-GCN 代表嵌入注意力模塊的多尺度時空圖注意卷積模型,兩類模型都融合了構(gòu)造的變換殘差機制Tran-Res,模型一欄中字母-P-、-S-、-D-p-、-D-分別代表具有并行、串行、簡化稠密和稠密時間圖卷積結(jié)構(gòu)的模型。從消融實驗結(jié)果中可以看出,當(dāng)時間圖卷積子單元卷積核尺寸設(shè)置為1、5、9時,多尺度圖卷積模型性能最優(yōu);具有稠密和并行時間圖卷積結(jié)構(gòu)模型的實驗效果優(yōu)于具有其他兩種時間卷積結(jié)構(gòu)的模型;注意力機制的嵌入對模型性能也有一定提升。因此,本文在與其他動作識別算法的對比過程中,均使用卷積核為1、5、9 的參數(shù)設(shè)置。
表6 消融實驗結(jié)果Table 6 Results of ablation study
為了提高基于骨骼數(shù)據(jù)的人體動作識別精度,本文設(shè)計提出了多尺度時空圖卷積,增強了時間特征提??;基于Transformer 構(gòu)造了變換殘差機制Tran-Res,并分別融合于空間和時間圖卷積中,強化了人體長距離關(guān)聯(lián)依賴信息;另外,模型還融合了通道空間注意力(CBAM)模塊。多尺度時空圖卷積模型既全面地提取了時間特征,又強化了人體關(guān)聯(lián)信息以及關(guān)鍵節(jié)點和空間結(jié)構(gòu)化特征,提高了基于骨骼數(shù)據(jù)的人體動作識別模型性能。在實驗過程中,對不同的卷積核尺寸以及不同的多尺度時間卷積層結(jié)構(gòu)進行了消融對比實驗。結(jié)果表明,具有稠密和并行結(jié)構(gòu)且卷積核大小為1、5、9 的時間圖卷積模型性能最優(yōu);設(shè)計的多尺度時間卷積結(jié)構(gòu)可以作為策略模塊融合于其他基線中,并有效提升基線性能。另外,實驗結(jié)果表明,本文網(wǎng)絡(luò)在進行大規(guī)模數(shù)據(jù)訓(xùn)練后的結(jié)果要好于在小規(guī)模數(shù)據(jù)集上的訓(xùn)練結(jié)果。多尺度時空圖卷積模型提升了人體動作識別精度,但在上下文關(guān)系的利用上,仍有欠缺,對關(guān)聯(lián)特征相距較遠的特殊動作(如“拍手”)的識別仍有待加強。今后的工作,將在本文的基礎(chǔ)上,從全局上下文關(guān)系的角度對算法進行改進,以進一步提升基于骨骼數(shù)據(jù)的人體動作識別精度。