[DL輪読会]Unsupervised Learning of 3D Structure from Images

>100 Views

December 13, 16

スライド概要

2016/11/26
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

関連スライド

各ページのテキスト
1.

DL輪読会: Unsupervised Learning of 3D Structure from Images 東京大学工学系研究科 システム創成学専攻 修士1年 杉原 祥太

2.

書誌情報 • Title: • Unsupervised Learning of 3D Structure from Images • Authors: • Danilo Jimenez Rezende, S. M. Ali Eslami, Shakir Mohamed, Peter Battaglia, Max Jaderberg, Nicolas Heess (Google DeepMind) • NIPS 2016 • https://arxiv.org/abs/1607.00662 2

3.

概要 • 3D構造の生成モデルを作成した. • Ground-truthな3Dデータを学習させた場合,高品質なものが生成 • 2D画像から3D構造を推定 • 微分可能なレンダラを使って学習可能 • 純粋な教師なし学習で3D構造が推定可能なことを示した. 3

4.

背景 • 我々の生活する空間は三次元である. • しかし,観測は一般的に二次元に投影した(眼,カメラ)画像を扱う. • 目標:二次元画像から本来の三次元物体に復元したい. • 難しい! • • • • 不良設定問題 統計的モデルでは手に負えない 最適な3D表現が不明 Ground-truthなデータセットを集めにくい 4

5.

先行研究 • Traditional approaches • Inverse graphics • Analysis-by-synthesis • Heavily engineered visual featuresに頼る手法 • EncoderとDecoderに分離した学習において限界がある. 5

6.

提案手法 • x: 訓練データ • c: コンテクスト • (なし/クラス/一箇所以上のカメラからの 画像) • h: 推測したい3D表現 • z: 潜在変数 6

7.

提案手法 • K次元の潜在変数: 𝐳𝑡 ~𝑁 ⋅ |𝟎, 𝟏 • Encoding(タスク依存):𝐞𝑡 = 𝑓𝑟𝑒𝑎𝑑 𝐜, 𝐬𝑡−1 ; 𝜃𝑟 • Hidden state (LSTM): 𝐬𝑡−1 = 𝑓𝑠𝑡𝑎𝑡𝑒 𝐬𝑡−1 , 𝐳𝑡 , 𝐞𝑡 ; 𝜃𝑠 • 3D representation : 𝐡𝑡 = 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1 ; 𝜃𝑤 7

8.

提案手法 • 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1 ; 𝜃𝑤 = VST 𝑔1 𝐬𝑡 , 𝑔2 𝐬𝑡 • 𝑔1 , 𝑔2 はMLP • 2D projection(レンダラ): 𝐱ො = Proj 𝐡 𝑇 , 𝐬 𝑇 ; 𝜃𝑝 • Observation : 𝐱~𝑝 𝐱 𝐱ො 8

9.

提案手法 • 2D projection(レンダラ): 𝐱ො = Proj 𝐡 𝑇 , 𝐬 𝑇 ; 𝜃𝑝 • 3D→3D • 𝐱ො = 𝐡 𝑇 • 3D→2D • VSTと3D conv.を用いて写像する. • 3D(mesh)→2D • OpenGLのレンダラを用いて,ブラックボックスとみなす. 9

10.

Volumetric Spatial Transformers • Spatial transformers:空間的な変換のパラメータも学習 • ST 𝐱, 𝐡 = 𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗𝐱 • 3次元に拡張させる • VST 𝐱, 𝐡 = 𝜅𝑑 𝐡 ⊗𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗𝐱 • 𝜅𝑑 , 𝜅ℎ , 𝜅𝑤 は1次元のカーネル, ⊗は3個のカーネルのテンソル積, ∗は畳み込みを表す. 10

11.

データセット • Necker cubes: 40^3の空間中央に10^3のワイヤフレーム立方体 をランダムな向きで置く • Primitives: 30^3,基本的な立体(立方体,球,四角錐,円筒, カプセル,楕円体),位置と向きはランダム • MNIST3D: 30^3,手書き文字MNISTを押し出して立体にした もの • ShapeNet: 3Dmeshのデータセット.30^3の2値データでレン ダリングする. 11

12.

実験 • 生成時LSTMの隠れ層のニューロン300個,潜在変数10個 • Encoderはタスク毎に変えた. • 入力が • 画像:ConvolutionとST • 立体:Volumetric Conv.とVST • メッシュは次元が圧倒的に小さい→T=1に 12

13.

実験 1. 2. 3. 4. 5. 6. Generating volumes Probabilistic volume completion and denoising Conditional volume generation Performance benchmarking Multi-view training Single-view training 13

14.

1. Generating volumes • Ground-truthな立体が利用できる場合 • 単純なデータセット (primitive, MNIST3D) の場合,鮮明な立体 が生成された • 複雑なデータ (ShapeNet)でも,細部まではっきりした結果 14

15.

2. Probabilistic volume completion and denoising • マルコフ連鎖モンテカルロ法で立体の欠損部分を推定 15

16.

3. Conditional volume generation • 𝐜にクラスのone-hot表現を与え,ShapeNetで学習 16

17.

3. Conditional volume generation • 一方向から見たときの画像をコンテクスト𝐜として与える. 17

18.

4. Performance benchmarking • Generation step数がパフォーマンスに大きく影響する. • コンテクスト追加の影響は少ない. 18

19.

5. Multi-view training • 3個の定点カメラの画像をコンテクストにして学習させ,10個 の別々の方向からの画像を生成. 19

20.

6. Single-view training • 標準のブラックボックスなレンダラで学習する. • 2D画像から3Dメッシュとその向きを推測する. • メッシュは162個のベクトルで構成される. 20

21.

議論 • 3D構造の表現 • Volumes: 様々な物体を表現しやすいが,高次元だと計算的に高コスト • Meshes: 低次元で計算がしやすいが,生成可能な物体は限定的 • 他の表現方法を考える • NURBS • 学習にvolume-to-mesh conversion algorithmを導入する. 21