joeyan / gaussian_splatting

Unofficial implementation of 3D Gaussian Splatting in PyTorch + CUDA with MIT license
MIT License
79 stars 3 forks source link

Use matrix representation of conic to represent 2d covariance #5

Closed joeyan closed 3 months ago

joeyan commented 3 months ago

Previously the 2D covariance matrix was represented with four values:

$$ \Sigma_{2D} = \begin{bmatrix}a & b\\c & d\end{bmatrix} $$

The b and c terms are redundant since the covariance matrix is always symmetric. Instead, we can adopt matrix representation of a conic where:

$$ A = \begin{bmatrix}a & b/2\\b/2 & c\end{bmatrix} $$