[dl輪読会]unsupervised learning of 3d structure from images
TRANSCRIPT
DL輪読会:Unsupervised Learning of 3D
Structure from Images東京大学工学系研究科
システム創成学専攻修士1年
杉原祥太
書誌情報
• 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
概要
• 3D構造の生成モデルを作成した.• Ground-truthな3Dデータを学習させた場合,高品質なものが生成
• 2D画像から3D構造を推定
• 微分可能なレンダラを使って学習可能
•純粋な教師なし学習で3D構造が推定可能なことを示した.
3
背景
•我々の生活する空間は三次元である.• しかし,観測は一般的に二次元に投影した(眼,カメラ)画像を扱う.
•目標:二次元画像から本来の三次元物体に復元したい.
•難しい!• 不良設定問題
• 統計的モデルでは手に負えない
• 最適な3D表現が不明
• Ground-truthなデータセットを集めにくい
4
先行研究
• Traditional approaches• Inverse graphics
• Analysis-by-synthesis
• Heavily engineered visual featuresに頼る手法
• EncoderとDecoderに分離した学習において限界がある.
5
提案手法
• x: 訓練データ
• c: コンテクスト• (なし/クラス/一箇所以上のカメラからの画像)
• h: 推測したい3D表現
• z: 潜在変数
6
提案手法• K次元の潜在変数: 𝐳𝑡~𝑁 ⋅ |𝟎, 𝟏
• Encoding(タスク依存):𝐞𝑡 = 𝑓𝑟𝑒𝑎𝑑 𝐜, 𝐬𝑡−1; 𝜃𝑟• Hidden state (LSTM): 𝐬𝑡−1 = 𝑓𝑠𝑡𝑎𝑡𝑒 𝐬𝑡−1, 𝐳𝑡 , 𝐞𝑡; 𝜃𝑠• 3D representation : 𝐡𝑡 = 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1; 𝜃𝑤
7
提案手法• 𝑓𝑤𝑟𝑖𝑡𝑒 𝐬𝑡 , 𝐡𝑡−1; 𝜃𝑤 = VST 𝑔1 𝐬𝑡 , 𝑔2 𝐬𝑡
• 𝑔1, 𝑔2はMLP
• 2D projection(レンダラ): ො𝐱 = Proj 𝐡𝑇 , 𝐬𝑇; 𝜃𝑝
• Observation : 𝐱~𝑝 𝐱 ො𝐱
8
提案手法
• 2D projection(レンダラ): ො𝐱 = Proj 𝐡𝑇 , 𝐬𝑇; 𝜃𝑝• 3D→3D
• ො𝐱 = 𝐡𝑇
• 3D→2D• VSTと3D conv.を用いて写像する.
• 3D(mesh)→2D• OpenGLのレンダラを用いて,ブラックボックスとみなす.
9
Volumetric Spatial Transformers
• Spatial transformers:空間的な変換のパラメータも学習• ST 𝐱, 𝐡 = 𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗ 𝐱
• 3次元に拡張させる• VST 𝐱, 𝐡 = 𝜅𝑑 𝐡 ⊗𝜅ℎ 𝐡 ⊗𝜅𝑤 𝐡 ∗ 𝐱
• 𝜅𝑑 , 𝜅ℎ , 𝜅𝑤は1次元のカーネル,⊗は3個のカーネルのテンソル積,∗は畳み込みを表す.
10
データセット
• Necker cubes: 40^3の空間中央に10^3のワイヤフレーム立方体をランダムな向きで置く
• Primitives: 30^3,基本的な立体(立方体,球,四角錐,円筒,カプセル,楕円体),位置と向きはランダム
• MNIST3D: 30^3,手書き文字MNISTを押し出して立体にしたもの
• ShapeNet: 3Dmeshのデータセット.30^3の2値データでレンダリングする.
11
実験
•生成時LSTMの隠れ層のニューロン300個,潜在変数10個
• Encoderはタスク毎に変えた.
•入力が• 画像:ConvolutionとST
• 立体:Volumetric Conv.とVST
•メッシュは次元が圧倒的に小さい→T=1に
12
実験
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
1. Generating volumes
• Ground-truthな立体が利用できる場合
•単純なデータセット (primitive, MNIST3D) の場合,鮮明な立体が生成された
•複雑なデータ (ShapeNet)でも,細部まではっきりした結果
14
2. Probabilistic volume completion and denoising•マルコフ連鎖モンテカルロ法で立体の欠損部分を推定
15
3. Conditional volume generation
• 𝐜にクラスのone-hot表現を与え,ShapeNetで学習
16
3. Conditional volume generation
•一方向から見たときの画像をコンテクスト𝐜として与える.
17
4. Performance benchmarking
• Generation step数がパフォーマンスに大きく影響する.
•コンテクスト追加の影響は少ない.
18
5. Multi-view training
• 3個の定点カメラの画像をコンテクストにして学習させ,10個の別々の方向からの画像を生成.
19
6. Single-view training•標準のブラックボックスなレンダラで学習する.
• 2D画像から3Dメッシュとその向きを推測する.
•メッシュは162個のベクトルで構成される.
20
議論
• 3D構造の表現• Volumes: 様々な物体を表現しやすいが,高次元だと計算的に高コスト
• Meshes: 低次元で計算がしやすいが,生成可能な物体は限定的
•他の表現方法を考える• NURBS
• 学習にvolume-to-mesh conversion algorithmを導入する.
21