CN.md
December 15, 2023 · View on GitHub
English | 简体中文
Towards Robust Bird's Eye View Perception under Common Corruption and Domain Shift
Shaoyuan Xie1
Lingdong Kong2,3
Wenwei Zhang2,4
Jiawei Ren4
Liang Pan4
Kai Chen2
Ziwei Liu4
1华中科技大学
2上海人工智能实验室
3新加坡国立大学
4南洋理工大学S-Lab
项目概览
RoboBEV 是首个为在自然数据"损坏"和域迁移条件下, 基于相机的鸟瞰图 (BEV) 感知量身定制的鲁棒性评估基线。该基线包括了以下八种可能出现在驾驶场景中的数据"损坏"类型: 1传感器故障损坏、2运动和数据处理损坏、3光照条件损坏和4天气条件损坏。
| 左前视角 | 前视角 | 右前视角 | 左前视角 | 前视角 | 右前视角 |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| 左后视角 | 后视角 | 右后视角 | 左后视角 | 后视角 | 右后视角 |
请参阅我们的 项目主页 以获取更多细节与实例。 :blue_car:
版本更新
- [2023.06] - nuScenes-C 数据集现已发布在OpenDataLab平台!🚀
- [2023.04] - 我们在 Paper-with-Code 平台搭建了 "鲁棒BEV感知" 基线。现在就加入鲁棒性评测吧!:raising_hand:
- [2023.02] - 我们邀请每一位BEV爱好者参与到 "鲁棒BEV感知" 基线中来! 更多细节,请阅读此页面。:beers:
- [2023.01] - 推出 "RoboBEV"! 在这个初始版本中,11个BEV检测算法和1个单目3D检测算法已经在8个"损坏"类型和3种严重程度下进行了基准测试。
大纲
安装
请参阅 安装.md 以获取更多有关环境安装的细节。
数据准备
我们的数据集由 OpenDataLab 平台搭载。
OpenDataLab 是一个引领AI大模型时代的数据开源开放平台。OpenDataLab 为人工智能研究者提供免费开源的数据集,通过该平台,研究者可以获得格式统一的各领域经典数据集。
请参阅 数据准备.md 以获取更多有关准备 nuScenes 和 nuScenes-C 数据集的细节。
开始实验
请参阅 开始实验.md 以获取更多有关如何使用本代码库的细节。
模型库
基于多视角相机的BEV检测模型
- Fast-BEV, arXiv 2023.
[Code]- SOLOFusion, ICLR 2023.
[Code]- PolarFormer, AAAI 2023.
[Code]- BEVStereo, AAAI 2023.
[Code]- BEVDepth, AAAI 2023.
[Code]- MatrixVT, arXiv 2022.
[Code]- Sparse4D, arXiv 2022.
[Code]- CrossDTR, arXiv 2022.
[Code]- SRCN3D, arXiv 2022.
[Code]- PolarDETR, arXiv 2022.
[Code]- BEVerse, arXiv 2022.
[Code]- M^2BEV, arXiv 2022.
[Code]- ORA3D, BMVC 2022.
[Code]- Graph-DETR3D, ACM MM 2022.
[Code]- SpatialDETR, ECCV 2022.
[Code]- PETR, ECCV 2022.
[Code]- BEVFormer, ECCV 2022.
[Code]- BEVDet, arXiv 2021.
[Code]- DETR3D, CoRL 2021.
[Code]
基于相机与激光雷达融合的BEV检测模型
- BEVDistill, ICLR 2023.
[Code]- BEVFusion, ICRA 2023.
[Code]- BEVFusion, NeurIPS 2022.
[Code]- TransFusion, CVPR 2022.
[Code]- AutoAlignV2, ECCV 2022.
[Code]
基于多视角相机的深度估计模型
- SurroundDepth, CoRL 2022.
[Code]
基于多视角相机的语义占用模型
- SurroundOcc, arXiv 2023.
[Code]- TPVFormer, CVPR, 2023.
[Code]
鲁棒性基线
:triangular_ruler: 指标: 在我们的基准中,nuScenes Detection Score (NDS) 被用作评价模型性能的主要指标。我们采用以下两个指标来比较模型的鲁棒性:
- mCE (越低越好): 候选模型的平均损坏误差 (百分比),这是在三种严重程度的所有"损坏"类型中与基线模型相比计算出来的。
- mRR (越高越好): 候选模型的平均复原率 (百分比) ,这是在三种严重程度的所有"损坏"类型中与它的"干净"性能相比计算出来的。
:gear: 注释: 符号 :star: 表示 mCE 计算中采用的基线模型。更详细的实验结果,请参考 实验结果.md.
BEV 检测
| 模型 | mCE (%) | mRR (%) | Clean | Cam Crash | Frame Lost | Color Quant | Motion Blur | Bright | Low Light | Fog | Snow |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DETR3D:star: | 100.00 | 70.77 | 0.4224 | 0.2859 | 0.2604 | 0.3177 | 0.2661 | 0.4002 | 0.2786 | 0.3912 | 0.1913 |
| DETR3DCBGS | 99.21 | 70.02 | 0.4341 | 0.2991 | 0.2685 | 0.3235 | 0.2542 | 0.4154 | 0.2766 | 0.4020 | 0.1925 |
| BEVFormerSmall | 101.23 | 59.07 | 0.4787 | 0.2771 | 0.2459 | 0.3275 | 0.2570 | 0.3741 | 0.2413 | 0.3583 | 0.1809 |
| BEVFormerBase | 97.97 | 60.40 | 0.5174 | 0.3154 | 0.3017 | 0.3509 | 0.2695 | 0.4184 | 0.2515 | 0.4069 | 0.1857 |
| PETRR50-p4 | 111.01 | 61.26 | 0.3665 | 0.2320 | 0.2166 | 0.2472 | 0.2299 | 0.2841 | 0.1571 | 0.2876 | 0.1417 |
| PETRVoV-p4 | 100.69 | 65.03 | 0.4550 | 0.2924 | 0.2792 | 0.2968 | 0.2490 | 0.3858 | 0.2305 | 0.3703 | 0.2632 |
| ORA3D | 99.17 | 68.63 | 0.4436 | 0.3055 | 0.2750 | 0.3360 | 0.2647 | 0.4075 | 0.2613 | 0.3959 | 0.1898 |
| BEVDetR50 | 115.12 | 51.83 | 0.3770 | 0.2486 | 0.1924 | 0.2408 | 0.2061 | 0.2565 | 0.1102 | 0.2461 | 0.0625 |
| BEVDetR101 | 113.68 | 53.12 | 0.3877 | 0.2622 | 0.2065 | 0.2546 | 0.2265 | 0.2554 | 0.1118 | 0.2495 | 0.0810 |
| BEVDetR101-pt | 112.80 | 56.35 | 0.3780 | 0.2442 | 0.1962 | 0.3041 | 0.2590 | 0.2599 | 0.1398 | 0.2073 | 0.0939 |
| BEVDetSwinT | 116.48 | 46.26 | 0.4037 | 0.2609 | 0.2115 | 0.2278 | 0.2128 | 0.2191 | 0.0490 | 0.2450 | 0.0680 |
| BEVDepthR50 | 110.02 | 56.82 | 0.4058 | 0.2638 | 0.2141 | 0.2751 | 0.2513 | 0.2879 | 0.1757 | 0.2903 | 0.0863 |
| BEVerseSwinT | 110.67 | 48.60 | 0.4665 | 0.3181 | 0.3037 | 0.2600 | 0.2647 | 0.2656 | 0.0593 | 0.2781 | 0.0644 |
| BEVerseSwinS | 117.82 | 49.57 | 0.4951 | 0.3364 | 0.2485 | 0.2807 | 0.2632 | 0.3394 | 0.1118 | 0.2849 | 0.0985 |
| PolarFormerR101 | 96.06 | 70.88 | 0.4602 | 0.3133 | 0.2808 | 0.3509 | 0.3221 | 0.4304 | 0.2554 | 0.4262 | 0.2304 |
| PolarFormerVoV | 98.75 | 67.51 | 0.4558 | 0.3135 | 0.2811 | 0.3076 | 0.2344 | 0.4280 | 0.2441 | 0.4061 | 0.2468 |
| SRCN3DR101 | 99.67 | 70.23 | 0.4286 | 0.2947 | 0.2681 | 0.3318 | 0.2609 | 0.4074 | 0.2590 | 0.3940 | 0.1920 |
| SRCN3DVoV | 102.04 | 67.95 | 0.4205 | 0.2875 | 0.2579 | 0.2827 | 0.2143 | 0.3886 | 0.2274 | 0.3774 | 0.2499 |
| Sparse4DR101 | 100.01 | 55.04 | 0.5438 | 0.2873 | 0.2611 | 0.3310 | 0.2514 | 0.3984 | 0.2510 | 0.3884 | 0.2259 |
| SOLOFusionshort | 108.68 | 61.45 | 0.3907 | 0.2541 | 0.2195 | 0.2804 | 0.2603 | 0.2966 | 0.2033 | 0.2998 | 0.1066 |
| SOLOFusionlong | 97.99 | 64.42 | 0.4850 | 0.3159 | 0.2490 | 0.3598 | 0.3460 | 0.4002 | 0.2814 | 0.3991 | 0.1480 |
| SOLOFusionfusion | 92.86 | 64.53 | 0.5381 | 0.3806 | 0.3464 | 0.4058 | 0.3642 | 0.4329 | 0.2626 | 0.4480 | 0.1376 |
| FCOS3Dfinetune | 107.82 | 62.09 | 0.3949 | 0.2849 | 0.2479 | 0.2574 | 0.2570 | 0.3218 | 0.1468 | 0.3321 | 0.1136 |
| BEVFusionCam | 109.02 | 57.81 | 0.4121 | 0.2777 | 0.2255 | 0.2763 | 0.2788 | 0.2902 | 0.1076 | 0.3041 | 0.1461 |
| BEVFusionLiDAR | - | - | 0.6928 | - | - | - | - | - | - | - | - |
| BEVFusionC+L | 43.80 | 97.41 | 0.7138 | 0.6963 | 0.6931 | 0.7044 | 0.6977 | 0.7018 | 0.6787 | - | - |
| TransFusion | - | - | 0.6887 | 0.6843 | 0.6447 | 0.6819 | 0.6749 | 0.6843 | 0.6663 | - | - |
| AutoAlignV2 | - | - | 0.6139 | 0.5849 | 0.5832 | 0.6006 | 0.5901 | 0.6076 | 0.5770 | - | - |
多视角相机的深度估计
| Model | Metric | Clean | Cam Crash | Frame Lost | Color Quant | Motion Blur | Bright | Low Light | Fog | Snow |
|---|---|---|---|---|---|---|---|---|---|---|
| SurroundDepth | Abs Rel | 0.280 | 0.485 | 0.497 | 0.334 | 0.338 | 0.339 | 0.354 | 0.320 | 0.423 |
多视角相机的语义占用
| Model | Metric | Clean | Cam Crash | Frame Lost | Color Quant | Motion Blur | Bright | Low Light | Fog | Snow |
|---|---|---|---|---|---|---|---|---|---|---|
| TPVFormer | mIoU vox | 52.06 | 27.39 | 22.85 | 38.16 | 38.64 | 49.00 | 37.38 | 46.69 | 19.39 |
| SurroundOcc | SC mIoU | 20.30 | 11.60 | 10.00 | 14.03 | 12.41 | 19.18 | 12.15 | 18.42 | 7.39 |
BEV模型标定
| 模型 | 预训练 | 时序建模 | 深度估计 | CBGS | 骨干网络 | BEV编码器 | 图像尺寸 | mCE (%) | mRR (%) | NDS |
|---|---|---|---|---|---|---|---|---|---|---|
| DETR3D | ✓ | ✗ | ✗ | ✗ | ResNet | Attention | 1600×900 | 100.00 | 70.77 | 0.4224 |
| DETR3DCBGS | ✓ | ✗ | ✗ | ✓ | ResNet | Attention | 1600×900 | 99.21 | 70.02 | 0.4341 |
| BEVFormerSmall | ✓ | ✓ | ✗ | ✗ | ResNet | Attention | 1280×720 | 101.23 | 59.07 | 0.4787 |
| BEVFormerBase | ✓ | ✓ | ✗ | ✗ | ResNet | Attention | 1600×900 | 97.97 | 60.40 | 0.5174 |
| PETRR50-p4 | ✗ | ✗ | ✗ | ✗ | ResNet | Attention | 1408×512 | 111.01 | 61.26 | 0.3665 |
| PETRVoV-p4 | ✓ | ✗ | ✗ | ✗ | VoVNetV2 | Attention | 1600×900 | 100.69 | 65.03 | 0.4550 |
| ORA3D | ✓ | ✗ | ✗ | ✗ | ResNet | Attention | 1600×900 | 99.17 | 68.63 | 0.4436 |
| PolarFormerR101 | ✓ | ✗ | ✗ | ✗ | ResNet | Attention | 1600×900 | 96.06 | 70.88 | 0.4602 |
| PolarFormerVoV | ✓ | ✗ | ✗ | ✗ | VoVNetV2 | Attention | 1600×900 | 98.75 | 67.51 | 0.4558 |
| SRCN3DR101 | ✓ | ✗ | ✗ | ✗ | ResNet | CNN+Attn. | 1600×900 | 99.67 | 70.23 | 0.4286 |
| SRCN3DVoV | ✓ | ✗ | ✗ | ✗ | VoVNetV2 | CNN+Attn. | 1600×900 | 102.04 | 67.95 | 0.4205 |
| Sparse4DR101 | ✓ | ✓ | ✗ | ✗ | ResNet | CNN+Attn. | 1600×900 | 100.01 | 55.04 | 0.5438 |
| BEVDetR50 | ✗ | ✗ | ✓ | ✓ | ResNet | CNN | 704×256 | 115.12 | 51.83 | 0.3770 |
| BEVDetR101 | ✗ | ✗ | ✓ | ✓ | ResNet | CNN | 704×256 | 113.68 | 53.12 | 0.3877 |
| BEVDetR101-pt | ✓ | ✗ | ✓ | ✓ | ResNet | CNN | 704×256 | 112.80 | 56.35 | 0.3780 |
| BEVDetSwinT | ✗ | ✗ | ✓ | ✓ | Swin | CNN | 704×256 | 116.48 | 46.26 | 0.4037 |
| BEVDepthR50 | ✗ | ✗ | ✓ | ✓ | ResNet | CNN | 704×256 | 110.02 | 56.82 | 0.4058 |
| BEVerseSwinT | ✗ | ✗ | ✓ | ✓ | Swin | CNN | 704×256 | 137.25 | 28.24 | 0.1603 |
| BEVerseSwinT | ✗ | ✓ | ✓ | ✓ | Swin | CNN | 704×256 | 110.67 | 48.60 | 0.4665 |
| BEVerseSwinS | ✗ | ✗ | ✓ | ✓ | Swin | CNN | 1408×512 | 132.13 | 29.54 | 0.2682 |
| BEVerseSwinS | ✗ | ✓ | ✓ | ✓ | Swin | CNN | 1408×512 | 117.82 | 49.57 | 0.4951 |
| SOLOFusionshort | ✗ | ✓ | ✓ | ✗ | ResNet | CNN | 704×256 | 108.68 | 61.45 | 0.3907 |
| SOLOFusionlong | ✗ | ✓ | ✓ | ✗ | ResNet | CNN | 704×256 | 97.99 | 64.42 | 0.4850 |
| SOLOFusionfusion | ✗ | ✓ | ✓ | ✓ | ResNet | CNN | 704×256 | 92.86 | 64.53 | 0.5381 |
注: 预训练表示从FCOS3D初始化的模型。时序建模表示是否使用了时间信息。深度估计表示具有显式深度估计分支的模型。CBGS表示模型使用类平衡的分组采样策略。
生成"损坏"数据
你可以创建你自己的 "RoboBEV" 数据集! 请参考文件:数据生成.md.
更新计划
- 初始更新已放出. 🚀
- 新增生成"损坏"数据的运行脚本.
- 新增nuScenes-C数据集下载链接.
- 新增模型评测的运行脚本.
- 新增BEV地图分割模型.
- 新增多视角深度估计模型.
- 新增多视角语义分割模型.
- ...
引用
如果你认为这项工作对你有帮助,请考虑引用以下内容:
@article{xie2023robobev,
title = {RoboBEV: Towards Robust Bird's Eye View Perception under Corruptions},
author = {Xie, Shaoyuan and Kong, Lingdong and Zhang, Wenwei and Ren, Jiawei and Pan, Liang and Chen, Kai and Liu, Ziwei},
journal = {arXiv preprint arXiv:2304.06719},
year = {2023}
}
@misc{xie2023robobev_codebase,
title = {The RoboBEV Benchmark for Robust Bird's Eye View Detection under Common Corruption and Domain Shift},
author = {Xie, Shaoyuan and Kong, Lingdong and Zhang, Wenwei and Ren, Jiawei and Pan, Liang and Chen, Kai and Liu, Ziwei},
howpublished = {\url{https://github.com/Daniel-xsy/RoboBEV}},
year = {2023}
}
许可
这项工作是在 Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License 下进行的。这个代码库中的一些模型可能是采用其他许可证。如果你将我们的代码用于商业用途, 请参考 许可.md 以进行更仔细的检查。
致谢
这项工作是基于 MMDetection3D 代码库.
MMDetection3D 是一个基于PyTorch的开源目标检测工具箱,面向下一代通用三维检测平台。它是由MMLab开发的OpenMMLab项目的一部分。
:heart: 我们感谢 Jiangmiao Pang 和 Tai Wang 的建设性的讨论和反馈,感谢 OpenDataLab 平台托管我们的数据集。












