GRADE: Single-Frame Generative Radar Depth Estimation Under Visual Degradation

Bin Zhao, Patrick Chiou, Nakul Garg
Rice University
ACM MobiCom 2026 · Austin, TX
Depth predictions in clear, medium smoke, and heavy smoke for GRADE and five baselines, next to the input RGB and the ground-truth depth.

GRADE produces dense metric depth from a single mmWave radar frame. As smoke thickens, camera-dependent methods lose the scene while GRADE keeps both the metric scale and the structure of the ground truth.

Abstract

Dense 3D depth perception fails under smoke, fog, and darkness because optical sensors cannot penetrate airborne particulates. mmWave radar operates reliably in these conditions but its limited angular resolution produces depth that is metrically grounded yet structurally incomplete.

We present GRADE, a system that grounds pretrained generative priors in single-frame radar geometry for high-fidelity metric depth under visual degradation, without SAR and without a reliable camera. A radar depth module translates raw 4D radar spectra into coarse metric depth; a diffusion refinement module conditions a pretrained latent diffusion backbone on this estimate, recovering structural detail through learned world priors while remaining anchored to the radar's geometry; and a pixel-space visual guidance adapter extracts residual camera cues when available and is trained across clear, smoke-degraded, and occluded inputs so the full output approaches the radar-conditioned path as visibility degrades.

Trained and evaluated on approximately 95K synchronized frames across 12 buildings with real smoke using leave-building-out splits, GRADE achieves an MAE of 0.303 m in clear conditions and 0.313 m under smoke, outperforming all baselines across every metric.

System Overview

GRADE architecture: a radar depth module produces coarse metric depth, a diffusion refinement module conditions a pretrained latent diffusion backbone on it, and an RGB visual guidance adapter injects residual pixel-space cues.

GRADE is a three-module pipeline that runs in two stages. In Stage 1, the Radar Depth Module maps a 4D radar spectrum (range, Doppler, azimuth, elevation) to a coarse but metrically accurate depth image with a transformer encoder and a hybrid transformer-CNN decoder, bridging the RF-to-vision domain gap. In Stage 2, the Diffusion Depth Refinement Module encodes that coarse depth into a condition latent and concatenates it with the noisy latent at every denoising step of a pretrained latent diffusion U-Net, so the generative prior adds structure without drifting off the measured geometry. Running in parallel, the RGB Visual Guidance Module extracts residual spatial cues from the camera through a ControlNet-style adapter and injects them via zero-initialized skip connections.

  • Radar depth supplies persistent metric grounding, so the diffusion prior refines rather than invents.
  • Pretrained Marigold weights carry indoor structural priors that radar cannot physically resolve.
  • Zero-initialized skip connections let visual guidance contribute in proportion to the evidence actually present in the image.
  • Training across clear, synthetically fogged, and fully occluded RGB removes the need for an explicit mode switch or reliability estimator.
  • DDIM sampling with 8 steps at inference keeps the refinement stage practical.

What Each Stage Contributes

(a) Radar depth
Coarse radar depth: reliable global structure with soft edges and missing furniture.
(b) + Diffusion refinement
After diffusion refinement: sharper edges and metric correction, furniture still missing.
(c) RGB input
Smoke-degraded RGB input with the residual edge and furniture cues that remain visible.
(d) + Visual guidance (full)
Full GRADE output: edges enhanced and furniture recovered.
(e) Ground truth
Ground-truth depth from the stereo reference camera.

One prediction traced through the pipeline. Radar fixes the global geometry, diffusion sharpens boundaries and corrects metric detail, and the visual guidance adapter recovers objects that neither stage could place on its own.

Prototype and Dataset

Labeled data-collection rig: TI IWR1843BOOST radar with DCA1000EVM, DJI Osmo Action 5 Pro RGB camera, Stereolabs ZED 2i depth camera, smoke machine, and acrylic enclosure. The same rig during data collection with smoke filling the acrylic enclosure.

Data is collected with a handheld rig: a 77 GHz TI IWR1843BOOST + DCA1000EVM for raw radar I/Q at 10 Hz, a DJI Osmo Action 5 Pro inside a transparent acrylic enclosure for smoke-degraded RGB, and a Stereolabs ZED 2i outside the enclosure for reference RGB and ground-truth depth. Because the smoke is confined to the enclosure, the reference depth stays independent of smoke density. A MAX30105 IR particle sensor logs smoke density so results can be stratified by visibility.

Dataset access: the synchronized dataset is available through this Box share. The dataset-processing scripts are available in the GitHub processing_code/ directory or under processing_code/ in the Box share. The evaluation code is included directly in this repository under evaluation/ and src/.

Processing: after downloading and extracting the dataset, enter the processing_code/ directory and run python processor.py --dataset /path/to/raw_dataset for the full radar + ZED + DJI pipeline. Use processor_rgb.py for RGB/depth-only processing or processor_pcd.py for radar point-cloud extraction. Processed outputs are written to processed/<sequence_name>/; each processor also supports --sequences for selected sequences.

Evaluation environment: install Python 3.11 and the pinned dependencies from environment.txt before running the evaluation scripts. Full evaluation also requires the checkpoints and required dataset directories from the Box release.

  • ~95K synchronized radar-camera-depth frames, of which more than 40K are captured in real smoke.
  • 12 campus buildings, with a building-disjoint split: every test sequence comes from a building never seen in training.
  • Frames aligned to the 10 Hz radar clock within 50 ms; unmatched frames are dropped.
  • Fisheye calibration from 800 checkerboard pairs warps the DJI view into the rectified ZED left-camera frame.

Results

Clear vs. Smoke

Median metrics on the building-disjoint test set. The smoke rows pool medium and heavy smoke (IR ≥ 2000). GRADE is best on every metric in both conditions.

Method MAE (m) ↓ SSIM ↑ LPIPS ↓ CD (m2) ↓ MHD (m) ↓
Clear
DA30.5000.9320.1590.1960.233
CaFNet (No-Smoke)0.4210.9440.1740.1710.211
CaFNet0.4170.9450.1600.1740.210
GRT0.4340.9020.4400.2420.209
GRT+Image0.4150.8810.4500.1530.192
RadarCam-Depth0.4890.9380.1640.2640.262
GRADE (Ours)0.3030.9600.1260.1200.164
Smoke
DA31.2550.8010.3074.4071.325
CaFNet (No-Smoke)0.9800.8630.2871.6410.687
CaFNet0.9490.8650.2821.8460.700
GRT0.4360.9010.4440.2080.203
GRT+Image0.4180.8840.4500.1460.192
RadarCam-Depth0.6760.9160.2110.6030.424
GRADE (Ours)0.3130.9590.1370.1140.167

The baselines separate along modality. DA3 and both CaFNet variants collapse under smoke, and training CaFNet on smoke does not close the gap, so the failure is architectural rather than a data-coverage issue. RadarCam-Depth degrades more gently because radar supplies its metric scale. GRT is nearly visibility-invariant in MAE but never drops below 0.44 LPIPS. GRADE combines the stability of the radar baselines with lower LPIPS than every baseline in both conditions, and its median MAE changes by only 3.3% from clear to smoke.

Qualitative Comparison

Representative predictions from clear through heavy-smoke scenes, ordered by increasing degradation.

RGB Reference
Input RGB
Ground Truth
GRADE (Ours)
GRT
GRT+Image
RadarCam-Depth
CaFNet
DA3
Case 1: RGB reference Case 1: input RGB Case 1: ground truth Case 1: GRADE Case 1: GRT Case 1: GRT+Image Case 1: RadarCam-Depth Case 1: CaFNet Case 1: DA3 Case 2: RGB reference Case 2: input RGB Case 2: ground truth Case 2: GRADE Case 2: GRT Case 2: GRT+Image Case 2: RadarCam-Depth Case 2: CaFNet Case 2: DA3 Case 3: RGB reference Case 3: input RGB Case 3: ground truth Case 3: GRADE Case 3: GRT Case 3: GRT+Image Case 3: RadarCam-Depth Case 3: CaFNet Case 3: DA3 Case 4: RGB reference Case 4: input RGB Case 4: ground truth Case 4: GRADE Case 4: GRT Case 4: GRT+Image Case 4: RadarCam-Depth Case 4: CaFNet Case 4: DA3 Case 5: RGB reference Case 5: input RGB Case 5: ground truth Case 5: GRADE Case 5: GRT Case 5: GRT+Image Case 5: RadarCam-Depth Case 5: CaFNet Case 5: DA3 Case 6: RGB reference Case 6: input RGB Case 6: ground truth Case 6: GRADE Case 6: GRT Case 6: GRT+Image Case 6: RadarCam-Depth Case 6: CaFNet Case 6: DA3 Case 7: RGB reference Case 7: input RGB Case 7: ground truth Case 7: GRADE Case 7: GRT Case 7: GRT+Image Case 7: RadarCam-Depth Case 7: CaFNet Case 7: DA3

The RGB reference column is shot from outside the smoke enclosure; the input RGB column is what the system actually sees. GRADE preserves the major surfaces, people, stairs, and furniture boundaries visible in the reference depth, while camera-dependent baselines lose the scene entirely in the heavy-smoke rows.

Error Distributions

Empirical CDFs over the whole test set, showing that the median results are not driven by a small subset of frames.

Legend for the CDF plots.
Clear
CDF of MAE in clear conditions. CDF of SSIM in clear conditions. CDF of Chamfer Distance in clear conditions. CDF of Modified Hausdorff Distance in clear conditions.
Smoke
CDF of MAE under smoke. CDF of SSIM under smoke. CDF of Chamfer Distance under smoke. CDF of Modified Hausdorff Distance under smoke.

Under smoke, DA3 and CaFNet develop long high-error tails in MAE, CD, and MHD. GRADE stays shifted toward lower error and higher SSIM across the distribution.

Stability Across Smoke Density

Method MAE (m) ↓ SSIM ↑ LPIPS ↓ CD (m2) ↓ MHD (m) ↓
Light smoke
DA30.5480.9320.1650.2900.295
CaFNet (No-Smoke)0.5490.9290.1900.3110.293
CaFNet0.5080.9350.1810.2780.277
GRT0.4420.8990.4490.2330.211
GRT+Image0.4150.8820.4530.1520.196
RadarCam-Depth0.5130.9370.1710.3320.303
GRADE (Ours)0.2950.9620.1220.1070.160
Medium smoke
DA30.8570.8900.2561.8370.735
CaFNet (No-Smoke)0.8760.8820.2720.9290.529
CaFNet0.8100.8910.2620.9870.532
GRT0.4550.8970.4480.2300.212
GRT+Image0.4240.8800.4570.1510.195
RadarCam-Depth0.6490.9190.2110.5450.402
GRADE (Ours)0.3180.9580.1420.1200.170
Heavy smoke
DA31.7510.6250.3857.7961.970
CaFNet (No-Smoke)1.2290.8210.3133.1640.985
CaFNet1.2920.7940.3223.5031.053
GRT0.4040.9070.4370.1730.189
GRT+Image0.4040.8890.4420.1370.187
RadarCam-Depth0.7260.9090.2100.7030.468
GRADE (Ours)0.3040.9620.1290.1040.161
Legend for the smoke-density trend plots.
MAE across light, medium, and heavy smoke. LPIPS across light, medium, and heavy smoke. Chamfer Distance across light, medium, and heavy smoke. Modified Hausdorff Distance across light, medium, and heavy smoke.

GRADE is best on every metric in each stratum and changes little from light to heavy smoke, while the camera-dependent baselines climb steeply.

Ablations

Contribution of Each Module

Pooled test set across all visibility conditions.

Variant MAE (m) ↓ SSIM ↑ LPIPS ↓ CD (m2) ↓ MHD (m) ↓ GE ↓
Ours_radar0.3200.9580.1470.1320.1720.0035
Ours_diffusion0.3600.9540.1540.1670.1970.0027
Ours_full0.3080.9590.1330.1160.1660.0026
GRT_Refine (Frozen)0.4500.9390.1820.2300.2430.0034
GRT_Refine (Retrain)0.4330.9460.1730.2480.2440.0028

A pretrained diffusion prior does not improve the radar estimate on its own: Ours_diffusion sharpens boundaries (GE falls from 0.0035 to 0.0027) but worsens MAE, LPIPS, CD, and MHD, because the prior can place plausible structure in the wrong location. Adding visual guidance gives Ours_full, best on all six metrics. Swapping our Stage 1 for GRT stays behind on every metric even after the refinement stage is retrained on GRT outputs.

Where Visual Guidance Helps

Delta MAE between the full GRADE model and the radar-only module as a function of smoke density; negative values favor the full model.

ΔMAE between GRADE and its radar-only module against measured smoke density. Negative values through light and medium smoke show the adapter using the visual cues that remain. As visibility collapses, ΔMAE approaches zero rather than growing, so the full model falls back toward the radar-conditioned estimate instead of being dragged down by an uninformative image.

BibTeX

@inproceedings{zhao2026grade,
  title     = {GRADE: Single-Frame Generative Radar Depth Estimation Under Visual Degradation},
  author    = {Zhao, Bin and Chiou, Patrick and Garg, Nakul},
  booktitle = {Proceedings of the 32nd Annual International Conference on
               Mobile Computing and Networking (MobiCom '26)},
  year      = {2026},
  doi       = {10.1145/3795866.3844478}
}