GS-ICP SLAM
Ha 2024 · Paper
One-line summary — “RGBD GS-ICP SLAM” fuses Generalized ICP tracking and 3DGS mapping through their shared common factor — Gaussians (mean + covariance) — so covariances flow both ways between tracking and mapping, reaching up to 107 FPS for the entire system.
Problem
Early 3DGS SLAM systems (SplaTAM, MonoGS, GS-SLAM) track the camera by rendering the Gaussian map and minimising dense photometric error — dozens of rasterisation passes per frame — so tracking is slow, while decoupled systems (Photo-SLAM, Orbeez-SLAM, vMAP) bolt an ORB-SLAM frontend onto a neural map, requiring “separate maps containing ORB feature information for tracking” whose computations are never reused for mapping. GS-ICP SLAM’s observation: a 3D Gaussian already is a probability distribution, and G-ICP registration needs exactly means and covariances — so “G-ICP and 3DGS can share the same Gaussian world.”
Method & architecture
The scene is one set of Gaussians (3D points plus covariances, with colour and opacity sets for rendering). Per frame: downsample and back-project the depth image into source Gaussians, track with G-ICP against the map, and (for keyframes) insert the source Gaussians as new map primitives while a parallel mapping thread optimises them by rasterisation.
- G-ICP tracking: with correspondences from nearest-neighbour search and residual , each point is a Gaussian random variable, so and maximum-likelihood estimation gives the distribution-to-distribution (Mahalanobis) objective
i.e. registration weighted by the combined uncertainty of both distributions. No image is ever rendered for tracking.
- Covariance sharing: covariances computed for the current frame during G-ICP become the initial covariances of newly inserted map Gaussians, and the map’s optimised Gaussians serve directly as G-ICP targets — no recomputation, no densification or opacity reset needed.
- Ellipse scale regularisation (tracking): decomposing by SVD, instead of the classic plane-forcing , scales are normalised as , preserving each map Gaussian’s optimised shape (lines, corners) rather than flattening everything to planes.
- Scale aligning (mapping): sensor point clouds get sparser with distance, so kNN covariances far from the camera are too large; new keyframe Gaussians are normalised as (best with ) before insertion.
- Mapping loss: Gaussian positions, covariances, colours, opacities are optimised by , randomly sampling one past keyframe per iteration to avoid viewpoint-local minima, plus pruning of degenerate Gaussians.
- Two-tier keyframes: tracking keyframes are chosen by the proportion of G-ICP correspondences (a free by-product of tracking); extra mapping-only keyframes densify training views without feeding scan-matching error back into tracking.
Results
On a Ryzen 7 7800X3D + RTX 4090, RGB-D input:
- Replica ATE RMSE: 0.16 cm average across 8 scenes — best in every scene, less than half the previous best (SplaTAM 0.36, GS-SLAM 0.50, Point-SLAM 0.54 cm).
- Replica map quality / speed: with tracking limited to 30 FPS, PSNR 38.83 dB / SSIM 0.975 / LPIPS 0.041 (SOTA across all scenes; SplaTAM 33.89, Point-SLAM 35.62 dB). With no speed limit the whole system averages 98.11 FPS, peaking at 107.06 FPS (office1), still at 35.93 dB — vs SplaTAM’s 0.23 FPS and Point-SLAM’s 0.30 FPS.
- TUM RGB-D: ATE avg 2.4 cm, best among coupled systems (SplaTAM 3.2, GS-SLAM 3.7, NICE-SLAM 4.0); decoupled ORB-SLAM3/Photo-SLAM reach 1.3 cm but need a separate feature map. System runs at 73.92 FPS unlimited with PSNR ~11.7% below SplaTAM — at roughly 92x (30-FPS mode) to 227x its speed.
- Ablations: ellipse vs plane vs no scale regularisation on TUM: 2.37 vs 29.12 vs 236.54 cm ATE; using G-ICP covariances with scale aligning improves Replica from 8.89 cm ATE / 24.81 dB (vanilla kNN init) to 0.157 cm / 38.83 dB.
Why it matters for SLAM
GS-ICP SLAM shows that classical geometric registration and modern differentiable rendering can share a single data structure: track by geometry, map by appearance, one probabilistic Gaussian world serving both. Conceptually it reconnects the 3DGS wave with decades of ICP-based RGB-D SLAM (KinectFusion lineage) — and because tracking never renders, it is inherently robust to exposure changes that plague photometric trackers. For practitioners it remains the go-to demonstration that dense photorealistic SLAM does not have to be slow.