SDFoam🫧: Signed-Distance Foam for explicit surface reconstruction

1University of Trento, 2CNIT
Teaser image.

Existing methods in literature reconstruct 3D scenes either by employing explicit or implicit geometry, each with their own advantages and drawbacks. Our method, SDFoam, jointly learns a signed distance field (SDF) and a 3D Voronoi Diagram (or foam), both of which are optimized during a ray-tracing process. Our method offers a good trade-off of rendering speed, visual fidelity and reconstruction accuracy.

Abstract

Neural radiance fields (NeRF) have driven impressive progress in view synthesis by using ray-traced volumetric rendering. Splatting-based methods such as 3D Gaussian Splatting (3DGS) provide faster rendering by rasterizing 3D primitives. RadiantFoam (RF) brought ray tracing back, achieving throughput comparable to Gaussian Splatting by organizing radiance with an explicit Voronoi Diagram (VD). Yet, all the mentioned methods still struggle with precise mesh reconstruction. We address this gap by jointly learning an explicit VD with an implicit Signed Distance Field (SDF). The scene is optimized via ray tracing and regularized by an Eikonal objective. The SDF introduces metric-consistent isosurfaces, which, in turn, bias near-surface Voronoi cell faces to align with the zero level set. The resulting model produces crisper, view-consistent surfaces with fewer floaters and improved topology, while preserving photometric quality and maintaining training speed on par with RadiantFoam. Across diverse scenes, our hybrid implicit-explicit formulation, which we name SDFoam, substantially improves mesh reconstruction accuracy (Chamfer distance) with comparable appearance (PSNR, SSIM), without sacrificing efficiency.

Ray traversal

Ray traversal through Voronoi cells. The ray intersects the $n$-th cell (centered at site $p_n$) at positions $t_n$ (entry) and $t_{n+1}$ (exit), defining the segment length $\delta_n$. Spatial and visual information are piecewise constant within $\delta_n$. The ray $r$ is defined by its origin $o$ and direction $d$.

Ray traversal.

Architecture

SDFoam Architecture. A point cloud is initialized and refined over time by learning an SDF from its points. Their SDF values are then converted to density, which—together with color and position parameters—are used to learn a ray-traced scene. The parameter \( \theta_{\text{var}} \) is a learnable variance term that allows the SDF-to-density conversion to improve over time.

Architecture.

Mesh extraction

From a trained SDFoam scene, we have access to both the SDF and the Voronoi Diagram. We infer the SDF value for each cell site, extracting the surface voronois via a threshold. The relevant surface faces are selected by thresholding their vertices against a close to zero SDF value. Since the VD is non-overlapping by nature, we don't need to build additional connectivity at this step.

Mesh extraction.

Quantitative Results

Quantitative Results.

Quantitative evaluation on the DTU dataset. *RF → large Chamfer distances are due to floaters being difficult to filter using naive density-based thresholding. Our method offers a good trade-off between mesh reconstruction and visual fidelity.

Quantitative Results.

Quantitative comparisons with NeRF, NeuS and RF on the task of novel view synthesis without mask supervision.

Quantitative Results.

Quantitative comparisons with RadiantFoam on the task of novel view synthesis with mask supervision. Our joint Voronoi-SDF formulation acts as an additional regularization to boost visual appearance, removing occasional floaters in the scene.

Qualitative Results

Qualitative Results.

Mesh reconstruction qualitative results. Top to bottom: ground truth, RF, SDFoam. Modelling the voronoi cells as local SDFs improves the consistency of the extracted surface, thus filling the typical holes derived from the ray-tracing procedure in RF.

Qualitative Results.

Novel view synthesis qualitative results. Top to bottom: ground truth, Radiant Foam, SDFoam. Our method is able to better model reflections, as can be seen in the metallic examples, has less floaters, while retaining a very good visual fidelity in highly textured surfaces (fur, stone, scratches, etc.).

Synthetic benchmark

Synthetic scene made with Blender. The cameras placed on the two parallel circumferences (in black) are used as the training set, while the others (in orange) form the test set.

Synthetic benchmark.

SDFoam GUI

SDFoam GUI. The voronoi seeds can be filtered using a combination of a SDF threshold and an alpha threshold, and the geometry can be computed by obtaining the corresponding Voronoi vertices and faces from the Voronoi diagram.

SDFoam GUI.

Extracting the mesh

Left: filtering the Voronoi sites through alpha + SDF thresholding. Right: the output extracted textured mesh.

SDFoam GUI point cloud
SDFoam GUI mesh

Floaters and outliers

Left: RF, Right: SDFoam. Our method successfully gets rid of floaters by leveraging the per-cell SDF values and converting them to density.

RadFoam cube
SDFoam cube

Left: RF, Right: SDFoam. On RF we can filter out cells based on their alpha value. However, sometimes thresholding is not enough and floating or unwanted sites remain. On SDFoam, we can filter sites both by their alpha value and SDF value, precisely removing any unwanted site. The processed SDFoam scene can be left as is, or converted into a colored point cloud or mesh.

RadFoam GUI point cloud
SDFoam GUI point cloud

Surface flatness

Qualitative comparison of geometry and viewpoint rendering. From top to bottom: RadiantFoam RGB rendering, RadiantFoam depth, SDFoam RGB rendering, SDFoam depth, and (last row) SDFoam per-cell SDF.

Surface flatness.

Mesh post-processing

Loading the SDFoam extracted mesh into Blender or any other software for further processing. As seen from the wireframe orthographic views, the walls of the building remain straight, and the high poly count allows each face to retain a sigle color, which is needed for visual fidelity. A lower polygon count mesh can be obtained at this stage through remeshing and uv remapping.

Mesh post-processing.

BibTeX

Coming soon...