Factored-NeuS: Reconstructing Surfaces, Illumination, and Materials of Possibly Glossy Objects

Yue Fan, Ivan Skorokhodov, Oleg Voynov, Savva Ignatyev, Evgeny Burnaev +2 more
2/14/2026

No official code found. Best implementation: yiqun-wang/Factored-NeuS (29 stars, PyTorch, last commit 2025-04-09).

Abstract

We develop a method that recovers the surface, materials, and illumination of a scene from its posed multi-view images. In contrast to prior work, it does not require any additional data and can handle glossy objects or bright lighting. It is a progressive inverse rendering approach, which consists of three stages. In the first stage, we reconstruct the scene radiance and signed distance function (SDF) with a novel regularization strategy for specular reflections. We propose to explain a pixel color using both surface and volume rendering jointly, which allows for handling complex view-dependent lighting effects for surface reconstruction. In the second stage, we distill light visibility and indirect illumination from the learned SDF and radiance field using learnable mapping functions. Finally, we design a method for estimating the ratio of incoming direct light reflected in a specular manner and use it to reconstruct the materials and direct illumination. Experimental results demonstrate that the proposed method outperforms the current state-of-the-art in recovering surfaces, materials, and lighting without relying on any additional data.

View on arXivView PDF

Code Implementations(1)

PyTorch

Factored-NeuS: Reconstructing Surfaces, Illumination, and Materials of Possibly Glossy Objects (CVPR 2025)

293Shell, PythonMay 2, 20241 years ago
glossyilluminationimplicit-surfacesinverse-renderingmaterials+4 more

Similar Papers

Cite this paper

@article{fan2026factoredneus,
  title  = {Factored-NeuS: Reconstructing Surfaces, Illumination, and Materials of Possibly Glossy Objects},
  author = {Yue Fan and Ivan Skorokhodov and Oleg Voynov and Savva Ignatyev and Evgeny Burnaev and Peter Wonka and Yiqun Wang},
  year   = {2026},
  eprint = {2305.17929},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2305.17929},
  journal = {CVPR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2305.17929.svg)](https://codeofpaper.com/paper/2305.17929)

Discussion