束 陽,李汪根,高 坤,王志格,葛英奎
(安徽師范大學 計算機與信息學院,安徽 蕪湖 241002)
近些年來,動作識別在計算機視覺領(lǐng)域上扮演著愈來愈重要的角色,充滿了挑戰(zhàn)性和吸引性。目前,動作識別在視頻監(jiān)控、人機交互、體育運動[1-2]等領(lǐng)域都有著遠大的前景。傳統(tǒng)的基于RGB[3]圖像的動作識別容易受到各種因素的干擾:如光暗程度、攝像機角度和人體自身遮擋或其他遮擋等,往往會造成關(guān)鍵信息的丟失。而當前主流的基于人體骨骼數(shù)據(jù)的動作識別方法[4-5]僅僅關(guān)注關(guān)節(jié)的坐標位置信息,不受這些因素的干擾,因而在動態(tài)變化的復(fù)雜環(huán)境中具有良好的適應(yīng)性、魯棒性和穩(wěn)定性。而且,基于人體骨架數(shù)據(jù)的動作識別計算量遠小于RGB圖像,這使其應(yīng)用在靈活的移動設(shè)備上成為可能,具有廣大的應(yīng)用前景。
早期的用于人體骨架的建模,如遞歸神經(jīng)網(wǎng)絡(luò)[6](Recurrent Neural Network,RNN)和卷積神經(jīng)網(wǎng)絡(luò)[7](Convolutional Neural Network,CNN)等。這些模型可以同時提取人體關(guān)節(jié)之間的時空信息,卻不能表現(xiàn)非歐式空間下關(guān)節(jié)間的圖形關(guān)系,不適用于探索重要關(guān)節(jié)之間的相關(guān)性,導(dǎo)致訓(xùn)練網(wǎng)絡(luò)時大量動作信息丟失。并且,基于RNN的方法需包含大量的計算參數(shù),效率低。
隨著圖卷積網(wǎng)絡(luò)(Graph Convolution Network,GCN)[8]的出現(xiàn),研究人員發(fā)現(xiàn),基于GCN的模型比其他模型具有更好的性能。Yan等人[9]首先提出時空圖卷積神經(jīng)網(wǎng)絡(luò)(Spatial Temporal Graph Convolutional Networks,ST-GCN),骨架數(shù)據(jù)表示為圖形數(shù)據(jù),自然骨架連接用于構(gòu)建每個骨架圖的鄰接矩陣。Shi等人[10]認為不同的關(guān)節(jié)之間也具有相關(guān)性,固定的圖形拓撲結(jié)構(gòu)會限制模型的性能,因此提出雙流自適應(yīng)圖卷積神經(jīng)網(wǎng)絡(luò)(Two-Stream Adaptive Graph Convolutional Networks,2s-AGCN),其中引入了自我注意系數(shù)和自我學習的圖形殘差掩碼來捕捉不同關(guān)節(jié)之間的關(guān)系。同時,添加骨骼流以提高2s-AGCN的性能。在此基礎(chǔ)上,Sun等人[11]提出基于骨架動作識別的多流快慢圖卷積網(wǎng)絡(luò)(Multi-stream slowFast graph convolutional networks for skeleton-based action recognition,MSSF-GCN),其中除了關(guān)節(jié)的坐標信息外,還引入了五個高階序列,包括骨骼邊、關(guān)節(jié)和骨骼邊的空間差異和時間差異,以增強人類行為的表示。Fang等人[12]認為平等的對待骨架的每一幀需要一個大規(guī)模GCN模型來建模,這會造成大量的冗余信息,因此提出基于骨架動作識別的時空慢快速圖卷積網(wǎng)絡(luò)(STSF-GCN),STSF-GCN包含快速路徑和慢速路徑,可以有效地捕獲長程和短程時空聯(lián)合關(guān)系,以更低的計算成本實現(xiàn)更先進的性能。多流網(wǎng)絡(luò)雖然動作分析的準確度較高,但由于參數(shù)量過高和計算量過大,導(dǎo)致其不易在移動設(shè)備上應(yīng)用。
早期,在機器翻譯和圖像識別等領(lǐng)域,Ashish等人[13]和Zheng等人[14]已經(jīng)利用了與語義相關(guān)的顯式探索。他們分別對序列中標記的位置進行編碼和將組索引編碼為卷積信道表示,借此來保留任務(wù)中的時序信息。最近,Zhang等人[15]提出了語義引導(dǎo)的神經(jīng)網(wǎng)絡(luò)(semantics-guided neural networks for efficient skeleton-based human action recognition ,SGN),在GCN模型中顯性地添加了骨骼關(guān)節(jié)和幀索引的語義信息,以保留空間身體結(jié)構(gòu)的重要信息和動作在時間上的連貫性,對模型性能的提升起到很大的作用。Jing等人[16]提出了一種輕量級多信息圖卷積神經(jīng)網(wǎng)絡(luò)(LMI-GCN)。引入由語義信息(關(guān)節(jié)類型和幀索引)拼接成的自適應(yīng)圖,來聚合重要關(guān)節(jié)特征,并且提出一種分流設(shè)計的時間卷積塊來降低模型參數(shù)量和計算量,然而卻沒有充分地利用語義信息。網(wǎng)絡(luò)參數(shù)量較高,導(dǎo)致不適合應(yīng)用于實際場景。
針對以上問題,該文以LMI-GCN為基線,通過多信息輸入模塊提取骨架重要數(shù)據(jù)信息,并提出能充分利用語義信息來提取骨骼關(guān)節(jié)特征的圖卷積模塊。而且,網(wǎng)絡(luò)模型中的自注意力時間模塊在提升模型性能的同時減少了參數(shù)量,總體來說,LSIF-GCN比文獻[16]模型復(fù)雜度更小,識別精度更高,模型效率更強。
主要貢獻如下:(1)提出一種高效的基于輕量級語義信息融合的人類骨骼動作識別方法(LSIF-GCN);(2)提出的“瓶頸型”的圖卷積模塊,充分利用了語義信息以提高模型性能;(3)針對基線中的分流時間卷積塊,引入了壓縮和激勵(SE)模塊[17]并且使用再分組的方法,使模型更小,識別精度更高;(4)在目前流行的NTU-RGB+D60[18]和NTU-RGB+D120[19]大規(guī)模數(shù)據(jù)集上進行多次實驗證明LSIF-GCN是一種高效的輕量級方法。
該文提出一種多層次高級語義融合的骨骼動作識別模型,網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖1所示。網(wǎng)絡(luò)模型整體結(jié)構(gòu)由三部分組成,分別是多信息輸入模塊、圖卷積模塊和自注意力時間卷積模塊。
圖1 LSIF-GCN整體模型框架
根據(jù)先前的研究[20-21]表示,骨骼邊信息對基于人體骨架的動作識別至關(guān)重要。該文在數(shù)據(jù)預(yù)處理階段提取了六種輸入序列信息,分別是關(guān)節(jié)位置信息、關(guān)節(jié)相對位置信息、關(guān)節(jié)速度信息、骨骼邊信息、骨骼邊速度信息和骨骼邊加速度信息。
假設(shè)Gt(V,E)表示第t幀的人體骨架圖,其中V表示所有關(guān)節(jié)點的集合,E表示所有骨骼邊的集合??梢詮脑脊羌茏鴺双@得關(guān)節(jié)數(shù)據(jù),表示為:
pi,t=(xi,t,yi,t,zi,t)∈3
(1)
式中,i=1,2,…,N,t=1,2,…,T。pi,t表示第t幀中關(guān)節(jié)i的3D坐標位置,N是關(guān)節(jié)點總數(shù)量,T是骨骼序列幀的總數(shù)。
關(guān)節(jié)相對位置可以通過從其他關(guān)節(jié)的坐標減去中心關(guān)節(jié)的坐標得出。對于不同的應(yīng)用場景和不同任務(wù),中心關(guān)節(jié)可以進行調(diào)整。如果更多關(guān)注集中在手上的動作細節(jié),如手勢識別,可以將中心關(guān)節(jié)設(shè)定為指關(guān)節(jié)或腕關(guān)節(jié)??紤]到該文關(guān)注的是對人體各種動作的識別,因此,將動作序列的脊椎上部和下部,以及手掌腕部三個關(guān)節(jié)點確定為中心關(guān)節(jié),捕捉相似動作之間的細微差別,如式(2)所示。
(2)
其中,pc,t表示的是中心關(guān)節(jié)點。骨骼邊指的是人體骨架各個關(guān)節(jié)點之間的自然連接拓撲圖,是有大小和方向的向量,在人體骨骼動作識別中起著重要的作用。把遠離中心關(guān)節(jié)的關(guān)節(jié)點稱為目標關(guān)節(jié)點,把靠近中心關(guān)節(jié)的關(guān)節(jié)點稱為源關(guān)節(jié)點??梢员硎緸椋?/p>
ei,t=pi,t-ps,t
(3)
其中,ei,t表示骨骼邊信息,ps,t表示源關(guān)節(jié)點。為了更好地了解關(guān)節(jié)和骨骼的變化信息,提升模型的性能,引入了速度信息和加速度信息。速度信息指相鄰幀之間的關(guān)節(jié)坐標位置和骨骼邊位置的變化,加速度信息表示骨骼速度在相鄰幀之間的差值,如式(4)所示。相鄰幀之間時間差值為1,由于時間是線性的,所以幀差的數(shù)量會少一個,為此,該文在速度和加速度信息的第一幀中添加一個值為0的向量。
(4)
式中,v表示關(guān)節(jié)速度信息,v'表示骨骼邊的速度信息。a表示骨骼邊的加速度信息。
文獻[16]對輸入信息的處理是將四種信息均先編碼到高維空間后再進行相加融合,一定程度上減少了模型的參數(shù)量和計算成本,但是相加融合會使一部分信息丟失。因此,該文先在低維空間中對輸入信息進行通道維度的拼接融合,再編碼到高維空間,通過文獻[21]提出的stgcn模塊對輸入數(shù)據(jù)進行特征提取和降維。最后,將三種輸入數(shù)據(jù)進行拼接融合,作為圖卷積模塊的輸入。經(jīng)過數(shù)據(jù)預(yù)處理后的輸入特征主要分三類:(1)關(guān)節(jié)流;(2)速度流;(3)骨骼流。
(5)
式中,p''表示關(guān)節(jié)流,v''表示速度流,e''表示骨骼流。fin表示下一層的輸入,cat表示拼接操作,embed是編碼操作,由兩個1×1的卷積組成,達到升維的目的。stgcn是圖卷積操作,如式(6)所示。
(6)
在之前的工作中[15,22-23],已經(jīng)證實將高級骨骼關(guān)節(jié)的語義信息引入到圖卷積中,對模型性能的提高起到顯著的作用。早期工作[15,23]是簡單的把語義信息與輸入信息進行融合,然而隨著圖卷積層的深入,某些重要的語義信息會丟失,模型的效率也會下降。
針對這一問題,文獻[16]提出了一種簡單的自適應(yīng)圖G。圖G是網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)過程中自動學習而來,可以聚合不同通道權(quán)重的關(guān)節(jié)特征。然而,圖G聚合的通道有所單一,語義信息優(yōu)勢不能完全表現(xiàn)出來。
因此,該文提出一種“瓶頸型”結(jié)構(gòu)的四層圖卷積模塊,前兩層圖卷積提取特征并降維,后兩層圖卷積在提取特征的同時進行升維。“瓶頸型”的四層圖卷積結(jié)構(gòu)不僅比基線方法[16]提出的三層圖卷積的參數(shù)量低,模型性能也好。
如圖2所示,為了匹配四層圖卷積,充分利用語義信息,該文提出一種新的多通道自適應(yīng)圖G。圖G使用了四層卷積進行學習,利用卷積核參數(shù)的自動學習機制,可以根據(jù)模型訓(xùn)練過程中輸入數(shù)據(jù)的變化不斷自適應(yīng)調(diào)整,如式(7)所示:
(7)
其中,sp和st分別指的是關(guān)節(jié)類型和幀索引語義信息,cat指的是通道拼接操作。Gj是訓(xùn)練不同通道的學習圖,j=1,2,3,4。conv是1×1的卷積。通過多層卷積操作得到圖Gj后,再將其輸入到圖卷積中。
fout=σ(conv(fin?Gj)+conv(fin))
(8)
如式(8)所示,fin和fout分別為圖卷積的輸入和輸出,?表示矩陣相乘,σ為Relu激活函數(shù),conv為1×1的卷積,具有不同的訓(xùn)練權(quán)重。
眾所周知,分組卷積可以減少卷積操作的參數(shù)量,但缺陷卻是不同組的特征圖之間不能進行通信,這會降低網(wǎng)絡(luò)的特征提取能力。受文獻[24]的啟發(fā),該文提出了一個自注意力時間卷積模塊,如圖3所示。
圖3 自注意力時間卷積模塊
在時間卷積模塊中,首先對輸入信息最大池化以聚合關(guān)節(jié)空間信息,再將信息在通道維度上分成多組,每一組使用的卷積核依次增大,如卷積核大小為1×1,1×3,以獲取不同尺度的感受野,提取不相鄰幀之間的特征信息??紤]到使用大卷積核所產(chǎn)生的參數(shù)量和計算量也會隨之增大,因此,對每一組再次進行分組卷積,如卷積核為1×3時,分組數(shù)量為2,在經(jīng)過不同大小的卷積后,在通道上進行拼接。然后,通過SE注意力模塊對每組的通道的權(quán)重值進行提取,對每組的權(quán)重值進行Softmax歸一化并加權(quán),再將這些組進行拼接。自注意力模塊的結(jié)構(gòu)如圖3虛線框所示。
最后,在經(jīng)過一個1×1卷積進行特征提取和通道升維后,通過時間的最大池化聚合全局幀特征。
NTU RGB+D 60數(shù)據(jù)集[18]:NTU 60是當前主流的基于骨架動作識別的數(shù)據(jù)集之一,包含從40個不同的主題和3個Microsoft Kinect V2深度攝像頭同時捕獲的60個動作類別的56 880個骨架序列。每個骨架序列包含25個關(guān)節(jié)的三維空間坐標。該數(shù)據(jù)集提供了兩個評估基準:交叉主題(Cross-Subject,CS)和交叉視角(Cross-View,CV)。CS由40名受試者完成動作,其中一半受試者用于培訓(xùn),其余用于測試。CV選擇攝像機2和3捕獲的樣本進行訓(xùn)練,其余用于測試。
NTU-RGB+D 120數(shù)據(jù)集[19]:NTU 120是一種大型室內(nèi)捕捉的3D人體動作識別的公共數(shù)據(jù)集。該數(shù)據(jù)集是NTU RGB+D 60數(shù)據(jù)集在動作類別和演員人數(shù)上的拓展,包含106名演員參與的114 480個動作視頻。該數(shù)據(jù)集共有120個動作類別,包括82種日常生活,12種醫(yī)療條件和26種兩人互動情況下的動作。該數(shù)據(jù)集有兩個評估基準:交叉主題(Cross-s-Setup,SS)。CS根據(jù)視頻中的不同演員將此數(shù)據(jù)集劃分為訓(xùn)練集(63 026個視頻)和驗證集(50 919個視頻)。SS是根據(jù)視頻編號奇偶來劃分數(shù)據(jù)集。54 468個偶數(shù)視頻作為訓(xùn)練集,59 477個奇數(shù)視頻作為測試集。
在多信息輸入階段,將三類信息流在通道維度上編碼到64維,通過公式(5)降到48維后進行拼接,拼接得到的通道維數(shù)為144。在圖卷積模塊中,每層圖卷積的輸入維數(shù)分別為144、128、64和128,最終輸出維度為256。對于空間和時間語義信息,本文對它們拼接后形成的自適應(yīng)圖G進行升維,維度大小與每層圖卷積的輸入維度相同。值得注意的是,最終輸出數(shù)據(jù)與圖G通過相加融合后輸入自注意力時間卷積模塊。關(guān)于時間卷積的過程,已在1.3節(jié)中詳細闡述。最后,使用全連接層與Softmax進行輸出,輸出維度是對應(yīng)的數(shù)據(jù)集類別數(shù)。
將模型中epoch的數(shù)量設(shè)置為120,將一個epoch的批量大小設(shè)置為64,初始學習率設(shè)置為0.001,并在迭代過程中不斷減小。當?shù)螖?shù)為80、100時,學習率下降十倍。同時,也使用Adam對模型進行優(yōu)化,其中權(quán)重衰減為0.000 1。交叉熵損失用于訓(xùn)練網(wǎng)絡(luò)。該文幀索引取值為25,實驗取3次測試的最佳結(jié)果,以對比其他模型的最佳結(jié)果。
實驗環(huán)境配置:處理器為Intel i5-10400F,內(nèi)存為32G,顯卡為單塊NVIDIA RTX 3060ti,操作系統(tǒng)為Ubuntu 20.04,編程語言為Python 3.8,開發(fā)環(huán)境是Cuda 11.3和Pytorch 1.7。
目前大多數(shù)主流方法使用的是多流多信息融合的輸入方式,這導(dǎo)致模型參數(shù)量成倍增長,模型變得更為復(fù)雜。因此,在引入多信息的同時,該文嘗試通過在通道維度上進行拼接來最小化參數(shù)量。
表1顯示的是不同的輸入信息流對模型性能的影響,其中joint表示關(guān)節(jié)流,velocity表示速度流,bone表示骨骼流。通過表1的實驗結(jié)果驗證得到以下兩點結(jié)論:一是使用三流融合輸入在CS和SS上的識別精度高于雙流融合輸入和單流的信息輸入;二是對比多流網(wǎng)絡(luò)[10,21]參數(shù)量成倍增長,所提信息融合方法在僅僅增加了約1/7的參數(shù)量和不足1/2的GFLOPs情況下,大幅度提升了模型的性能。GFLOPs表示推理一個樣本所需的浮點運算量,單位為十億次。
表1 LSIF-GCN在NTU 120兩種評估方式上的對比
在表2中,w/o stgcn表示在多信息輸入模塊中沒有使用stgcn模塊,w/o G表示在多層次卷積模塊中沒有使用多通道的自適應(yīng)圖。表2實驗結(jié)果表明,如果不使用stgcn,模型在CS和SS基準上的準確度會分別下降0.5百分點和0.4百分點。如果不使用多通道的自適應(yīng)圖G,模型準確度會分別下降2.4百分點和2.3百分點。原因是分別消去stgcn和G后,原來的圖卷積就變成了普通的卷積,模型聚合不同關(guān)節(jié)特征之間的能力就會變?nèi)?從而導(dǎo)致模型在NTU 120數(shù)據(jù)集兩種基準上的準確度也隨之下降。
表2 NTU 120上stgcn模塊和多通道自適應(yīng)圖的有效性對比
表3顯示在“瓶頸型”圖卷積模塊中,探究不同層數(shù)的圖卷積操作對模型性能的影響。其中,LSIF-GCN(three)表示LSIF-GCN使用三層圖卷積,每層的輸出通道數(shù)分別是128、64、256。LSIF-GCN(five)表示模型使用五層圖卷積,每層的輸出通道數(shù)分別是128、64、128、144和256。該文采用的是四層圖卷積結(jié)構(gòu),每層的輸出通道分別為128、64、128和256。實驗結(jié)果表明,使用四層圖卷積時,模型能更充分利用語義信息,效果更好。
表3 在NTU 120上不同圖卷積層數(shù)對模型性能的影響
如表4所示,對比于基線模型[16]的時間卷積模塊,所提模型在CS和SS基準上分別高出0.1百分點和0.2百分點,模型參數(shù)量也低于基線模型。其原因有以下兩點:一是將原來分組后的通道再次分組可以降低模型參數(shù)量,而在參數(shù)量較少的情況下,分組卷積相當于正則化操作,從而防止模型出現(xiàn)過擬合;二是注意力模塊能自動學習不同通道特征的重要程度,增強特征提取能力,從而提高模型性能。其中,Old TCN表示文獻[16]使用的時間卷積網(wǎng)絡(luò),Old TCN w/ SE表示在該方法的基礎(chǔ)上引入了SE注意力模塊。New TCN表示該文使用的時間卷積網(wǎng)絡(luò),New TCN w/o SE表示在時間卷積上只使用再分組的方法,而不引用SE注意力模塊。
表4 在NTU 120上時間卷積模塊和注意力模塊有效性對比
圖4顯示LSIF-GCN和SGN[15]以及LMI-GCN[16]兩種模型在NTU 120數(shù)據(jù)集CS基準上的收斂情況對比。為了公平對比,三種模型的超參數(shù)設(shè)置和數(shù)據(jù)預(yù)處理方法均保持一致。從圖中可以得出結(jié)論,所提模型的收斂速度和收斂程度均優(yōu)于另外兩種模型。
圖4 在NTU 120數(shù)據(jù)集CS評估中收斂性的對比
在NTU RGB+D 60數(shù)據(jù)集的CS和CV基準上,與最近一些主流的方法[9-10,15-16,21-29]進行了比較。從表5可以看出,LSIF-GCN在兩種基準上的最佳性能分別是91.0%和95.7%。表中有三種典型的方法值得注意。第一,對比于目前最為流行的基于骨骼的動作識別基線模型ST-GCN[9],單流網(wǎng)絡(luò)1s-LSIF-GCN在CS和CV基準上分別高出9.5百分點和7.4百分點。第二,2020年的SOTA方法MS-G3D[25],在CS和CV評估基準上的識別準確度比1s-LSIF-GCN 均高出0.5百分點,而參數(shù)量卻是文中的13倍。第三,EffiencientB0[21]和EffiencientB2[21]是目前使用圖卷積的輕量級SOTA方法。單流網(wǎng)絡(luò)1s-LSIF-GCN參數(shù)量比EffiencientB0高,但在兩種基準上的準確度均高出EffiencientB0模型0.8百分點。對比于EffiencientB2方法,雙流網(wǎng)絡(luò)2s-LSIF-GCN在CS基準上低0.1百分點,而CV的識別精度高出0.3百分點。
表5 在NTU 60上與一些主流方法的比較
為了驗證所提模型的性能,在NTU-RGB+D 120數(shù)據(jù)集的CS和SS基準上比較了LSIF-GCN與最近幾年的SOTA方法在準確性、模型參數(shù)量和GFLOPs上的效率。表6實驗結(jié)果顯示,第一個基于骨架動作識別的圖卷積模型ST-GCN的模型參數(shù)量和GFLOPs分別是單流網(wǎng)絡(luò)1s-LSIF-GCN的5.84倍和20.92倍。在模型參數(shù)量方面,1s-LSIF-GCN僅低于EffiencientB0,但在SS識別精度上卻高出2.9百分點。而對比于所有模型的GFLOPs,除了SGN[15]與1s-LSIF-GCN相當外,其余模型均遠高于文中方法,而在CS和SS評估基準上,該文比SGN分別高出7.4百分點和6.4百分點。在多流網(wǎng)絡(luò)(2s-AGCN[10]、4s-Shift-GCN[26]、4s-Shift-GCN++[27]、2s-ST-GCN++[28])中,雙流網(wǎng)絡(luò)2s-LSIF-GCN的模型參數(shù)量和GFLOPs也達到了最低,SS識別精度也僅比2s-ST-GCN++低 0.6百分點??傮w來說,文中方法在識別精度和模型復(fù)雜度(參數(shù)量和GFLOPs)上,達到了先進的水平,相比于大多數(shù)的SOTA方法,更適用于資源有限的移動設(shè)備和實際應(yīng)用場景。
表6 在NTU-RGB+D 120數(shù)據(jù)集上與SOTA方法的準確度、參數(shù)量和GFLOPs的比較
針對傳統(tǒng)的動作識別模型參數(shù)量較高和計算成本較大的問題,通過通道維度上的拼接操作將多種輸入信息進行融合,避免了各種特征之間的相互干擾,提高了特征的利用率,同時提出了一種能夠充分利用語義信息的“瓶頸型”的四層圖卷積模塊,并且將激勵和壓縮(SE)模塊融入到時間卷積模塊中,通過再分組的方法,提高模型效率的同時降低了模型的參數(shù)量。最后,在目前主流的動作識別數(shù)據(jù)集的實驗結(jié)果表明,該模型在計算成本、模型參數(shù)量和識別精度上,與其他的主流方法對比,具有一定的優(yōu)越性。
在未來工作中,筆者將針對特定場景更加注重細微動作間的區(qū)分,如手勢識別,將該方法應(yīng)用于特定場景中。