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
Localización Simultánea y Mapeo 3D Semi-Denso para Micro Drones Utilizando Cámara Monocular y Sensores Inerciales
Este artículo aborda los desafíos de la localización y mapeo simultáneos (SLAM) monocular en micro drones, proponiendo un sistema SLAM monocular ligero consciente de bordes. El sistema integra estimación de postura basada en puntos clave dispersos con reconstrucción densa de bordes, empleando aprendizaje profundo para predicción de profundidad y detección de bordes, logrando consistencia geométrica mediante optimización sin depender de cierre de bucle global ni computación de redes neuronales pesadas. El sistema utiliza un filtro de Kalman extendido para fusionar datos inerciales con información visual, resolviendo el problema de ambigüedad de escala y mejorando la precisión. Se implementó ejecución en tiempo real en el dron DJI Tello, demostrando navegación autónoma robusta y capacidades de evitación de obstáculos en el conjunto de datos TUM RGBD.
Problema del Mapeo Disperso: Los sistemas SLAM tradicionales basados en puntos característicos (como ORB-SLAM), aunque estiman efectivamente la postura, generan mapas de nubes de puntos 3D excesivamente dispersos, careciendo de riqueza estructural e inadecuados para tareas que requieren comprensión 3D densa.
Limitaciones de Recursos Computacionales: Los métodos SLAM densos impulsados por aprendizaje existentes (como NeRF, NICE-SLAM) requieren computación intensiva, siendo difícil ejecutarlos en tiempo real en plataformas embebidas con recursos limitados.
Ambigüedad de Escala: La incertidumbre de escala inherente al SLAM monocular afecta la precisión de localización.
Costo de Optimización Global: El SLAM tradicional depende de detección de cierre de bucle y ajuste de haz global, con alto costo computacional.
La navegación autónoma de micro drones requiere capacidades de percepción 3D precisas y en tiempo real para navegación, evitación de obstáculos e interacción ambiental. Lograr esto en plataformas embebidas con recursos limitados es un desafío central en robótica.
ORB-SLAM: Genera únicamente puntos 3D dispersos, careciendo de detalles estructurales.
Edge SLAM: Aunque genera mapas semi-densos, depende de optimización global con alto costo computacional, e introduce ruido mediante seguimiento basado en flujo óptico.
DeepTAM/D3VO: Los métodos de aprendizaje profundo tienen gran cantidad de parámetros y alta complejidad computacional, inadecuados para dispositivos de bajo consumo.
NeRF/NICE-SLAM: Requieren GPU de gama alta, asumen escenas estáticas y carecen de capacidad de tiempo real.
Desarrollar un sistema SLAM ligero y en tiempo real capaz de generar mapas semi-densos en plataformas con recursos limitados, manteniendo simultáneamente estimación de postura de alta precisión.
Tubería SLAM Ligera: Integra geometría epipolar dispersa con predicción de profundidad densa y extracción de bordes, realizando construcción de mapas semi-densos anclados en bordes.
Pérdida de Consistencia de Ciclo de Bordes: Propone restricción de consistencia de proyección de bordes multivista sin requerir coincidencia explícita de bordes 2D-2D.
Restricción Estructural Consciente de Forma: Regularización geométrica basada en estructuras en forma de L, mejorando consistencia estructural en entornos interiores.
Optimización Geométrica Local: Ajuste de haz multiobjetivo que optimiza conjuntamente postura de cámara, puntos clave y segmentos de borde, sin requerir cierre de bucle global o fusión de vóxeles densa.
Fusión Visual-Inercial: Utiliza filtro de Kalman extendido para fusionar datos inerciales resolviendo el problema de ambigüedad de escala.
Detección de Puntos Clave ORB: Extrae puntos característicos ORB y descriptores.
Detección de Bordes Canny: Detecta bordes en la imagen.
Predicción de Profundidad: Utiliza CNN FastDepth preentrenado (arquitectura basada en MobileNet-NNConv5) para predecir mapa de profundidad denso.
Coincidencia de Características: Utiliza distancia de Hamming para coincidir descriptores ORB, acelerando búsqueda de vecinos más cercanos mediante árbol KD.
Estima matriz esencial E a partir de características ORB coincidentes mediante geometría epipolar:
u_j^T E_ij u_i = 0
Utiliza RANSAC para eliminar valores atípicos, descomposición SVD para recuperar rotación relativa R_ij y traslación t_ij.
Fusión con Filtro de Kalman Extendido:
Vector de estado:
x = [p, α]^T = [x, y, z, φ, θ, ψ]^T
donde p es la posición global y α son los ángulos de Euler (alabeo, cabeceo, guiñada).
Paso de predicción:
p_{k|k-1} = p_{k-1} + R_imu(α_{k-1}) · v_imu · Δt
Ruido de Proceso Adaptativo:
Q_k = β · (1 - b_k + λτ) · I_6
donde b_k es el nivel de batería, τ es el tiempo desde la última actualización monocular, considerando la degradación de precisión del SDK con la disminución de batería y el paso del tiempo.
Actualización de medición:
Observación 1: Ángulos de Euler del SDK z_api = α_api
Observación 2: Estimación de postura global de odometría visual (mediante acumulación de postura relativa)
Pérdida de Consistencia de Ciclo (puntos de borde densos):
Implementa verificación de transformación de ciclo cerrado validando consistencia de puntos de borde:
Algoritmo de Optimización: Utiliza algoritmo de Levenberg-Marquardt para resolver problemas de mínimos cuadrados no lineales, equilibrando Gauss-Newton y descenso de gradiente.
Mapeo Semi-Denso Consciente de Bordes: Combina puntos clave dispersos y bordes densos, logrando equilibrio entre eficiencia computacional y detalle de mapa.
Sin Coincidencia Explícita de Bordes: Evita búsqueda compleja de correspondencia de bordes mediante pérdida de consistencia de ciclo.
Regularización Consciente de Estructura: Aprovecha priors geométricos en forma de L del entorno interior mejorando calidad de reconstrucción.
Estrategia de Optimización Local: Evita detección de cierre de bucle global, reduciendo complejidad computacional.
Fusión de Sensores Adaptativa: Modelado de ruido de proceso considerando nivel de batería y tiempo.
Suposiciones Ambientales: Restricción de estructura en forma de L principalmente aplicable a entornos interiores artificiales, puede no ser adecuada en escenas naturales.
Dependencia de Profundidad: Depende del modelo FastDepth preentrenado, desempeño puede degradarse en escenas fuera del dominio de entrenamiento.
Escenas Dinámicas: Artículo no discute explícitamente manejo de objetos dinámicos.
Ajuste de Parámetros: Múltiples parámetros de peso (λ_reproj, λ_cycle, λ_shape) requieren ajuste manual.
Desviación a Largo Plazo: Aunque consistencia local es buena, falta de cierre de bucle global puede acumular errores en secuencias muy largas.
Análisis Cuantitativo Insuficiente: Solo comparación con ORB-SLAM2, falta comparación con otros métodos modernos.
FastDepth (Wofk et al., ICRA 2019): Red de estimación de profundidad ligera
TUM RGB-D (Sturm et al., 2012): Conjunto de datos estándar de evaluación SLAM
Ajuste de Haz (Triggs et al., 1999): Técnica de optimización clásica
Geometría Epipolar (Zhang, 1998): Teoría fundamental de geometría epipolar
Filtro de Kalman Extendido: Método estándar de fusión de sensores
Edge SLAM (Maity et al., ICCV 2017): Trabajo pionero en SLAM de bordes
NeRF/NICE-SLAM: Métodos de aprendizaje para reconstrucción densa
Evaluación General: Este es un trabajo SLAM de tipo aplicación práctica dirigido a plataformas con recursos limitados, con línea técnica razonable y resultados experimentales convincentes. Las contribuciones principales radican en ingeniería de sistemas e integración de métodos, más que en avance de algoritmo único. La mejora de precisión del 74.7% y aceleración de 100 veces tienen valor práctico significativo. Sin embargo, el artículo tiene espacio para mejora en comparación experimental, análisis de ablación y profundidad teórica. Adecuado para publicación en conferencias o revistas de aplicaciones robóticas.