[CVPR 2023 Best Paper Award] Planning-oriented Autonomous Driving
Python
4,786
122 commits
updated Oct 29, 2025
[!IMPORTANT] ๐ Stay up to date at opendrivelab.com!
https://github.com/OpenDriveLab/UniAD/assets/48089846/bcf685e4-2471-450e-8b77-e028a46bd0f7
2025/10/29 UniAD 2.0 ReleaseWeโre thrilled to announce โUniAD 2.0, a milestone release delivering critical upgrades and future-ready capabilities!
๐ โKey Enhancementsโ
mmdet3d 1.x & torch 2.x (commonly used version today). Please see Release Note.โ๐ โTODO List
mmdet3d 1.0.0rc6, torch 2.0.1+cu118) โ Installation Guide.2025/10/29: We release a new version of UniAD implementation. Please see the Release Note.
Paper Title Change: To avoid confusion with the "goal-point" navigation in Robotics, we change the title from "Goal-oriented" to "Planning-oriented" suggested by Reviewers. Thank you!
Planning Metric: Discussion [Ref: https://github.com/OpenDriveLab/UniAD/issues/29]: Clarification and Notice regarding open-loop planning results comparison.
2024/08/27 New feature: Implementation for CARLA and closed-loop evaluation on CARLA Leaderboard 2.0 scenarios are available in Bench2Drive.
2023/08/03 Bugfix [Commit]: Previously, the visualized planning results were in opposition on the x axis, compared to the ground truth. Now it's fixed.
2023/06/12 Bugfix [Ref: https://github.com/OpenDriveLab/UniAD/issues/21]: Previously, the performance of the stage1 model (track_map) could not be replicated when trained from scratch, due to mistakenly adding loss_past_traj and freezing img_neck and BN. By removing loss_past_traj and unfreezing img_neck and BN in training, the reported results could be reproduced (AMOTA: 0.393, stage1_train_log).
2023/04/18 New feature: You can replace BEVFormer with other BEV Encoding methods, e.g., LSS, as long as you provide the bev_embed and bev_pos in track_train and track_inference. Make sure your bevs and ours are of the same shape.
2023/04/18 Base-model checkpoints are released.
2023/03/29 Code & model initial release v1.0.
2023/03/21 ๐๐ UniAD is accepted by CVPR 2023, as an Award Candidate (12 out of 2360 accepted papers)!
2022/12/21 UniAD paper is available on arXiv.
UniAD is trained in two stages. Pretrained checkpoints of both stages will be released and the results of each model are listed in the following tables.
We first train the perception modules (i.e., track and map) to obtain a stable weight initlization for the next stage. BEV features are aggregated with 5 frames (queue_length = 5).
| Method | Encoder | Tracking AMOTA | Mapping IoU-lane | config | Download |
|---|---|---|---|---|---|
| UniAD-B | R101 | 0.394 | 0.294 | base-stage1 | base-stage1 |
We optimize all task modules together, including track, map, motion, occupancy and planning. BEV features are aggregated with 3 frames (queue_length = 3).
| Method | Encoder | Tracking AMOTA | Mapping IoU-lane | Motion minADE | Occupancy IoU-n. | Planning avg.Col. | config | Download |
|---|---|---|---|---|---|---|---|---|
| UniAD-B | R101 | 0.380 | 0.314 | 0.794 | 64.0 | 0.29 | base-stage2 | base-stage2 |
Planning results on the nuScense benchmark
| Method | Encoder | L2(m) | Col. Rate(%) | ||||||
| 1s | 2s | 3s | Avg. | 1s | 2s | 3s | Avg. | ||
| UniAD-B | R101 | 0.29 | 0.89 | 1.53 | 0.90 | 0.15 | 0.20 | 0.53 | 0.29 |
โจNEW in v2.0: Planning results on the NAVSIM benchmark (from NAVSIM).
| Method | Encoder | NC | DAC | TTC | Comf. | EP | PDMS |
|---|---|---|---|---|---|---|---|
| UniAD | R34 | 97.8 | 91.9 | 92.9 | 100 | 78.8 | 83.4 |
UniAD/ckpts/ directory.evaluation section in TRAIN_EVAL.md.load_from field to path/of/ckpt in the config and follow the train section in TRAIN_EVAL.md to start training.The overall pipeline of UniAD is controlled by uniad_e2e.py which coordinates all the task modules in UniAD/projects/mmdet3d_plugin/uniad/dense_heads. If you are interested in the implementation of a specific task module, please refer to its corresponding file, e.g., motion_head.
All assets and code are under the Apache 2.0 license unless specified otherwise.
If you find our project useful for your research, please consider citing our paper and codebase with the following BibTeX:
@inproceedings{hu2023_uniad,
title={Planning-oriented Autonomous Driving},
author={Yihan Hu and Jiazhi Yang and Li Chen and Keyu Li and Chonghao Sima and Xizhou Zhu and Siqi Chai and Senyao Du and Tianwei Lin and Wenhai Wang and Lewei Lu and Xiaosong Jia and Qiang Liu and Jifeng Dai and Yu Qiao and Hongyang Li},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2023},
}
@misc{contributors2023_uniadrepo,
title={Planning-oriented Autonomous Driving},
author={UniAD contributors},
howpublished={\url{https://github.com/OpenDriveLab/UniAD}},
year={2023}
}
1,757 followers ยท starred Jul 2023
268 followers ยท starred Jun 2023
2,223 followers ยท starred Dec 2024
260 followers ยท starred Jun 2023
[CVPR 2023 Best Paper Award] Planning-oriented Autonomous Driving
Python
4,786
122 commits
updated Oct 29, 2025
[!IMPORTANT] ๐ Stay up to date at opendrivelab.com!
https://github.com/OpenDriveLab/UniAD/assets/48089846/bcf685e4-2471-450e-8b77-e028a46bd0f7
2025/10/29 UniAD 2.0 ReleaseWeโre thrilled to announce โUniAD 2.0, a milestone release delivering critical upgrades and future-ready capabilities!
๐ โKey Enhancementsโ
mmdet3d 1.x & torch 2.x (commonly used version today). Please see Release Note.โ๐ โTODO List
mmdet3d 1.0.0rc6, torch 2.0.1+cu118) โ Installation Guide.2025/10/29: We release a new version of UniAD implementation. Please see the Release Note.
Paper Title Change: To avoid confusion with the "goal-point" navigation in Robotics, we change the title from "Goal-oriented" to "Planning-oriented" suggested by Reviewers. Thank you!
Planning Metric: Discussion [Ref: https://github.com/OpenDriveLab/UniAD/issues/29]: Clarification and Notice regarding open-loop planning results comparison.
2024/08/27 New feature: Implementation for CARLA and closed-loop evaluation on CARLA Leaderboard 2.0 scenarios are available in Bench2Drive.
2023/08/03 Bugfix [Commit]: Previously, the visualized planning results were in opposition on the x axis, compared to the ground truth. Now it's fixed.
2023/06/12 Bugfix [Ref: https://github.com/OpenDriveLab/UniAD/issues/21]: Previously, the performance of the stage1 model (track_map) could not be replicated when trained from scratch, due to mistakenly adding loss_past_traj and freezing img_neck and BN. By removing loss_past_traj and unfreezing img_neck and BN in training, the reported results could be reproduced (AMOTA: 0.393, stage1_train_log).
2023/04/18 New feature: You can replace BEVFormer with other BEV Encoding methods, e.g., LSS, as long as you provide the bev_embed and bev_pos in track_train and track_inference. Make sure your bevs and ours are of the same shape.
2023/04/18 Base-model checkpoints are released.
2023/03/29 Code & model initial release v1.0.
2023/03/21 ๐๐ UniAD is accepted by CVPR 2023, as an Award Candidate (12 out of 2360 accepted papers)!
2022/12/21 UniAD paper is available on arXiv.
UniAD is trained in two stages. Pretrained checkpoints of both stages will be released and the results of each model are listed in the following tables.
We first train the perception modules (i.e., track and map) to obtain a stable weight initlization for the next stage. BEV features are aggregated with 5 frames (queue_length = 5).
| Method | Encoder | Tracking AMOTA | Mapping IoU-lane | config | Download |
|---|---|---|---|---|---|
| UniAD-B | R101 | 0.394 | 0.294 | base-stage1 | base-stage1 |
We optimize all task modules together, including track, map, motion, occupancy and planning. BEV features are aggregated with 3 frames (queue_length = 3).
| Method | Encoder | Tracking AMOTA | Mapping IoU-lane | Motion minADE | Occupancy IoU-n. | Planning avg.Col. | config | Download |
|---|---|---|---|---|---|---|---|---|
| UniAD-B | R101 | 0.380 | 0.314 | 0.794 | 64.0 | 0.29 | base-stage2 | base-stage2 |
Planning results on the nuScense benchmark
| Method | Encoder | L2(m) | Col. Rate(%) | ||||||
| 1s | 2s | 3s | Avg. | 1s | 2s | 3s | Avg. | ||
| UniAD-B | R101 | 0.29 | 0.89 | 1.53 | 0.90 | 0.15 | 0.20 | 0.53 | 0.29 |
โจNEW in v2.0: Planning results on the NAVSIM benchmark (from NAVSIM).
| Method | Encoder | NC | DAC | TTC | Comf. | EP | PDMS |
|---|---|---|---|---|---|---|---|
| UniAD | R34 | 97.8 | 91.9 | 92.9 | 100 | 78.8 | 83.4 |
UniAD/ckpts/ directory.evaluation section in TRAIN_EVAL.md.load_from field to path/of/ckpt in the config and follow the train section in TRAIN_EVAL.md to start training.The overall pipeline of UniAD is controlled by uniad_e2e.py which coordinates all the task modules in UniAD/projects/mmdet3d_plugin/uniad/dense_heads. If you are interested in the implementation of a specific task module, please refer to its corresponding file, e.g., motion_head.
All assets and code are under the Apache 2.0 license unless specified otherwise.
If you find our project useful for your research, please consider citing our paper and codebase with the following BibTeX:
@inproceedings{hu2023_uniad,
title={Planning-oriented Autonomous Driving},
author={Yihan Hu and Jiazhi Yang and Li Chen and Keyu Li and Chonghao Sima and Xizhou Zhu and Siqi Chai and Senyao Du and Tianwei Lin and Wenhai Wang and Lewei Lu and Xiaosong Jia and Qiang Liu and Jifeng Dai and Yu Qiao and Hongyang Li},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2023},
}
@misc{contributors2023_uniadrepo,
title={Planning-oriented Autonomous Driving},
author={UniAD contributors},
howpublished={\url{https://github.com/OpenDriveLab/UniAD}},
year={2023}
}
1,757 followers ยท starred Jul 2023
268 followers ยท starred Jun 2023
2,223 followers ยท starred Dec 2024
260 followers ยท starred Jun 2023