
OpenPCDet é um projeto de código aberto claro, simples e independente para a detecção de objetos 3D baseada em Lidar.
É também a versão oficial do código de [PointRCNN] , [Part-A2-Net] , [PV-RCNN] , [Voxel R-CNN] , [PV-RCNN++] e [MPPNet] .
Destaques :
OpenPCDet foi atualizado para v0.6.0 (2022 de setembro). [2023-06-30] NOVO: Adicionado suporte ao DSVT , que atinge o desempenho de ponta no conjunto de dados abertos da Waymo em larga escala com velocidade de inferência em tempo real (27Hz com Tensorrt).
[2023-05-13] Novo: Adicionado suporte para os modelos de detecção de objetos 3D multimodais no conjunto de dados NusCenes.
BEVFusion , que fusa informações multimodais no espaço do BEV e atinge 70,98% de NDs no conjunto de dados de validação de nusceno. (Veja a diretriz sobre como treinar/testar com bevfusion). [2023-04-02] Adicionou suporte para os conjuntos de dados VoxelNeXt nos nuscênios, Waymo e Argoverse2. É uma rede de detecção de objetos 3D totalmente escassa, que é uma rede CNNS limpa e limpa e prevê objetos 3D diretamente sobre os voxels.
[2022-09-02] Novo: Atualize OpenPCDet para v0.6.0:
MPPNet para detecção temporal de objetos 3D, que suporta a detecção de objetos 3D de longo prazo de longo prazo e ocupa o 1º lugar na detecção 3D Learderboard of Waymo Open DataSet em 2 de setembro de 2022. (Consulte a diretriz sobre como treinar/testar com o MPPNET).--use_tqdm_to_record ). Use pip install gpustat se você também deseja registrar as informações relacionadas à GPU.[2022-08-22] Adicionado suporte para tutorial e modelo personalizados do conjunto de dados
[2022-07-05] Adicionou suporte para os Focals Conv .
[2022-02-12] Adicionou suporte para usar o Docker. Consulte a orientação em ./docker.
[2022-02-07] Adicionado suporte para modelos Centerpoint no conjunto de dados NusCenes.
[2022-01-14] Adicionado suporte para voxelização dinâmica do pilar, após a implementação proposta em H^23D R-CNN com operação exclusiva e pacote torch_scatter .
[2022-01-05] Novo: Atualizar OpenPCDet para v0.5.2:
PV-RCNN++ foi lançado para este repositório, com maior desempenho, velocidade de treinamento/inferência mais rápida e menos consumo de memória que o PV-RCNN. [2021-12-09] Novo: Atualizar OpenPCDet para v0.5.1:
[2021-12-01] Novo: OpenPCDet v0.5.0 é lançado com os seguintes recursos:
CenterPoint e PV-RCNN with CenterHead .USE_SHARED_MEMORY para usar a memória compartilhada para potencialmente acelerar o processo de treinamento, caso você sofra um problema de IO. [2021-06-08] adicionaram suporte ao modelo de detecção de objetos 3D baseado em Voxel Voxel R-CNN .
[2021-05-14] adicionaram suporte ao modelo monocular de detecção de objetos 3D CaDDN .
[2020-11-27] Bugfixed: Por favor, prepare-se novamente a validação Infos do DataSet Waymo (versão 1.2) se você quiser usar nossa ferramenta de avaliação Waymo fornecida (consulte PR). Observe que você não precisa recompensar os dados de treinamento e o banco de dados de truta fundamental.
[2020-11-10] O conjunto de dados Waymo Open foi suportado com resultados de última geração. Atualmente, fornecemos as configurações e os resultados do SECOND , PartA2 e PV-RCNN no conjunto de dados Waymo Open, e mais modelos podem ser facilmente suportados modificando suas configurações de conjunto de dados.
[2020-08-10] Bugfixed: Os modelos NusCenes fornecidos foram atualizados para corrigir os erros de carregamento. Por favor, reduza o carregamento, se precisar usar os modelos de nusceno pré -treinado.
[2020-07-30] OpenPCDet v0.3.0 é lançado com os seguintes recursos:
PointRCNN , PartA2-Free ) são suportados agora.SECOND-MultiHead (CBGS) e PointPillar-MultiHead ).[2020-07-17] Adicione códigos de visualização simples e uma demonstração rápida para testar com dados personalizados.
[2020-06-24] OpenPCDet v0.2.0 é lançado com novas estruturas para suportar mais modelos e conjuntos de dados.
[2020-03-16] OpenPCDet v0.1.0 é lançado.
OpenPCDet Toolbox faz? Observe que atualizamos PCDet de v0.1 para v0.2 com novas estruturas para suportar vários conjuntos de dados e modelos.
OpenPCDet é uma base de código geral baseada em Pytorch para detecção de objeto 3D da Point Cloud. Atualmente, ele suporta vários métodos de detecção de objetos 3D de última geração com códigos altamente refatados para estruturas de detecção 3D de um e dois estágios.
Com base na caixa de ferramentas OpenPCDet , ganhamos o desafio do conjunto de dados Waymo Open na detecção 3D, rastreamento 3D, adaptação de domínio três faixas entre todos os métodos somente LiDAR e os modelos relacionados à Waymo serão lançados para o OpenPCDet em breve.
Atualmente, estamos atualizando ativamente esse repositório e mais conjuntos de dados e modelos serão suportados em breve. As contribuições também são bem -vindas.
OpenPCDet
Definição de caixa 3D unificada: (x, y, z, dx, dy, dz, título).
Estrutura de modelo flexível e clara para suportar facilmente vários modelos de detecção 3D:


Os métodos suportados selecionados são mostrados na tabela abaixo. Os resultados são o desempenho da detecção 3D da dificuldade moderada no conjunto de dados Kitti.
| tempo de treinamento | Carro@r11 | Pedestrian@R11 | Cyclist@R11 | download | |
|---|---|---|---|---|---|
| Pointpillar | ~ 1,2 horas | 77.28 | 52.29 | 62.68 | Modelo-18m |
| SEGUNDO | ~ 1,7 horas | 78.62 | 52.98 | 67.15 | Modelo 20m |
| Segundo-iou | - | 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 livre | ~ 3,8 horas | 78.72 | 65.99 | 74.29 | Modelo-226m |
| Part-A2-âncora | ~ 4,3 horas | 79.40 | 60.05 | 69.90 | Modelo-244m |
| Pv-rcnn | ~ 5 horas | 83.61 | 57.90 | 70.47 | Modelo-50m |
| Voxel R-CNN (carro) | ~ 2,2 horas | 84.54 | - | - | Modelo-28m |
| Focais Conv - f | ~ 4 horas | 85.66 | - | - | Modelo-30m |
| Caddn (mono) | ~ 15 horas | 21.38 | 13.02 | 9.76 | Modelo-774M |
Fornecemos a configuração de DATA_CONFIG.SAMPLED_INTERVAL no Waymo Open DataSet (WOD) para submarco amostras parciais para treinamento e avaliação, para que você também possa brincar com o WOD definindo um DATA_CONFIG.SAMPLED_INTERVAL mesmo que tenha apenas recursos GPU limitados.
Por padrão, todos os modelos são treinados com um único quadro de 20% de dados (~ 32k quadros) de todas as amostras de treinamento em 8 GPUs GTX 1080TI, e os resultados de cada célula aqui são mapa/mafá calculados pelas métricas oficiais de avaliação de Waymo em todo o conjunto de validação (versão 1.2).
| Desempenho@(trem com 20% de dados) | 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 |
| Pointpillar | 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-Pilar | 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-dinâmico-pilar | 70.46/69.93 | 62.06/61.58 | 73.92/63.35 | 65.91/56.33 | 66.24/64.69 | 63.73/62.24 |
| Centerpoint | 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 |
| Part-A2-âncora | 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 (Centerhead) | 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 |
Aqui também fornecemos o desempenho de vários modelos treinados no conjunto completo de treinamento (consulte o artigo de PV-RCNN ++):
| Desempenho@(trem com dados 100%) | 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 |
| Centerpoint-Pilar | 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-âncora | 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 (Centerhead) | 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 quadros) | 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 quadros) | 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 quadros) | 82.74/82.28 | 75.41/74.96 | 84.69/82.25 | 77.43/75.06 | 77.28/76.66 | 75.13/74.52 |
Não foi possível fornecer os modelos pré -terenciados acima devido ao contrato de licença do DataSet Waymo, mas você pode facilmente obter desempenho semelhante treinando com as configurações padrão.
Todos os modelos são treinados com 8 GPUs e estão disponíveis para download. Para o treinamento de bevfusion, consulte a diretriz.
| amigo | Mase | maoe | mave | maae | mapa | Ns | download | |
|---|---|---|---|---|---|---|---|---|
| Pointpillar-Multihead | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | Modelo-23m |
| Second-Multihead (CBGS) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | Modelo-35m |
| Centerpoint-PointPillar | 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-31m |
| Transfusão-l* | 27.96 | 25.37 | 29.35 | 27.31 | 18.55 | 64.58 | 69.43 | Modelo-32m |
| Bevfusion | 28.03 | 25.43 | 30.19 | 26.76 | 18.48 | 67.75 | 70.98 | Modelo-157m |
*: Use a estratégia de desbotamento, que desativa os aumentos de dados nas últimas épocas durante o treinamento.
Todos os modelos são treinados com 8 GPUs.
| Veículo | Pedestre | Ciclista | mapa | |
|---|---|---|---|---|
| Pointrcnn | 52.09 | 4.28 | 29.84 | 28.74 |
| Pointpillar | 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 |
| Centerpoint | 78.02 | 49.74 | 67.22 | 64.99 |
Todos os modelos são treinados com 4 GPUs.
| mapa | download | |
|---|---|---|
| VoxelNext | 30.5 | Modelo-32m |
Bem -vindo ao suporte a outros conjuntos de dados, enviando solicitação de tração.
Consulte o Install.MD para a instalação do OpenPCDet .
Consulte o Demo.md para uma demonstração rápida para testar com um modelo pré -treinado e visualizar os resultados previstos em seus dados personalizados ou nos dados Kitti originais.
Consulte Getting_Started.md para saber mais uso sobre este projeto.
OpenPCDet é liberado sob a licença Apache 2.0.
OpenPCDet é um projeto de código aberto para a percepção da cena 3D baseada em Lidar que suporta vários modelos de percepção baseados em Lidar, como mostrado acima. Algumas partes do PCDet são aprendidas com os códigos oficiais lançados dos métodos suportados acima. Gostaríamos de agradecer por seus métodos propostos e pela implementação oficial.
Esperamos que esse repositório possa servir como uma base de código forte e flexível para beneficiar a comunidade de pesquisa, acelerando o processo de reimplementar trabalhos anteriores e/ou desenvolver novos métodos.
Se você achar este projeto útil em sua pesquisa, 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}
}
Bem -vindo ser membro da equipe de desenvolvimento OpenPCDET contribuindo para este repositório e sinta -se à vontade para entrar em contato conosco para obter possíveis contribuições.