溫雪巖,李 禎,谷訓(xùn)開,趙玉茗
(東北林業(yè)大學(xué) 計算機與控制工程學(xué)院,哈爾濱 150040)
人體運動分析的動作識別作為計算機視覺中新興的研究方向,引領(lǐng)運動分析向智能化方向發(fā)展。由于花樣滑冰的動作類型多樣,同一類型的動作之間又存在細微的差異,現(xiàn)有的動作識別方法對其研究尚未達到令人滿意的效果,因此面向花樣滑冰動作識別的研究仍有待深入。同時,將基于骨架的動作識別[1-2]應(yīng)用于人體運動分析已成為科研人員重點關(guān)注的研究領(lǐng)域[3]。
在動作識別任務(wù)中,早期模型存在噪聲干擾和忽略空間信息的問題。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN) 的基本方法是將骨架數(shù)據(jù)轉(zhuǎn)化為RGB圖像[4-5],它能夠有效地提取視頻或者圖像的特征,但是容易受到背景噪聲的干擾[6];循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[7]和由其衍生而來的長短時記憶模型(long short-term memory,LSTM)[8]、門控單元模型(gate recurrent unit,GRU)[9]對骨架信息的坐標采用矢量化[10-11]的處理方式,它們均能充分地獲取時序特征,但是忽略了對空間信息的關(guān)注。后來,學(xué)者們受圖論的啟發(fā)[12]開始對圖卷積網(wǎng)絡(luò)(graph convolutional networks,GCN)進行研究[13-14]。
近年來,圖卷積網(wǎng)絡(luò)取得了許多成功的應(yīng)用[15-16],在人體動作識別的準確率上也獲得了較好的提升。2018年,Yan等[17]提出時空圖卷積網(wǎng)絡(luò)(spatial temporal graph convolutional networks,ST-GCN),通過學(xué)習(xí)動作的時空特征克服了之前模型的不足。Shi等[18]在ST-GCN的基礎(chǔ)上結(jié)合骨骼的二階信息,完善了動作的時空特征。之后提出的方法[19-20]雖然可以自適應(yīng)地學(xué)習(xí)人體骨骼的拓撲結(jié)構(gòu),但是均存在特征提取不靈活、時序特征提取不全面的問題。Cheng等[21]利用參數(shù)化拓撲獨立地學(xué)習(xí)每個通道的特征,但是造成了特征的冗余和模型體積的增大。Chen等[22]采用動態(tài)建模方法,提高了動作識別的精度。為了更好地解決模型在花樣滑冰動作識別任務(wù)中存在的特征語義挖掘不充分、空間重要特征關(guān)注不足、時序特征提取不全面的問題,提出了共享多分支特征和注意力的多尺度時空圖卷積網(wǎng)絡(luò)的花樣滑冰動作識別方法。
模型網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主要分為2個階段。第一階段,利用人體姿態(tài)估計算法OpenPose[23]提取動作樣本的骨架序列后輸入網(wǎng)絡(luò)進行特征提取,消除背景噪聲干擾。網(wǎng)絡(luò)模型分別提取骨架序列的四分支特征,即關(guān)節(jié)靜態(tài)流J flow、骨骼靜態(tài)流B flow、關(guān)節(jié)動態(tài)移動流Dynamic J flow、骨骼動態(tài)移動流Dynamic B flow,繼而融合為Multi-branch flow的共享特征塊。第二階段,由融合注意力的多尺度時空圖卷積網(wǎng)絡(luò)對Multi-branch flow捕捉人體運動的深層時序特征和關(guān)鍵空間信息。該網(wǎng)絡(luò)由注意力時空圖卷積模塊堆疊10層(L1~L10)構(gòu)成,每層Li(i:1~10)的3個參數(shù)分別表示輸入通道數(shù)、輸出通道數(shù)、步長。Multi-branch flow通過BN層處理為Rbs×C1×T×N(bs為batchsize大小,C1為關(guān)節(jié)點x、y、z分量,T為數(shù)據(jù)的幀數(shù),N為每幀的關(guān)節(jié)點數(shù)量)。每塊的輸入通道數(shù):L1~L4為bs×64×T×N; L5~L7為bs×128×T/2×N; L8~L10為bs×256×T/4×N。每塊的輸出通道數(shù):L1~L4為64;L5~L7為128;L8~L10為256。最后,利用Softmax判別出較為精準的動作。研究采用了共享特征塊提取模塊,使網(wǎng)絡(luò)可以挖掘更深層次的語義特征。在注意力時空圖卷積模塊內(nèi)部,設(shè)計了改進的注意力機制,來強化關(guān)鍵信息的關(guān)注;同時,構(gòu)建了多尺度時空圖卷積網(wǎng)絡(luò),從而更完整地捕捉多尺度時序特征以識別出較為精準的動作。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
1.2.1獲取人體運動骨架序列
采用人體姿態(tài)估計算法OpenPose[23]進行人體關(guān)鍵點檢測,根據(jù)優(yōu)化算法進行關(guān)鍵點的匹配、聚合、拼接多分支特征的骨架結(jié)構(gòu)。由于單分支特征在發(fā)掘動作語義表達上有所欠缺,為了對動作描述更加完善,采用多分支特征融合的共享特征建模動作的骨架序列。多分支特征分別為:關(guān)節(jié)靜態(tài)流、骨骼靜態(tài)流、關(guān)節(jié)動態(tài)移動流、骨骼動態(tài)移動流。關(guān)節(jié)靜態(tài)流、骨骼靜態(tài)流分別記錄關(guān)節(jié)和骨骼在同一幀內(nèi)部的坐標信息,關(guān)節(jié)動態(tài)移動流、骨骼動態(tài)移動流分別記錄相鄰時間幀關(guān)節(jié)和骨骼的動態(tài)坐標信息。
假設(shè)單一關(guān)節(jié)點J′的定義為:
J′=(X′、Y′、Z′)
(1)
式中:X′、Y′、Z′分別為關(guān)節(jié)點J′對應(yīng)位置的x、y、z坐標值;(X′,Y′,Z′)為J′的關(guān)節(jié)點坐標。
關(guān)節(jié)靜態(tài)流(joint flow,J flow):默認由人體姿態(tài)估計算法OpenPose[23]獲取的25個關(guān)節(jié)點坐標得到:
(2)
(3)
(4)
(5)
1.2.2共享特征塊
將提取的多分支特征融合為共享特征塊,挖掘多分支特征在語義表達上的相關(guān)性和互補性特征,通過共享特征塊對動作描述更加精確,預(yù)測較為精準的動作類型。
共享特征流(Multi-branch flow):通過四分支特征的融合,提取共享特征塊:
M flow = J flow⊕B flow⊕
Dynamic J flow ⊕ Dynamic B flow
(6)
式中:J flow、B flow、Dynamic J flow、Dynamic B flow分別為對應(yīng)的四分支特征;M flow為共享特征流; ⊕為concat操作。
由圖2可見,分別提取動作樣本骨架序列的多分支特征,再融合為Multi-branch flow輸入到網(wǎng)絡(luò)中,網(wǎng)絡(luò)可以獲取更為豐富的特征語義表示,提取更深層次的特征,從而對動作的表征更加完善,預(yù)測結(jié)果較為精準。
圖2 多分支網(wǎng)絡(luò)結(jié)構(gòu)
注意力時空圖卷積模塊由改進的注意力機制和多尺度時空圖卷積網(wǎng)絡(luò)構(gòu)成。其中Dropout層緩解了空間圖卷積的過擬合現(xiàn)象,模塊中的殘差連接避免了網(wǎng)絡(luò)層數(shù)過深、模型梯度消失現(xiàn)象的發(fā)生,提高模型的穩(wěn)定性。
1.3.1注意力機制
注意力機制可以將特征和特征之間的關(guān)聯(lián)按照重要性排序,通過這種機制,對動作識別內(nèi)部的差異性和關(guān)鍵性的特征會占據(jù)更大比重??紤]到需要在空間維度上進行關(guān)注并提取具有明顯差別的特征,引入注意力機制強化關(guān)鍵幀內(nèi)部空間特征的聚焦與提取。研究在卷積注意力模塊[24](convolutional block attention module,CBAM)的基礎(chǔ)上進行改進,改進后的注意力機制在通道和空間維度對不同動作的特征顯著區(qū)分。模塊能夠抑制冗余特征,實現(xiàn)強化空間特征的表達效果,其結(jié)構(gòu)如圖3所示。
圖3 注意力機制模塊結(jié)構(gòu)
改進的通道注意力模塊(improved channel attention module,Im-CAM):采用改進的通道注意力模塊關(guān)注空間結(jié)構(gòu)中依次具有意義的特征。由于原CBAM的CAM模塊的池化操作會損失重要特征,因此在關(guān)鍵特征識別方面并不具備優(yōu)勢。為了讓模型更好地共享數(shù)據(jù)特征,提高識別性能,改進了通道注意力結(jié)構(gòu),如圖3(a)所示。將輸入特征V∈RC1×T×N×M(默認M=1為動作的參與人數(shù))進行以下操作:① 最大池化;② 平均池化;③ 兩池化特征作差并取絕對值;④ 兩池化特征相乘。綜合4種特征最大化地共享數(shù)據(jù),有效地解決了原CAM存在的特征損失問題,增強了模型存儲重要性特征的能力:
Vs=|MaxPool(V)-AvgPool(V)|
(7)
Vr=MaxPool(V)?AvgPool(V)
(8)
Vma=MaxPool(V)⊕AvgPool(V)⊕Vs⊕Vr
(9)
C=?(MLP(Vma))
(10)
式中:?為逐元素乘法;?為Sigmoid激活函數(shù);Vs為對V的最大池化和平均池化特征作差取絕對值的特征向量;Vr為兩者乘積的特征;Vma為對V的最大池化和平均池化特征、Vs、Vr做維度拼接后的特征向量;MLP為多層感知器。
空間注意力模塊(spatial attention module,SAM):網(wǎng)絡(luò)通過S∈RT×N記錄節(jié)點位置的重要性程度。
S=?(Conv2D(MaxPool(Y)⊕AvgPool(Y)))
(11)
E-CBAM模塊(enhanced CBAM module,E-CBAM):E-CBAM的嵌入,使模塊顯著地強化了V中關(guān)鍵特征的關(guān)注,避免了差異性特征的損失,提升了動作識別的效果。
1.3.2多尺度時空圖卷積網(wǎng)絡(luò)
為了提高模型的時序建模能力,減輕計算量,選擇文獻[22]基于通道的非共享拓撲結(jié)構(gòu)進行骨架序列的空間特征提取,如圖4(a)所示;同時構(gòu)建多尺度時序卷積網(wǎng)絡(luò)(multi-scale temporal convolutional network,MTCN),有效地提取骨架序列的時間特征,如圖4(b)所示。
圖4 多尺度時空圖卷積網(wǎng)絡(luò)
由于動作特征的獨特性和特征之間的個體差異性,ST-GCN的特征提取采用共享拓撲,限制了提取的靈活性。為此,在空間維度上,采用了基于通道建模的非共享拓撲結(jié)構(gòu),使網(wǎng)絡(luò)可以對不同通道包含的不同信息進行提取,來增強模型特征提取的靈活性。首先,取ST-GCN的鄰接矩陣A作為所有通道的共享拓撲;然后,每個動作由其獨特性和內(nèi)部特征結(jié)構(gòu)之間的相關(guān)性生成每個通道獨立的拓撲結(jié)構(gòu),通過逐通道調(diào)整共享拓撲得到細化的通道拓撲。
空間特征提取如圖4(b)Unit-gcn所示,其結(jié)構(gòu)如圖4(a)所示,過程如下:
1) 全連接層H(·)將特征Fx∈RN×C1轉(zhuǎn)換為F∈RN×C1,使其尺寸與式(2)中X相匹配。
F=Η(Fx)=FxW
(12)
式中:W為一個可學(xué)習(xí)的參數(shù)矩陣;Fx為經(jīng)過注意力機制輸出的特征向量。
2) 模型根據(jù)輸入的動作特征序列建立獨立的通道拓撲來捕捉不同類型運動特征下關(guān)節(jié)之間的相關(guān)性。根據(jù)關(guān)節(jié)點之間的關(guān)系,建立共享拓撲A∈RN×N;E∈RN×N×C1′是不同關(guān)節(jié)點在通道上的相關(guān)性,通過E不斷調(diào)整共享拓撲A,最終得到細化的通道拓撲集合X∈RN×N×C1′。Xa∈RN×N(a∈{1,…,C1′})為每個通道獨立的鄰接矩陣。
(13)
(14)
(15)
X=θ(E,A)=A+α·E
(16)
3) 對每個通道的特征F:,a∈RN×1(a∈{1,…,C1′})和鄰接矩陣Xa∈RN×N(a∈{1,…,C1′})沿通道卷積,并通過Φ(·)聚合所有通道的特征生成Z∈RN×C1′。
(17)
式中:F為所有通道的特征;X為學(xué)習(xí)后的所有通道的拓撲集合;X1為第1層通道的鄰接矩陣;F:,1為第1層通道上的特征;X2、F:,2以此類推;Φ(·)聚合所有通道的卷積特征;Z包含了不同動作序列的獨特信息。
通過建立非共享鄰接矩陣,增強了模型提取動作特征的靈活性,最大程度地保留了特征的獨特性信息,減少了關(guān)鍵信息的丟失,從而動作特征獲得更充分地提取。
圖4(b)中MTCN,設(shè)置多尺度Di-Convj取代ST-GCN的普通卷積。隨著網(wǎng)絡(luò)層數(shù)的加深,特征損失的問題難以避免,通過多尺度空洞卷積,實現(xiàn)增大感受野、捕捉深層時序特征的目標,進一步提高了模型提取多尺度時序特征Mout的能力。
(18)
Mout=γ(M)
(19)
式中:ζ為Dropout操作;γ為ReLU激活函數(shù);Di-Convj為MTCN第j個多尺度卷積操作,j∈(1,4);M為對通道特征集合Z利用不同尺度卷積融合后的特征向量。
Di-Convj(j:1→4)內(nèi)部含有不同的膨脹系數(shù)1、3、4、5,卷積核大小為(u,1),進行時序特征提取。在維持參數(shù)和計算量不變的條件下,通過膨脹系數(shù)的設(shè)置,MTCN映射的感受野發(fā)生改變,因而提取的特征在時間跨度上也更加全面,可以提取到更大范圍、更深層次的特征。
模型的算法流程如下:
Ours算法
輸入:預(yù)處理后數(shù)據(jù)集wg的四分支特征J flow(wg),B flow(wg),Dynamic J flow (wg),Dynamic B flow (wg);注意力時空圖卷積模塊的層數(shù)k,?k∈{1,…,K};多尺度時空圖卷積模塊中Unit-gcn的個數(shù)i,?i∈{1,…,I}; MTCN中多尺度卷積的個數(shù)j,?j∈{1,…,J}
輸出:數(shù)據(jù)集對應(yīng)的概率最高的標簽
1) M flow ← Concat(J flow(wg),B flow(wg),Dynamic J flow (wg),Dynamic B flow (wg))//提取共享特征塊
2)V←BatchNorm(M flow) //將提取后的共享特征塊批量標準化得到V
3) fork=1→k=Kdo //將V輸入融入注意力的多尺度時空圖卷積網(wǎng)絡(luò)
4) FX ← E-CBAM(V) //利用注意力機制提取特征得到Fx
5) fori=1→i=Ido //將Fx輸入多個Unit-gcn
6)Zi←Unit_gcni(Fx) //Unit_gcni表示第i個Unit_gcn
7)Z←Concat(Zi)//提取i個Unit_gcn的輸出特征得到Z
8) end for
9)Z←Dropout(Relu(BatchNorm(Z)))
10) forj=1→j=Jdo//將Z輸入MTCN
11)Mj← Convj(Z)//Convj表示第j個多尺度卷積
12)M←Concat(Mj)//利用MTCN提取j個多尺度卷積特征得到M
13) end for
14)Mout←ReLU(M)//獲得時序特征Mout
15) end
16) Label_ MaxProp ← Softmax(Mout)//獲取概率最高的標簽Label_ MaxProp
17) 輸出數(shù)據(jù)集對應(yīng)的概率最高的標簽
實驗環(huán)境基于Ubuntu 20.04操作系統(tǒng),Nvidia GeForce RTX 2080Ti 顯卡,深度學(xué)習(xí)框架為PyTorch 1.10.0,Python 3.7。采用交叉熵損失函數(shù)(cross entropy)進行訓(xùn)練,隨機梯度下降(stochastic gradient descent,SGD)作為優(yōu)化器,批量大小(Batchsize)設(shè)置為32,數(shù)據(jù)集迭代次數(shù)(epoch)設(shè)置為100,初始學(xué)習(xí)率(learning rate)設(shè)置為0.1。
實驗采用的FSD-10花樣滑冰數(shù)據(jù)集由北京智源人工智能研究院發(fā)布,共包含30種動作類型。數(shù)據(jù)集以7∶1∶2的比例依次切分為訓(xùn)練集、驗證集、測試集。利用OpenPose算法[23]提取每幀包含25個關(guān)節(jié)點的骨架結(jié)構(gòu),關(guān)節(jié)點示例如圖5所示,其數(shù)字詳情見表1。
表1 關(guān)節(jié)點數(shù)字對應(yīng)位置
圖5 關(guān)節(jié)點示例圖
數(shù)據(jù)集是W×C1×T×N×M的五維張量。其中,W為樣本數(shù)量;C1為每個關(guān)節(jié)點的x、y坐標和置信度;T為動作的持續(xù)時間長度,共有1 000幀,對于實際長度不足1 000幀的部分動作,在其后重復(fù)補充0~1 000幀,來保證T維度的統(tǒng)一性;N為25個關(guān)節(jié)點;M為參與人員數(shù)量。
使用準確率來評估所提算法的性能。準確率表示模型預(yù)測正確的樣本數(shù)量占測試集樣本總數(shù)的比例:
(20)
將所提模型與當前的模型進行了對比實驗,結(jié)果如表2所示。
表2 對比實驗
由于對花樣滑冰動作識別這項任務(wù)的研究尚處于起步階段,因此目前所提出的方法在FSD-10數(shù)據(jù)集上的準確率相對不高,未來還有進步的空間。在表2的實驗結(jié)果中,ST-GCN模型的準確率為50.5%,這表示在包含30 種動作類型的測試集中,ST-GCN模型預(yù)測正確的樣本數(shù)占測試樣本總數(shù)的 50.5%,展現(xiàn)了極低的準確率。而2S-AGCN模型和AS-GCN模型由于完善了動作的時空特征,雖然準確率較低,但是比ST-GCN模型有不錯的提升?;谧赃m應(yīng)學(xué)習(xí)的MS-AAGCN模型雖然具有較豐富的語義特征,但是由于捕獲的時序特征不全面,導(dǎo)致其準確率甚至低于存在語義特征的AS-GCN模型。CTR-GCN模型的表現(xiàn)均優(yōu)于ST-GCN模型以及AS-GCN模型。所提模型的準確率可達64.5%,比表現(xiàn)最好的CTR-GCN模型提高了4.4%,更進一步地提升了識別效果。所提模型既通過融合多分支的共享特征得到了更豐富的動作表征,又考慮改進通道注意力結(jié)構(gòu),克服了現(xiàn)有方法特征語義不充分以及關(guān)鍵特征提取不足的問題。相比ST-GCN模型僅使用普通卷積提取時序特征,所提模型在提取時序信息上通過多尺度空洞卷積的聯(lián)動配合,緩解了時序特征提取不全面的問題,準確率和ST-GCN模型相比提高了14%,也比其他模型提高4.4%~7%。通過分析數(shù)據(jù)證明了所提模型的優(yōu)越性。
為了驗證改進的注意力機制、共享特征提取模塊以及多尺度卷積模塊的有效性,進行了消融實驗。
2.5.1注意力機制消融實驗結(jié)果分析
為驗證改進的注意力機制的有效性,進行的消融實驗結(jié)果如表3所示。由此可知,采用注意力機制的準確率比前4項的模型分別提高了14%、12.2%、1.7%和4.4%。其中,添加CBAM模塊的CBAM+CTR-GCN模型和CBAM+ST-GCN模型的準確率又分別優(yōu)于CTR-GCN模型和ST-GCN模型。刪除E-CBAM的準確率為59.6%,比所提模型降低了4.9%,準確率受到較嚴重的影響。這說明模型是否嵌入注意力機制對于提升模型性能本身就具有不同程度的影響,將改進后的注意力機制作為所提方法的一部分有益于動作識別的研究。通過設(shè)計改進后的注意力機制可以有效地關(guān)注差異性和關(guān)鍵性特征,減少無關(guān)特征的干擾,提高模型提升性能,對準確率的提升具有一定的促進作用。實驗結(jié)果更進一步地驗證了注意力機制的有效性。
表3 注意力機制消融實驗
2.5.2共享特征塊消融實驗結(jié)果分析
如圖6所示,模型選擇不同的輸入分支后識別的準確率也存在差異。前4項的4個單分支中,J flow的準確率最高,達到61.3%,Dynamic B flow的準確率最低,僅為54.3%;采用四分支并行輸入,準確率提高到63.2%;當共享特征Multi-branch flow輸入時,準確率又能提升1.3%,達到64.5%。實驗結(jié)果表明,單分支和四分支并行輸入難以獲得充分的特征,識別效果不顯著,導(dǎo)致模型性能提升不明顯;而共享特征通過對動作序列挖掘深層語義特征,可以克服語義特征提取不足的困境,較好地提升性能。實驗結(jié)果驗證了共享特征提取模塊對模型增強的有效性。
圖6 不同分支在FSD-10數(shù)據(jù)集的準確率
2.5.3卷積核大小消融實驗結(jié)果分析
如圖7所示,在多尺度時空卷積模塊內(nèi)部,不同的卷積核尺寸對性能的影響也不盡相同。卷積核尺寸決定空洞卷積的范圍和感受野的大小。卷積核越大,感受野越大,多尺度時空卷積模塊提取的時序特征就越多。考慮到細微特征和模型性能兩方面因素,對不同的研究對象選擇最合適的卷積核大小是多尺度時空卷積模塊的關(guān)鍵。由圖7可見,隨著卷積核尺寸不斷變大,準確率曲線呈先上升后劇烈下降的趨勢。在卷積核u=9時,該曲線降至最低點,準確率為59.5%;在卷積核u=5時,該曲線達到最高點,準確率為64.5%。卷積核過大,遺漏的細節(jié)過多,對動作的表征能力就過弱,識別準確率較低;卷積核過小,捕捉的時序信息就過少,準確率也不高。因此,積核u=5對研究對象準確率的提升起到較優(yōu)的效果,也從側(cè)面驗證了MTCN的有效性。
圖7 卷積核大小在FSD-10數(shù)據(jù)集的準確率
實驗的學(xué)習(xí)率衰減曲線如圖8所示,初始學(xué)習(xí)率隨迭代次數(shù)的增加逐漸下降;在第50次以后,學(xué)習(xí)率趨于收斂,衰減曲線趨向平緩,此時模型的學(xué)習(xí)效果達到最佳狀態(tài)。
圖8 學(xué)習(xí)率衰減曲線
提出了多分支特征共享和注意力的多尺度時空圖卷積網(wǎng)絡(luò)的花樣滑冰動作識別方法,用于解決花樣滑冰動作特征提取不足、識別準確率不高的問題。
1) 采用多分支共享特征提取動作特征的多重語義表征;嵌入改進的注意力機制,增強對關(guān)鍵特征的提取;設(shè)計多尺度時空圖卷積網(wǎng)絡(luò)獲取深層時序特征以提升對不同視頻幀數(shù)下的動作特征的提取能力,獲得更全面的特征,最終能夠有效地提高動作識別的準確率。
2) 在30種動作類型的FSD-10數(shù)據(jù)集上進行了實驗,實驗結(jié)果表明該方法能夠更準確地識別花樣滑冰動作,與其他圖卷積方法的動作識別性能相比,所提方法的性能均優(yōu)于其他圖卷積方法。
3) 在未來的工作中,將進一步提高對不同場景下花樣滑冰動作識別的準確率,如考慮改進模型的時空特征提取結(jié)構(gòu)、豐富數(shù)據(jù)集的數(shù)量和動作種類、采集不同拍攝角度下的動作等,以便在實際應(yīng)用中能夠更好地為該運動的愛好者們提供輔助指導(dǎo),提高實際應(yīng)用價值。