Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

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

Licencias

  • Acceso abierto
  • Artículo: CC BY 4.0

Todo lo que sigue se basa en el artículo completo bajo su licencia CC BY 4.0; su figura se muestra con crédito a los autores.

En resumen

SLAM en tiempo real solo con LiDAR y un mapa implícito neuronal: seguimiento con ICP, optimización conjunta de poses y mapa sobre fotogramas clave, y una pérdida de margen dinámico basada en la divergencia JS para un aprendizaje en línea más rápido y nítido.

Por qué importa

Estima a la vez, en tiempo real y solo con LiDAR, la trayectoria del sensor y un mapa denso, y el mapa puede renderizarse fuera de línea como imágenes de profundidad desde puntos de vista nuevos o como mallas. El artículo compara la pérdida de margen dinámico con otras pérdidas usadas en marcos implícitos neuronales supervisados por profundidad y concluye que converge más rápido y reconstruye la geometría con más precisión.

Problema

Los mapas implícitos neuronales dan un modelo continuo de la escena que puede consultarse sobre la ocupación en cualquier punto, pero los métodos existentes de mapeo implícito con LiDAR o necesitan poses de referencia reales o funcionan más despacio que el tiempo real, y los sistemas de SLAM neuronal en tiempo real usan cámaras RGB o RGB-D y funcionan sobre todo en interiores. Durante el entrenamiento en línea, las distintas regiones del mapa se aprenden en distinto grado, por lo que un único margen para todos los rayos, como en la pérdida LOS, hace que la red olvide la geometría aprendida y converja lentamente.

Solución propuesta

LONER ejecuta hilos paralelos de seguimiento y mapeo: el seguimiento diezma los barridos a 5 Hz y estima la odometría con ICP punto a plano, sin IMU; el mapeo añade un fotograma clave cada 3 s y optimiza conjuntamente un MLP con una rejilla jerárquica de características y las poses de 8 fotogramas clave (el actual más otros pasados elegidos al azar). La pérdida combina una pérdida de margen dinámico de Jensen-Shannon, que da a cada rayo un margen mayor donde el mapa está mal aprendido y uno menor donde está bien aprendido, con una pérdida de profundidad de peso reducido y una pérdida de cielo obtenida a partir de los huecos en los retornos del LiDAR.

Ideas clave

  • Fijar el margen de cada rayo a partir de la divergencia JS entre las distribuciones objetivo y predicha de terminación del rayo permite que las regiones nuevas se aprendan rápido sin que pierda nitidez la geometría ya aprendida.
  • La pérdida de profundidad por sí sola da una geometría borrosa con un tiempo de entrenamiento limitado, pero ayuda a rellenar huecos, por lo que se mantiene con un peso pequeño (λ₁ = 5 × 10⁻⁶).
  • Usar ICP en lugar de inverse-NeRF para el seguimiento ahorra tiempo de GPU para el mapeo y mantiene el sistema en tiempo real; después, el paso de mapeo refina las poses de ICP.
  • Los rayos de cielo se detectan sin cámara, a partir de los huecos de la imagen de profundidad LiDAR que apuntan por encima del horizonte, suponiendo que el sensor está aproximadamente nivelado en la inicialización.
  • Seleccionar al azar fotogramas clave pasados para la ventana de optimización suele funcionar mejor que usar solo los fotogramas clave recientes o una mezcla mitad recientes, mitad aleatorios.

Resultados principales

  • Error absoluto de pose RMS de la trayectoria (m), LONER frente a LeGO-LOAM: MCR 0,029 frente a 0,052, Canteen 0,064 frente a 0,129, Garden 0,056 frente a 0,161, Quad 0,130 frente a 0,126.
  • NICE-SLAM, ejecutado en una configuración fuera de línea con más muestras e iteraciones, solo siguió la pequeña secuencia MCR (0,248 m) y falló en Canteen y Garden.
  • Calidad del mapa en la secuencia interior MCR, LONER frente a SHINE Mapping (que usa poses de referencia reales): exactitud 0,186 frente a 0,164 m, completitud 0,069 frente a 0,075 m, precisión 0,473 frente a 0,624, exhaustividad 0,932 frente a 0,757; en Quad, exactitud 0,380 frente a 0,301 m, completitud 0,373 frente a 0,148 m, precisión 0,327 frente a 0,453, exhaustividad 0,809 frente a 0,717.
  • Tiempo de ejecución en una CPU AMD Ryzen 5950X y una GPU NVIDIA A6000: 14 ms por paso de seguimiento; 50 iteraciones de mapeo por fotograma clave tardan 2,79 s (unos 56 ms cada una, unos 18 Hz), dentro del intervalo de 3 s entre fotogramas clave.
  • Ablación de la pérdida (Tabla V), secuencia Quad: sistema completo con profundidad L1 de 0,880 y error de pose de 0,130 m, frente a 2,265 y 0,779 solo con pérdida de profundidad, 1,747 y 0,570 con profundidad más pérdida LOS de decaimiento fijo, y 2,262 y 0,154 con LOS de margen dinámico sin pérdida de profundidad.
  • Entrenada con un único barrido del simulador CARLA, la pérdida JS alcanzó un error de profundidad bajo más rápido que las pérdidas LOS con decaimiento del margen lento, medio y rápido, y que la pérdida de profundidad sola.

Limitaciones

  • Los objetos dinámicos no se tratan; las secuencias de prueba se eligieron para que contuvieran pocos objetos dinámicos, y los autores dicen que hace falta más trabajo para entornos muy dinámicos.
  • No se usan datos inerciales; los autores señalan que podrían ayudar al seguimiento con rotaciones rápidas y en escenas con pocas características donde el LiDAR es menos informativo.
  • El funcionamiento a escala de ciudad puede requerir otros embeddings de características de entrada y otras heurísticas de selección de rayos (según los autores).
  • El mapa es solo geométrico; añadir RGB sin perder el rendimiento en tiempo real es trabajo futuro (según los autores).
  • En la secuencia exterior Quad, SHINE Mapping (con poses de referencia reales) produjo una geometría más completa, captando pilares que LONER omite, y el error de trayectoria de LeGO-LOAM fue ligeramente menor.

Impacto en el campo

Ganador del RA-L 2024 Best Paper Award y citado 56 veces. Los autores publican los datos completos de evaluación en la página del proyecto, que también enlaza el repositorio de código.

Resumen

Este artículo propone LONER, el primer algoritmo de SLAM con LiDAR en tiempo real que usa una representación implícita neuronal de la escena. Los métodos existentes de mapeo implícito para LiDAR muestran resultados prometedores en reconstrucción a gran escala, pero o bien requieren poses de referencia reales o bien funcionan más despacio que el tiempo real. En cambio, LONER usa datos LiDAR para entrenar un MLP que estima un mapa denso en tiempo real, a la vez que estima la trayectoria del sensor. Para lograr un rendimiento en tiempo real, este artículo propone una nueva función de pérdida basada en la teoría de la información que tiene en cuenta que distintas regiones del mapa pueden aprenderse en distinto grado a lo largo del entrenamiento en línea. El método propuesto se evalúa cualitativa y cuantitativamente en dos conjuntos de datos de código abierto. Esta evaluación muestra que la función de pérdida propuesta converge más rápido y conduce a una reconstrucción geométrica más precisa que otras funciones de pérdida usadas en marcos implícitos neuronales supervisados por profundidad. Por último, este artículo muestra que LONER estima trayectorias de forma competitiva con los métodos de SLAM con LiDAR del estado del arte, y produce además mapas densos competitivos con los métodos existentes de mapeo implícito en tiempo real que usan poses de referencia reales.

Enlaces

  • 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 del proyecto: https://umautobots.github.io/loner

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.