paint-brush
A anotação Lidar é tudo que você precisaby@skprot
771
771

A anotação Lidar é tudo que você precisa

Sayan Protasov6m2024/04/27
Read on Terminal Reader

A fusão de nuvem de pontos e dados de imagem para segmentação precisa da superfície da estrada em imagens de câmeras.
featured image - A anotação Lidar é tudo que você precisa
Sayan Protasov HackerNoon profile picture
0-item
1-item


A segmentação de imagens desempenha um papel crucial na identificação e delineamento preciso de objetos de interesse em uma imagem. Na direção autônoma, algoritmos de visão computacional são aplicados para resolver a tarefa de segmentação da superfície da estrada. Esta tarefa é desafiadora porque você não pode confiar apenas em um tipo de imagem – tanto as câmeras quanto os LiDARs têm seus pontos fortes e fracos. Por exemplo, os LiDARs fornecem informações precisas de profundidade, mas normalmente geram nuvens de pontos esparsas e, portanto, não conseguem segmentar com precisão os objetos na cena. E podem produzir nuvens distorcidas quando enfrentam superfícies transparentes ou reflexivas. As câmeras não capturam a profundidade, mas fornecem informações completas sobre a forma, textura e cor dos objetos. Isso nos leva a uma ideia simples de que uma fusão eficaz de nuvens de pontos e imagens no treinamento de segmentação de estradas 2D pode aproveitar as vantagens de cada domínio de dados. O problema é que tal fusão requer anotação trabalhosa de ambos os conjuntos de dados. Então, podemos tornar a anotação de dados mais eficiente para aproveitar os benefícios de uma configuração multissensor para segmentação de estradas?


Atualmente trabalho em Ecocargo . Esta empresa presta serviço de transporte de cargas e fabrica seus próprios veículos elétricos autônomos. Como engenheiro de aprendizagem profunda, especializo-me no desenvolvimento de sistemas de detecção 3D para piloto automático de veículos autônomos. Portanto, na Evocargo, decidimos encontrar uma maneira de melhorar a eficiência da segmentação da superfície rodoviária que manteria alta a qualidade da previsão e reduziria os custos de anotação. Depois de algum tempo pesquisando e experimentando, meus colegas e eu criamos uma abordagem que aproveita efetivamente as anotações lidar para treinar modelos de segmentação de imagens diretamente em imagens RGB . Assim, os pontos lidar projetados na imagem e usados em treinamento adicional como máscaras de verdade fornecem qualidade comparável de segmentação de imagem e permitem o treinamento de modelos sem máscaras 2D anotadas padrão.



Neste post, descreverei nossa abordagem passo a passo e mostrarei alguns resultados de testes. Se você quiser se aprofundar em nosso trabalho, na pesquisa de outros métodos e nos resultados de nossos testes, consulte nosso artigo 'Anotação Lidar é tudo que você precisa' no jornal IEEE Access. Este artigo é apoiado pelo repositório GitHub publicado com a implementação do método, conjuntos de dados processados e base de código para pesquisas futuras. Se você achar nosso trabalho útil para sua pesquisa, considere dar-lhe uma estrela ⭐ e citar o artigo.


Treinando modelos de segmentação em 4 etapas

O pipeline geral de nossa abordagem consiste em quatro partes principais: anotação de estradas em nuvem de pontos, preparação de dados, perda mascarada e o próprio modelo de segmentação.


O esquema geral da nossa abordagem


Primeiramente, obtemos os dados com anotações rodoviárias no domínio da nuvem de pontos. Depois disso, projetamos pontos usando transformações homogêneas e parâmetros de câmera. Então, usando os pontos projetados, obtemos a máscara verdadeira da estrada para cálculo de perdas com ruído aleatório adicionado. As imagens da câmera são processadas pelo modelo de segmentação. As previsões e máscaras da etapa anterior são utilizadas pela perda mascarada, que permite treinar o modelo usando dados esparsos de verdade. Finalmente, após o treinamento do modelo, obtemos uma imagem com uma estrada segmentada. O procedimento de treinamento, bem como a perda mascarada, permitem misturar a verdade do terreno projetada com as máscaras 2D tradicionais, o que torna a abordagem flexível em termos de dados.


Agora vamos examinar atentamente cada uma das partes.


Anotação de dados em nuvem de 1 ponto


Para usar dados lidar durante o treinamento, precisamos de anotações de segmentação semântica para nuvens de pontos. Isso pode ser feito manualmente usando uma ferramenta de anotação de nuvem de pontos de código aberto, como Editor de segmentação semântica , ou usando algumas abordagens algorítmicas. Meu colega descreveu uma dessas abordagens para detecção de superfícies de estradas em seu guia passo a passoComo anotar 100 varreduras lidar em 1 hora . Uma abordagem algorítmica especialmente para anotação de estradas poderia permitir a ausência de anotação manual, mas precisa de ajuste fino para dados específicos. Na Evocargo utilizamos ambas as abordagens. Para trechos simples, a estrada é anotada algoritmicamente e para trechos complexos - manualmente.


2 Preparação de dados


Uma nuvem de pontos obtida é projetada no plano da imagem usando transformações homogêneas para obter uma máscara de segmentação de imagem com o rótulo de classe que necessitamos, no nosso caso é uma estrada. Para tal projeção, utilizamos câmera sincronizada e quadros lidar, acompanhados de parâmetros de câmera, e uma matriz de transformação de lidar para quadro de câmera. Para projetar o ponto homogêneo x = (x, y, z, 1)ᵀ nas coordenadas do quadro lidar para o ponto y = (u, v, 1)ᵀ em um plano de imagem, usamos a equação:


Após a transformação, obtemos pontos na imagem como uma máscara de pixels, tanto para a classe da estrada quanto para todos os outros pontos da varredura lidar. Precisamos de outros pontos de varredura lidar, porque os pontos lidar estão localizados principalmente na parte inferior da imagem e a parte superior da imagem não tem nenhum ponto, levando potencialmente a previsões imprecisas nessa área. Para eliminar este efeito, adicionamos pontos aleatórios na metade superior da máscara (classe negativa) para equilibrar a distribuição dos pontos onde calcularemos a perda.


Pontos de estrada projetados e máscara de cálculo de perdas


3 Perda mascarada


Um componente crucial do nosso método é a aplicação de uma função de perda mascarada durante o treinamento do modelo. Essa abordagem elimina a dispersão inerente às máscaras de verdade derivadas do lidar. Ao contrário das funções de perda convencionais, que consideram todas as máscaras da imagem para calcular os erros, a perda mascarada concentra-se apenas nas regiões onde os pontos lidar estão presentes. Este cálculo de perda direcionado garante que o aprendizado do modelo esteja concentrado em regiões relevantes, aproveitando as informações fornecidas pelo lidar para aumentar a precisão da segmentação de estradas. Em outras palavras, forçamos o modelo a aprender a segmentação de estradas medindo o erro das previsões em uma grade de pontos. Isso pode ser comparado a olhar a imagem usando óculos obturadores (cortinas de obturador).

Vista dos óculos do obturador da rua


A perda mascarada para cada imagem pode ser formulada desta forma:

A perda mascarada é realizada aplicando uma máscara binária às imagens de treinamento. Esta máscara delineia as áreas onde os pontos lidar estão localizados e são projetados no plano da imagem. Durante a fase de treinamento, a perda é calculada apenas para os pixels que estão sob a máscara, ignorando efetivamente grandes partes não anotadas da imagem. Este método não só melhora a eficiência do processo de treinamento, mas também atenua os problemas representados pela natureza esparsa dos dados lidar.


4 Treinamento de modelo


A etapa final envolve treinar o modelo de segmentação no conjunto de dados criado. O processo de treinamento pode ser adequado para qualquer modelo de segmentação, e em nossa pesquisa utilizamos o PSPNet. Nesta fase, tudo depende da qualidade dos seus dados, da sua quantidade e do poder computacional disponível.


Resultados de testes promissores

Testamos nossa abordagem em vários conjuntos de dados, incluindo os de código aberto, como o Perception Waymo Open Dataset e o conjunto de dados KITTI-360. Cada vez, conduzimos um conjunto de três experimentos: usando apenas informações básicas de estradas 2D, apenas pontos projetados como informações básicas e uma mistura desses tipos de informações básicas. E os resultados da segmentação de estradas (% de IoU) parecem promissores:


Experimentar

Treinado no conjunto de dados KITTI-360

Treinado no conjunto de dados Waymo

Somente 2D (linha de base)

92,3

96,1

Apenas projetado em 3D

89,6

94,7

misturar 2D + 3D projetado

92,7

96,3


Esses números significam que se você possui apenas segmentação lidar e não deseja gastar recursos adicionais em anotações de imagens 2D, está tudo bem. A queda na qualidade em comparação com o treinamento apenas em máscaras de imagem 2D pode ser insignificante. Se você tiver recursos para anotar dados de ambos os sensores, basta combinar esses dois tipos de anotações durante o processo de treinamento e obter um aumento nas métricas.


Em suma, os benefícios da abordagem que observamos durante a pesquisa são:


  • desempenho de alta qualidade de redes neurais em tarefas de segmentação de imagens,
  • menos recursos necessários para anotar dados de vários tipos de sensores,
  • flexibilidade para se adaptar a diferentes tipos de imagens e tarefas de segmentação.


Segmentação precisa da estrada com obstáculos de diferentes tamanhos e outros veículos. Esses resultados são obtidos a partir do modelo treinado em nossos próprios dados proprietários.


Autores da abordagem