BLPInteractive notes Read the paper

RadarSplat,
from shape to signal.

Build a Gaussian. Put it in a radar beam. Watch a 3D scene become a range–azimuth image.

THE PART WE ARE EXPLORING

Scene parameters → differentiable rendering → measurement error → updated splats.

Preprocessing is out of scope. Poses and an occupancy reference are assumed available.

Not a camera renderer.Returns add; α denotes occupancy, not front-to-back transparency. RadarSplat synthesizes radar images. The optional peak detector below is our teaching extension. Sources & assumptions
01

Build the return.

Scene space

Occupancy-dominant Noise-dominant

Drag a center to move it. Use the inspector for height and shape.

Rendered radar

−50 dB+10 dB

Click a row to inspect its range profile. The display scale stays fixed.

STAGE 4 / 4

A return occupies more than one range bin.

I = Kᵣ ∗ Iazi

The Gaussian range kernel approximates spectral leakage after windowing. Increase its width in the Radar controls; the geometry has not changed.

Inside one azimuth beam

The same scene, sliced along range.

02

What is inside a splat?

Compare with 3DGS

Geometry is a 3D ellipsoid.

Σ = R(q) diag(s₁², s₂², s₃²) R(q)ᵀ

The center μ places the splat. Three positive scales give its principal widths; a rotation q turns those axes. The editor exposes yaw and pitch, a two-angle subset of the quaternion rotation.

A splat is a smooth basis function, not one radar detection. Several splats can contribute to the same bin, and a single splat can spread into many bins.

Selected splat · world covariance (m²)

The radar sees different coordinates.

(r, θ, φ) = (‖μ′‖, atan2(y′, x′), asin(z′/r))
Σspherical ≈ J Σsensor Jᵀ

First move the mean and covariance into the radar frame. Linearize the nonlinear spherical conversion around that mean. The upper-left 2 × 2 covariance block gives the range–azimuth footprint after marginalizing elevation.

Selected splat · (r, θ) covariance · m², m·rad, rad²
Inspect the actual Jacobian

Rows are r, θ, φ; columns are sensor-frame x, y, z. Large splats or near-axis geometry can make this first-order approximation inaccurate.

Brightness is not occupancy.

σᵢ = ρᵢ(v) min(αᵢ + ηᵢ, 1)

ρ controls view-dependent reflectivity; α and η distinguish occupancy and noise contributions. Set α low and η high: the return can stay bright without representing occupied space.

The total, target, noise, and occupancy selectors replace the return weight. The occupancy rendering is a weighted image, not a calibrated per-pixel probability.

From one ellipsoid to one pixel

Our explicit teaching discretization of the paper’s additive rendering equation:

Ielev(θ, r) = C / r⁴ · ∑ᵢ Gφ(φᵢ)² σᵢ
· exp[−½ δᵢᵀ Σrθ,i⁻¹ δᵢ]δᵢ = [r − rᵢ, wrap(θ − θᵢ)]ᵀ
ADD, DO NOT OCCLUDE

No depth-sorted transparency product. This model sums power contributions; it does not solve full electromagnetic visibility or coherent interference.

SPREAD IN TWO DIFFERENT DIRECTIONS

Azimuth convolution mixes neighboring directions, with circular padding at ±180°. Range convolution mixes neighboring distances. Neither changes the underlying 3D geometry.

SIZE IS NOT SENSOR BLUR

An elongated object and a broad antenna can both widen a return. Keeping the sensor kernel separate prevents assigning every blurred pixel to larger scene geometry.

03

Let the measurement move the splat.

The forward model predicts a signal; inverse rendering changes parameters to reduce the mismatch. This small, deterministic experiment fits a synthetic one-beam measurement, not Boreas data.

Predicted vs. observed

ITERATION 000
Synthetic observationCurrent splat

Objective history

Ready. Every step computes a numerical gradient and checks the objective.

The actual paper loop, and what this miniature changes

RadarSplat

Initialize 20,000 random Gaussians (scale 0.5 m, α = η = 0.1); render from known poses; minimize image L1 + SSIM, occupancy L1, size, and probability regularization losses. The supplement reports 3,000 training iterations.

L = λ₁LL1 + λ₂LSSIM + λ₃Locc
+ λ₄Lsize + λ₅Lreg

Gradients update the scene. A new radar pose uses the learned splats without fitting again. The input occupancy reference comes from preprocessing, which we do not implement here.

This browser experiment

One radial Gaussian; five scalar parameters; fixed leakage; energy-normalized squared power and occupancy errors; a squared excess-probability penalty. Central finite differences and backtracking keep accepted steps non-increasing. No SSIM, CUDA training, density control, or full 3D reconstruction is claimed.

Positions, scale, reflectivity, α, and η really update. The orange curve and objective history are calculated from those current parameters, not pre-recorded animation.

04

Paper fidelity, without the black box.

Read alongside the source

Kung, Harisha, Vasudevan, Eid & Skinner. RadarSplat: Radar Gaussian Splatting for High-Fidelity Data Synthesis and 3D Reconstruction of Autonomous Driving Scenes. ICCV 2025; arXiv:2506.01379.

Deliberate teaching simplifications

Four editable splats, 400 azimuth rows, 240 range bins over 2.5–50 m, and Q = 4. The paper uses 400 × 839, Q = 10, and a 0.17 m range-kernel standard deviation.

We use a symmetric analytic elevation gain and a normalized Gaussian azimuth kernel, not the manufacturer’s measured antenna pattern. Reflectivity uses a restricted first-order SH slice; the paper reports SH level 10. Power units and display thresholds are illustrative.

A small pixel-variance floor limits aliasing; range convolution uses zero padding. The separately estimated periodic multipath source map is omitted. η is not a replacement for that map. There is no Doppler, tracker, or semantic detector here.

The paper’s ReLU(α + η − 1) penalty discourages sums above one; it does not enforce equality. Target + noise equals total only where clipping is inactive.