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