Learning Implicit Surface Light Fields

03/27/2020 ∙ by Michael Oechsle, et al. ∙ Max Planck Society ETAS 1

Implicit representations of 3D objects have recently achieved impressive results on learning-based 3D reconstruction tasks. While existing works use simple texture models to represent object appearance, photo-realistic image synthesis requires reasoning about the complex interplay of light, geometry and surface properties. In this work, we propose a novel implicit representation for capturing the visual appearance of an object in terms of its surface light field. In contrast to existing representations, our implicit model represents surface light fields in a continuous fashion and independent of the geometry. Moreover, we condition the surface light field with respect to the location and color of a small light source. Compared to traditional surface light field models, this allows us to manipulate the light source and relight the object using environment maps. We further demonstrate the capabilities of our model to predict the visual appearance of an unseen object from a single real RGB image and corresponding 3D shape information. As evidenced by our experiments, our model is able to infer rich visual appearance including shadows and specular reflections. Finally, we show that the proposed representation can be embedded into a variational auto-encoder for generating novel appearances that conform to the specified illumination conditions.



There are no comments yet.


page 9

page 12

page 13

page 14

page 23

page 24

page 25

page 26

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Figure 1: Illustration. Given an RGB image and corresponding (predicted or true) 3D geometry as input, our conditional implicit surface light field model allows for manipulating the light configuration and synthesizing novel viewpoints. Note how shadows and specular reflections are faithfully captured by our model.

Recently, neural implicit representations of 3D objects have emerged as a powerful paradigm for reasoning about the geometry and texture of objects from a single image as input [28, 33, 34, 32, 42, 40]. The main advantage of implicit models is their ability to represent 3D structure continuously while handling arbitrary geometric topologies. Unfortunately, however, existing implicit methods are not able to model the full visual appearance of 3D objects which requires reasoning about the complex interplay of light, geometry and surface properties. Consequently, the resulting 3D reconstructions appear “lifeless”, missing view- and light-dependent illumination effects such as shadows or specular reflections.

In the graphics and vision community, synthesizing rich visual appearance of objects using learning-based methods has emerged as a popular research direction with the promise to replace the currently dominating, but slow and work-intensive 3D modeling and physically-based rendering [16] paradigm. Some methods learn neural rendering of voxel features [41, 31] or neural texture maps [44] for synthesizing novel views of an object. Similarly, Chen et al. [6] learn the surface light field of a single object. Even though these methods achieve high realism, they must be retrained for each new object and they do not allow modification of the illumination. In contrast, in this work, we are interested in the following, more challenging scenario: Our goal is to infer conditional surface light fields which allow for manipulating illumination conditions and which can be applied to novel, previously unseen objects.

More specifically, we propose an implicit representation for parameterizing conditional surface light fields. As illustrated in Fig. 1, our model takes an RGB image and corresponding 3D shape information of an object as input and allows for generating photo-realistic images of the object from arbitrary viewpoints and light configurations. Towards this goal, we train our model to regress color values given a 3D location on the object’s surface, the camera viewpoint and the location and color of a point light source. We empirically demonstrate that our network represents high-frequency material properties while generalizing across object shapes, light settings and viewpoints. While trained on synthetic renderings and ground truth geometry, we find that our method generalizes to real images and captures complex physical illumination phenomena including shadows and specular highlights. Exploiting the well-known rendering equation [17], we demonstrate that our model extends beyond point light sources, enabling implicit rendering using realistic environment maps. We also extend our representation to the generative setting which allows for synthesizing novel appearances conforming to given illumination conditions and for transferring appearances from one model to another. Our contributions are summarized as follows:

  • We propose Conditional Implicit Surface Light Fields (cSLF), a novel appearance representation of 3D objects which allows for rendering novel views and varying the light color and the light location.

  • We experimentally verify that our method is able to represent textures, diffuse and specular reflections as well as shadows of a 3D object.

  • We apply our model for predicting the appearance of a novel object from a single RGB image given ground truth and inferred 3D shape information.

  • We demonstrate the generative modeling capabilities of our representation by transferring and synthesizing novel physically plausible appearances.

2 Related Work

We now discuss the most related works on neural and differentiable rendering, surface light field estimation and implicit shape and appearance modeling.

Neural Rendering: The recent success of Generative Adversarial Networks (GANs) [10, 4, 18, 19]

has enabled novel image synthesis approaches which employ 2D or 3D convolutional neural networks to generate image content directly from a latent code. These methods mainly differ in terms of the input representation. Examples include voxel-based representations

[31, 41, 37, 29, 30], primitive-based representations [24], depth-based representations [1, 47] and texture-based representations [44]. In contrast to CNN based rendering approaches, our method is inherently 3D consistent as we directly predict the object appearance in 3D. Moreover, our model allows for fine grained viewpoint and lighting control.

Differentiable Rendering:

Recently, several methods proposed to backpropagate gradients through the rendering pass

[26, 7, 20, 25]. This allows for predicting explicit 3D appearance representations including texture maps [7, 20, 25] and voxel colors [13]. Chen et al. [7] learn to predict the geometry and texture of a 3D mesh as well as the light position from a single image. In contrast to these methods, we are interested in inferring a conditional surface light field which also captures more complex physical light-transport phenomena including both shadows and specular highlights. Furthermore, our implicit representation is continuous and independent of the underlying geometric representation.

Surface Light Fields: A surface light field represents the outgoing light at a given location on a 3D surface as a function of the viewing direction [11, 46]. Maximov et al. [27] propose a method for representing material-light interaction with a neural network which maps normals and the viewing direction to color values. Chen et al. [6] model the appearance of a triangular mesh based on the UV coordinates and the viewing direction. In contrast to traditional surface light fields we do not assume fixed illumination but instead condition on the light source. This allows our model to manipulate illumination at inference time. Furthermore, while all aforementioned models consider a single object, our approach is able to predict light fields for novel unseen objects.

Implicit 3D Representations: Recently, implicit 3D geometry models have gained popularity [28, 34, 8] as they circumvent the discretization inherent to traditional explicit representations. Implicit appearance models represent texture information by learning the mapping from 3D location to color [33, 32, 42, 40]. However, all existing implicit representations are restricted to simple textures which represent only diffuse material properties. In contrast, our model represents both diffuse and specular material properties as well as shadows. Furthermore, modeling surface properties allows for capturing high-frequency details which cannot be captured with texture models (see Fig. 3 in our experiments).

3 Method

Figure 2: Model Overview. Our Conditional Implicit Surface Light Field (cSLF) takes an encoding of a real image () and corresponding 3D shape () as well as a light configuration () as input and outputs a color value for every 3D location .

An overview of our model is provided in Fig. 2. We take a 2D image and the corresponding 3D shape as input, and encode both into latent representations ( and ) which are fed into our conditional implicit Surface Light Field (cSLF). Given a 3D point , its viewing direction and the light configuration , our cSLF model then outputs the predicted color value for this point.

We first describe the physical image formation process and traditional surface light field representations. Next, we introduce our cSLF model. Finally, we provide details about the network architectures and the loss functions.

3.1 Background

Physically-based rendering techniques [16] utilize the rendering equation to calculate the amount of light that radiates from a specific surface location into the direction of the camera. Let denote a 3D surface point and

the viewpoint of the camera, i.e., the vector from

to the camera center. Let further denote the incoming light direction. The rendering equation describes how much of the light arriving at is reflected into the camera direction :


Here, denotes the spatially varying bidirectional reflectance distribution function which models the interaction between light and the surface of a 3D object by determining the proportion of light reflected in outgoing direction from incoming light direction . Furthermore, is the incoming radiance and describes the surface normal at point .

Surface light fields [11, 46] instead directly represent the radiated light as a function that associates a color value with every surface location and view direction . Formally, they are described by the following mapping:


While this mapping can be learned using neural networks [27, 6], surface light fields do not allow for varying the light configuration. Instead, the illumination properties are “hard-coded” in this representation. In contrast, the model proposed in the following is conditioned on the light configuration, thus allowing the modification of illumination parameters at inference time.

3.2 Conditional Implicit Surface Light Fields

In this work, we aim at representing illumination-dependent visual appearance by learning a surface light field conditioned on a single light source. We refer to this representation as conditional implicit Surface Light Field (cSLF)


where denotes the parameters of a point light source111In practice, we use a small area light source to avoid hard non-differentiable shadows. (e.g., its location in 3D space and color). and encode the object shape and image content, respectively. We represent implicitly using a neural network. In contrast to traditional surface light fields (2), our implicit representation allows for querying the light field for any light configuration and object encoding . This allows our model to generalize to novel, previously unseen 3D objects.

While our cSLF model considers a single point light source during training, more complex light settings, including spatial varying illumination, can be achieved by combining multiple evaluations of Eq. (3) at inference time. Discretizing the domain in Eq. (1) and letting denote a sampling-based approximation of the environment map (i.e., in corresponds to one pixel in the environment map), we obtain the aggregate surface light field as:


In our experiments, we evaluate two different parameterizations of Eq. (3).

1-Step Model: Our first model represents (3) using a single neural network:


2-Step Model: Second, we split the parameterization of Eq. (3) into a two-step process. We first map the 3D location conditioned on global shape () and image () information into an -dimensional appearance feature . The resulting appearance field is described by:


Note that in contrast to the global image feature, is a localized appearance representation of the 3D object. As is independent of the viewpoint and lighting , it captures mostly material properties. The interaction between the object surface and light is modeled using a lighting model which maps the appearance , the viewpoint , the light and the shape into an RGB value:


Splitting the inference process into two steps allows for pre-computing the appearance features. Thus, when manipulating the light setting, only the lighting model needs to be evaluated. This is particularly important when considering more complex light settings (e.g., environment lighting) as in Eq. (4).

3.3 Network Architectures

We now briefly discuss the network architectures. See supplementary for details.

Image Encoder: We use the image encoder of [28] which consists of a ResNet-18 that outputs a 512-dimensional image encoding .

Geometry Encoder: To provide global shape information to our model, we sample 2048 points from the object surface and use the PointNet-based residual network of [28] which encodes the 3D point cloud into a shape vector .

Surface Light Field: We parameterize the networks , and of our surface light field model using fully-connected residual networks.

3.4 Loss Functions

We train our model in a supervised fashion on photo-realistic renderings of 3D models. More specifically, we randomly sample a batch of 3D models along with one random input and one random target view. We also randomly sample the point light source location and color (). We randomly select pixels from the target view and project them into 3D, resulting in a set of 3D points . We also render photo-realistic RGB images for both the input and the target view using the Blender Cycles renderer. During training, we apply a photometric loss between the predicted color values and the ground truth color values :


where represents the predicted color values for all points of batch .

To evaluate the generative capabilities of our surface light field representation, we auto-encode the image

using a Variational Autoencoder (VAE)

[22, 38]. More specifically, we use a ResNet-based encoder which embeds an image and a shape representation into a latent code . The decoder is given by the surface light field model described in Section 3.2 which predicts a color value for every pixel, given its 3D location , the viewpoint , the light configuration , the object shape and the latent code . The loss function for training our VAE model is thus given by



represents the Kullback-Leibler divergence,

follows the posterior distribution and is a trade-off parameter [15] between the KL-divergence and the reconstruction loss.

4 Experimental Evaluation

We conduct three different types of experiments. First, we investigate the ability of our method to capture the surface light field of a single object illuminated by a point light source. Next, we use our model to predict the surface light field of previously unseen objects from a single image. Furthermore, we provide results for geometry reconstruction and appearance prediction from a single image by applying our method to the output of Occupancy Network [28] reconstructions. Finally, we show qualitative results from our generative model which learns the conditional distribution of surface light fields given the object geometry.

Dataset: While ShapeNet [5] provides a large variety of 3D models, these models are not suitable for our experiments as they lack realistic materials. We therefore use the Photoshapes dataset [35] which contains meshes of chairs with a large variety of realistic materials. We split the dataset into a training set, a validation set and a test set with ratio . In our single object experiment, we further show results on a high-quality 3D car model from free3d.com. For testing our models on real-world data we use the Pix3D dataset [43].

Rendering: We use the Blender Cycles Renderer [3] to generate ground truth RGB images and depth maps from random viewpoints and light locations, sampled from the upper hemisphere. More details on the rendering process are provided in the supplementary.

4.1 Single Object Experiment

We first investigate the representation power of our model wrt. texture, reflections and shadows by training it on a single object and evaluating it on novel unseen viewpoints and light conditions. To analyze shadows, we choose a chair with thin armrests in Fig. 3. For analyzing reflections, we use a car model which contains highly specular materials in Fig. 4. For training, we render 50 views with 30 lighting conditions each. For evaluation, we choose views that are substantially different from the training views wrt. viewpoint and light location. We also show the nearest neighbor from the training set (Fig. 3 left).

Shadow Analysis: Fig. 3 shows a comparison of our model to Texture Fields [33], a state-of-the-art implict model for texture representation. As illustrated in Fig. 3, our method successfully infers shadows and textural details for novel view and lighting configurations. Note that synthesizing accurate shadows requires reasoning about the underlying geometry and is hence very challenging. In contrast, the texture-based model [33] “averages” shadows and texture details due to its inability to capture illumination effects.

Reflection Analysis: To further investigate the capability of our model to accurately represent surface light fields, we apply our method to a car model which consists of highly specular materials in Fig. 4. By representing complex illumination as a combination of light sources, our method is able to reason about the appearance of 3D objects in complex illumination settings. We represent environment maps as the superposition of point light sources using Eq. (4) and show examples of the car model rendered using different environment maps in Fig. 4. We find that our model is able to accurately capture specular reflections, which allows for rendering 3D objects in complex illumination environments.

Figure 3: Shadow Analysis. Comparison of TextureFields [33] and our 2-step model with respect to the nearest neighbor and ground truth for two different views. The small inlet shows the reconstruction error (blue=low error, red=large error).
Figure 4: Reflection Analysis. We show results for a highly specular car with three different environment maps.

4.2 Single View Appearance Prediction

While reasoning about the inter-dependence between light, surface, and viewpoint of a single object is a challenging task, we now address the even more challenging problem of inferring surface light fields for novel, previously unseen objects. To successfully solve this task, the network must implicitly infer appearance properties and geometric properties (e.g., surface normals, shadowing effects, etc.) of objects from the input image and shape encoding. For this experiment, we render images and depth maps from 10 different viewpoints per object with 4 randomly sampled light locations per view. We train our model using an image resolution of pixels.


As many existing neural rendering techniques use 2D CNNs for image synthesis, we consider a CNN-based image-to-image translation network as a baseline for our method. Similar to 

[33, 44], we employ a U-Net architecture [39]. which maps a depth image from the same viewpoint to an RGB image, conditioned on the light location and the geometry of the object. We refer to this baseline as Img2Img, see supplementary for details. As a second baseline, we use Texture Fields [33], a state-of-the-art implicit texture model.

Metrics: We evaluate all methods on three different metrics. First, we compute the FID score between a set of predicted images and ground truth images [14]. We further report the Structure Similarity Image Metric (SSIM) [45] and a distance measure in the Inception feature space between the predicted image and the ground truth as in [33].

Surface Light Field Prediction: In our first experiment, we predict the appearance of a novel object from a single RGB image and the corresponding ground truth geometry embedding. Fig. 5 shows the predictions for different light locations using our method, the Img2Img baseline and Texture Fields [33].

Input TexFields Img2Img Ours 1-s Ours 2-s GT
Figure 5: Single View Appearance Prediction. Results of our method and the provided baselines for predicting the appearance of a novel, previously unseen object.

Does our model predict accurate textures? Fig. 5 shows that our method is able to reconstruct details from the input view like the brown armrests and chair legs. While our methods reconstruct plausible colors, the Img2Img baseline produces artifacts at borders between two color regions.

Does our model predict plausible shadows for different light configurations? Fig. 5 shows that our method is able to reason about shadows. Note that even for the geometry of the last example, our model predicts a rough silhouette. The Img2Img baseline, in contrast, results in very noisy predictions. The Texture Field baseline lacks a physical understanding of image formation and thus “averages” shadows in the training data, leading to blurry results.

Does our model represent specular reflections? The examples in Fig. 5 contain specularities as well as more diffuse reflection properties. In contrast to the Img2Img Baseline and Texture Fields, our method is able to predict plausible specular reflections (brown chair) as well as diffuse materials (red couch).

Quantitative Comparison: In Table 1, we quantitatively compare our method to the baselines. While our method and the Img2Img baseline compare similarly in SSIM, our method performs favorably in terms of FID and Feature- distance. As expected, the Texture Field baseline is significantly worse compared to the other methods, since it does not capture the full visual appearance. However, we remark that none of the metrics focuses explicitly on shadows or surface properties, highlighting the importance of our qualitative comparisons.

FID SSIM Feature-
Texture Fields 33.46 0.94 0.16
Img2Img Translation 27.01 0.96 0.14
Ours 1-step 21.26 0.96 0.13
Ours 2-step 21.20 0.96 0.13
Table 1: Single View Appearance Prediction. Quantitative comparison of our approach with the Img2Img baseline. Our method performs better on the FID and Feature- metric. In the less accurate SSIM metric all methods perform similarly.
FID SSIM Feature-
Ours 1-step (2 views) 24.51 0.95 0.14
Ours 2-step (2 views) 24.72 0.95 0.14
Ours 2-step (w/o shape ) 24.30 0.95 0.14
Ours 2-step 21.20 0.96 0.13
Table 2: Ablation Study. Quantitative results when removing the input shape encoding () and reducing the number of training views per object to 2.

Ablation Study: We hypothesized that our model relies on geometric information (shape encoding in Fig. 2) to model shadows and surface properties. We therefore compare our approach against a version without shape encoding (Ours w/o shape ) in Table 2. Indeed, removing the shape encoding leads to a degradation in all metrics. We further investigate if our method can also be trained on only two views per object with different light settings (2 views). While two input views per object are sufficient for learning to infer plausible appearance from a single image, the complex physical light formation process cannot be modeled well. We provide qualitative results for this study in the supplementary.

Image-based Reconstruction: While we use ground truth geometry as input in all previous experiments, such information is often not available in real-world settings. We therefore investigate whether our approach allows for inferring the appearance when using inaccurate image-based 3D reconstructions as input. Towards this goal, we train the model proposed in [32] on our renderings and combine it with our surface light field to reconstruct both geometry and appearance from a single RGB image. As evidenced by Fig. 6, our surface light field model allows for inferring accurate textures, reflections and shadow effects even when using less accurate, inferred 3D geometry as input.

Input Image Predictions
Figure 6: Image-based Reconstruction. Reconstruction of geometry and appearance based on a single RGB image. We show the input image in the first column and predictions of our 2-step model for different light configurations in the following columns.

Real Images: We now investigate if our approach trained on synthetic data generalizes to real images as input. We use the Pix3D dataset [43] for this purpose, as it offers real input images with aligned 3D geometry and apply the provided instance masks to the input images. As illustrated in Fig. 7, our approach successfully reasons about the appearance of real objects despite being trained on synthetic data only (both in terms of input and ground truth supervision).

Figure 7: Real Images. Results of our method when using real images of unseen objects as input. Even though our model is trained on synthetic images, it predicts plausible appearance for real images. Note that we used masked images as input.

4.3 Generative Model

In addition to predicting appearance from a single image, we use our approach as a generative model for learning the conditional distribution of surface light fields given a 3D model. In Fig. 8, we show the output of our model for randomly sampled appearance codes 

as well as latent space interpolations using our VAE-based generative model. Our model learns a meaningful latent space, which also allows for transferring appearance from one model to another. We observe that the predictions contain plausible specular reflections and shadows.

Randomly sampled latent code
Interpolated latent code
Input Image Surface Light Field Transfer
Figure 8: Generative Model. We show random samples from our generative model (first row), a latent space interpolation (second row), and surface light field transfers to different geometries.

5 Conclusion

We proposed conditional implicit surface light fields, a novel representation of visual appearance of 3D objects. Our model reasons about complex visual effects including texture, diffuse and specular reflection as well as shadows. Our representation allows for inferring arbitrary viewpoints with novel light configurations. We find that conditional implicit surface light fields are an effective representation of visual appearance. In future work, we plan to further increase the representation power of this model by exploiting convolutional features.


This work was supported by an NVIDIA research gift. The authors thank the International Max Planck Research School for Intelligent Systems (IMPRS-IS) for supporting Michael Niemeyer.


  • [1]

    Alhaija, H., Mustikovela, S., Geiger, A., Rother, C.: Geometric image synthesis. In: Proc. of the Asian Conf. on Computer Vision (ACCV) (2018)

  • [2] Anderson, M., Motta, R., Chandrasekar, S., Stokes, M.: Proposal for a standard default color space for the internet - srgb. In: 4th Color and Imaging Conference, CIC 1996 (1996)
  • [3] Blender Online Community: Blender - a 3D modelling and rendering package. Blender Foundation, Blender Institute, Amsterdam (http://www.blender.org
  • [4] Brock, A., Donahue, J., Simonyan, K.: Large scale GAN training for high fidelity natural image synthesis. In: Proc. of the International Conf. on Learning Representations (ICLR) (2019)
  • [5] Chang, A.X., Funkhouser, T.A., Guibas, L.J., Hanrahan, P., Huang, Q., Li, Z., Savarese, S., Savva, M., Song, S., Su, H., Xiao, J., Yi, L., Yu, F.: Shapenet: An information-rich 3d model repository. arXiv.org 1512.03012 (2015)
  • [6] Chen, A., Wu, M., Zhang, Y., Li, N., Lu, J., Gao, S., Yu, J.: Deep surface light fields. In: ACM Trans. on Graphics (2018)
  • [7] Chen, W., Gao, J., Ling, H., Smith, E., Lehtinen, J., Jacobson, A., Fidler, S.: Learning to predict 3d objects with an interpolation-based differentiable renderer. In: Advances in Neural Information Processing Systems (NIPS) (2019)
  • [8]

    Chen, Z., Zhang, H.: Learning implicit fields for generative shape modeling. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2019)

  • [9] Deserno, M.: How to generate equidistributed points on the surface of a sphere (2004)
  • [10] Goodfellow, I.J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A.C., Bengio, Y.: Generative adversarial nets. In: Advances in Neural Information Processing Systems (NIPS) (2014)
  • [11] Gortler, S.J., Grzeszczuk, R., Szeliski, R., Cohen, M.F.: The lumigraph. In: ACM Trans. on Graphics (1996)
  • [12] He, K., Zhang, X., Ren, S., Sun, J.: Deep residual learning for image recognition. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2016)
  • [13] Henzler, P., Mitra, N.J., , Ritschel, T.: Escaping plato’s cave: 3d shape from adversarial rendering. In: Proc. of the IEEE International Conf. on Computer Vision (ICCV) (2019)
  • [14] Heusel, M., Ramsauer, H., Unterthiner, T., Nessler, B., Hochreiter, S.: Gans trained by a two time-scale update rule converge to a local nash equilibrium. In: Advances in Neural Information Processing Systems (NIPS) (2017)
  • [15] Higgins, I., Matthey, L., Pal, A., Burgess, C., Glorot, X., Botvinick, M., Mohamed, S., Lerchner, A.: beta-vae: Learning basic visual concepts with a constrained variational framework. In: Proc. of the International Conf. on Learning Representations (ICLR) (2017)
  • [16] Jakob, W.: Mitsuba renderer (2010), http://www.mitsuba-renderer.org
  • [17] Kajiya, J.T.: The rendering equation. In: ACM Trans. on Graphics (1986)
  • [18] Karras, T., Aila, T., Laine, S., Lehtinen, J.: Progressive growing of GANs for improved quality, stability, and variation. In: Proc. of the International Conf. on Learning Representations (ICLR) (2018)
  • [19] Karras, T., Laine, S., Aila, T.: A style-based generator architecture for generative adversarial networks. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2019)
  • [20] Kato, H., Ushiku, Y., Harada, T.: Neural 3d mesh renderer. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2018)
  • [21] Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. In: Proc. of the International Conf. on Learning Representations (ICLR) (2015)
  • [22] Kingma, D.P., Welling, M.: Auto-encoding variational bayes. Proc. of the International Conf. on Learning Representations (ICLR) (2014)
  • [23]

    Krizhevsky, A., Sutskever, I., Hinton, G.E.: Imagenet classification with deep convolutional neural networks. In: Advances in Neural Information Processing Systems (NIPS) (2012)

  • [24] Liao, Y., Schwarz, K., Mescheder, L., Geiger, A.: Towards unsupervised learning of generative models for 3d controllable image synthesis. arXiv.org 1912.05237 (2019)
  • [25] Liu, S., Li, T., Chen, W., Li, H.: Soft rasterizer: A differentiable renderer for image-based 3d reasoning. In: Proc. of the IEEE International Conf. on Computer Vision (ICCV) (2019)
  • [26] Loper, M.M., Black, M.J.: Opendr: An approximate differentiable renderer. In: Proc. of the European Conf. on Computer Vision (ECCV) (2014)
  • [27] Maximov, M., Leal-Taixé, L., Fritz, M., Ritschel, T.: Deep appearance maps. In: Proc. of the IEEE International Conf. on Computer Vision (ICCV) (2019)
  • [28] Mescheder, L., Oechsle, M., Niemeyer, M., Nowozin, S., Geiger, A.: Occupancy networks: Learning 3d reconstruction in function space. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2019)
  • [29]

    Nguyen-Phuoc, T., Li, C., Theis, L., Richardt, C., Yang, Y.L.: Hologan: Unsupervised learning of 3d representations from natural images. In: Proc. of the IEEE International Conf. on Computer Vision (ICCV) (2019)

  • [30] Nguyen-Phuoc, T., Richardt, C., Mai, L., Yang, Y.L., Mitra, N.: Blockgan: Learning 3d object-aware scene representations from unlabelled images. arXiv.org 2002.08988 (2020)
  • [31] Nguyen-Phuoc, T.H., Li, C., Balaban, S., Yang, Y.: Rendernet: A deep convolutional network for differentiable rendering from 3d shapes. In: Advances in Neural Information Processing Systems (NIPS) (2018)
  • [32] Niemeyer, M., Mescheder, L., Oechsle, M., Geiger, A.: Differentiable volumetric rendering: Learning implicit 3d representations without 3d supervision. arXiv.org 1912.07372 (2019)
  • [33] Oechsle, M., Mescheder, L., Niemeyer, M., Strauss, T., Geiger, A.: Texture fields: Learning texture representations in function space. In: Proc. of the IEEE International Conf. on Computer Vision (ICCV) (2019)
  • [34] Park, J.J., Florence, P., Straub, J., Newcombe, R., Lovegrove, S.: DeepSDF: Learning continuous signed distance functions for shape representation. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2019)
  • [35] Park, K., Rematas, K., Farhadi, A., Seitz, S.M.: Photoshape: Photorealistic materials for large-scale shape collections. In: ACM Trans. on Graphics (2018)
  • [36]

    Qi, C.R., Su, H., Mo, K., Guibas, L.J.: Pointnet: Deep learning on point sets for 3d classification and segmentation. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2017)

  • [37] Rematas, K., Ferrari, V.: Neural voxel renderer: Learning an accurate and controllable rendering tool. arXiv.org 1912.04591 (2019)
  • [38]

    Rezende, D.J., Mohamed, S., Wierstra, D.: Stochastic backpropagation and approximate inference in deep generative models. In: Proc. of the International Conf. on Machine learning (ICML) (2014)

  • [39] Ronneberger, O., Fischer, P., Brox, T.: U-net: Convolutional networks for biomedical image segmentation. In: Medical Image Computing and Computer-Assisted Intervention (MICCAI) (2015)
  • [40] Saito, S., Huang, Z., Natsume, R., Morishima, S., Kanazawa, A., Li, H.: Pifu: Pixel-aligned implicit function for high-resolution clothed human digitization. arXiv.org 1905.05172 (2019)
  • [41] Sitzmann, V., Thies, J., Heide, F., Nießner, M., Wetzstein, G., Zollhöfer, M.: Deepvoxels: Learning persistent 3d feature embeddings. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2019)
  • [42]

    Sitzmann, V., Zollhöfer, M., Wetzstein, G.: Scene representation networks: Continuous 3d-structure-aware neural scene representations. In: Advances in Neural Information Processing Systems (NIPS) (2019)

  • [43] Sun, X., Wu, J., Zhang, X., Zhang, Z., Zhang, C., Xue, T., Tenenbaum, J.B., Freeman, W.T.: Pix3d: Dataset and methods for single-image 3d shape modeling. In: Proc. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR) (2018)
  • [44] Thies, J., Zollhöfer, M., Nießner, M.: Deferred neural rendering: image synthesis using neural textures. In: ACM Trans. on Graphics (2019)
  • [45] Wang, Z., Bovik, A.C., Sheikh, H.R., Simoncelli, E.P.: Image quality assessment: from error visibility to structural similarity. IEEE Trans. on Image Processing (TIP) 13(4), 600–612 (2004)
  • [46] Wood, D.N., Azuma, D.I., Aldinger, K., Curless, B., Duchamp, T., Salesin, D.H., Stuetzle, W.: Surface light fields for 3d photography. In: ACM Trans. on Graphics (2019)
  • [47] Zhu, J.Y., Zhang, Z., Zhang, C., Wu, J., Torralba, A., Tenenbaum, J.B., Freeman, W.T.: Visual object networks: Image generation with disentangled 3D representations. Advances in Neural Information Processing Systems (NIPS) (2018)

Supplementary Material

1 Implementation Details

We first describe our network architectures in Section 1.1 and provide details regarding the training procedure in Section 1.2.

1.1 Network Architectures

2-Step Model: In Fig. 9, we show the network architectures of our 2-Step model. The first network predicts a 32-dimensional appearance feature vector for a given 3D location . In the single view experiment, we condition the network on the geometry encoding  and input image encoding  as discussed in the main paper. The second network maps the appearance feature vector , the view direction , the light configuration  (e.g. the light location), and the 3D geometry encoding  to an RGB value.

The networks consist of 6 (first network) and 5 (second network) fully-connected residual blocks with a hidden dimension of 128. For the single view experiment, we concatenate all input encodings to form a single vector which we pass through a fully-connected layer and add to the output of every block.

Figure 9: 2-Step Model. Network architectures of our 2-step model that consists of two separate networks. We pass the 3D locations through the first network to determine the appearance feature vector . For the single view experiment, we condition this network on the input image and the object shape . The second network maps , the view direction , the light configuration  and the shape encoding  to an RGB value.

1-Step Model: In contrast to the 2-step model, the 1-Step model consists of a single neural network that maps a 3D location and the view direction  to a RGB value. We condition the network on the geometry encoding , the input image encoding , and the light configuration . Similar to before, we use 10 fully-connected residual blocks. The network architecture is illustrated in Fig. 10.

Figure 10: 1-Step Model. Network architecture of the 1-step model. The network maps a 3D location and a view direction to an RGB value. We condition the network on the image encoding , the light configuration and the shape encoding .

Geometry Encoder: For encoding the geometry of the input object, we randomly sample 2048 points on the surface of the object. We use a PointNet architecture [36] with residual blocks and intermediate pooling [28] to obtain a global feature vector . The network architecture is shown in Fig. 11.

Figure 11: Geometry Encoder. We show the architecture of the geometry encoder. The geometry encoder maps a randomly sampled pointcloud of the input object to a global feature vector .

Image Encoder: We used a Resnet18 [12] network pre-trained on ImageNet [23] for encoding the input image into a global feature encoding . Our input images have a resolution of pixels and the image encoding dimension is . A detailed visualization is provided in Fig. 12.

Figure 12: Image Encoder. We use a pre-trained Resnet18 for encoding the input image into a global feature vector .

VAE Encoder: We implement our generative model as a variational autoencoder [22]. As encoder, we use a Resnet18-based architecture [12] conditioned on the shape encoding . The network maps an image  as well as the corresponding shape encoding 

to a mean and a variance vector of a Gaussian distribution (see Fig. 

13). We sample the latent code from this Gaussian distribution.

Figure 13: VAE Encoder. Our VAE encoder maps an image and a geometry encoding to the mean and variance of the Gaussian distributed latent code .

Image-to-Image Translation Baseline: In the single view experiment, we use an image-to-image translation approach with a U-Net architecture [39] as baseline. The network maps a depth map to an RGB image and is conditioned on the geometry encoding , light configuration , camera position and the image encoding (see Fig. 14). The network is trained in a supervised fashion with paired examples of depth maps and RGB images. During training, we use the same loss function as for our model which is discussed in the main paper.

Figure 14: Image-to-Image Translation. We show the architecture of the Image-to-Image Translation baseline. We pass a depth image through a U-net architecture to directly infer an RGB image.

1.2 Training Details

For simplicity, we explain the training procedure of a single training iteration considering one element of the batch. Depending on the experiment, we first encode the provided conditions into encodings , , or . Second, we sample a set of 500 (single view experiment) and 2048 (single object experiment on chair) pixels of the GT depth map that are inside the object region and map these pixels to their 3D locations using camera intrinsics. We then set the view directions to the normalized vector from the 3D locations to the camera center. Next, we use the 3D locations, view directions and the encodings to obtain the corresponding RGB values. We then determine the loss between the predicted and the ground truth RGB values. In all experiments, we use the ADAM optimizer [21] with a learning rate of . For the single view experiment and the generative model, we train our models with a batch size of 16.

2 Rendering Setup

In this section, we describe the rendering setups in greater detail. We used the Blender Cycles render engine [3] for rendering 3D objects from the Photoshape dataset [35] as discussed in the main paper. The 3D objects are in canonical pose and scaled to the unit cube. We randomly sample camera locations on the northern hemisphere with radius 1.5 (blender units). Similarly, we sample light locations on the northern hemisphere with radius 10. The number of light locations per view differs across the experiments and is hence given in the respective section. For the single view experiment, we additionally use a uniform background light of strength to guarantee that the input images are not completely black. For the reflection analysis experiment, we sample the color of the light source uniformly in RGB space. For all other experiments, we use a white light source.

3 Spatially Varying Illumination

To determine the surface light field wrt. environment maps, we approximate the illumination with a set of small light sources. We determine equidistributed points on a sphere using the method from [9]. We query the color at each of these points from the corresponding pixels in the environment map and consider each point as a single point light source. For each light source, we predict a separate RGB image and combine the resulting images as described in the main paper.

As our rendering procedure of the GT images contains a transformation from a radiometrically linear color space to the sRGB space222https://docs.blender.org/manual/en/latest/render/color_management.html, the predictions of our model are also in the non-linear sRGB space. For composing predicted images, it is thus necessary to transform them into a linear color space [2] before adding the RGB values. In the linear space, we add the images channel- and pixel-wise and then multiply the sum with a constant value reducing overexposure. The constant value is chosen to have a mean intensity of 0.35 in the image. Intuitively, this corresponds to varying the shutter time of a real camera. Finally, we transform the result back to the sRGB space.

4 Additional Results

In this section, we provide more results for the single view appearance prediction experiments with ground truth geometry (Fig. 15) and with reconstructed geometry (Fig. 16). We also show additional results for real input images in Fig. 17. Additional latent space interpolations of our generative model can be found in in Fig. 18.

A qualitative comparison of our models trained on only two views with one light configuration and ten views with four light configurations for each view is depicted in Fig. 19. The models trained on two training views show less accurate shadows and reflections compared to the models trained on all views. However, even when using only two views per object during training our model is able to capture the coarse overall appearance of the object.

Input Image Predictions
Figure 15: Single View Appearance Prediction. Results of our 2-step model for predicting the appearance from a single image of an unseen object. We show predictions for four different light configurations.
Input Image Predictions
Figure 16: Image-based Reconstruction. We show reconstructions of both geometry and appearance from a single input image for four different light configurations.
Figure 17: Real Images. Results of our method when using real images of unseen objects as input. We use images and corresponding 3D geometries from the Pix3D dataset [43].
Figure 18: Generative Model. We show predictions of our generative model for interpolated latent codes. The light location is fixed for all predictions.
Input 1-step 2v 2-step 2v 1-step 2-step GT
Figure 19: Single View Appearance Prediction. Qualitative comparison of our models (1-step, 2-step) trained on two (2 views) and all training views per objects. While the models trained on two views predict reasonable texture, they show less accurate shadows and specular reflections.