?

基于多流空間注意力圖卷積SRU網絡的骨架動作識別

2022-08-13 08:22趙俊男佘青山
電子學報 2022年7期
關鍵詞:骨架注意力卷積

趙俊男,佘青山,孟 明,陳 云

(杭州電子科技大學自動化學院,浙江杭州 310018)

1 引言

人類行為的識別是計算機視覺中一項基本又富有挑戰性的任務,促進了許多應用的產生,如人機交互、異常行為檢測等[1].與傳統利用RGB 圖片或視頻流進行動作識別的方法相比,基于骨架的動作識別不受背景雜波、光照變化等限制,對目標動作的表示更加健壯.

近年來,研究人員充分挖掘骨架數據的圖結構信息,開始將圖卷積網絡推廣到骨架圖上,來進行動作識別任務.Yan等[2]提出了基于圖的動態骨架建模通用公式,提出時空圖卷積(Spatio-Temporal Graph Convolutional Networks,ST-GCN)網絡,應用于骨架動作識別.ST-GCN 采用空間圖卷積捕捉骨骼數據的空間信息,利用時間卷積在時間維度上對數據建模,獲得了更好的識別效果.而Si 等[3]發揮了長短時記憶網絡(Long Short Time Memory,LSTM)強大的序列建模性能,并將空間圖卷積操作嵌入LSTM 的門計算中,提出了注意力增強圖卷積LSTM 網絡(AGC-LSTM),取得了比ST-GCN更好的效果.Lei 等[4]則更多地關注骨骼數據蘊含的二階信息,包括骨骼的長度和方向,提出了多流注意增強型自適應圖卷積網絡(MS-AAGCN).該方法增加了骨骼圖構造模型的靈活性,增強了模型的泛化能力,顯著提高了識別精度.然而,上述算法為了達到更高的識別精度,采取疊加多層網絡或者使用時間維度建模能力強的模塊,會導致模型在訓練和測試中更耗時.因此,以上算法仍然存在模型推理速度慢、計算復雜度高等問題,值得進一步研究.

最近,Lei 等[5]提出了一種簡單循環單元(Simple Recurrent Unit,SRU)結構,具有比LSTM 更高的并行性和更快的推理速度.She 等[6]提出一種全局上下文注意力時空SRU 模型(GCA-ST-SRU).該方法首先通過SRU單元來構建模型,以克服LSTM 推理速度慢等的問題.但是該方法未考慮骨骼間的結構聯系,而且對數據的利用比較單一.

為了解決上述方法的不足,本文提出了一種新的多流空間注意力圖卷積SRU 網絡(MSAGC-SRU)方法.首先,用圖卷積算子替換SRU 模型中的單元結構門的全連接計算,提出圖卷積SRU(GC-SRU)方法.同時對數據的空間和時間域進行建模.然后,為了加強關節間的區分性,進一步引入了空間注意力網絡,構建空間注意力圖卷積SRU(SAGC-SRU)網絡,使模型更加關注重要的關節.最后,受MS-AAGCN 方法中多流數據輸入方式的啟發,進一步提出一種簡單高效的多流數據融合方式,該方式將多數據流一次輸入、同時訓練,能顯著減少運行時間.最后在兩個公共數據集上的實驗表明,所提方法在識別精度和計算效率間達到了良好的平衡.

2 本文算法

基于骨架的動作識別是對骨架序列進行建模,并學習序列的時間動力學信息.本文提出一種端到端的多流空間注意力圖卷積SRU 網絡(MSAGC-SRU),用于骨架動作識別任務,其網絡架構如圖1所示.

圖1 MSAGC-SRU網絡架構

對于骨架序列,本文首先通過多流數據融合方法,得到多流融合數據.然后,設計三層SAGC-SRU 網絡來模擬時空特征,如圖2 所示.其中,圖卷積算子能夠捕捉骨骼數據的空間結構信息和時間動態的判別特征.同時,在SAGC-SRU 層的輸出位置引入空間注意力網絡,增加了對重要關節點的關注度.參考Si等人[3]的設置,本文在SAGC-SRU 數據輸入時,在時間維度上進行平均池化操作.能夠在時間域上壓縮輸入數據和參數的量,增加SAGC-SRU 頂層的時間感受野,同時減小網絡過擬合的可能性,并加快了模型的推理速度.最后是全連接層,實現動作的分類任務.

圖2 GCN可視化過程

2.1 多流數據融合

骨架數據的一階(關節點坐標)和二階信息(骨骼的方向和長度)[4]以及它們的動態信息都是區分不同動作的重要信息.因此,有必要對骨架數據的多種模式建模.受到Lei等[4]相關工作的啟發,本文使用4種模式的數據流,分別為以原始關節點坐標為輸入的節點流,以關節點空間坐標的差分為骨骼流,以及基于節點流和骨骼流數據在時間維度上的差分得到的動態數據流.

一般定義靠近骨架重心的關節點為父關節i,遠離重心的為子關節j,在第t幀的骨架中,設父關節vi,t=(xi,t,yi,t,zi,t)和子關節vj,t=(xj,t,yj,t,zj,t),則骨骼可表示為

通過式(1)對原始的節點流數據處理,可以得到骨骼流數據.設vi,t=(xi,t,yi,t,zi,t)為第t幀的關節,vi,t+1=(xi,t+1,yi,t+1,zi,t+1)為第t+1 幀的關節,則兩幀間節點的動態流信息可以表示為

本文沒有采用將各流數據依次訓練后,再將訓練結果融合的方法.而是在一次訓練中同時輸入多流融合數據,減少實驗次數,減少訓練時間.如圖1 的多流數據融合部分所示,具體步驟如下:

步驟1:原始骨架序列數據為節點流數據,經過上述骨骼的定義式(1),得到骨骼流數據;

步驟2:將Step1 獲得的兩流數據拼接后,通過全連接層,將信息編碼成高維向量,作為數據的融合特征;

步驟3:通過步驟Step2 得到的兩流融合數據,獲取其動態流數據.再和它拼接后經過全連接層和ReLU激活函數,得到目標的多流融合數據.

2.2 空間注意力圖卷積SRU

圖卷積神經網絡(Graph Convolutional Network,GCN)是一種通用而有效的圖結構數據學習表示框架[3].在基于骨架的動作識別中,設? t={vt,εt}表示第t幀的人體骨骼圖,vt={vt1,vt2,...,vtN}是N個關節點的集合,則εt={(vti,vtj):vti,vtj∈vt,vti~vtj}可以表示成骨骼邊的集合,vti~vtj表示節點i和節點j是無向邊連接.鄰接矩陣At可以通過εt指定:

在一個骨架圖上,定義節點vti的鄰集B(vti)={vtj|d(vtj,vti)≤D},其中d(vtj,vti)表示從節點vti到vtj的任何路徑的最小長度.可以給出在點vti上的圖卷積公式:

其中,X(vtj)表示節點vtj的特征,W(·)是一個權重函數,vtj為與vti距離為1 的相鄰節點.?(·)是一個映射函數.因為鄰集B(vti)的節點數量是變化的,權重函數數量是固定的,所以需要將所有相鄰的節點映射到一個固定標簽的子集[4]中,每個子集都有一個唯一的關聯權重向量.本文參考了ST-GCN[2]的映射策略,將B(vti)分為三個子集:第一個子集為vtj本身,第二個為空間位置上比vtj更靠近骨架重心的鄰點集合,第三個則為更遠離重心的鄰點集合,Zti(vtj)即為對應子集個數.

引入鄰接矩陣,圖卷積可以表示為:

其中,k∈{1,2,…,k}是根據映射策略得到的子集的固定標簽.Ak是標簽k空間構型中的鄰接矩陣是一個度矩陣.為了更好地理解圖卷積在骨架序列數據中的計算過程,圖2 給出可視化形式.圖中c表示骨架數據的輸入通道數,t是數據的序列長度,v是骨架數據中的關節點數量,h表示輸出通道.

本文選擇GCN 與SRU 結合.SRU 是一種簡單的循環單元模型[7],它解決了因反向傳播引起的梯度消失問題[8],并通過在門輸入中隱去前一時刻的隱藏狀態實現計算上的并行性[9],具有更快的訓練速度和推理速度.從Di等人[10]的思路來看,SRU需要堆疊更多層,才能獲得與單層LSTM 相似的性能.本文將SRU 應用到骨架動作識別中,需要對SRU進行改進.

本文使用空間注意力圖卷積SRU(SAGC-SRU),對骨架序列數據進行時空域建模[11],結構如圖3所示.將SRU 的輸入門、遺忘門、重置門的全連接計算替換成圖卷積計算,捕獲數據的空間信息,并在隱藏狀態引入空間注意力機制,來關注不同重要程度的關節點.

圖3 SAGC-SRU模型結構

SAGC-SRU 的輸入xt、隱藏狀態和存儲狀態Ct都是圖結構數據.其功能定義如下:

其中,AveragePooling 表示平均池化操作,使用Pytorch中的F.avg_pool1d 函數對輸入xt進行平均池化.*表示圖卷積算子表示W和的圖卷積.⊙表示哈達瑪積,σ(·)是Sigmoid激活函數,g(·)表示tanh激活函數,fatt(·)是選擇關鍵節點信息的空間注意力網絡.引入注意力機制后,輸出Ht能增強關鍵點的信息,且不會削弱非關鍵點的信息,來保持空間信息的完整性[3].

2.3 空間注意力網絡

一般情況下,不同動作涉及到不同關節點,不同關節點的重要程度就會不同.由此,本文提出一種空間注意力模型(Spatial Attention Model)來區分節點的重要程度,模型結構如圖4 所示.該模型引入了軟注意力機制[12],為幀內每個關節點分配一個空間注意權重,使得模型能夠自適應地將注意力集中在某些關節上.

圖4 空間注意力網絡

空間注意力網絡的輸入是圖卷積SRU(GC-SRU)的隱藏狀態它含有骨架動作序列的時態信息和豐富的空間結構信息,有利于關鍵關節點的選擇[13].首先將每個節點的輸出信息通過一層全連接層和ReLU 激活函數,聚合成一個查詢向量

其中,αt=(αt1,αt2,…,αtN)表示節點的注意力分數.全連接層防止了網絡復雜化也提升了模型的泛化能力,最后利用激活函數得到注意力分數.

經過最后一層SAGC-SRU后,本文將所有節點和注意力分數加權后的特征聚合得到Ft,將每個時間步長的聚合特征Ft轉換成C類的分數ot,其中ot={ot1,ot2,…,otC},i類的預測可以表示成式(14):

本文采用下面的損失函數來監督所建模型:

其中,Tj表示第j層SAGC-SRU上的時 間步長,y={y1,y2,…,yC}表示真實標簽,與預測標簽進行對比.λ和β是權重衰減系數,平衡了正則化項的作用,減輕了反向傳播中的梯度消失和過擬合現象.本文分別設置λ和β為0.01和0.001.

3 實驗結果與分析

3.1 數據集和評價指標

Northwestern-UCLA 數據集包含1 494 個樣本,分別由三臺Kinect 攝像頭同時從三個不同的視角拍攝.一共涵蓋10 個動作類別,分別是單手撿起、雙手撿起、丟垃圾、四處走動、坐下、起立、穿、脫、扔、搬運.本實驗采用了文獻[14]中的評估方案:使用前兩個攝像機視角的樣本作為訓練集,另一個視角的樣本作為測試集.

NTU RGB+D 數據集包含56 880 個樣本[12],包含60種行為,包含了日常、相互和健康相關的行為.對于該數據集,本文采用跨受試者(Cross Subjects,CS)和跨視角(Cross Views,CV)評估協議.在CS 協議中,由20 名受試者采集的數據構成訓練集,其余20 名受試者用于測試.對于CV 協議中,前兩個視角捕獲的樣本用于訓練,另一個視角的數據用作測試.

為了評估算法在分類任務的有效性,本文使用主流的評估指標:分類準確率(Accuracy)和算法的浮點運算數(FLOPs).在Northwestern-UCLA 數據集的實驗中,實驗增加了訓練1 000次訓練和測試樣本的耗時統計.

根據文獻[15]提供的計算方法,FLOPs值計算與數據集的動作類別C、骨節點數量N、骨架序列長度T以及網絡層類型等有關.以本文提出的MSAGC-SRU 模型和Northwestern-UCLA Dataset 為例,其中N=20,T=52.該模型的FLOPs 計算包含三部分:多流數據融合部分,三層SAGC-SRU網絡層和最后的全連接分類層.

首先是多流數據融合部分,有兩層的全連接層.根據實驗的超參數設置,它們的FLOPs 分別為2×3×256×N×T和2×C2×N×T,其中C=512.然后是三層SAGC-SRU.每一層的SAGC-SRU 由SRU、圖卷積、空間注意力機制三部分FLOPs 相加得到.SRU 的FLOPs 可表示為(3×2C2)×N×T.圖卷積的計算過程已通過圖2可視化,其將骨骼節點按分區規則分為三部分的圖卷積操作.代碼實現中,使用了Pytorch 中的torch.matmul函數,可視為矩陣相乘的操作.圖卷積部分的FLOPs可表示為3×(NC2+N2C)×T×2.空間注意力部分使用了全連接層,FLOPs 可表示為2×2×C2×N×T.因為在時間維度上使用了平均池化,三層網絡的T分別為26,13,7,C=512.最后一層是全連接層,FLOPs 為2×C×10,其中C=512.在計算完每部分的FLOPs 后,將其相加后乘以數據集包含的人數即為模型的FLOPs.

3.2 實驗細節

實驗使用Northwestern-UCLA和NTU RGB+D兩個公共數據集,將抽取每個骨架序列中的固定長度T,其中Northwestern-UCLA數據集的T設置為50,NTU RGB+D數據集設為100.訓練使用Adam 優化器來優化網絡[16],Dropout 設為0.5,初始學習率分別設為0.001 和0.01,weight-decay 為1e-5,訓練的批次大分別設為32 和64.網絡設置三層SAGC-SRU 網絡,實驗均在Pytorch 框架上進行,GPU為2塊NVIDIA GTX 1080ti.

3.3 實驗結果

3.3.1 Northwestern-UCLA Dataset

為了驗證本文所提方法的有效性,首先在Northwestern-UCLA 數據集上與同領域的其他先進方法進行對比.這里將要比對的方法包括:基于人工提取特征的方法[17,18]、CNN 和RNN 方法[19,20]、改進型LSTM 方法[3,21].結果如表1 所示.較于傳統的手工提取特征方法和經典的RNN、CNN 方法,本方法在分類精度方面優勢明顯.本文提出的MSAGC-SRU 方法與Ensemble TSLSTM[21]方法相比,在分類精度上提高了3.9%,僅僅比AGC-LSTM 方法低了0.2%,但是FLOPs 值低于AGCLSTM 的1/2.初步說明,MSAGC-SRU 方法在大大減小計算復雜度的同時,能夠達到良好的分類精度.

表1 Northwestern-UCLA 數據集上實驗結果比較

為了說明本方法中采用的多流數據融合方法和空間注意力機制在實驗中的有效性,再進行圖卷積、數據融合方式和空間注意力機制的消融實驗,以SRU 作為基線方法,并與AGC-LSTM 方法進行比較,實驗結果如表2所示.以下實驗方法將主要用于消融實驗對比:

(1)SRU:標準的3層SRU堆疊網絡;

(2)GC-SRU:3層GC-SRU網絡,輸入單流數據;

(3)MSGC-SRU:3 層的GC-SRU 網絡,輸入多流融合數據;

(4)SAGC-SRU:3 層SAGC-SRU 網絡,輸入單流數據;

(5)MSAGC-SRU:3 層的SAGC-SRU 網絡,輸入多流融合數據.

表2 給出了本文方法在Northwestern-UCLA 數據集上的消融實驗結果.只加入圖卷積運算的GC-SRU 方法的分類準確率為84.8%,比單純的SRU 提高了3.5%,說明圖卷積的應用提高了分類性能.當GC-SRU 使用多流融合數據時,其分類結果達到了90.3%,在單流輸入的基礎上提高了5.5%.在此基礎上加入空間注意力機制,得到的SAGC-SRU以及MSAGC-SRU,分類精度分別為90.1%和93.1%.說明空間注意力機制同樣帶來比較大的性能提升.消融實驗的結果表明,MSAGC-SRU方法中使用的圖卷積、多流數據融合以及空間注意力機制都能提升模型的分類性能.

表2 Northwestern-UCLA 數據集上消融實驗結果

下面,本文獲取算法的訓練和測試時間,能直觀地看出MSAGC-SRU 的輕量級優勢.表3 給出不同方法連續訓練和測試1 000次的耗時.每次測試時只輸入一個樣本,并重復5 次實驗,取測試時間的平均值.可以看出,SRU 的訓練和測試速度是最快的,使用多流融合模塊、圖卷積運算和注意力機制都會增加模型的訓練和測試耗時.與AGC-LSTM 方法相比,提出的MSAGCSRU 方法在該條件下的訓練效率提高了2.1 倍,測試效率提升了2倍.

表3 在Northwestern-UCLA 上測試不同算法訓練和測試1 000次樣本的時間

表1~表3 的結果表明,MSAGC-SRU 方法在Northwestern-UCLA 數據集上,不僅在動作分類任務中表現出色,還大幅提高了模型的訓練和測試效率,在分類準確率和計算成本之間有很好的平衡.

3.3.2 NTU RGB+D Dataset

為了驗證本文方法的泛化能力,繼續在更大的數據集NTU RGB+D 上實驗.比較的方法包括ST-GCN[2]、2s-Adaptiva GCN[22]、AGC-LSTM[3]和MS-AAGCN[4],實驗結果如表4所示.

表4 在NTU RGB+D數據集上實驗結果比較

從表4 中可以看出,在CV 協議中,本文提出的MSAGC-SRU 方法比ST-GCN 提高了4.4%的分類準確率;在CS 協議中,本文方法提高了5.8%的準確率.與AGC-LSTM[3]相比,CV 協議中MSAGC-SRU 的分類精度低了2.3%,CS 協議中低了1.9%,但FLOPs 低于AGCLSTM 的1/2.與更先進的算法MS-AAGCN 相比,CV 協議下低了3.5%,CS 協議中低了2.7%,但是從算法復雜度看,本文方法的FLOPs 僅為MS-AAGCN 的1/3.結果表明,MSAGC-SRU 方法在類別增多、數據特征增加的情況下分類準確率有明顯損失,但是顯著降低了算法復雜度.在重視設備的運行效率的場景下,比如嵌入式或移動端的應用中,MSAGC-SRU 能盡可能保持損失很小的精度來滿足非常高效的應用任務.

4 討論

在Northwestern-UCLA 數據集的實驗中,本文用混淆矩陣分析了訓練模型的測試分類結果.從圖5 中可以看到,SRU 方法在“單手撿起”和“雙手撿起”兩種動作間分類精度不高,在“丟垃圾”和“四處走動”兩個動作也不能很好的區分,尤其是“扔”的動作識別效果很差,主要因為這些動作間的相似度較高,普通的SRU 方法不能很好的區分.而本文提出的MSAGC-SRU 方法很好的提高了對這些動作的分類精度,即使與AGCLSTM 相比,在“自處走動”、“搬”等動作的分類精度會略微高一些.這些結果表明,MSAGC-SRU 方法在骨架動作識別任務中是一種有效的方法.

圖5 Northwestern-UCLA數據集上測試結果的混淆矩陣對比圖

5 結論

本文提出了一種多流空間注意力圖卷積SRU(MSAGC-SRU)方法,并應用于基于骨架的三維動作識別.MSAGC-SRU 方法將圖卷積算子代替門的全連接運算,利用數據的空間信息.同時,引入空間注意力網絡,增強節點的關注度.此外,為了表現骨骼數據的多樣性,采用多流融合數據輸入.在兩個公開數據集上的實驗表明,與先進方法比,所提出的MSAGC-SRU 提高了數倍的計算效率,同時保持了不錯的分類準確率.接下來研究的開展會將該算法應用在嵌入式平臺上,開發相關應用.

猜你喜歡
骨架注意力卷積
淺談管狀骨架噴涂方法
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
骨架密度對炭/炭多孔骨架壓力浸滲銅的影響
如何培養一年級學生的注意力
卷積神經網絡的分析與設計
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
周博士考察拾零(六十六)日光溫室前屋面開機具作業門處骨架的處理方法
A Beautiful Way Of Looking At Things
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合