VarSplat: Uncertainty-aware 3D Gaussian Splatting for Robust RGB-D SLAM
Organizations: Department of Computer Science, George Mason University
Abstract
Simultaneous Localization and Mapping (SLAM) with 3D Gaussian Splatting (3DGS) enables fast, differentiable rendering and high-fidelity reconstruction across diverse real-world scenes. However, existing 3DGS-SLAM approaches handle measurement reliability implicitly, making pose estimation and global alignment susceptible to drift in low-texture regions, transparent surfaces, or areas with complex reflectance properties. To this end, we introduce VarSplat, an uncertainty-aware 3DGS-SLAM system that explicitly learns per-splat appearance variance. By using the law of total variance with alpha compositing, we then render differentiable per-pixel uncertainty map via efficient, single-pass rasterization. This map guides tracking, submap registration, and loop detection toward focusing on reliable regions and contributes to more stable optimization. Experimental results on Replica (synthetic) and TUM-RGBD, ScanNet, and ScanNet++ (real-world) show that VarSplat improves robustness and achieves competitive or superior tracking, mapping, and novel view synthesis rendering compared to existing studies for dense RGB-D SLAM.
Figures & tables
| Method | UC | R0 | R1 | R2 | Off0 | Off1 | Off2 | Off3 | Off4 | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|
| Neural Implicit Fields | ||||||||||
| NICE-SLAM [ 55 ] | ✗ | 0.97 | 1.31 | 1.07 | 0.88 | 1.00 | 1.06 | 1.10 | 1.13 | 1.06 |
| ESLAM [ 15 ] | ✗ | 0.71 | 0.70 | 0.52 | 0.57 | 0.55 | 0.58 | 0.72 | 0.63 | 0.63 |
| Point-SLAM [ 30 ] | ✗ | 0.61 | 0.41 | 0.37 | 0.38 | 0.48 | 0.54 | 0.69 | 0.72 | 0.52 |
| GO-SLAM [ 52 ] | ✗ | 0.34 | 0.29 | 0.29 | 0.32 | 0.30 | 0.39 | 0.39 | 0.46 | 0.35 |
| Loopy-SLAM [ 23 ] | ✗ | 0.24 | 0.24 | 0.28 | 0.26 | 0.40 | 0.29 | 0.22 | 0.35 | 0.29 |
| Method | a | b | c | d | e | Avg. |
|---|---|---|---|---|---|---|
| Neural Implicit Fields | ||||||
| Point-SLAM [ 30 ] | 246.16 | 632.99 | 830.79 | 271.42 | 574.86 | 511.24 |
| ESLAM [ 15 ] | 25.15 | 2.15 | 27.02 | 20.89 | 35.47 | 22.14 |
| GO-SLAM [ 52 ] | 176.28 | 145.45 | 38.74 | 85.48 | 106.47 | 110.49 |
| Loopy-SLAM [ 23 ] | N/A | N/A | 25.16 | 234.25 | 81.48 | 113.63 |
| 3D Gaussian Splatting | ||||||
| Method | UC | fr1/desk | fr1/desk2 | fr1/room | fr2/xyz | fr3/off. | Avg. |
|---|---|---|---|---|---|---|---|
| Neural Implicit Fields | |||||||
| NICE-SLAM [ 55 ] | ✗ | 4.26 | 4.99 | 34.49 | 6.19 | 3.87 | 10.76 |
| MIPS-Fusion [ 40 ] | ✗ | 3.00 | N/A | N/A | 1.4 | 4.6 | N/A |
| Point-SLAM [ 30 ] | ✗ | 4.34 | 4.54 | 30.92 | 1.31 | 4.8 | 8.92 |
| ESLAM [ 15 ] | ✗ | 2.47 | 3.69 | 29.73 | 1.11 | 2.42 | 7.89 |
| Co-SLAM [ 41 ] | ✗ | 2.40 | N/A | N/A | 1.70 | 2.40 | N/A |
| Method | UC | 00 | 59 | 106 | 169 | 181 | 207 | Avg. |
|---|---|---|---|---|---|---|---|---|
| Neural Implicit Fields | ||||||||
| Co-SLAM [ 41 ] | ✗ | 7.1 | 11.1 | 9.4 | 5.9 | 11.8 | 7.1 | 8.7 |
| NICE-SLAM [ 55 ] | ✗ | 12.0 | 14.0 | 7.9 | 10.9 | 13.4 | 6.2 | 10.7 |
| ESLAM [ 15 ] | ✗ | 7.3 | 8.5 | 7.5 | 6.5 | 9.0 | 5.7 | 7.4 |
| Point-SLAM [ 30 ] | ✗ | 10.2 | 10.8 | 8.7 | 7.2 | 22.2 | 14.8 | 12.3 |
| GO-SLAM [ 52 ] | ✗ | 5.4 | 7.5 | 7.0 | 7.0 | 6.8 | 6.9 | 6.8 |
| Method | Metric | R0 | R1 | R2 | Off0 | Off1 | Off2 | Off3 | Off4 | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|
| Neural Implicit Fields | ||||||||||
| NICE-SLAM [ 55 ] | Depth L1 | 1.81 | 1.44 | 2.04 | 1.39 | 1.76 | 8.33 | 4.99 | 2.01 | 2.97 |
| F1 [%] | 45.0 | 44.8 | 43.6 | 50.0 | 51.9 | 39.2 | 39.9 | 36.5 | 43.9 | |
| ESLAM [ 15 ] | Depth L1 | 0.97 | 1.07 | 1.28 | 0.86 | 1.26 | 1.71 | 1.43 | 1.06 | 1.18 |
| F1 [%] | 81.0 | 82.2 | 83.9 | 78.4 | 75.5 | 77.1 | 75.9 | 79.1 | 79.1 | |
| Point-SLAM [ 30 ] | Depth L1 | 0.53 | 0.22 | 0.46 | 0.30 | 0.57 | 0.49 | 0.51 | 0.64 | 0.46 |
| Dataset | Replica [ 36 ] | TUM [ 38 ] | ScanNet [ 5 ] | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Method | PSNR | SSIM | LPIPS | PSNR | SSIM | LPIPS | PSNR | SSIM | LPIPS |
| NICE-SLAM [ 55 ] | 24.42 | 0.892 | 0.233 | 14.86 | 0.614 | 0.441 | 17.54 | 0.621 | 0.548 |
| ESLAM [ 15 ] | 28.06 | 0.923 | 0.245 | 15.26 | 0.478 | 0.569 | 15.29 | 0.658 | 0.488 |
| Point-SLAM [ 30 ] | 35.17 | 0.975 | 0.124 | 16.62 | 0.696 | 0.526 | 19.82 | 0.751 | 0.514 |
| Loopy-SLAM [ 23 ] | 35.47 | 0.981 | 0.109 | 12.94 | 0.489 | 0.645 | 15.23 | 0.629 | 0.671 |
| SplaTAM [ 16 ] | 34.11 | 0.970 | 0.100 | 22.80 | 0.893 | 0.178 | 19.14 | 0.716 | 0.358 |
| Method | a | b | c | d | e | Avg. |
|---|---|---|---|---|---|---|
| ESLAM [ 15 ] | 13.63 | 11.86 | 11.83 | 10.59 | 10.64 | 11.71 |
| SplaTAM [ 16 ] | 23.95 | 22.66 | 13.95 | 8.47 | 20.06 | 17.82 |
| Gaussian-SLAM [ 51 ] | 26.66 | 24.42 | 15.01 | 18.35 | 21.91 | 21.27 |
| LoopSplat [ 54 ] | 25.60 | 23.65 | 15.87 | 18.86 | 22.51 | 21.30 |
| VarSplat (Ours) | 26.97 | 24.52 | 15.19 | 18.07 | 21.92 | 21.33 |
| Model | Tracking | Loop | Registration | ATE RMSE |
|---|---|---|---|---|
| I | ✗ | ✗ | ✗ | 8.20 |
| II | ✓ | ✗ | ✗ | 7.63 |
| III | ✓ | ✓ | ✗ | 7.49 |
| IV | ✗ | ✓ | ✓ | 7.51 |
| V | ✓ | ✓ | ✓ | 6.53 |
| Model | Track Frozen | Depth | Square L2 | ATE RMSE |
| I | ✗ | ✓ | ✓ | 7.55 |
| II | ✓ | ✗ | ✓ | 7.17 |
| II | ✓ | ✓ | ✗ | 7.38 |
| IV | ✓ | ✓ | ✓ | 6.53 |
| Method | Mapping | Mapping | Tracking | Tracking | ATE |
|---|---|---|---|---|---|
| /fr(s) | /iter(ms) | /fr(s) | /iter(ms) | RMSE | |
| NICE-SLAM [ 55 ] | 5.8 | 90.6 | 8.1 | 20.8 | 0.97 |
| Point-SLAM [ 30 ] | 28.7 | 93.1 | 7.1 | 29.0 | 0.61 |
| SplaTAM [ 16 ] | 5.8 | 96.8 | 3.5 | 86.8 | 0.31 |
| LoopSplat [ 54 ] | 1.2 | 30.1 | 1.8 | 29.3 | 0.28 |
| VarSplat (Ours) | 1.9 | 50.3 | 2.0 | 34.1 | 0.20 |
| Params | Replica [ 36 ] | TUM-RGBD [ 38 ] | ScanNet [ 5 ] | ScanNet++ [ 50 ] |
|---|---|---|---|---|
| 0.95 | 0.6 | 0.6 | 0.5 | |
| 0.0002 | 0.002 | 0.002 | 0.002 | |
| 0.002 | 0.01 | 0.01 | 0.01 | |
| 60 | 200 | 200 | 300 | |
| 100 | 100 | 100 | 500 | |
| 10 | 50 | 5 | 10 |
| Dataset | Replica | TUM | ScanNet | ScanNet++ |
|---|---|---|---|---|
| Translation (cm) | 1.07 | 1.39 | 1.34 | 14.77 |
| Rotation (°) | 0.50 | 1.37 | 0.69 | 13.43 |
| Method | Metric | Rm0 | Rm1 | Rm2 | Off0 | Off1 | Off2 | Off3 | Off4 | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|
| NICE-SLAM [ 55 ] | PSNR | 22.12 | 22.47 | 24.52 | 29.07 | 30.34 | 19.66 | 22.23 | 24.94 | 24.42 |
| SSIM | 0.689 | 0.757 | 0.814 | 0.874 | 0.886 | 0.797 | 0.801 | 0.856 | 0.809 | |
| LPIPS | 0.330 | 0.271 | 0.208 | 0.229 | 0.181 | 0.235 | 0.209 | 0.198 | 0.233 | |
| ESLAM [ 15 ] | PSNR | 25.25 | 27.39 | 28.09 | 30.33 | 27.04 | 27.99 | 29.27 | 29.15 | 28.06 |
| SSIM | 0.874 | 0.890 | 0.935 | 0.934 | 0.910 | 0.942 | 0.953 | 0.948 | 0.923 | |
| LPIPS | 0.315 | 0.296 | 0.245 | 0.213 | 0.254 | 0.238 | 0.186 | 0.210 | 0.245 |
| Method | Metric | fr1/desk | fr2/xyz | fr3/office | Avg. |
|---|---|---|---|---|---|
| NICE-SLAM [ 55 ] | PSNR | 13.83 | 17.87 | 12.89 | 14.86 |
| SSIM | 0.569 | 0.718 | 0.554 | 0.614 | |
| LPIPS | 0.482 | 0.344 | 0.498 | 0.441 | |
| ESLAM [ 15 ] | PSNR | 11.29 | 17.46 | 17.02 | 15.26 |
| SSIM | 0.666 | 0.310 | 0.457 | 0.478 | |
| LPIPS | 0.358 | 0.698 | 0.652 | 0.569 |
| Method | Metric | 0000 | 0059 | 0106 | 0169 | 0181 | 0207 | Avg. |
|---|---|---|---|---|---|---|---|---|
| NICE-SLAM [ 55 ] | PSNR | 18.71 | 16.55 | 17.29 | 18.75 | 15.56 | 18.38 | 17.54 |
| SSIM | 0.641 | 0.605 | 0.646 | 0.629 | 0.562 | 0.646 | 0.621 | |
| LPIPS | 0.561 | 0.534 | 0.510 | 0.534 | 0.602 | 0.552 | 0.548 | |
| ESLAM [ 15 ] | PSNR | 15.70 | 14.48 | 15.44 | 14.56 | 14.22 | 17.32 | 15.29 |
| SSIM | 0.687 | 0.632 | 0.628 | 0.656 | 0.696 | 0.653 | 0.658 | |
| LPIPS | 0.449 | 0.450 | 0.529 | 0.486 | 0.482 | 0.534 | 0.488 |
Simultaneous Localization and Mapping
Simultaneous localization and mapping estimates a robot’s motion while building a map of an unknown environment.
See all 197 papers