Upgrade to Pro — share decks privately, control downloads, hide ads and more …

三次元再構成(東京大学大学院 情報理工学系研究科『知能情報論』)

三次元再構成(東京大学大学院 情報理工学系研究科『知能情報論』)

東京大学大学院 情報理工学系研究科の授業『知能情報論』2024年第10回『三次元再構成』の講義資料です。

1. 三次元再構成とは
2. 3D表現,特にニューラル場
3. ニューラル場の最適化
4. 三次元再構成の学習
5. 発展的な話題
6. まとめ

リンク一覧
- p5. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p6. 首里城デジタル復元 https://www.our-shurijo.org/
- p6. [Tesla AI Day 2023] https://www.youtube.com/watch?v=ODSJsviD_SU
- p10. [Watercolor by Shibasaki] https://www.youtube.com/watch?v=WWq4PoM9jXw
- p16. [日本視覚学会, 2022] https://www.agu.ac.jp/~sakano/disparity.html
- p18. [Ranftl+ 2021] https://arxiv.org/abs/2103.13413
- p18. [Mescheder+ 2019] https://github.com/autonomousvision/occupancy_networks
- p19. [CROSS SPACE] https://vision.xspace.tokyo/3dcat/
- p19. [Julian Beever] https://www.julianbeever.net/
- p23. URL http://www.bilderzucht.de/blog/3d-pixel-voxel/
- p24. URL https://doc.cgal.org/latest/Orthtree/index.html
- p25. URL https://www.researchgate.net/figure/Point-representation-of-the-Stanford-bunny-model_fig2_224378716
- p26. URL http://www.gradientspace.com/tutorials/2017/8/30/mesh-simplification
- p27. URL https://arxiv.org/abs/1906.06751
- p28. [Mescheder+ 2019] https://arxiv.org/abs/1812.03828
- p30. [Oechsle+ 2019] https://arxiv.org/abs/1905.07259
- p30. [Srinivasan+ 2021] https://pratulsrinivasan.github.io/nerv/
- p30. [Niemeyer+ 2019] https://avg.is.mpg.de/publications/niemeyer2019iccv
- p32. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p32. [Xie+ 2021] https://arxiv.org/abs/2111.11426
- p33. [Chen & Wang 2024] https://arxiv.org/abs/2401.03890
- p34. [URL] https://lumalabs.ai/embed/6af6e301-1267-4c53-89e1-241a4cfd1b80?mode=sparkles&background=%23ffffff&color=%23000000&showTitle=true&loadBg=true&logoPosition=bottom-left&infoPosition=bottom-right&cinematicVideo=undefined&showMenu=false
- p35. Luma AI Featured Captures https://lumalabs.ai/featured
- p37. [Mescheder+ 2019] https://arxiv.org/abs/1812.03828
- p40. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p42. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p43. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p46. SSII 2020 https://docs.google.com/presentation/d/1nE4kiVJK3SMag93VBrUnt8vk5Pg18qYRMa4VS1yhYI4/edit#slide=id.p
- p46. VC 2021 https://docs.google.com/presentation/d/1YypYQHf4BhEAj8BmEgqCNx2NtQrVpOPF4osqvlL6_Bs/edit?usp=sharing
- p46. CVIM 2022-03 https://docs.google.com/presentation/d/1nbyUBucCTFP2-sVLFeo2gP76L3EJTImMFXLmV7OifxI/edit
- p46. CVIMチュートリアル(1) https://www.amazon.co.jp/dp/4320126017
- p47. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p48. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p49. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p50. [Li+ 2021] https://www.cs.cornell.edu/~zl548/NSFF/
- p51. [Martin-Brualla+ 2021] https://nerf-w.github.io/
- p52. [Tancik+ 2022] https://waymo.com/research/block-nerf/
- p53. [Yen-Chen+ 2021] https://yenchenlin.me/inerf/
- p54. [Gao+ 2020] https://arxiv.org/abs/2011.01437
- p55. [Wang+ 2021] https://lingjie0206.github.io/papers/NeuS/index.htm
- p55. [Oechsle+ 2021] https://arxiv.org/abs/2104.10078
- p55. [Yariv+ 2021] https://arxiv.org/abs/2106.12052
- p56. [Mildenhall+ 2020] https://www.matthewtancik.com/nerf
- p57. [Reiser+ 2021] https://github.com/creiser/kilonerf/
- p58. [Müller+ 2022] https://nvlabs.github.io/instant-ngp/
- p59. [Chabra+ 2020] https://arxiv.org/abs/2003.10983
- p60. [Yu+ 2022] https://alexyu.net/plenoxels/
- p61. [URL] https://towardsdatascience.com/a-comprehensive-overview-of-gaussian-splatting-e7d570081362
- p65. [Mescheder+ 2019] https://github.com/autonomousvision/occupancy_networks
- p66. [Kato & Harada 2019] https://arxiv.org/abs/1811.10719
- p68. URL http://www.cs.mun.ca/~omeruvia/philosophy/WireframeBunny.html
- p70. [Xiang+ 2014] https://cvgl.stanford.edu/projects/pascal3d.html
- p73. [Loper+ 2015] https://smpl.is.tue.mpg.de/
- p73. [Romero+ 2017] https://mano.is.tue.mpg.de/
- p74. [Pavlakos+ 2018] https://arxiv.org/abs/1808.02651
- p74. [Lassner+ 2017] https://arxiv.org/abs/1701.02468
- p74. [Wang+ 2020] https://arxiv.org/abs/2003.10873
- p75. [Baek+ 2019] https://arxiv.org/abs/1904.04196
- p75. [Zhang+ 2019] https://arxiv.org/abs/1902.09305
- p75. [Zimmermann+ 2019] https://arxiv.org/abs/1909.04349
- p76. [Nash+ 2020] https://arxiv.org/abs/2002.10880
- p76. [Groueix+ 2018] https://arxiv.org/abs/1802.05384
- p76. [Kato+ 2018] https://github.com/hiroharu-kato/neural_renderer
- p76. [Wang+ 2018] https://arxiv.org/abs/1804.01654
- p76. [Chen+ 2019] https://nv-tlabs.github.io/DIB-R/
- p76. [Kato+ 2018] https://github.com/hiroharu-kato/neural_renderer
- p76. [Kanazawa+ 2018] https://akanazawa.github.io/cmr/
- p77. [Niemeyer+ 2020] https://arxiv.org/abs/1912.07372
- p78. [Kato & Harada 2019] https://arxiv.org/abs/1811.10719
- p80. [Liu+ 2023] https://zero123.cs.columbia.edu/
- p84. 『Stable Diffusionで同じ顔の人物の画像を生成する方法』 https://bocek.co.jp/media/exercise/stable-diffusion/6075/
- p84. 『AIと3Dを利用したアニメ制作 統一性のある背景を様々なアングルから生成』 https://note.com/abubu_nounanka/n/nb5d60e9fc63f
- p84. 『構図の調整に使えるカメラアングルなどのワードまとめ』 https://blogcake.net/ai-angle/
- p87. [Or-El+ 2022] https://stylesdf.github.io/
- p87. [Wang+ 2023] https://ml.cs.tsinghua.edu.cn/prolificdreamer/
- p89-90. [Nguyen-Phuoc+ 2019] https://www.monkeyoverflow.com/hologan-unsupervised-learning-of-3d-representations-from-natural-images/
- p91. [Schwarz+ 2020] https://github.com/autonomousvision/graf
- p92. [Chan+ 2022] https://nvlabs.github.io/eg3d/
- p93. [Sargent+ 2023] https://kylesargent.github.io/vq3d
- p93. [Or-El+ 2022] https://stylesdf.github.io/
- p93. [Deng+ 2009] https://www.image-net.org/
- p94. [Kato & Harada 2019] https://arxiv.org/abs/1811.10719
- p95. [Sargent+ 2023] https://kylesargent.github.io/vq3d
- p96. [Poole 2023] https://dreamfusion3d.github.io/
- p97. [Poole 2023] https://dreamfusion3d.github.io/
- p97. [Wang+ 2023年5月] https://ml.cs.tsinghua.edu.cn/prolificdreamer/
- p98. [Shi+ 2024] https://mv-dream.github.io/
- p99. [Kobayashi+ 2022] https://pfnet-research.github.io/distilled-feature-fields/
- p100. [Kerr+ 2023] https://www.lerf.io/
- p101. SSIIチュートリアル『生成AIと3次元ビジョン』 https://speakerdeck.com/ssii/ssii2024-ts1-ikehata
- p105. https://hiroharu-kato.com/ https://hiroharu-kato.com/
- p105. 三次元構造を考慮した画像生成 https://docs.google.com/presentation/d/1eQUf-fKFj1o3lGxPGFxyqHZTYAl9k85XRg2BPE2F9nc/edit#slide=id.p
- p105. ニューラル3D表現の最新動向 https://docs.google.com/presentation/d/135VTaXJaESu4rDRLe_WbvSe4zq1__dFxBYI_7H3EjBI/edit#slide=id.g12d4f17af70_0_0
- p105. 微分可能レンダリング https://docs.google.com/presentation/d/1nbyUBucCTFP2-sVLFeo2gP76L3EJTImMFXLmV7OifxI/edit#slide=id.p
- p105. モダリティ変換と画像生成 https://www.slideshare.net/100001653434308/ssii-os2

Preferred Networks

June 12, 2024
Tweet

More Decks by Preferred Networks

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 ― 加藤⼤晴(かとうひろはる) - 2008 - 2012 ⼯学部 機械情報 卒業論⽂:

    異常発⾒ロボット - 2012 - 2014 情報理⼯ 知能機械 修⼠ 修⼠論⽂: 画像⽣成 - 2016 - 2020 情報理⼯ 知能機械 博⼠ 博⼠論⽂: 三次元再構成 - 2014 - 2018 ソニー (株) 本社研究開発 ⾳響信号処理 - 2018 - 20xx (株) Preferred Networks 三次元コンピュータビジョン #8
  2. 知能システムと学習データ #11 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E

    2): 数億枚 ネットを巡回するだけでは 限界に突き当たってしまう 実世界で,能動的にデータを収集するのが不可⽋ 書を捨てよ 町へ出よう
  3. 「常識」「経験」に基づく推論 #18 単眼深度推定: {画像, 深度} の学習データを使って `深度 = f(画像)`となる関数 f

    を学習 単⼀物体3D再構成: {画像, 3Dモデル} の学習データを使って `3Dモデル = f(画像)`となる関数 f を学習 …というような,シンプルな話だけには留まらない(後述) [Ranftl+ 2021] ⼊⼒ 推論された深度 ⼊⼒ 推論された3Dモデル [Mescheder+ 2019]
  4. ラスタ画像 - ピクセルが縦横に並んでいるデータ形式 - float pixels[H][W]; - c = I(x,

    y) で x, y が離散化されたものともいえる - 解像度が W x H のときメモリ使⽤量は O(WH) 再構成の前に… データ表現を考える #22 ⾊ 横 縦 それでは,3Dモデルはどう表現する?
  5. ボクセル ピクセルを3Dに拡張したもの float pixels[H][W]; float voxels[D][H][W]; ✔ 画像を認識‧⽣成する⽅法論 (CNN etc.)

    をほとんどそのまま使い回せる ✗ メモリ消費量が膨⼤で,解像度は2563くらいが限界 - シンプルな物体ひとつなら表せるが,それ以上はきびしい #23 [Image: URL] 1603 803 403 奥⾏き
  6. 点群 3Dシーンを点の集合で表現 float points[N][3]; ✔ ボクセルよりコンパクト - 3D空間全体ではなく,物体の表⾯ (2D的) だけを表現すればよい

    ✗ ⾯を表現できない → ⾊,反射,陰影を扱いにくい ✗ 深層学習で扱うのがやや難しい #25 [Image: URL] xyz 座標
  7. メッシュ 3Dシーンを三⾓形(多⾓形)の集合で表現 float vertices[N][3]; // 3D points int faces[M][3]; //

    Triangles ✔ とてもコンパクト - 表⾯全体に点を打つ必要はない ✗ よいメッシュを得るためには職⼈技が必要 - 頂点数はいくつか,どこに置くか,⾃⼰交差はないか,… ✗ 深層学習で扱うのはかなり難しい - グラフ構造をどう扱うか? #26 [Image: URL]
  8. 陰関数表現(⾮ニューラル) 3D座標 x,y,z と関数 f について,f (x, y, z) =

    0 となるところが物体の表⾯ ✔ とてもとてもコンパクト ✗ 形状の作成がとても難しい ✗ ⼀般に,表⾯の位置を陽に求められない - ⽅程式が解析的に解けない #27 [Figure: URL] 離散化されて いない
  9. ニューラル場 (Neural Field) 3D座標 p とニューラルネットワーク f について, f (p)

    が座標 p の3D情報 (モノがあるか,⾊,etc. ) を表す - e.g. f (p) = 1 のときモノの内部, f (p) = 0 のとき外部 - e.g. f (p) = 0 のときモノの表⾯(このとき前スライドと⼀致) #28 ボクセル 点群 メッシュ ニューラル場 [Mescheder+ 2019] 陰関数表現の⼀種で, 関数にNNを使ったもの
  10. ニューラル場: いろいろな形の表現 占有率: p が物体の中にある確率 = NN(p) 符号付き距離: p から物体の表⾯までの距離

    = NN(p) - 符号がマイナスのとき物体の中,プラスなら外,ゼロのとき表⾯ - 表⾯の位置が(確率的ではなく)明確なので,反射や影を扱いやすい 密度: レイが p を通るときにそこで物体にぶつかりそうな度合い = NN(p) - 雲や煙などの表現が得意だが,それ以外にも有⽤ - 半透明なものをうまく表現できる → 最適化しやすい #29 ≒ 光線 ぼんやりした状態から 徐々に形を作っていく
  11. ニューラル場: 形以外も表現できる テクスチャ: 点 p の⾊ = NN(p) マテリアル(反射特性): 点

    p のマテリアル = NN(p) シーンフロー: 時刻 t で p にある点の移動速度と向き = NN(p, t) #30 [Niemeyer+ 2019] [Oechsle+ 2019] [Srinivasan+ 2021]
  12. ニューラル3D表現の利点 3D空間内の点 p の3D情報 := NN(p) ✔ 省メモリかつ柔軟 - 任意の解像度,トポロジーが表現できる

    - 表現できる3D情報の精細さ ∝ NN の表現⼒ ≒ パラメータ数 - NN は形状が複雑なところの表現に多数のパラメータを使おうとする,はず ✔ 形状の⽣成が簡単 - 教師データ (e.g. 物体内部の点と外部の点の集合) を⽤いて NN を最適化するだけ ✔ 深層学習と組み合わせるのが簡単 - システム全体を NN で構成できる #31
  13. ニューラル場が決定打かと思われたが… 3D Gaussian Splatting [Kerbl+ 2023] - ニューラル場と同等程度の 3Dシーン表現キャパシティ (≒三次元再構成能⼒)

    - ニューラル場の10倍以上の描画速度 - 実装がシンプル #33 [Chen & Wang 2024] 発表から1年も経たないうちに 毎⽉数百件の後続論⽂が登場
  14. 3D表現の⽐較 #36 ボクセル 点群 メッシュ 陰関数 ニューラル場 3DGS 滑らかな表⾯ 苦⼿

    不可能 得意 得意 得意 得意 メモリ効率 悪い やや悪い よい よい ややよい ややよい 描画速度 速い 速い 速い 遅い 遅い 速い 既存ソフト 使いにくい 使いやすい 使いやすい 使いにくい 使いにくい これから 3D再構成 易しめ 易しめ 難しい 難しい 易しめ 易しめ 点群 + ニューラル場の 3D再構成⽅法(後述) 陰関数表現のNN版 映像制作‧ゲーム等で 使うならこれ
  15. 初期化 - ピクセルの色 y = 0 - レイがものに衝突していない確率 T =

    1 for i in 0 … inf 1. p i の密度 σ i と⾊ c i を NN から得る σ i = NN σ (p i ),c i = NN c (p i ) 2. 次のサンプリング点までの距離 δ i = p i+1 - p i を計算 3. 点 p i が不透明な(レイがぶつかる)確率 α i = 1 - exp(-σ i δ i ) を計算 4. ぶつかる率に⽐例して⾊を加算 y += T α i c i 5. レイが p i+1 に到達する確率を計算 T := T (1 - α i ) ニューラル場の描画: ピクセル⾊の決定 #43 p 0 p 1 p 2 ここから出発 前進していく ボリュームレンダリングという 密度が濃いほど 衝突しやすい [Mildenhall+ 2020]
  16. 微分可能レンダリング 描画関数が微分可能でないとNNを勾配法で最適化できない - 3Dモデル θ を描画(レンダリング)する関数 R について (∂R(θ)/∂θ) が計算できるとき

    R を微分可能レンダリングという - 数学⽤語の「微分可能」とは意味が異なる #44 視点情報 v その視点からの画 像 I y (v) NNを⽤いて描 画 観測画像 I t (v) 正解との違い ⼊⼒ 推論値 ⽬的関数 教師 最適化 微分可能な 描画関数 微分可能な 損失関数 誤差逆伝播可能と いうこと
  17. 登場する式 - σ i = NN σ (p i ),c

    i = NN c (p i ) - δ i = p i+1 - p i ,α i = 1 - exp(-σ i δ i ) - y += T α i c i ,T := T (1 - α i ) つまり,NN,四則演算,指数関数 ボリュームレンダリングは微分可能か #45 どれも,誤差逆伝播を妨げる計算 (離散的な選択など)ではない 素直に微分可能
  18. きわめて⾼性能な⾃由視点画像⽣成⼿法 - ⾃由視点画像⽣成: 与えられた視点 v に対する画像 I(v) を⽣成 - 点の⾊は⾒る向きによって異なってもよい,とモデル化することが特徴

    σ = NN σ (p), c = NN c (p, d) - 微分可能ボリュームレンダリングの有⽤性を知らしめたことも⼤きな貢献 Neural Radiance Field (NeRF) [Mildenhall+ 2020] #47 p の密度 (モノがありそう度) 3D座標 p の色 見ている向き よい3D形状を 求めるのは目的 ではない
  19. 動画への拡張 #50 [Li+ 2021] 静⽌した NeRF σ = NN σ

    (q) c = NN c (q, d) に加えて,その変形を最適化 q = NN q (p, t) 各フレームでの 3D座標 時刻 静止した空間 での3D座標 動画 https://www.cs.cornell.edu/~zl548/NSFF/
  20. レンダリング/最適化に時間がかかる - ブルドーザーの描画は1枚1分,最適化は4時間 (1GPU) - ブランデンブルク⾨の最適化は2⽇ (8GPUs) 形状が不正確 たくさんの視点からの画像が必要 -

    ブルドーザーは100枚,サンフランシスコは300万枚 NeRFの問題点 #54 [Gao+ 2020] ある点にモノがあるかは NN に 問い合わせないとわからない モノがありそう度の 閾値の決定が難しい
  21. ジオメトリの精緻化 #55 σ = NN σ (p) とすると,「モノがありそう度」から 表⾯の位置を求める閾値の設定が難しい NN

    の出⼒が「モノがありそう度」と 「SDF」(出⼒がゼロのところが表⾯) の 両⽅の役割を果たすようなパラメタ化を ⾏うことで,表⾯の位置を精緻に表現 [Wang+ 2021] ほか [Oechsle+ 2021] [Yariv+ 2021] p にモノがありそう度 ⼊⼒ NeRF NeRF+SDF
  22. NeRFの描画では,NNを何度も評価する必要があり,そこが重い y = NN(p) は,以下の処理から成るはず A. 座標の値 p をよい特徴表現に変換 B.

    それをデコードして3D情報 (密度 etc.) に変換 本当に重要なのはどちらか? そこをうまく作り込めば,NN のサイズを⼩さくできるのでは? ニューラル場の描画はなぜ重い? #56 [Mildenhall+ 2020] 11層
  23. レンダリングの⾼速化 (グリッド&ニューラル場) #57 シーンを⼤きな NN 1つで表すのではなく グリッドごとに⼩さな NN を持つことで 性能を落とさずレンダリングを2500倍⾼速化

    グリッドの併⽤は「座標の値 p を内部表現に変換」 する⼿間を低減することになる,はず (個⼈的な解釈) [Reiser+ 2021]
  24. 最適化の⾼速化 (グリッド&ハッシュ化&ニューラル場) #58 ハッシュ化とグリッドを駆使して p を前 処理することで NN を⼩さくでき,最適 化を4時間から5秒にまで⾼速化

    p を内部表現へ変換するプロセスを ⼈⼿で作り込んだものといえる [Müller+ 2022] 動画 https://nvlabs.github.io/instant-ngp/
  25. NeRF と同じくボリュームレンダリングするが, 透過度と⾊を NN に覚えさせるのではなく,陽に記録しておくところが異なる for i in 0 …

    inf 1. レイ上の i 番⽬のガウシアンの透過度 α i と⾊ c i を読み出す 2. ぶつかる率に⽐例して⾊を加算 y += T α i c i 3. レイが i + 1 番⽬のガウシアンに到達する確率を計算 T := T (1 - α i ) 各ガウシアンの透過度,⾊,位置,⼤きさ,傾きを勾配法で最適化する 3D Gaussian Splatting #61 NeRFと 同じ Figure from [URL]
  26. ここまでと対極の「単視点」「学習あり」の設定 - 幾何的な拘束条件を考慮する必要性があまりなく,技術的にシンプル ここから扱うタスク: 単視点物体再構成 #67 三次元再構成 深度/形状全体 視点 タスク例(学習なし)

    タスク例(学習あり) 深度 単視点 Shape-from-X 単眼深度推定 多視点 多視点ステレオ 学習ベース多視点ステレオ 形状全体 単視点 - 単視点物体再構成 多視点 多視点ステレオ 多視点物体再構成
  27. 多くの研究は ShapeNet データセットを利⽤ - 3Dモデル 55カテゴリ 約5万個 - ShapeNet にない物体カテゴリを扱うには?

    3D形状を用いた学習 #69 ShapeNet [Chang et al. 2015] 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E 2): 数億枚
  28. {2D画像, 3Dモデル} のデータの作成は - 専⾨的なスキルが必要になる - 専⾨家に依頼するとたいへんな 時間とお⾦がかかる 教師付き学習はデータセット作成が⼤変 #70

    似た形のものをデータベースから選び 画像にフィッティング [Xiang+ 2014] 3Dモデルを使わずに学習したい 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E 2): 数億枚
  29. 前章との⽐較 #72 3Dシーン 2D画像 評価値 最適化 描画 NNで表現 正解と⽐較 3Dシーン

    2D画像 評価値 最適化 描画 2D画像 三次元 再構成 NNで予測 ニューラル場の最適化 単視点三次元物体再構成の学習 「3Dシーンを表現するNN」ではなく 「2D画像を受け取り3Dシーンを出⼒するNN」を最適化 正解と⽐較
  30. 手のポーズの推定 #75 入力 シルエットを使わない 学習の結果 シルエット使用 [Baek+ 2019] ほか [Zhang+

    2019] [Zimmermann+ 2019] など 学習データとして「⼿のスケルトン」が ⼀般に使われているが,それは粗い情報 しか含まない 2D画像の⼿のシルエットを追加の 教師情報として⽤いることで性能向上
  31. 複雑な形状を球の頂点の位置を動かすことで⽣成可能 [Kato+ 2018] [Wang+ 2018] - だが,トポロジーが変えられない - 頂点の逐次的な⽣成 [Nash+

    2020], 張り⼦⽣成 [Groueix+ 2018], などもあるが, そもそもメッシュはこのタスクに不向き 複雑な形状の⽣成(メッシュ) #76 ⼊⼒ 出⼒ 3D形状,照明,テクスチャ 画像を推定するNN レンダリングした画像を⼊⼒画像と 近付ける,という基準で学習 [Chen+ 2019] ほか [Kato+ 2018] [Kanazawa+ 2018] など 3D再構成
  32. 複雑な形状の⽣成(ニューラル場) #77 ニューラル場を使うと,トポロジーや解像度に縛られずに再構成できる - `占有率 = NN(p)` とすると,特定の物体ひとつしか表せない - 形状コード

    z を導⼊し,`占有率 = NN(p, z)` として多様な形状を表現 3Dシーン 2D画像 描画 2D画像 三次元 再構成 z = NN(I) 占有率,色 = NN(p, z) 評価値 [Niemeyer+ 2020]
  33. 画像⽣成の「⼀貫性」問題 Text-to-image では,同じシーンを複数の構図で描くのが困難 - ⼈の顔が変わってしまう,服装や髪型なども⼀貫しない * 『Stable Diffusionで同じ顔の⼈物の画像を⽣成する⽅法』 - 背景に⼀貫性を持たせるのはさらに困難

    * 『AIと3Dを利⽤したアニメ制作 統⼀性のある背景を様々なアングルから⽣成』 - 構図のコントロールも難しい * 『構図の調整に使えるカメラアングルなどのワードまとめ』 → 映像作品など同⼀シーンの複数の画像から成るコンテンツには不向き #84
  34. そもそも画像はどうやって⽣成されるのか? #85 混沌 世界 写真 138億年 📷 撮影 ビッグバン 写真撮影

    ⼀般的な画像⽣成 ランダム ノイズ 画像 ⽣成ネットワーク “ノイズ除去” あなたの持っている写真は「ランダムノイズから沸いてきたもの」ではないはず そうではなく,カメラを構えて世界を切り取ったもの 画像⽣成に「カメラ」を導⼊ → 三次元構造を考慮した画像⽣成 (3D-aware image generation)
  35. 3次元世界の⽣成を経由した画像⽣成 #86 混沌 世界 写真 138億年 📷 撮影 ビッグバン 写真撮影

    ⼀般的な画像⽣成 ランダム ノイズ 画像 ⽣成ネットワーク “ノイズ除去” 3D-aware 画像⽣成 ランダム ノイズ 画像 世界 ⽣成 📷 撮影 カメラの導⼊によって同じシーンを複数の構図で描くことが容易に
  36. 3D⽣成 → 画像 → 敵対的⽣成ネットワーク (GAN) 3D-aware 画像⽣成のフレームワーク #88 ⽣成画像

    3Dモデル ⽣成NN 📷 撮影 判別器 ノイズ 視点 実画像 GAN 以下にバリエーションがある - 3Dモデルをどう表現‧⽣成するか - 撮影(レンダリング)をどう⾏うか - 視点をどう与えるか
  37. HoloGAN [Nguyen-Phuoc+ 2019] - 3Dモデル → 特徴ボクセル - 生成NN →

    3D CNN - 撮影 → 特徴ボクセルを2Dに投影して CNN で高解像度化&画像化 最初期の 3D-aware 画像⽣成 #89 ⽣成画像 特徴ボクセル 3D CNN 2D投影 + 2D CNN ノイズ 視点
  38. より多様なデータセット ― 課題 [Sargent+ 2023] #93 既存⼿法の多くは以下を仮定 - カメラの位置‧向きの分布がほぼ既知 -

    物体がほぼ同じ位置‧⼤きさで写っている → 多カテゴリの画像集合では学習できない [Or-El+ 2022] ImageNet [Deng+ 2009]
  39. より多様なデータセット ― アプローチ [Sargent+ 2023] #94 画像⼊⼒から「正⾯から撮影すると元画像と同じ」「少し視点を変えて撮影しても 本物の画像に⾒える」3Dモデルを⽣成するNN を GAN

    の枠組みで学習 ⼊⼒画像 画像 NeRF ⽣成NN 📷 撮影 (正⾯) 再構成誤差 潜在空間 予測NN 適当な画像 📷 撮影 (少し斜め) 画像 判別器 これがないと3Dモデルは 何でもアリになってしまう ※ メインアイディアは [Kato & Harada 2019] と類似
  40. 類似した枠組みで「⾔語指⽰を元に3Dモデルを⽣成する」取り組みも盛ん ⾔語指⽰で3Dモデル⽣成 [Poole 2023] #96 ⽣成画像 3Dモデル NN 📷 撮影

    訓練済み拡散モデルに よる「⾃然さ」 ノイズ 視点 ⾔語指⽰ 最適化 「それっぽい画像になっているかどうか」を 画像⽣成モデルに教えてもらうことができる
  41. 発展的な話題 まとめ 三次元再構成に関連する,注⽬のトピックを紹介 - 3D構造を考慮した画像⽣成 - ⽂章⼊⼒による3Dモデル⽣成 - 3D空間への⾔語情報の埋め込み これらはどれも,以下が鍵になっている

    - ニューラル場と微分可能レンダリング - 巨⼤データセットで獲得した画像⽣成‧⾔語理解モデル #101 この領域の最先端情報 → SSIIチュートリアル『⽣成AIと3次元ビジョン』 (NII/東⼯⼤ 池畑先⽣) 昨⽇! あっ、これ やったやつだ
  42. 三次元再構成のおもしろさ 1. ディープラーニングでポン,では解きにくい a. 幾何的な拘束条件,反射特性モデル,etc. b. 逆コンピュータグラフィクス c. 「常識」をどこから獲得し,どう活⽤していくか 2.

    「三次元」の難しさ a. ⾔語 (1D) や画像 (2D) より,計算‧メモリの削減に⼯夫が必要 3. 実応⽤への近さ a. エンタメ: 映像制作,ゲーム b. 知的情報処理: ⾃動運転,ロボット #103 Waterfall (M. C. Escher)
  43. 連絡先,関連資料 - Web: https://hiroharu-kato.com/ - メール: [email protected] - 関連スライド -

    三次元構造を考慮した画像⽣成 (情報処理学会 連続セミナー2023) - ニューラル3D表現の最新動向 (SSII 2022) - 微分可能レンダリング (CVIMチュートリアル 2022) - モダリティ変換と画像⽣成 (SSII 2018) #105