[dl輪読会]unsupervised learning of 3d structure from images

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

Upload: deeplearningjp2016

Post on 16-Apr-2017

88 views

Category:

Technology


0 download

TRANSCRIPT

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

DL輪読会:Unsupervised Learning of 3D

Structure from Images東京大学工学系研究科

システム創成学専攻修士1年

杉原祥太

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

書誌情報

• 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

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

概要

• 3D構造の生成モデルを作成した.• Ground-truthな3Dデータを学習させた場合,高品質なものが生成

• 2D画像から3D構造を推定

• 微分可能なレンダラを使って学習可能

•純粋な教師なし学習で3D構造が推定可能なことを示した.

3

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

背景

•我々の生活する空間は三次元である.• しかし,観測は一般的に二次元に投影した(眼,カメラ)画像を扱う.

•目標:二次元画像から本来の三次元物体に復元したい.

•難しい!• 不良設定問題

• 統計的モデルでは手に負えない

• 最適な3D表現が不明

• Ground-truthなデータセットを集めにくい

4

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

先行研究

• Traditional approaches• Inverse graphics

• Analysis-by-synthesis

• Heavily engineered visual featuresに頼る手法

• EncoderとDecoderに分離した学習において限界がある.

5

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

提案手法

• x: 訓練データ

• c: コンテクスト• (なし/クラス/一箇所以上のカメラからの画像)

• h: 推測したい3D表現

• z: 潜在変数

6

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

提案手法• K次元の潜在変数: 𝐳𝑡~𝑁 ⋅ |𝟎, 𝟏

• Encoding(タスク依存):𝐞𝑡 = 𝑓𝑟𝑒𝑎𝑑 𝐜, 𝐬𝑡−1; 𝜃𝑟• Hidden state (LSTM): 𝐬𝑡−1 = 𝑓𝑠𝑡𝑎𝑡𝑒 𝐬𝑡−1, 𝐳𝑡 , 𝐞𝑡; 𝜃𝑠• 3D representation : 𝐡𝑡 = 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1; 𝜃𝑤

7

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

提案手法• 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1; 𝜃𝑤 = VST 𝑔1 𝐬𝑡 , 𝑔2 𝐬𝑡

• 𝑔1, 𝑔2はMLP

• 2D projection(レンダラ): ො𝐱 = Proj 𝐡𝑇 , 𝐬𝑇; 𝜃𝑝

• Observation : 𝐱~𝑝 𝐱 ො𝐱

8

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

提案手法

• 2D projection(レンダラ): ො𝐱 = Proj 𝐡𝑇 , 𝐬𝑇; 𝜃𝑝• 3D→3D

• ො𝐱 = 𝐡𝑇

• 3D→2D• VSTと3D conv.を用いて写像する.

• 3D(mesh)→2D• OpenGLのレンダラを用いて,ブラックボックスとみなす.

9

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

Volumetric Spatial Transformers

• Spatial transformers:空間的な変換のパラメータも学習• ST 𝐱, 𝐡 = 𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗ 𝐱

• 3次元に拡張させる• VST 𝐱, 𝐡 = 𝜅𝑑 𝐡 ⊗𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗ 𝐱

• 𝜅𝑑 , 𝜅ℎ , 𝜅𝑤は1次元のカーネル,⊗は3個のカーネルのテンソル積,∗は畳み込みを表す.

10

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

データセット

• Necker cubes: 40^3の空間中央に10^3のワイヤフレーム立方体をランダムな向きで置く

• Primitives: 30^3,基本的な立体(立方体,球,四角錐,円筒,カプセル,楕円体),位置と向きはランダム

• MNIST3D: 30^3,手書き文字MNISTを押し出して立体にしたもの

• ShapeNet: 3Dmeshのデータセット.30^3の2値データでレンダリングする.

11

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

実験

•生成時LSTMの隠れ層のニューロン300個,潜在変数10個

• Encoderはタスク毎に変えた.

•入力が• 画像:ConvolutionとST

• 立体:Volumetric Conv.とVST

•メッシュは次元が圧倒的に小さい→T=1に

12

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

実験

1. Generating volumes

2. Probabilistic volume completion and denoising

3. Conditional volume generation

4. Performance benchmarking

5. Multi-view training

6. Single-view training

13

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

1. Generating volumes

• Ground-truthな立体が利用できる場合

•単純なデータセット (primitive, MNIST3D) の場合,鮮明な立体が生成された

•複雑なデータ (ShapeNet)でも,細部まではっきりした結果

14

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

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

15

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

3. Conditional volume generation

• 𝐜にクラスのone-hot表現を与え,ShapeNetで学習

16

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

3. Conditional volume generation

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

17

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

4. Performance benchmarking

• Generation step数がパフォーマンスに大きく影響する.

•コンテクスト追加の影響は少ない.

18

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

5. Multi-view training

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

19

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

6. Single-view training•標準のブラックボックスなレンダラで学習する.

• 2D画像から3Dメッシュとその向きを推測する.

•メッシュは162個のベクトルで構成される.

20

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

議論

• 3D構造の表現• Volumes: 様々な物体を表現しやすいが,高次元だと計算的に高コスト

• Meshes: 低次元で計算がしやすいが,生成可能な物体は限定的

•他の表現方法を考える• NURBS

• 学習にvolume-to-mesh conversion algorithmを導入する.

21