Differentiable Rendering
黃慧光
Homepage: https://shuangz.com/projects/psdr-sg20/
Rendering pipeline
Rasterization
Triangle Rasterization
Line drawing
Test and Blending : Z-buffering
OpenDR:an approximate differentiable renderer�(ECCV 2014)
GT
GT& initial scene
difference
final result
Forward rendering
Appearance (A):per-vertex brightness
Geometry (V ):vertex locations
Camera (C):camera parameters
intermediate variable
Projection coordinates(U): The coordinates of the vertex in screen space after coordinate transformation (can be understood as the output of the vertex shader)
Limitations:
1. Inconsistency between forward and reverse processes
2.Unable to pass gradient into occluded triangle
3. Vertices can only receive gradients from adjacent
pixels within a short distance
Soft Rasterizer: A Differentiable Renderer for Image-based 3D Reasoning�(ICCV 2019)
Differentiable formulation
Probability Map Computation
Aggregate Function
Experiments: Image-based 3D Reasoning
Single-view Mesh Reconstruction�
Color Reconstruction
Color Reconstruction
Accelerating 3D Deep Learning with PyTorch3D�(2020 Facebook AI Research )
3D operators
Chamfer loss is a common metric that quantifies agreement between point clouds P and Q. Formally
PyTorch3D avoids this inefficiency (and supports heterogeneity) by using our efficient KNN to compute neighbors. Figure 1a compares ours against the naïve approach with B = 32, |P | = 1000, and varying |Q|. The naïve approach runs out of memory for |Q| > 10k, while ours scales to large point clouds and reduces time and memory use by more than 12×.
Differentiable mesh renderer
Rasterizer
Pytorch3D’s rasterizer departs from [Soft Rasterizer] in three ways to improve efficiency and modularity.
Shaders
This design is highly modular, as users can easily implement new shaders to customize the renderer.
Performance
Differentiable point cloud renderer
PyTorch3D also provides an efficient and modular point cloud renderer following the same design as the mesh renderer.
Each point is splatted to a circular region in screen-space whose opacity decreases away from the region's center
In our experiments we consider two blending methods: Alpha-compositing and Normalized weighted sums
Alpha-compositing uses the depth ordering of points , Norm ignores the depth order
Experiments
Thanks