VoxelNet tradução de artigos

Abstrato

A detecção precisa de objetos em nuvens de pontos 3D é um problema central em muitas aplicações, como navegação autônoma, robótica interna e realidade aumentada/virtual.

Para fazer a interface de nuvens de pontos LiDAR altamente esparsas com Redes de Proposta de Região (RPNs), a maioria dos esforços existentes se concentra em representações de recursos artesanais, por exemplo, projeções panorâmicas.

Neste trabalho, eliminamos a necessidade de design manual de recursos para nuvens de pontos 3D e propomos uma rede de detecção 3D de estágio único, fim-a-fim, de propósito geral para redes profundas treináveis, ou seja, VoxelNet.

Especificamente, o VoxelNet divide a nuvem de pontos em voxels 3D igualmente espaçados e transforma um conjunto de pontos em cada voxel em uma representação unificada de recursos por meio de uma camada de codificação de recursos de voxel (VFE) recém-introduzida.

Dessa forma, as nuvens de pontos são codificadas em representações volumétricas descritivas, que são concatenadas a RPNs para produzir detecções.

Os experimentos no benchmark de detecção de veículos KITTI mostram que o VoxelNe supera os métodos de detecção 3D baseados em LIDAR existentes por uma grande margem.

Além disso, nossa rede aprende representações de recursos discriminativos eficientes para objetos de diferentes geometrias, produzindo resultados encorajadores na detecção 3D somente lidar de pedestres e ciclistas.

1. Introdução

A detecção de objetos 3D baseada em nuvem de pontos é um componente importante de várias aplicações do mundo real, como navegação autônoma [11, 14], robôs de limpeza [28] e realidade virtual/aumentada [29].

Comparado à detecção baseada em imagem, o lidar fornece informações de profundidade confiáveis ​​que podem ser usadas para localizar objetos com precisão e caracterizar suas formas [21, 5].

No entanto, ao contrário das imagens, as nuvens de pontos LiDAR são esparsas e têm densidades de pontos altamente variáveis ​​devido a fatores como amostragem não uniforme do espaço 3D, alcance efetivo dos sensores, oclusões e poses relativas.

Para enfrentar esses desafios, muitos métodos extraem manualmente representações de recursos de nuvens de pontos para detecção de objetos 3D.

Vários métodos projetam nuvens de pontos em mapas de perspectiva e aplicam técnicas de extração de recursos baseadas em imagem [28, 15, 22].

Outros métodos rasterizam nuvens de pontos em uma grade de voxels 3D e extraem e codificam manualmente cada voxel [43, 9, 39, 40, 21, 5].

No entanto, essas opções de projeto manual introduzem um gargalo de informações que impede que esses métodos explorem efetivamente as informações de forma 3D e a invariância necessárias para tarefas de detecção.

Da extração manual de recursos à extração de recursos de aprendizado de máquina, é um grande avanço nas tarefas de reconhecimento de imagem [20] e detecção [13].

[seção]

Recentemente, Qi e outros [31] propuseram PointNet, uma rede neural profunda end-to-end, que aprende recursos ponto a ponto diretamente de nuvens de pontos.

O método alcança resultados impressionantes em reconhecimento de objetos 3D, segmentação de objetos 3D e segmentação semântica ponto a ponto.

Em [32], um modelo PointNet aprimorado é introduzido, o que permite que a rede aprenda estruturas locais em diferentes escalas.

Para alcançar resultados satisfatórios, esses dois métodos treinam redes de transformação de atributos em todos os pontos de entrada (cerca de 1k pontos).

Como uma nuvem de pontos típica obtida com LiDARs contém cerca de 100k pontos, o treinamento de uma arquitetura como em [29, 30] resulta em altos requisitos de computação e memória.

Dimensionar redes de aprendizado de recursos 3D para várias ordens de magnitude e tarefas de detecção 3D é o principal desafio que abordamos neste artigo.

[seção]

A rede de proposta de região (RPN) [34] é um algoritmo de detecção de objetos altamente eficaz [17, 5, 33, 24].

No entanto, os dados exigidos por este método são uma estrutura tensorial densa e organizada (por exemplo, imagem, vídeo), que não é a estrutura de dados de uma típica nuvem de pontos LiDAR.

Neste artigo, preenchemos a lacuna entre o aprendizado de recursos de conjunto de pontos e o RPN para a tarefa de detecção de objetos 3D.

[seção]

Propomos uma estrutura geral de detecção 3D, VoxelNet, que aprende simultaneamente representações discriminativas de recursos de nuvens de pontos e prevê caixas delimitadoras 3D precisas de maneira ponta a ponta, conforme mostrado na Figura 2.

insira a descrição da imagem aqui

Projetamos uma nova camada de codificação de recursos de voxel (VFE) que permite interações ponto a ponto em voxels combinando recursos de ponto com recursos agregados localmente.

O empilhamento de várias camadas VFE permite o aprendizado de recursos complexos para representar informações de formas 3D locais.

Especificamente, o VoxelNet divide a nuvem de pontos em voxels 3D igualmente espaçados, codifica cada voxel por meio de camadas VFE empilhadas e, em seguida, as convoluções 3D reúnem recursos de voxels locais para converter a nuvem de pontos em uma representação volumétrica de alta dimensão.

Finalmente, o RPN obtém a representação do volume e produz os resultados da detecção.

Este algoritmo eficiente favorece estruturas de pontos esparsos e processamento paralelo eficiente de grades de voxels.

[seção]

Avaliamos VoxelNet na detecção de visão aérea e tarefas de detecção 3D completas fornecidas pelo benchmark KITTI [11].

Os resultados experimentais mostram que o VoxelNet supera em muito os métodos existentes de detecção 3D baseados em lidar.

Também demonstramos que o VoxelNet alcança resultados muito encorajadores na detecção de pedestres e ciclistas de nuvens de pontos lidar.

1.1 Trabalho Relacionado

O rápido desenvolvimento da tecnologia de sensores 3D motivou os pesquisadores a desenvolver representações eficientes para detectar e localizar objetos em nuvens de pontos.

Alguns métodos iniciais de representação de recursos são [41,8,7,19,42,35,6,27,1,36,2,25,26].

Esses recursos artesanais produzem resultados satisfatórios quando informações de forma 3D ricas e detalhadas estão disponíveis.

No entanto, eles não podem se adaptar a formas e cenas mais complexas e aprender a invariância necessária dos dados, levando a um sucesso limitado em cenários não controlados, como navegação autônoma.

[seção]

Considerando que as imagens fornecem informações detalhadas de textura, muitos algoritmos inferem caixas delimitadoras 3D (caixas delimitadoras 3D) a partir de imagens 2D [4, 3, 44, 45, 46, 38].

No entanto, a precisão dos métodos de detecção 3D baseados em imagem é limitada pela precisão da estimativa de profundidade.

[seção]

Algumas técnicas de detecção de objetos 3D baseadas em lidar utilizam uma representação de grade de voxels.

[43,9] codificam cada voxel não vazio com 6 estatísticas derivadas de todos os pontos contidos no voxel.

[39] fundem múltiplas estatísticas locais para representar cada voxel.

[40] calcule a distância do sinal truncado em uma grade de voxels.

[21] usam uma codificação binária de uma grade de voxels 3D.

[5] introduziram uma representação multivisualização de nuvens de pontos LiDAR por meio da computação de mapas de recursos multicanal na visão panorâmica e coordenadas cilíndricas na visão frontal.

Alguns outros estudos projetam nuvens de pontos em mapas de perspectiva e, em seguida, usam esquemas de codificação de recursos baseados em imagem [30, 15, 22].

[seção]

Também existe uma variedade de métodos de fusão multimodal que combinam imagens e lidar para melhorar a precisão da detecção [10, 16, 5].

Esses métodos fornecem desempenho aprimorado em comparação com a detecção 3D somente lidar, especialmente para objetos pequenos (pedestres, ciclistas) ou quando os objetos estão distantes, já que as câmeras fornecem medições de ordens de magnitude maiores do que lidar.

No entanto, as câmeras que precisam ser sincronizadas no tempo e calibradas para lidar limitam seu uso e tornam a solução mais sensível aos modos de falha do sensor.

Neste trabalho, focamos apenas na detecção lidar.

1.2. Contribuições

  • Propomos uma nova arquitetura profunda treinável de ponta a ponta VoxelNet para detecção 3D baseada em nuvem de pontos, que opera diretamente em pontos 3D esparsos e evita o gargalo de informações introduzido pela aquisição manual de recursos.
  • Propomos uma implementação eficiente de VoxelNet que beneficia estruturas de pontos esparsos e processamento paralelo eficiente em grades de voxels.
  • Conduzimos experimentos no benchmark KITTI e mostramos que os VoxelNETs produzem resultados de ponta em benchmarks de detecção de carros, pedestres e ciclistas baseados em lidar.

2 VoxelNet

Nesta seção, explicamos a arquitetura dos VoxelNETs, ​​a função de perda utilizada para treinamento e algoritmos eficientes para implementação da rede.

2.1 Arquitetura VoxelNet

A VoxelNet proposta consiste em três blocos funcionais: (1) rede de aprendizado de características, (2) camada intermediária convolucional e (3) rede de proposta de região [34], conforme mostrado na Figura 2. Apresentamos o VoxelNet em detalhes nas seções a seguir.

2.1.1 Rede de aprendizado de recursos

divisão de voxels

Dada uma nuvem de pontos, subdividimos o espaço 3D em voxels equidistantes, conforme mostra a Figura 2. Suponha que a nuvem de pontos contenha um espaço tridimensional com D, H, W ao longo dos eixos Z, Y, X, respectivamente.

Definimos o tamanho de cada voxel VD, VH e VW de acordo. O tamanho da grade de voxels 3D obtida é D'=D/VD, H'=H/VH, W'=W/VW.

Aqui, para simplificar, assumimos que D, H, W são múltiplos de VD, VH, VW.

grupo

Agrupamos os pontos de acordo com o voxel em que estão localizados.

As nuvens de pontos LiDAR são esparsas com densidades de pontos altamente variáveis ​​em todo o espaço devido a fatores como distância, oclusão, pose relativa do objeto e amostragem não uniforme.

Portanto, após o agrupamento, os voxels conterão um número variável de pontos.

A Figura 2 mostra um exemplo onde o Voxel-1 tem mais pontos que o Voxel-2 e o Voxel-4, enquanto o Voxel-3 não contém nenhum ponto.

amostragem aleatória

Normalmente, uma nuvem de pontos lidar de alta resolução consiste em cerca de 100 mil pontos.

Processar todos os pontos diretamente não apenas aumenta a carga de memória/eficiência na plataforma de computação, mas também a densidade de pontos altamente variável em todo o espaço pode levar a resultados de detecção tendenciosos.

Para isso, amostramos aleatoriamente um número fixo T de voxels com mais de T pontos.

Essa estratégia de amostragem atende a dois propósitos: (1) economia computacional (consulte a Seção 2.3 para obter detalhes); (2) redução do desequilíbrio de pontos entre voxels, redução do viés de amostragem e aumento da variação de treinamento.

Codificação de recurso de voxel empilhado

A principal inovação é o encadeamento de camadas VFE.

Para simplificar, a Fig. 2 mostra o processo de codificação de recursos hierárquicos para um voxel.

Sem perda de generalidade, usamos a camada 1 do VFE para descrever os detalhes nos parágrafos a seguir. A Figura 3 mostra a arquitetura da camada 1 do VFE.

insira a descrição da imagem aqui
V = { pi = [ xi , yi , zi , ri ] T ∈ R 4 } V = \esquerda \{ p_{i} =[x_{i},y_{i},z_{i},r_{i} ]^T \in \mathbb{R}^{4}\direita \}V={ peu=[ xeu,yeu,zeu,reu]TR4 }
V como um voxel não vazio contendo t (t <= T) pontos lidar, onde pi contém as coordenadas XYZ do i-ésimo ponto, e ri é a refletividade recebida.

Primeiro calculamos a média local como o centróide de todos os pontos em V, denotado como ( vx , vy , vz ) (v_{x}, v_{y}, v_{z})vx, vvocê, vz

Cada ponto Pi é então aumentado com um deslocamento relativo relacionado ao centróide para obter o conjunto de recursos de entrada Vin
V in = { p ^ i = [ xi , yi , zi , ri , xi − vx , yi − vy , zi − vz ] T ∈ R 7 } i = 1... t V_{in} = \left \{ \widehat{p}_{i} =[x_{i},y_{i},z_{i},r_{i } ,x_{i}-v_{x},y_{i}-v_{y},z_{i}-v_{z}]^T \in \mathbb{R}^{7}\direita \}_ {i=1...t}Vem={ p eu=[ xeu,yeu,zeu,reu,xeuvx,yeuvvocê,zeuvz]TR7 }i = 1... t

Então, pi é transformado em um espaço de recursos por meio de uma rede totalmente conectada (FCN), onde podemos começar a partir de recursos pontuais fi ∈ R m f_{i} \in \mathbb{R}^mfeuRm agrega informações para codificar a forma da superfície contida no voxel.

FCN consiste em camada linear, camada de normalização de lote (BN) e camada de unidade linear retificada (ReLU).

Depois de obter a representação de recursos pontuais, usamos o max-pooling element-wise para iterar sobre todosV relacionadosfi f_{i}feuPara obter características de agregação local f ~ ∈ R m \tilde{f}\in \mathbb{R}^mf~Rm

Finalmente, usamos f ~ \tilde{f}f~para aumentar cada fi f_{i}feuPara formar recursos em cascata do ponto i, como fiout = [ fi T , f ~ i T ] ∈ R m f_{i}^{out}=[f_{i}^{T},\tilde{f}_{i }^{T}] \in \mathbb{R}^mfeuvocê _ _=[ feuT,f~euT]Rm

Portanto, obtemos o conjunto de recursos de saída V out = { fiout } i . . . t V_{out}= \left \{ f_{i}^{out} \right \} _{i...t}Vvocê _ _={ feuvocê _ _}eu ... t

Todos os voxels não vazios são codificados da mesma maneira e compartilham o mesmo conjunto de parâmetros no FCN.

[seção]

Usamos VFE - i ( C in , C out ) i(C_{in},C_{out})eu ( Cem,Cvocê _ _) para representar a dimensãoC em C_{in}CemOs recursos de entrada são convertidos em dimensões C out C_{out}Cvocê _ _Os recursos de saída da i-ésima camada VFE.

A dimensão de aprendizado da camada linear é C in × ( C out / 2 ) C_{in} ×(C_{out}/2)Cem×( Cvocê _ _2 ) matriz, a cascata ponto a ponto produz uma dimensão deC out C_{out}Cvocê _ _Saída.

[seção]

Como as feições de saída combinam feições pontuais e feições agregadas localmente, o empilhamento de camadas VFE codifica interações pontuais dentro de voxels e permite que a representação final de feições aprenda informações de forma descritiva.

O recurso voxel por voxel é convertido em RC convertendo a saída de VFE-n por meio de FCN \mathbb{R}^CRC é obtido aplicando o pooling máximo elemento a elemento, onde C é a dimensão dos recursos voxel, conforme mostrado na Figura 2.

[seção]

representação de tensor esparso

Ao processar apenas voxels não vazios, obtemos uma lista de recursos de voxel, cada um associado exclusivamente às coordenadas espaciais de um determinado voxel não vazio.

A lista obtida de recursos de voxel pode ser representada como um tensor 4D esparso de tamanho C × D ′ D'D ×H ′ H'H ×W ′ W'C , como mostra a Figura 2.

Embora as nuvens de pontos contenham cerca de 100 mil pontos, mais de 90% dos voxels geralmente estão vazios.

Representar recursos de voxel não nulos como tensores esparsos reduz muito o uso de memória e o custo computacional durante a retropropagação e é uma etapa fundamental para nossa implementação eficiente.

2.1.2 Camadas intermediárias convolucionais

Usamos ConvMD(cin, cout, k, s, p) para expressar uma operação de convolução M-dimensional, onde cin e cout são o número de canais de entrada e saída, e k, s, p são vetores M-dimensionais correspondentes ao tamanho dos kernels de convolução (tamanho do kernel), tamanho do passo (tamanho do passo) e tamanho do preenchimento (tamanho do preenchimento).

Quando o tamanho é o mesmo em M dimensões, usamos um escalar para representar esse tamanho, por exemplo, k corresponde a k=(k,k,k).

[seção]

Cada camada intermediária convolucional é aplicada ciclicamente à convolução 3D, camada BN e camada ReLU.

As camadas intermediárias convolucionais incorporam características de voxel em um campo receptivo progressivamente maior, adicionando mais contexto à descrição da forma.

Os tamanhos detalhados dos filtros nas camadas intermediárias convolucionais são detalhados na Seção III.

2.1.3 Rede de Propostas Regionais

recentemente,

[seção]

A entrada para nosso RPN é o mapa de recursos fornecido pelas camadas intermediárias convolucionais.

A estrutura dessa rede é mostrada na Figura 4.

insira a descrição da imagem aqui

Esta rede tem três blocos de camadas totalmente convolucionais.

A primeira camada de cada bloco diminui a amostra do mapa de recursos pela metade por uma convolução com tamanho de passo 2, seguida por uma sequência de convoluções com passo 1 (×q significa q aplicações do filtro).

Após cada camada convolucional, as operações BN e ReLU são executadas.

Em seguida, aumentamos a amostra da saída de cada bloco para um tamanho fixo e concatenamos para construir um mapa de recursos de alta resolução

Por fim, os mapas de recursos são mapeados para os objetivos de aprendizagem pretendidos: um mapa de pontuação de probabilidade e um mapa de regressão.

(continua)

2.2. Função de Perda

2.3. Implementação Eficiente

3 Detalhes do treinamento

3.1 Detalhes da Rede

3.2. Aumento de dados

4 experimentos

4.1 Avaliação do Conjunto de Validação KITTI

4.2 Avaliação no Conjunto de Teste KITTI

5. Conclusão

Acho que você gosta

Origin blog.csdn.net/lb5482464/article/details/125683167
Recomendado
Clasificación