Views
No views yet


1conda env create -f environment.yml
2conda activate omniv2x
3pip install -e .1export NAVSIM_DEVKIT_ROOT="$PWD"
2export NAVSIM_EXP_ROOT=/path/to/experiments
3export OPENSCENE_DATA_ROOT=/path/to/openscene
4export NUPLAN_MAPS_ROOT=/path/to/nuplan/maps
5export DAIRV2X_DATA_ROOT=/path/to/dair-v2x-seq
6export DAIRV2X_MAP_ROOT=/path/to/dair-v2x-seq/maps1$OPENSCENE_DATA_ROOT/
2 navsim_logs/trainval/
3 sensor_blobs/trainval/download/ create this layout when run from the target
OpenScene data directory.1mkdir -p checkpoints
2hf download AndyPJT/OmniV2X \
3 omniv2x_dairv2x_no_map.ckpt \
4 omniv2x_dairv2x_map.ckpt \
5 --local-dir checkpoints1bash scripts/train_navsim_pretrain.sh \
2 trainer.params.max_epochs=100 \
3 dataloader.params.batch_size=321export CHECKPOINT_PATH=/path/to/omniv2x_navsim_pretrain.ckpt
2bash scripts/finetune_dairv2x.sh \
3 trainer.params.max_epochs=500 \
4 dataloader.params.batch_size=16AGENT_CONFIG=omniv2x_map_flow bash scripts/finetune_dairv2x.sh1export CHECKPOINT_PATH=checkpoints/omniv2x_dairv2x_no_map.ckpt
2export DAIRV2X_DATA_ROOT=/path/to/dair-v2x-seq
3MAP_TOKENS=0 INFRA_BBOX_TOKENS=16 NUM_INFERENCE_STEPS=20 \
4 RUN_NAME=omniv2x_no_map_val \
5 bash scripts/infer_dairv2x.sh1export CHECKPOINT_PATH=checkpoints/omniv2x_dairv2x_map.ckpt
2export DAIRV2X_DATA_ROOT=/path/to/dair-v2x-seq
3export DAIRV2X_MAP_ROOT=/path/to/dair-v2x-seq/maps
4MAP_TOKENS=128 INFRA_BBOX_TOKENS=16 NUM_INFERENCE_STEPS=20 \
5 RUN_NAME=omniv2x_map_val \
6 bash scripts/infer_dairv2x.sh--device cuda for paper reproduction. On CPU-only
machines, append --device cpu to the scripts/infer_dairv2x.sh command for a
small smoke test.1export TRAJECTORY_RESULTS=/path/to/trajectory_results.pkl
2bash scripts/eval_dairv2x_pdms.sh1navsim/planning/script/config/common/agent/omniv2x_base.yaml
2navsim/planning/script/config/common/agent/omniv2x_flow.yaml
3navsim/planning/script/config/common/agent/omniv2x_map_flow.yaml
4navsim/planning/script/config/training/omniv2x_navsim_pretrain.yaml
5navsim/planning/script/config/training/omniv2x_dairv2x_finetune.yaml${NAVSIM_EXP_ROOT}. To use
Weights & Biases instead, launch with logger=wandb after logging in to W&B.| Checkpoint | Link | Intended use |
|---|---|---|
omniv2x_dairv2x_no_map.ckpt | download | SDSM/V2X object-token conditioning without map tokens |
omniv2x_dairv2x_map.ckpt | download | SDSM + MAP conditioning with 128 map tokens |
| Model | V2X message | Cost (BPS) | Avg. L2 (m, lower better) | 3s Avg. Collision (%, lower better) | PDMS (higher better) |
|---|---|---|---|---|---|
| OmniV2X | SDSM | 1,408 | 0.86 +/- 0.01 | 0.06 +/- 0.02 | 88.33 +/- 0.23 |
| OmniV2X (w/ Map) | SDSM + MAP | 25,792 | 0.86 +/- 0.00 | 0.01 +/- 0.01 | 89.87 +/- 0.18 |
1assets/figures/ Paper figures used by this README
2download/ Public NAVSIM/OpenScene download helpers
3navsim/agents/omniv2x/core/ Agent, feature builders, and planner wrapper
4navsim/agents/omniv2x/models/ Vision encoder, Q-Former, and flow/AR planner modules
5navsim/agents/omniv2x/scripts/ Inference and DAIR-V2X PDMS evaluation code
6navsim/agents/omniv2x/utils/ Training loop, Lightning module, and logging helpers
7navsim/planning/script/config/ Hydra configs retained for OmniV2X training/evaluation
8docs/ Checkpoint and configuration notes
9scripts/ Public launchers for pretraining, fine-tuning, inference, and PDMS
10tests/ Lightweight regression tests1@article{peng2026omniv2x,
2 title={OmniV2X: A Generative Foundation Planner for Efficient End-to-End Cooperative Driving},
3 author={Peng, Juntong and Lu, Juanwu and Zhou, Yupeng and Cui, Can and Chen, Yaobin and Wang, Ziran},
4 journal={arXiv preprint arXiv:2606.21165},
5 year={2026}
6}