πŸš— End-to-End Driving with Online Trajectory Evaluation via BEV World Model (ICCV2025)

June 29, 2025 Β· View on GitHub

Yingyan Li*, Yuqi Wang*, Yang Liu, Jiawei He, Lue Fan† and Zhaoxiang Zhang† [πŸ“„ Paper (arXiv:2504.01941)]

We present WoTE, an end-to-end autonomous driving framework that leverages a BEV-based world model to predict future agent states, enabling online trajectory evaluation and selection.

WoTE Framework


πŸ“Š 1. Results & Checkpoints

MethodNCDACEPTTCComfortPDMSTraining TimeGPU MemoryCheckpoint
WoTE98.596.881.994.999.988.33 hrs22 GBπŸ“₯ Download

Training conducted on 8 NVIDIA L20 GPUs.

Legend
β€’ NC: No Collision
β€’ DAC: Drivable Area Compliance
β€’ EP: Ego Progress
β€’ TTC: Time to Collision
β€’ Comfort: Comfort β€’ PDMS: Predictive Driver Model Score


πŸ“¦ 2. Dataset & File Structure

root/
β”œβ”€β”€ ckpts/
β”‚   └── resnet34.pth
β”œβ”€β”€ dataset/
β”‚   β”œβ”€β”€ maps/
β”‚   β”œβ”€β”€ navsim_logs/
β”‚   β”‚   β”œβ”€β”€ test/
β”‚   β”‚   └── trainval/
β”‚   β”œβ”€β”€ sensor_blobs/
β”‚   β”‚   β”œβ”€β”€ test/
β”‚   β”‚   └── trainval/
β”‚   └── extra_data/planning_vb/
β”‚       β”œβ”€β”€ trajectory_anchors_256.npy
β”‚       └── formatted_pdm_score_256.npy
└── exp/
    └── metric_cache/

πŸ“ a. Download NAVSIM Dataset

To obtain the navsim dataset:

bash download/download_maps.sh
bash download/download_navtrain.sh
bash download/download_test.sh

πŸ“ b. Prepare Extra Data

You can either download the extra data directly from 🌐 Google Drive or generate the files manually:

  • K-means anchor trajectories (trajectory_anchors_256.npy):
python scripts/misc/k_means_trajs.py
  • Reward generation (formatted_pdm_score_256.npy):
bash scripts/misc/gen_pdm_score.sh

πŸ“ c. Precompute Metric Cache

bash scripts/evaluation/run_metric_caching.sh

βš™οΈ 3. Installation

Create the conda environment:

conda env create -f environment.yml
conda activate wote

Install dependencies:

pip install -r requirements.txt
pip install git+https://github.com/motional/nuplan-devkit.git@nuplan-devkit-v1.2#egg=nuplan-devkit

Add environment variables to ~/.bashrc (modify paths as needed):

export NUPLAN_MAP_VERSION="nuplan-maps-v1.0"
export NUPLAN_MAPS_ROOT="$HOME/navsim_workspace/dataset/maps"
export NAVSIM_EXP_ROOT="$HOME/navsim_workspace/exp"
export NAVSIM_DEVKIT_ROOT="$HOME/navsim_workspace/"
export OPENSCENE_DATA_ROOT="$HOME/navsim_workspace/dataset"

πŸš€ 4. Training & Evaluation

Update paths in:

navsim/agents/WoTE/configs/default.py

Then launch training:

bash scripts/training/run_wote.sh

Evaluation:

bash scripts/evaluation/eval_wote.sh


πŸ” 5. More from Us

If you're interested in world models for autonomous driving, feel free to check out our related work:

  • LAW (ICLR 2025): Using latent world models for self-supervised feature learning in end-to-end autonomous driving.