Skip to main content

Neural 3D Reconstruction

Neural 3D Reconstruction は、scene geometry や appearance を neural network または differentiable representation で表す方法です。代表的な approach には、NeRF、neural implicit surface、3D Gaussian Splatting があります。近年は VGGTDepth AnythingSegment Anything のような foundation model を、camera / depth / mask の prior として組み合わせる pipeline も増えています。

NeRF

NeRF、つまり Neural Radiance Fields は、3D position と viewing direction を入力として、density と color を出力する neural field です。

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

Rendering は volume rendering によって行われます。複数 view の image から、rendering された image と実 image の photometric loss を最小化することで scene を学習します。

Neural implicit surface

Neural implicit surface は、surface を signed distance function(SDF)や occupancy field として neural network で表します。

fθ(x)=SDF valuef_\theta(\mathbf{x}) = \text{SDF value}

SDF が 00 になる等値面が surface です。NeuS や VolSDF などは、surface reconstruction と neural rendering を組み合わせます。

3D Gaussian Splatting

3D Gaussian Splatting は、scene を多数の 3D Gaussian primitive で表し、differentiable rasterization によって高速に rendering する method です。NeRF と比べて training と rendering が高速で、real-time novel view synthesis に向いています。

各 Gaussian は、position、covariance、opacity、color / spherical harmonics などを持ちます。

Classical reconstruction との違い

観点Classical reconstructionNeural reconstruction
表現Point cloud、mesh、TSDFNeural field、Gaussian primitives
最適化Geometry constraint、BA、MVSDifferentiable rendering、photometric loss
出力Explicit geometry が得やすいView synthesis が得意
課題Textureless / reflective surfaceGeometry extraction、dynamic scene、scale、編集性

3D Reconstruction との接続

Neural method でも、camera pose は重要です。COLMAP などの SfM で pose を推定し、その pose を使って NeRF や 3D Gaussian Splatting を training する pipeline が一般的です。

また、depth prior、normal prior、segmentation mask を使うことで、neural reconstruction の品質や編集性を改善できます。

関連ページ

主なソース