[DL輪読会]MeshとDeep Learning Surface Networks & AtlasNet

1.2K Views

August 22, 18

スライド概要

2018/08/10
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

MeshとDeep Learning DEEP LEARNING JP Surface Networks & AtlasNet [DL Papers] Presenter: Joji Toyama DeepX / Matsuo Lab http://deeplearning.jp/ 1

2.

今回の発表概要 • 強力な3D表現方法であるメッシュにどのようにディープラーニングが用い られるか,がテーマ • 3D系は昔からCVとして発展してきた分野であり,ディープラーニング屋に は聞き馴染みのない言葉が多々あります – わからない用語などあったらすぐに聞いてください(答えられるかわからないけど) 2

3.

3Dを計算機的に理解することの重要性 • ヒトの知能に近づく – ヒトは3次元的に世界を理解している • 現実世界タスクへの応用 – e.g. ロボティクス • コンテンツ力 – 3D映画,VR • (適当に思いつくもの3つ並べただけです) 3

4.

3Dの表現形式 • Voxel – ピクセルのように,三次元空間を直方体によって分割して表現する. – 本来連続である物体のサーフェスはボクセルスケールによって離散化されてしまう – 計算的に非効率 • Point cloud – 物体の表面上の点を抽出 – 効率的な計算が可能な反面,ポイント同士の隣接関係は記述されないため,point cloudの元 となる物体を推定することが難しい • Mesh – 物体の表面を,多角形(ポリゴン)の集合として表現する.ポリゴン同士は頂点を接続される. 4

5.

3Dの表現形式 • Voxel – ピクセルのように,三次元空間を直方体によって分割して表現する. – 本来連続である物体のサーフェスはボクセルスケールによって離散化されてしまう – 計算的に非効率 • Point cloud – 物体の表面上の点を抽出 – 効率的な表現かつ元となる物体をよく表現できるため, 効率的な計算が可能な反面,ポイント同士の隣接関係は記述されないため,point cloudの元 メッシュは望ましい3D表現方法 となる物体を推定することが難しい • Mesh – 物体の表面を,多角形(ポリゴン)の集合として表現する.ポリゴン同士は頂点を接続される. 5

6.

メッシュ×ディープラーニングの難しさ • CNNやRNNが持つ帰納バイアスはメッシュデータには適さない – Non Euclidean,Non grid-like structure • データの形式がより柔軟 – 画像であれば常に縦横決まったピクセル数のデータだが,メッシュの場合,ノードとエッジ(とサー フェス)によって構成される,グラフ形式のデータ • 何を出力とし,どこで誤差をとるのが良いのか? – メッシュそのものを一発で出力することは難しい – Neural mesh renderer • 生成したメッシュのレンダリング画像とGT画像との誤差の勾配をメッシュ生成器に流す – Mesh deformation • 規定の楕円球体状のメッシュから,各頂点の座標を更新していく. • Graph Unpoolingによってノード数を増やすことは可能 6

7.

今日紹介する2本の論文 • Atlas Network – 従来メッシュ生成はMesh Deformationが主流だったが,本手法は複数の正方形状の パッチを変形させることで,直接サーフェスを生成する.これによって,任意のノード 数のメッシュを生成可能に. • ちゃんと理解してる&実際に動かしました • CVPR2018 Spotlight • Surface Networks – メッシュから直接特徴量を抽出するネットワークを提案.これらはextrinsicな情報を 扱っており,かつ,メッシュの変形に頑健性を持つ. • 僕自身の理解が危うい. • CVPR2018 Oral • Surface Networksはざっくり程度の紹介でご勘弁ください 7

8.

AtlasNet 概要 • 2D Image,もしくは3D Point Cloudを入力として,サーフェスを再構成す る手法 • 平面を張り合わせる(Papier-Mache)アプローチを用いているところが,斬 新かつ面白い • CVPR2018 spotlight

9.

AtlasNetができること • Any representation to Mesh – 既存手法と違い,mesh deformationをするのではなく,サーフェスを生成して貼り付 ける. • 斬新 – 入力から潜在表現を獲得し,そこからサーフェス(実際には点だけど)を生成するので, 入力は(教師の3Dモデルから獲得できるような表現=2D画像や点群)基本なんでもい い. 9

10.

手法概要 • 従来手法では,潜在表現から3D点をそのまま出力. – これだけでは,点群しか再構成されない • 本手法では,潜在表現と正方形]0,1[2からサンプリングされた点を入力として,3D 点を出力 – こうすることで,元の正方形は3次元上で2次元多様体(=サーフェス)に変換される(後述). • 複数の]0,1[2正方形を用意することで,複数のサーフェスを生成可能.これらに よって,より詳細なサーフェス表現が可能になる. 10

11.

多様体とアトラス • 多様体・・・局所的にユークリッド空間とみなせる集合 – e.g. 地球が多様体で,それを局所的に二次元ユークリッド空間で表したのが地図 • ある位相空間M上に集合Uに対し,局所座標系への同相変換をチャートとよ ぶ – 同相・・・位相空間として等しい.ドーナツと球は異相だけど,ドーナツとマグカップ は同相 – 地球to地図がチャート – 地図to地球はparameterizationと呼ぶ(今回学習するところ). • 元の多様体を全て表現するチャートの集合を,アトラスと呼ぶ – e.g. 地球は一枚の地図では表現しきれない(赤道を中心とするメルカトル図法では,北 極南極は地図に写らない).しかし,北極側と南極側の二枚の地図があれば,地球を全 て表現できる. – 二枚の地図=アトラス 11

12.

正方形から多様体への写像 • 正方形から2次元多様体(=サーフェス)へのparameterizationをする関 数𝜓𝜃 考える. – min𝐿( 𝜓 𝜃 ]0,1[2 , 𝑆)を最小化したい • 関数𝜓𝜃 は以下を満たしてほしい – 表現豊か – 正方形から必ず2次元多様体へ変換される • ReLUのみを活性化関数とするMLPは上の条件を満たす! – 証明は論文を... 12

13.

実際の訓練方法 Latent Image or Pointcloud Encoder Decoder (𝑥, 𝑦, 𝑧) concat ....... ....... ....... uniform sampling 13

14.

Mesh Generation • AtlasNetによって,多様体を構成するサーフェス群を生成するようなネッ トワークが学習される. • メッシュ再構成方法として以下の二つを実施 – 正方形内で正規化されたメッシュをあらかじめ定義し,それを3次元に変換. • ただこの方法では,複数の正方形パッチを使った時に,穴があく,メッシュ同士が重なるな どの現象が起きる – 上で生成したメッシュから高密度の点群をサンプリングし,それらに対してPoisson reconstructionを行う • メッシュの穴は確実に埋まる – 正方形パッチではなく,三次元球面上から点をサンプリングして学習し,一番上の方法 でメッシュ再構成. • 元の多様体が閉じているため,一番上の方法による変換後も閉じた多様体が得られる. 14

15.

再掲:手法概要 • 従来手法では,潜在表現から3D点をそのまま出力. – これだけでは,点群しか再構成されない • 本手法では,潜在表現と正方形]0,1[2からサンプリングされた点を入力として,3D 点を出力 – こうすることで,元の正方形は3次元上で2次元多様体(=サーフェス)に変換される. • 複数の]0,1[2正方形を用意することで,複数のサーフェスを生成可能.これらを張 り合わせることで,より詳細な表現が可能なサーフェス群が生成される. 15

16.

実験 • 3D再構成 • Image to Mesh 16

17.

3D再構成 • 疎な点群から密な点群及びメッシュを再 構成. • 提案手法がベースラインと比べて良い精 度 • パッチを増やすほど精度は上がる – しかし,定性的にはスムースさがなくなる. 17

18.

3D再構成 定性分析 18

19.

汎化性能 • 各パッチは3D物体の構成要素を表すように学習されるはずなので,汎化性能 が高くなるとのこと. 19

20.

Image to Pointcloud and Mesh • こちらでも良い結果. 20

21.

Image to Pointcloud and Mesh • 定性分析.汎化性能が高いと言って いる(下が訓練にないネット上の画 像に適用した結果). 21

22.

その他実験結果 • 潜在変数での線形補間 • 物体の形に対するatlasの一致の確認 • Atlasをdistortion minimizationしたら綺麗に構成要素のatlasを表している ことがわかると言っている図 22

23.

Atlasnetを実際にネジで試した結果 点群 メッシュ メッシュ→PSR 23

24.

Atlasnetの限界 • パッチの枚数の調整が難しい – パッチが少ないと再構成誤差が大きくなるが,幾何的には一致しやすくなる.一方で パッチが多いと幾何的に一致しなくなる(サーフェスが重なったりする) – ネジのケースではパッチ5と25をやったが,5でも重なりが見えた. 24

25.

Atlasnetの限界 25

26.

考察:機械学習ベースの手法 vs 非機械学習ベースの手法 • 機械学習ベース – pro…物体の事前情報を加味できる.例えばセンサで得られる点群が粗い場合でも,そ れがネジだという事前情報があれば,ネジ穴やネジ溝の再構成をしうる. – con…学習したことのないデータが来ると死ぬ • 逆非機械学習ベース – pro…あらゆる物体に同様に適応する – con…物体の事前情報を知らないため,センサ情報が粗いと終わる – con…物体によって最適なパラメータが異なるので,探すのが辛い(機械学習もそう か,,,) • 高精度なセンサ情報が得られない,かつ,対象とする物体が限定されている 場合(=学習しうる量),機械学習のメリットが享受できるか. – ただ,この文脈で研究されることは今後少ないようにも思う. 26

27.

Surface Network 概要 • triangularメッシュをそのまま扱える,Surface Networkを提案 – Surface Networkはラプラシアン/ディラック作用素を用いる – (従来のGNNと違い)Extrinsicな情報を扱う • SNは,メッシュの変形とサーフェスの離散化に対して頑健性を持つことを 証明 • SNとVAEを組み合わせることで,サーフェスの生成モデルを提案した 27

28.

Graph Neural Networks(GNN)とメッシュ • 隣接するノードの頂点情報を足し合わせ,非線形変換をすることによってた たみ込む. – メッシュはグラフ構造なので,GNNを使うのが素直な考え方. 28

29.

GNNの問題点 • GNNはグラフ上で隣接されているノードによって構成される特徴量のみを 用いている – intrinsicな情報しか用いていない. • 非ユークリッドが前提なので当たり前な気もするが... 29

30.

intrinsic VS extrinsic • 多様体の場合,局所的なユークリッド空間上での性質をintrinsic propertiesと 呼ぶ. – 角度や距離(リーマン計量と呼ばれる) • 一方,多様体を3次元空間に埋め込んだ時の性質をextrinsic propertiesと呼ぶ. • intrinsic propertiesを保持した変形を,isometric deformationと呼ぶ • メッシュの場合は,1つのサーフェス上に同じようにリーマン計量が定義できる. isometric deformationの例 30

31.

メッシュをGNNに組み込むには何を入力にする? • 1:三次元空間上にメッシュを埋め込んだ時の点の(x,y,z)座標を入力に加 える – extrinsicな情報 – 問題:三次元座標情報は(当たり前だが)グローバル座標の変換に対して頑健ではない • 2:各ノードにおける曲率をシグナルとして用いる – 曲率は幾何学情報を得る上で有用な情報 – 微分情報は方向を持つ場合はextrinsicだが,平均曲率の場合はintrinsic • (非ユークリッドなDeep Learningの話は https://arxiv.org /abs/1611.08097が詳しいので読むことを強くお勧め) 31

32.

グラフにおける微分,発散,ラプラシアン • 𝑓: 𝑉 → ℝ𝑛 , 𝐹: ℇ → ℝ𝑛という関数をノード上及びエッジ上で考える.一般に, ノード𝑖, 𝑗における𝑓の微分は, 𝛻𝑓𝑖𝑗 = 𝑓𝑖 − 𝑓𝑗 • と定義でき,divは 1 d𝑖𝑣𝐹𝑖 = ෍ 𝑤𝑖𝑗 𝐹𝑖𝑗 𝑎𝑖 𝑗: 𝑖,𝑗 ∈ℇ • と定義される. • 上から,ラプラシアンは∆= −𝑑𝑖𝑣𝛻より, ∆𝑓 𝑖 1 = ෍ 𝑤𝑖𝑗 (𝑓𝑖 − 𝑓𝑗 ) 𝑎𝑖 𝑖,𝑗 ∈ℇ 32

33.

メッシュにおける微分,発散,ラプラシアン • グラフと同様に定義される.各ノードはユークリッド空間における座標にな り,ノードの重み𝑎𝑖 は周囲のメッシュサーフェスの面積によって表現され, エッジ𝑤𝑖𝑗 はノード間のユークリッド距離になる. 𝛻𝑓𝑖𝑗 = 𝑓𝑖 − 𝑓𝑗 1 d𝑖𝑣𝐹𝑖 = ෍ 𝑤𝑖𝑗 𝐹𝑖𝑗 𝑎𝑖 𝑗: 𝑖,𝑗 ∈ℇ ∆𝑓 𝑖 1 = ෍ 𝑤𝑖𝑗 (𝑓𝑖 − 𝑓𝑗 ) 𝑎𝑖 𝑖,𝑗 ∈ℇ where 33

34.

メッシュにおけるディラック作用素 • ディラック作用素・・・ナブラ演算子の一般化.三次元スカラー場の場合 𝐷 ≔ 𝑑𝑥 𝜕 𝜕 𝜕 + 𝑑𝑦 + 𝑑𝑧 𝜕𝑥 𝜕𝑦 𝜕𝑧 • これをメッシュに適用すると • となります. – なぜそうなるかがなんと論文に書いてない・・・ • 幾何積の項でこうなるんだとおもうんだけど,,, – ディラック作用素の定義からいろいろ考えたんですが,自分ではなぜこうなるのかわか りませんでした.ごめんなさい... 34

35.

ラプラシアンとディラック作用素の比較 • ラプラシアンはノードにおける平均曲率(スカラー)を求めている.一方, ディラック作用素はノードのサーフェス上における方向つき微分を求めてい る. – 方向がわかる分,ディラック作用素の方が情報量が多い • ラプラシアンはノード→ノードで定義される.一方,ディラック作用素は ノード→サーフェスで定義される量. • (ディラック作用素の二乗はラプラシアン) 35

36.

Laplacian Surface Networks • 𝑥 1として,node canonical coordinates 𝑥 1 ≔ 𝑉 ∈ ℝ 𝑉 ∗3 を用いる. – node canonilcal coordinatesってなんですか? • x,y,zが入ってることは確かなんですが,原点の取り方に工夫? • ∆𝑥 1 = −2𝐻𝑛 – 𝐻は平均曲率で,𝑛は法線ベクトル.つまりLaplacian SNは平均曲率と法線ベクトル情 報を用いることができる. • 𝐴𝑘 と𝐵𝑘 が学習されるパラメータ 36

37.

Dirac Surface Networks • ディラック作用素によって,サーフェス特徴量𝑦を計算後,ノード特徴量𝑥 に戻す. – 𝐷 ∗はディラック作用の逆変換. – 各ノードにおける方向付き微分情報が得られる • 𝐴, 𝐵, 𝐶, 𝐸が学習されるパラメータ 37

38.

モデル詳細 • ResNet-v2の1ブロックの模式図.左がLaplace SNで右がDirac SN 38

39.

Stability of Surface Networks • メッシュの変形,また,元の多様体からメッシュをサンプリングする際のノイズ に頑健であるような特徴量がSNによって抽出されているかを確かめている. – メッシュ座標のようなextrinsicな情報を使うと,これらに対しての頑健性は損なわれる. – Laplacian/Diracオペレータがあることで,頑健性をある程度保持する • DiracもLaplacianも高周波(=曲率が大きい)な値を通すため,少しの変形に強い. • 結論だけ述べると – 変形行列𝜏の微分のノルムによって,特徴量の変化はバウンド可能 – 同じ多様体からサンプリングされるメッシュは,両者のメッシュと元の多様体の差のmaxと, SNへの入力のスムースさ(Sobolev normによって計測できるらしい)でバウンド可能 • 証明読んでもよくわかりませんでした... 39

40.

実験:Mesh MNIST with VAE • 3D mesh 𝑀 = (𝑉, 𝐸, 𝐹)を2D mesh𝑀′ = (𝑉 ′, 𝐸 ′, 𝐹 ′)とdepth-map encoding 𝑓: 𝑉′ → ℝに分離する. • デコーダは𝑝𝜃 𝑀 ℎ = 𝑝𝜃 𝑓 ℎ, 𝑀′ ∗ 𝑝(𝑀′)と書ける.𝑝(𝑀′ )は二次元内に適当 にノードをつくって全て三角形になるようにメッシュを作成 (homogeneous Poisson point process),デコーダはSurface Network. • エンコーダ𝑞𝜓 (ℎ|𝑀)も,Surface Network. • 本実験では,メッシュの小さな変形や離散化のランダム性に対しモデルが頑 健であるかを,VAEがきちんと学習できるかで検証している. 40

41.

結果 • 異なる2Dメッシュのサンプリングに対し,うまくdepth-mapを出力できて いる – Surface Networkのデコーダがメッシュ幾何情報をうまく取り込んでいる • 生成例がちゃんとしてる – 小さなメッシュ変形に対して頑健である 41

42.

実験:Spatio-Temporal Predictions • メッシュ状の物体の動きを予測する – はじめの2フレームを与え,残り40フレームを予測するタスク • https://www.facebook.com/CVPR2018/videos/1993326844329548/の28:50付近 (CVPR2018での著者によるオーラル発表) 42

43.

定量的評価 • MLP,PointCloudに比べてLaplaceとDiracは良い. • DiracのほうがLaplaceより良い. 43

44.

定性的評価 特に曲率が大きいところを,Diracはきちんとモデルできる 一方,pointcloudは曲率情報を用いないため,モデリングできない. 44

45.

まとめ • GNNをextrinsicな情報を扱えるように拡張し,かつ,ラプラシアン/ディ ラック作用素と組み合わせることで,メッシュの変形と離散化に対する頑健 性を保証 – 更に,ラプラシアンはノードにおける平均曲率を,ディラックはノードにおける方向付 き微分情報を加味できる • 上の効果を,Mesh MNISTとSpatio-Temporal Predictionsの実験によって 確認した. • オーラルになるくらいなのですごい論文なんだけど,正直よくわかりません でした – だれか読んで理解できたら是非ご相談お願いします. 45