天天看點

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

人體骨架的動力學傳達出一個重要資訊,它會有助于人類動作識别的研究。本文将介紹來自港中文的Sijie Yan團隊所做的工作,他們的論文《Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition》發表在近期的AAAI上。

用于模組化骨架的正常方法通常依賴于手工制作的身體部位或周遊規則,是以導緻表達能力有限和泛化困難。在本項工作中,港中文團隊提出了一種動态骨架的新模型,稱為時空圖卷積網絡(ST-GCN),它通過自動從資料中學習時空模式,超越了先前方法的局限。這種表述不僅産生更強的表達能力,而且具有更強的泛化能力。在Kinetics和NTU-RGBD這兩個大型資料集上,與主流方法相比,它取得了實質性的改進。

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

港中文團隊論文的主要内容

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

1 Introduction 

近年來,人類動作識别已成為活躍的研究領域,因為它在視訊了解中起着重要作用。一般而言,人類行為可以從多種形式中識别,例如外觀、深度、 光流和人體骨架。在這些方式中,動态的人體骨架通常傳達重要的資訊,這些資訊是其他資訊的補充。但是,與外觀和光流相比,動态骨架的模組化受到的關注相對較少。在這項工作中,團隊系統地研究了這種模式,目的是開發一種有效的方法來對動态骨架模組化并利用它們進行動作識别。

動态骨架模态可以由人類關節位置的時間序列,以2D或3D坐标的形式自然地表示,然後可以通過分析其動作模式來識别其動作。早期,使用骨架進行動作識别的方法隻是在各個時間步上使用關節坐标來形成特征向量,然後對其進行時間分析。但這些方法的能力有限,因為它們未明确利用關節之間的空間關系,這對于了解人類行為至關重要。

最近,已開發出嘗試利用關節之間自然連接配接的新方法,這些方法顯示出令人鼓舞的改進,表明了連接配接的重要性。但是,大多數現有方法都依靠手工制作的身體部位或規則來分析空間模式。結果,為特定應用設計的模型很難推廣到其他應用。

為了克服這些限制,我們需要一種新的方法,該方法可以自動捕獲特定模式并嵌入到關節空間配置及其時間動态中,這就是深度神經網絡的優勢。但是,如前所述,骨架是圖(Graphs)形式,而不是2D或3D網格,這使得很難使用卷積網絡之類的成熟模型。

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

 圖1

最近,将卷積神經網絡(CNN)概括為任意結構圖的圖神經網絡(GCN)【圖1】,得到了越來越多的關注,并成功地在許多應用中被采用,例如圖像分類、文檔分類和半監督學習。但是,沿這條線所做的許多先前工作都是以固定圖(Fixed Graph)作為輸入。GCN在大型資料集上對動态圖模組化的應用【圖2】,例如人體骨架序列,還有待探索。

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

圖2

在本文中,港中文團隊提出通過将圖神經網絡擴充到稱為時空圖卷積網絡(ST-GCN)的時空圖模型,來設計用于動作識别的骨架序列的通用表示。如圖3所示,此模型是在骨架圖(Graph)的序列之上制定的,其中每個節點對應于人體的一個關節。邊(Edges)有兩種類型,空間邊:與關節的自然連通性相符的邊;時間邊:在連續的時間步長上連接配接相同關節的邊。在其上構造了多層的空間時間圖卷積,這允許沿空間和時間次元整合資訊。

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

圖3

ST-GCN的分層級特性,消除了手工制作身體部位配置設定(Part Assignment)或周遊規則的需要。這不僅可以提高表達能力,進而提高性能,而且還可以很容易地将其推廣到不同的環境。在通用GCN形式的基礎上,團隊還從圖像模型的靈感中研究了設計圖卷積核的新政策。

這項工作的主要貢獻在于三個方面:

  • 提出ST-GCN,它通用基于圖形且适用于模組化動态骨架,這是第一個将基于圖的神經網絡應用于此任務的模型。
  • 在設計ST-GCN卷積核時提出了一些原則,可以滿足骨架模組化的特定要求。
  • 在兩個大型資料集上進行基于骨架的動作識别,與以前使用手工制作身體部位或周遊規則的方法相比,該模型具有更高的性能,在手動設計上的工作量大大減少。ST-GCN的代碼和模型公開釋出。

2 Related work 

圖上的神經網絡。将神經網絡泛化為具有圖結構的資料,是深度學習研究中的一個新興主題,讨論的神經網絡架構包括循環神經網絡和卷積神經網絡(CNN),這項工作與CNN或圖卷積網絡(GCN)的泛化有關。

在圖上構造GCN的原理通常遵循兩個方面:1)頻譜透視,其中以頻譜分析的形式考慮了圖卷積的局部性; 2)空間透視,其中将卷積濾波器直接應用于圖的節點及其鄰域(Neighbors)。本文工作遵循了第二方面的精髓。通過将每個濾波器的應用限制到每個節點的1-neighbor,我們在空間域上構造CNN過濾器。 

基于骨架的動作識别。人體的骨架和關節軌迹對于光照變化和場景變化具有魯棒性,并且借助高精度的深度傳感器或姿勢估計算法,骨架和關節軌迹易于獲得。是以,存在多種基于骨架的動作識别方法,這些方法可以分為基于手工特征的方法和深度學習方法。

第一種方法設計了一些手工特征來捕獲關節運動的動力學,這些可能是關節軌迹的協方差矩陣,關節的相對位置或身體各部位之間的旋轉和平移。而深度學習的最新成功,導緻了基于深度學習骨架模組化方法的激增。這些工作一直使用循環神經網絡和Temporal CNN,以端到端的方式學習動作識别模型。

在這些方法中,許多人都強調了對人體各部位的關節模組化的重要性,但是通常是使用領域知識明确配置設定這些部分。團隊的ST-GCN是第一個将圖CNN用于基于骨架的動作識别任務,它與以前方法的不同之處在于,它可以通過利用圖卷積的局部性和時間動态來隐式地學習人體各部位的資訊。通過消除對手動配置設定人體各部位的需求,該模型更易于設計,并且可以有效地學習更好的動作表示。

3 Spatial Temporal Graph ConvNet 

進行活動時,人體關節在一個小的局域群中運動,稱為“身體部位”。現有的基于骨架的動作識别方法已經驗證了在模組化中引入“身體部位”的有效性。團隊認為,這種改進主要是由于與整個骨架相比,“身體部位”限制了關節軌迹在“局部區域”内的模組化,進而形成了骨架序列的層次表示。在諸如圖像目辨別别之類的任務中,通常通過卷積神經網絡的固有屬性來實作層次表示和局部性,而不是手動配置設定目标的“身體部位”。它促使我們将CNN極具吸引力的屬性引入到基于骨架的動作識别中。嘗試的結果是ST-GCN模型。

3.1 Pipeline Overview 

基于骨架的資料可以從運動捕獲(Motion-Capture)裝置中擷取,也可以從視訊中通過姿勢估計算法擷取。通常,資料是幀序列,每個幀将具有一組關節坐标集合。給定2D或3D坐标形式的人體關節序列,建構一個時空圖,其中以關節為圖(Graph)節點,以身體部位結構間的自然連通性和時間作為圖(Graph)的邊。是以,ST-GCN的輸入是圖節點上的關節坐标矢量。可以将其視為基于圖像的CNN的類比,其中輸入是由2D圖像網格上的像素強度矢量形成的。多層時空圖卷積操作将應用于輸入資料,并在圖上生成更進階别的特征圖(Feature Maps)。然後,它将由标準的SoftMax分類器分類為相應的動作類别。整個模型通過反向傳播,以端到端的方式進行訓練。現在,介紹ST-GCN模型中的元件之Skeleton Graph Construction(關節圖構造)。

3.2 Skeleton Graph Construction 

骨架序列通常由每幀中每個人體關節的2D或3D坐标表示。以前使用卷積進行骨架動作識别的工作将所有關節的坐标向量串聯起來,進而每幀形成一個特征向量。在團隊的工作中,他們利用時空圖來形成骨架序列的層次表示,特别是在具有N個關節和T幀的骨架序列上構造了無向時空圖 (Undirected Spatial Temporal Graph) G =(V, E),T幀骨架同時具有體内和幀間連接配接。

在這種圖中,節點集合V={v_ti |t=1,...,T,i=1,...,N}包括骨架序列中的所有關節。作為ST-GCN的輸入,節點上的特征矢量 F(vti) 包括幀t上第i個關節的坐标矢量以及估計置信度。

團隊分兩步在骨架序列上建構時空圖。首先,根據人體結構的連通性,将一幀内的關節采用邊(Edges)進行連接配接,如圖3所示。然後,在連續幀中,每個關節将連接配接到與其相同的那個關節。是以,無需手動配置設定身體部位即可自然定義此設定中的連接配接。這也使網絡體系結構可以處理具有不同數量的關節或不同關節連接配接性的資料集。

例如,在Kinetics資料集上,我們使用來自OpenPose工具箱的2D姿态估計結果,該結果輸出18個關節,而在NTU- RGB+D資料集中,團隊使用3D關節Tracking結果作為輸入,産生25個關節。ST-GCN可以在兩種情況下運作,并提供一緻的卓越性能。圖3展示了一個建構的時空圖的例子。

形式上,邊(Edge)集合 E 由兩個子集組成,第一個子集描述每個幀的骨架内連接配接,表示為 E_S={v_ti v_tj |(i,j)∈H},其中 H 是自然連接配接的人體關節的集合。第二個子集包含幀與幀之間的邊,這些邊将連續的幀中相同的關節連接配接為E_F={v_ti v_((t+1)i)}。是以,随着時間的推移,對于每個特定關節i,E_F 中對應的所有邊都将代表其軌迹。

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...

本篇簡要回顧了動作識别的發展曆程以及近階段學界的相關工作進展,重點介紹了港中文的Sijie Yan團隊所做工作。采用時空圖卷積網絡應用于動作識别,進一步介紹了ST-GCN模型中的元件之關節圖構造,該模型為人類動作識别的研究打開了新的大門。

參考文獻

[Yan et al. 2018] BrunSijie Yan, Yuanjun Xiong, Dahua Lin.2018. Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition. In arXiv: 1801.07455.

[Bruna et al. 2014] Bruna, J.; Zaremba, W.; Szlam, A.; and Lecun, Y. 2014. Spectral networks and locally connected networks on graphs. In ICLR. 

[Cao et al. 2017a] Cao, Z.; Simon, T.; Wei, S.-E.; and Sheikh, Y. 2017a. Realtime multi-person 2d pose estima- tion using part affinity fields. In CVPR. 

[Cao et al. 2017b] Cao, Z.; Simon, T.; Wei, S.-E.; and Sheikh, Y. 2017b. Realtime multi-person 2d pose estima- tion using part affinity fields. In CVPR. 

圖卷積網絡進行骨骼識别代碼_動作識别——人體骨架時空圖卷積網絡的關節圖構造方法簡介...