什么是OpenPCDet工具箱做什么?
OpenPCDet是一个基于 PyTorch 的通用代码库,用于从点云进行 3D 对象检测。它目前支持多种最先进的 3D 对象检测方法,具有用于一级和二级 3D 检测框架的高度重构代码。
基于OpenPCDet工具箱,我们 在所有 LiDAR-only 方法中的3D 检测、 3D 跟踪、域适应三个轨道中赢得了 Waymo 开放数据集挑战,Waymo 相关模型将OpenPCDet很快发布
OpenPCDet 设计模式
具有统一点云坐标的数据模型分离,可轻松扩展到自定义数据集:
统一的 3D 框定义:(x、y、z、dx、dy、dz、标题)。
灵活清晰的模型结构,轻松支持各种3D检测模型:
在一个框架内支持各种模型,如:
当前支持的功能
支持一阶段和两阶段 3D 对象检测框架
支持使用多个 GPU 和多台机器进行分布式训练和测试
支持不同尺度的多个头部检测不同的类别
支持stacked version set abstraction对不同场景中不同数量的点进行编码
支持用于目标分配的自适应训练样本选择 (ATSS)
支持 RoI-aware 点云池和 RoI-grid 点云池
支持GPU版3D IoU计算和旋转NMS
KITTI 3D 对象检测基线
选定的支持方法如下表所示。结果是在KITTI 数据集的val集上具有中等难度的 3D 检测性能。
所有模型均使用 8 个 GTX 1080Ti GPU 进行训练,并且可供下载。
训练时间是使用 8 个 TITAN XP GPU 和 PyTorch 1.5 测量的。
training time | Car@R11 | Pedestrian@R11 | Cyclist@R11 | download | |
---|---|---|---|---|---|
PointPillar | ~1.2 hours | 77.28 | 52.29 | 62.68 | model-18M |
SECOND | ~1.7 hours | 78.62 | 52.98 | 67.15 | model-20M |
SECOND-IoU | - | 79.09 | 55.74 | 71.31 | model |
PointRCNN | ~3 hours | 78.70 | 54.41 | 72.11 | model-16M |
PointRCNN-IoU | ~3 hours | 78.75 | 58.32 | 71.34 | model-16M |
Part-A^2-Free | ~3.8 hours | 78.72 | 65.99 | 74.29 | model-226M |
Part-A^2-Anchor | ~4.3 hours | 79.40 | 60.05 | 69.90 | model-244M |
PV-RCNN | ~5 hours | 83.61 | 57.90 | 70.47 | model-50M |
Voxel R-CNN (Car) | ~2.2 hours | 84.54 | - | - | model-28M |
CaDDN | ~15 hours | 21.38 | 13.02 | 9.76 | model-774M |
NuScenes 3D 对象检测基线
所有模型均使用 8 个 GTX 1080Ti GPU 进行训练,并且可供下载。
mATE | mASE | mAOE | mAVE | mAAE | mAP | NDS | download | |
---|---|---|---|---|---|---|---|---|
PointPillar-MultiHead | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | model-23M |
SECOND-MultiHead (CBGS) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | model-35M |
Waymo 开放数据集基线
我们DATA_CONFIG.SAMPLED_INTERVAL在 Waymo 开放数据集 (WOD) 上提供了 的设置来对部分样本进行子采样以进行训练和评估,因此DATA_CONFIG.SAMPLED_INTERVAL即使您只有有限的 GPU 资源,您也可以通过设置更小的 WOD 来玩。
默认情况下,所有模型在 8 个 GTX 1080Ti GPU 上使用所有训练样本的20% 数据(~32k 帧)进行训练,这里每个单元格的结果是由 Waymo 官方评估指标对整个验证集计算的 mAP/mAPH (版本 1.2)。
Vec_L1 | Vec_L2 | Ped_L1 | Ped_L2 | Cyc_L1 | Cyc_L2 | |
---|---|---|---|---|---|---|
SECOND | 68.03/67.44 | 59.57/59.04 | 61.14/50.33 | 53.00/43.56 | 54.66/53.31 | 52.67/51.37 |
Part-A^2-Anchor | 71.82/71.29 | 64.33/63.82 | 63.15/54.96 | 54.24/47.11 | 65.23/63.92 | 62.61/61.35 |
PV-RCNN | 74.06/73.38 | 64.99/64.38 | 62.66/52.68 | 53.80/45.14 | 63.32/61.71 | 60.72/59.18 |
由于Waymo 数据集许可协议,我们无法提供上述预训练模型,但您可以通过使用默认配置进行训练,轻松实现类似的性能。
其他数据集
更多数据集正在开发中.
安装
Please refer to INSTALL.md for the installation of OpenPCDet
.
快速演示
Please refer to DEMO.md for a quick demo to test with a pretrained model and
visualize the predicted results on your custom data or the original KITTI data.
入门
Please refer to GETTING_STARTED.md to learn more usage about this project.
执照
OpenPCDet
is released under the Apache 2.0 license.
致谢
OpenPCDet是一个基于 LiDAR 的 3D 场景感知开源项目,支持多种基于 LiDAR 的感知模型,如上图所示。部分PCDet是从官方发布的上述支持方法的代码中学习的。我们要感谢他们提出的方法和正式实施。
我们希望这个 repo 可以作为一个强大而灵活的代码库,通过加快重新实现以前的工作和/或开发新方法的过程来使研究社区受益。
引文
如果您发现该项目对您的研究有用,请考虑引用:
@misc{openpcdet2020,
title={OpenPCDet: An Open-source Toolbox for 3D Object Detection from Point Clouds},
author={OpenPCDet Development Team},
howpublished = {\url{https://github.com/open-mmlab/OpenPCDet}},
year={2020}
}
贡献
欢迎通过为此存储库做出贡献而成为 OpenPCDet 开发团队的成员,并随时与我们联系以获取任何潜在的贡献。