Evaluation Pipeline

April 26, 2026 ยท View on GitHub

Dataset-agnostic, multi-model evaluation framework for radar point cloud generation.

Quick Start

python evaluation/scripts/evaluate.py --config evaluation/configs/truckscenes_eval.yaml

Configuration

All settings live in a YAML config file. See evaluation/configs/truckscenes_eval.yaml.

Metrics

MetricScopeDescription
Chamfer Distance (xy)per-sample, per-boxSpatial accuracy
Chamfer Distance (normalized)per-sample, per-boxAll attributes normalized to [0,1]
IoUper-sampleAt 1.0m threshold
MMD (xy, rcs, doppler)per-sampleDistribution similarity
Recall / Precision / F1per-sampleOptimal one-to-one matching with distance + attribute thresholds
Density Similarityper-boxmin(N, M) / max(N, M) ratio between synthetic and GT points
Hit / Miss / FP ratesper-boxBox detection statistics
Invariant MMD per classaggregatedClass-level distribution comparison in box-local coords

Adding a New Model

  1. Implement ModelWrapper (see evaluation/protocols.py) and register it with @register_model("my_model") in a new file under evaluation/models/. See evaluation/models/radargen_wrapper.py as an example.
  2. Import it in evaluation/models/__init__.py.
  3. Add it to the config under models. See evaluation/configs/truckscenes_eval.yaml as an example.