SlideShare a Scribd company logo
FeaStNet: Feature-Steered
Graph Convolutions for 3D
Shape Analysis
• 任意の接続を持つフィルタ重みとグラフ近傍との間の対応関係を
確立するための新しいグラフ畳み込みを提案
• フィルタとグラフの対応関係がネットワークにより学習された特徴から
動的に計算される部分が特徴
• 提案されているGCNが機能していることを示すことを意識した実験
• 空間的アプローチ
論文概要
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
①注目ノードを一つ選ぶ
• a を選ぶ
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
重み行列
2
5
3
M
https://arxiv.org/abs/1706.05206
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
• ノードの情報と重みの積をとる
(重みの数はハイパーパラメータ)
重み行列
2
5
3
M
1aM
1bM
1cM
2aM
2bM
2cM
3aM
3bM
3cM
1,1 1,2 1,3 1,4 1,5
1 2
1,6 1,7 1,8 1,9 1,10
[ , ][ ]
M M M M M
a a
M M M M M
畳み込み後のチャネル数
畳み込み前の
チャネル数
ノード情報
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
• 重み割り当て
重み行列
2
5
3
M
1 1( , )qaM a a
1 1( , )qbM a b
1 1( , )qcM a c
2 2 ( , )qaM a a
2 2 ( , )qbM a b
2 2 ( , )qcM a c
3 3 ( , )qaM a a
3 3 ( , )qbM a b
3 3 ( , )qcM a c
( , )mq 注目ノ ード 隣接ノ ード
1 2 3( , ) ( , ) ( , ) 1q q q  a a a a a a
1 2 3( , ) ( , ) ( , ) 1q q q  a b a b a b
1 2 3( , ) ( , ) ( , ) 1q q q  a c a c a c
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
• 重み割り当て
• 重み割り当ては隣接ノード別の各重みの重要度を表す
• 重み割り当てによって
学習する特徴に対して柔軟なモデルになる
重み行列
2
5
3
M
1 1( , )qaM a a 2 2 ( , )qaM a a 3 3 ( , )qaM a a
( , )mq 注目ノ ード 隣接ノ ード
1 2 3( , ) ( , ) ( , ) 1q q q  a a a a a a
1( , ) 0.2q a a 2 ( , ) 0.5q a a 3 ( , ) 0.3q a a
10.2aM 20.5aM 30.3aM
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
• 重み割り当て
• 入力が空間座標の場合有効
• 注目ノードaと隣接ノードの距離が近い
➡ expの中の値が小さくなる
➡ 重み割り当てが大きくなる
➡ その特徴が次の層へ伝わりやすい
重み行列
2
5
3
M
( , )mq 注目ノ ード 隣接ノ ード
1 1 1( , ) exp( ( ) )T
q c  a b u a b
GCN(FeaStNet)
a b d
b a c d e
c d e
d a b
e b c
隣接情報
a b c
d e
②注目ノードに対する隣接ノードに対して
畳み込み計算を行う
• a の隣接ノード: b , d
• 重み割り当て
➡この値が次の注目ノードのノード情報になる
重み行列
2
5
3
M
1 1 2 2 3 3
1 1 2 2 3 3
1 1 2 2 3 3
{ ( , ) ( , ) ( , )
( , ) ( , ) ( , )
1
( , ) ( , ) ( , )}
q q q
q q q
q q q bias
  
  
  
ノ ード 数
aM a a aM a a aM a a
bM a b bM a b bM a b
cM a c cM a c cM a c
( , )mq 注目ノ ード 隣接ノ ード
グラフ上でのプーリング
• Metisの領域拡張アルゴリズムでクラスタリングを使用したプーリング
• ①と②のクラスタリング処理を学習前に行う
①ランダムにノードを選ぶ
②エッジ重みとノードの特徴の関係スコアが
最大のノードを探してクラスタリング
①と②をノード数が1つになるまで繰り返す
グラフ上でのプーリング
• Metisの領域拡張アルゴリズムでクラスタリングを使用したプーリング
• 以下の順でプーリングを行う
• グラフのクラスタリング
• プーリング
グラフ上でのプーリング
例 1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
①ランダムにノードを選ぶ
• ランダム選択ノード[2,1,3,5,4]
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードを見て隣接ノードを探し、
エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
• 𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
(隣接行列の値と同じ)
• 𝑤(𝑥) :頂点𝑥重み
(頂点𝑥の次数と同じ)
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードを見て隣接ノードを探し、
エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
• 𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
(隣接行列の値と同じ,すべて1)
• 𝑤(𝑥) :頂点𝑥重み
(頂点𝑥の次数と同じ)
➡ 接続数が少ないノードが優先的に選択される
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードの隣接ノードを探し,
関係スコアが最大のノードを探す
• ノード2の隣接ノードは1,3,4,5
• 1
1
4
+
1
1
=
6
5
• 3
1
4
+
1
2
=
3
4
• 4
1
4
+
1
2
=
3
4
• 5
1
4
+
1
1
=
6
5
➡ 最大ノード1
➡ ノード2とノード1でグループを作成
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードを見て隣接ノードを探し、
エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,2))
• ノード1の隣接ノードは2,4
➡ノード1はすでに選択されているので次へ
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードを見て隣接ノードを探し、
エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,2),(3,5))
• ノード3の隣接ノードは2,5
➡ ノード2はすでにグループ化されている
➡ ノード3とノード5でグループを作成
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• ランダム選択ノード[2,1,3,5,4]
②①で選んだノードを見て隣接ノードを探し、
エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,2),(3,5),(4))
• ノード4の隣接ノードは1,2
➡ すべてグループ化されている
➡ 4のみでグループを作成
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5
グラフ上でのプーリング
• 隣接ノード更新
1 2 3
4 5
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2
3 5
4
1
2
3
グループごとに
ノード定義変更
1 2
3 5
4
1
1
1
グループごとに
ノード定義変更
2 3
2
1 2
3 5
4
1 2 3
2 5
1
グループごとに
隣接ノードを探す
4 5
2
1 2
3 5
4
1 2 3
2 5
1
グループごとに
隣接ノードを探す
4 5
2
グラフ上でのプーリング
• 隣接ノード更新
1 2 3
1 1 1 1
2 1 1 0
3 1 0 0
1 2 3
1 0 1 1
2 1 0 0
3 1 0 0
隣接ノード作成 自分のノードの
接続を削除
1 2
3
1 2
3 5
4
1
1
1
2 3
2
1
2
3
グラフ上でのプーリング
①ランダムにノードを選ぶ
• ランダム選択ノード[3,1,2]
②エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,3))
• ノード3の隣接ノードは1
➡ ノード3とノード1でグループを作成
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
1 0 1 1
2 1 0 0
3 1 0 0
1 2
3
1 2 3
2 1 1
グラフ上でのプーリング
①ランダムにノードを選ぶ
• ランダム選択ノード[3,1,2]
②エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,3))
• ノード1の隣接ノードは2,3
➡ ノード1はすでにグループ化
➡ 何もしない
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
1 0 1 1
2 1 0 0
3 1 0 0
1 2
3
1 2 3
2 1 1
グラフ上でのプーリング
①ランダムにノードを選ぶ
• ランダム選択ノード[3,1,2]
②エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
(ノードのグループ(1,3),(2))
• ノード2の隣接ノードは1
➡ ノード1はすでにグループ化
➡ ノード2のみでグループ化
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
1 0 1 1
2 1 0 0
3 1 0 0
1 2 3
2 1 1
1 2
3
グラフ上でのプーリング
• 隣接ノード更新
1 3
2
1
2
グループごとに
ノード定義変更
1 3
2
1
1
グループごとに
ノード定義変更
21 3
2
2 3
1
グループごとに
隣接ノードを探す1 2 3
1 0 1 1
2 1 0 0
3 1 0 0
1 2
3
1 2
1 1 1
2 1 0
1 2
1 0 1
2 1 0
1 2
隣接ノード作成
及び
自分のノードの
接続を削除
グラフ上でのプーリング
①ランダムにノードを選ぶ
• ランダム選択ノード[1,2]
②エッジ重みとノードの特徴の関係スコアが
最大のノードを探す
• ノード1の隣接ノードは2
➡ ノード1とノード2でグループを作成
• ノード2はすでにグループ化されている
➡ 何もしない
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2
1 1
1 2
1 0 1
2 1 0
1 2
グラフ上でのプーリング
プーリング
• グループ化した情報に沿ってプーリングを行う
1 2
3 5
4
1
2
3
1 3
2
1
2 1 2 1
グラフ上でのプーリング
プーリング
[1,2]
[3,4]
[5,6]
[7,8]
[9,10]
1
2
3
4
5
クラスタリング
情報
[ 3 , 4]
[9 ,10]
[ 7 ,8]
1
2
3
元のノード情報 並びかえ プーリング
[1,2]
[3,4]
[5,6]
[9,10]
[7,8]
1
2
5
3
4
プーリング
1 2
3 5
4
1
2
3
プーリング前の
ノード
プーリング後の
ノード
グラフ上でのプーリング
プーリング
[1,2]
[3,4]
1
2
クラスタリング
情報
[3,4]1
元のノード情報 並びかえ プーリング
[1,2]
[3,4]
1
2
プーリング
1 2 1
[1,2]
[3,4]
[5,6]
1
2
3
クラスタリング
情報
[5,6]
[3,4]
1
2
元のノード情報 並びかえ プーリング
[1,2]
[5,6]
[3,4]
1
3
2
プーリング1 3
2
1
2
関係スコアについて
• 注目ノードに対する隣接ノードを探し,
エッジ重みとノードの特徴の関係スコアが
最大のノードを探してグループ化
• 𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
(隣接行列の値と同じ)
• 𝑤(𝑥) :頂点𝑥重み
(頂点𝑥の次数と同じ)
• 関係スコアが最大のノード
➡ 接続数が少ないノードが優先的に選択される
1 2 3 4 5
1 0 1 0 1 0
2 1 0 1 1 1
3 0 1 0 0 0
4 0 1 0 0 0
5 1 1 1 0 1
1 2 3 4 5
2 4 2 2 2
隣接行列
𝑒(𝑥, 𝑦) :頂点𝑥と𝑦との間のエッジ重み
次数
𝑤(𝑥) :頂点𝑥重み
1 2 3
4 5

More Related Content

PPTX
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
PPTX
Graph convolution (スペクトルアプローチ)
PPTX
Learning Depthwise Separable Graph Convolution from Data Manifold
PPTX
Graph LSTM解説
PDF
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
PDF
20140306 ibisml
PDF
NN, CNN, and Image Analysis
PDF
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter
Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recog...
Graph convolution (スペクトルアプローチ)
Learning Depthwise Separable Graph Convolution from Data Manifold
Graph LSTM解説
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
20140306 ibisml
NN, CNN, and Image Analysis
(文献紹介)エッジ保存フィルタ:Side Window Filter, Curvature Filter

What's hot (20)

PDF
(文献紹介) 画像復元:Plug-and-Play ADMM
PDF
Limits on Super-Resolution and How to Break them
PDF
ICML2013読み会: Distributed training of Large-scale Logistic models
PDF
Aishima140714
PDF
サンプリング定理
PDF
Kim120 lt 12_6
PDF
上三角 Pascal 行列による多項式のシフト
PPTX
これならわかる最適化数学8章_動的計画法
PPTX
球面フィッティングの導出と実装
PPTX
K shapes zemiyomi
PDF
論文紹介:The wavelet matrix
PDF
Rパッケージ“KFAS”を使った時系列データの解析方法
PPTX
xtsパッケージで時系列解析
PPTX
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
PDF
Jokyonokai
PDF
PDF
Ppt kasawaki
PPTX
多チャンネルバイラテラルフィルタの高速化
PDF
【Unity道場】ゲーム制作に使う数学を学習しよう
PDF
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
(文献紹介) 画像復元:Plug-and-Play ADMM
Limits on Super-Resolution and How to Break them
ICML2013読み会: Distributed training of Large-scale Logistic models
Aishima140714
サンプリング定理
Kim120 lt 12_6
上三角 Pascal 行列による多項式のシフト
これならわかる最適化数学8章_動的計画法
球面フィッティングの導出と実装
K shapes zemiyomi
論文紹介:The wavelet matrix
Rパッケージ“KFAS”を使った時系列データの解析方法
xtsパッケージで時系列解析
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
Jokyonokai
Ppt kasawaki
多チャンネルバイラテラルフィルタの高速化
【Unity道場】ゲーム制作に使う数学を学習しよう
Rate-Distortion Function for Gamma Sources under Absolute-Log Distortion
Ad

Similar to FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis (20)

PDF
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
PPTX
R seminar on igraph
PDF
多数のグラフからの統計的機械学習 (2014.7.24 人工知能学会 第94回人工知能基本問題研究会 招待講演)
PDF
大規模ネットワークの性質と先端グラフアルゴリズム
PPTX
Graph conv
PDF
グラフニューラルネットワークとグラフ組合せ問題
PPTX
Graph U-Net
PDF
グラフニューラルネットワーク入門
PDF
PRML復々習レーン#9 前回までのあらすじ
PDF
第2回プログラマのための数学LT会
PDF
Newman アルゴリズムによるソーシャルグラフのクラスタリング
PDF
PFI Christmas seminar 2009
PDF
Neural networks for Graph Data NeurIPS2018読み会@PFN
PDF
Graph nuralnetwork@2021
PDF
スペクトラル・クラスタリング
PDF
PRML 8.4-8.4.3
PDF
大規模グラフ解析のための乱択スケッチ技法
PDF
Nips yomikai 1226
PDF
グラフデータ分析 入門編
PDF
線形回帰と階層的クラスタリングの実装
NIPS2013読み会: Scalable kernels for graphs with continuous attributes
R seminar on igraph
多数のグラフからの統計的機械学習 (2014.7.24 人工知能学会 第94回人工知能基本問題研究会 招待講演)
大規模ネットワークの性質と先端グラフアルゴリズム
Graph conv
グラフニューラルネットワークとグラフ組合せ問題
Graph U-Net
グラフニューラルネットワーク入門
PRML復々習レーン#9 前回までのあらすじ
第2回プログラマのための数学LT会
Newman アルゴリズムによるソーシャルグラフのクラスタリング
PFI Christmas seminar 2009
Neural networks for Graph Data NeurIPS2018読み会@PFN
Graph nuralnetwork@2021
スペクトラル・クラスタリング
PRML 8.4-8.4.3
大規模グラフ解析のための乱択スケッチ技法
Nips yomikai 1226
グラフデータ分析 入門編
線形回帰と階層的クラスタリングの実装
Ad

FeaStNet: Feature-Steered Graph Convolutions for 3D Shape Analysis

Editor's Notes

  • #6: 重みごと 注目ノードに対する隣接ノード別 で計算
  • #10: 理由は中
  • #11: 理由は中
  • #12: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #13: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #14: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #15: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #16: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #17: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #18: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #19: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #20: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #22: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #23: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #24: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #25: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #26: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #27: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #28: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列
  • #29: 実装はグリッド上でのプーリングでできる 赤い四角形は同じチャンネル
  • #30: 実装はグリッド上でのプーリングでできる 赤い四角形は同じチャンネル
  • #31: Wは次元行列の要素のみ 次元行列は対角行列だけど Wはその対角成分のみの行列