NeRF
Mildenhall 2020 · 論文
一行要約 — シーンをMLP内の連続関数として表現する——3D位置と視線方向を色と密度に写す——これを微分可能なボリュームレンダリングでレンダリングすることで、姿勢付き画像からフォトリアリスティックな新規視点画像を生成する。
問題
新規視点合成——一度も撮影されていない視点からの複雑なシーンのレンダリング——は、長年、明示的な表現(メッシュ、ボクセルグリッド、マルチプレーン画像)を用いて取り組まれてきたが、これらはシーンを離散化するか、時間・空間のスケーリングの悪さによって達成可能な解像度に上限を課すか、複雑な幾何や視点依存の見え方に対応できないという問題を抱えていた。NeRFは、シーンを連続的なボリューム関数として保存し、微分可能なレンダラーを通じたフォトメトリック教師信号のみを用いて、疎な入力ビュー集合から直接最適化できるかを問う。
手法とアーキテクチャ
表現。 単一の全結合(畳み込みを用いない)MLP は、5次元座標——位置 と視線方向——をボリューム密度 と視点依存のRGB放射輝度 に写す。アーキテクチャとしては、8層の全結合層(256チャンネル、ReLU)が を処理し、 と256次元の特徴量を出力する;その特徴量に を連結したものが128チャンネルの1層を通ってRGBを出力する。位置のみから を予測することで、マルチビュー整合的な幾何が強制される。
微分可能なボリュームレンダリング。 カメラ光線 の色は、古典的なボリュームレンダリング積分であり、
層化サンプル (各区間で一様に1点抽出するため、MLPは連続的な位置でクエリされる)に対する数値積分によって推定される:
位置エンコーディング。 生の 入力ではMLPが高周波成分を滑らかにしてしまうため、各座標を で持ち上げる( に対して 、 に対して )——この小さな工夫が本質的に重要であることが示された。
階層的サンプリング。 粗いネットワークと精細なネットワークを同時に最適化する:粗いネットワークの合成重み を正規化して区分定数のPDFとし、これを用いて表面付近の追加点 個の逆変換サンプリングを導く(、)。
学習。 損失は、粗い出力と精細な出力の両方について、レンダリングされたピクセル色と真の色との二乗誤差の合計であり、4096本の光線からなるバッチで学習する;Adamを用い学習率 から まで減衰させ、シーンごとに10万〜30万イテレーション(V100で約1〜2日)。実シーンのカメラ姿勢はCOLMAPから得る。
実験結果
- 表1(PSNR/SSIM/LPIPS):Realistic Synthetic 360°でNeRFは31.01 / 0.947 / 0.081(LLFF 24.88、NV 26.05、SRN 22.26に対して);Real Forward-Facingで26.50 / 0.811 / 0.250(LLFF 24.13 / 0.798 / 0.212、そのLPIPSのみLLFFがわずかに良い);Diffuse Synthetic 360°で40.15(LLFF 34.38に対して)。
- アブレーション(Realistic Synthetic):位置エンコーディングを除くとPSNRは28.77に低下、視点依存性を除くと27.66、両方と階層構造を除いた最小構成では26.67;入力画像25枚のみでもNeRFは100枚を与えられたNV、SRN、LLFFを上回る。
- ストレージ/時間のトレードオフ:シーンあたりのネットワーク重みは5MBであり、LLFFの1シーンあたり15GB超(約3000倍の相対圧縮)に対して、シーンあたり12時間以上の学習コストがかかる。
SLAMにおける意義
NeRFは、神経暗黙表現SLAMの一大潮流全体の基盤となる研究である:iMAP、NICE-SLAM、Co-SLAM、NeRF-SLAMはいずれも、オンラインで最適化されるラディアンスフィールド様の地図表現を使用し、微分可能なレンダリング損失はトラッキング目的関数(レンダラーを反転させてカメラ姿勢を得る)としても機能する。3D Gaussian Splattingがリアルタイムレンダリングの座をNeRFから奪った後も、その中核となる考え方——最適化可能なフィールドとしてのシーン、微分可能なレンダラーを通じたフォトメトリック教師信号、位置エンコーディング様の入力の持ち上げ——は現代の密な神経マッピングの概念的基盤であり続けている。