Neural Implicit Reconstruction and Fast Rendering
Based on Dual Spherical Shell

ICME 2025


Zijian Wang1,2, Yuqi Liu3, Yan Zhao1,2, Binghao Wang1,2, Shen Cai*,1,2, Yanting Zhang1

1School of Computer Science and Technology, Donghua University    2Vision and Geometric Perception Lab
3School of Computer Science and Technology, Tongji University

Core Idea In One Sentence


Given a number of pre-computed concentric spheres, local SDF fitting within DSS is enabled, and early termination as well as parallel sphere tracing are facilitated for more efficient SDF rendering.


Visualization of 3D DSS


Using the Stanford Bunny as an example, yellow denotes the object, gray spheres represent the outer spheres, and blue spheres represent the inner spheres. From left to right, the number of concentric spheres is 8, 64, and 512, respectively.



Local SDF Fitting within DSS


We fit the SDF only within the interlayer region. For any query point, we extract sphere features, apply positional encoding, concatenate the result with the latent vector of the corresponding sphere, and input it into an MLP to predict the SDF value.



SDF Rendering Acceleration


Early Termination: As illustrated in the left figure, the intersection with a pair of concentric spheres implies the early termination of ray tracing, as the ray is guaranteed to hit the model surface before reaching the inner sphere.
Parallel Sphere Tracing (S.T.): As shown in the middle, we can precompute all valid intervals along the ray where surface intersections may occur. Consequently, each valid interval can be assigned to one GPU thread for parallel sphere tracing.



SDF Rendering Results using Surface Normals


The metrics from left to right below each shape are Storage↓, CD($\times 10^3$)↓, and SSIM↑.


NeuS Improvement


We use the sampling points within the interlayer to achieve volume rendering. If the ray simultaneously intersects two concentric spheres, as shown in the right, the sampling along the ray can be terminated.



NeuS Results


The metrics shown from left to right below each shape are PSNR↑ and the rendering time per frame (s)↓.