Skip to main content

Dynamic NeRF

Dynamic NeRF は、時間とともに変化する scene を Neural Radiance Field で表す方法です。Static NeRF が Fθ(x,d)(σ,c)F_\theta(\mathbf{x}, \mathbf{d}) \to (\sigma, \mathbf{c}) を学習するのに対し、Dynamic NeRF は時間 tt も扱います。

単純な time-conditioned NeRF

最も単純には、NeRF に time を入力として加えます。

Fθ(x,d,t)(σ,c)F_\theta(\mathbf{x}, \mathbf{d}, t) \to (\sigma, \mathbf{c})

しかし、この方法では各時刻の scene をばらばらに覚えやすく、temporal consistency や motion の解釈性が弱くなります。

Canonical space + deformation field

多くの Dynamic NeRF は、canonical space と deformation field を使います。

各時刻の point xt\mathbf{x}_t を、canonical space の point xc\mathbf{x}_c に warp します。

xc=xt+Δϕ(xt,t)\mathbf{x}_c = \mathbf{x}_t + \Delta_\phi(\mathbf{x}_t, t)

Canonical NeRF は、時間に依存しない template のような field として働きます。Deformation field が、各時刻の変形を担当します。

Loss

Dynamic NeRF の training は、基本的には photometric reconstruction loss です。

Lrgb=rC^(r)C(r)2\mathcal{L}_{\text{rgb}} = \sum_{r}\|\hat{\mathbf{C}}(r) - \mathbf{C}(r)\|^2

これに加えて、temporal smoothness、deformation regularization、scene flow consistency などの loss を入れることがあります。

難点

Dynamic NeRF は高品質ですが、次の課題があります。

  • Training が遅い。
  • Rendering が遅い。
  • Canonical space の選び方が難しい。
  • Topology change (物体が現れる / 消える) が苦手。
  • Monocular video では depth-motion ambiguity が強い。

この弱点を改善する方向として、4D Gaussian Splatting が注目されています。

関連ページ

主なソース