訂閱
糾錯
加入自媒體

一文了解基于ST-GCN的人體動作識別與生成

2021-03-15 10:20
AI世界
關注

ST-GCN: Spatial Temporal Graph Convolutional Networks時空圖卷積網絡,這個網絡結構來源于2018年發(fā)表的一篇文章《Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition》,也就是基于時空圖卷積網絡來做人體動作識別。

今天,我們就來了解下,如何基于ST-GCN來實現(xiàn)人體動作的識別與生成。

Why:為什么要使用ST-GCN?

ST-GCN網絡訓練好之后要達到的效果就是:用戶提供一段視頻,網絡會輸出視頻中人的動作分類。

類似于上圖中的視頻,如何來識別視頻中的人在做什么動作呢? 視頻其實就是一幀一幀的圖片拼接而成的,而傳統(tǒng)處理圖像識別的網絡最常用的就是CNN(卷積神經網絡),那ST-GCN是否跟CNN有關系呢?為什么要使用這個網絡呢?

可以從以下三點來理解:

(1) 輸入數(shù)據(jù)有量級的差別。舉個例子,數(shù)據(jù)為一段10秒左右的視頻,大概300幀,像素1920*1080,分別輸入兩個網絡中。傳統(tǒng)CNN是將所有視頻拆分為一幀一幀的圖片輸入網絡,而ST-GCN則直接輸入人體的骨架關節(jié)數(shù)據(jù),CNN的輸入數(shù)據(jù)量約為ST-GCN的83000倍。

(2) 輸入數(shù)據(jù)純凈度高,噪聲少。CNN是將視頻數(shù)據(jù)直接輸入網絡,包括了視頻的背景以及圖片中的各種噪音,而ST-GCN是僅僅將人體骨架關節(jié)點的信息輸入網絡,只保留了主要的有效信息,噪聲低。

(3) 考慮了空間和時間上的相鄰關節(jié),效果更好。ST-GCN不僅考慮了空間上的相鄰節(jié)點,也考慮了時間上的相鄰節(jié)點,將鄰域的概念擴展到了時間上,實驗效果表明精度也更高。

What:ST-GCN到底是什么?

ST-GCN是TCN與GCN的結合。TCN,對時間維度的數(shù)據(jù)進行卷積操作;GCN,則對空間維度的數(shù)據(jù)進行卷積操作。GCN屬于GNN,而GNN的基礎是圖論。神經網絡處理的傳統(tǒng)數(shù)據(jù)都是歐式距離結構的數(shù)據(jù),比如二維的圖像、一維的聲音等等。而對于非歐式距離結構的數(shù)據(jù),比如社交網絡、交通運輸網等等,傳統(tǒng)的網絡結構無法直接處理,而GNN就是用來處理這類型數(shù)據(jù)的。所以要了解ST-GCN,就要先從圖論的一些基本理論入手,然后再延伸到GNN、GCN、ST-GCN。

2.1 圖論

這里的圖并不是指我們日常所見的圖片,圖的廣泛概念包含具體的事物,以及事物之間的聯(lián)系。圖論中的圖由兩部分構成,即點和邊。

點:圖上具體的節(jié)點。

邊:連接圖上點和點之間的東西,邊分為有向邊和無向邊。

圖:節(jié)點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 圖卷積神經網絡,顧名思義,是將圖與卷積結合起來。根據(jù)卷積核的不同,主要分為spectral method(頻譜方法)和spatial method(空間方法)。二者的區(qū)別在于:頻譜方法基于拉普拉斯矩陣,與圖的關系緊密聯(lián)系,可泛化能力弱;空間方法則直接在圖上定義卷積,對有緊密關系的節(jié)點進行操作,分為點分類和圖分類。ST-GCN中的GCN屬于圖分類,且采用的是空間方法。

2.4 ST-GCN

ST-GCN:Spatial Temporal Graph Convolutional Networks時空圖卷積網絡,是在GCN的基礎上提出的。核心觀點是將TCN與GCN相結合,用來處理有時序關系的圖結構數(shù)據(jù)。網絡分為2個部分:GCN_Net與TCN_Net。

GCN_Net對輸入數(shù)據(jù)進行空間卷積,即不考慮時間的因素,卷積作用于同一時序的不同點的數(shù)據(jù)。TCN_Net對數(shù)據(jù)進行時序卷積,考慮不同時序同一特征點的關系,卷積作用于不同時序同一點的數(shù)據(jù)。

How:ST-GCN 具體如何使用?

前部分講了ST-GCN是什么,那我們回歸到ST-GCN的具體應用上,首次提出ST-GCN是用來做人體動作識別,即通過一段視頻來判斷其中人的動作,也就是人體動作識別。

數(shù)據(jù)集:論文中使用的數(shù)據(jù)集為NTU-RGB+D,包含60種動作,共56880個樣本,其中有40類為日常行為動作,9類為與健康相關的動作,11類為雙人相互動作。數(shù)據(jù)集已經將視頻中的人體動作轉換為了骨架關節(jié)的數(shù)據(jù),其中人體的骨架標注了25個節(jié)點,就是一種圖結構的數(shù)據(jù)。

NTU-RGB+D數(shù)據(jù)集的分類

亮點:

(1) 鄰接矩陣不采用傳統(tǒng)的方式,采用一種新的方式,將鄰接矩陣分為3個子集:根節(jié)點本身、向心力群,離心群。這一策略的靈感來自于身體部位的運動可以被廣泛地歸類為同心運動和偏心運動,通常距離重心越近,運動幅度越小,同時能更好地區(qū)分向心運動和離心運動。即下圖中的(d)。

(2) 網絡中加入可學習的邊的權重,即加入attention機制。每層網絡中鄰接矩陣A都與可學習的權重相乘,這些權重在反向傳播中更新。添加的原因是考慮到人體做不同的動作所側重的關節(jié)點不同,而且添加了注意力機制更有利于提高網絡的泛化能力。

整體效果:

使用ST-GCN的網絡結構進行人體動作識別,論文中在NTU-RGB+D數(shù)據(jù)集的x_sub模式下識別精度達到81.5%,NTU-RGB+D數(shù)據(jù)集的x-view模式下識別精度達到88.3%,優(yōu)于傳統(tǒng)的人體動作識別網絡。

團隊工作亮點

ST-GCN的技術延展-動作生成

基于對ST-GCN在人體動作識別上的效果,我們將ST-GCN網絡與VAE網絡結合。目的在于獲取人體動作的語義,進而生成人體的動作,最終可以應用于機器人動作模仿或者其他強化學習項目中。

目前項目已在進行中,下圖展示的是真實的人體骨架節(jié)點3D圖與網絡生成的人體骨架節(jié)點3D圖。具體的研究結果,之后再跟大家分享,敬請期待。


聲明: 本文由入駐維科號的作者撰寫,觀點僅代表作者本人,不代表OFweek立場。如有侵權或其他問題,請聯(lián)系舉報。

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關注公眾號
    OFweek人工智能網
    獲取更多精彩內容
    文章糾錯
    x
    *文字標題:
    *糾錯內容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網安備 44030502002758號