---
title: 'S3PO-GS: 3D Gaussian SLAM for Outdoor Scenes'
url: https://www.emergentmind.com/topics/s3po-gs
type: topic
---

# S3PO-GS: 3D Gaussian SLAM for Outdoor Scenes

S3PO-GS is a monocular, RGB-only SLAM system for outdoor scenes built on 3D Gaussian Splatting (3DGS), designed to jointly optimize camera poses and a 3D Gaussian map that supports real-time, high-fidelity novel view synthesis in challenging large-scale environments with strong viewpoint changes [2507.03737]. It was introduced to address three limitations identified in prior 3DGS SLAM formulations for outdoor monocular settings: differentiable rendering–only tracking without explicit geometric priors, separate tracking modules whose scale must be continuously re-aligned to the 3DGS representation, and monocular scale ambiguity that can induce scale drift in long trajectories [2507.03737]. Its central premise is that pose estimation should be anchored to the 3DGS map’s own scale, while pre-trained pointmap priors should be injected in a scale-consistent manner through patch-based dynamic mapping [2507.03737].

## 1. Problem setting and design objective

S3PO-GS targets outdoor navigation scenarios involving streets, cars, vegetation, large rotations, long trajectories, and large viewpoint changes [2507.03737]. In this regime, globally consistent metric geometry is required for correct relative distances between scene elements, while robust tracking must persist across sharp turns and substantial camera displacement [2507.03737]. The paper argues that if the scale of the reconstructed Gaussian map drifts, then PnP or re-localization to that map becomes unreliable and novel view synthesis quality deteriorates through ghosting, stretching, and wrong parallax [2507.03737].

The method is positioned against two broad classes of prior 3DGS SLAM systems. Differentiable rendering–only tracking, exemplified in the paper by MonoGS, estimates pose by minimizing a photometric loss via differentiable 3DGS rendering, but in outdoor monocular RGB-only setups there are no explicit geometric priors, texture sparsity and repetitive patterns can induce local minima, and convergence requires many iterations per frame while remaining fragile under large viewpoint changes [2507.03737]. Separate tracking modules with external geometry, such as Photo-SLAM, OpenGS-SLAM, and MGS-SLAM, rely on external depth or VO networks and then align that module’s scale to the 3DGS map; in long outdoor trajectories, small alignment errors accumulate and cause scale drift in both map and trajectory [2507.03737].

S3PO-GS addresses this by introducing two coupled components: a self-consistent tracking module anchored in a 3DGS pointmap, and a patch-based pointmap dynamic mapping module [2507.03737]. This suggests that the system should be understood not merely as a rendering-centric SLAM variant, but as a 3DGS pipeline in which geometric consistency is structurally enforced at both the tracking and mapping levels.

## 2. Core representation: the 3D Gaussian pointmap

A key concept in S3PO-GS is the “3D Gaussian pointmap,” defined as a per-pixel 3D point map rendered from the Gaussian scene rather than a traditional unordered point cloud [2507.03737]. From a given camera pose, the system renders a depth map \(D \in \mathbb{R}^{W\times H}\) via volumetric alpha compositing of Gaussians along each pixel ray, then back-projects depth pixels using camera intrinsics \(K\) to produce a dense 3D pointmap:
\[
X^r(i,j) = K^{-1}
\begin{bmatrix}
iD(i,j) \\
jD(i,j) \\
D(i,j)
\end{bmatrix}
\in \mathbb{R}^3.
\]
This pointmap is defined in the 3DGS scene coordinate system and therefore shares the same global scale as the Gaussian map [2507.03737].

The pointmap serves two roles. For tracking, it is the 3D reference for PnP. For mapping, it is the initial geometric template for inserting new Gaussians and supervising geometry refinement [2507.03737]. This dual use is central to the system’s scale-consistency claim: the 3DGS map is treated as the single global object to which both pose estimation and geometric supervision are anchored.

The underlying Gaussian representation follows standard 3DGS structure, with each Gaussian \(i\) parameterized by a mean \(\mu_i \in \mathbb{R}^3\), covariance \(\Sigma_i = R_i S_i S_i^T R_i^T\) with \(R_i \in SO(3)\) and diagonal \(S_i\), color \(c_i \in \mathbb{R}^3\), and opacity \(\alpha_i \in [0,1]\) [2507.03737]. Unlike original 3DGS, S3PO-GS drops spherical harmonics and stores per-Gaussian RGB color directly, a simplification described as suitable for SLAM speed and complexity [2507.03737]. Rendering uses alpha compositing for both color and depth:
\[
C(x') = \sum_{i \in N} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j), \qquad
D(x') = \sum_{i \in N} z_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j),
\]
and these rendered quantities are reused for pointmap construction, tracking, and geometry supervision [2507.03737].

## 3. Tracking: Pointmap-Anchored Pose Estimation and photometric refinement

The tracking module is termed Pointmap-Anchored Pose Estimation (PAPE) and estimates the pose \(T_n \in SE(3)\) of the current frame in the 3DGS map’s scale [2507.03737]. The system first selects an adjacent keyframe \(I_{ak}\) with known pose \(T_{ak}\), then renders a depth map \(D_{ak}\) and pointmap \(X^r_{ak}\) from the current Gaussian map at that pose [2507.03737]. It next applies a pre-trained pointmap network, specifically MASt3R or DuSt3R, to the image pair \((I_{ak}, I_n)\), obtaining pointmaps \(X^p_{ak}\), \(X^p_n\) and per-pixel confidences \(c(i,j)\) in the pre-trained model’s own scene-agnostic coordinate system [2507.03737].

Correspondences are established by nearest-neighbor search with a confidence threshold, and these image-space correspondences are then lifted to scale-consistent 2D–3D correspondences by associating pixels in the adjacent keyframe with rendered 3D points from \(X^r_{ak}\) [2507.03737]. Pose is then estimated via PnP + RANSAC. Because the 3D points \(P_k\) used in PnP are in the 3DGS map coordinate system, the estimated pose is directly consistent with the map scale; the pre-trained pointmap network contributes correspondences only and never sets metric scale [2507.03737].

The initial PnP estimate is refined by differentiable rendering. Pose \(T \in SE(3)\) is represented via Lie algebra \(\xi \in \mathfrak{se}(3)\), and the photometric objective is
\[
L_{\text{pho}} = \left\| I(\mathcal{G},T) - \bar{I} \right\|_1,
\]
with analytic pose gradients implemented in CUDA following MonoGS [2507.03737]. Non-edge or invalid regions are down-weighted so that optimization focuses on informative pixels [2507.03737].

A notable empirical claim of the paper is the reduction in required tracking iterations. MonoGS typically needs 50–100 pose iterations for stable convergence in outdoor scenes, whereas S3PO-GS reaches near-optimal accuracy with only 5 iterations because PAPE provides a strong pose initialization and geometric consistency [2507.03737]. On Waymo_405841, the paper reports that MonoGS fails to converge reliably below 50 iterations, OpenGS-SLAM degrades below 30 iterations, and S3PO-GS attains ATE \(\approx 0.55\) m already at 5 iterations with minimal subsequent improvement [2507.03737]. This supports the interpretation that the system’s robustness derives less from replacing photometric tracking than from constraining it to a small-refinement regime.

## 4. Mapping: patch-based scale alignment, point replacement, and geometric supervision

The mapping module is designed to inject geometric priors while avoiding scale ambiguity [2507.03737]. At each keyframe, two pointmaps are available: the rendered pointmap \(X^r\), which is in 3DGS scene coordinates and thus has correct global scale but may be noisy or incomplete, and the pre-trained pointmap \(X^p\) from MASt3R, which offers accurate local geometry but has unknown or drifting global scale relative to 3DGS [2507.03737]. The task is to estimate a scale factor \(\sigma\) such that \(\hat{X}^p = \sigma X^p\) matches \(X^r\) in metric scale [2507.03737].

Instead of global normalization, S3PO-GS performs scale alignment locally in patches. Both pointmaps are split into \(P \times P\) patches, and each patch is summarized by mean and standard deviation of depth or point values [2507.03737]. Candidate patches satisfy
\[
|\mu_r - \mu_p| < \delta_\mu \mu_p,\qquad
|\sigma_r - \sigma_p| < \delta_\sigma \sigma_p,
\]
with example values \(\delta_\mu, \delta_\sigma = 0.3\) [2507.03737]. Within candidate patches, values are normalized,
\[
X_N(x) = \frac{X(x) - \mu(X)}{\sigma(X)},
\]
and a pixel is marked as a correct point if
\[
|X^r_N(x) - X^p_N(x)| < \epsilon_r,
\]
with \(\epsilon_r \approx 0.1\) [2507.03737]. If the set of correct points \(CP\) is sufficiently large, the scale update is
\[
\sigma' = \frac{\mu(X^r[CP])}{\mu(X^p[CP])}.
\]
The system iterates this process up to a maximum of three times [2507.03737]. If the number of correct points is too low, it uses nearest-neighbor matches to an already aligned adjacent-keyframe pointmap \(\hat{X}^p_{ak}\) to obtain an alternative scale estimate before optionally running one more patch-based iteration [2507.03737].

After scale alignment, S3PO-GS constructs a hybrid pointmap \(\hat{X}^r\) by replacing incorrect points in the rendered pointmap with aligned pointmap values:
\[
\hat{X}^r(x) =
\begin{cases}
X^r(x), & \text{if } |X^r(x) - \hat{X}^p(x)| \le \epsilon_m \hat{X}^p(x),\\
\hat{X}^p(x), & \text{otherwise},
\end{cases}
\]
with \(\epsilon_m = 0.15\) [2507.03737]. The paper reports that when the current view is well covered by the Gaussian map, only about 10% of points are replaced, whereas for large viewpoint changes or sparse coverage, 30–50% may be replaced [2507.03737]. The hybrid pointmap is then randomly downsampled and used to insert or update Gaussians, with means initialized at \(\hat{X}^r(x)\), colors taken from the keyframe image, and covariances or scales initialized isotropically or via heuristics [2507.03737].

Within a local keyframe window \(\mathcal{W}\), the system jointly optimizes camera poses and Gaussian parameters using three losses: a photometric loss, a geometry loss, and isotropic regularization [2507.03737]. The geometry supervision is
\[
L_{\text{geo}}^k = \| X^r - \hat{X}^p \|_1,
\]
and the full objective is
\[
\min_{\{T_k\}_{k\in\mathcal{W}}, \mathcal{G}}
\sum_{k\in\mathcal{W}}
\alpha L_{\text{pho}}^k + (1-\alpha) L_{\text{geo}}^k + \lambda_{\text{iso}} L_{\text{iso}},
\]
with \(\alpha \approx 0.98\) and \(\lambda_{\text{iso}} = 10\) [2507.03737]. A plausible implication is that S3PO-GS treats pre-trained geometry not as an external geometric reconstruction to be fused wholesale, but as a locally aligned supervisory signal constrained by the current Gaussian map.

## 5. End-to-end pipeline and scale-consistency mechanism

The system begins by initializing a 3D Gaussian map through optimization of MASt3R’s pointmap for 1000 steps, using the pre-trained pointmap to initialize a base set of Gaussians and yielding an initial metric-scale 3DGS scene [2507.03737]. For each incoming frame, the nearest keyframe is selected using covisibility-based keyframe management from MonoGS [2507.03737]. Tracking proceeds through pointmap rendering, MASt3R or DuSt3R matching, PnP + RANSAC, and roughly five iterations of Gauss-Newton pose refinement on \(SE(3)\) [2507.03737].

When a frame is chosen as a keyframe based on covisibility and translation thresholds, the mapping stage performs scale alignment, point replacement, Gaussian insertion or update, and local map optimization over a sliding window [2507.03737]. The paper explicitly states that there is no loop closure or global bundle adjustment; S3PO-GS is a local optimization system, with global pose-graph optimization and global 3DGS refinement left to future work [2507.03737].

The paper’s explanation for why scale does not drift is structural. Pose tracking always uses 2D–3D PnP with 3D points \(X^r_{ak}\) rendered from the 3DGS scene, whose scale is fixed at initialization [2507.03737]. Mapping always aligns pre-trained pointmaps to the current 3DGS scale before those pointmaps are used for correction or supervision [2507.03737]. There is therefore no independent external trajectory in another scale. This suggests that scale consistency in S3PO-GS is not an emergent property of optimization, but a design constraint imposed by the data flow between modules.

## 6. Empirical performance, ablations, and limitations

Experiments were conducted on three outdoor datasets: Waymo Open Dataset with 9 sequences of 200 frames each, KITTI with 8 sequences of 200 frames each, and DL3DV with 3 sequences of 300 frames each [2507.03737]. Tracking was evaluated with ATE RMSE in meters, and novel view synthesis with PSNR, SSIM, and LPIPS on non-keyframes [2507.03737]. Baselines included NeRF-SLAM, NICER-SLAM, GlORIE-SLAM, MonoGS, Photo-SLAM, and OpenGS-SLAM, with supplementary comparisons to DROID-SLAM, MASt3R-SLAM, CF-3DGS, and Splat-SLAM on KITTI [2507.03737].

| Dataset | Tracking result | NVS result |
|---|---|---|
| Waymo | S3PO-GS ATE: 0.622; GlORIE-SLAM: 0.589 | S3PO-GS PSNR: 26.73, SSIM: 0.845, LPIPS: 0.360 |
| KITTI | S3PO-GS ATE: 1.048 | S3PO-GS PSNR: 20.03; SSIM / LPIPS best |
| DL3DV | S3PO-GS ATE: 0.032 | S3PO-GS PSNR: 29.97, SSIM: 0.893, LPIPS: 0.108 |

On Waymo, S3PO-GS achieved the best NVS results and an ATE of 0.622, second to GlORIE-SLAM’s 0.589 but ahead of OpenGS-SLAM’s 0.839 and MonoGS’s 8.529 [2507.03737]. On KITTI, it obtained the best ATE at 1.048, outperforming GlORIE-SLAM at 1.134, OpenGS-SLAM at 3.224, and MonoGS at 9.493, while also achieving the best NVS performance [2507.03737]. On DL3DV, it achieved an ATE of 0.032, compared with 0.141 for OpenGS-SLAM, 0.492 for GlORIE-SLAM, and 0.274 for MonoGS, with PSNR 29.97, SSIM 0.893, and LPIPS 0.108 [2507.03737]. The paper also reports relative ATE reductions over OpenGS-SLAM of approximately 67.5% on KITTI and 77.3% on DL3DV, and PSNR improvements of \(+2.73\), \(+4.42\), and \(+4.98\) over the previously best 3DGS SLAM on Waymo, KITTI, and DL3DV respectively [2507.03737].

The ablation studies attribute these gains to the interaction of all major components. Without PAPE, ATE increases dramatically and sensitivity to iteration count returns; with PAPE, ATE remains around 0.55 m from 5 to 100 iterations on Waymo [2507.03737]. Without pose refinement, ATE rises to 1.79 and PSNR drops to 24.45, compared with 0.62 and 26.73 with refinement [2507.03737]. Without scale alignment, ATE becomes 3.50 and PSNR 23.49; without point replacement, ATE is 1.35 and PSNR 25.59; without geometry loss, ATE is 3.73 and PSNR 25.70 [2507.03737]. A direct “MonoGS + MASt3R” configuration yields ATE 3.84 and PSNR 23.09, accompanied by severe blurring and ghosting due to scale drift if pointmaps are used naively [2507.03737]. This directly addresses a possible misconception: pre-trained pointmaps alone do not eliminate monocular scale ambiguity, and improper integration can worsen both tracking and reconstruction.

In supplementary KITTI comparisons, S3PO-GS on KITTI-07 is reported at ATE 0.55 m, PSNR 20.6, GPU memory around 9.5 GB, and full SLAM runtime around 5 minutes for the sequence, excluding an additional 10-minute color refinement used for all 3DGS methods in those comparisons [2507.03737]. Memory is described as comparable to MonoGS and OpenGS-SLAM, runtime as similar to MonoGS and much faster than Splat-SLAM or CF-3DGS [2507.03737].

The authors explicitly note two limitations: no dynamic object handling and no loop closure or global bundle adjustment [2507.03737]. The pipeline assumes static scenes, so moving vehicles or pedestrians are not handled explicitly, and long sequences with large loops could benefit from loop detection, global pose graph optimization, and global 3DGS refinement [2507.03737]. Other implicit constraints named in the paper are reliance on a strong pre-trained pointmap model such as MASt3R and a heavy GPU requirement for real-time-like operation on large outdoor sequences [2507.03737].

Source: https://www.emergentmind.com/topics/s3po-gs