Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

LONER: LiDAR Only Neural Representations for Real-Time SLAM

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

Licenze

  • Open access
  • Articolo: CC BY 4.0

Tutto ciò che segue si basa sull'articolo completo secondo la sua licenza CC BY 4.0; la figura è riportata citando gli autori.

In breve

SLAM in tempo reale solo da LiDAR con una mappa implicita neurale: tracking con ICP, ottimizzazione congiunta di pose e mappa sui keyframe e una loss a margine dinamico basata sulla divergenza JS per un apprendimento online più rapido e nitido.

Perché è importante

Stima insieme, in tempo reale e solo da LiDAR, la traiettoria del sensore e una mappa densa, e la mappa può essere renderizzata offline in immagini di profondità da nuovi punti di vista o in mesh. L'articolo confronta la loss a margine dinamico con altre loss usate nei framework impliciti neurali supervisionati dalla profondità e rileva che converge più rapidamente e ricostruisce la geometria in modo più accurato.

Problema

Le mappe implicite neurali forniscono un modello continuo della scena che può essere interrogato sull'occupazione in qualsiasi punto, ma i metodi esistenti di mappatura implicita LiDAR richiedono pose di riferimento reali oppure sono più lenti del tempo reale, e i sistemi di SLAM neurale in tempo reale usano telecamere RGB o RGB-D e funzionano soprattutto in ambienti interni. Durante l'addestramento online regioni diverse della mappa vengono apprese in misura diversa, quindi un unico margine per tutti i raggi, come nella loss LOS, fa dimenticare alla rete la geometria appresa e la fa convergere lentamente.

Soluzione proposta

LONER esegue thread paralleli di tracking e mappatura: il tracking decima le scansioni a 5 Hz e stima l'odometria con ICP punto-piano, senza IMU; la mappatura aggiunge un keyframe ogni 3 s e ottimizza congiuntamente un MLP con una griglia gerarchica di feature e le pose di 8 keyframe (quello corrente più altri passati scelti a caso). La loss combina una loss a margine dinamico di Jensen-Shannon, che dà a ogni raggio un margine più ampio dove la mappa è appresa male e uno più stretto dove è appresa bene, con una loss di profondità a peso ridotto e una loss del cielo ricavata dai buchi nei ritorni del LiDAR.

Idee chiave

  • Fissare il margine di ciascun raggio in base alla divergenza JS tra le distribuzioni obiettivo e predetta di terminazione del raggio permette alle nuove regioni di essere apprese rapidamente mantenendo nitida la geometria già appresa.
  • La sola loss di profondità dà una geometria sfocata con un tempo di addestramento limitato ma aiuta a riempire i buchi, quindi viene mantenuta con un peso ridotto (λ₁ = 5 × 10⁻⁶).
  • Usare ICP invece di inverse-NeRF per il tracking risparmia tempo di GPU per la mappatura, mantenendo il sistema in tempo reale; il passo di mappatura poi affina le pose di ICP.
  • I raggi del cielo vengono individuati senza telecamera, dai buchi nell'immagine di profondità LiDAR che puntano sopra l'orizzonte, assumendo che il sensore sia all'incirca in piano all'inizializzazione.
  • Selezionare a caso keyframe passati per la finestra di ottimizzazione funziona in genere meglio che usare solo keyframe recenti o un mix metà recenti e metà casuali.

Risultati principali

  • Errore assoluto di posa RMS della traiettoria (m), LONER contro LeGO-LOAM: MCR 0,029 contro 0,052, Canteen 0,064 contro 0,129, Garden 0,056 contro 0,161, Quad 0,130 contro 0,126.
  • NICE-SLAM, eseguito in una configurazione offline con più campioni e iterazioni, ha tracciato solo la piccola sequenza MCR (0,248 m) e ha fallito su Canteen e Garden.
  • Qualità della mappa sulla sequenza interna MCR, LONER contro SHINE Mapping (che usa pose di riferimento reali): accuratezza 0,186 contro 0,164 m, completezza 0,069 contro 0,075 m, precisione 0,473 contro 0,624, recall 0,932 contro 0,757; su Quad, accuratezza 0,380 contro 0,301 m, completezza 0,373 contro 0,148 m, precisione 0,327 contro 0,453, recall 0,809 contro 0,717.
  • Tempo di esecuzione su una CPU AMD Ryzen 5950X e una GPU NVIDIA A6000: 14 ms per passo di tracking; 50 iterazioni di mappatura per keyframe richiedono 2,79 s (circa 56 ms ciascuna, circa 18 Hz), entro l'intervallo di 3 s tra keyframe.
  • Ablazione della loss (Tabella V), sequenza Quad: sistema completo con profondità L1 di 0,880 ed errore di posa di 0,130 m, contro 2,265 e 0,779 con la sola loss di profondità, 1,747 e 0,570 con profondità più loss LOS a decadimento fisso, e 2,262 e 0,154 con LOS a margine dinamico senza loss di profondità.
  • Addestrata su una singola scansione del simulatore CARLA, la loss JS ha raggiunto un errore di profondità basso più rapidamente delle loss LOS con decadimento del margine lento, medio e veloce e della sola loss di profondità.

Limiti

  • Gli oggetti dinamici non sono gestiti; le sequenze di test sono state scelte in modo da contenere pochi oggetti dinamici, e gli autori affermano che serve altro lavoro per ambienti altamente dinamici.
  • Non vengono usati dati inerziali; gli autori osservano che potrebbero aiutare il tracking in caso di rotazioni rapide e in scene povere di feature dove il LiDAR è meno informativo.
  • Il funzionamento su scala urbana potrebbe richiedere altri embedding delle feature in ingresso e altre euristiche di selezione dei raggi (secondo gli autori).
  • La mappa è solo geometrica; aggiungere l'RGB senza perdere le prestazioni in tempo reale è lavoro futuro (secondo gli autori).
  • Sulla sequenza esterna Quad, SHINE Mapping (con pose di riferimento reali) ha prodotto una geometria più completa, catturando pilastri che LONER omette, e l'errore di traiettoria di LeGO-LOAM è stato leggermente inferiore.

Impatto sul settore

Vincitore del RA-L 2024 Best Paper Award e citato 56 volte. Gli autori pubblicano i dati di valutazione completi sulla pagina del progetto, che contiene anche il link al repository del codice.

Abstract

Questo articolo propone LONER, il primo algoritmo di SLAM LiDAR in tempo reale che usa una rappresentazione implicita neurale della scena. I metodi esistenti di mappatura implicita per LiDAR mostrano risultati promettenti nella ricostruzione su larga scala, ma richiedono pose di riferimento reali oppure sono più lenti del tempo reale. Al contrario, LONER usa i dati LiDAR per addestrare un MLP a stimare una mappa densa in tempo reale, stimando al contempo la traiettoria del sensore. Per ottenere prestazioni in tempo reale, questo articolo propone una nuova funzione di loss basata sulla teoria dell'informazione che tiene conto del fatto che regioni diverse della mappa possono essere apprese in misura diversa durante l'addestramento online. Il metodo proposto è valutato qualitativamente e quantitativamente su due dataset open source. Questa valutazione mostra che la funzione di loss proposta converge più rapidamente e porta a una ricostruzione geometrica più accurata rispetto ad altre funzioni di loss usate nei framework impliciti neurali supervisionati dalla profondità. Infine, questo articolo mostra che LONER stima le traiettorie in modo competitivo con i metodi di SLAM LiDAR allo stato dell'arte, producendo anche mappe dense competitive con i metodi esistenti di mappatura implicita in tempo reale che usano pose di riferimento reali.

Link

  • 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
  • Codice: https://github.com/umautobots/LONER
  • Pagina del progetto: https://umautobots.github.io/loner

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.