LoginSignup
2

More than 1 year has passed since last update.

posted at

論文まとめ:D-NeRF: Neural Radiance Fields for Dynamic Scenes

はじめに

CVPR2021より以下の論文
[1] A. Pumarola, et. al. D-NeRF: Neural Radiance Fields for Dynamic Scenes. CVPR2021
のまとめ

概要

  • NeRF系で deformable な物体に対応した先駆け的な論文の1つ
  • 3Dの正解データを必要としない
  • 単眼カメラで撮影した動画を用いる(NeRFは同時に多方面から撮影)
  • fieldを動きの変化を捉えるものとカラーや密度を推定するものの2つにわける

problem formulation

目標

${\rm \bf x} = (x, y, z)$: 物体に関する3次元座標
${\rm \bf c} = (r, g, b)$: 推定するカラー
$\sigma$: 推定する密度
${\rm \bf d} = (\theta,\phi)$: view direction
としたときに目標は

\mathcal{M} :({\rm \bf x}, {\rm \bf d}, t) \rightarrow ({\rm \bf c}, \sigma)

と写像する $\mathcal{M}$ を求めること。NeRF原論文との違いで言うと、物体が動くので時間の要素 t が加わっている。

この $\mathcal{M}$ を直接求めようとする手法もあるが、筆者らの実験では以下のように2段階に分けた方が上手くいくとのこと。

  • 与えられたシーン(deformed scene)からcanonicalなシーン(scene canonical space)へ変換する $\Psi_t$
  • 与えられたシーン(deformed scene)からcanonicalなシーン(scene canonical space)へ変換する $\Psi_x$

スクリーンショット 2022-05-10 6.27.08.png

この図にあるように $\Psi_t : ({\rm \bf x}, t) \rightarrow \Delta {\rm \bf x}$ と default の状態(t = 0の状態)に対する差分を出力する。

こうして求まった scene canonical space に対して $\Psi_x : ({\rm \bf x} + \Delta {\rm \bf x}, {\rm \bf d}) \rightarrow ({\rm \bf c}, \sigma)$ で色と密度を推定する。

入力として使うデータ

  • ${\rm \bf I}_t \in \mathbb{R}^{H \times W \times 3}$: t 時の画像
  • ${\rm \bf T}_t \in \mathbb{R}^{4 \times4} \ {\rm SE}(3)$: t 時のカメラの外部パラメータ

ネットワークのアーキテクチャ

canonical network

8層のMLP。NeRFのネットワークと違い、密度 $\sigma$ も最終層から出力される。

deformation network

こちらも8層のMLP。

canonical network 、あるいは NeRF のMLPと同様、neural networkが高周波なものを再現しにくいという性質を補完するため、入力で以下のように座標 x や向き d encode する。

\gamma (p) = <(\sin {\left( 2^l \pi p \right)}, \cos{\left( 2^l \pi p \right) } >_0^L

volume rendering

canonical space上ではNeRFの neural radiance fieldと同様にレンダリング。

loss

NeRFと同様レンダリングしたカラーと正解値のカラーとの差。

学習に関して

  • 収束しやすいようにするため、初めは動画の最初の方の frame のみで学習し、徐々に後半の frame も加えていった
  • 画像サイズは 400 x 400
  • iterationは800K
  • バッチサイズha4096 rays
  • 各光線において64点のサンプリング
  • 最適化:adam
  • 学習時間は Nvidia GTX1080 使って2日かかった

定性的評価

以下の図は学習後の新たな視点に対する推論結果。

スクリーンショット 2022-05-12 3.15.19.png

各行は上からcanonical space(t=0), t=0.5, t=1.0。

各列は左からカラーをレンダリングしたもの、それを voxcel化してmarching cube algorithでmesh化したもの、depth、canonical spaceに対する変位を可視化するため同じ部位を同じ色としたもの。

定量的評価

以下はNeRFとT-NeRF(canonical spaceを用いず、直接 radiance fieldで変位まで学習したもの?)、とのMSE, PSNR, SSIMの比較。

スクリーンショット 2022-05-12 3.20.38.png

deformableなデータを用いているので、NeRFはこれに対応できず精度が悪い。T-NeRFとD-NeRFとではD-NeRFが若干よい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2