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