[CVPR 2023 Best Paper Award] Planning-oriented Autonomous Driving
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 2 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 9 个月前 | ||
| 9 个月前 |
Important
🌟 请访问 opendrivelab.com 获取最新动态!
论文预印本 | 视频 | 海报 | 幻灯片
https://github.com/OpenDriveLab/UniAD/assets/48089846/bcf685e4-2471-450e-8b77-e028a46bd0f7
🚀 2025/10/29 UniAD 2.0 版本发布
我们激动地宣布 UniAD 2.0 版本正式发布!这是一个里程碑式的版本,带来了关键升级和面向未来的功能!
🔑 核心增强
- 🛠️ 框架:迁移至
mmdet3d 1.x和torch 2.x(当前广泛使用的版本)。详情请参见 发布说明。 - 🔄 兼容性:保留现有工作流程 - 可通过 评估示例 复现我们的结果。
- 📊 数据集:集成 nuPlan 和 NAVSIM 数据集。
📅 待办事项
目录:
核心亮点
- 🚘 面向规划的设计理念:UniAD 是一个遵循面向规划设计理念的统一自动驾驶算法框架。与独立模块化设计和多任务学习不同,我们将感知、预测和规划等一系列任务进行层次化构建。
- 🏆 最先进性能:UniAD 中的所有任务均达到最先进性能,尤其是预测和规划任务(运动预测:0.71米 minADE,占据预测:63.4% IoU,规划:0.31% avg.Col)
新闻
-
2025/10/29:我们发布了 UniAD 实现的新版本。详情请参见 发布说明。 -
论文标题变更:为避免与机器人领域中的“目标点”导航概念混淆,根据评审专家建议,我们将标题从“Goal-oriented”更改为“Planning-oriented”。感谢! -
规划指标:相关讨论 [参考链接:https://github.com/OpenDriveLab/UniAD/issues/29]:关于开环规划结果比较的 说明 和 注意事项。 -
2024/08/27新功能:CARLA 的实现以及在 CARLA Leaderboard 2.0 场景上的闭环评估已在 Bench2Drive 中提供。 -
2023/08/03错误修复 [提交记录]:此前,可视化的规划结果与真实值在 x 轴方向上相反。现已修复。 -
2023/06/12错误修复 [参考链接:https://github.com/OpenDriveLab/UniAD/issues/21]:此前,由于错误地添加了loss_past_traj并冻结了img_neck和BN,导致 stage1 模型(track_map)从零开始训练时无法复现性能。通过在训练中移除loss_past_traj并解冻img_neck和BN,可以复现报告的结果(AMOTA:0.393,stage1_train_log)。 -
2023/04/18新功能:您可以用其他 BEV 编码方法替换 BEVFormer,例如 LSS,只需在 track_train 和 track_inference 中提供bev_embed和bev_pos即可。确保您的 BEV 与我们的 BEV 形状相同。 -
2023/04/18基础模型检查点已发布。 -
2023/03/29代码和模型初始版本v1.0发布。 -
2023/03/21🌟🌟 UniAD 被 CVPR 2023 接收,并成为 奖项候选论文(在 2360 篇接收论文中位列前 12)! -
2022/12/21UniAD 论文 在 arXiv 上发布。
快速开始
结果与预训练模型
UniAD 的训练分为两个阶段。两个阶段的预训练检查点都将发布,各模型的结果如下表所示。
阶段一:感知训练
我们首先训练感知模块(即跟踪和地图),以获得稳定的权重初始化,为下一阶段做准备。BEV 特征通过 5 帧进行聚合(queue_length = 5)。
| 方法 | 编码器 | 跟踪 AMOTA |
地图 IoU-lane |
配置文件 | 下载 |
|---|---|---|---|---|---|
| UniAD-B | R101 | 0.394 | 0.294 | base-stage1 | base-stage1 |
阶段二:端到端训练
我们对所有任务模块进行联合优化,包括跟踪、地图、运动、占用和规划。BEV 特征通过 3 帧进行聚合(queue_length = 3)。
| 方法 | 编码器 | 跟踪 AMOTA |
地图 IoU-lane |
运动 minADE |
占用 IoU-n. |
规划 avg.Col. |
配置文件 | 下载 |
|---|---|---|---|---|---|---|---|---|
| UniAD-B | R101 | 0.380 | 0.314 | 0.794 | 64.0 | 0.29 | base-stage2 | base-stage2 |
在 nuScense 基准测试集上的规划结果
| 方法 | 编码器 | L2 距离(米) | 碰撞率(%) | ||||||
| 1秒 | 2秒 | 3秒 | 平均值 | 1秒 | 2秒 | 3秒 | 平均值 | ||
| UniAD-B | R101 | 0.29 | 0.89 | 1.53 | 0.90 | 0.15 | 0.20 | 0.53 | 0.29 |
✨v2.0 新增:在 NAVSIM 基准测试集上的规划结果(来自 NAVSIM)。
| 方法 | 编码器 | NC | DAC | TTC | Comf. | EP | PDMS |
|---|---|---|---|---|---|---|---|
| UniAD | R34 | 97.8 | 91.9 | 92.9 | 100 | 78.8 | 83.4 |
检查点使用方法
- 将所需的检查点下载到
UniAD/ckpts/目录中。 - 您可以评估这些检查点以复现结果,请遵循 TRAIN_EVAL.md 中的“评估”部分。
- 您也可以使用提供的权重初始化自己的模型。在配置文件中将
load_from字段修改为path/of/ckpt,然后按照 TRAIN_EVAL.md 中的“训练”部分开始训练。
模型结构
UniAD 的整体流程由 uniad_e2e.py 控制,该文件协调 UniAD/projects/mmdet3d_plugin/uniad/dense_heads 中的所有任务模块。如果您对特定任务模块的实现感兴趣,请参考其对应的文件,例如 motion_head。
许可证
除非另有说明,所有资源和代码均遵循 Apache 2.0 许可证。
引用
如果您发现我们的项目对您的研究有所帮助,请考虑通过以下 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}
}