L1 measures pixel error.
It measures the mean absolute RGB difference. It is direct and stable, but does not fully capture perceived local structure.
SIGGRAPH 2023 · Kerbl et al.
Calibrated photographs seed an explicit radiance field. Each iteration projects the Gaussians, evaluates image error, propagates gradients, and adapts the representation; later sections release the fixed camera pose for SLAM.
Core reconstruction pipeline
Rendering uses splat rasterization, not ray marching.
Interactive training loop
The sequence follows one iteration in the paper and reference training code, from fixed SfM calibration through rendering, loss evaluation, backpropagation, and adaptive density control.
Camera icons select the training view
Training objective
In the reference code, the paper’s D-SSIM contribution is evaluated as
1 - ssim(render, target). Then loss.backward()
differentiates through the rasterizer.
It measures the mean absolute RGB difference. It is direct and stable, but does not fully capture perceived local structure.
It compares local luminance, contrast, and structure. The paper uses λ = 0.2, so L1 still carries 80% of the objective.
The 2024-updated repository can optionally add a monocular inverse-depth L1 term. That is an extension, not the original paper’s base loss.
The role of SfM cameras
COLMAP provides one calibrated pose for every registered image, placing multiple cameras and the sparse point cloud in a common world frame.
The sparse points and every camera pose live in the same world frame, so a Gaussian has one persistent 3D position across all views.
Its extrinsics [Rᵢ | tᵢ] move world Gaussians into camera
space; its intrinsics Kᵢ map them onto that image plane.
The rendered image is compared only with photo Iᵢ from that
same pose. Across iterations, different views constrain the same scene.
R₃, t₃
image_003.jpg
The original method treats the SfM calibration as known input. The Gaussians move and change while the camera poses remain fixed. Releasing the poses produces the transition to SLAM ↓
The renderer
There are no rays sampling an MLP through empty space. Known Gaussian primitives are projected toward the screen, sorted, and composited.
Project covariance
W is the view transform and J is the local Jacobian
of perspective projection. The upper-left 2 × 2 portion becomes the ellipse
footprint on screen.
Composite a pixel
Each splat’s opacity is its learned opacity times its 2D Gaussian value at the pixel. Transmittance falls as nearer splats accumulate.
Trainable scene parameters
Where the Gaussian center sits in the shared world frame.
Three positive axis lengths, activated exponentially.
A normalized quaternion that orients the ellipsoid.
A sigmoid-constrained weight controlling contribution and visibility.
Spherical-harmonic coefficients encode view-dependent appearance.
Rather than optimize a covariance matrix directly, the method constructs Σ = R S Sᵀ Rᵀ. This keeps the covariance physically valid while allowing anisotropic Gaussians to stretch along surfaces.
Complete reconstruction loop
From reconstruction to SLAM
The differentiable renderer and image loss remain available, while the estimated state expands: an online system must recover each incoming camera pose and maintain the Gaussian map.
The original SIGGRAPH 2023 method is offline reconstruction—not SLAM. It receives SfM camera poses as fixed input. Gaussian rendering can nonetheless become a differentiable measurement model for tracking, mapping, and GraphSLAM.
𝒢̂ = argmin𝒢 Σᵢ ℒ(R(𝒢; Tᵢ), Iᵢ)
SfM supplies every Tᵢ. Gradient descent changes only the Gaussians.
alternate: Tt ↔ 𝒢
Track the current camera against the map, then update the map from accepted poses.
ORIGINAL PAPER · OFFLINE
All calibrated views supervise one shared Gaussian scene. A training iteration chooses a camera, but that camera is data—not a variable.
freeze {Tᵢ} · optimize 𝒢
One GraphSLAM architecture
With the Gaussian map temporarily frozen, a candidate pose produces an image residual and a pose Jacobian. A nonlinear solver can combine that factor with odometry, IMU, priors, and loop closures on the same pose nodes.
This is one integration pattern—not a claim that every Gaussian SLAM system uses GTSAM, iSAM2, or loop closure.
Î = R(𝒢,T)r = vec(Î − I)J = ∂r / ∂ξφsplat(xₖ;𝒢)Next chapter · radio Splat-SLAM
Visual splatting compares rendered pixels with a camera image. A radio extension needs a different forward model: trace a candidate multipath, predict its delay and angles, then optimize the UE pose and reflecting geometry from the residual.
render pixels → image residual
trace multipath → delay / angle residual
§3.1–§3.5 assume synchronized clocks, but no compass. The measurements are path length L = cτ, BS-side departure ψ, and UE body-frame arrival φbody. The global arrival direction is therefore φbody + θ, with heading θ kept inside the unknown state. §3.6 deliberately adds a stronger, globally referenced displacement sensor for its rank test.
Visual and radio estimation share the pattern state → forward model → residual → update, while radio measurements introduce different null directions. This structure supports persistent factors connecting UE poses, reflecting splats, and data-association variables.
Primary sources