ST-GCN: Spatial Temporal Graph Convolutional Networks時空圖卷積網絡,這個網絡結構來源于2018年發表的一篇文章《Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition》,也就是基于時空圖卷積網絡來做人體動作識別。 今天,我們就來了解下,如何基于ST-GCN來實現人體動作的識別與生成。
Why:為什么要使用ST-GCN?
ST-GCN網絡訓練好之后要達到的效果就是:用戶提供一段視頻,網絡會輸出視頻中人的動作分類。
類似于上圖中的視頻,如何來識別視頻中的人在做什么動作呢? 視頻其實就是一幀一幀的圖片拼接而成的,而傳統處理圖像識別的網絡最常用的就是CNN(卷積神經網絡),那ST-GCN是否跟CNN有關系呢?為什么要使用這個網絡呢?
可以從以下三點來理解:
(1) 輸入數據有量級的差別。舉個例子,數據為一段10秒左右的視頻,大概300幀,像素1920*1080,分別輸入兩個網絡中。傳統CNN是將所有視頻拆分為一幀一幀的圖片輸入網絡,而ST-GCN則直接輸入人體的骨架關節數據,CNN的輸入數據量約為ST-GCN的83000倍。
(2) 輸入數據純凈度高,噪聲少。CNN是將視頻數據直接輸入網絡,包括了視頻的背景以及圖片中的各種噪音,而ST-GCN是僅僅將人體骨架關節點的信息輸入網絡,只保留了主要的有效信息,噪聲低。
(3) 考慮了空間和時間上的相鄰關節,效果更好。ST-GCN不僅考慮了空間上的相鄰節點,也考慮了時間上的相鄰節點,將鄰域的概念擴展到了時間上,實驗效果表明精度也更高。
What:ST-GCN到底是什么?
ST-GCN是TCN與GCN的結合。TCN,對時間維度的數據進行卷積操作;GCN,則對空間維度的數據進行卷積操作。GCN屬于GNN,而GNN的基礎是圖論。神經網絡處理的傳統數據都是歐式距離結構的數據,比如二維的圖像、一維的聲音等等。而對于非歐式距離結構的數據,比如社交網絡、交通運輸網等等,傳統的網絡結構無法直接處理,而GNN就是用來處理這類型數據的。所以要了解ST-GCN,就要先從圖論的一些基本理論入手,然后再延伸到GNN、GCN、ST-GCN。
2.1 圖論
這里的圖并不是指我們日常所見的圖片,圖的廣泛概念包含具體的事物,以及事物之間的聯系。圖論中的圖由兩部分構成,即點和邊。
點:圖上具體的節點。
邊:連接圖上點和點之間的東西,邊分為有向邊和無向邊。
圖:節點V(G)和邊E(G)構成的集合就是圖,可以表示為:G = {V(G), E(G)}。圖可以簡單分為有向圖和無向圖(如下圖所示)。
2.2 GNN
GNN: Group Neural Network 圖神經網絡,即結合圖論與深度學習的網絡結構。目前主要包含:Graph Convolutional Networks (GCN)、Graph Attention Networks、Graph Auto-encoder、Graph Generative Networks、Graph Spatial-Temporal Networks。最初的GNN網絡,就是將點和邊的特征一起傳入網絡中學習。
2.3 GCN
GCN:Graph Convolutional Networks 圖卷積神經網絡,顧名思義,是將圖與卷積結合起來。根據卷積核的不同,主要分為spectral method(頻譜方法)和spatial method(空間方法)。二者的區別在于:頻譜方法基于拉普拉斯矩陣,與圖的關系緊密聯系,可泛化能力弱;空間方法則直接在圖上定義卷積,對有緊密關系的節點進行操作,分為點分類和圖分類。ST-GCN中的GCN屬于圖分類,且采用的是空間方法。
2.4 ST-GCN
ST-GCN:Spatial Temporal Graph Convolutional Networks時空圖卷積網絡,是在GCN的基礎上提出的。核心觀點是將TCN與GCN相結合,用來處理有時序關系的圖結構數據。網絡分為2個部分:GCN_Net與TCN_Net。
GCN_Net對輸入數據進行空間卷積,即不考慮時間的因素,卷積作用于同一時序的不同點的數據。TCN_Net對數據進行時序卷積,考慮不同時序同一特征點的關系,卷積作用于不同時序同一點的數據。
How:ST-GCN具體如何使用?
前部分講了ST-GCN是什么,那我們回歸到ST-GCN的具體應用上,首次提出ST-GCN是用來做人體動作識別,即通過一段視頻來判斷其中人的動作,也就是人體動作識別。
數據集:論文中使用的數據集為NTU-RGB+D,包含60種動作,共56880個樣本,其中有40類為日常行為動作,9類為與健康相關的動作,11類為雙人相互動作。數據集已經將視頻中的人體動作轉換為了骨架關節的數據,其中人體的骨架標注了25個節點,就是一種圖結構的數據。
NTU-RGB+D數據集的分類
亮點:
(1) 鄰接矩陣不采用傳統的方式,采用一種新的方式,將鄰接矩陣分為3個子集:根節點本身、向心力群,離心群。這一策略的靈感來自于身體部位的運動可以被廣泛地歸類為同心運動和偏心運動,通常距離重心越近,運動幅度越小,同時能更好地區分向心運動和離心運動。即下圖中的(d)。
(2) 網絡中加入可學習的邊的權重,即加入attention機制。每層網絡中鄰接矩陣A都與可學習的權重相乘,這些權重在反向傳播中更新。添加的原因是考慮到人體做不同的動作所側重的關節點不同,而且添加了注意力機制更有利于提高網絡的泛化能力。
整體效果:
使用ST-GCN的網絡結構進行人體動作識別,論文中在NTU-RGB+D數據集的x_sub模式下識別精度達到81.5%,NTU-RGB+D數據集的x-view模式下識別精度達到88.3%,優于傳統的人體動作識別網絡。
團隊工作亮點
ST-GCN的技術延展-動作生成
基于對ST-GCN在人體動作識別上的效果,我們將ST-GCN網絡與VAE網絡結合。目的在于獲取人體動作的語義,進而生成人體的動作,最終可以應用于機器人動作模仿或者其他強化學習項目中。
目前項目已在進行中,下圖展示的是真實的人體骨架節點3D圖與網絡生成的人體骨架節點3D圖。具體的研究結果,之后再跟大家分享,敬請期待。
責任編輯:lq
-
神經網絡
+關注
關注
42文章
4774瀏覽量
100890 -
圖像識別
+關注
關注
9文章
520瀏覽量
38290 -
網絡結構
+關注
關注
0文章
48瀏覽量
11129
原文標題:探究 | 一文了解基于ST-GCN的人體動作識別與生成
文章出處:【微信號:kmdian,微信公眾號:深蘭科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論