A tutorial on Gaussian Splatting
Vitor Pereira Matias and Daniel Perazzo
Vinícius da Silva, Alberto Raposo, Luiz Velho, Afonso Paiva, Tiago Novello
Problem Statement
2
Problem Statement
3
Impact
4
Superman (2025)
3DGS Citations
Impact
5
Representation
6
Representation
7
Representation
8
Overview
9
Volume
Renderer
Outline
10
Camera
11
Structure from Motion
12
Johannes et al. Structure-from-motion revisited. CVPR 2016.
Set of unposed images
Structure from Motion
Johannes et al. Structure-from-motion revisited. CVPR 2016.
13
Set of unposed images
3D representation of the scene
DEMO
Johannes et al. Structure-from-motion revisited. CVPR 2016.
14
Set of unposed images
3D representation of the scene
Volume Rendering
Drebin et al. Volume rendering. SIGGRAPH 1988
15
Volume Rendering
16
Fong et al. Production volume rendering. SIGGRAPH 2017 course
Volume Rendering Definitions
Drebin et al. Volume rendering. SIGGRAPH 1988
17
Volume Rendering Definitions
Max. Optical models for direct volume rendering. TVCG 2002
18
Emission-absorption model
What is the light intensity of ray?
Volume Rendering Definitions
Max. Optical models for direct volume rendering. TVCG 2002
19
Volume Rendering Equation
20
Volume Rendering Equation
21
Volume Rendering Equation
22
Volume Rendering Equation
23
Volume Rendering Equation
24
Volume Rendering Equation
25
Volume Rendering Quadrature
26
Volume Rendering Quadrature
27
Volume Rendering Quadrature
Mildenhall, Ben, et al. "Nerf: Representing scenes as neural radiance fields for view synthesis." Communications of the ACM.
28
Volume Rendering Quadrature
Mülleret al. Instant neural graphics primitives with a multiresolution hash encoding. SIGGRAPH 2022.
29
Volume Rendering Quadrature
Mülleret al. Instant neural graphics primitives with a multiresolution hash encoding. SIGGRAPH 2022.
30
Volume Rendering Quadrature
Barron al. Zip-nerf: Anti-aliased grid-based neural radiance fields. CVPR 2023.
31
Volume Rendering Quadrature
Barron al. Zip-nerf: Anti-aliased grid-based neural radiance fields. CVPR 2023.
32
FPS
EWA Splatting Discretization
Zwicker, et al. EWA splatting. TVCG 2002.
33
EWA Splatting Discretization
Our volume rendering equation
Zwicker, et al. EWA splatting. TVCG 2002.
34
Mean:
Covariance:
Opacity:
Color :
Define the new density
EWA Splatting Discretization
Our volume rendering equation
Substituting for one gaussian
Zwicker, et al. EWA splatting. TVCG 2002.
35
EWA Splatting Discretization
Our volume rendering equation
Substituting for K gaussians
Zwicker, et al. EWA splatting. TVCG 2002.
36
EWA Splatting Discretization
Our volume rendering equation
Substituting for K gaussians
Zwicker, et al. EWA splatting. TVCG 2002.
37
EWA Splatting Discretization
Our volume rendering equation
Substituting for K gaussians
Zwicker, et al. EWA splatting. TVCG 2002.
38
EWA Splatting Discretization
Our volume rendering equation
How to solve this integral faster?
Zwicker, et al. EWA splatting. TVCG 2002.
39
EWA Splatting Discretization
Our volume rendering equation
How to solve this integral faster?
Zwicker, et al. EWA splatting. TVCG 2002.
40
EWA Splatting Discretization
Our volume rendering equation
We are projecting the gaussians onto the screen!
Affine Transform
Not affine
Zwicker, et al. EWA splatting. TVCG 2002.
41
After
Before
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Affine Transform
Zwicker, et al. EWA splatting. TVCG 2002.
42
Gaussian property!
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Zwicker, et al. EWA splatting. TVCG 2002.
43
Make it affine
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Apply both:
Zwicker, et al. EWA splatting. TVCG 2002.
44
Before
After
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Zwicker, et al. EWA splatting. TVCG 2002.
45
Integrate over this axis
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Zwicker, et al. EWA splatting. TVCG 2002.
46
Integrate over this axis
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Zwicker, et al. EWA splatting. TVCG 2002.
47
Integrate over this axis
Actually we do not need to integrate!
Truncate J to 2x3
EWA Splatting Discretization
Our volume rendering equation
We want to project the gaussians onto the screen!
Zwicker, et al. EWA splatting. TVCG 2002.
48
We now have a bunch of 2D gaussians on the screen plane
Their contributions is just their value at a pixel
Actually we do not need to integrate!
Truncate J to 2x3
EWA Splatting Discretization
Our volume rendering equation
bunch of 2D gaussians on the screen plane
Sort them by depth respective to camera center
Evaluate each at pixel
Perform Alpha blending
Zwicker, et al. EWA splatting. TVCG 2002.
49
Sorted
EWA Splatting Aliasing
50
EWA Splatting Aliasing
Gaussian filter to the projected gaussians
Is the same as updating
They do not update Mip-Splatting does
51
EWA Splatting Pipeline
52
EWA Splatting Results
53
Overview
54
EWA
Splatting
!!!!!!!!
This is fully differentiable (?)
A tutorial on Gaussian Splatting
Vitor Pereira Matias and Daniel Perazzo
Vinícius da Silva, Alberto Raposo, Luiz Velho, Afonso Paiva, Tiago Novello