SVBRDF Recovery From a Single Image With Highlights using a Pretrained Generative Adversarial Network
This addresses the challenge for designers in virtual scenes who need realistic materials but face difficulties with data acquisition, though it is incremental as it builds on existing GAN methods.
The paper tackles the problem of reconstructing spatially-varying bi-directional reflectance distribution functions (SVBRDFs) from a single image without datasets, using an unsupervised GAN with a stationarity loss and two-stage training, achieving high-quality maps and rendering results that are 8 times faster than previous work.
Spatially-varying bi-directional reflectance distribution functions (SVBRDFs) are crucial for designers to incorporate new materials in virtual scenes, making them look more realistic. Reconstruction of SVBRDFs is a long-standing problem. Existing methods either rely on extensive acquisition system or require huge datasets which are nontrivial to acquire. We aim to recover SVBRDFs from a single image, without any datasets. A single image contains incomplete information about the SVBRDF, making the reconstruction task highly ill-posed. It is also difficult to separate between the changes in color that are caused by the material and those caused by the illumination, without the prior knowledge learned from the dataset. In this paper, we use an unsupervised generative adversarial neural network (GAN) to recover SVBRDFs maps with a single image as input. To better separate the effects due to illumination from the effects due to the material, we add the hypothesis that the material is stationary and introduce a new loss function based on Fourier coefficients to enforce this stationarity. For efficiency, we train the network in two stages: reusing a trained model to initialize the SVBRDFs and fine-tune it based on the input image. Our method generates high-quality SVBRDFs maps from a single input photograph, and provides more vivid rendering results compared to previous work. The two-stage training boosts runtime performance, making it 8 times faster than previous work.