/nerfactor

Neural Factorization of Shape and Reflectance Under an Unknown Illumination

Primary LanguagePythonApache License 2.0Apache-2.0

NeRFactor

[Paper] [Video] [Project]

teaser

This is the authors' code release for:

NeRFactor: Neural Factorization of Shape and Reflectance Under an Unknown Illumination
Xiuming Zhang, Pratul P. Srinivasan, Boyang Deng, Paul Debevec, William T. Freeman, Jonathan T. Barron
TOG 2021 (Proc. SIGGRAPH Asia)

This is not an officially supported Google product.

Setup

  1. Clone this repository:

    git clone https://github.com/google/nerfactor.git
  2. Install a Conda environment with all dependencies:

    cd nerfactor
    conda env create -f environment.yml
    conda activate nerfactor

Tips:

  • You can find the TensorFlow, cuDNN, and CUDA versions in environment.yml.
  • The IPython dependency in environment.yml is for IPython.embed() alone. If you are not using that to insert breakpoints during debugging, you can take it out (it should not hurt to just leave it there).

Data

If you are using our data, see the "Downloads" section of the project page.

If you are BYOD'ing (bringing your own data), go to data_gen/ to either render your own synthetic data or process your real captures.

Running the Code

Go to nerfactor/ and follow the instructions there.

Issues or Questions?

If the issue is code-related, please open an issue here.

For questions, please also consider opening an issue as it may benefit future reader. Otherwise, email Xiuming Zhang.

Acknowledgments

This repository builds upon or draws inspirations from this TOG 2015 code release, the NeRF repository, and the pixelNeRF repository. We thank the authors for making their code publicly available.

Changelog

  • 09/01/2021: Updates related to SIGGRAPH Asia revision.
  • 06/01/2021: Initial release.