Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition


Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition

摘要

基於骨架的動作識別因為其以時空結合圖(spatiotemporal graph)的形式模擬了人體骨骼而取得了顯著的效果。

在現有的基於圖的方法中,圖的拓撲結構是手動設置的,而且在所有層以及輸入樣本中是固定不變的。這樣的方法在用在有層級CNN和不同輸入樣本的動作識別中不是最佳的。

而且骨架中的具有更多細節和判別式信息二級結構(骨骼長度、方向、骨頭等)很少在現有的方法中研究使用

作者提出了自適應的雙流圖網絡結構用來進行基於骨架的動作識別,整個網絡的拓撲結構可以端到端地學習出來,這種數據驅動的圖模型增加了模型的靈活性,並且並且獲得了更普適更一般化的特征來適應不同的樣本

另外還采用了雙流的結構同時模擬一級結構和二級結構,提高了動作識別的准確率

在NTU-RGBD以及Kinetics-Skeleton兩個數據集上取得了非常好的結果

總結

  1. 提出了一個自適應的圖卷積網絡,可以自動學習出針對不同樣本的不同的拓撲結構
  2. 提出了使用節點信息和骨頭信息的雙流網絡結構

一、引言

目前有3種深度學習方法解決基於骨架的動作識別問題,分別是:將關節點序列表示成關節點向量,然后用RNN進行預測;將關節點信息表示成偽圖像,然后用CNN去預測;將關節點信息表示成圖結構,用圖卷積進行預測。前兩種方法不能將骨架信息中的圖結構提取出來,也很難適應任意形狀的骨架結構。最后一種的典型代表ST-GCN設計了一種時空圖卷積網絡,將人體的自然骨架結構通過拓撲圖表示,動作識別性能得到了質的提升。

然而ST-GCN存在一些缺點:1. 根據人體自然結構預先定義好的拓撲結構圖對於動作識別任務來說可能不是最優的;2. ST-GCN網絡結構的每一個GCN單元的結構都是固定的,整個網絡缺少靈活性;3.一個固定的網絡結構對於不同樣本的不同種類的動作不是最優的。

針對以上問題,作者提出了一個自適應的雙流圖網絡結構:

  1. 一個自適應的圖網絡結構:針對不同的GCN單元和不同的樣本自動生成不同的拓撲結構圖。主要是通過設置兩種不同的參數來對模型的拓撲圖結構進行控制,一種是全局圖,表示所有數據公有的模式結構,另一種是獨立圖,表示的是每個數據獨特的模式結構。這種數據驅動的方法增加了模型圖結構的靈活性,更加普遍適用於各種各樣的樣本。
  2. 雙流結構:利用關節點和骨頭兩種信息設計雙流網絡結構,使用更豐富的骨架信息進行動作識別,顯著的提高了識別性能。
  3. 在NTU RGB+D和kinetics上取得了最好的性能。

二、相關工作

基於骨架的動作識別:RNN、CNN、GCN三種

GCN:spatial perspective(空間), spectral perspective(光譜)

三、GCN

見另外一篇介紹ST-GCN的博文,主要看implementation

四、2s-AGCN

1.自適應卷積層

原始GCN:

\[\mathbf{f}_{o u t}=\sum_{k}^{K_{v}} \mathbf{W}_{k}\left(\mathbf{f}_{i n} \mathbf{A}_{k}\right) \odot \mathbf{M}_{k} \qquad(公式1) \]

\(K_v\)指的是區域划分,這里用的是第三種划分方式,即將鄰域划分為3個部分,\(W_k\)指的是第\(k\)個區域的參數,\(f_{in}\)指的是網絡輸入,\(A_k\)指的是鄰接矩陣和單位矩陣的和,表示節點之間的連接。\(M_k\)指的是自適應權重矩陣。

\[\mathbf{f}_{o u t}=\sum_{k}^{K_{v}} \mathbf{W}_{k}\mathbf{f}_{i n} \left(\mathbf{A}_{k}+\mathbf{B}_{k}+\mathbf{C}_{k}\right) \qquad(公式2) \]

其中\(A_k\)和公式(1)中一樣,指的是鄰接矩陣

\(B_k\)是一個\(N \times N\)的矩陣,和網絡中的其他參數儀器優化訓練,沒有任何約束,可以是任何元素,不僅可以增強節點之間的連接,而且可以使沒有關聯的節點之間產生關聯。在這里的功能和公式(1)中的\(M_k\)類似,但是\(M_k\)只能改變原來不為零的權重,無法讓為零的權重重新變成一個起作用的權重值,比如擁抱的姿勢,兩個胳膊之間的動作比較相似,有一定的關聯,但是人體自然結構無法將這兩個節點連接起來,利用這個隨機的\(B_k\)參數就可以使得這種沒有人體自然結構關聯的節點關聯到一起。所以\(B_k\)是一項完全由訓練數據學習出來的參數,比原始的\(M_k\)更加靈活。

\(C_k\)針對每一個樣本學習出一個圖,用normalized embedded Gaussian方程來衡量兩個節點之間的相似性:

\[f\left(v_{i}, v_{j}\right)=\frac{e^{\theta\left(v_{i}\right)^{T} \phi\left(v_{j}\right)}}{\sum_{j=1}^{N} e^{\theta\left(v_{i}\right)^{T} \phi\left(v_{j}\right)}} \qquad 公式(3) \]

對於輸入的特征圖\(f_{in}\)大小為\(C_{in} \times T \times N\),首先用兩個embedding方程\(\theta,\phi\)將其embed成\(C_e \times T \times N\),並將其resize成\(N \times C_eT\)\(C_eT \times N\),然后將生成的兩個矩陣相乘得到\(N \times N\)的相似矩陣\(C_k\)\(C^{ij}_k\)表示節點\(v_i\)和節點\(v_j\)之間的相似性,因為normalized Gaussian和softmax操作是等價的,所以公式(3)等同於公式(4)。如下圖所示是AGCN的計算過程示意圖。

\[\mathbf{C}_k = softmax(\mathbf{f}_{in}^T\mathbf{W}_{\theta k}^T\mathbf{W}_{\theta k}\mathbf{f}_{in}) \]

2. 自適應圖卷積塊

網絡的時域和ST-GCN一樣,都是對\(C \times T \times N\)的特征圖進行\(K_t \times 1\)的卷積,空間域的GCN塊(Convs)和時間域的GCN塊(Convt)聯合起來組成GCN塊,如下圖所示。

3. 自適應的圖卷積網絡

4. 雙流網絡

計算骨頭信息作為第二類信息,源點\(v_1 = (x_1, y_1, z_1)\),目標點\(v2 = (x_2, y_2, z_2)\),則骨頭\(e_{v_1,v_2} = (x_2-x_1, y_2-y_1, z_2-z_1)\),因為邊數總比節點數少一個,所以增加一個中心點自環的一個長度為0的邊。最后將兩支網絡輸出的softmax打分值加和作為最后的分數去預測動作標簽。

五、實驗

1.消融實驗

2.圖的可視化

一個樣本的不同層的圖結構是不同的,而且每個節點的重要性是

不同的

不同樣本相同層的圖結構是不同的

3.和state-of-the-arts比較

原文鏈接:原文鏈接
代碼鏈接:代碼鏈接

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

出處:https://www.cnblogs.com/shyern/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM