【論⽂紹介】
Spatial Temporal Graph Convolutional
Networks for Skeleton-Based
Action Recognition
1
先に結論
• グラフ構造に時系列性を取り⼊れ,動的スケルトンをモデリングするための
⼀般的なグラフベースの定式化であるST-GCNを提案
• ST-GCNでたたみ込みカーネルを設計する際のいくつかのテクニックを提案
• スケルトンベースのアクション認識のための2つの⼤規模なデータセットで、
提案されたモデルは従来法と⽐較して優れたパフォーマンスを達成し、⼿動設計の労⼒を⼤幅に削減
(参考⽂献)
Sijie Yan,	Yuanjun Xiong,	Dahua Lin.Spatial Temporal	Graph	Convolutional	Networks	for	Skeleton-Based	Action	Recognition.	
Association	for	the	Advancement	of	Artificial	Intelligence	(AAAI)2018
2
Contents
• 背景
• 提案法
• 検証実験
3
Contents
• 背景
• 提案法
• 検証実験
4
⼈間の⾏動認識
• ⼈間の⾏動認識は、動画の解析に重要な役割を果たすため、近年活発な研究分野となっている
• 現在,動画像をそのまま⽤いてモデルを構築する⼿法が⼀般的だが,
背景などの情報が学習のノイズとなることがある
• そこで,⼈間の⾻格を⽤いると,背景の変化とは無関係に情報が得られるため,
モデルのロバスト性もより増すと考えられる
これらのことから,⼈間の⾻格の情報を⽤いたモデルの学習を試みる!!
5
⾻格情報を利⽤した従来のアプローチ
従来のアプローチとしては、以下の2つの⽅法に分類できる
関節運動情報を得るために,⼿動で以下のような特徴量エンジニアリングを⾏う必要がある
• 関節の相対位置
• ⾝体の部分間の回転と平⾏移動
temporal	CNN
• アクション認識モデルをend-to-endで学習
• ただし,グラフ構造を正確にとらえることができないため,取得するグラフ情報の正確さに懸念
深層学習
特徴量エンジニアリング
以上により,グラフ構造を正確に取得し,end-to-endで学習できる⽅法が理想
6
Contents
• 背景
• 提案法
• 検証実験
7
概要
SpatialTemporal Graph	Convolutional	Networks(ST-GCN)と呼ばれる,
スケルトンベースの新しいモデルを提案
(概要)
データから空間パターンと時間パターンの両⽅を⾃動的に学習する
(メリット)
• グラフ構造と時系列性をとらえることによる,表現⼒の向上
• end-to-endの学習による,ドメイン知識の必要性の排除
8
先に結論
(⼿順)
1. ⼊⼒から,各ノードの情報を取得
2. 空間だけでなく,時間軸⽅向にもノード接続を追加する
3. 2のノードも含めたグラフ畳み込みによって,⾃分⾃⾝と隣接したノードの情報を指定回数たたみ込む
4. 3で得た最終的な各ノードの潜在ベクトルを元に,最終出⼒を得る
(新規性)
• 同⼀ノードにおける,時間軸⽅向へのノード&エッジの追加
• ノードのラベル付
• 隣接⾏列Aに学習可能なマスクの導⼊
9
テクニック
• 同⼀ノードにおける,時間軸⽅向へのノード&エッジの追加
• ノードのラベル付
• 隣接⾏列Aに学習可能なマスクの導⼊
10
①時間軸⽅向へのノード&エッジの追加
通常のジョイントの⾃然な接続性に準拠する空間エッジに加えて,以下のノード&エッジを追加する
• 連続するタイムステップにわたって同じジョイントを接続するエッジ
これにより、情報を空間次元と時間次元の両⽅に沿って統合することができる
空間的な接続だけでなく,
時間軸に関しても,接続を⽤意する!!!
𝑉	 =	{𝑣&'|𝑡	 = 	1, . . . , 𝑇, 𝑖	 = 	1, . . . , 𝑁}
t:時間ステップ , i:	ノード番号
ノード集合Vは以下のように表すことができる
11
②ノードのラベル付
⾼い表現⼒を実現するためには,ラベルを持たせて,ノードを区別してあげることが重要
(異なる性質を持つノードは,そのことを情報として与えてあげるイメージ)
3つのラベルづけの⽅法が紹介されている
• Uni-labeling (b)
• Distance	partitioning	(c)
• Spatial	configuration	partitioning	(d)
12
⽅法① Uni-labeling
⾃分⾃⾝とすべての隣接ノードを統⼀的に扱う⽅法
(特徴)
後述する⽅法と⽐べると,
表現⼒が低い傾向にある
13
⽅法② Distance	partitioning
各ノードのルートノードまでのステップ数を利⽤して,分割を⾏う⽅法
※直接的な距離関係ではなく,あくまでグラフ上での距離(最短パス)であることに注意!
(例)
2つに分割するように設定すると、隣接セットは以下の2つに分割される
• ルートノード
• 残りのノード
※3つ以上に分割する場合には,「残りのノード」が「隣接ノード」・「2ステップ先のノード」になる
※⼀般的には,隣接ノードまでの情報での畳み込みを⾏うため,2つへの分割が⼤半
(メリット)
2つの異なる重み⾏列があり、「⾃分⾃⾝のノード」と「隣接したその他のノード」で
異なる重みを割り当てることができる(それぞれに特化した性質を学習することができる)
ex.	「⾃分⾃⾝のノードの傾向をとらえることに特化した重み」
⽅法③ Spatial	configuration	partitioning
空間構成,つまりは直接的なノード間の距離を利⽤して,分割を⾏う⽅法
隣接セットを以下の3つのサブセットに分割する戦略を設計
• ルートノード
• ルートノードよりも重⼼に近い隣接ノード(求⼼グループ)
• それ以外のノード(遠⼼グループ)
フレームでの「すべてのジョイントの平均座標」を重⼼とする
x	が重⼼を表す
𝑙:	ラベル,𝑟':	重⼼からノードiまでの距離
(メリット)
それぞれ重⼼から距離によって性質(近い or	遠い)が
異なるノードを分けてフィルタを学習できる
ex.	重⼼から遠い傾向にあるノードに特化したフィルタ
重⼼から近い傾向にあるノードに特化したフィルタ
15
③隣接⾏列への学習可能なマスクの導⼊
(背景)
重みなしの隣接⾏列では,以下の場合を表現することができない
• 同じノードでも,場所によって影響度が異なる
• 1つのノードに対して,送られてくる情報の重要度は,どれも等しいとは限らない
(提案)
空間時間グラフ畳み込みのすべての層での隣接⾏列に,学習可能なマスクMを追加
これにより,学習された重要度の重みに基づいて、ノードの隣接ノードへの寄与を表現
※実際に検証実験では、このマスクを追加すると、ST-GCNの認識パフォーマンスがさらに向上した
(今後の展望)
Attentionの導⼊
結論,重み付き隣接⾏列を構築すること!!!
数式による畳み込み処理の表現
• Λ:		次元⾏列(各ノードの接続数が対⾓成分となった⾏列)
• A:	隣接⾏列 ※添字があれば,ラベルづけされた⾏列
• 𝑓'5:	⼊⼒ (各ノードの特徴を表した⾏列)
• 𝑓67&:	出⼒
• W:	重み⾏列(学習対象)
Aの要素によって,処理が分割される .
つまり,隣接関係が分割されて,畳み込みが⾏われる
※CNNでいうフィルタをそれぞれで別のものを利⽤する
ex.	 Distance	partitioningの適⽤
A0=I(単位⾏列),A1=A(通常の隣接⾏列)
Aには,学習可能なマスクMがついているため
を,A+IやAjの代わりに置き換えて学習させる
+α(⼩さな値)で「 𝚲の対⾓成分=0」を避ける
通常のグラフ畳み込みの式
ラベル付を導⼊したグラフ畳み込みの式
各変数の説明
16
【さらなる拡張】
拡張①
拡張②
17
ラベルづけによる隣接⾏列の変化(case	:	⽅法③)
結論,A0=I(単位⾏列),A1・A2は重⼼から近い or	遠いノードの隣接情報のみを捉えた⾏列となる
ラベル0・・・緑(ノード番号0)
ラベル1 ・・・⻘(ノード番号1)
ラベル2 ・・・⻩⾊(ノード番号2,3)
※右図のノード数は13とみなす
この時,隣接⾏列におけるノード番号0が対応する⾏のみで確認すると,
A0の1つの⾏の要素・・・(1,0,0,0,0,0,0,0,0,0,0,0,0) ※⾃分⾃⾝との接続
A1の1つの⾏の要素・・・(0,1,0,0,0,0,0,0,0,0,0,0,0) ※ラベル1との接続
A2の1つの⾏の要素・・・(0,0,1,1,0,0,0,0,0,0,0,0,0) ※ラベル2との接続
と,同じノードに関する隣接ノードの接続情報でも,異なる隣接⾏列が⽤いる
※⽅法②の隣接⾏列A:
;
は,,A:
;
= 𝐴:
=
+ 𝐴;
=
となる(つまりは,⽅法③の𝐴:と𝐴;の加算で表現可能)
この部分に着⽬!
18
畳み込み⼿順
1. ある1つのノードに着⽬して,その隣接と⾃分⾃⾝のノードを考える
2. 1で考えるノードに決定した⽅式でラベルをつけて,分割する
※時間軸⽅向には,ラベル付を⾏わない
3. 分割したそれぞれに対して,畳み込み演算を⾏う (右式)
4. 2でそれぞれで導出した畳み込みの結果に対して,総和をとる
1. 緑⾊のノードをrootノードとする
2. Distance	partitioning	によって,「root」と「それ以外」でラベルづけを⾏う
3. 以下の数式に従って,畳み込み操作を⾏う
畳み込み処理の具体例(右図の状況を想定)
これを,すべてのノードで⾏う
step3,4の操作の数式
19
Contents
• 背景
• 提案法の考え⽅
• 検証実験
データセット①
データ名:	Deepmind Kinetics	human	action	dataset
• YouTubeから取得した約30万のビデオクリップ
• ⽇常の活動・スポーツシーンなどの,400もの⼈間のアクションクラス
• Kineticsの各クリップは約10秒間
(データの処理)
• openposeというツールによって, 画像内の間接の位置の推定を⾏う
• ツールによって,画像情報から間接の位置情報とその推定の信頼度を出⼒
• 「ピクセル座標系の2D座標(X、Y)」,「18の⼈間の関節の信頼スコアC」の3次元データとなる
(データセットの分割)
• 240000クリップをトレーニングセット,20000クリップを検証セットとして利⽤
最⼤の分類確率での予測・top5までの分類確率での予測(5つ候補を挙げる)による認識精度によって
⼿法を⽐較(複数のラベルが存在するが,単⼀のラベルしか割り当てられていない可能性があるため)
※論⽂にはこのことについて特に記載はないため解釈が異なる可能性はあり
21
データセット②
データ名:	NTU-RGB	D
• ⼈間の⾏動認識タスク⽤の3Dジョイントアノテーションを備えたデータ
• 60のアクションクラスに56000のアクションクリップが含まれている
• Kinect深度センサーによって検出されたカメラ座標系での3Dジョイント位置(X、Y、Z)を提供
(データの処理)
• なし.すでに与えられている3Dジョイント位置(X、Y、Z)をそのまま⽤いる
(データセットの分割)
• X-sub:								⾏動者1⼈のデータをトレーニング⽤,それ以外の⼈を検証⽤とする
• crossview:		2つのカメラからのデータをトレーニング⽤,それら以外のカメラのデータを検証⽤とする
最⼤の分類確率で予測を⾏った認識精度で,⼿法を⽐較する(特にアノテーションに問題ないため)
22
実験結果(Kinetics	dataset	従来法パターン①)
• Uni-labelingを⽤いた提案法のみが従来法よりも精度が低いが,
それ以外の提案法は従来法よりも優れているという結果に.
• TCNとの違いは,「画像をそのまま畳み込んでいるか」,「グラフのノードの情報を抽出し,⼊⼒としているか」
であるため,グラフ構造をとらえることで,精度が向上することが⽰された
• 学習可能なマスクの導⼊によっても,精度が向上している
※ここでのラベル付⽅法はSpatial	configuration	partitioningが⽤いられている
(従来法)
• BaselineTCN
• Local	Convolution
認識精度⼿法名
23
実験結果(Kinetics	dataset 従来法パターン②)
(従来法)
ビデオフレームベース
• RGB
• Optical	Flow
スケルトンベース
• 特徴エンジニアリングベース
• Deep	LSTM
• Temporal	ConvNet
スケルトンベースの⽅法の精度がビデオフレームベースのモデルよりも劣っている
これは、オブジェクトだけでなく,相互作⽤しているシーンも認識する必要があるため
以上のことから,スケルトンベース・ビデオフレームベースの⼿法を正確に⽐較するために
「体の動きが最終出⼒に強く関連するデータのみ」を⽤いて検証したところ,同等の精度を記録
すべてのデータでの⽐較
体の動きが最終出⼒に⼤きな影響を及ぼすデータでの⽐較
24
ビデオフレームベース⼿法とのアンサンブル
• 提案法は,ビデオフレームベースの⼿法と
⽐べると,認識精度は劣る
• ただし,RGBに提案法をアンサンブルすると,
optical	Flowをアンサンブルする場合よりも
より性能を向上させる効果がある
(70.3→71.2が提案法,70.3→71.1が従来法)
• さらに,あげたすべての⼿法をアンサンブルすると
より性能を向上させることができる
kinetics datasets
※アンサンブル⽅法は特に記載がないが,おそらく最終的な各クラスへ分類する確率を平均化している⽅法
25
実験結果(NTU-RGB	D)
• 主に,ディープラーニング系の⼿法と⽐較
• どの⼿法と⽐べても,提案法の認識精度が
上回るという結果に
26
データの性質の違いからの提案法の考察
(データの性質)
Kinetics
• ⼊⼒はディープニューラルネットワークで検出された2Dスケルトン
• ビデオがハンドヘルドデバイスで撮影され、カメラの動きが⼤きくなる
NTU-RGB	+	D
• Kinectデプスセンサーからの⼊⼒
• カメラは固定されている
これらの違いがあるにもかかわらず,スケルトンベースの⼿法の中では,
提案法はどちらにおいても従来法よりも優れた精度を達成する
27
まとめ
• グラフ構造に時系列性を取り⼊れ,動的スケルトンをモデリングするための
⼀般的なグラフベースの定式化であるST-GCNを提案
• スケルトンモデリングの特定の要求を満たすために、
ST-GCNでたたみ込みカーネルを設計する際のいくつかのテクニックを提案
• スケルトンベースのアクション認識のための2つの⼤規模なデータセットで、
提案されたモデルは従来法と⽐較して優れたパフォーマンスを達成し、⼿動設計の労⼒を⼤幅に削減

【論文紹介】 Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition