Fast Differentiable Raycasting for Neural Rendering using Sphere-based Representations
Differentiable rendering in combination with deep learning promises great advantages: deep learning models can produce realistic scenes rapidly, while differentiable rendering offers consistent scene representations and respective gradients. However, gradient based optimization of classical mesh representations is cumbersome because of the explicit topology encoding. Moreover, complex scenes may need detailed geometric representation, requiring many geometric primitives and a fast rendering operation. We propose to break up the rendering process into multiple parts: (1) the scene representation, (2) a differentiable geometry projection and (3) neural shading. While mature, off-the-shelf models for scene representation and neural shading are widely available, we propose pulsar as a general purpose differentiable geometry engine tightly integrated with PyTorch. By replacing mesh representations with sphere clouds for the scene representation, the operation is fast compared to existing differentiable renderers and avoids problems with surface topology. It provides gradients for the full scene parameterization, i.e., sphere positions, colors, radiuses, opacity and the camera parameters. pulsar can execute many times, up to orders of magnitudes faster than existing renderers and allows real-time rendering and optimization of scenes with millions of spheres. It can be used for 3D reconstruction, rendering and volumetric scene optimization.
READ FULL TEXT