甄昊宇,張 德
北京建筑大學(xué)電氣與信息工程學(xué)院& 建筑大數(shù)據(jù)智能處理方法研究北京市重點(diǎn)實(shí)驗(yàn)室,北京100044
人體動作識別作為計(jì)算機(jī)視覺領(lǐng)域一項(xiàng)重要的研究內(nèi)容,在智能監(jiān)控、人機(jī)交互、虛擬現(xiàn)實(shí)和視頻分析等方面具有廣泛的應(yīng)用前景。目前對人體動作識別的研究主要分為基于RGB視頻的人體動作識別[1]和基于3D骨架的人體動作識別[2]。基于RGB 視頻的方法需要高成本的計(jì)算資源來處理RGB 圖像和光流中的像素信息,并且在面對復(fù)雜的背景條件時(shí),計(jì)算量更大,魯棒性較差。隨著深度成像技術(shù)的快速發(fā)展,通過Kinect深度傳感器獲取3D 人體骨架數(shù)據(jù),使用主要關(guān)節(jié)點(diǎn)的三維空間軌跡變化來描述動作,計(jì)算效率較高,且對背景噪聲具有較強(qiáng)的魯棒性。因此,基于骨架的人體動作識別受到研究人員更多的關(guān)注。
早期的骨架動作識別模型主要是基于手工設(shè)計(jì)特征的方法,例如可以依據(jù)骨架數(shù)據(jù)序列中的關(guān)節(jié)坐標(biāo)點(diǎn)位置形成時(shí)序特征向量[3],或者考慮關(guān)節(jié)點(diǎn)之間的相對位置,根據(jù)身體不同區(qū)域的姿態(tài)變化、偏移等信息形成特征向量[4],還可以整體考慮人體姿態(tài)的靜止特征和時(shí)序動態(tài)偏移特征形成特征向量[5-7]?;谶@些特征,使用傳統(tǒng)的機(jī)器學(xué)習(xí)算法進(jìn)行分類識別。這類方法的不足之處在于特征表達(dá)能力有限,當(dāng)數(shù)據(jù)量增加、動作類別增多的時(shí)候,識別準(zhǔn)確率不高。
隨著深度學(xué)習(xí)的快速發(fā)展,基于深度學(xué)習(xí)的骨架動作識別方法逐漸成為主流,并且可以分為三類,基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和基于圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network,GCN)的方法。
RNN 適合針對時(shí)序相關(guān)性強(qiáng)的數(shù)據(jù)進(jìn)行建模,Du等[8]提出級聯(lián)RNN 建模的方式,使用多個(gè)子RNN 分別對不同身體區(qū)域的骨架數(shù)據(jù)序列進(jìn)行處理,然后逐級合并子網(wǎng)絡(luò)并進(jìn)行信息融合。為了構(gòu)建更深層次的網(wǎng)絡(luò),Li等[9]提出一種基于獨(dú)立神經(jīng)元的RNN模型,提升了骨架動作識別的準(zhǔn)確率。為了更好地表達(dá)時(shí)序數(shù)據(jù)的上下文依賴關(guān)系,并解決傳統(tǒng)RNN 存在的梯度彌散問題,長短期記憶(long short-term memory,LSTM)結(jié)構(gòu)得到了更多的應(yīng)用,例如Liu等提出的ST-LSTM(spatiotemporal LSTM)模型[10]和GCA-LSTM(global contextaware attention LSTM)模型[11]等。盡管如此,RNN類方法仍然難以處理骨架數(shù)據(jù)在空間和時(shí)間各個(gè)維度上的同時(shí)變化特性。CNN類方法考慮通過預(yù)先設(shè)定的規(guī)則把骨架數(shù)據(jù)序列轉(zhuǎn)換為一組語義圖像,然后再使用CNN模型進(jìn)行處理。例如可以直接把關(guān)節(jié)點(diǎn)的三維坐標(biāo)對應(yīng)到圖像的三通道像素值[12],或者選定幾個(gè)參考關(guān)節(jié)點(diǎn),計(jì)算其他關(guān)節(jié)點(diǎn)到參考點(diǎn)的相對位置變化,還可以考慮加入視角的變化,轉(zhuǎn)換生成一系列連續(xù)圖像[13-14]。CNN 類方法識別性能有了一定提升,但是依然不能充分地利用骨架數(shù)據(jù)天然的內(nèi)在信息,人體關(guān)節(jié)之間固有的相關(guān)性無法很好地進(jìn)行建模表達(dá)。
圖卷積神經(jīng)網(wǎng)絡(luò)GCN在多個(gè)領(lǐng)域的良好表現(xiàn)為骨架動作識別提供了新思路。由于骨架在非歐幾里德幾何空間中自然地被構(gòu)造為一個(gè)圖形,Yan 等[15]構(gòu)建了時(shí)空骨架圖,提出ST-GCN(spatial-temporal GCN)模型,將人體關(guān)節(jié)之間的時(shí)空關(guān)系很好地嵌入到骨架圖的鄰接矩陣中。為了進(jìn)一步挖掘關(guān)節(jié)之間的自然連接關(guān)系和動作過程中關(guān)節(jié)之間不同程度的依賴關(guān)系,Li等[16]提出了基于動態(tài)連接和靜態(tài)結(jié)構(gòu)連接的AS-GCN(actionalstructural GCN)模型。Zhang等[17]則利用關(guān)節(jié)所屬類型(手部關(guān)節(jié)、肩部關(guān)節(jié)等)等語義信息引導(dǎo)建立一個(gè)更有效的GCN 模型,充分表達(dá)全局和局部特征。但是僅依靠預(yù)設(shè)定圖拓?fù)浣Y(jié)構(gòu)的模型不夠靈活,無法應(yīng)對變化多樣的動作數(shù)據(jù)。Shi 等[18]提出了自適應(yīng)圖卷積模型,以端到端的方式學(xué)習(xí)個(gè)體數(shù)據(jù)驅(qū)動矩陣,作為圖拓?fù)浣Y(jié)構(gòu)鄰接矩陣的補(bǔ)充,增加了GCN 模型的數(shù)據(jù)適應(yīng)性。Chen 等[19]設(shè)計(jì)了一種雙頭GCN 模型,把粗粒度和細(xì)粒度特征有效結(jié)合起來。馬利等[20]提出區(qū)域關(guān)聯(lián)自適應(yīng)GCN 模型,捕獲非物理連接關(guān)節(jié)之間的內(nèi)在依賴聯(lián)系。近年來,GCN 類方法的應(yīng)用使得骨架動作識別率得到明顯提高,已經(jīng)成為當(dāng)前的主流方法。
在文獻(xiàn)[18]中,Shi等考慮到人體骨架是由關(guān)節(jié)點(diǎn)和骨骼兩種元素組成,關(guān)節(jié)點(diǎn)連接相鄰的骨骼,因此也提出了基于雙流數(shù)據(jù)處理的網(wǎng)絡(luò)結(jié)構(gòu),把初始骨架數(shù)據(jù)分解為關(guān)節(jié)點(diǎn)數(shù)據(jù)流和由骨骼表示的肢體數(shù)據(jù)流。此后,數(shù)據(jù)分流的模型構(gòu)建思路得到了廣泛的應(yīng)用[19-22],識別性能得到了進(jìn)一步提升。
但是,大多GCN 類方法對骨架動作數(shù)據(jù)序列的時(shí)域變化動態(tài)分析還不夠深入,特別是對于非相鄰時(shí)間步長的動作單元間的關(guān)系特性由于信息稀釋而被忽略。一個(gè)動作一般由一些連續(xù)且順序固定的動作單元組成,它們之間的相鄰和非相鄰時(shí)序相關(guān)性決定了該動作的時(shí)域特征[23]。例如,跳遠(yuǎn)動作包含“助跑”“起跳”“騰空”和“落地”四個(gè)部分,“助跑”和“騰空”,或者和“落地”之間的非相鄰時(shí)間步長距離等特性對識別跳遠(yuǎn)動作也能夠起到重要作用。因此在時(shí)域動態(tài)建模中,還應(yīng)充分考慮非相鄰時(shí)間步長動作單元之間的相關(guān)性。
基于以上分析,本文提出了結(jié)合自適應(yīng)圖卷積與多尺度時(shí)態(tài)建模的雙流GCN模型。自適應(yīng)圖卷積模塊以端到端的方式自適應(yīng)的學(xué)習(xí)人體關(guān)節(jié)之間固有的連接關(guān)系和不同動作類別的關(guān)節(jié)變化依賴關(guān)系。多尺度時(shí)態(tài)建模模塊提取骨架序列的時(shí)間特征,增強(qiáng)了時(shí)間卷積,擴(kuò)展了時(shí)間維度上的感受野,有效地聚合了相鄰時(shí)間步長和非相鄰時(shí)間步長的時(shí)態(tài)關(guān)系。兩個(gè)模塊相互補(bǔ)充,豐富了模型整體的特征表達(dá)能力,提升了識別性能。
人體骨架圖可以表示為G=(V,E) ,其中V={v1,v2,…,vJ}代表J個(gè)關(guān)節(jié)點(diǎn)的集合,E是邊集,表示為鄰接矩陣A∈RN×N,鄰接矩陣僅包含0、1兩種數(shù)值,其中(i,j)=1 表示第i個(gè)關(guān)節(jié)點(diǎn)和第j個(gè)關(guān)節(jié)點(diǎn)之間有直接相連的邊,(i,j)=0 則反之。A是對稱的,因?yàn)镚是無向圖。骨架序列可以表示為特征張量X∈RC×T×J,其中C表示坐標(biāo)維度,T表示動作序列中骨架幀的數(shù)量。因此,完整的視頻骨架序列可被表示為每一幀骨架圖的堆疊G=(G1;G2;…;GT)。
圖卷積網(wǎng)絡(luò)是學(xué)習(xí)圖結(jié)構(gòu)數(shù)據(jù)表示的有效框架,根據(jù)上面定義的符號,圖卷積網(wǎng)絡(luò)在骨架序列上執(zhí)行多層圖卷積以提取高層特征。每個(gè)圖卷積層通常由空間圖卷積塊和時(shí)間卷積塊組成,空間圖卷積塊提取骨架的空間特征,其具體公式為:
其中,fin表示輸入特征,表示輸出特征。A為鄰接矩陣,I為單位矩陣,Λ為度矩陣。鄰接矩陣有三個(gè)子集,分別為(1)根節(jié)點(diǎn)本身(root);(2)向心子集(centripetal),包含比根節(jié)點(diǎn)更靠近重心的相鄰節(jié)點(diǎn);(3)離心子集(centrifugal),包含比根節(jié)點(diǎn)離重心更遠(yuǎn)的相鄰節(jié)點(diǎn)。因此,A相應(yīng)地分為Mk∈RJ×J作為一個(gè)可學(xué)習(xí)的矩陣,用來調(diào)整邊緣的重要性。Wk是大小為Cout×Cin×1×1 的可學(xué)習(xí)參數(shù),用于調(diào)整特征圖的通道。
時(shí)間卷積塊提取骨架序列的時(shí)間特征,對同一關(guān)鍵點(diǎn)在不同幀的信息進(jìn)行融合,具體公式如下:
其中,Conv2d[Kt×1]是卷積核大小為Kt×1 的二維卷積運(yùn)算。
本模型采用雙流網(wǎng)絡(luò)結(jié)構(gòu)對關(guān)節(jié)點(diǎn)信息和肢體信息同時(shí)建模處理,主要包括三個(gè)部分,數(shù)據(jù)預(yù)處理、特征提取和動作分類,如圖1所示。
數(shù)據(jù)預(yù)處理:把骨架數(shù)據(jù)序列分解為關(guān)節(jié)點(diǎn)流和骨骼流(表示肢體信息)。關(guān)節(jié)點(diǎn)流數(shù)據(jù)由各關(guān)節(jié)點(diǎn)的三維坐標(biāo)組成,骨骼流數(shù)據(jù)按照如下方式獲得[18]。
每個(gè)骨骼都與兩個(gè)關(guān)節(jié)點(diǎn)綁定,定義靠近人體骨架重心的關(guān)節(jié)點(diǎn)為源關(guān)節(jié)點(diǎn),遠(yuǎn)離重心的為目標(biāo)關(guān)節(jié)點(diǎn)。這樣,每個(gè)骨骼都表示為一個(gè)從源關(guān)節(jié)點(diǎn)指向目標(biāo)關(guān)節(jié)點(diǎn)的向量,該向量包含了長度信息和方向信息。骨骼向量計(jì)算公式為:
式中,vi表示目標(biāo)關(guān)節(jié)點(diǎn),vj表示源關(guān)節(jié)點(diǎn),boneij表示關(guān)節(jié)點(diǎn)vi和vj間的骨骼向量。
特征提?。涸摬糠钟?0個(gè)基礎(chǔ)網(wǎng)絡(luò)層堆疊而成,每層網(wǎng)絡(luò)的輸出通道數(shù)依次是64、64、64、64、128、128、128、128、256 和256,每層網(wǎng)絡(luò)結(jié)構(gòu)相同,如圖2 所示。BN 是批歸一化操作(batch normalization),ReLU 是常用的非線性激活函數(shù)。為了穩(wěn)定訓(xùn)練過程,增加了一個(gè)殘差連接。這樣,經(jīng)過多個(gè)基礎(chǔ)網(wǎng)絡(luò)層后,特征能夠沿空間和時(shí)間維度進(jìn)行集成。
圖2 網(wǎng)絡(luò)層結(jié)構(gòu)單元Fig.2 Network layer structure unit
動作分類:將關(guān)節(jié)點(diǎn)流網(wǎng)絡(luò)和骨骼流網(wǎng)絡(luò)的輸出進(jìn)行加權(quán)融合,得到融合分?jǐn)?shù)并預(yù)測動作所屬的類別。
本文使用的自適應(yīng)圖卷積模塊以端到端的學(xué)習(xí)方式,將圖的拓?fù)浣Y(jié)構(gòu)與網(wǎng)絡(luò)的其他參數(shù)一起優(yōu)化。對于不同的圖卷積層和不同類別的樣本,該拓?fù)浣Y(jié)構(gòu)是唯一的,增加了模型的辨識能力。自適應(yīng)圖卷積模塊的結(jié)構(gòu)如圖3所示。
圖3 自適應(yīng)圖卷積模塊Fig.3 Adaptive graph convolutional module
為了使圖表示具備自適應(yīng)的特性,將式(1)進(jìn)行如下變化:
這里,骨架圖表示的鄰接矩陣分為三部分:Ak、Lk和Pk。Ak與原始的鄰接矩陣相同,表示人體的整個(gè)物理結(jié)構(gòu)。Lk也是一個(gè)鄰接矩陣,它的元素值初始化為0,在訓(xùn)練過程中與其他參數(shù)一起被優(yōu)化,它不僅表明兩個(gè)關(guān)節(jié)點(diǎn)之間存在連接,還表明了連接的強(qiáng)度。Lk可以學(xué)習(xí)針對待識別樣本的圖,并且對于不同層中包含的不同信息更加個(gè)性化,與式(1)中的Mk類似,執(zhí)行注意力機(jī)制的角色。然而,由于原矩陣Mk與Ak進(jìn)行點(diǎn)乘,如果Ak中的一個(gè)元素為0,無論Mk中元素的值如何,它都將始終為0。因此,它無法生成原骨架圖表示中不存在的新連接。而Lk能夠增強(qiáng)非自然連接關(guān)節(jié)點(diǎn)對之間的特征傳遞,比Mk更加靈活。
Pk是一個(gè)數(shù)據(jù)相關(guān)圖,它為每個(gè)樣本學(xué)習(xí)一個(gè)唯一的圖。Pk應(yīng)用了Non-local 注意力機(jī)制[24],通過歸一化嵌入高斯函數(shù)計(jì)算圖中任意兩個(gè)頂點(diǎn)之間的交互來獲得其連接強(qiáng)度,如式(5)所示:
其中,J是頂點(diǎn)的總數(shù),使用點(diǎn)積來計(jì)算兩個(gè)頂點(diǎn)的相似性。具體來說,給定輸入特征fin∈Cin×T×J,J是頂點(diǎn)總數(shù),zi和zj代表任意兩個(gè)頂點(diǎn),θ和?是兩個(gè)嵌入函數(shù),分別為1×1的卷積操作,eθ(zi)T?(zj)是一種相似度函數(shù),計(jì)算zi和所有相關(guān)聯(lián)的zj之間的相似關(guān)系。在具體實(shí)驗(yàn)中,首先將輸入特征fin∈Cin×T×J分別通過兩個(gè)嵌入函數(shù)(即1×1 卷積層)映射并分別重新排列為J×Cm×T矩陣和Cm×T×J矩陣,然后將它們相乘,得到J×J大小的相似矩陣Pk,其元素pij表示頂點(diǎn)zi和頂點(diǎn)zj的連接強(qiáng)度。將矩陣的各元素值歸一化,作為頂點(diǎn)zi和頂點(diǎn)zj的虛擬連接。Pk可以如式(6)所示:
Wθk和W?k分別表示嵌入函數(shù)θ和?的參數(shù)。
另外,如圖3所示,其中添加殘差連接,允許將該模塊插入到任何現(xiàn)有的模型中而不破壞其初始特征,如果輸入通道的數(shù)量不同于輸出通道的數(shù)量,則在殘差路徑中插入1×1卷積(圖3中帶虛線的紫色方框),以轉(zhuǎn)換輸入來匹配通道維度上的輸出。
為了捕獲骨架序列的動態(tài)時(shí)間模式以及建模相鄰和非相鄰時(shí)間步長之間的長距離時(shí)態(tài)關(guān)系,本文提出使用多尺度卷積建模時(shí)間序列的多尺度信息,增強(qiáng)了時(shí)間卷積層,豐富了模型在時(shí)間維度上的感受野。該模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 多尺度時(shí)態(tài)建模模塊Fig.4 Multi-scale temporal modeling module
模塊的輸入為特征矩陣fin∈C×Tin×J,Tin為輸入骨架序列的初始幀數(shù),采用并行的多分支結(jié)構(gòu),在不同的感受野下進(jìn)行特征的提取來實(shí)現(xiàn)對多尺度時(shí)間信息的捕捉。該模塊由四個(gè)分支實(shí)現(xiàn),每個(gè)分支包含一個(gè)1×1卷積以減少通道維數(shù)。從左到右看,前兩個(gè)分支分別使用空洞率為1、2,卷積核大小都為5×1 的空洞卷積??斩淳矸e可以在不引入額外參數(shù)的同時(shí)增加感受野,是卷積操作的一種。它的實(shí)現(xiàn)方式為在卷積核的每行每列中間加入零元素,將插入的空洞個(gè)數(shù)稱為空洞率(dilation rate)。空洞卷積的參數(shù)包括卷積核個(gè)數(shù)k,卷積核大小w×h,空洞率d,步長s和填充值p。這里沒有選擇更大空洞率是因?yàn)橄∈璧木矸e核會使無用的權(quán)重增加,產(chǎn)生一些無效信息。不同空洞率產(chǎn)生的有效感受野在時(shí)間維度上體現(xiàn)為不同的時(shí)間間隔,在具體實(shí)驗(yàn)中,將上一層輸出的空間特征C×Tin×J作為輸入,按通道維數(shù)平均分成四個(gè)部分,每個(gè)分支通過1×1卷積操作來轉(zhuǎn)換通道數(shù),使每個(gè)分支的通道數(shù)為C′(即C′=C/4)。之后前兩個(gè)分支通過5×1的空洞卷積操作,將輸入特征轉(zhuǎn)換為C′×T1×J矩陣和C′×T2×J矩陣。因此前兩個(gè)分支分別捕獲了相鄰時(shí)間幀和非相鄰時(shí)間幀上的高級時(shí)間特征,也對不同持續(xù)時(shí)間的動作序列選擇了合適的尺度進(jìn)行特征的提取。時(shí)域維度上時(shí)間幀數(shù)T1、T2如下計(jì)算得出:
第三個(gè)分支保留了時(shí)間幀上的原始特征,得到的特征矩陣為C′×T3×J。第四個(gè)分支采用3×1的最大池化操作得到C′×T4×J的特征矩陣,提取了時(shí)間維度中具有最突出信息的特征。時(shí)間幀數(shù)T3、T4計(jì)算如下:
將四個(gè)分支的結(jié)果連接起來得到融合特征,獲得了時(shí)間維度上的多尺度信息,其公式如下:
Tout為輸出骨架序列的時(shí)間幀數(shù),通過將四個(gè)分支串聯(lián)使通道數(shù)變?yōu)镃(即保證了輸入特征的通道數(shù)不變),最終提取到多尺度時(shí)間特征f tout∈C×Tout×J。通過聚合多尺度時(shí)間信息來更新節(jié)點(diǎn)的特征,如圖5所示。
圖5 時(shí)間域上的卷積Fig.5 Convolution in time domain
另外,同自適應(yīng)圖卷積模塊一樣,增加殘差連接(圖4中帶虛線的綠色方框),以轉(zhuǎn)換輸入來匹配輸出通道的維數(shù)。
本文的實(shí)驗(yàn)在NTU RGB+D 和NTU RGB+D 120兩個(gè)大型公開數(shù)據(jù)集上完成,后一個(gè)數(shù)據(jù)集是前一個(gè)的擴(kuò)展。這兩個(gè)數(shù)據(jù)集是目前骨架動作識別任務(wù)中使用最廣泛的,本文以此驗(yàn)證所提出模型的有效性,并與近年來主流的方法進(jìn)行了比較。
NTU RGB+D數(shù)據(jù)集[25]:該數(shù)據(jù)集包含了60個(gè)動作類別,其中40 個(gè)為日常行為動作,9 個(gè)為與健康相關(guān)的動作,還有11 個(gè)屬于雙人交互動作。這些動作由40 個(gè)年齡從10 到35 歲的志愿者完成,共56 880 個(gè)樣本序列。數(shù)據(jù)采集由位于相同高度,三個(gè)不同角度的攝像機(jī)完成,并通過Kinect深度傳感器獲得了3D骨架數(shù)據(jù),每個(gè)人體骨架包含25個(gè)關(guān)節(jié)點(diǎn),如圖6所示。該數(shù)據(jù)集提供了兩種訓(xùn)練和測試模式,CS(cross-subject)和CV(crossview)。CS模式下,訓(xùn)練集使用20個(gè)志愿者的40 320個(gè)樣本,而其余20 個(gè)志愿者的16 560 個(gè)樣本作為測試集進(jìn)行模型評估。CV模式是依據(jù)攝像機(jī)角度劃分訓(xùn)練集和測試集,其中來自0°和45°視角的37 920 個(gè)樣本作為訓(xùn)練集,來自-45°視角的18 960個(gè)樣本作為測試集。
圖6 NTU RGB+D數(shù)據(jù)集的關(guān)節(jié)標(biāo)簽Fig.6 Joint label for NTU RGB+D dataset
NTU RBG+D 120數(shù)據(jù)集[26]:該數(shù)據(jù)集是目前最大的室內(nèi)動作識別數(shù)據(jù)集,也是NTU RBG+D數(shù)據(jù)集在志愿者和動作類別數(shù)量上的擴(kuò)展。由106 名志愿者參與采集,共計(jì)包含120 個(gè)動作類別,114 480 個(gè)樣本序列。采集過程中共設(shè)置了32 個(gè)不同的場景,主要包括位置和背景的變化。該數(shù)據(jù)集也提供兩種訓(xùn)練和測試模式,CSub(cross-subject)和CSet(cross-setup)。CSub 模式下把志愿者分為兩組,訓(xùn)練集和測試集各包含來自53 個(gè)志愿者的樣本。而CSet 模式按照場景設(shè)置進(jìn)行分組,訓(xùn)練集和測試集分別包含來自16個(gè)場景設(shè)置下采集的樣本。
實(shí)驗(yàn)均在PyTorch 深度學(xué)習(xí)框架下完成,運(yùn)行環(huán)境為Win 10 操作系統(tǒng),32 GB 內(nèi)存,GPU 為1 塊RTX 2080Ti 顯卡。在模型訓(xùn)練過程中,批量大小設(shè)為16,并采用帶動量的隨機(jī)梯度下降優(yōu)化算法。選用交叉熵?fù)p失函數(shù),把權(quán)重衰減初始值設(shè)為0.000 1。初始學(xué)習(xí)率設(shè)為0.1,在第30輪、40輪后減小為1/10。整個(gè)訓(xùn)練過程可在第50輪迭代后結(jié)束(如圖7所示)。本文基于top-1準(zhǔn)確率評估和比較模型的性能。
圖7 模型訓(xùn)練過程中準(zhǔn)確率的變化Fig.7 Changes of accuracy during model training
首先在NTU RGB+D 數(shù)據(jù)集的CS 模式和NTU RGB+D 120的CSub模式下進(jìn)行了訓(xùn)練和測試,觀察本文模型隨迭代次數(shù)增加而發(fā)生的性能變化,如圖7 所示??梢钥闯?,當(dāng)?shù)螖?shù)(以epoch表示)超過31之后top-1 準(zhǔn)確率即趨向平穩(wěn)。第50 輪后,準(zhǔn)確率呈現(xiàn)穩(wěn)定不變的趨勢。接下來,對本文模型中使用的不同模塊分別進(jìn)行性能驗(yàn)證和分析。
3.3.1 自適應(yīng)圖卷積模塊性能分析
如2.3 節(jié)所述,自適應(yīng)圖卷積模塊中有3 種類型的圖,分別是Ak、Lk和Pk。Ak表示整體骨架結(jié)構(gòu),Lk+Pk組合與數(shù)據(jù)樣本的關(guān)節(jié)點(diǎn)具體連接強(qiáng)度相關(guān),表示自適應(yīng)性。僅保留Ak或Lk+Pk組合,進(jìn)行消融實(shí)驗(yàn)比較分析。這里,使用關(guān)節(jié)點(diǎn)數(shù)據(jù)流在NTU RGB+D 120數(shù)據(jù)集的CSub 模式下完成實(shí)驗(yàn),top-1 準(zhǔn)確率結(jié)果如表1 所示??梢钥闯?,使用Lk+Pk組合的識別準(zhǔn)確率高于僅使用Ak的情況。自適應(yīng)圖卷積模塊在Ak、Lk和Pk都使用的情況下識別率是最高的,為了更好地說明Lk和Pk的作用,以跑步動作為例進(jìn)行了可視化展示,如圖8所示。
表1 自適應(yīng)圖卷積模塊有效性驗(yàn)證Table 1 Validation of adaptive graph convolution module
圖8 自適應(yīng)圖卷積效果可視化示例Fig.8 Visualization example of effectiveness for adaptive graph convolution module
圖8中為跑步動作序列某幀的骨架圖,紅色圓點(diǎn)代表關(guān)節(jié)點(diǎn),其外面粉色圓圈的大小代表當(dāng)前關(guān)節(jié)點(diǎn)和第25個(gè)關(guān)節(jié)點(diǎn)(圖6所示)之間的關(guān)聯(lián)強(qiáng)度,圓圈越大表示強(qiáng)度越大。自適應(yīng)圖卷積模塊中通過引入Lk和Pk增強(qiáng)了模型的靈活性和對樣本的自適應(yīng)性,從圖8中手和腿、手和腳之間有著更強(qiáng)的關(guān)聯(lián)度可以看出其作用,原本相距較遠(yuǎn)的關(guān)節(jié)點(diǎn)由于動作樣本類別的特性也可以產(chǎn)生較強(qiáng)的連接。由以上分析可以表明,自適應(yīng)圖卷積模塊根據(jù)不同的層和樣本學(xué)習(xí)了不同的圖拓?fù)浣Y(jié)構(gòu),提取到了骨骼空間域中更高級的特征,能夠幫助提升動作識別的準(zhǔn)確率。
3.3.2 多尺度時(shí)態(tài)建模性能分析
為驗(yàn)證多尺度時(shí)態(tài)建模模塊的有效性,在NTU RGB+D和NTU RGB+D 120兩個(gè)數(shù)據(jù)集上進(jìn)行消融實(shí)驗(yàn),top-1 準(zhǔn)確率結(jié)果如表2 所示??梢钥闯?,多尺度時(shí)態(tài)建模模塊在兩個(gè)數(shù)據(jù)集上都可以幫助提高識別準(zhǔn)確率。在包含動作類別數(shù)量更多的NTU RGB+D 120 數(shù)據(jù)集上,可以使準(zhǔn)確率增加3 個(gè)百分點(diǎn)(CSub)和2.7 個(gè)百分點(diǎn)(CSet)。因此,充分挖掘動作序列的時(shí)域內(nèi)在聯(lián)系,進(jìn)行多尺度時(shí)態(tài)建模分析,能夠增強(qiáng)模型整體的識別性能,使得識別結(jié)果更加準(zhǔn)確。
表2 多尺度時(shí)態(tài)建模有效性驗(yàn)證Table 2 Validation of multi-scale temporal modeling
為進(jìn)一步分析多尺度時(shí)態(tài)建模的作用,選取了2類持續(xù)時(shí)間較長的動作“刷牙”和“脫鞋”,3類持續(xù)時(shí)間較短的動作“手里東西掉落”“鼓掌”和“敲擊鍵盤”,以柱狀圖的方式展示這5 類動作的識別性能,如圖9 所示??梢钥闯觯诙喑叨葧r(shí)態(tài)建模加入的情況下,所選5 類動作的識別性能都有明顯提高。雖然各類動作的持續(xù)時(shí)間長短不同,但是利用多尺度卷積建模方式,有效地聚合了相鄰時(shí)間幀和非相鄰時(shí)間幀上的時(shí)態(tài)關(guān)系,減少了在局部空間中干擾時(shí)間特征聚合的與動作無關(guān)的時(shí)間信息,賦予了網(wǎng)絡(luò)在時(shí)間域上更好的特征表達(dá)能力,從而能夠更好地進(jìn)行動作分類。
3.3.3 雙流數(shù)據(jù)網(wǎng)絡(luò)性能分析
基于人體骨架的關(guān)節(jié)點(diǎn)流和骨骼流數(shù)據(jù)信息構(gòu)成雙流網(wǎng)絡(luò)結(jié)構(gòu),本小節(jié)使用NTU RGB+D 120數(shù)據(jù)集比較了單獨(dú)使用關(guān)節(jié)點(diǎn)流數(shù)據(jù)和骨骼流數(shù)據(jù)作為輸入的性能,以及將這兩種數(shù)據(jù)組合之后的性能,如表3所示。所使用的本文模型為自適應(yīng)圖卷積+多尺度時(shí)態(tài)建模??梢钥闯?,將兩流數(shù)據(jù)組合后可以進(jìn)行信息的相互補(bǔ)充,識別性能明顯高于基于單流的情況。
表3 不同的數(shù)據(jù)流輸入下準(zhǔn)確率比較Table 3 Comparison results with different input data-stream
3.3.4 與其他模型比較
在NTU RGB+D和NTU RGB+D 120兩個(gè)數(shù)據(jù)集上,將本文方法和近年來有代表性的模型進(jìn)行了比較,比較內(nèi)容包括top-1 準(zhǔn)確率和模型復(fù)雜度(參數(shù)量和FLOPs)方面效率的比較,如表4所示。用于比較的方法主要分為4種,包括手工設(shè)計(jì)特征的方法[6]、基于RNN的方法[8-11]、基于CNN的方法[12,14]和基于GCN的方法[15-18,21-22,27]。其中文獻(xiàn)[18,21]也屬于使用雙流網(wǎng)絡(luò)結(jié)構(gòu)的方法。另外,還選擇了結(jié)合多個(gè)注意力機(jī)制的GCN 類方法[27]用于比較。
表4 本文模型與其他方法的結(jié)果比較Table 4 Results comparison between proposed model and other methods
從表4 可以看出,自從Yan 等[15]首次將圖卷積引入基于骨架的動作識別并提出ST-GCN 模型以來,基于GCN 的方法逐漸實(shí)現(xiàn)了顯著的性能提升,這表明了圖卷積網(wǎng)絡(luò)在處理動作識別骨架序列數(shù)據(jù)方面的有效性。與RNN類的方法和CNN類的方法相比,本文模型在兩個(gè)數(shù)據(jù)集的兩種驗(yàn)證模式上的性能表現(xiàn)都有大幅提升。與同樣采用雙流結(jié)構(gòu)的方法[18,21]相比,本文模型的top-1 準(zhǔn)確率更高,有效地證明了模型的優(yōu)越性。在模型復(fù)雜度方面,與GCN類方法進(jìn)行了比較。由表4可知,本文模型的參數(shù)量和FLOPs 指標(biāo)相對不高,不需要過多的運(yùn)算資源支持。多尺度時(shí)態(tài)建模的引入豐富了時(shí)域特征,強(qiáng)化了特征的多維整體表達(dá)能力,對網(wǎng)絡(luò)訓(xùn)練的收斂速度起到一定的促進(jìn)作用。因此,綜上而言,本文方法具有較強(qiáng)的競爭性,預(yù)期的應(yīng)用前景良好。
本文提出了結(jié)合自適應(yīng)圖卷積模塊和多尺度時(shí)態(tài)模塊的骨架動作識別模型。自適應(yīng)圖卷積通過把骨架數(shù)據(jù)的拓?fù)浣Y(jié)構(gòu)參數(shù)化,并嵌入圖網(wǎng)絡(luò)中,以便與模型一起學(xué)習(xí)和更新。多尺度時(shí)態(tài)模塊可以提取較復(fù)雜的時(shí)間動態(tài)特征,豐富了時(shí)間維度上的感受野,建立了時(shí)間域中的短期和長期依賴關(guān)系。兩個(gè)模塊相輔相成,使得網(wǎng)絡(luò)模型在時(shí)域和空域上具備更好的特征表達(dá)和建模分析能力。本文模型在兩個(gè)大規(guī)模的動作識別數(shù)據(jù)集NTU RGB+D 和NTU RGB+D 120 上進(jìn)行了評估,識別性能均取得了較大程度的提升。在今后的工作中將考慮利用多模態(tài)數(shù)據(jù)融合的方式,進(jìn)一步提高模型識別準(zhǔn)確率,并加強(qiáng)模型的泛化能力。