NeRF

Mildenhall 2020 · 論文

一行要約 — シーンをMLP内の連続関数として表現する——3D位置と視線方向を色と密度に写す——これを微分可能なボリュームレンダリングでレンダリングすることで、姿勢付き画像からフォトリアリスティックな新規視点画像を生成する。

問題

新規視点合成——一度も撮影されていない視点からの複雑なシーンのレンダリング——は、長年、明示的な表現(メッシュ、ボクセルグリッド、マルチプレーン画像)を用いて取り組まれてきたが、これらはシーンを離散化するか、時間・空間のスケーリングの悪さによって達成可能な解像度に上限を課すか、複雑な幾何や視点依存の見え方に対応できないという問題を抱えていた。NeRFは、シーンを連続的なボリューム関数として保存し、微分可能なレンダラーを通じたフォトメトリック教師信号のみを用いて、疎な入力ビュー集合から直接最適化できるかを問う。

手法とアーキテクチャ

表現。 単一の全結合(畳み込みを用いない)MLP FΘ:(x,d)(c,σ)F_{\Theta}: (\mathbf{x}, \mathbf{d}) \to (\mathbf{c}, \sigma) は、5次元座標——位置 (x,y,z)(x,y,z) と視線方向——をボリューム密度 σ\sigma と視点依存のRGB放射輝度 c\mathbf{c} に写す。アーキテクチャとしては、8層の全結合層(256チャンネル、ReLU)が γ(x)\gamma(\mathbf{x}) を処理し、σ\sigma と256次元の特徴量を出力する;その特徴量に γ(d)\gamma(\mathbf{d}) を連結したものが128チャンネルの1層を通ってRGBを出力する。位置のみから σ\sigma を予測することで、マルチビュー整合的な幾何が強制される。

微分可能なボリュームレンダリング。 カメラ光線 r(t)=o+td\mathbf{r}(t) = \mathbf{o} + t\mathbf{d} の色は、古典的なボリュームレンダリング積分であり、

C(r)=tntfT(t)σ(r(t))c(r(t),d)dt,T(t)=exp(tntσ(r(s))ds),C(\mathbf{r}) = \int_{t_n}^{t_f} T(t)\,\sigma(\mathbf{r}(t))\,\mathbf{c}(\mathbf{r}(t), \mathbf{d})\,dt, \qquad T(t) = \exp\Big(-\int_{t_n}^{t} \sigma(\mathbf{r}(s))\,ds\Big),

層化サンプル tit_i(各区間で一様に1点抽出するため、MLPは連続的な位置でクエリされる)に対する数値積分によって推定される:

C^(r)=i=1NTi(1eσiδi)ci,Ti=exp(j=1i1σjδj),δi=ti+1ti.\hat{C}(\mathbf{r}) = \sum_{i=1}^{N} T_i\,\big(1 - e^{-\sigma_i \delta_i}\big)\,\mathbf{c}_i, \qquad T_i = \exp\Big(-\sum_{j=1}^{i-1} \sigma_j \delta_j\Big), \quad \delta_i = t_{i+1} - t_i .

位置エンコーディング。 生の xyzθϕxyz\theta\phi 入力ではMLPが高周波成分を滑らかにしてしまうため、各座標を γ(p)=(sin(20πp),cos(20πp),,sin(2L1πp),cos(2L1πp))\gamma(p) = \big(\sin(2^0 \pi p), \cos(2^0 \pi p), \ldots, \sin(2^{L-1}\pi p), \cos(2^{L-1}\pi p)\big) で持ち上げる(x\mathbf{x} に対して L=10L{=}10d\mathbf{d} に対して L=4L{=}4)——この小さな工夫が本質的に重要であることが示された。

階層的サンプリング。 粗いネットワークと精細なネットワークを同時に最適化する:粗いネットワークの合成重み wi=Ti(1eσiδi)w_i = T_i(1 - e^{-\sigma_i\delta_i}) を正規化して区分定数のPDFとし、これを用いて表面付近の追加点 NfN_f 個の逆変換サンプリングを導く(Nc=64N_c{=}64Nf=128N_f{=}128)。

学習。 損失は、粗い出力と精細な出力の両方について、レンダリングされたピクセル色と真の色との二乗誤差の合計であり、4096本の光線からなるバッチで学習する;Adamを用い学習率 5×1045\times 10^{-4} から 5×1055\times 10^{-5} まで減衰させ、シーンごとに10万〜30万イテレーション(V100で約1〜2日)。実シーンのカメラ姿勢はCOLMAPから得る。

実験結果

SLAMにおける意義

NeRFは、神経暗黙表現SLAMの一大潮流全体の基盤となる研究である:iMAP、NICE-SLAM、Co-SLAM、NeRF-SLAMはいずれも、オンラインで最適化されるラディアンスフィールド様の地図表現を使用し、微分可能なレンダリング損失はトラッキング目的関数(レンダラーを反転させてカメラ姿勢を得る)としても機能する。3D Gaussian Splattingがリアルタイムレンダリングの座をNeRFから奪った後も、その中核となる考え方——最適化可能なフィールドとしてのシーン、微分可能なレンダラーを通じたフォトメトリック教師信号、位置エンコーディング様の入力の持ち上げ——は現代の密な神経マッピングの概念的基盤であり続けている。

関連ノート