Laboratory Class 12

In this class, we will understando how PyTorch3D implements a differentiable rendering for meshes and pointclouds.

Our goals are to understand the following:

  • PyTorch3D’s adaptation of Soft Rasterizer for meshes.
  • PyTorch3D’s integration of Pulsar renderer for pointclouds
  • How to set up a renderer effectively in PyTorch3D

Demo Notebook Open In Colab

References:

  1. PyTorch3D: Getting Started with Renderer
  2. Source code for standard shaders in PyTorch3D: https://github.com/facebookresearch/pytorch3d/blob/main/pytorch3d/renderer/mesh/shader.py
  3. Source code for points rasterizer in PyTorch3D: https://github.com/facebookresearch/pytorch3d/blob/main/pytorch3d/renderer/points/rasterizer.py
  4. OpenDR: An Approximate Differentiable Renderer paper
  5. Neural 3D Mesh Renderer - paper
  6. Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning - paper
  7. Pulsar: Efficient Sphere-based Neural Rendering paper