MonoGS

Matsuki 2024 · Paper

One-line summary — “Gaussian Splatting SLAM” (CVPR 2024 highlight): the first application of 3D Gaussian Splatting in monocular SLAM, using Gaussians as the only 3D representation and tracking the camera by direct optimisation against the rasterised map, live at 3 fps.

Problem

3D Gaussian Splatting produces photorealistic maps with fast differentiable rasterisation, but the original 3DGS algorithm “requires accurate poses from an offline Structure from Motion (SfM) system” — it is a batch method with poses given. Using it inside SLAM means the opposite: estimate poses from the Gaussians while incrementally building them from a live camera, in “the most fundamental but the hardest setup for Visual SLAM” — a single monocular RGB stream, where rasterisation imposes no constraint along the viewing ray and newly inserted Gaussians are geometrically ambiguous until multiple views constrain them.

Method & architecture

The map is a set of anisotropic Gaussians G\mathcal{G}, each with colour cic^i, opacity αi\alpha^i, world-frame mean μWi\boldsymbol{\mu}_W^i and covariance ΣWi\boldsymbol{\Sigma}_W^i (spherical harmonics omitted). A pixel colour is synthesised by splatting and alpha-blending N\mathcal{N} depth-sorted Gaussians:

Cp=iNciαij=1i1(1αj),Dp=iNziαij=1i1(1αj),\mathcal{C}_p=\sum_{i\in\mathcal{N}}c_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j), \qquad \mathcal{D}_p=\sum_{i\in\mathcal{N}}z_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j),

where ziz_i is the distance to Gaussian ii along the ray (depth is rasterised the same way). Projection into the image is μI=π(TCWμW)\boldsymbol{\mu}_I=\pi(\boldsymbol{T}_{CW}\cdot\boldsymbol{\mu}_W), ΣI=JWΣWWJ\boldsymbol{\Sigma}_I=\mathbf{J}\mathbf{W}\boldsymbol{\Sigma}_W\mathbf{W}^\top\mathbf{J}^\top, with TCWSE(3)\boldsymbol{T}_{CW}\in SE(3) the camera pose, J\mathbf{J} the Jacobian of the linearised projection and W\mathbf{W} the rotation part of TCW\boldsymbol{T}_{CW}.

DμCDTCW=[IμC×],\frac{\mathcal{D}\boldsymbol{\mu}_C}{\mathcal{D}\boldsymbol{T}_{CW}}=\begin{bmatrix}\boldsymbol{I} & -\boldsymbol{\mu}_C^{\times}\end{bmatrix},

where μC×\boldsymbol{\mu}_C^{\times} is the skew-symmetric matrix of the Gaussian centre in camera coordinates. These plug straight into the CUDA rasteriser.

Results

On a desktop with an RTX 4090 (multi-process implementation, live at 3 fps monocular):

Why it matters for SLAM

MonoGS is the canonical monocular entry point to Gaussian-splatting SLAM: it showed that a rendering-quality map and camera tracking can share one differentiable representation at interactive rates. Its analytic-Jacobian, direct-alignment formulation connects splatting SLAM back to the direct methods (DTAM, LSD-SLAM, DSO) — the same photometric principle applied to a far richer map — and its covisibility keyframing echoes DSO’s window management. It comes from the same Imperial College lab as MonoSLAM and iMAP, each of which redefined the map representation of its era.

Hands-on