可用于端到端自动驾驶的自监督预训练,实现从历史视觉输入预测未来点云,联合建模3D几何与时间动态,支持感知、预测和规划任务,是首个视觉点云预测架构。【此简介由AI生成】
This repository is empty
Translated by AI, submit an issue feedback
ViDAR:视觉点云预测

视觉点云预测使端到端的自动驾驶规模化成为可能 [CVPR 2024 精选]
- 由 OpenDriveLab 在上海人工智能实验室展示
- 📬 联系人:杨泽通 ( tomztyang@gmail.com )
- arXiv 论文 | 视频 (YouTube, 5分钟) | 世界模型教程 (Bilibili)
- CVPR 2024 自动驾驶挑战 - 预测性世界模型
精彩亮点
🔥 视觉点云预测,一种新的自监督预训练任务,用于端到端的自动驾驶,从历史视觉输入中预测未来点云,联合建模3D几何形状和时态动态,实现感知、预测和规划的同步。
🌟 ViDAR,首个视觉点云预测架构。

🏆 预测性世界模型,以视觉点云预测的形式,将是 CVPR 2024 自动驾驶挑战 的主要赛道。请保持关注获取更多信息!
新闻
[2024/4]🔥 发布了在端到端自动驾驶 (UniAD) 上进行预训练的 ViDAR。请参阅 ViDAR-UniAD 页面 了解更多信息。[2024/4]🔥 发布了在nuScenes-fullset 上进行预训练的 ViDAR。请查看预训练和微调的配置。相应的模型可在预训练和微调中找到。[2024/3]🔥 启动了预测性世界模型挑战。请参考链接了解更多详情。[2024/2]发布了 ViDAR 的代码和模型。[2024/2]ViDAR 被 CVPR 2024 接受。[2023/12]发布了 ViDAR 论文。
待办事项列表
仍在进行中:
目录
结果和模型库
视觉点云预测预训练
NuScenes 数据集:
| 预训练模型 | 数据集 | 配置 | CD@1s | CD@2s | CD@3s | 模型和日志 |
|---|---|---|---|---|---|---|
| ViDAR-RN101-nus-1-8-1future | nuScenes (12.5% Data) | vidar-nusc-pretrain-1future | - | - | - | 模型 / 日志 |
| ViDAR-RN101-nus-1-8-3future | nuScenes (12.5% Data) | vidar-nusc-pretrain-3future | 1.25 | 1.48 | 1.79 | 模型 / 日志 |
| ViDAR-RN101-nus-full-1future | nuScenes (100% Data) | vidar-nusc-pretrain-1future | - | - | - | 模型 |
- 提示:在运行 ViDAR 的 nuScenes-full 集合之前,请先运行
python tools/merge_nusc_fullset_pkl.py来生成 nuscenes_infos_temporal_traintest.pkl 用于预训练。
OpenScene 数据集:
| 预训练模型 | 数据集 | 配置 | CD@1s | CD@2s | CD@3s | 模型和日志 |
|---|---|---|---|---|---|---|
| ViDAR-RN101-OpenScene-3future | OpenScene-mini (12.5% Data) | vidar-OpenScene-pretrain-3future-1-8 | 1.41 | 1.57 | 1.78 | 模型 / 日志 |
| ViDAR-RN101-OpenScene-3future | OpenScene-mini-Full (100% Data) | vidar-OpenScene-pretrain-3future-full | 1.03 | 1.15 | 1.35 | 模型 / 日志 |
下游微调(感知)
| 下游模型 | 数据集 | 预训练 | 配置 | NDS | mAP | 模型和日志 |
|---|---|---|---|---|---|---|
| BEVFormer-Base (基线) | nuScenes (25% Data) | FCOS3D | bevformer-base | 43.40 | 35.47 | 模型 / 日志 |
| BEVFormer-Base | nuScenes (25% Data) | ViDAR-RN101-nus-1-8-1future | vidar-nusc-finetune-1future | 45.77 | 36.90 | 模型 / 日志 |
| BEVFormer-Base | nuScenes (25% Data) | ViDAR-RN101-nus-1-8-3future | vidar-nusc-finetune-3future | 45.61 | 36.84 | 模型 / 日志 |
| BEVFormer-Base(基线) | nuScenes (100% Data) | FCOS3D | bevformer-base | 51.7 | 41.6 | 模型 |
| BEVFormer-Base | nuScenes (100% Data) | ViDAR-RN101-nus-full-1future | vidar-nusc-finetune-1future | 55.33 | 45.20 | 模型 |
下游微调(端到端)
请参考ViDAR-UniAD页面。
安装
安装步骤与BEVFormer类似。 为了方便,我们列出了以下步骤:
conda create -n vidar python=3.8 -y
conda activate vidar
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
conda install -c omgarcia gcc-6 # (optional) gcc-6.2
安装 mm 系列软件包。
pip install mmcv-full==1.4.0
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
# Install mmdetection3d from source codes.
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.17.1 # Other versions may not be compatible.
python setup.py install
安装 Detectron2 和 Timm。
pip install einops fvcore seaborn iopath==0.1.9 timm==0.6.13 typing-extensions==4.5.0 pylint ipython==8.12 numpy==1.19.5 matplotlib==3.5.2 numba==0.48.0 pandas==1.4.4 scikit-image==0.19.3 setuptools==59.5.0
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
设置 ViDAR 项目。
git clone https://github.com/OpenDriveLab/ViDAR
cd ViDAR
mkdir pretrained
cd pretrained & wget https://github.com/zhiqi-li/storage/releases/download/v1.0/r101_dcn_fcos3d_pretrain.pth
# Install chamferdistance library.
cd third_lib/chamfer_dist/chamferdist/
pip install .
数据集准备
训练与评估
训练
我们推荐使用8块A100 GPU进行训练。在预训练阶段,GPU的内存使用量大约为63G。
- 提示:为了节省GPU内存,您可以将
supervise_all_future=True改为False,并使用较小的vidar_head_pred_history_frame_num和vidar_head_pred_future_frame_num。 例如,通过设置supervise_all_future=False、vidar_head_pred_history_frame_num=0、vidar_head_pred_future_frame_num=0以及vidar_head_per_frame_loss_weight=(1.0,), vidar-pretrain-3future-model的GPU内存消耗可以降低至大约34G。 一个示例配置在这里提供。 - 完整nuScenes训练:为了在完整的nuScenes数据集上预训练ViDAR,请先运行
python tools/merge_nusc_fullset_pkl.py,以生成用于预训练的nuscenes_infos_temporal_traintest.pkl文件。
CONFIG=path/to/config.py
GPU_NUM=8
./tools/dist_train.sh ${CONFIG} ${GPU_NUM}
评估
CONFIG=path/to/vidar_config.py
CKPT=path/to/checkpoint.pth
GPU_NUM=8
./tools/dist_test.sh ${CONFIG} ${CKPT} ${GPU_NUM}
直观展现
CONFIG=path/to/vidar_config.py
CKPT=path/to/checkpoint.pth
GPU_NUM=1
./tools/dist_test.sh ${CONFIG} ${CKPT} ${GPU_NUM} \
--cfg-options 'model._viz_pcd_flag=True' 'model._viz_pcd_path=/path/to/output'
许可与引用
所有资源及代码均遵循 Apache 2.0 许可,除非特别说明。
若您的研究从此工作中受益,请您考虑引用以下 BibTeX 条目。
@inproceedings{yang2023vidar,
title={Visual Point Cloud Forecasting enables Scalable Autonomous Driving},
author={Yang, Zetong and Chen, Li and Sun, Yanan and Li, Hongyang},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
year={2024}
}
相关资源
我们感谢以下项目的开源贡献者,使得这项工作得以实现:
vidar_nstp
Introduction
可用于端到端自动驾驶的自监督预训练,实现从历史视觉输入预测未来点云,联合建模3D几何与时间动态,支持感知、预测和规划任务,是首个视觉点云预测架构。【此简介由AI生成】
Customize your domain