Conocimiento Bóveda 5 /35 - CVPR 2018
CodeSLAM — Aprendiendo una Representación Compacta y Optimizable para SLAM Visual Denso
Michael Bloesch, Jan Czarnowski, Ronald Clark, Stefan Leutenegger, Andrew J. Davison.
< Imagen del Resumen >

Gráfico de Conceptos & Resumen usando Claude 3 Opus | Chat GPT4o | Llama 3:

graph LR classDef codeslam fill:#f9d4d4, font-weight:bold, font-size:14px classDef representations fill:#d4f9d4, font-weight:bold, font-size:14px classDef training fill:#d4d4f9, font-weight:bold, font-size:14px classDef autoencoder fill:#f9f9d4, font-weight:bold, font-size:14px classDef keyframe fill:#f9d4f9, font-weight:bold, font-size:14px classDef testing fill:#d4f9f9, font-weight:bold, font-size:14px classDef future fill:#f9d9d4, font-weight:bold, font-size:14px A["CodeSLAM — Aprendiendo
una Representación Compacta
y Optimizable para SLAM
Visual Denso"] --> B["CodeSLAM: Sistema de
aprendizaje profundo
SLAM 1"] A --> C["Representaciones SLAM
escasas vs densas 2"] A --> D["Mapas de profundidad:
Subespacio, correlación estructural 3"] A --> E["Autoencoder: Codifica
mapas de profundidad 4"] A --> F["Predicción de profundidad:
La red modula 5"] A --> G["Entrenamiento: Conjunto de datos CNET,
de extremo a extremo 6"] G --> H["Tamaño del código:
128 dimensiones 7"] G --> I["Decodificador lineal,
imágenes en escala de grises 8"] E --> J["Incertidumbre predicha:
Discontinuidades de profundidad 9"] E --> K["Decodificación lineal:
Función de profundidad 10"] E --> L["Jacobiano: Derivada
constante 11"] E --> M["Perturbaciones
suaves del código 12"] B --> N["SLAM basado en fotogramas clave:
Pose, variables de código 13"] N --> O["Ajuste de paquete denso:
Error fotométrico 14"] N --> P["Optimización conjunta:
Pose, códigos 15"] N --> Q["Resultados de optimización:
Reconstrucciones logradas 16"] N --> R["Velocidad: 10 Hz
iteraciones 17"] B --> S["Pruebas en el mundo real:
Conjunto de datos de Nueva York 18"] B --> T["Odometría visual:
Conjunto de datos NYU 19"] T --> U["Sistema simple:
Una optimización 20"] T --> V["Sin código previo:
Robustez 21"] B --> W["Futuro: Datos reales,
auto-supervisión 22"] B --> X["Mejoras en la red:
Arquitectura, estructura 23"] B --> Y["Demostración: Sistema
en vivo preliminar 24"] B --> Z["Generalización: Predicción
sin código, optimización 25"] class A,B,Y codeslam class C,D representations class E,F,J,K,L,M autoencoder class G,H,I training class N,O,P,Q,R keyframe class S,T,U,V testing class W,X,Z future

Resumen:

1.- CodeSLAM: Un sistema de aprendizaje profundo y SLAM (Localización y Mapeo Simultáneo) usando representaciones de mapas de profundidad.

2.- Representaciones SLAM escasas vs. densas: Los métodos escasos usan puntos clave; los métodos densos usan nubes de puntos, TSDFs, cuadrículas de vóxeles o mallas.

3.- Los mapas de profundidad viven en un subespacio de todos los valores de píxeles posibles y tienen correlación estructural con las imágenes.

4.- Red autoencoder: Codifica mapas de profundidad usando características de imagen para mejorar la reconstrucción y la incertidumbre de salida.

5.- Profundidad de predicción monocular: La red puede modular las predicciones de profundidad usando el código.

6.- Entrenamiento: Se utilizó el conjunto de datos CNET, pérdida Laplaciana, optimizador Adam, y se entrenó de extremo a extremo desde cero.

7.- Tamaño del código: Retornos decrecientes con el aumento de tamaño; se estableció en 128 dimensiones.

8.- Decodificador lineal e imágenes en escala de grises: No hay ganancia al usar decodificadores RGB o no lineales.

9.- Incertidumbre predicha: Resalta las discontinuidades de profundidad en el mapa de profundidad.

10.- Decodificación lineal: La profundidad es una función del código y la imagen, dividida en predicción de código cero y término de código lineal.

11.- Jacobiano: La derivada de la profundidad con respecto al código es constante para una imagen dada.

12.- Perturbaciones suaves del código espacialmente: Perturbar una sola entrada de código resulta en cambios de profundidad suaves.

13.- SLAM basado en fotogramas clave: El sistema usa variables de pose y código para cada fotograma clave.

14.- Ajuste de paquete denso: Empareja fotogramas clave, deforma imágenes usando profundidad y pose relativa, y minimiza el error fotométrico.

15.- Optimización conjunta de pose y códigos: Un enfoque novedoso en SLAM denso.

16.- Resultados de optimización: El error fotométrico disminuye, y se logran buenas reconstrucciones en el conjunto de datos CNET.

17.- Velocidad: Iteraciones a 10 Hz, impulsadas por el pre-cálculo de Jacobianos debido al decodificador lineal.

18.- Pruebas en el mundo real: Aplicado en el conjunto de datos de Nueva York, optimizando conjuntamente 10 fotogramas.

19.- Sistema de odometría visual: Probado en el conjunto de datos NYU con una ventana deslizante de 5 fotogramas clave.

20.- Sistema simple: Solo un problema de optimización, sin arranque especial.

21.- Sin código previo: Proporciona robustez, manejando movimiento solo rotacional sin línea de base.

22.- Direcciones futuras: Entrenamiento en datos reales usando costos auto-supervisados, acoplamiento más cercano con la optimización.

23.- Mejoras en la red: Explorando diferentes arquitecturas e imponiendo más estructura.

24.- Demostración: El coautor Jan demostró un sistema en vivo preliminar.

25.- Generalización: La predicción sin código empeora en conjuntos de datos disímiles; la optimización permite la adaptación a diferentes escenas.

Bóveda del Conocimiento construida porDavid Vivancos 2024