
OpenPCDet是一个基于激光雷达的3D对象检测的清晰,简单,独立的开源项目。
它也是[PointRCNN] , [Part-A2-Net] , [PV-RCNN] , [Voxel R-CNN] , [PV-RCNN++]和[MPPNet]的官方代码发布。
亮点:
OpenPCDet已更新为v0.6.0 (2022年9月)。 [2023-06-30]新的:对DSVT的添加支持,该支持以实时推理速度(27Hz使用Tensorrt)在大规模Waymo开放数据集中实现最先进的性能。
[2023-05-13]新的:对Nuscenes数据集中多模式3D对象检测模型的添加支持。
BEVFusion ,它融合了BEV空间上的多模式信息,并在Nuscenes验证数据集上达到70.98%的NDS。 (请参阅有关如何用BevFusion训练/测试的指南)。 [2023-04-02]在Nuscenes,Waymo和Argoverse2数据集上增加了对VoxelNeXt的支持。它是一个完全稀疏的3D对象检测网络,它是一个干净的稀疏CNN网络,直接在体素上预测3D对象。
[2022-09-02] New:将OpenPCDet更新为v0.6.0:
MPPNet for temporal 3D object detection, which supports long-term multi-frame 3D object detection and ranks 1st place on 3D detection learderboard of Waymo Open Dataset on Sept. 2th, 2022. For validation dataset, MPPNet achieves 74.96%, 75.06% and 74.52% for vehicle, pedestrian and cyclist classes in terms of mAPH@Level_2. (请参阅有关如何使用MPPNET训练/测试的指南)。--use_tqdm_to_record支持以前的TQDM进度栏)。如果您还想记录与GPU相关的信息,请使用pip install gpustat 。[2022-08-22]增加了对自定义数据集教程和模板的支持
[2022-07-05]增加了对3D对象检测骨干网络Focals Conv的支持。
[2022-02-12]增加了对使用Docker的支持。请参阅./docker中的指南。
[2022-02-07]在Nuscenes数据集上增加了对Centerpoint模型的支持。
[2022-01-14]在H^23D R-CNN中提出的实现,并具有独特的操作和torch_scatter软件包,增加了对动态支柱体素化的支持。
[2022-01-05]新:将OpenPCDet更新为v0.5.2:
PV-RCNN++的代码已发布给该仓库,其性能更高,更快的推理/推理速度和比PV-RCNN更少的内存消耗。 [2021-12-09]新:将OpenPCDet更新为v0.5.1:
[2021-12-01]新的: OpenPCDet V0.5.0发行了以下功能:
CenterPoint的配置,并PV-RCNN with CenterHead 。USE_SHARED_MEMORY使用共享内存来潜在地加快训练过程,以防您遇到IO问题。 [2021-06-08]增加了对基于体素的3D对象检测模型Voxel R-CNN的支持。
[2021-05-14]增加了对单眼3D对象检测模型CaDDN的支持。
[2020-11-27] Bug-Fixed:如果您想使用我们提供的Waymo评估工具(请参阅PR),请重新销售Waymo数据集(版本1.2)的验证信息(版本1.2)。请注意,您不需要重新培训培训数据和地面数据库。
[2020-11-10] Waymo Open数据集得到了最先进的结果。当前,我们在Waymo Open DataSet上提供了SECOND , PartA2和PV-RCNN的配置和结果,并且可以通过修改其数据集配置来轻松支持更多模型。
[2020-08-10] Bug-Fixed:已更新了提供的Nuscenes型号以修复加载错误。如果您需要使用验证的Nuscenes型号,请重新下载。
[2020-07-30] OpenPCDet V0.3.0的发行以下功能:
PointRCNN , PartA2-Free )。SECOND-MultiHead (CBGS)和PointPillar-MultiHead )。[2020-07-17]添加简单的可视化代码和快速演示以使用自定义数据进行测试。
[2020-06-24] OpenPCDet V0.2.0发布了具有漂亮的新结构,以支持更多的模型和数据集。
[2020-03-16] OpenPCDet V0.1.0已发布。
OpenPCDet工具箱有什么作用?请注意,我们已将PCDet从v0.1升级到v0.2 ,并具有支持各种数据集和模型的漂亮新结构。
OpenPCDet是一种基于Pytorch的一般代码库,用于从点云中检测3D对象。目前,它支持多个最新的3D对象检测方法,具有高度重构的代码,用于一阶段和两阶段3D检测框架。
基于OpenPCDet工具箱,我们在3D检测中赢得了Waymo Open DataSet挑战,3D跟踪,域适应所有仅激光雷达方法中的三个轨道,并且与Waymo相关的模型将很快发布到OpenPCDet 。
我们目前正在积极更新此存储库,并将很快支持更多的数据集和模型。还欢迎捐款。
OpenPCDet设计模式
统一的3D框定义:( x,y,z,dx,dy,dz,标题)。
灵活而清晰的模型结构,可以轻松支持各种3D检测模型:


选定的支持方法显示在下表中。结果是Kitti数据集的Val集合中适度难度的3D检测性能。
| 训练时间 | 汽车@r11 | 行人@r11 | 骑自行车的人@r11 | 下载 | |
|---|---|---|---|---|---|
| 尖利柱 | 〜1.2小时 | 77.28 | 52.29 | 62.68 | 型号18m |
| 第二 | 〜1.7小时 | 78.62 | 52.98 | 67.15 | 型号20m |
| 第二 | - | 79.09 | 55.74 | 71.31 | 型号46m |
| Pointrcnn | 〜3小时 | 78.70 | 54.41 | 72.11 | 型号16m |
| pointrcnn-iou | 〜3小时 | 78.75 | 58.32 | 71.34 | 型号16m |
| 不含A2的部分 | 〜3.8小时 | 78.72 | 65.99 | 74.29 | 型号226m |
| A2-n-andor | 〜4.3小时 | 79.40 | 60.05 | 69.90 | 型号244m |
| PV-RCNN | 〜5小时 | 83.61 | 57.90 | 70.47 | 型号50m |
| Voxel R-CNN(汽车) | 〜2.2小时 | 84.54 | - | - | 型号28m |
| 焦点交流-F | 〜4小时 | 85.66 | - | - | 型号30m |
| 卡德(单声道) | 〜15小时 | 21.38 | 13.02 | 9.76 | 型号774m |
我们在Waymo Open数据集(WOD)上提供DATA_CONFIG.SAMPLED_INTERVAL的设置,以进行培训和评估,因此您也可以通过设置较小的DATA_CONFIG.SAMPLED_INTERVAL来使用WOD,即使您只有有限的GPU资源。
默认情况下,所有型号均经过8 GTX 1080TI GPU的所有训练样本的单一帧(〜32K帧)的训练,此处的每个单元格的结果是MAP/MAPH由整个验证集(版本1.2)的官方Waymo评估指标计算得出的。
| Performance@(训练20%数据) | VEC_L1 | VEC_L2 | ped_l1 | PED_L2 | CYC_L1 | CYC_L2 |
|---|---|---|---|---|---|---|
| 第二 | 70.96/70.34 | 62.58/62.02 | 65.23/54.24 | 57.22/47.49 | 57.13/55.62 | 54.97/53.53 |
| 尖利柱 | 70.43/69.83 | 62.18/61.64 | 66.21/46.32 | 58.18/40.64 | 55.26/51.75 | 53.18/49.80 |
| Centerpoint-Pillar | 70.50/69.96 | 62.18/61.69 | 73.11/61.97 | 65.06/55.00 | 65.44/63.85 | 62.98/61.46 |
| Centerpoint-Dynamic-Pillar | 70.46/69.93 | 62.06/61.58 | 73.92/63.35 | 65.91/56.33 | 66.24/64.69 | 63.73/62.24 |
| 中心点 | 71.33/70.76 | 63.16/62.65 | 72.09/65.49 | 64.27/58.23 | 68.68/67.39 | 66.11/64.87 |
| 中心点(重新连接) | 72.76/72.23 | 64.91/64.42 | 74.19/67.96 | 66.03/60.34 | 71.04/69.79 | 68.49/67.28 |
| A2-n-andor | 74.66/74.12 | 65.82/65.32 | 71.71/62.24 | 62.46/54.06 | 66.53/65.18 | 64.05/62.75 |
| PV-RCNN(锚点) | 75.41/74.74 | 67.44/66.80 | 71.98/61.24 | 63.70/53.95 | 65.88/64.25 | 63.39/61.82 |
| PV-RCNN(中心头) | 75.95/75.43 | 68.02/67.54 | 75.94/69.40 | 67.66/61.62 | 70.18/68.98 | 67.73/66.57 |
| 体素R-CNN(中心) - 动态素 | 76.13/75.66 | 68.18/67.74 | 78.20/71.98 | 69.29/63.59 | 70.75/69.68 | 68.25/67.21 |
| PV-RCNN ++ | 77.82/77.32 | 69.07/68.62 | 77.99/71.36 | 69.92/63.74 | 71.80/70.71 | 69.31/68.26 |
| PV-RCNN ++(RESNET) | 77.61/77.14 | 69.18/68.75 | 79.42/73.31 | 70.88/65.21 | 72.50/71.39 | 69.84/68.77 |
在这里,我们还提供了在完整培训集中训练的几种模型的性能(请参阅PV-RCNN ++的论文):
| performance@(使用100%数据的训练) | VEC_L1 | VEC_L2 | ped_l1 | PED_L2 | CYC_L1 | CYC_L2 |
|---|---|---|---|---|---|---|
| 第二 | 72.27/71.69 | 63.85/63.33 | 68.70/58.18 | 60.72/51.31 | 60.62/59.28 | 58.34/57.05 |
| Centerpoint-Pillar | 73.37/72.86 | 65.09/64.62 | 75.35/65.11 | 67.61/58.25 | 67.76/66.22 | 65.25/63.77 |
| A2-n-andor | 77.05/76.51 | 68.47/67.97 | 75.24/66.87 | 66.18/58.62 | 68.60/67.36 | 66.13/64.93 |
| VoxelNext-2d | 77.94/77.47 | 69.68/69.25 | 80.24/73.47 | 72.23/65.88 | 73.33/72.20 | 70.66/69.56 |
| VoxelNext | 78.16/77.70 | 69.86/69.42 | 81.47/76.30 | 73.48/68.63 | 76.06/74.90 | 73.29/72.18 |
| PV-RCNN(中心头) | 78.00/77.50 | 69.43/68.98 | 79.21/73.03 | 70.42/64.72 | 71.46/70.27 | 68.95/67.79 |
| PV-RCNN ++ | 79.10/78.63 | 70.34/69.91 | 80.62/74.62 | 71.86/66.30 | 73.49/72.38 | 70.70/69.62 |
| PV-RCNN ++(RESNET) | 79.25/78.78 | 70.61/70.18 | 81.83/76.28 | 73.17/68.00 | 73.72/72.66 | 71.21/70.19 |
| DSVT柱 | 79.44/78.97 | 71.24/70.81 | 83.00/77.22 | 75.45/69.95 | 76.70/75.70 | 73.83/72.86 |
| DSVT-voxel | 79.77/79.31 | 71.67/71.25 | 83.75/78.92 | 76.21/71.57 | 77.57/76.58 | 74.70/73.73 |
| PV-RCNN ++(Resnet,2帧) | 80.17/79.70 | 72.14/71.70 | 83.48/80.42 | 75.54/72.61 | 74.63/73.75 | 72.35/71.50 |
| mppnet(4帧) | 81.54/81.06 | 74.07/73.61 | 84.56/81.94 | 77.20/74.67 | 77.15/76.50 | 75.01/74.38 |
| mppnet(16帧) | 82.74/82.28 | 75.41/74.96 | 84.69/82.25 | 77.43/75.06 | 77.28/76.66 | 75.13/74.52 |
由于Waymo数据集许可协议,我们无法提供上述验证的模型,但是您可以通过使用默认配置培训来轻松实现类似的性能。
所有型号均经过8 GPU培训,可供下载。有关BEVFUSION的培训,请参阅指南。
| 伴侣 | mase | 毛 | 马夫 | 麦 | 地图 | NDS | 下载 | |
|---|---|---|---|---|---|---|---|---|
| 尖头 - 穆尔蒂黑德 | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | 型号23m |
| 第二-Multihead(CBGS) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | 型号35m |
| Centerpoint Pointpillar | 31.13 | 26.04 | 42.92 | 23.90 | 19.14 | 50.03 | 60.70 | 型号23m |
| CenterPoint(voxel_size = 0.1) | 30.11 | 25.55 | 38.28 | 21.94 | 18.87 | 56.03 | 64.54 | 34m型 |
| CenterPoint(voxel_size = 0.075) | 28.80 | 25.43 | 37.27 | 21.55 | 18.24 | 59.22 | 66.48 | 34m型 |
| voxelNext(voxel_size = 0.075) | 30.11 | 25.23 | 40.57 | 21.69 | 18.56 | 60.53 | 66.65 | 型号31m |
| 输血l* | 27.96 | 25.37 | 29.35 | 27.31 | 18.55 | 64.58 | 69.43 | 32m型 |
| Bevfusion | 28.03 | 25.43 | 30.19 | 26.76 | 18.48 | 67.75 | 70.98 | 型号157m |
*:使用淡出策略,该策略可以在培训期间的最后几个时期内禁用数据增加。
所有型号均经过8 GPU培训。
| 车辆 | 行人 | 骑自行车的人 | 地图 | |
|---|---|---|---|---|
| Pointrcnn | 52.09 | 4.28 | 29.84 | 28.74 |
| 尖利柱 | 68.57 | 17.63 | 46.81 | 44.34 |
| 第二 | 71.19 | 26.44 | 58.04 | 51.89 |
| PV-RCNN | 77.77 | 23.50 | 59.37 | 53.55 |
| 中心点 | 78.02 | 49.74 | 67.22 | 64.99 |
所有型号均经过4个GPU培训。
| 地图 | 下载 | |
|---|---|---|
| VoxelNext | 30.5 | 32m型 |
欢迎通过提交拉请请求来支持其他数据集。
请参阅install.md以安装OpenPCDet 。
请参阅Demo.md进行快速演示,以使用验证的模型进行测试,并对您的自定义数据或原始KITTI数据可视化预测结果。
请参阅get_started.md,以了解有关此项目的更多用法。
OpenPCDet在Apache 2.0许可下发布。
OpenPCDet是基于LiDAR的3D场景感知的开源项目,该项目支持基于LIDAR的多个基于LIDAR的感知模型,如上所示。 PCDet的某些部分是从上述支持方法的官方释放代码中学到的。我们要感谢他们提出的方法和官方实施。
我们希望该回购可以作为强大而灵活的代码库来通过加快重新进化以前的工作和/或开发新方法的过程来使研究社区受益。
如果您发现此项目对您的研究有用,请考虑引用:
@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开发团队的成员。