---
title: 'RadarSplat-RIO: Radar Bundle Adjustment'
url: https://www.emergentmind.com/topics/radarsplat-rio
type: topic
---

# RadarSplat-RIO: Radar Bundle Adjustment

Searching arXiv for the specified paper and closely related radar Gaussian-splatting work.
RadarSplat-RIO is an indoor radar-inertial odometry system that introduces a Gaussian Splatting-based radar bundle adjustment formulation for simultaneous pose refinement and scene optimization from full range-azimuth-Doppler radar data. It is presented as the first radar bundle adjustment framework enabled by Gaussian Splatting, and it is designed to reduce the drift that arises when radar SLAM pipelines rely primarily on frame-to-frame odometry. When coupled to an existing radar-inertial odometry front-end, it jointly optimizes radar sensor poses and scene geometry within a local window and reports substantial reductions in absolute translational and rotational error across multiple indoor sequences [2604.13492].

## 1. Problem setting and conceptual role

RadarSplat-RIO addresses a specific gap in radar SLAM. Radar is described as more resilient to adverse weather and lighting conditions than visual and Lidar simultaneous localization and mapping, yet most radar SLAM pipelines still depend heavily on frame-to-frame odometry. That design induces substantial drift. Loop closure can correct long-term errors, but it requires revisiting places and depends on robust place recognition. By contrast, visual odometry commonly leverages bundle adjustment to jointly optimize poses and map structure within a local window.

Within that context, RadarSplat-RIO introduces a radar-specific analogue of bundle adjustment by using a dense and differentiable Gaussian Splatting scene representation. The core claim is not merely that Gaussian Splatting provides a convenient map parameterization, but that it enables a fully differentiable rendering pipeline over radar measurements, making joint optimization over poses and scene geometry practical in a radar-inertial setting.

A common misconception is that radar drift correction must be deferred to loop closure. RadarSplat-RIO instead formulates a local optimization problem in which recent keyframe poses and Gaussian scene parameters are refined directly against full range-azimuth-Doppler measurements. This shifts the emphasis from retrospective correction to continual local consistency enforcement.

## 2. System architecture

The system is organized into a front-end Radar-Inertial Odometry (RIO) module and a back-end Gaussian-Splat Bundle Adjustment module, referred to as RadarSplat++ in the technical summary.

The front-end takes raw MIMO radar data cube \(I_{RAD}\in\mathbb C^{N_r\times N_a\times N_d}\) together with IMU pre-integration. It applies FFT over fast-time, antenna channels, and slow-time to obtain full range-azimuth-Doppler data, then reduces these measurements to 2D range-azimuth and range-Doppler images. CFAR point extraction on the range-azimuth image is used for ego-velocity estimation by solving \(v_d^i=r_i^\top v\) in least squares. Radar linear velocity and IMU angular velocity are then fused in a GTSAM factor graph to produce initial poses \(\{T_i\}\) [2604.13492].

The back-end operates in three stages. First, pose refinement optimizes the most recent keyframe pose \(T_k\) to minimize range-azimuth and range-Doppler rendering errors. Second, local mapping optimizes new Gaussians in a temporal sliding window of size \(N=10\) keyframes. Third, joint bundle adjustment simultaneously refines poses \(\{T_i\}\) in a spatial radius \(r_{BA}=10\,\mathrm m\) and all Gaussians in that window.

This decomposition makes the method incremental rather than monolithic. Pose-only refinement stabilizes the newest estimate, local mapping introduces fresh scene structure, and joint bundle adjustment distributes corrections across both pose history and map geometry. A plausible implication is that the back-end is intended to preserve real-time front-end operation while still exploiting multi-frame consistency.

## 3. Gaussian scene representation and differentiable radar rendering

The scene is represented as a mixture of \(M\) anisotropic 3D Gaussians,
\[
G_n=(\mu_n,\Sigma_n,\alpha_n), \qquad n=1\ldots M,
\]
where \(\mu_n\in\mathbb R^3\) is the Gaussian mean, \(\Sigma_n\in\mathbb R^{3\times3}\) is the covariance, and \(\alpha_n\in\mathbb R^+\) is the amplitude, interpreted as radar cross-section. The continuous reflectivity field and density field are
\[
R(x)=\sum_{n=1}^M\alpha_n\,\mathcal N(x;\mu_n,\Sigma_n), \qquad
D(x)=\sum_{n=1}^M\,\mathcal N(x;\mu_n,\Sigma_n).
\]
In practice, each covariance is parameterized by scale \(s_n\) and rotation \(R_n\),
\[
\Sigma_n=R_n\,\mathrm{diag}(s_n^2)\,R_n^\top.
\]

RadarSplat-RIO uses this representation to render differentiable radar observations. Range-azimuth rendering is written as \(\hat I_{RA}=\Pi(\mathcal G,T_i)\), with received power following the radar equation
\[
P_r(n)\propto \sigma/(4\pi R_n^4).
\]
Doppler rendering is expressed as
\[
\hat I_{RA}^{Doppler}[r,a] = -\,\hat r_i^\top v
\]
for each Gaussian. The range-Doppler image is then formed as
\[
\hat I_{RD}[r,d]=\sum_a\Phi(\theta_a)\,\hat I_{RA}[r,a]\exp\!\left[-(\hat I_{RA}^{Doppler}[r,a]-v_d)^2/(2\sigma^2)\right].
\]

The significance of this formulation is that both the range-azimuth and range-Doppler pathways are differentiable with respect to pose and Gaussian parameters. Gaussian Splatting is therefore not used only as a dense map representation; it is the mechanism that connects scene geometry to full radar measurement prediction. In this framework, bundle adjustment becomes a rendering-based estimation problem rather than a sparse feature-matching procedure.

## 4. Bundle adjustment formulation and optimization

The state variables in the bundle adjustment window are the keyframe poses \(\{T_i\in SE(3)\}_{i=1}^N\) and the Gaussian parameters \(\{\mu_n,\Sigma_n,\alpha_n\}_{n=1}^M\). For each radar pixel index \((r,a,d)\) in frame \(i\), the predicted measurement is
\[
\hat z_{i,r,a,d}(T_i,\mathcal G)=(\hat I_{RA}[r,a],\,\hat I_{RD}[r,d]).
\]
The residual is defined by
\[
r_{i,r,a,d}=z_{i,r,a,d}-\hat z_{i,r,a,d},
\]
and the objective is
\[
\mathcal L
=\sum_{i,r,a,d}\rho\bigl(\|r_{i,r,a,d}\|^2\bigr)
\;+\;\lambda_\Sigma\!\sum_{n=1}^M\|s_n\|^2,
\]
where \(\rho(\cdot)\) is a Huber-style robust loss and \(\|s_n\|^2\) regularizes Gaussian size [2604.13492].

Optimization is performed with a Levenberg-Marquardt style Gauss-Newton solver implemented via auto-differentiation in PyTorch. Because all rendering steps from range-azimuth to range-Doppler are differentiable, gradients \(\partial \hat I/\partial T_i\) and \(\partial \hat I/\partial \mathcal G\) are obtained by backpropagation through the rendering operators. The windowing policy is hybrid: local mapping uses the \(N=10\) most recent keyframes, while bundle adjustment selects all keyframes within a \(10\) m radius of the latest pose. Incremental updates are applied in the sequence pose-only refinement, then mapping, then joint bundle adjustment.

The paper’s pseudocode summary makes the same structure explicit: render range-azimuth and range-Doppler images from \((G,\{T_i\})\), compute residuals, form a total loss with image-domain terms and Gaussian-scale regularization, backpropagate, and update \(\{T_i,G\}\) via an LM step. This is a dense optimization paradigm. A plausible implication is that robustness arises from distributing information across the full radar image support instead of relying on a small set of correspondences.

## 5. Implementation profile and empirical results

The implementation uses typically \(5\,000\)–\(15\,000\) Gaussians per local map. New Gaussians are seeded at CFAR points projected into 3D, with initial scale set to match cell size \((\sim 0.2\,\mathrm m)\) and \(\alpha_n\) initialized to a small uniform value. The Doppler-bin bandwidth is set to \(\sigma=3\,\Delta v_d\), and the bin window is \(b=10\) for efficient soft-binning. On an NVIDIA RTX 3080, one bundle adjustment iteration over approximately \(10\) keyframes and approximately \(10\,000\) Gaussians takes on the order of \(40\)–\(60\) ms, and the full pipeline runs at approximately \(5\) Hz keyframe rate.

Evaluation is reported on five indoor sequences collected with a TI MMWCAS-RF-EVM radar plus RealSense D435i rig, where Stereo-VIO on the camera provides pseudo-ground truth. Sequence distances are \(42\) m, \(92\) m, \(145\) m, \(206\) m, and \(234\) m. The metrics are Absolute Translational Error (ATE), defined as root-mean-square position difference after best-fit alignment in meters, and Absolute Rotational Error (ARE), defined as mean angular difference in degrees [2604.13492].

| Sequence | ATE | ARE |
|---|---|---|
| 1 (42 m) | \(0.94\,\mathrm m \rightarrow 0.19\,\mathrm m\) | \(5.03^\circ \rightarrow 1.91^\circ\) |
| 2 (92 m) | \(7.57\,\mathrm m \rightarrow 0.42\,\mathrm m\) | \(15.51^\circ \rightarrow 2.06^\circ\) |
| 3 (145 m) | \(22.48\,\mathrm m \rightarrow 2.04\,\mathrm m\) | \(32.38^\circ \rightarrow 5.25^\circ\) |
| 4 (206 m) | \(11.04\,\mathrm m \rightarrow 1.05\,\mathrm m\) | \(17.62^\circ \rightarrow 2.66^\circ\) |
| 5 (234 m) | \(12.90\,\mathrm m \rightarrow 0.97\,\mathrm m\) | \(21.55^\circ \rightarrow 3.28^\circ\) |

Across all sequences, the reported average reduction is approximately \(90\%\) in ATE and approximately \(80\%\) in ARE. These results directly support the paper’s central claim that a radar bundle adjustment back-end can materially improve a radar-inertial odometry pipeline, particularly in indoor environments where drift accumulation is pronounced.

## 6. Ablations, failure modes, and relation to adjacent radar Gaussian-splatting work

The ablation study isolates the contribution of the back-end and of specific design choices. Removing the back-end increases overall error to approximately \(11\) m ATE and approximately \(18^\circ\) ARE over all sequences. Using the back-end without bundle adjustment, retaining only pose refinement and mapping, gives approximately \(2.8\) m ATE and approximately \(8.2^\circ\) ARE. Removing the front-end RIO initialization causes failure, with ATE \(>18\) m and ARE \(>25^\circ\). These results indicate that the method is neither purely front-end-driven nor purely back-end-driven; it depends on the interaction between initialization and joint refinement.

Window selection also matters. For the spatial bundle-adjustment radius, \(r_{BA}=1\) m, \(5\) m, and \(10\) m yield ATE values \(3.12\), \(1.07\), and \(0.93\) m and ARE values \(7.98^\circ\), \(3.24^\circ\), and \(3.03^\circ\), respectively. For the temporal mapping window, \(N=2\), \(5\), \(10\), and \(\infty\), the best result occurs at \(N=10\), giving ATE \(1.17\) m and ARE \(3.61^\circ\). The range-Doppler loss has a particularly strong effect on translation: with the RD loss, ATE is \(0.93\) m and ARE is \(3.03^\circ\); without it, ATE rises to \(3.41\) m while ARE becomes \(3.57^\circ\). The authors note that Doppler rendering primarily drives translational accuracy in feature-poor corridors [2604.13492].

Reported failure modes are specific. Dynamic objects can produce spurious Gaussians; mitigation is provided by Doppler thresholding and the robust loss \(\rho\). Highly featureless rooms lead to slower convergence, for which tighter regularization \(\lambda_\Sigma\) is recommended. The selected parameters \(r_{BA}=10\) m and \(N=10\) are said to strike a good trade-off.

In the broader radar Gaussian-splatting landscape, RadarSplat-RIO is focused on odometry and local bundle adjustment, whereas RaGS uses 3D Gaussian Splatting as a representation for fusing 4D radar and monocular cues in 3D object detection [2507.19856]. This suggests a broader methodological pattern: Gaussian Splatting is being adapted within radar research not only as a rendering primitive but as an optimization-compatible scene representation for distinct perception tasks.

Source: https://www.emergentmind.com/topics/radarsplat-rio