
OpenPCDet es un proyecto de código abierto claro, simple y autónomo para la detección de objetos 3D basados en LiDAR.
También es la versión oficial del código de [PointRCNN] , [Part-A2-Net] , [PV-RCNN] , [Voxel R-CNN] , [PV-RCNN++] y [MPPNet] .
Reflejos :
OpenPCDet se ha actualizado a v0.6.0 (septiembre de 2022). [2023-06-30] Nuevo: Soporte agregado para DSVT , que logra un rendimiento de vanguardia en el conjunto de datos Open de WayMO a gran escala con velocidad de inferencia en tiempo real (27Hz con tensorrt).
[2023-05-13] Nuevo: Soporte agregado para los modelos de detección de objetos 3D multimodal en el conjunto de datos Nuscenes.
BEVFusion , que fusiona información multimodal en el espacio BEV y alcanza el 70.98% NDS en el conjunto de datos de validación de Nuscenes. (Consulte la guía sobre cómo entrenar/probar con Bevfusion). [2023-04-02] agregó soporte para VoxelNeXt en conjuntos de datos Nuscenes, Waymo y Groverse2. Es una red de detección de objetos 3D completamente escasa, que es una red CNNS dispersa limpia y predice objetos 3D directamente sobre los vóxeles.
[2022-09-02] Nuevo: Actualizar OpenPCDet a V0.6.0:
MPPNet para la detección temporal de objetos 3D, que admite la detección de objetos 3D multi-marco a largo plazo y clasifica el primer lugar en la tabla de datos de la detección 3D de Waymo Open DataSet el 2 de septiembre de 2022. Para el conjunto de datos de validación, MPPNET logra 74.96%, 75.06% y 74.52% para vehículo, vegetra y ciclo de ciclos en términos de MATH@de MATH@MATH@ (Consulte la guía sobre cómo entrenar/probar con MPPNet).--use_tqdm_to_record ). Utilice pip install gpustat si también desea registrar la información relacionada con la GPU.[2022-08-22] Se agregó soporte para el tutorial y plantilla de conjunto de datos personalizados
[2022-07-05] agregó soporte para la red de detección de objetos 3D Focals Conv .
[2022-02-12] agregó soporte para usar Docker. Consulte la guía en ./docker.
[2022-02-07] agregó soporte para modelos de punto central en el conjunto de datos Nuscenes.
[2022-01-14] agregó soporte para la voxelización de pilar dinámico, después de la implementación propuesta en H^23D R-CNN con operación única y paquete torch_scatter .
[2022-01-05] Nuevo: Actualizar OpenPCDet a V0.5.2:
PV-RCNN++ se ha lanzado a este repositorio, con mayor rendimiento, velocidad de entrenamiento/inferencia más rápida y menos consumo de memoria que PV-RCNN. [2021-12-09] Nuevo: Actualizar OpenPCDet a V0.5.1:
[2021-12-01] Nuevo: OpenPCDet V0.5.0 se lanza con las siguientes características:
CenterPoint y PV-RCNN with CenterHead .USE_SHARED_MEMORY para usar la memoria compartida para acelerar potencialmente el proceso de entrenamiento en caso de que sufra un problema de IO. [2021-06-08] agregó soporte para el modelo de detección de objetos 3D basado en Voxel Voxel R-CNN .
[2021-05-14] agregó soporte para el modelo monocular de detección de objetos 3D CaDDN .
[2020-11-27] Error fijado: vuelva a preparar el conjunto de datos de validación de Waymo (versión 1.2) si desea utilizar nuestra herramienta de evaluación Waymo proporcionada (ver PR). Tenga en cuenta que no necesita volver a preparar los datos de capacitación y la base de datos de verdad en tierra.
[2020-11-10] El conjunto de datos Open Waymo ha sido compatible con resultados de última generación. Actualmente proporcionamos las configuraciones y resultados de SECOND , PartA2 y PV-RCNN en el conjunto de datos Waymo Open, y se podrían soportar más modelos modificando sus configuraciones de conjunto de datos.
[2020-08-10] Error fijado: los modelos Nuscenes proporcionados se han actualizado para corregir los errores de carga. Vuelva a descargarlo si necesita usar los modelos Nuscenes previos al detenido.
[2020-07-30] OpenPCDet V0.3.0 se lanza con las siguientes características:
PointRCNN , PartA2-Free ) son compatibles ahora.SECOND-MultiHead (CBGS) y PointPillar-MultiHead ).[2020-07-17] Agregue códigos de visualización simples y una demostración rápida para probar con datos personalizados.
[2020-06-24] OpenPCDet V0.2.0 se lanza con estructuras bastante nuevas para admitir más modelos y conjuntos de datos.
[2020-03-16] Se lanza OpenPCDet V0.1.0.
OpenPCDet Toolbox? Tenga en cuenta que hemos actualizado PCDet de v0.1 a v0.2 con estructuras bastante nuevas para admitir varios conjuntos de datos y modelos.
OpenPCDet es una base de código general basada en Pytorch para la detección de objetos 3D desde la nube de puntos. Actualmente admite múltiples métodos de detección de objetos 3D de última generación con códigos altamente refactorizados para marcos de detección 3D de una etapa y dos etapas.
Basado en OpenPCDet Toolbox, ganamos el desafío de conjunto de datos Waymo Open en detección 3D, seguimiento 3D, adaptación de dominio tres pistas entre todos los métodos de solo LiDAR, y los modelos relacionados con Waymo se lanzarán para OpenPCDet pronto.
Actualmente estamos actualizando activamente este repositorio, y pronto se admitirán más conjuntos de datos y modelos. Las contribuciones también son bienvenidas.
OpenPCDet
Definición de caja 3D unificada: (x, y, z, dx, dy, dz, encabezado).
Estructura de modelo flexible y clara para soportar fácilmente varios modelos de detección 3D:


Los métodos compatibles seleccionados se muestran en la tabla a continuación. Los resultados son el rendimiento de detección en 3D de dificultad moderada en el conjunto de datos de Kitti.
| Tiempo de entrenamiento | Coche@r11 | Peatón@r11 | Ciclista@r11 | descargar | |
|---|---|---|---|---|---|
| Punto | ~ 1.2 horas | 77.28 | 52.29 | 62.68 | modelo 18 m |
| SEGUNDO | ~ 1.7 horas | 78.62 | 52.98 | 67.15 | modelo de 20 m |
| Segundo | - | 79.09 | 55.74 | 71.31 | modelo-46m |
| Pointrcnn | ~ 3 horas | 78.70 | 54.41 | 72.11 | modelo 16M |
| Pointrcnn-Iou | ~ 3 horas | 78.75 | 58.32 | 71.34 | modelo 16M |
| PARTE-A2 FUERA | ~ 3.8 horas | 78.72 | 65.99 | 74.29 | modelo-226m |
| Parcial | ~ 4.3 horas | 79.40 | 60.05 | 69.90 | modelo-244m |
| PV-RCNN | ~ 5 horas | 83.61 | 57.90 | 70.47 | modelo de 50 m |
| Voxel R-CNN (coche) | ~ 2.2 horas | 84.54 | - | - | modelo-28m |
| Focals Conv - F | ~ 4 horas | 85.66 | - | - | modelo de 30 m |
| Caddn (mono) | ~ 15 horas | 21.38 | 13.02 | 9.76 | modelo-774m |
Proporcionamos la configuración de DATA_CONFIG.SAMPLED_INTERVAL en el conjunto de datos Open Waymo (WOD) para submuestrar muestras parciales para capacitación y evaluación, por lo que también puede jugar con WOD estableciendo un DATA_CONFIG.SAMPLED_INTERVAL más pequeño, incluso si solo tiene recursos de GPU limitados.
De manera predeterminada, todos los modelos están entrenados con un solo marco de 20% de datos (~ 32k cuadros) de todas las muestras de entrenamiento en 8 GPU GTX 1080TI, y los resultados de cada celda aquí son MAP/MAPH calculados por las métricas de evaluación WAWMO oficiales en todo el conjunto de validación (Versión 1.2).
| Rendimiento@(tren con 20% de datos) | Vec_l1 | Vec_l2 | PED_L1 | PED_L2 | Cyc_l1 | Cyc_l2 |
|---|---|---|---|---|---|---|
| SEGUNDO | 70.96/70.34 | 62.58/62.02 | 65.23/54.24 | 57.22/47.49 | 57.13/55.62 | 54.97/53.53 |
| Punto | 70.43/69.83 | 62.18/61.64 | 66.21/46.32 | 58.18/40.64 | 55.26/51.75 | 53.18/49.80 |
| Pilar de punto central | 70.50/69.96 | 62.18/61.69 | 73.11/61.97 | 65.06/55.00 | 65.44/63.85 | 62.98/61.46 |
| Pilar de punto central | 70.46/69.93 | 62.06/61.58 | 73.92/63.35 | 65.91/56.33 | 66.24/64.69 | 63.73/62.24 |
| Punto central | 71.33/70.76 | 63.16/62.65 | 72.09/65.49 | 64.27/58.23 | 68.68/67.39 | 66.11/64.87 |
| CenterPoint (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 |
| Parcial | 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 (Anchorhead) | 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 (Centro de cabeza) | 75.95/75.43 | 68.02/67.54 | 75.94/69.40 | 67.66/61.62 | 70.18/68.98 | 67.73/66.57 |
| Voxel R-CNN (Centerhead)-Dynamic-Voxel | 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 |
Aquí también proporcionamos el rendimiento de varios modelos capacitados en el conjunto de entrenamiento completo (consulte el documento de PV-RCNN ++):
| Rendimiento@(tren con 100% de datos) | Vec_l1 | Vec_l2 | PED_L1 | PED_L2 | Cyc_l1 | Cyc_l2 |
|---|---|---|---|---|---|---|
| SEGUNDO | 72.27/71.69 | 63.85/63.33 | 68.70/58.18 | 60.72/51.31 | 60.62/59.28 | 58.34/57.05 |
| Pilar de punto central | 73.37/72.86 | 65.09/64.62 | 75.35/65.11 | 67.61/58.25 | 67.76/66.22 | 65.25/63.77 |
| Parcial | 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 (Centro de cabeza) | 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 |
| Pilar 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 cuadros) | 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 cuadros) | 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 cuadros) | 82.74/82.28 | 75.41/74.96 | 84.69/82.25 | 77.43/75.06 | 77.28/76.66 | 75.13/74.52 |
No pudimos proporcionar los modelos previos a la petrada anteriores debido al acuerdo de licencia de conjunto de datos WayMO, pero podría lograr fácilmente un rendimiento similar mediante la capacitación con las configuraciones predeterminadas.
Todos los modelos están capacitados con 8 GPU y están disponibles para descargar. Para capacitar a Bevfusion, consulte la guía.
| compañero | mase | maoe | traficante | maae | mapa | Nds | descargar | |
|---|---|---|---|---|---|---|---|---|
| Punto-multihead | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | modelo-23m |
| Segundo-Multihead (CBGS) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | modelo de 35 m |
| Pointpillar de punto central | 31.13 | 26.04 | 42.92 | 23.90 | 19.14 | 50.03 | 60.70 | modelo-23m |
| CenterPoint (voxel_size = 0.1) | 30.11 | 25.55 | 38.28 | 21.94 | 18.87 | 56.03 | 64.54 | modelo-34m |
| CenterPoint (voxel_size = 0.075) | 28.80 | 25.43 | 37.27 | 21.55 | 18.24 | 59.22 | 66.48 | modelo-34m |
| VoxelNext (voxel_size = 0.075) | 30.11 | 25.23 | 40.57 | 21.69 | 18.56 | 60.53 | 66.65 | modelo de 31M |
| Transfusión-L* | 27.96 | 25.37 | 29.35 | 27.31 | 18.55 | 64.58 | 69.43 | Modelo-32m |
| Bevfusión | 28.03 | 25.43 | 30.19 | 26.76 | 18.48 | 67.75 | 70.98 | modelo-157m |
*: Use la estrategia de desvanecimiento, que deshabilita los aumentos de datos en las últimas épocas durante el entrenamiento.
Todos los modelos están entrenados con 8 GPU.
| Vehículo | Peatonal | Ciclista | mapa | |
|---|---|---|---|---|
| Pointrcnn | 52.09 | 4.28 | 29.84 | 28.74 |
| Punto | 68.57 | 17.63 | 46.81 | 44.34 |
| SEGUNDO | 71.19 | 26.44 | 58.04 | 51.89 |
| PV-RCNN | 77.77 | 23.50 | 59.37 | 53.55 |
| Punto central | 78.02 | 49.74 | 67.22 | 64.99 |
Todos los modelos están entrenados con 4 GPU.
| mapa | descargar | |
|---|---|---|
| Voxelnext | 30.5 | Modelo-32m |
Bienvenido a admitir otros conjuntos de datos enviando solicitud de extracción.
Consulte Install.md para la instalación de OpenPCDet .
Consulte Demo.md para una demostración rápida para probar con un modelo previamente previo a la aparición y visualice los resultados predichos en sus datos personalizados o los datos originales de Kitti.
Consulte Getting_started.md para obtener más uso sobre este proyecto.
OpenPCDet se lanza bajo la licencia Apache 2.0.
OpenPCDet es un proyecto de código abierto para la percepción de la escena 3D basada en LiDAR que admite múltiples modelos de percepción basados en LiDAR como se muestra arriba. Algunas partes de PCDet se aprenden de los códigos oficiales publicados de los métodos compatibles anteriormente. Nos gustaría agradecer por sus métodos propuestos y la implementación oficial.
Esperamos que este repositorio pueda servir como una base de código fuerte y flexible para beneficiar a la comunidad de investigación al acelerar el proceso de reimplementar trabajos anteriores y/o desarrollar nuevos métodos.
Si encuentra útil este proyecto en su investigación, considere citar:
@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}
}
Bienvenido a ser miembro del Equipo de Desarrollo de OpenPCDET contribuyendo a este repositorio y no dude en contactarnos para cualquier posible contribución.