Differentiable Visual Computing
arXiv:1904.12228
Abstract
Derivatives of computer graphics, image processing, and deep learning algorithms have tremendous use in guiding parameter space searches, or solving inverse problems. As the algorithms become more sophisticated, we no longer only need to differentiate simple mathematical functions, but have to deal with general programs which encode complex transformations of data. This dissertation introduces three tools for addressing the challenges that arise when obtaining and applying the derivatives for complex graphics algorithms. Traditionally, practitioners have been constrained to composing programs with a limited set of operators, or hand-deriving derivatives. We extend the image processing language Halide with reverse-mode automatic differentiation, and the ability to automatically optimize the gradient computations. This enables automatic generation of the gradients of arbitrary Halide programs, at high performance, with little programmer effort. In 3D rendering, the gradient is required with respect to variables such as camera parameters, geometry, and appearance. However, computing the gradient is challenging because the rendering integral includes visibility terms that are not differentiable. We introduce, to our knowledge, the first general-purpose differentiable ray tracer that solves the full rendering equation, while correctly taking the geometric discontinuities into account. Finally, we demonstrate that the derivatives of light path throughput can also be useful for guiding sampling in forward rendering. Simulating light transport in the presence of multi-bounce glossy effects and motion in 3D rendering is challenging due to the hard-to-sample high-contribution areas. We present a Markov Chain Monte Carlo rendering algorithm that extends Metropolis Light Transport by automatically and explicitly adapting to the local integrand, thereby increasing sampling efficiency.
arXiv commentPhD Dissertation
References in corpus (19)
- Very Deep Convolutional Networks for Large-Scale Image Recognition
- Beyond a Gaussian Denoiser: Residual Learning of Deep CNN for Image Denoising
- ADADELTA: An Adaptive Learning Rate Method
- On the Convergence of Adam and Beyond
- cuDNN: Efficient Primitives for Deep Learning
- Deep Bilateral Learning for Real-Time Image Enhancement
- Stochastic Gradient Hamiltonian Monte Carlo
- Sampling Can Be Faster Than Optimization
- Sub-Sampled Newton Methods I: Globally Convergent Algorithms
- Sub-Sampled Newton Methods II: Local Convergence Rates
- Line Drawings from 3D Models
- Elimination of All Bad Local Minima in Deep Learning
- Beyond Pixel Norm-Balls: Parametric Adversaries using an Analytically Differentiable Renderer
- Stochastic Gradient Descent with Biased but Consistent Gradient Estimators
- Estimating the Hessian by Back-propagating Curvature
- A new framework for the computation of Hessians
- A Geometric Theory of Higher-Order Automatic Differentiation
- Tangent: Automatic Differentiation Using Source Code Transformation in Python
- Adversarial Attacks Beyond the Image Space