論文閱讀 AAAI 2018 — Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action…



Original Source Here

最左邊的 Input 通常是一段影片,會透過像是 Kinect 的裝置或一些 Pose estimation 演算法取得一序列的人體骨架資訊 ( 以 2D/3D 座標向量作為 Graph 的 Node ),下一步會交給中間的 ST-GCNs 進行特徵抽取,最後交由一個常見的 Softmax classifier 做行為的分類 。

Spatial Graph Convolution

上圖中的 ST-GCNs 是由多層的 Spatial-temporal graph convolution operations 構成,其中有關 Spatial 上的 Operation 公式定義如下:

這跟傳統的 Convolution 有點相似,f in 和 f out 分別指的是輸入與輸出的特徵圖。

f out 內的 v ti 就相似於 Convolution 的 Center location,只是在 Graph 上以 Vertex 表示。

而 f in 內的 v tj 則是 v ti 鄰近一個步長的所有節點,就像以往 Convolution filter 中心以外的那些鄰近 Pixel。

w 是個 Weight function ,可想成 Convolution filter 內的那些 Parameters,用來對每個節點做加權的動作。w 內的 l ti 是指每個鄰近的節點所構成的 Subset。

Zti 那部分則是一個 Normalizing term,用來約束每個節點對輸出的影響要是均等的。

最終將每個節點上加權後的數值以 Σ 加總作為輸出。

Spatial Temporal Modeling

基於前述在空間操作上的定義,這邊將相同概念延伸到時間軸上的建模,所以上個公式的 Σ 下方的 B( v ti ) 就不僅是空間上的鄰近節點,應該囊括時間軸上的鄰近節點:

d( )是表示兩節點最短距離,在該論文中設定為 1。K 是 Kernel size 。|q − t| 是為了計算時間軸上的距離,而 Γ/2 是用來約束時間軸上所涵蓋的範圍。

這邊值得留意的是這個 Γ 參數,它可以用來控制這模型在時間軸上要看多遠

另外在前式 w 內的 Subset 也要對應做出改變:

除了原本在空間上的鄰近節點外,後面也加上了在時間軸上的鄰近節點。

Partition Strategies

這邊是要呈現以下 3 種構成 Subset ( l ST ) 的方法,在該論文中稱為 Partitioning strategy:

  1. Uni-labeling:
    這種方法是對該中心節點及其鄰近節點採用等價的權重計算,算是最簡單、直接的做法
  2. Distance partitioning:
    這方法是依照中心節點 ( Root ) 到其他節點的距離做加權,而中心節點的權重會設定為 0
  3. Spatial configuration partitioning:
    這方法比較特別,會依空間上的相對關係進行分 3 群的動作,這 3 群分別是 Root 、向心群、離心群,這邊的向心離心的判定是以所有節點的重心做判斷 ( 可參考下圖 d 的圖示,打叉的地方就是重心,綠色的是 Root ,藍色是向心群,黃色是離心群 )

上述 3 點的圖示可依序對應到下圖的 (b)、(c)、(d):

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: