Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

LONER: LiDAR Only Neural Representations for Real-Time SLAM

Autores: Seth Isaacson, Pou-Chun Kung, Mani Ramanagopal, Ram Vasudevan, Katherine A. Skinner · RA-L 2023

Licenças

  • Acesso aberto
  • Artigo: CC BY 4.0

Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.

Em resumo

SLAM em tempo real apenas com LiDAR e um mapa implícito neural: rastreamento com ICP, otimização conjunta de poses e mapa sobre quadros-chave e uma perda de margem dinâmica baseada na divergência JS para um aprendizado online mais rápido e nítido.

Por que importa

Ele estima juntos, em tempo real e apenas com LiDAR, a trajetória do sensor e um mapa denso, e o mapa pode ser renderizado offline como imagens de profundidade de novos pontos de vista ou como malhas. O artigo testa a perda de margem dinâmica contra outras perdas usadas em frameworks implícitos neurais supervisionados por profundidade e conclui que ela converge mais rápido e reconstrói a geometria com mais precisão.

Problema

Mapas implícitos neurais oferecem um modelo contínuo da cena que pode ser consultado sobre a ocupação em qualquer ponto, mas os métodos existentes de mapeamento implícito com LiDAR ou precisam de poses de referência reais ou rodam mais devagar que o tempo real, e os sistemas de SLAM neural em tempo real usam câmeras RGB ou RGB-D e funcionam principalmente em ambientes internos. Durante o treinamento online, diferentes regiões do mapa são aprendidas em graus diferentes, então uma margem única para todos os raios, como na perda LOS, faz a rede esquecer a geometria aprendida e convergir devagar.

Solução proposta

O LONER executa threads paralelas de rastreamento e mapeamento: o rastreamento reduz as varreduras para 5 Hz e estima a odometria com ICP ponto a plano, sem IMU; o mapeamento adiciona um quadro-chave a cada 3 s e otimiza conjuntamente um MLP com uma grade hierárquica de características e as poses de 8 quadros-chave (o atual mais outros passados escolhidos aleatoriamente). A perda combina uma perda de margem dinâmica de Jensen-Shannon, que dá a cada raio uma margem maior onde o mapa está mal aprendido e uma menor onde está bem aprendido, com uma perda de profundidade de peso reduzido e uma perda de céu obtida a partir dos buracos nos retornos do LiDAR.

Principais ideias

  • Definir a margem de cada raio a partir da divergência JS entre as distribuições alvo e prevista de término do raio permite que regiões novas sejam aprendidas rapidamente, mantendo nítida a geometria já aprendida.
  • A perda de profundidade sozinha gera geometria borrada com tempo de treinamento limitado, mas ajuda a preencher buracos, por isso é mantida com peso pequeno (λ₁ = 5 × 10⁻⁶).
  • Usar ICP em vez de inverse-NeRF no rastreamento economiza tempo de GPU para o mapeamento, mantendo o sistema em tempo real; a etapa de mapeamento depois refina as poses do ICP.
  • Os raios de céu são encontrados sem câmera, a partir de buracos na imagem de profundidade do LiDAR que apontam acima do horizonte, supondo que o sensor esteja aproximadamente nivelado na inicialização.
  • Selecionar aleatoriamente quadros-chave passados para a janela de otimização geralmente funciona melhor do que usar apenas os quadros-chave recentes ou uma mistura metade recentes, metade aleatórios.

Principais resultados

  • Erro absoluto de pose RMS da trajetória (m), LONER contra LeGO-LOAM: MCR 0,029 contra 0,052, Canteen 0,064 contra 0,129, Garden 0,056 contra 0,161, Quad 0,130 contra 0,126.
  • O NICE-SLAM, executado em uma configuração offline com mais amostras e iterações, rastreou apenas a pequena sequência MCR (0,248 m) e falhou em Canteen e Garden.
  • Qualidade do mapa na sequência interna MCR, LONER contra SHINE Mapping (que usa poses de referência reais): acurácia 0,186 contra 0,164 m, completude 0,069 contra 0,075 m, precisão 0,473 contra 0,624, revocação 0,932 contra 0,757; no Quad, acurácia 0,380 contra 0,301 m, completude 0,373 contra 0,148 m, precisão 0,327 contra 0,453, revocação 0,809 contra 0,717.
  • Tempo de execução em uma CPU AMD Ryzen 5950X e uma GPU NVIDIA A6000: 14 ms por etapa de rastreamento; 50 iterações de mapeamento por quadro-chave levam 2,79 s (cerca de 56 ms cada, cerca de 18 Hz), dentro do intervalo de 3 s entre quadros-chave.
  • Ablação da perda (Tabela V), sequência Quad: sistema completo com profundidade L1 de 0,880 e erro de pose de 0,130 m, contra 2,265 e 0,779 apenas com perda de profundidade, 1,747 e 0,570 com profundidade mais perda LOS de decaimento fixo, e 2,262 e 0,154 com LOS de margem dinâmica sem perda de profundidade.
  • Treinada em uma única varredura do simulador CARLA, a perda JS atingiu baixo erro de profundidade mais rápido que as perdas LOS com decaimento de margem lento, médio e rápido e que a perda de profundidade sozinha.

Limitações

  • Objetos dinâmicos não são tratados; as sequências de teste foram escolhidas para conter poucos objetos dinâmicos, e os autores dizem que é preciso mais trabalho para ambientes altamente dinâmicos.
  • Nenhum dado inercial é usado; os autores observam que ele poderia ajudar o rastreamento sob rotação rápida e em cenas com poucas características, onde o LiDAR é menos informativo.
  • A operação em escala de cidade pode exigir outros embeddings de características de entrada e outras heurísticas de seleção de raios (segundo os autores).
  • O mapa é apenas geométrico; adicionar RGB sem perder o desempenho em tempo real é trabalho futuro (segundo os autores).
  • Na sequência externa Quad, o SHINE Mapping (com poses de referência reais) produziu geometria mais completa, capturando pilares que o LONER omite, e o erro de trajetória do LeGO-LOAM foi ligeiramente menor.

Impacto na área

Vencedor do RA-L 2024 Best Paper Award e citado 56 vezes. Os autores publicam os dados completos de avaliação na página do projeto, que também traz o link para o repositório de código.

Resumo

Este artigo propõe o LONER, o primeiro algoritmo de SLAM com LiDAR em tempo real que usa uma representação implícita neural da cena. Os métodos existentes de mapeamento implícito para LiDAR mostram resultados promissores em reconstrução em larga escala, mas ou exigem poses de referência reais ou rodam mais devagar que o tempo real. Em contraste, o LONER usa dados de LiDAR para treinar um MLP que estima um mapa denso em tempo real, enquanto estima simultaneamente a trajetória do sensor. Para obter desempenho em tempo real, este artigo propõe uma nova função de perda baseada em teoria da informação que leva em conta que diferentes regiões do mapa podem ser aprendidas em graus variados ao longo do treinamento online. O método proposto é avaliado qualitativa e quantitativamente em dois conjuntos de dados de código aberto. Essa avaliação mostra que a função de perda proposta converge mais rápido e leva a uma reconstrução geométrica mais precisa do que outras funções de perda usadas em frameworks implícitos neurais supervisionados por profundidade. Por fim, este artigo mostra que o LONER estima trajetórias de forma competitiva com os métodos de SLAM com LiDAR do estado da arte, produzindo também mapas densos competitivos com os métodos existentes de mapeamento implícito em tempo real que usam poses de referência reais.

Links

  • arXiv 2309.04937: https://arxiv.org/abs/2309.04937
  • DOI 10.1109/LRA.2023.3324521: https://doi.org/10.1109/LRA.2023.3324521
  • PDF: https://arxiv.org/pdf/2309.04937v1
  • Código: https://github.com/umautobots/LONER
  • Página do projeto: https://umautobots.github.io/loner

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.