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