(Please check our new repo: svbrdf-diff-renderer)

MaterialGAN: Reflectance Capture using a Generative SVBRDF Model

Yu Guo, Cameron Smith, Miloš Hašan, Kalyan Sunkavalli and Shuang Zhao.

In ACM Transactions on Graphics (SIGGRAPH Asia 2020).

[Paper] [Code] [Supplemental Materials] [Poster] [Fastforward on Siggraph Asia 2020 (Video)(Slides)]
[Presentation on Siggraph Asia 2020 (Video)(Slides)]

Step by step turotial

  • Create conda environment, with python dependencis: numpy, torch, torchvision, matplotlib, scikit-image, ipython, tqdm, kornia. (Tested on Python3.10, Torch2.3 with CUDA11.8, other versions should also work.)
  • git clone https://github.com/tflsguoyu/materialgan.git
  • cd materialgan
  • Download all the checkpoints to data/pretrain: materialgan.pth latent_avg_W+_256.pt latent_const_W+_256.pt latent_const_N_256.pt vgg_conv.pt
  • python run.py
  • Check the output in data/output
  • For more real captured data, please download [Dataset].
  • To capture your own data, please refer to the input folder data/in/real_cards-blue. Calibrated camera position and light position in world space ([0,0,0] is the center of the image and z is the normal direction) are needed; image_size is the real size of the captured material in cm, and you can keep the light_power the same.

Notes