目次 — 知りたいところから読む

Neural 3Dは、複数画像とカメラ姿勢から、シーンを連続関数や多数の3D要素として表現し、見ていない視点の画像を合成する方法群である。SfMが姿勢と疎点群、MVSが密な形状を主に求めるのに対し、Neural 3Dは「その場所をその方向から見たとき何色に見えるか」まで含む表現を学習する。

30秒要約

  • NeRFは位置と視線方向から密度・放射輝度を返す連続関数、3D Gaussian Splattingは多数の3D Gaussianを最適化する明示的寄りの表現である。
  • 学習に使った視点をきれいに再現できても、未観測視点の形状や見た目が正しいとは限らない。
  • PSNR/SSIMなどの画像指標と、深度・点群・カメラ姿勢などの幾何評価を分ける。新規視点合成は測量精度の証明ではない。
図1 · ボタンで表示を切り替え
Neural 3Dの学習と評価

表現の違い

NeRFは、位置 \mathbf{x} と視線方向 \mathbf{d} に対して (\sigma,\mathbf{c})=F_\theta(\mathbf{x},\mathbf{d}) を返す。カメラから伸びる光線上のサンプルを体積レンダリングし、予測画像と入力画像の差を小さくするよう \theta を学習する。3D Gaussian Splattingは、位置・共分散・不透明度・色を持つGaussianを投影して合成し、空間を疎な点から始めて最適化する。

表現 強み 注意点
NeRF系 連続的な放射場、視線依存の見た目を表現しやすい 光線サンプルが多く、学習・描画条件に依存
3D Gaussian Splatting 明示的要素を投影するため高速化しやすい 密度・視点外形状・動的物体の扱いを別途検証
Mesh / MVS 表面と幾何を直接扱いやすい 反射・遮蔽・穴・テクスチャ不足の影響

学習視点と評価視点を分ける

入力画像をすべて学習に使い、その画像を再現しても、モデルが視点間の未観測領域を正しく補間できた証拠にはならない。カメラ軌跡または画像をtrain / validation / held-outへ分け、分割方法、視点間隔、重複、動的物体の有無を固定する。カメラ姿勢が推定値なら、その誤差も記録する。

画像評価ではPSNR、SSIM、LPIPSなどを使えるが、指標は見た目の一致を測る。幾何評価では深度、点群、法線、カメラ姿勢、再投影誤差を別に比較する。ぼけた表現が画像指標を改善しても、壁の位置や細い構造の形状を正しく復元したとは限らない。

失敗しやすい条件

  • 鏡面、透明、反射、照明変化は、同じ点が同じ見え方をする仮定を壊す。
  • 学習視点の外側や、遮蔽で観測されない領域は、見た目がもっともらしくても根拠が薄い。
  • 動く人・車・植物を静的シーンとして学習すると、残像や重複形状が生じる。
  • SfMの姿勢・尺度が不安定なまま学習すると、レンダリング結果だけでは原因を分離できない。

まとめ

Neural 3Dは、画像とカメラ姿勢から見た目を含む3D表現を学習し、新規視点を合成する枠組みである。NeRFと3D Gaussian Splattingは表現と描画の設計が異なるが、学習視点への再現と未観測視点への一般化を分けて評価する必要がある。画像品質、幾何、姿勢、動的物体、視点分割を別々に記録して初めて、結果の意味を説明できる。

理解を確かめる
学習画像のPSNRが高ければ、3D形状も正しい?

必ずしも正しくない。held-out視点、深度や点群などの幾何評価、カメラ姿勢誤差を別に確認する。

参考資料

次に読む

入力画像からカメラ姿勢と疎点群を得る前提を確認するStructure from Motion入門 — バラバラな写真群から3次元と撮影位置を同時に復元する多視点から密な形状を復元する古典手法を確認するMulti-View Stereo入門 — 疎な点群を密な3D形状へ埋める前提を確認する単眼深度推定入門 — 相対深度を尺度付きの距離へ結びつける