<source id="8ti10"></source>
  • <video id="8ti10"></video>
  • <source id="8ti10"></source>

        <u id="8ti10"><video id="8ti10"></video></u>
      1. 申請試用
        登錄
        核心技術
        以原創技術體系為根基,SenseCore商湯AI大裝置為核心基座,布局多領域、多方向前沿研究,
        快速打通AI在各個垂直場景中的應用,向行業賦能。

        香港中大-商湯科技聯合實驗室AAAI錄用論文詳解:ST-GCN時空圖卷積網絡模型

        2018-02-11

        近日,香港中大-商湯科技聯合實驗室的最新 AAAI 會議論文「Spatial Temporal Graph Convolutional Networks for Skeleton Based Action Recognition」提出了一種新的 ST-GCN,即時空圖卷積網絡模型,用于解決基于人體骨架關鍵點的人類動作識別問題。該方法除了思路新穎之外,在標準的動作識別數據集上也取得了較大的性能提升。本文中我們將詳細介紹該論文中提出的方法,并介紹一些計劃中的進一步工作等。


        作者:顏思捷,熊元駿,林達華


        ferhj.jpg

        圖 1. ST-GCN 的模型結構示意圖


        rehjh.gif

        5tgtrjuk.gif

        圖 2. 對 ST-GCN 最末卷積層的響應

        進行可視化的結果

        (via GitHub)


        基于骨架關鍵點的動作識別


        隨著如 Microsoft Kinect、OpenPose 等人體姿態檢測系統的成熟,基于骨架關鍵點的人類動作識別成了計算機視覺,特別是人類動作識別研究中的一個重要任務。該任務要求輸入在連續的視頻幀中檢測到的人體骨架關鍵點序列,輸出正在發生的人類動作類別。作為動作識別系統中的重要模態,基于骨架的動作識別已經展現出重要的實用價值與研究價值。本論文正是針對這個任務提出了一種全新的深度學習模型,我們稱之為「時空圖卷積網絡」(ST-GCN)。


        構建時空圖


        ST-GCN 的基礎是時空圖結構。從骨架關鍵點序列構建時空圖 (spatial-temporal graph) 的想法來源于我們對現有的骨架動作識別方法以及圖像識別方法的觀察。我們發現,現有的基于骨架的動作識別方法中為了提高識別精度多數引入了一些空間結構信息,包括相鄰關鍵點的連接關系或身體部件等(如手-手肘-肩膀的連接關系)。


        為了建模這些空間信息,現有方法常常使用 RNN 等序列模型來遍歷相連的關鍵點。這就要求模型設計者定義一種遍歷的規則,或者手動定義一些身體部件。我們指出,在這種設計中,很難得到一個最優的遍歷規則或者部件劃分。但是,我們發現,關鍵點之間天然的連接關系,其實構成了一個天然的圖結構(graph)。那么,我們怎么能夠高效地使用這些圖結構來進行動作識別呢?


        在 ST-GCN 的工作中我們提出,可以從輸入的關鍵點序列中建立一個時空圖(spatial-temporal graph)。這個圖結構按照如下的規則來構建。


        1. 在每一幀內部,按照人體的自然骨架連接關系構造空間圖;

        2. 在相鄰兩幀的相同關鍵點連接起來,構成時序邊;

        3. 所有輸入幀中關鍵點構成節點集(node set),步驟 1、2 中的所有邊構成邊集(edge set),即構成所需的時空圖。


        在按照上述規則得到的時空圖上,我們自然地保留了骨架關鍵點的空間信息,并使得關鍵點的運動軌跡(trajectory)以時序邊的形式得到表現。這使得我們可以設計一個統一的模型來完整地對這些信息進行建模。在圖 3 中我們展示了一種時空圖的結構。


        rfrhnrt.jpg


        圖 3. NTU-RGBD 數據集上建立的時空圖示例


        圖結構上的卷積網絡


        為了在時空圖上對人類動作的信息進行分析,我們提出使用圖卷積網絡 (graph convolutional networks – GCN)。圖上的神經網絡模型是機器學習研究的一個熱點領域。本文中使用的圖卷積網絡即是圖上神經網絡中的一種,其在網絡分析、文本分類等問題都有成功應用。


        在介紹圖卷積網絡的概念之前,我們先來回顧圖像上的卷積操作。在圖像上,卷積操作使用一些固定大小的卷積核(filter/kernel)來掃描輸入的圖像。如圖 3 所示,在每個掃描的中心位置像素附近,抽取一個與權重矩陣大小相同的像素矩陣,將這些像素上的特征向量按空間順序拼接并與卷積核的參數向量做內積以得到該位置的卷積輸出值。在這里,「附近像素」可以定義為像素網格(grid)上的一個鄰域(neighborhood)。將圖像上的卷積操作推廣到任意結構的圖結構上時,我們同樣可以定義任何一個節點的鄰域,與一系列權重矩陣。這就是圖卷積網絡的基本思想。


        但是,與圖像不同的是,普通的圖結構上如果使用鄰接矩陣(Adjacency matrix)來定義鄰域時,每個節點的鄰域中節點的數量并不是固定的(考慮補 0 時,圖像上像素附近的像素是總是固定的)。這就使得我們我們很難確定: 1)需要使用的卷積核的參數維度;2)如果排列權重矩陣與鄰域內的節點以進行內積運算。在原始的 GCN 文章中,作者提出了將內積操作變為這樣一個操作:使用同一個向量與所有鄰域內的點上的特征向量計算內積并將結果求均值。這使得: 1)卷積核的參數可以確定為一個固定長度的向量;2)不需要考慮鄰域內節點的順序。這個設計使得 GCN 可以在任意連接關系的圖上使用,并在一些任務,如網絡分析和半監督學習中取得了較好的性能。


        需要注意的是,圖上神經網絡除了上面提到基于圖的空間結構的思路之外,還有一種基于譜分析 (spectral analysis) 的構造思路。關于這一類方法,請見參考文獻【2】。在 ST-GCN 中,我們也使用了基于圖的空間結構的思路。


        時空圖卷積網絡與動作識別


        要將圖卷積網絡運用于基于骨架關鍵點的動作識別中,我們還需要仔細分析這個任務的特點與難點,而不是直接將已有方法生搬硬湊。在本文中,我們指出了原始 GCN 的一個重要性質:該文中提出的卷積操作,實質上等價于先將鄰域內所有節點的特征向量求平均,再與卷積核的參數向量計算內積。這種平均操作在骨架動作識別會遇到一個重要問題,即:它無法建模關鍵點之間相對位置變化的情況,或所謂的「微分性質」(differential properties)。因此基于原始 GCN 的模型,識別性能并不會很理想。


        針對這個問題,我們認為,要真正增強的模型的性能,必須跳出原始 GCN 的「平均思想」。為了解決這個問題,我們將理解了圖像上的卷積操作理解為把中心像素相鄰的像素集合(鄰域集-neighbor set)按照空間順序,如從左至右,從上至下,劃分為一系列集合。在圖像的情形中,每個集合正好包含一個像素。這些集合就構成了鄰域集的一個劃分(partition)。卷積核的參數只與這個劃分中的子集個數以及特征向量長度有關。那么在普通的圖結構中,只要定義了某種劃分規則(partitioning strategy),我們就也可以參照圖像卷積來定義卷積核的參數。類似的思想也應用在了如 deformable CNN 等近期工作中。


        有了這個思想,我們就可以針對骨架動作識別,乃至任何圖卷積網絡所面對的問題來定義有針對性的卷積操作。而定義卷積操作就簡化為了設計對應的劃分規則。對一個存在 K 個子集的劃分規則,卷積核的參數包含 K 個部分,每個部分參數數量與特征向量一樣。仍然以圖像上的卷積為例,在一個窗口大小為 3x3 的卷積操作中,一個像素的鄰域(窗口)按照空間順序被劃分為 9 個子集(左上,上,右上,左,中,右,左下,下,右下),每個子集包含一個像素。卷積核的參數包含 9 個部分,每個部分與特征圖(feature map)的特征向量長度(number of channel)一致。也就是說,圖像卷積可以解釋為普通圖上卷積在規則網格圖(regular grid)上的一種應用。


        為了在時空圖上進行骨架動作識別,我們提出了三種空間的劃分規則。


        第一種稱為「唯一劃分」(uni-labeling)。其與原始 GCN 相同,將節點的 1 鄰域劃分為一個子集。


        第二種稱為「基于距離的劃分」(distance partitioning),它將節點的 1 鄰域分為兩個子集,即節點本身子集與鄰節點子集。引入基于距離的劃分使得我們可以分析骨架關鍵點之間的微分性質。


        進一步,我們針對動作識別的特點,提出了第三種,「空間構型劃分」(spatial configuration partitioning)。這種劃分規則將節點的 1 鄰域劃分為 3 個子集,第一個子集為節點本身,第二個為空間位置上比本節點更靠近整個骨架重心的鄰節點集合,第三個則為更遠離重心的鄰節點集合。建立這種劃分規則在根據運動分析的研究中對向心運動與離心運動的定義。三種劃分規則的示意圖請見圖 4。


        4wegrh.jpg


        圖 4.三種空間的劃分規則示意圖


        除了同一幀內部的空間劃分規則,在時間上,由于時序邊構成了一個網格,我們可以直接使用類似于時序卷積(temporal convolution)的劃分規則。最終,時空圖上使用的劃分規則得到的子集集合會是空間劃分與時序劃分的笛卡爾積。


        定義好了時空圖上的卷積操作,我們就可以設計卷積網絡了。為了展示 ST-GCN 的性能,我們直接從一個已有的時序卷積網絡結構的基礎上設計了文中用到的 ST-GCN 的網絡結構。我們將所有時序卷積操作轉為時空圖的卷積操作,每一個卷積層的輸出是一個時空圖,圖上每一個節點保有一個特征向量。最終,我們合并所有節點上的特征并使用線性分類層進行動作分類。訓練使用標準的 SoftMax 交叉熵損失函數進行監督。參數學習使用標準隨機梯度下降算法(SGD)。


        實驗結果


        我們在兩個性質迥異的骨架動作識別數據集上進行了實驗來驗證 ST-GCN 的性能。


        第一個數據集是 Kinetics-Skeleton,它來自于最近由 Google DeepMind 貢獻的 Kinetics 視頻人類動作識別數據集。我們使用 OpenPose 姿態估計軟件得到視頻中所有的骨架關鍵點信息來構成 Kinetics-Skeleton。該數據集共有約 30 萬個視頻與 400 類動作。


        第二個數據集是 NTU-RGB+D,這是三維骨架動作識別的標準測試數據集。它包含了用 Microsoft Kinect 采集的三維骨架序列。該數據集共有約 6 萬個視頻,60 個動作類別。這個數據集包含了兩個測試協議,即跨表演人(X-Sub)與跨視角(X-View)協議。在兩個數據集的三個測試協議上,ST-GCN 相比現有方法在識別精度上均有很大提高,具體結果可見表圖 1。


        rehgtrh.jpg

        表圖 1. 骨架動作識別結果


        除了得到更好的性能,我們也詳細分析了三種劃分規則對識別精度的影響。如表 2 所示,正如我們所期望的,距離劃分與空間構型劃分相對于原始 GCN 使用的唯一劃分在精度上均有較大提高。這證明了引入新的劃分規則的重要性。特別的,針對動作識別任務設計的空間構型劃分取得了最高的性能,并被最后應用于 ST-GCN 的相關實驗中。


        我們還將 ST-GCN 的最后一層神經元響應進行了可視化(表 2)。在結果中我們可以明顯看到 ST-GCN 能夠追蹤并深入分析在某個時間段與動作最相關的身體部分的運動,這解釋了為何 ST-GCN 相對于其他不關注空間結構的現有方法能得到很大的性能提高。

        rfergrth.jpg


        表圖 2.不同劃分規則的影響


        思考與最后的話


        回顧 ST-GCN 的提出,我們總結了兩個重要的思想跨越。


        第一個是從將骨架序列理解為一幀幀的骨架演進為將整個視頻理解為一個整體的時空圖,這使得用一個統一的模型來分析動作成為可能。


        第二個是從原始 GCN 的樸素思想演進為使用基于劃分規則的卷積定義。這個思想使得我們可以超越原始 GCN 并得到巨大的性能提升,該思想也在 MoNet【3】的工作中被提及過。我們將其原則化為 集合的劃分操作。這也使得這個思想可以應用其他的分析任務中。


        在將來的工作中,我們計劃運用 ST-GCN 的靈活性來處理更多的圖分析問題。同時,針對動作識別任務,一個自然的演進就是在骨架關鍵點坐標的基礎上引入視覺特征,如圖像特征,乃至場景圖(scene-graph)等,并將它們統一在 ST-GCN 的分析框架下。我們的最終目標則是一個性能更高,更具有可解釋性的統一的視頻動作識別模型。


        相關文獻:

        1.「Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition」, Sijie Yan, Yuanjun Xiong and Dahua Lin, AAAI 2018.

        2.「Convolutional neural networks on graphs with fast localized spectral filtering.」,Defferrard, et. al., NIPS 2016.

        3.「Geometric deep learning on graphs and manifolds using mixture model CNNs.」, Monti, Federico, et al. CVPR 2017.


        Github 代碼:

        https://github.com/yysijie/st-gcn

        5熱風人事部j.jpg


        <source id="8ti10"></source>
      2. <video id="8ti10"></video>
      3. <source id="8ti10"></source>

            <u id="8ti10"><video id="8ti10"></video></u>
          1. 动漫人物打扑克视频