
OpenPCDet LIDAR 기반 3D 객체 감지를위한 명확하고 단순하고 자체 포함 된 오픈 소스 프로젝트입니다.
또한 [PointRCNN] , [Part-A2-Net] , [PV-RCNN] , [Voxel R-CNN] , [PV-RCNN++] 및 [MPPNet] 의 공식 코드 릴리스입니다.
하이라이트 :
OpenPCDet v0.6.0 (2022 년 9 월)으로 업데이트되었습니다. [2023-06-30] 새로운 : DSVT 에 대한 지원이 추가되어 실시간 추론 속도 (Tensorrt의 27Hz)를 갖춘 대규모 Waymo Open Dataset에서 최첨단 성능을 달성합니다.
[2023-05-13] 새로운 : Nuscenes 데이터 세트의 멀티 모달 3D 객체 감지 모델에 대한 지원이 추가되었습니다.
BEVFusion 지원합니다. (Bevfusion으로 훈련/테스트하는 방법에 대한 지침을 참조하십시오). [2023-04-02]는 Nuscenes, Waymo 및 Argoverse2 데이터 세트에 대한 VoxelNeXt 에 대한 지원을 추가했습니다. 완전히 드문 드문 3D 객체 감지 네트워크로, 깨끗한 희소 CNNS 네트워크이며 3D 객체를 복셀로 직접 예측합니다.
[2022-09-02] NEW : OpenPCDet 업데이트 V0.6.0 :
MPPNet 의 공식 코드 릴리스. 검증 데이터 세트의 경우 MPPNet은 74.96%, 75.06% 및 74.52%를 달성합니다. (MPPNET로 훈련/테스트하는 방법에 대한 지침을 참조하십시오).--use_tqdm_to_record 사용하여 지원됩니다). GPU 관련 정보를 기록하려면 pip install gpustat 사용하십시오.[2022-08-22] 사용자 정의 데이터 세트 튜토리얼 및 템플릿에 대한 지원이 추가되었습니다
[2022-07-05] 3D 객체 감지 백본 네트워크 Focals Conv .
[2022-02-12]는 Docker 사용에 대한 지원을 추가했습니다. ./docker의 지침을 참조하십시오.
[2022-02-07] NUSCENES 데이터 세트의 센터 포인트 모델에 대한 지원이 추가되었습니다.
[2022-01-14]는 독특한 작동 및 torch_scatter 패키지로 H^23D R-CNN 에서 제안 된 구현에 따라 동적 기둥 복셀에 대한지지를 추가했습니다.
[2022-01-05] NEW : OpenPCDet 업데이트 V0.5.2 :
PV-RCNN++ 의 코드는이 저장소에 릴리스되었으며 PV-RCNN보다 높은 성능, 빠른 교육/추론 속도 및 메모리 소비가 적습니다. [2021-12-09] NEW : OpenPCDet 업데이트 V0.5.1 :
[2021-12-01] NEW : 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] BUGFIXED : 제공된 WayMO 평가 도구 (PR 참조)를 사용하려면 Waymo Dataset (버전 1.2)의 유효성 검사 정보를 다시 준비하십시오. 교육 데이터 및 지상 진실 데이터베이스를 다시 준비 할 필요가 없습니다.
[2020-11-10] Waymo Open 데이터 세트는 최첨단 결과와 함께 지원되었습니다. 현재 Waymo Open Dataset에서 SECOND , PartA2 및 PV-RCNN 의 구성 및 결과를 제공하며 데이터 세트 구성을 수정하여 더 많은 모델을 쉽게 지원할 수 있습니다.
[2020-08-10] BUGFIXED : 제공된 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 Toolbox는 무엇을합니까? 다양한 데이터 세트와 모델을 지원하기위한 매우 새로운 구조를 통해 v0.1 에서 v0.2 까지의 PCDet 넓히지 않았습니다.
OpenPCDet 은 Point Cloud에서 3D 객체 감지를위한 일반적인 Pytorch 기반 코드베이스입니다. 현재 1 단계 및 2 단계 3D 감지 프레임 워크에 대한 고도로 리팩토링 된 코드를 사용하여 여러 최첨단 3D 객체 감지 방법을 지원합니다.
OpenPCDet 도구 상자를 기반으로, 우리는 3D 감지, 3D 추적, 도메인 적응, 모든 LIDAR 전용 방법 중 3 개의 트랙에서 Waymo Open Dataset Challenge에서 우승하며 WayMO 관련 모델이 곧 OpenPCDet 에 해제 될 예정입니다.
우리는 현재이 repo를 적극적으로 업데이트하고 있으며 더 많은 데이터 세트와 모델이 곧 지원 될 것입니다. 기부금도 환영합니다.
OpenPCDet 디자인 패턴
통합 3D 박스 정의 : (X, Y, Z, DX, DY, DZ, Heading).
다양한 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 | 모델 -26m |
| PART-A2- 앵커 | ~ 4.3 시간 | 79.40 | 60.05 | 69.90 | 모델 -244m |
| PV-RCNN | ~ 5 시간 | 83.61 | 57.90 | 70.47 | 모델 -50m |
| 복셀 R-CNN (자동차) | ~ 2.2 시간 | 84.54 | - | - | 모델 -28m |
| 초점 Conv -f | ~ 4 시간 | 85.66 | - | - | 모델 -30m |
| CADDN (모노) | ~ 15 시간 | 21.38 | 13.02 | 9.76 | 모델 -774m |
Waymo Open Dataset (WOD)에서 DATA_CONFIG.SAMPLED_INTERVAL 의 설정을 제공하여 교육 및 평가를 위해 부분 샘플을 서브 샘플링하기 위해 DATA_CONFIG.SAMPLED_INTERVAL 더 작은 GPU 리소스 만 설정하여 WOD와 함께 플레이 할 수도 있습니다.
기본적으로 모든 모델은 8 GTX 1080TI GPU에 대한 모든 훈련 샘플 중 20% 데이터 의 단일 프레임 (~ 32K 프레임)으로 훈련되며 각 셀의 결과는 전체 검증 세트 (버전 1.2)에서 공식 WayMo 평가 지표에 의해 계산 된 MAP/MAPH입니다.
| 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 |
| 센터 포인트 필러 | 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 |
| 센터 포인트 (RESNET) | 72.76/72.23 | 64.91/64.42 | 74.19/67.96 | 66.03/60.34 | 71.04/69.79 | 68.49/67.28 |
| PART-A2- 앵커 | 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 |
| 센터 포인트 필러 | 73.37/72.86 | 65.09/64.62 | 75.35/65.11 | 67.61/58.25 | 67.76/66.22 | 65.25/63.77 |
| PART-A2- 앵커 | 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 |
| 복셀 넥스 | 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-pillar | 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 DataSet 라이센스 계약으로 인해 위의 사전 해당 모델을 제공 할 수는 없었지만 기본 구성으로 교육을 통해 유사한 성능을 쉽게 달성 할 수 있습니다.
모든 모델은 8 개의 GPU로 훈련되며 다운로드 할 수 있습니다. BevFusion을 훈련하려면 가이드 라인을 참조하십시오.
| 친구 | 마세 | Maoe | Mave | Maae | 지도 | NDS | 다운로드 | |
|---|---|---|---|---|---|---|---|---|
| PointPillar-Multihead | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | 모델 -23m |
| 두 번째 멀티 헤드 (CBGS) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | 모델 -35m |
| 센터 포인트 포인트 필러 | 31.13 | 26.04 | 42.92 | 23.90 | 19.14 | 50.03 | 60.70 | 모델 -23m |
| 센터 포인트 (Voxel_Size = 0.1) | 30.11 | 25.55 | 38.28 | 21.94 | 18.87 | 56.03 | 64.54 | 모델 -34m |
| 센터 포인트 (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로 훈련됩니다.
| 지도 | 다운로드 | |
|---|---|---|
| 복셀 넥스 | 30.5 | 모델 -32m |
풀 요청을 제출하여 다른 데이터 세트를 지원하는 데 오신 것을 환영합니다.
OpenPCDet 설치는 install.md를 참조하십시오.
사전에 걸린 모델로 테스트하려면 빠른 데모에 대해서는 Demo.md를 참조하고 사용자 정의 데이터 또는 원래 Kitti 데이터에서 예측 된 결과를 시각화하십시오.
이 프로젝트에 대한 자세한 내용을 알아 보려면 Gettry_Started.md를 참조하십시오.
OpenPCDet Apache 2.0 라이센스에 따라 릴리스됩니다.
OpenPCDet 위에 표시된 것처럼 여러 LIDAR 기반 인식 모델을 지원하는 LIDAR 기반 3D 장면 인식의 오픈 소스 프로젝트입니다. 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 개발 팀의 일원이되거나 잠재적 인 기여를 위해 문의하십시오.