Mais conteúdo relacionado Semelhante a [解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis (20) [解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis2. 概要: 何がすごいか??
• 複数の視点と画像のペアからMulti layer perceptron (MLP) を学習することにより、新規視点生
成のタスクで非常に素晴らしい結果を達成
• 新規視点生成とは … あるシーンを観測する視点を与えたときに、その視点に対応する画像を生成する
こと
• まずはproject pageからダウンロードした結果を見てください
• http://www.matthewtancik.com/nerf
B. Midenhall et al. “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, arxiv prepring, 2020.
3. 書誌情報、選定理由など
• UC Berkeley, Google Research, UC San Diegoの研究者が著者
• equal contributionが3人!!
• 論文のフォーマットからECCV2020への投稿と思われる
• 選定理由
• 結果の動画を見て、非常に高精細な画像が生成できていると驚いた
• 画像生成形の論文情報はroadrunnerさんが早い (Twitter: @ak92501)
• 生成結果のインパクトが大きく各所で話題になっていた
• 軽く読んでみてアイデアが (自分にとって) 新しく面白かったため
4. 概要: どうやって実現している?
• MLPでNeural Radiance Field (NeRF) を学習
• Neural Radiance Fieldとは
• 三次元空間のある点の位置と視線方向 (角度) を与えると、その点の密
度 (density) と色が定まるNNにより表現された「場」
• 場とは … 時空の各点に関する物理量で、座標と時間を指定すると一つの
物理量が定まる。数学的には空間座標が独立変数となる関数で表現可能*
• 密度 (density) とは … 光をどれくらい透過するかを表すパラメーター
(densityが高いほど光を通しにくいということだと思います)
• カメラレイから定まる空間の各点の位置と視線の方向をクエリにして、
古典的なレンダリング手法 (volume rendering) を用いて視点に対応す
る画像をレンダリングできる
• volume renderingが微分可能なので画像を使ってend-to-endで学習できる
• 複数の観測 (画像と視点のペア) でNeRFを訓練する方法を提案
*https://www.wikiwand.com/ja/%E5%A0%B4 http://www.matthewtancik.com/nerf
6. 技術的な貢献
• 複雑な幾何形状を持つシーンをMLPでパラメタライズしたneural radiance field
で表現したこと
• 古典的なボリュームレンダリングの手法に基づく微分可能なレンダリング手法の
提案
• MLPのキャパシティを考慮した三次元点の階層的なサンプリング手法も提案
• 複雑な形状を持つシーンを表現するために5D (三次元位置、視線方向) を高次元
空間に埋め込むテクニックの提案
新規視点合成の既存手法と比較しstate-of-the-artの結果を得た
次のスライドから詳細について説明します
7. NeRFによるシーン表現の獲得
• シーンを5Dベクトル (三次元位置、視線方向) を入力として、とvolume density
を出力する関数として表現
• 三次元位置: x = (x, y, z)
• 視線方向: (θ, φ)
• 色: c = (r, g, b)
• volume density: σ
• volume densityは、xのみにより定まる値
• 色はxと (θ, φ) により定まる値
• 上の制約からMLPは2つに分かれる
1. xを入力としσと256次元のベクトルを出力
2. 1の出力の256次元のベクトルと(θ, φ)からc = (r, g, b)を出力
• 色を視線方向に依存するように設計する理由
鏡面反射など、方向に依存する現象 (non-Lambertian) を考慮できるようにするため
8. 視点に依存する効果のモデリング
• (a), (b) 同じ箇所を異なる方向から見ると、色が変わるということが再現できて
いる
• (c) あらゆる方向から同じ箇所を見た場合の色の変化を可視化
• 半球状のあらゆる視点から同じ箇所を見ようとした場合の色を円の中に表示している
B. Midenhall et al. “NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis”, arxiv prepring, 2020.
9. Radiance fieldからのボリュームレンダリング 1
• 古典的なボリュームレンダリングの原理に基づいた方法を使用
• 1984年にKajitaらが提案した手法 (Ray Tracing Volume Densities) を引用していた
• Ray Tracingとは、カメラに届く光線を逆方向に辿ることにより画像を生成する手法のこと
• 本物の写真に近い画像をレンダリングできる手法として知られている
• レイトレーシングによるボリュームレンダリングでは、光線を逆方向に辿りながら、物体のvolume
density (透過率) を考慮しつつ各点の色を足し合わせ2D画像のあるピクセルの色を計算するイメー
ジ (私の理解です)
• 連続的なradiance fieldを考えるとボリュームレンダリングの以下のようになる
• カメラの光線を表すベクトル (oを通りdの方向に伸びる) :
• t_n, t_fは仮想的に設定した最も近い点と遠い点
• T(t)はt_nからtまでの光線に沿って積分した透過率 (volume density) を表し、光線がt_nからtまで
粒子にぶつかることなく移動する確率を表す
10. Radiance fieldからのボリュームレンダリング 2
• 実際にはradiance fieldを連続関数として積分するのではなくサンプルした点を用
いて区分求積法に基づいた近似計算を行う
• この方法についてはMaxのボリュームレンダリングのレビュー論文で議論されている
• サンプルする点の間隔は学習時には毎回ランダムに変化させている
11. NeRFの最適化 1: Positional encoding
• xyzθφをMLPにそのまま入力しても画像の高周波成分は再現できない
• DNNは低周波成分ばかりを学習してしまうバイアスがある (Rahaman et al. 2018)
• 入力を一旦、高周波関数(high frequency functions)で高次元空間にマッピングしてからDNN
に入力すると高周波成分を持つデータにfitしやすいらしい
• 以下の埋め込み関数を用いて入力のベクトルを高次元空間に写像
• 三次元位置を表すベクトルx = (x, y, z)の各成分をこの関数に入力
• 視線方向 (θ, φ) については(x, y, z)成分を持つ単位ベクトルに変換し上の関数に入力
• このテクニックはTransformer (Vaswani et al. 2017) でも使われているらしい
• 詳しい人教えてください
12. NeRFの最適化 2 : 階層的ボリュームサンプリング
• 光線に沿って点を密にサンプルするのは計算効率が悪いので、重要度を考慮して、
出力画像により寄与する点を選ぶのが良い
階層的サンプリングという手法を提案
• 発想自体はボリュームレンダリングの研究で既出 (Levoy, 1990)
1. “corse”と”fine“の2つのネットワークを準備
2. 光線に沿って粗くサンプルした点を”coarse”ネットワークに入力し色と密度を
得たのちレンダリング
3. 得られた各点の重要度を用いて再度点をサンプルしなおす
4. 全ての点から”fine”ネットワークで色と密度を計算し画像をレンダリング
13. 実装詳細
• データセットは画像と視点のペア、カメラ内部パラメータ、シーンの境界 (範囲)
• シミュレーションデータのデータセットからは自明に得られる
• 実データでは三次元復元のソフトウェアを用い推定したパラメータを使用
• 各イテレーションでランダムに光線をサンプルし、その後階層的サンプリングで三次元点を
サンプルした
• ボリュームレンダリングによりそれぞれの光線に対応するピクセルの色を計算
• 計算したピクセル値とGTとの二乗誤差を計算
• Rは光線の集合を表す, Cはピクセル値 (色), 添字のc, rはcoarse, fine networkに対応
• 光線は4096個サンプル, 三次元点は64 (coarse), 128 (fine) 個を階層的にサンプル
• 10~30万iteration, NVIDIA V100 1個を用いて1~2日間学習
14. 実験 : dataset
• 合成データ
• Deep Voxels dataset (Sitzmann et al. 2019)
• 複雑ではない形状の物体をあらゆる視点からレンダリングしたデータセット
• 鏡面反射なし
• 画像のサイズは512x512
• 新しくCGでデータセットを作成
• 8種類のオブジェクト
• 学習用に100視点、テスト用に200視点レンダリング
• 画像のサイズは800x800
• 実データ
• 8つのシーンを携帯電話のカメラでいろいろな視点から撮影したデータ
• 一部はMildenhallらが作成したデータ
• 20~62枚撮影
• 学習:テスト = 8:2
• 画像のサイズは1008x756
15. 実験: 比較手法
• Neural Volumes (NV) (S. Lombardi et al. 2019.)
• ダイナミックな3Dシーンをモデリング
• 観測からRGBαボクセルグリッドとそのワープを推定
• クエリ視点でレイマーチング (カメラに入る光線を逆方向に辿るレンダリング手法)
により新規視点のビューをレンダリング
• Scene Representation Networks (SRN) (V. Sitzmann et al. 2019.)
• シーンを不透明な表面として表現
• MLPで各点 (x, y, z) のfeatureを計算
• RNNで光線を進む幅を計算する→計算した分だけ進む を繰り返す
• 最終ステップの時の位置を物体の表面とし、色をfeatureからデコードする
• Local Light Field Fusion (LLFF) (B. Mildenhall et al. 2019)
• 3D convolution により入力の各視点のRGBαグリッド (multiplane image (MPI))を
直接推定
• クエリ視点でに対応する画像を複数のMPIから合成する
19. 実験: 定量評価
• シーン表現を計算するのにかかる時間
• 提案手法は1つのシーンを表現するのにモデルを最低でも12時間学習する必要
がある
• LLFFなど、事前に色々なシーンでモデルを学習しておくことで推論に時間が
かからないものもある
• 計算コスト
• 提案手法は、ネットワークの重みが5MBでマシンの負荷が少ない
• LLFFでは観測した画像データをメモリに保持するので15GBと負荷が大きい
20. 実験: Ablation study
• CGのシーンで色々条件を変えた結果を比較
• 提案手法でどこが結果に効いているか
• Positional encoding, view dependenceは結果にかなり効く
• 階層サンプリングは性能にはそこまで効かない (計算量の効率化に寄与)
• 画像の枚数が少なすぎると性能が低下
• positional encoding時の周波数の数が少なすぎると性能が低下
• この辺りは順当な結果
23. 参考文献
• B. Midenhall et al.: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis.
arxiv prepring, 2020.
• J. T. Kajiya et al.: Ray Tracing Volume Densities. Computer Graphics, 1984.
• N. Max: Optical models for direct volume rendering. IEEE Transactions on Visualization and
Computer Graphics 1995.
• M. Levoy: Efficient ray tracing of volume data. ACM Transactions on Graphics 1990.
• N. Rahaman et al.: On the spectral bias of neural networks. in ICML 2018.
• A. Vaswani et al.: Attention is all you need. in NeurIPS 2018.
• S. Lombardi et al.: Neural volumes: Learning dynamic renderable volumes from images.
SIGGRAPH 2019.
• V. Sitzmann et al.: Scene Representation Networks: Continuous 3D-Structure-Aware Neural
Scene Representations. in NurIPS, 2019.
• B. Mildenhall et al.: Local light field fusion: Practical view synthesis with prescriptive sampling
guidelines. SIGGRAPH 2019.
Notas do Editor SRN : 幾何形状とテクスチャが滑らかすぎる
NV : 細かい形状が捉えられている シーン表現を128^3のボクセルにしているため解像度が粗く詳細を表現しきれない
LLFF : 視差が大きいと幾何形状を復元するのが難しい、視点間の一貫性がない