Slide 1

Slide 1 text

東京⼤学⼤学院 情報理⼯学系研究科 知能情報論 三次元再構成 Preferred Networks 加藤 ⼤晴

Slide 2

Slide 2 text

東京⼤学⼤学院 情報理⼯学系研究科 知能情報論 三次元再構成 2024-06-13 加藤 ⼤晴 (Preferred Networks) 2

Slide 3

Slide 3 text

Speaker Deck へのアップロードにあたって - リンク類はすべて説明欄に記載しています - 動画はURLに置き換えています #3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

三次元再構成とは 画像から三次元形状を推定する,コンピュータビジョンのタスク #5 1枚以上の写真 (2Dデータ) ⽴体的なモデル (3Dデータ) Image from [Mildenhall+ 2020]

Slide 6

Slide 6 text

三次元再構成とは - 「再構成」? → 写真は2Dだが,世界はもともと3Dだから - 三次元復元,3Dスキャンとも呼ばれる #6 ⾸⾥城デジタル復元 ⾃動運転 [Tesla AI Day 2023]

Slide 7

Slide 7 text

知能システム…? - 機械学習: すべての基礎,本質的‧普遍的 - ⾔語理解‧⽣成: まさに知能,⾔語が思考の限界を決定,社会を変える⾰新技術 - 画像理解‧⽣成: 脳の⼤部分は視覚情報処理,実応⽤多数,機械とアート - 三次元再構成: 聞いたことない,地味,AIと関係なくない? → 知能システム構築の基盤技術,⾼度な知能が必要 #7

Slide 8

Slide 8 text

⾃⼰紹介 ― 加藤⼤晴(かとうひろはる) - 2008 - 2012 ⼯学部 機械情報 卒業論⽂: 異常発⾒ロボット - 2012 - 2014 情報理⼯ 知能機械 修⼠ 修⼠論⽂: 画像⽣成 - 2016 - 2020 情報理⼯ 知能機械 博⼠ 博⼠論⽂: 三次元再構成 - 2014 - 2018 ソニー (株) 本社研究開発 ⾳響信号処理 - 2018 - 20xx (株) Preferred Networks 三次元コンピュータビジョン #8

Slide 9

Slide 9 text

⾃⼰紹介 ― 加藤⼤晴(かとうひろはる) #9 修⼠論⽂ ⼈が絵を描くときには, まず3Dシーンを思い 浮かべるのでは…? 4⽉11⽇の講義資料 三次元理解の研究に着⼿

Slide 10

Slide 10 text

余談: 画像⽣成プロセスのいろいろ #10 拡散モデル 画家 [Watercolor by Shibasaki] 写真撮影

Slide 11

Slide 11 text

知能システムと学習データ #11 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E 2): 数億枚 ネットを巡回するだけでは 限界に突き当たってしまう 実世界で,能動的にデータを収集するのが不可⽋ 書を捨てよ 町へ出よう

Slide 12

Slide 12 text

ロボットが町に出たとして, - ものにぶつからずに歩き回るには… - 階段を上るには… - ドアを開けるには… - 地図を⾒ながら道を選ぶには… 実世界での能動的なデータ収集(ロボット) #12 周囲やものの三次元構造の理解が必要 ⼤変!!

Slide 13

Slide 13 text

⾃動運転⾞の安全性の向上には,多種多様なシーンのデータが必要 - いろいろな国, - いろいろな天候, - いろいろな時間帯, - いろいろな道路状況, 実世界での能動的なデータ収集(⾃動運転⾞) #13 ⾃動運転⾞でデータを収集したい ⾃動運転には,周囲の三次元構造の理解が必須

Slide 14

Slide 14 text

実世界データの収集が難しい稀なケースには,シミュレータが有⽤ - e.g. 交通事故,クルマが逆⾛ - e.g. 乾燥地帯に⾬,⽇蝕が発⽣ シミュレータを構築するには - 実世界の3Dデータ化(デジタルツイン) - 舞台セット,⼩道具などの3Dモデル シミュレータを使った⾃律エージェントの訓練 #14 三次元再構成や三次元モデル⽣成が必要

Slide 15

Slide 15 text

ここまでのまとめ #15 三次元再構成 知能システム 三次元再構成は,知能システムの構築のために重要 - 実世界データを収集する⾃律エージェントの動作のために - 知能システムを訓練するためのシミュレータの構築のために

Slide 16

Slide 16 text

Q. ひとはなぜ三次元構造がわかる? #16 [⽇本視覚学会, 2022] 両眼⽴体視(ステレオビジョン): 奥⾏きの違いによって左右の眼で 網膜への映り⽅に差が出るため, それを⼿がかりにして奥⾏きを 求めることができる

Slide 17

Slide 17 text

両眼⽴体視だけが⼿がかりか? #17 Q. じゃあ,⽚⽬を閉じたらわからなくなる? → ならないですよね → でも,今まで両⽬で⾒ていたから/知っている場所だからわかるのかも Q. じゃあ,「⼀眼」カメラの写真からは奥⾏きがわからない? → わかりますよね → でも,写真そのものには奥⾏きの情報は記録されていないはず… ひとは三次元構造を「推論」している(知的情報処理!)

Slide 18

Slide 18 text

「常識」「経験」に基づく推論 #18 単眼深度推定: {画像, 深度} の学習データを使って `深度 = f(画像)`となる関数 f を学習 単⼀物体3D再構成: {画像, 3Dモデル} の学習データを使って `3Dモデル = f(画像)`となる関数 f を学習 …というような,シンプルな話だけには留まらない(後述) [Ranftl+ 2021] ⼊⼒ 推論された深度 ⼊⼒ 推論された3Dモデル [Mescheder+ 2019]

Slide 19

Slide 19 text

余談: 「推論」のバグを突く #19 [CROSS SPACE] [Julian Beever]

Slide 20

Slide 20 text

ここまでのまとめ #20 三次元再構成 知能システム 三次元再構成は,知能システムの構築のために重要 三次元再構成のためには,知能システムが必要 - 「常識」「経験」から推論(学習ベース三次元再構成) - 学習ベースでない三次元再構成も盛ん 本⽇の主題

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

ラスタ画像 - ピクセルが縦横に並んでいるデータ形式 - float pixels[H][W]; - c = I(x, y) で x, y が離散化されたものともいえる - 解像度が W x H のときメモリ使⽤量は O(WH) 再構成の前に… データ表現を考える #22 ⾊ 横 縦 それでは,3Dモデルはどう表現する?

Slide 23

Slide 23 text

ボクセル ピクセルを3Dに拡張したもの float pixels[H][W]; float voxels[D][H][W]; ✔ 画像を認識‧⽣成する⽅法論 (CNN etc.) をほとんどそのまま使い回せる ✗ メモリ消費量が膨⼤で,解像度は2563くらいが限界 - シンプルな物体ひとつなら表せるが,それ以上はきびしい #23 [Image: URL] 1603 803 403 奥⾏き

Slide 24

Slide 24 text

階層的ボクセル (octree) 細かく表現したいところだけボクセルを分割 ✔ ⾼解像度の表現が可能 ✗ ⽣成/管理が複雑 ✗ 深層学習との相性の良さが失われる #24 [Image: URL]

Slide 25

Slide 25 text

点群 3Dシーンを点の集合で表現 float points[N][3]; ✔ ボクセルよりコンパクト - 3D空間全体ではなく,物体の表⾯ (2D的) だけを表現すればよい ✗ ⾯を表現できない → ⾊,反射,陰影を扱いにくい ✗ 深層学習で扱うのがやや難しい #25 [Image: URL] xyz 座標

Slide 26

Slide 26 text

メッシュ 3Dシーンを三⾓形(多⾓形)の集合で表現 float vertices[N][3]; // 3D points int faces[M][3]; // Triangles ✔ とてもコンパクト - 表⾯全体に点を打つ必要はない ✗ よいメッシュを得るためには職⼈技が必要 - 頂点数はいくつか,どこに置くか,⾃⼰交差はないか,… ✗ 深層学習で扱うのはかなり難しい - グラフ構造をどう扱うか? #26 [Image: URL]

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

ニューラル場 (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を使ったもの

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

ニューラル場: 形以外も表現できる テクスチャ: 点 p の⾊ = NN(p) マテリアル(反射特性): 点 p のマテリアル = NN(p) シーンフロー: 時刻 t で p にある点の移動速度と向き = NN(p, t) #30 [Niemeyer+ 2019] [Oechsle+ 2019] [Srinivasan+ 2021]

Slide 31

Slide 31 text

ニューラル3D表現の利点 3D空間内の点 p の3D情報 := NN(p) ✔ 省メモリかつ柔軟 - 任意の解像度,トポロジーが表現できる - 表現できる3D情報の精細さ ∝ NN の表現⼒ ≒ パラメータ数 - NN は形状が複雑なところの表現に多数のパラメータを使おうとする,はず ✔ 形状の⽣成が簡単 - 教師データ (e.g. 物体内部の点と外部の点の集合) を⽤いて NN を最適化するだけ ✔ 深層学習と組み合わせるのが簡単 - システム全体を NN で構成できる #31

Slide 32

Slide 32 text

ニューラル3D表現の広まり - CVPR 2019で同アイディアの論⽂が3本同時に発表 - NeRF [Mildenhall+ 2020] で採⽤されてさらに話題に - 後続論⽂が指数的に増加中 #32 [Xie+ 2021] 体感では,このあと さらに伸びている

Slide 33

Slide 33 text

ニューラル場が決定打かと思われたが… 3D Gaussian Splatting [Kerbl+ 2023] - ニューラル場と同等程度の 3Dシーン表現キャパシティ (≒三次元再構成能⼒) - ニューラル場の10倍以上の描画速度 - 実装がシンプル #33 [Chen & Wang 2024] 発表から1年も経たないうちに 毎⽉数百件の後続論⽂が登場

Slide 34

Slide 34 text

3D Gaussian Splatting (3DGS) 3Dシーンを,3Dガウス分布(≒ぼんやりした球)の集合で表現 - 点群に⼤きさを持たせ,半透明にしたものともいえる #34 Image from [URL] ⾼精細3Dモデルに ⾒えるが, 実はほぼ点群

Slide 35

Slide 35 text

3D Gaussian Splatting (3DGS) 3Dシーンを,3Dガウス分布(≒ぼんやりした球)の集合で表現 - 点群に⼤きさを持たせ,半透明にしたものともいえる - Luma AI Featured Captures #35

Slide 36

Slide 36 text

3D表現の⽐較 #36 ボクセル 点群 メッシュ 陰関数 ニューラル場 3DGS 滑らかな表⾯ 苦⼿ 不可能 得意 得意 得意 得意 メモリ効率 悪い やや悪い よい よい ややよい ややよい 描画速度 速い 速い 速い 遅い 遅い 速い 既存ソフト 使いにくい 使いやすい 使いやすい 使いにくい 使いにくい これから 3D再構成 易しめ 易しめ 難しい 難しい 易しめ 易しめ 点群 + ニューラル場の 3D再構成⽅法(後述) 陰関数表現のNN版 映像制作‧ゲーム等で 使うならこれ

Slide 37

Slide 37 text

ここまでのまとめ #37 3Dモデルをコンピュータで扱うための,さまざまな表現形式がある ニューラル場と3DGSが流⾏中 - 省メモリ,⾼精細,3D再構成が⽐較的容易 次章: 観測データから,ニューラル場をどう得るか? ボクセル 点群 メッシュ ニューラル場 [Mescheder+ 2019]

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

ニューラル場の教師付き学習 ニューラル場に変換したい3Dモデルを持っているとき, それを直に教師データとして⽤いて NN を最適化すればよい ✔ シンプルな教師付き学習 ✗ 現実的に「3Dモデルを持っている」ことは稀 #39 3次元座標 p p が物体の内部 である確率 σ y (p) NN 正解ラベル σ t (p) 正解との違い ⼊⼒ 推論値 ⽬的関数 教師 最適化

Slide 40

Slide 40 text

画像からニューラル場を最適化 #40 観測画像 (2D) カメラパラメータ ほしいもの (3D) [Mildenhall+ 2020]

Slide 41

Slide 41 text

画像からニューラル場を最適化 複数視点からの写真があるとき,視点の情報を既知として, ニューラル場を描画した画像と,写真が合うように NN を最適化 (三次元再構成) #41 視点情報 v その視点からの 画像 I y (v) NNを⽤いて 描画 観測画像 I t (v) 正解との違い ⼊⼒ 推論値 ⽬的関数 教師 最適化

Slide 42

Slide 42 text

1. 訓練画像からピクセルを選ぶ 2. カメラから出発し,そのピクセルを通るレイ(直線)上で,たくさんの点を適当に選び その点にモノがありそうか,その点の色を NN に問い合わせる 3. カメラから出発してピクセルに向かって進んでいくとき どのあたりでモノにぶつかるか,の確率分布を計算する 4. それをもとにピクセルの色の期待値を計算 5. 全ピクセルの色を (1--4) で決定する ニューラル場の描画: 概要 #42 ピクセル 視点 サンプル点 レイ [Mildenhall+ 2020]

Slide 43

Slide 43 text

初期化 - ピクセルの色 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]

Slide 44

Slide 44 text

微分可能レンダリング 描画関数が微分可能でないとNNを勾配法で最適化できない - 3Dモデル θ を描画(レンダリング)する関数 R について (∂R(θ)/∂θ) が計算できるとき R を微分可能レンダリングという - 数学⽤語の「微分可能」とは意味が異なる #44 視点情報 v その視点からの画 像 I y (v) NNを⽤いて描 画 観測画像 I t (v) 正解との違い ⼊⼒ 推論値 ⽬的関数 教師 最適化 微分可能な 描画関数 微分可能な 損失関数 誤差逆伝播可能と いうこと

Slide 45

Slide 45 text

登場する式 - σ 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 どれも,誤差逆伝播を妨げる計算 (離散的な選択など)ではない 素直に微分可能

Slide 46

Slide 46 text

微分可能レンダリング 微分可能でないレンダリングもたくさんある 加藤の講演資料: SSII 2020, VC 2021, CVIM 2022-03 書籍: CVIMチュートリアル(1) 第4章 #46

Slide 47

Slide 47 text

きわめて⾼性能な⾃由視点画像⽣成⼿法 - ⾃由視点画像⽣成: 与えられた視点 v に対する画像 I(v) を⽣成 - 点の⾊は⾒る向きによって異なってもよい,とモデル化することが特徴 σ = NN σ (p), c = NN c (p, d) - 微分可能ボリュームレンダリングの有⽤性を知らしめたことも⼤きな貢献 Neural Radiance Field (NeRF) [Mildenhall+ 2020] #47 p の密度 (モノがありそう度) 3D座標 p の色 見ている向き よい3D形状を 求めるのは目的 ではない

Slide 48

Slide 48 text

NeRFによる⾃由視点画像⽣成 #48 観測画像 観測にない視点から レンダリング NNを最適化 [Mildenhall+ 2020]

Slide 49

Slide 49 text

NeRFによる⾃由視点画像⽣成 #49 視点によって ⾒え⽅が変わる [Mildenhall+ 2020] 動画: https://www.matthewtancik.com/nerf

Slide 50

Slide 50 text

動画への拡張 #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/

Slide 51

Slide 51 text

- 定常的なものと⼀時的なもの(観光客など)の2種類の NeRF を同時学習 - 画像ごとに少し⾒え⽅が変わってもよい,とする 撮影条件が揃っていない写真からのNeRF #51 [Martin-Brualla+ 2021] 動画 https://nerf-w.github.io/

Slide 52

Slide 52 text

街のNeRF #52 [Tancik+ 2022] 動画 https://waymo.com/research/block-nerf/

Slide 53

Slide 53 text

カメラポーズの最適化 #53 [Yen-Chen+ 2021] SKIP

Slide 54

Slide 54 text

レンダリング/最適化に時間がかかる - ブルドーザーの描画は1枚1分,最適化は4時間 (1GPU) - ブランデンブルク⾨の最適化は2⽇ (8GPUs) 形状が不正確 たくさんの視点からの画像が必要 - ブルドーザーは100枚,サンフランシスコは300万枚 NeRFの問題点 #54 [Gao+ 2020] ある点にモノがあるかは NN に 問い合わせないとわからない モノがありそう度の 閾値の決定が難しい

Slide 55

Slide 55 text

ジオメトリの精緻化 #55 σ = NN σ (p) とすると,「モノがありそう度」から 表⾯の位置を求める閾値の設定が難しい NN の出⼒が「モノがありそう度」と 「SDF」(出⼒がゼロのところが表⾯) の 両⽅の役割を果たすようなパラメタ化を ⾏うことで,表⾯の位置を精緻に表現 [Wang+ 2021] ほか [Oechsle+ 2021] [Yariv+ 2021] p にモノがありそう度 ⼊⼒ NeRF NeRF+SDF

Slide 56

Slide 56 text

NeRFの描画では,NNを何度も評価する必要があり,そこが重い y = NN(p) は,以下の処理から成るはず A. 座標の値 p をよい特徴表現に変換 B. それをデコードして3D情報 (密度 etc.) に変換 本当に重要なのはどちらか? そこをうまく作り込めば,NN のサイズを⼩さくできるのでは? ニューラル場の描画はなぜ重い? #56 [Mildenhall+ 2020] 11層

Slide 57

Slide 57 text

レンダリングの⾼速化 (グリッド&ニューラル場) #57 シーンを⼤きな NN 1つで表すのではなく グリッドごとに⼩さな NN を持つことで 性能を落とさずレンダリングを2500倍⾼速化 グリッドの併⽤は「座標の値 p を内部表現に変換」 する⼿間を低減することになる,はず (個⼈的な解釈) [Reiser+ 2021]

Slide 58

Slide 58 text

最適化の⾼速化 (グリッド&ハッシュ化&ニューラル場) #58 ハッシュ化とグリッドを駆使して p を前 処理することで NN を⼩さくでき,最適 化を4時間から5秒にまで⾼速化 p を内部表現へ変換するプロセスを ⼈⼿で作り込んだものといえる [Müller+ 2022] 動画 https://nvlabs.github.io/instant-ngp/

Slide 59

Slide 59 text

ボクセルの併⽤によるシーン表現の効率化 #59 シーンをグリッド状に配置されたプリミティブの集合として表すことで 効率的かつ⾼精度に3D形状を表現できる - 各プリミティブはニューラル場で表す [Chabra+ 2020]

Slide 60

Slide 60 text

疎で⾼解像度のボクセルを使えば,そもそも NN を⼀切使わなくてもよい - NeRFと同程度の性能 - 最適化が100倍くらい⾼速 疎なボクセル,NNなし #60 [Yu+ 2022] 正解 NeRF++ Plenoxels (No NN)

Slide 61

Slide 61 text

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]

Slide 62

Slide 62 text

最適化を⼯夫しないと,よい解に到達できない - 位置と⾊の初期値は,点群三次元再構成の既存⼿法で得る - 最適化中に,ガウシアンをヒューリスティックに分割‧削除する つまり,3DGSとは,以下のように解釈できる - 陽な表現(点群‧メッシュ)の利点である描画速度の速さを活かしつつ, - ボリュームレンダリングと最適化時の⼯夫によって最適化を容易に 3D Gaussian Splatting の⼯夫 #62 点群‧メッシュ ニューラル場 3DGS 描画速度 速い 遅い やや速い 勾配法による最適化 難しい 易しめ やや易しめ

Slide 63

Slide 63 text

ニューラル場の最適化 まとめ レンダリングを経由して写真と合うように最適化 - ボリュームレンダリングを使うと良い解に到達しやすい 動きの表現,広域シーン,カメラ最適化など,さまざまな拡張がある 3DGSはNeRFと点群のハイブリッドな形式といえる 実⽤的なのか - ⾼精細とはいえ,まだ⼈⼿での⼿直しが必要なクオリティ - 映像制作ツールやゲームエンジンなどの,既存ツールで読み込みにくい #63

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

三次元再構成の学習 ここまでの内容 - 知能システムと三次元再構成の相互関係 - さまざまな3D表現,特にニューラル3D場 - 多視点画像をもとにニューラル3D場を最適化する⽅法 まだ触れられていないこと - 「常識」「経験」に基づく推論 → 機械学習を活⽤した三次元再構成 #65 ⼊⼒ 推論された3Dモデル [Mescheder+ 2019]

Slide 66

Slide 66 text

1. ⾒えている⾯の深度推定か,⾒えない部分も含めた推定か 2. 多視点からの推定か,単視点からの推定か 三次元理解の分類 #66 深度推定 3D物体再構成 多視点画像からの3D再構成 Image: [Agarwal et al. 2009] [Kato & Harada 2019]

Slide 67

Slide 67 text

ここまでと対極の「単視点」「学習あり」の設定 - 幾何的な拘束条件を考慮する必要性があまりなく,技術的にシンプル ここから扱うタスク: 単視点物体再構成 #67 三次元再構成 深度/形状全体 視点 タスク例(学習なし) タスク例(学習あり) 深度 単視点 Shape-from-X 単眼深度推定 多視点 多視点ステレオ 学習ベース多視点ステレオ 形状全体 単視点 - 単視点物体再構成 多視点 多視点ステレオ 多視点物体再構成

Slide 68

Slide 68 text

画像から3Dモデルを推定する NN を考える 素直な⽅法は {2D画像, 3Dモデル} の学習データを⽤いた教師付き学習 教師付き学習による3D推定 #68 予測された 3Dモデル 2D画像 NNなど 予測誤差 正解の 3Dモデル 誤差が⼩さくなる ように最適化 Image: URL

Slide 69

Slide 69 text

多くの研究は ShapeNet データセットを利⽤ - 3Dモデル 55カテゴリ 約5万個 - ShapeNet にない物体カテゴリを扱うには? 3D形状を用いた学習 #69 ShapeNet [Chang et al. 2015] 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E 2): 数億枚

Slide 70

Slide 70 text

{2D画像, 3Dモデル} のデータの作成は - 専⾨的なスキルが必要になる - 専⾨家に依頼するとたいへんな 時間とお⾦がかかる 教師付き学習はデータセット作成が⼤変 #70 似た形のものをデータベースから選び 画像にフィッティング [Xiang+ 2014] 3Dモデルを使わずに学習したい 良い性能には巨⼤データが必要 - ⾔語モデル (GPT-3): 数千億⽂字 - 画像⽣成モデル (DALL·E 2): 数億枚

Slide 71

Slide 71 text

レンダリングを介することで2D画像を教師データとして使うことができる 学習データ = {物体をいろいろな視点から⾒た画像, レンダリングのためのカメラ情報} 予測された 2D画像 そこで微分可能レンダリング 予測された 3Dモデル 予測誤差 正解の2D画像 2D画像 NN レンダリング 学習データを作成するコストが下がる 正解の3Dモデル 予測誤差 #71

Slide 72

Slide 72 text

前章との⽐較 #72 3Dシーン 2D画像 評価値 最適化 描画 NNで表現 正解と⽐較 3Dシーン 2D画像 評価値 最適化 描画 2D画像 三次元 再構成 NNで予測 ニューラル場の最適化 単視点三次元物体再構成の学習 「3Dシーンを表現するNN」ではなく 「2D画像を受け取り3Dシーンを出⼒するNN」を最適化 正解と⽐較

Slide 73

Slide 73 text

3D構造を推定するNNが簡単に設計できるとカンタン - 例: ⾝体や⼿については,いくつかのパラメータを受け取り形状‧ポーズを出 ⼒するモデルが広く⽤いられている パラメトリック形状モデル #73 MANO hand model [Romero+ 2017] SMPL body model [Loper+ 2015] NNはそのパラメータを予測すればよい

Slide 74

Slide 74 text

身体の3D再構成 #74 キーポイントと シルエットを推定 人体モデルの変形 パラメータの推定 レンダリングして 合っているかを確認 [Pavlakos+ 2018] ほか [Lassner+ 2017] [Wang+ 2020] など

Slide 75

Slide 75 text

手のポーズの推定 #75 入力 シルエットを使わない 学習の結果 シルエット使用 [Baek+ 2019] ほか [Zhang+ 2019] [Zimmermann+ 2019] など 学習データとして「⼿のスケルトン」が ⼀般に使われているが,それは粗い情報 しか含まない 2D画像の⼿のシルエットを追加の 教師情報として⽤いることで性能向上

Slide 76

Slide 76 text

複雑な形状を球の頂点の位置を動かすことで⽣成可能 [Kato+ 2018] [Wang+ 2018] - だが,トポロジーが変えられない - 頂点の逐次的な⽣成 [Nash+ 2020], 張り⼦⽣成 [Groueix+ 2018], などもあるが, そもそもメッシュはこのタスクに不向き 複雑な形状の⽣成(メッシュ) #76 ⼊⼒ 出⼒ 3D形状,照明,テクスチャ 画像を推定するNN レンダリングした画像を⼊⼒画像と 近付ける,という基準で学習 [Chen+ 2019] ほか [Kato+ 2018] [Kanazawa+ 2018] など 3D再構成

Slide 77

Slide 77 text

複雑な形状の⽣成(ニューラル場) #77 ニューラル場を使うと,トポロジーや解像度に縛られずに再構成できる - `占有率 = NN(p)` とすると,特定の物体ひとつしか表せない - 形状コード z を導⼊し,`占有率 = NN(p, z)` として多様な形状を表現 3Dシーン 2D画像 描画 2D画像 三次元 再構成 z = NN(I) 占有率,色 = NN(p, z) 評価値 [Niemeyer+ 2020]

Slide 78

Slide 78 text

画像再構成だけを基準に学習すると, 他の視点から⾒ると正しくない,という解が得られやすい 画像を教師とする難しさ: 形状の曖昧さ #78 ⼊⼒ 解1 解2 いろいろな⾓度から⾒ても「ちゃんとしている」か という規準が必要

Slide 79

Slide 79 text

曖昧さの制約: 敵対的ネットワーク #79 「これらを⾒分けられるようなNN」を訓練し, 3D再構成は「そのNNが⾒分けられなくなるように」学習 (画像⽣成の敵対的訓練と同様の枠組み) ⼊⼒ 予測 (⼊⼒と同じ視点) 予測 (⼊⼒と異なる視点) 入力 敵対的訓練なし 敵対的訓練あり [Kato & Harada 2019]

Slide 80

Slide 80 text

曖昧さの制約: 拡散モデル #80 画像⽣成拡散 モデルを訓練 「⼊⼒画像の視点を変えた画像」を ⽣成できるようにCGで追加訓練 視点を変えた画像を 三次元再構成のヒントとして使⽤ 入力 出力 拡散モデルの強⼒な画像⽣成能⼒を活かすことで, 学習データに存在しない物体カテゴリも再構成可能 [Liu+ 2023]

Slide 81

Slide 81 text

単視点 三次元再構成 まとめ 3Dの学習データの収集は困難で,2D画像の活⽤が鍵 「形状を推定するNN」の設計に⾃由度がある - ⼀般的な形状ならニューラル場 - ⼈の⾝体や⼿などでは,特化した形状⽣成モデル 2D画像の教師データには,形状の曖昧さという問題がある - 「再構成したものを,いろいろな視点から⾒て判断」という観点が有⽤ #81

Slide 82

Slide 82 text

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

Slide 83

Slide 83 text

発展的な話題 1. 3D構造を考慮した画像⽣成 2. ⽂章⼊⼒による3Dモデル⽣成 3. 3D空間への⾔語情報の埋め込み #83

Slide 84

Slide 84 text

画像⽣成の「⼀貫性」問題 Text-to-image では,同じシーンを複数の構図で描くのが困難 - ⼈の顔が変わってしまう,服装や髪型なども⼀貫しない * 『Stable Diffusionで同じ顔の⼈物の画像を⽣成する⽅法』 - 背景に⼀貫性を持たせるのはさらに困難 * 『AIと3Dを利⽤したアニメ制作 統⼀性のある背景を様々なアングルから⽣成』 - 構図のコントロールも難しい * 『構図の調整に使えるカメラアングルなどのワードまとめ』 → 映像作品など同⼀シーンの複数の画像から成るコンテンツには不向き #84

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

3次元世界の⽣成を経由した画像⽣成 #86 混沌 世界 写真 138億年 📷 撮影 ビッグバン 写真撮影 ⼀般的な画像⽣成 ランダム ノイズ 画像 ⽣成ネットワーク “ノイズ除去” 3D-aware 画像⽣成 ランダム ノイズ 画像 世界 ⽣成 📷 撮影 カメラの導⼊によって同じシーンを複数の構図で描くことが容易に

Slide 87

Slide 87 text

最近の3D-aware画像⽣成と3Dモデル⽣成 #87 [Or-El+ 2022] [Wang+ 2023]

Slide 88

Slide 88 text

3D⽣成 → 画像 → 敵対的⽣成ネットワーク (GAN) 3D-aware 画像⽣成のフレームワーク #88 ⽣成画像 3Dモデル ⽣成NN 📷 撮影 判別器 ノイズ 視点 実画像 GAN 以下にバリエーションがある - 3Dモデルをどう表現‧⽣成するか - 撮影(レンダリング)をどう⾏うか - 視点をどう与えるか

Slide 89

Slide 89 text

HoloGAN [Nguyen-Phuoc+ 2019] - 3Dモデル → 特徴ボクセル - 生成NN → 3D CNN - 撮影 → 特徴ボクセルを2Dに投影して CNN で高解像度化&画像化 最初期の 3D-aware 画像⽣成 #89 ⽣成画像 特徴ボクセル 3D CNN 2D投影 + 2D CNN ノイズ 視点

Slide 90

Slide 90 text

✔ ⾒たい視点を与えられる画像⽣成の,ほぼ最初のもの ✗ 3D表現がボクセルなので解像度を⾼くできない ✗ 撮影部分も学習されるので,やや⼀貫性に⽋ける 最初期の 3D-aware 画像⽣成 #90 クルマが変形するなど [Nguyen-Phuoc+ 2019]

Slide 91

Slide 91 text

GRAF [Schwarz+ 2020] 3Dモデルの表現と撮影に NeRF を利⽤ ✔ ⾼解像3Dモデル,3D的な⼀貫性を実現 NeRF の導⼊ #91 HoloGAN GRAF 髪型が変わってしまう 髪型は変わらない(⼀貫性)

Slide 92

Slide 92 text

EG3D [Chan+ 2022] NeRF はレンダリングが遅い → 速い NeRF (tri-planes) を取り⼊れて⾼解像度画像の⽣成を実現 アーキテクチャの改良 #92 3枚の板に シーンを格納

Slide 93

Slide 93 text

より多様なデータセット ― 課題 [Sargent+ 2023] #93 既存⼿法の多くは以下を仮定 - カメラの位置‧向きの分布がほぼ既知 - 物体がほぼ同じ位置‧⼤きさで写っている → 多カテゴリの画像集合では学習できない [Or-El+ 2022] ImageNet [Deng+ 2009]

Slide 94

Slide 94 text

より多様なデータセット ― アプローチ [Sargent+ 2023] #94 画像⼊⼒から「正⾯から撮影すると元画像と同じ」「少し視点を変えて撮影しても 本物の画像に⾒える」3Dモデルを⽣成するNN を GAN の枠組みで学習 ⼊⼒画像 画像 NeRF ⽣成NN 📷 撮影 (正⾯) 再構成誤差 潜在空間 予測NN 適当な画像 📷 撮影 (少し斜め) 画像 判別器 これがないと3Dモデルは 何でもアリになってしまう ※ メインアイディアは [Kato & Harada 2019] と類似

Slide 95

Slide 95 text

より多様なデータセット ― 実験結果 [Sargent+ 2023] #95 ✔ すごく綺麗ではないが,まあまあ画像⽣成できている ✗ 視点は少ししか動かせない

Slide 96

Slide 96 text

類似した枠組みで「⾔語指⽰を元に3Dモデルを⽣成する」取り組みも盛ん ⾔語指⽰で3Dモデル⽣成 [Poole 2023] #96 ⽣成画像 3Dモデル NN 📷 撮影 訓練済み拡散モデルに よる「⾃然さ」 ノイズ 視点 ⾔語指⽰ 最適化 「それっぽい画像になっているかどうか」を 画像⽣成モデルに教えてもらうことができる

Slide 97

Slide 97 text

⾔語指⽰で3Dモデル⽣成 #97 DreamFusion [Poole+ 2022年9⽉] ProlificDreamer [Wang+ 2023年5⽉]

Slide 98

Slide 98 text

多視点画像⽣成モデルによる3D⽣成 #98 いろいろな視点からレンダリング → 拡散モデルに⾒せる,という枠組み → 視点ごとに独⽴に処理するため,教師シグナルが⾷い違いがち 複数視点からの画像を同時に⽣成する画像⽣成モデルを 訓練して使⽤することで,3Dモデル⽣成のクオリティも向上 [Shi+ 2024]

Slide 99

Slide 99 text

3次元空間への「意味」のマッピング 画像特徴をニューラル場に覚えさせて「意味場」をつくることで 特徴ベクトルの類似性に基づく選択と編集(e.g. 花の削除)が可能に - `画像特徴量 = NN(p)` #99 [Kobayashi+ 2022]

Slide 100

Slide 100 text

3次元空間への「意味」のマッピング - 画像-⾔語特徴をニューラル場 に覚えさせることで,「もの の場所の検索を可能に - ⼤規模データセットで獲得し たマルチモーダル特徴による 柔軟な検索 🔍 ⽊のスプーン 🔍 電源 🔍 ⻩⾊ #100 [Kerr+ 2023]

Slide 101

Slide 101 text

発展的な話題 まとめ 三次元再構成に関連する,注⽬のトピックを紹介 - 3D構造を考慮した画像⽣成 - ⽂章⼊⼒による3Dモデル⽣成 - 3D空間への⾔語情報の埋め込み これらはどれも,以下が鍵になっている - ニューラル場と微分可能レンダリング - 巨⼤データセットで獲得した画像⽣成‧⾔語理解モデル #101 この領域の最先端情報 → SSIIチュートリアル『⽣成AIと3次元ビジョン』 (NII/東⼯⼤ 池畑先⽣) 昨⽇! あっ、これ やったやつだ

Slide 102

Slide 102 text

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

Slide 103

Slide 103 text

三次元再構成のおもしろさ 1. ディープラーニングでポン,では解きにくい a. 幾何的な拘束条件,反射特性モデル,etc. b. 逆コンピュータグラフィクス c. 「常識」をどこから獲得し,どう活⽤していくか 2. 「三次元」の難しさ a. ⾔語 (1D) や画像 (2D) より,計算‧メモリの削減に⼯夫が必要 3. 実応⽤への近さ a. エンタメ: 映像制作,ゲーム b. 知的情報処理: ⾃動運転,ロボット #103 Waterfall (M. C. Escher)

Slide 104

Slide 104 text

まとめ 三次元再構成と知能システムは密接に関連 2Dビジョン,機械学習,CG,⽣成AIと関係が深い研究分野 #104 三次元再構成 知能システム

Slide 105

Slide 105 text

連絡先,関連資料 - Web: https://hiroharu-kato.com/ - メール: [email protected] - 関連スライド - 三次元構造を考慮した画像⽣成 (情報処理学会 連続セミナー2023) - ニューラル3D表現の最新動向 (SSII 2022) - 微分可能レンダリング (CVIMチュートリアル 2022) - モダリティ変換と画像⽣成 (SSII 2018) #105