Slide 1

Slide 1 text

第9回全日本コンピュータビジョン勉強会 Presenter:廣岡大吾

Slide 2

Slide 2 text

自己紹介 ● 廣岡大吾 ○ Twitter:dhirooka (@daigo_hirooka) ● 機械学習エンジニア@ BrainPad ○ 関心:Deep LearningとMLOps ○ BrainPad Advent Calendar 2021 進行中 ● その他 ○ GoProがゲレンデで活躍してます 2

Slide 3

Slide 3 text

紹介論文:Mip-NeRF ● 目標:NeRFレンダリング時のスケール変化に伴うエイリアスの抑制(アンチエイリアス) 3 NeRF in the Wild

Slide 4

Slide 4 text

4 NeRF in the Wild

Slide 5

Slide 5 text

● 既存のNeRF ○ レンダリング時のスケール変化は想定外 ○ 近くからのレンダリング:ぼやける ○ 遠くからのレンダリング:エイリアス ● Mip-NeRF ○ スケール変化に対応 ○ レンダリング時のアンチエイリアスを実現 ○ 計算コストもほぼ同じ 紹介論文:Mip-NeRF 5

Slide 6

Slide 6 text

NeRFのおさらい 6

Slide 7

Slide 7 text

NeRF:Neural Radiance Field ● シーンの見え方を生成( view synthesis)するアプローチの一つ ● 1つのシーンに対して1つの NeRFのモデルを学習する ○ 学習データ:対象シーンを写した画像群 ○ 推論:任意の視点からのシーンの見え方(レンダリング) 7 [2003.08934] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

Slide 8

Slide 8 text

NeRFによるシーンのモデル化 ● NeRFの学習=全結合NNの学習 ○ 入力:3次元上の位置xyz、視点からの向きθ,Φ ○ 出力:入力(評価点)に対応する色 RGB・密度σ ○ シーンに応じた色・密度の場( Radiance Field)をNNによってモデル化・学習している 8

Slide 9

Slide 9 text

Radiance Fieldに基づくピクセル値の計算 ● ①視点からピクセルへの半直線( camera ray)を用意 9

Slide 10

Slide 10 text

Radiance Fieldに基づくピクセル値の計算 ● ①視点からピクセルへの半直線( camera ray)を用意 ● ②Camera ray上の各点について、 radiance fieldによって色・密度を評価 10

Slide 11

Slide 11 text

Radiance Fieldに基づくピクセル値の計算 ● ①視点からピクセルへの半直線( camera ray)を用意 ● ②Camera ray上の各点について、 radiance fieldによって色・密度を評価 ● ③各点の色・密度をボリュームレンダリングによって集約、ピクセル値を得る 11 ピクセル値

Slide 12

Slide 12 text

Radiance Fieldに基づくピクセル値の計算 ● ①視点からピクセルへの半直線( camera ray)を用意 ● ②Camera ray上の各点について、 radiance fieldによって色・密度を評価 ● ③ボリュームレンダリングによって各点の色・密度を集約、ピクセル値を得る ● 必要なピクセル分計算することで 1枚の画像をレンダリングする 12 ピクセル値

Slide 13

Slide 13 text

NeRFの学習 ● 学習データの各視点から画像を再構成し、ピクセル値の二乗誤差に基づいて教師あり学習 ● ボリュームレンダリングは微分可能なので、 end2endな学習が可能 13

Slide 14

Slide 14 text

NeRF:まとめ ● アーキテクチャ ○ Radiance Field:空間上の位置・角度 →色・密度の関数 ○ ボリュームレンダリングによって camera rayからピクセル値を計算 ● 既存の多くのモデルよりも高精細なレンダリングが可能 ● NNモデルとしては軽量、効率よくシーン情報を保持できている 14

Slide 15

Slide 15 text

NeRF at ICCV2021 15

Slide 16

Slide 16 text

NeRF at ICCV2021 ● Frank Dellaertさん(Georgia Tech/Google)によるまとめ ● NeRFの課題 ○ 学習、推論(レンダリング)ともに遅い ○ 静的(static)なシーンのみ表現可能 ○ 照明がシーンの一部として焼きつく( baking) ○ 1つの学習済みモデルで、1つのシーン・物体のみ表現可能 16

Slide 17

Slide 17 text

NeRF at ICCV2021 ● Frank Dellaertさん(Georgia Tech/Google)によるまとめ ● NeRFの改善アプローチ ○ レンダリング精度など基礎的な改善 ■ 今回のMip-NeRFなど ○ レンダリング速度の向上 ○ ポーズフリー:事前のカメラ位置計算の排除 ○ 条件付き生成、シーンの編集 ○ 動画など、時間方向への拡張 ○ etc 17

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

NeRFの課題:スケール変化時のエイリアシング ● NeRFの学習データは基本的に同じスケールの画像 ● 学習データと異なる距離でのレンダリングでは精度が劣化 ○ 近くの描画:ぼやける ○ 遠くの描画:エイリアス 19

Slide 20

Slide 20 text

提案:Cone Tracingによるスケールの考慮 ● Cone Tracing ○ ピクセルに対してcamera ray(線)ではなくcone(円錐)を投射 ○ 点ではなく円錐台(conical frustum)領域の色・密度を評価する ● 視点から遠いほどconical frustumが大きくなり、スケールを考慮できる 20

Slide 21

Slide 21 text

Conical frustumの評価 ● NeRF:空間上の点の位置・向きに対して Positional Encodingを特徴表現として利用 ● Mip-NeRF:conical frustumを評価するための特徴表現とは? ○ 領域を積分するような形で、効率よく計算できるような定式化だと良い 21

Slide 22

Slide 22 text

Conical frustumの近似 ● 3次元ガウス分布によって conical frustumの領域を近似する ○ frustumの対称性から、平均、 ray方向・垂直方向の分散の 3つの値で定義できる ○ 導出は論文のappendixを参照 22

Slide 23

Slide 23 text

Integrated Positional Encoding ● ガウス分布を用いることで、 conical frustumにおけるPositional Encodingの期待値を 解析的に計算できる= Integrated Positional Encoding 23

Slide 24

Slide 24 text

Integrated Positional Encodingの効果 ● Conical frustumの形状に応じて、Positional Encoding(PE)をフィルタリングできる 24 Conical frustumが小さい(近くのシーン) Conical frustumが大きい(遠くのシーン) ガウス分布の分散小 ガウス分布の分散大 PEの高周波数成分まで保持 PEの高周波数成分は減衰 シーンの細かい特徴まで保持 シーン特徴を大まかに保持 IPEの各周波数成分▶ ガウス分布の分散▼ 高周波数成分 は減衰 ガウス分布の 分散大

Slide 25

Slide 25 text

Mip-NeRF:学習 ● Positional Encodingの代わりにIPEを用いる ○ 期待値は解析的に得られるので、計算コストはあまり変わらない ● スケール別モデルの排除 ○ NeRFではcoarse, fineの2つのNNを用意して学習していた ○ Mip-NeRFはマルチスケールなモデルなので 1つのNNで良い ■ →パラメータ数が半分で済む ● Jaxによって実装 ○ google/mipnerf ○ JaxNeRF(オリジナルのNeRFチームの実装)をベースとしている 25

Slide 26

Slide 26 text

Experiment:Multiscale Blender Dataset ● Blender Datasetをマルチスケールに拡張して学習 ● 多様なスケールでのレンダリング精度を評価 ○ 実験した全てのスケールで NeRFより優れたレンダリングを達成 26

Slide 27

Slide 27 text

Experiment:Multiscale Blender Dataset ● Blender Datasetをマルチスケールに拡張して学習 ● 多様なスケールでのレンダリング精度を評価 ○ 実験した全てのスケールで NeRFより優れたレンダリングを達成 27

Slide 28

Slide 28 text

Experiment:Single-scale Blender Dataset ● オリジナルのBlender Dataset(単一スケール)についても学習、評価 ○ 単一スケールのレンダリングでも優れた性能 ○ (Conical frustumによるモデル化、IPEがレンダリング方法として根本的に優れている?) 28

Slide 29

Slide 29 text

Mip-NeRF:まとめ ● 目標:NeRFにおいてスケール変化時に発生するエイリアスの抑制(アンチエイリアス) ● アプローチ ○ Camera ray上の点ではなくconical frustum(円錐台)を評価 ○ Conical frustumをガウス分布で近似することで 解析的な特徴表現: Integrated Positional Encodingを導出 ○ 単一のマルチスケールなモデル を構築 ● 結果 ○ 多様なスケールで優れた レンダリングが可能になった ○ モデル軽量化 29

Slide 30

Slide 30 text

参考:MipMapによるテクスチャ描画 ● MipMapping:3DCGなどでテクスチャの描画効率を向上するための技術 ○ mip:multum in parvo(much in little) ○ オリジナルのテクスチャに対して pre-filteringした画像群を用意することで、 スケール変化時のエイリアスを抑制できる ● Mip-NeRFのIntegrated Positional Encodingは 特徴表現(PE)に対するpre-filteringと捉えられる ○ →NeRFにおけるアンチエイリアス 30 ミップマップ - Wikipedia オリジナル画像 pre-filteringした 画像群

Slide 31

Slide 31 text

References ● 記載のない限り画像は Mip-NeRFの論文より引用 ● 論文 ○ NeRF: Neural Radiance Fields ○ mip-NeRF ○ Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields ● その他 ○ NeRF at ICCV 2021 ○ [2111.05849] Advances in Neural Rendering ○ ミップマップ - Wikipedia 31

Slide 32

Slide 32 text

Appendix 32

Slide 33

Slide 33 text

NeRFの仮定:ピンホールカメラモデル ● 3D座標とピクセル座標の関係を表すモデル ○ NeRFにおけるレンダリング上の仮定 ○ Camera ray:カメラの位置からピクセルへの半直線 33 OpenCV: Camera Calibration and 3D Reconstruction camera ray

Slide 34

Slide 34 text

ピンホールカメラモデル ● 3D座標とピクセル座標の関係を表すモデル ○ NeRFにおけるレンダリング上の仮定 ○ Camera ray:カメラの位置からピクセルへの半直線 ● ピクセルに対応する camera ray上で、Radiance Fieldによって色と密度を評価する 34

Slide 35

Slide 35 text

NeRFにおけるボリュームレンダリング ● ボリュームレンダリングによるピクセル値の計算 ○ Camera ray上の色c・密度σの積分 ○ 実装上は数値積分によって計算 35 Camera ray rに対応する ピクセル値 点iより手前の透過 点iの不透明度 密度σ大で1に近づく 点iの色 点iの3D座標 N等分した各区間から uniform sampling

Slide 36

Slide 36 text

NeRF:実装上の工夫①:Positional Encoding ● Radiance Fieldの入力は位置と角度 ● Positional Encodingによって各成分を高次元ベクトルに加工 ○ 画像の細かい特徴(高周波数成分)を捉えられるようになった 36

Slide 37

Slide 37 text

NeRF:実装上の工夫②:Hierarchical Sampling ● N等分区間からの一様サンプリングは無駄が多い ○ 何もない位置 ○ 視点奥の直接見えない位置 ● Hierarchical Sampling ○ まずN等分区間から評価点の一様サンプリングを行う ○ 各評価点の密度に基づいて、再度サンプリングを行う ○ ピクセル描画に重要な領域にフォーカスする 37 視点手前の物体を重視 何もない 直接 見えない

Slide 38

Slide 38 text

NeRF:実装上の工夫②:Hierarchical Sampling ● Coarse, Fineの2モデルを用意する ● Hierarchical Samplingを用いた推論 ○ 等分区間からNc個の評価点をサンプリング ○ Coarseモデル:Nc個の評価点の色・密度を計算 ○ 区間を重み付けして再度 Nf個の評価点をサンプリング ○ Fineモデル:Nc+Nf個の評価点の色・密度を計算 ● Hierarchical Samplingを用いた学習 ○ Coarse, Fineモデルそれぞれで ピクセル値の二乗誤差を学習 38 Coarseモデルの 二乗誤差 Fineモデルの 二乗誤差