Implicit vs. Explicit 3D Representation
隐式表示 / 显式表示AdvancedWhether a 3D scene is stored directly as geometric elements, or as a function you query by coordinate.
An explicit representation stores geometric elements directly: a point cloud stores points, a mesh stores vertices and triangular faces, a voxel grid stores a value per cell, and 3D Gaussian splatting (3DGS) stores a large number of colored, translucent 3D Gaussian ellipsoids. An implicit representation instead writes the scene as a function: input a spatial coordinate, output that point’s property, with the surface hidden inside some level set of the function. A signed distance function (SDF) outputs the signed distance to the surface, with the surface located where the value is 0; DeepSDF and neural radiance fields (NeRF) use a neural network to fit this kind of function. Implicit representations are continuous and compact, with resolution not limited by a grid, but extracting a surface or rendering requires repeatedly querying the network, which is slow; explicit representations render and edit fast, with accuracy limited by discretization. Robot planning and physics simulation still usually need a mesh or voxels, so an implicit reconstruction is often extracted into a mesh afterward.
ExampleNeRF uses a fully connected network to map a 5D coordinate (3D position plus viewing direction) to density and color — a typical implicit representation; 3DGS directly stores a batch of 3D Gaussians and renders them by rasterization — an explicit representation, which is why it can render in real time.
- Also called
- Implicit Representation, Explicit Representation, Neural Implicit Representation
- Related
- Neural Radiance Fields · 3D Gaussian Splatting · Signed Distance Field / Function · Truncated Signed Distance Function · Point Cloud · Voxel
- Sources
- arXiv 2003.08934: NeRF(ECCV 2020)
arXiv 1901.05103: DeepSDF
3D Gaussian Splatting for Real-Time Radiance Field Rendering(SIGGRAPH 2023)