Learning to Predict 3D Objects with an Interpolation-Based Differentiable Renderer

Abstract

Many machine learning models operate on images, but ignore the fact that images are 2D projections formed by 3D geometry interacting with light, in a process called rendering. Enabling ML models to understand image formation might be key for generalization. However, due to an essential rasterization step involving discrete assignment operations, rendering pipelines are non-differentiable and thus largely inaccessible to gradient-based ML techniques. In this paper, we present DIB-Render, a novel rendering framework through which gradients can be analytically computed. Key to our approach is to view rasterization as a weighted interpolation, allowing image gradients to back-propagate through various standard vertex shaders within a single framework. Our approach supports optimizing over vertex positions, colors, normals, light directions and texture coordinates, and allows us to incorporate various well-known lighting models from graphics. We showcase our approach in two ML applications: single-image 3D object prediction, and 3D textured object generation, both trained using exclusively 2D supervision.

Cite

Text

Chen et al. "Learning to Predict 3D Objects with an Interpolation-Based Differentiable Renderer." Neural Information Processing Systems, 2019.

Markdown

[Chen et al. "Learning to Predict 3D Objects with an Interpolation-Based Differentiable Renderer." Neural Information Processing Systems, 2019.](https://mlanthology.org/neurips/2019/chen2019neurips-learning-a/)

BibTeX

@inproceedings{chen2019neurips-learning-a,
  title     = {{Learning to Predict 3D Objects with an Interpolation-Based Differentiable Renderer}},
  author    = {Chen, Wenzheng and Ling, Huan and Gao, Jun and Smith, Edward and Lehtinen, Jaakko and Jacobson, Alec and Fidler, Sanja},
  booktitle = {Neural Information Processing Systems},
  year      = {2019},
  pages     = {9609-9619},
  url       = {https://mlanthology.org/neurips/2019/chen2019neurips-learning-a/}
}