π 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.
π 1. Results & Checkpoints
| Method | NC | DAC | EP | TTC | Comfort | PDMS | Training Time | GPU Memory | Checkpoint |
|---|---|---|---|---|---|---|---|---|---|
| WoTE | 98.5 | 96.8 | 81.9 | 94.9 | 99.9 | 88.3 | 3 hrs | 22 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.