Simultaneous Localization and 3D-Semi Dense Mapping for Micro Drones Using Monocular Camera and Inertial Sensors
Danial, Asher, Klein
Monocular simultaneous localization and mapping (SLAM) algorithms estimate drone poses and build a 3D map using a single camera. Current algorithms include sparse methods that lack detailed geometry, while learning-driven approaches produce dense maps but are computationally intensive. Monocular SLAM also faces scale ambiguities, which affect its accuracy. To address these challenges, we propose an edge-aware lightweight monocular SLAM system combining sparse keypoint-based pose estimation with dense edge reconstruction. Our method employs deep learning-based depth prediction and edge detection, followed by optimization to refine keypoints and edges for geometric consistency, without relying on global loop closure or heavy neural computations. We fuse inertial data with vision by using an extended Kalman filter to resolve scale ambiguity and improve accuracy. The system operates in real time on low-power platforms, as demonstrated on a DJI Tello drone with a monocular camera and inertial sensors. In addition, we demonstrate robust autonomous navigation and obstacle avoidance in indoor corridors and on the TUM RGBD dataset. Our approach offers an effective, practical solution to real-time mapping and navigation in resource-constrained environments.
academic
Localizzazione Simultanea e Mappatura 3D Semi-Densa per Micro Droni Utilizzando Fotocamera Monoculare e Sensori Inerziali
Questo articolo affronta le sfide della localizzazione e mappatura simultanea (SLAM) monoculare per micro droni, proponendo un sistema SLAM monoculare leggero e consapevole dei bordi. Il sistema combina la stima della posa da punti chiave sparsi con la ricostruzione densa dei bordi, utilizzando l'apprendimento profondo per la predizione della profondità e il rilevamento dei bordi, realizzando la coerenza geometrica attraverso l'ottimizzazione senza dipendere da cicli di chiusura globali o da reti neurali pesanti. Il sistema utilizza un filtro di Kalman esteso per fondere i dati inerziali con le informazioni visive, risolvendo il problema dell'ambiguità di scala e migliorando la precisione. È stato implementato in tempo reale sul drone DJI Tello e ha dimostrato capacità robuste di navigazione autonoma e evitamento degli ostacoli sul dataset TUM RGBD.
Problema della Mappa Sparsa: I sistemi SLAM tradizionali basati su punti caratteristici (come ORB-SLAM), sebbene stimino efficacemente la posa, generano mappe di nuvole di punti 3D troppo sparse, mancando di ricchezza strutturale e inadatte per compiti che richiedono una comprensione 3D densa
Limitazioni delle Risorse Computazionali: I metodi SLAM densi guidati dall'apprendimento esistenti (come NeRF, NICE-SLAM) hanno un carico computazionale elevato e difficilmente funzionano in tempo reale su piattaforme embedded con risorse limitate
Ambiguità di Scala: L'incertezza di scala intrinseca del SLAM monoculare influisce sulla precisione della localizzazione
Costo dell'Ottimizzazione Globale: Lo SLAM tradizionale dipende dal rilevamento dei cicli di chiusura e dall'aggiustamento del fascio globale, con elevato carico computazionale
La navigazione autonoma di micro droni richiede capacità di percezione 3D in tempo reale e accurate per la navigazione, l'evitamento degli ostacoli e l'interazione ambientale. Realizzare questo obiettivo su piattaforme embedded con risorse limitate è una sfida fondamentale nel campo della robotica.
ORB-SLAM: Genera solo punti 3D sparsi, mancando di dettagli strutturali
Edge SLAM: Sebbene generi mappe semi-dense, dipende dall'ottimizzazione globale con elevato carico computazionale e il tracciamento basato sul flusso ottico introduce rumore
DeepTAM/D3VO: I metodi di apprendimento profondo hanno un numero elevato di parametri e complessità computazionale elevata, inadatti per dispositivi a basso consumo energetico
NeRF/NICE-SLAM: Richiedono GPU di fascia alta, assumono scene statiche e mancano di tempo reale
Sviluppare un sistema SLAM leggero e in tempo reale in grado di generare mappe semi-dense su piattaforme con risorse limitate, mantenendo al contempo una stima della posa ad alta precisione.
Pipeline SLAM Leggera: Integra la geometria epipolare sparsa con la predizione della profondità densa e l'estrazione dei bordi, realizzando la costruzione di mappe semi-dense ancorate ai bordi
Perdita di Coerenza del Ciclo dei Bordi: Propone vincoli di coerenza della proiezione multi-vista dei bordi senza richiedere corrispondenze esplicite 2D-2D dei bordi
Vincoli Strutturali Consapevoli della Forma: Regolarizzazione geometrica basata su strutture a forma di L, migliorando la coerenza strutturale negli ambienti interni
Ottimizzazione Geometrica Locale: Aggiustamento del fascio multi-obiettivo che ottimizza congiuntamente la posa della fotocamera, i punti chiave e i segmenti dei bordi, senza richiedere cicli di chiusura globali o fusione voxel densa
Fusione Visivo-Inerziale: Utilizza un filtro di Kalman esteso per fondere i dati inerziali risolvendo il problema dell'ambiguità di scala
Rilevamento dei Punti Chiave ORB: Estrae i punti caratteristici ORB e i descrittori
Rilevamento dei Bordi Canny: Rileva i bordi dell'immagine
Predizione della Profondità: Utilizza la CNN FastDepth pre-addestrata (architettura basata su MobileNet-NNConv5) per predire la mappa di profondità densa
Corrispondenza delle Caratteristiche: Utilizza la distanza di Hamming per abbinare i descrittori ORB, accelerando la ricerca del vicino più prossimo tramite albero KD
Stima la matrice essenziale E dai punti caratteristici ORB abbinati tramite geometria epipolare:
u_j^T E_ij u_i = 0
Utilizza RANSAC per eliminare i valori anomali, decomposizione SVD per recuperare la rotazione relativa R_ij e la traslazione t_ij
Fusione del Filtro di Kalman Esteso:
Vettore di stato:
x = [p, α]^T = [x, y, z, φ, θ, ψ]^T
dove p è la posizione globale e α sono gli angoli di Eulero (rollio, beccheggio, imbardata)
Fase di Predizione:
p_{k|k-1} = p_{k-1} + R_imu(α_{k-1}) · v_imu · Δt
Rumore di Processo Adattivo:
Q_k = β · (1 - b_k + λτ) · I_6
dove b_k è la carica della batteria, τ è il tempo trascorso dall'ultimo aggiornamento monoculare, considerando il degrado della precisione dei dati SDK al diminuire della carica e al passare del tempo
Aggiornamento della Misurazione:
Osservazione 1: Angoli di Eulero dall'API SDK z_api = α_api
Osservazione 2: Stima della posa globale dall'odometria visiva (tramite accumulo della posa relativa)
Algoritmo di Ottimizzazione: Utilizza l'algoritmo di Levenberg-Marquardt per risolvere il problema dei minimi quadrati non lineari, bilanciando Gauss-Newton e la discesa del gradiente
Mappatura Semi-Densa Consapevole dei Bordi: Combina punti chiave sparsi e bordi densi, raggiungendo un equilibrio tra efficienza computazionale e dettagli della mappa
Nessuna Corrispondenza Esplicita dei Bordi: Evita la ricerca complessa di corrispondenze dei bordi 2D tramite perdita di coerenza del ciclo
Regolarizzazione Consapevole della Struttura: Sfrutta i priori geometrici a forma di L degli ambienti interni per migliorare la qualità della ricostruzione
Strategia di Ottimizzazione Locale: Evita il rilevamento dei cicli di chiusura globali, riducendo la complessità computazionale
Fusione Adattiva dei Sensori: Modellazione del rumore di processo considerando la carica della batteria e il tempo
Assunzioni Ambientali: Il vincolo della struttura a forma di L è principalmente applicabile agli ambienti interni artificiali, potrebbe non essere adatto in scene naturali
Dipendenza dalla Profondità: Dipende dal modello FastDepth pre-addestrato, le prestazioni potrebbero degradarsi in scene al di fuori del dominio di addestramento
Scene Dinamiche: L'articolo non discute esplicitamente il trattamento degli oggetti dinamici
Regolazione dei Parametri: Più parametri di peso (λ_reproj, λ_cycle, λ_shape) richiedono regolazione manuale
Deriva a Lungo Termine: Sebbene la coerenza locale sia buona, la mancanza di cicli di chiusura globali potrebbe accumulare errori in sequenze molto lunghe
Analisi Quantitativa Insufficiente: Solo confronto con ORB-SLAM2, mancano confronti con altri metodi moderni
Progettazione dell'Architettura Ibrida: Combina abilmente la geometria sparsa e l'apprendimento denso, raggiungendo un equilibrio tra precisione ed efficienza
Perdita di Coerenza del Ciclo: Progettazione innovativa dei vincoli senza richiedere corrispondenze esplicite dei bordi
Regolarizzazione Consapevole della Struttura: Sfrutta i priori ambientali per migliorare la qualità della ricostruzione
Fusione Adattiva dei Sensori: La modellazione del rumore di processo considerando la carica della batteria ha significato pratico
Completezza Sperimentale:
Verifica su dataset standard (TUM RGB-D) e piattaforma reale (DJI Tello)
I risultati quantitativi e qualitativi si confermano reciprocamente
FastDepth (Wofk et al., ICRA 2019): Rete di stima della profondità leggera
TUM RGB-D (Sturm et al., 2012): Dataset standard di valutazione SLAM
Bundle Adjustment (Triggs et al., 1999): Tecnica di ottimizzazione classica
Epipolar Geometry (Zhang, 1998): Teoria fondamentale della geometria epipolare
Extended Kalman Filter: Metodo standard di fusione dei sensori
Edge SLAM (Maity et al., ICCV 2017): Lavoro pionieristico su SLAM dei bordi
NeRF/NICE-SLAM: Metodi di apprendimento per la ricostruzione densa
Valutazione Complessiva: Questo è uno studio SLAM di tipo pratico orientato alle piattaforme con risorse limitate, con una linea tecnica ragionevole e risultati sperimentali convincenti. I contributi principali risiedono nell'ingegneria del sistema e nell'integrazione dei metodi, piuttosto che in una singola innovazione algoritmica. Il miglioramento della precisione del 74.7% e l'accelerazione 100 volte hanno valore pratico significativo. Tuttavia, l'articolo ha spazio per miglioramenti negli aspetti di confronto sperimentale, analisi di ablazione e profondità teorica. È adatto per la pubblicazione in conferenze o riviste di applicazioni robotiche.