Contents — find the section you need

Si se camina con una cámara en la mano, en la secuencia de imágenes la esquina de una pared o un letrero se desplaza ligeramente. Un acelerómetro y un giroscopio miden, a alta frecuencia, la aceleración y la rotación del dispositivo en ese mismo intervalo. La odometría visual (VO) estima la pose, la velocidad y la posición relativas hasta el momento a partir de la primera; la odometría visual-inercial (VIO) las estima a partir de ambas. Es una tecnología fundamental para drones que vuelan en interiores, gafas de realidad aumentada/virtual, escáneres 3D portátiles y robots móviles.

A veces, VO/VIO se consideran sinónimos de SLAM, pero sus funciones difieren ligeramente. La odometría es una etapa inicial que produce una trayectoria relativa suave y a corto plazo, cuyo error, en principio, se acumula. SLAM utiliza un mapa, reconocimiento de lugares y cierre de bucle para corregir globalmente ese error acumulado. Este artículo se centra menos en la visión general del mapeo y más en cómo se integra el movimiento fotograma a fotograma, cómo se incorpora la IMU y cuándo se debe desconfiar de la estimación.

Cámara Mobileye montada en el parabrisas de un vehículoEjemplo de cámara para vehículo
IMU integrada GNSS/INS Xsens MTi-GEjemplo de IMU GNSS/INS

Imágenes: Car cámara de ventana del sistema Mobileye (Ranbar, CC BY-SA 4.0) / Xsens MTi-G (Kallap85, CC BY-SA 4.0), Wikimedia Sensores representativos, no una combinación de producto VO/VIO obligatoria.

0. Resumen de 30 segundos

  • VO estima secuencialmente el movimiento de la cámara a partir de correspondencias de imágenes o de cambios en la apariencia de los píxeles. VO monocular no puede observar la escala absoluta de traslación, y el error se acumula con el tiempo. La imagen estéreo, RGB-D, el tamaño conocido del objeto, la detección inercial y las ruedas proporcionan la escala.

  • VIO fusiona las observaciones de baja frecuencia y resistentes a la deriva de la cámara con las observaciones de alta frecuencia de la IMU, que son precisas en intervalos cortos, pero presentan deriva debido al sesgo. El giroscopio proporciona la rotación; el acelerómetro complementa la información que distingue la gravedad de la aceleración.

  • La preintegración de la IMU comprime las numerosas muestras de la IMU entre fotogramas clave de la imagen en una única restricción relinealizable al sesgo. Esto es lo que hace que la optimización de ventana deslizante sea computacionalmente viable.

  • La inicialización es la parte más difícil. Sin suficiente paralaje, excitación que incluya rotación, estimación de sesgo en reposo, sincronización temporal cámara-IMU y calibración extrínseca, no es posible separar la escala, la gravedad, la velocidad y el sesgo.

  • La evaluación debe informar no solo el error medio, sino también el ATE/RPE, la deriva por intervalo, la tasa de fallos, la latencia, el uso de CPU/GPU y si la trayectoria utilizó alguna relocalización. La baja textura, los objetos dinámicos, el desenfoque por movimiento, el efecto rolling shutter, los choques y el desfase de sincronización son las condiciones de fallo clásicas.

1. Qué estima VO y qué no

Escriba la pose del sistema de coordenadas de la cámara o IMU B con respecto al sistema de coordenadas del mundo W en el instante k como posición \mathbf{p}_{WB,k} y rotación R_{WB,k}. La salida principal de VO es la transformación relativa entre fotogramas adyacentes o fotogramas clave.

T_{C_kC_{k+1}}= \begin{bmatrix}R_{C_kC_{k+1}}&\mathbf{t}_{C_kC_{k+1}}\\\mathbf{0}^\mathsf{T}&1\end{bmatrix}\in SE(3)

En los métodos de seguimiento de características, la Matriz Esencial se estima a partir de puntos correspondientes mediante RANSAC, y a partir de ella se recuperan la dirección de rotación y traslación. En los métodos estéreo/RGB-D/basados en mapas que ya disponen de puntos 3D, se utiliza PnP en las correspondencias 2D-3D. En VO Directo, en lugar de hacer coincidir descriptores explícitos, la pose se optimiza para que los valores de píxel corregidos por exposición coincidan en su ubicación proyectada.

Sea cual sea el método utilizado, VO es una forma de navegación a estima que integra "cuánto me he movido desde el último fotograma". Sin un mapa externo o un cierre de bucle, incluso un pequeño error en la pose relativa nunca desaparece. El error de posición generalmente aumenta con el tiempo y la distancia recorrida, e incluso si se camina de un lado a otro por un pasillo largo y se regresa al punto de partida, la trayectoria no se cerrará. Esto no es solo un fallo de implementación, sino una propiedad de un problema que acumula observaciones locales de forma secuencial.

Diagram 1 · Use the button to switch views
Fusing camera and IMU in VIOThe camera supplies low-frequency visual constraints, the IMU supplies high-frequency motion constraints, and sliding-window optimization estimates the state trajectory. CameraImages, features, direct method IMUAngular velocity, acceleration (high-frequency) Preintegration + visual residualSliding windowoptimization / filter State estimatePose, position, velocityGravity, bias, scale Calibration, time sync, extrinsics

El problema de la escala monocular

Una correspondencia monocular calibrada de dos vistas restringe E=[\mathbf{t}]_\times R, pero no determina la longitud de \mathbf{t}. Esto se debe a que escalar cada punto 3D y la traslación mediante s>0 no modifica las proyecciones de la imagen. Una pose monocular de VO puede parecer precisa, aunque la unidad de posición sea arbitraria; y si la escala fluctúa entre fotogramas, incluso la forma de la trayectoria se distorsiona.

Con un sistema estéreo de línea base conocida B, la profundidad se puede recuperar a partir de la disparidad d como Z=fB/d. RGB-D proporciona a la profundidad del sensor una escala fija. En VIO, dado que la aceleración se mide en unidades de m/s² y la magnitud de la gravedad es prácticamente conocida, una excitación de movimiento suficiente permite alinear la escala arbitraria del sistema visual con la escala física. Sin embargo, simplemente conectar una IMU no genera automáticamente una escala: en reposo, al moverse a velocidad constante, en intervalos demasiado cortos o con un desfase temporal incorrecto, la escala y el sesgo se confunden.

2. Cámara Observaciones: Métodos basados en características y métodos directos

La VO basada en características utiliza correspondencias rastreadas con ORB, SIFT, FAST+KLT y métodos similares. Para una nueva observación 2D de fotograma \mathbf{z}_{ij} y un punto de referencia \mathbf{P}_j, el residuo de proyección es:

\mathbf{r}_{C,ij}=\mathbf{z}_{ij}-\pi\left(K\,T_{CW,i}\mathbf{P}_j\right)

donde \pi([X,Y,Z]^\mathsf{T})=(X/Z,Y/Z)^\mathsf{T} es la división de perspectiva. RANSAC elimina las discrepancias, y una pérdida de Huber o similar evita que los valores atípicos restantes tengan un peso excesivo. Los métodos basados en características son relativamente robustos a los cambios de exposición y son más fáciles de visualizar y depurar geométricamente.

Los métodos directos minimizan el residuo de brillo de los píxeles correspondientes o pequeños parches. Con los parámetros de exposición a_i,b_i, el residuo en un punto \mathbf{u} se puede escribir aproximadamente como:

r_I=I_j\left(\pi(T_{C_jW}T_{WC_i}\pi^{-1}(\mathbf{u},d))\right)-e^{a_j-a_i}I_i(\mathbf{u})-(b_j-e^{a_j-a_i}b_i)

Esto puede aprovechar muchos píxeles texturizados, pero es sensible a la Suposición de constancia de brillo, obturador rodante, desenfoque, autoexposición y reflejos. Los métodos semidirectos adoptan un punto intermedio: píxeles para el seguimiento grueso, características para la etapa posterior.

Método Observación primaria Ventajas Condiciones débiles Ejemplos representativos
Observación visual basada en características Reproyección de puntos clave Fácil de explicar, relativamente robusta a los cambios de iluminación Baja textura, características repetitivas Familia ORB-SLAM, VINS-Mono
Directo/Semidirecto Brillo de píxeles/parches Información densa, seguimiento subpíxel Cambio de exposición, desenfoque, reflejo DSO, SVO
Observación visual monocular Imagen + IMU Ligero, la escala se vuelve observable Sensible a la inicialización/sincronización VINS-Mono, OpenVINS
Observación visual estéreo Imagen izquierda/derecha + IMU Escala inmediata, inicialización estable Consumo de energía, sincronización/calibración izquierda-derecha VINS-Fusion, Basalto

3. Qué mide la IMU y por qué no se puede integrar directamente

Una IMU proporciona la velocidad angular del giroscopio (\tilde{\boldsymbol\omega}) y la fuerza específica del acelerómetro (\tilde{\mathbf{a}}). Estos valores no son ideales, ya que incluyen el sesgo (\mathbf{b}_g,\mathbf{b}_a) y el ruido blanco (\mathbf{n}_g,\mathbf{n}_a).

\tilde{\boldsymbol\omega}=\boldsymbol\omega+\mathbf{b}_g+\mathbf{n}_g, \qquad \tilde{\mathbf{a}}=R_{BW}(\ddot{\mathbf{p}}_{WB}-\mathbf{g})+\mathbf{b}_a+\mathbf{n}_a

Lo importante aquí es que el acelerómetro no mide la aceleración global directamente, sino la fuerza específica, con la gravedad ya restada. Sin conocer la orientación, no se sabe en qué dirección añadir la gravedad, y la doble integración, incluso de un pequeño sesgo, provoca una rápida deriva de la posición. Las ecuaciones de movimiento en tiempo continuo son:

\dot R_{WB}=R_{WB}[\tilde{\boldsymbol\omega}-\mathbf{b}_g-\mathbf{n}_g]_\times, \quad \dot{\mathbf{v}}_{WB}=\mathbf{g}+R_{WB}(\tilde{\mathbf{a}}-\mathbf{b}_a-\mathbf{n}_a), \quad \dot{\mathbf{p}}_{WB}=\mathbf{v}_{WB}

Si solo se observa el error tras un segundo, una IMU parece funcionar correctamente, pero tras minutos de navegación sin asistencia, el sesgo y el error de orientación se vuelven muy imprecisos. Corrompe la posición. La esencia de VIO radica en que las imágenes corrigen la deriva a largo plazo de la IMU, mientras que la IMU cubre los intervalos cortos de movimiento y rotación donde las imágenes son escasas.

4. Preintegración de la IMU: Compresión del movimiento entre fotogramas clave

Una configuración típica utiliza la cámara a 20-60 Hz y la IMU a 100-1000 Hz. Entre los fotogramas clave i y j puede haber decenas o cientos de mediciones de la IMU. Reintegrar cada muestra cada vez que el optimizador ajusta la pose o el sesgo sería costoso. La preintegración de la IMU de Forster et al. precalcula la rotación relativa, el cambio de velocidad y el cambio de posición alrededor de un sesgo de punto de linealización dado, y también conserva los jacobianos y la covarianza.

Escribiendo las cantidades sin la gravedad ni la velocidad global como \Delta R_{ij},\Delta\mathbf{v}_{ij},\Delta\mathbf{p}_{ij}, la predicción es aproximadamente:

R_j\simeq R_i\Delta R_{ij},\quad \mathbf{v}_j\simeq\mathbf{v}_i+\mathbf{g}\Delta t_{ij}+R_i\Delta\mathbf{v}_{ij},
\mathbf{p}_j\simeq\mathbf{p}_i+\mathbf{v}_i\Delta t_{ij}+\frac12\mathbf{g}\Delta t_{ij}^2+R_i\Delta\mathbf{p}_{ij}

Cuando se actualiza el sesgo, se aplica una corrección de primer orden utilizando el \partial\Delta/\partial\mathbf{b} almacenado, y la reintegración completa solo ocurre cuando el cambio es grande. La rotación no se suma como un vector simple, sino que se compone en la variedad SO(3) mediante el mapa exponencial o con cuaterniones. El uso de una covarianza \Sigma_{ij} permite ponderar correctamente un IMU ruidoso y un residuo de cámara preciso dentro de la misma función objetivo.

La función objetivo representativa para VIO de ventana deslizante es:

\min_{\mathcal X}\sum_{(i,j)\in\mathcal{B}}\left\|\mathbf{r}_{I,ij}\right\|^2_{\Sigma_{ij}^{-1}} +\sum_{(i,l)\in\mathcal C}\rho\left(\left\|\mathbf{r}_{C,il}\right\|^2_{\Sigma_{C}^{-1}}\right) +\left\|\mathbf{r}_{\text{prior}}\right\|^2

El conjunto de estados \mathcal X incluye, para cada fotograma clave, la pose, la posición, la velocidad, los sesgos del giroscopio/acelerómetro, la profundidad inversa de los puntos de referencia y, cuando sea necesario, el desfase temporal o los parámetros extrínsecos. Los estados antiguos se marginalizan en una distribución a priori, manteniendo el coste computacional acotado. La marginalización depende del punto de linealización; actualizar repetidamente el estado en grandes cantidades tiende a romper la consistencia. Técnicas como el Jacobiano de Primera Estimación (FEJ) no solo optimizan la velocidad, sino que también evitan que el sistema "observe" erróneamente grados de libertad que en realidad son inobservables.

5. Basado en filtros vs. Basado en optimización

VIO se divide, a grandes rasgos, en familias de filtros de Kalman extendidos (EKF) de estado de error y familias de optimización no lineal de longitud fija. Las primeras actualizan secuencialmente el estado actual y la covarianza, y tienden a minimizar la latencia y el consumo de memoria. MSCKF no mantiene los puntos característicos como un estado de larga duración; en su lugar, los marginaliza como restricciones multivista, lo que lo hace ligero. OpenVINS implementa esta familia con énfasis en la reproducibilidad y la extensibilidad.

Las segundas optimizan conjuntamente múltiples fotogramas clave y puntos de referencia. VINS-Mono es un ejemplo representativo que incluye seguimiento de características, preintegración de IMU, una ventana deslizante y un bucle. Cierre. Distribuir el error de reproyección entre múltiples fotogramas suele ofrecer una ventaja en precisión, pero la marginalización, el solucionador, la latencia y la recuperación ante una inicialización fallida deben diseñarse cuidadosamente.

Aspecto Familia EKF/MSCKF Familia de optimización de ventana deslizante
Forma de estimación Actualización secuencial del estado y la covarianza Minimización iterativa de un grafo factorial en múltiples pasos de tiempo
Cálculo/latencia Predecible, fácil de mantener con baja latencia Depende del número de fotogramas clave e iteraciones
Manejo de características Fácil de marginalizar como restricciones de observación Fácil de mantener la profundidad inversa, etc., como estado explícito
Ventajas Bueno para sistemas embebidos, fácil manejo de la covarianza Más fácil de mantener la reproyección consistente en general
Advertencias Linealización y consistencia, observabilidad Error de marginalización, carga de CPU, relinealización

Ninguno es universalmente mejor. Elija según sus necesidades. Latencia, frecuencia del sensor, presupuesto de CPU, campo de visión, entorno operativo y capacidad de mantenimiento. Comparar únicamente el error de trayectoria reportado en un artículo, ignorando el modelo de cámara, la calibración, el movimiento del conjunto de datos y si se utilizó la relocalización, es una buena manera de elegir una implementación incorrecta.

6. Inicialización: ¿Qué se debe determinar en los primeros segundos?

En el momento en que se inicia VIO, la orientación del mundo, la velocidad inicial, el sesgo del giroscopio, el sesgo del acelerómetro, la gravedad, la escala monocular y la pose relativa cámara-IMU son indeterminados. El flujo típico consiste en construir una estructura relativa de dos o múltiples vistas a partir únicamente de las imágenes, y luego alinear ese movimiento visual con la integración de la IMU para calcular la velocidad, la dirección de la gravedad, la escala y el sesgo.

Un intervalo estacionario proporciona una estimación inicial del sesgo del giroscopio a partir de la lectura promedio del giroscopio y una indicación de la dirección de la gravedad a partir de la dirección promedio de la aceleración. Sin embargo, un acelerómetro no puede distinguir la aceleración lineal propia de un vehículo de la gravedad. Incluyendo la "excitación". Durante la inicialización, rotar y trasladar el dispositivo a lo largo de múltiples ejes, en lugar de simplemente moverlo lentamente hacia adelante y hacia atrás, ayuda a desentrañar la correlación entre escala y sesgo. Por el contrario, comenzar con el dispositivo casi inmóvil sobre un escritorio, moviéndolo a velocidad constante en una dirección o observando solo un plano, tiende a dejar el sistema subobservado.

Evaluar el éxito de la inicialización no se limita a la convergencia del optimizador. Verifique que la escala estimada sea positiva y razonable, que la magnitud de la gravedad sea cercana a 9.81\,\mathrm{m/s^2}, que el sesgo no esté muy fuera de las especificaciones del sensor y que los puntos triangulados iniciales tengan suficiente paralaje y una alta fracción de profundidad positiva. En lugar de arrastrar un estado antiguo erróneo tras un fallo, restablecer las pistas de imagen y el búfer de la IMU y reinicializar suele ser menos perjudicial a largo plazo.

7. Calibración y sincronización horaria

El rendimiento de VIO depende menos del nombre del algoritmo que de la precisión del modelo del sensor. Se necesitan al menos tres calibraciones.

  • Calibración intrínseca de la cámara: distancia focal, punto principal, modelo de distorsión. Si se cambia el tamaño o se recorta la imagen, K también debe modificarse.

  • Calibración extrínseca: la transformación rígida T_{BC} entre la cámara y la IMU. Un error de rotación de unos pocos grados, o un error de brazo de palanca de unos pocos centímetros, tiene un gran impacto en movimientos rápidos.

  • Calibración temporal: la diferencia entre el tiempo de exposición de la imagen y el tiempo de la IMU, y, si es necesario, el tiempo de lectura de la cámara. Los relojes independientes, el almacenamiento en búfer y las marcas de tiempo del controlador pueden generar una diferencia residual de varios milisegundos.

Kalibr es una herramienta muy utilizada para estimar la diferencia temporal y los parámetros extrínsecos entre la cámara y la IMU. Sin embargo, tratar un valor obtenido una sola vez como permanente es arriesgado: un cambio de enfoque, el reensamblaje de la carcasa, la temperatura o la gestión del tiempo del firmware en el sensor pueden alterar estas condiciones. En lugar de simplemente copiar valores típicos de una hoja de datos, es recomendable comprobar la densidad de ruido de la IMU y la desviación aleatoria del sesgo con una herramienta como Allan. La varianza ayuda a evitar confiar excesivamente en el filtro.

Una cámara con obturador rodante no captura un solo fotograma en un instante. Con una rotación rápida, las filas superior e inferior se observan en diferentes posiciones, y un residuo de reproyección que asume un obturador global estará sistemáticamente desfasado. Una exposición corta con un obturador global es la solución más fiable; de lo contrario, considere un modelo de observación que incluya la sincronización de filas, junto con la compensación de la IMU. Al añadir cámaras izquierda/derecha o un sensor de profundidad, es preferible la sincronización activada por hardware.

8. Elección de una implementación: VINS-Mono, OpenVINS y sistemas relacionados

VINS-Mono es una implementación VIO basada en optimización, ampliamente referenciada, para una cámara monocular más una IMU. Incluye calibración extrínseca y de desfase temporal en línea, seguimiento de características, preintegración, una ventana deslizante y cierre de bucle. Su valor no reside solo en la salida de una pose, sino en que toda la configuración es legible para fines de investigación. VINS-Fusion es una opción cuando se desea combinar imágenes estéreo o GPS.

OpenVINS es una implementación abierta centrada en la familia MSCKF/EKF, diseñada con FEJ y consistencia explícita. Es ideal para situaciones donde se desea verificar cómo un VIO basado en filtros maneja el estado, la covarianza y la calibración. Basalt proporciona VIO estéreo con un backend de optimización de alto rendimiento y se prueba con conjuntos de datos como EuRoC. En teléfonos inteligentes y realidad aumentada, usar el VIO integrado de la plataforma suele ser más realista para una aplicación, ya que tiene acceso a la temporización de la cámara, la temporización de la IMU y la calibración específica del dispositivo.

Implementación/familia Estilo de estimación Ejemplo de configuración del sensor Adecuado para Aspectos a verificar al adoptarlo
VINS-Mono Optimización, ventana fija Monocular + IMU Aprendizaje de la estructura general de VIO, prototipado de investigación Generación de ROS, formato de calibración, condiciones de inicialización
VINS-Fusion Optimización, ventana fija Monocular/estéreo + IMU, GPS opcional Prototipado multisensor Marcos de coordenadas y ponderación de observaciones absolutas
OpenVINS EKF/MSCKF Monocular/estéreo + IMU Aprendizaje integrado, verificación de filtros Valores de ruido, FEJ, diseño de estados
Basalt Optimización Estéreo + IMU Backend VIO de alto rendimiento Entorno de compilación, modelo de cámara
OpenCV personalizado + Ceres Arbitrario Arbitrario Trabajo específico para requisitos, aprendizaje Verificación de reproyección, preintegración, marginalización

Al comparar implementaciones existentes, no considere un éxito que una trayectoria aparezca en una demostración. Verifique en hardware real: la resolución y la frecuencia real de la imagen de entrada, las unidades y la convención de ejes de la IMU, la referencia temporal, la calibración extrínseca, el comportamiento ante fallos de inicialización, la relocalización tras la pérdida de seguimiento, el uso de la CPU, la memoria y la licencia. En particular, si la marca de tiempo de un mensaje ROS se rellena con "hora de recepción", el estimador recibe Un orden que parece correcto, pero con intervalos de tiempo físicamente erróneos.

9. Un flujo de procesamiento mínimo

  1. Calibrar los parámetros intrínsecos/extrínsecos de la cámara y el tiempo, y almacenar en búfer las imágenes y los datos de la IMU en una base de tiempo común.

  2. Con cada llegada de la IMU, predecir el estado utilizando la velocidad angular corregida por sesgo y la fuerza específica, y actualizar la covarianza o la preintegración.

  3. Con cada llegada de imagen, rastrear las características del fotograma/fotograma clave anterior y eliminar los valores atípicos mediante comprobaciones hacia adelante y hacia atrás, RANSAC y máscaras.

  4. Antes de la inicialización, evaluar la paralaje y la excitación, y alinear la estructura visual con los datos inerciales. Retrasar el inicio si las condiciones son desfavorables.

  5. Después de la inicialización, fusionar el residuo de reproyección visual con el residuo de la IMU, actualizando la pose, la posición, la velocidad, el sesgo y los puntos.

  6. Marginalizar los fotogramas clave antiguos y descartar las observaciones que no superen una prueba de calidad. Transicionar a la relocalización o a un reinicio seguro si es necesario.

En este flujo, la distinción entre predicción y Corrección de problemas. Incluso si las imágenes se pierden temporalmente, la predicción de la IMU puede seguir generando resultados, pero su incertidumbre aumenta. En lugar de una respuesta binaria de "pose disponible/no disponible", la aplicación debería recibir el estado de seguimiento, una puntuación de covarianza o calidad y el tiempo transcurrido desde la última actualización visual, y utilizarlos para alternar progresivamente la visualización de RA, controlar la velocidad y activar los topes de seguridad.

10. Métricas de evaluación: Qué medir para una comparación justa

El error absoluto de trayectoria (ATE) es la diferencia entre la secuencia de posición estimada y la posición real tras alinearlas con una transformación rígida o Sim(3).

\mathrm{ATE}_{\mathrm{RMSE}}=\sqrt{\frac1N\sum_{k=1}^{N}\left\|\mathbf{p}^{\mathrm{gt}}_k-(R\hat{\mathbf{p}}_k+\mathbf{t})\right\|^2}

Dado que la visión monocular tiene una escala indeterminada, siempre se debe indicar si la alineación Sim(3) también coincide con la escala. Si se desea visualizar el error de escala en visión o estéreo, la alineación Sim(3) lo ocultará. La elección entre utilizar una alineación SE(3), alinear solo la pose inicial o comparar trayectorias sin alinear debe basarse en el propósito.

Error de pose relativo El error relativo de traslación (RPE) mide la deriva local en un intervalo fijo de tiempo o distancia (\Delta). A partir de la diferencia entre la transformación relativa estimada (\hat T_{k,k+\Delta}) y la verdad fundamental (T^{\mathrm{gt}}_{k,k+\Delta}),

E_k=(T^{\mathrm{gt}}_{k,k+\Delta})^{-1}\hat T_{k,k+\Delta}

se calculan el error de traslación (m/m o %) y el error de rotación (grados/m, grados/s). Incluso si el error de traslación promedio (ATE) es pequeño a larga distancia, una trayectoria no es adecuada para realidad aumentada o control de vuelo si la fluctuación a corto plazo es grande. Por el contrario, una trayectoria suave pero con deriva a larga distancia no es favorable para el mapeo.

Métrica Información principal Posible problema
RMSE/mediana del ATE Consistencia posicional general de la trayectoria El valor varía mucho según el método de alineación
RPE (intervalo de distancia/tiempo) Deriva local, efecto en el control No comparable a menos que se indique la duración del intervalo

Error de rotación | Calidad del giroscopio/orientación visual | Mezclar guiñada con balanceo/cabeceo oculta la causa |

Error de escala | Escala física de VIO/estéreo monocular | No se puede evaluar después de la alineación Sim(3) |

Tasa de seguimiento/tasa de fallos | Disponibilidad en el mundo real | No ocultar la reinicialización automática tras un fallo |

Latencia/CPU/potencia | Viabilidad de una implementación integrada | No se puede evaluar solo con el procesamiento offline |

EuRoC MAV, TUM VI, UZH-FPV y KITTI son conjuntos de datos públicos que se utilizan habitualmente para comparaciones. Sin embargo, las cámaras portátiles para interiores, las configuraciones montadas en vehículos y los drones de carreras difieren en campo de visión, iluminación, velocidad, vibración y exposición. En lugar de importar una clasificación de referencia directamente al hardware real, evalúe en una ruta, velocidad y condición de fallo similares a sus propios registros. Incluso en el campo, donde no se puede capturar la verdad fundamental, puede auditar comparándolo con el intervalo inicial/final de un bucle cerrado, distancias conocidas, reproyección de pared o una sección parcial cubierta por Captura de movimiento externa.

11. Condiciones de fallo representativas y contramedidas

Textura baja, oscuridad, desenfoque

Una pared blanca, un pasillo oscuro, contraluz o un giro brusco generan un gradiente insuficiente en el residuo visual. Relajar el umbral de RANSAC cuando hay pocos puntos característicos solo aumenta las discrepancias. Las contramedidas incluyen un diseño de iluminación/sensor que acorte el tiempo de exposición, el uso de gran angular o estéreo, la detección de características nuevas y la notificación al usuario del aumento de la incertidumbre prevista.

Objetos dinámicos y reflejos

VIO asume que la mayoría de los puntos de la imagen pertenecen al fondo estático. Multitudes, un vehículo en cabeza en el tráfico, espejos, cristales y superficies de agua rompen esta suposición. La pérdida robusta y RANSAC por sí solos no pueden solucionar un caso en el que el fondo sea minoritario. Lo que se necesita es excluir la región semántica de los objetos en movimiento, separar los movimientos múltiples con profundidad o flujo, y un diseño que priorice los objetos fijos.

Saturación, vibración y deriva de temperatura de la IMU

La vibración del motor en drones y robots pequeños introduce un fuerte ruido de banda limitada en el acelerómetro, y los golpes pueden saturar su rango. Si se ajusta el ruido del filtro a un nivel demasiado bajo y se confía excesivamente en la IMU, esta rechazará las correcciones de imagen y divergirá. Utilice aislamiento de vibraciones, una limitación de banda adecuada, indicadores de saturación, un modelo de sesgo que incluya la temperatura y parámetros de ruido medidos. Tenga cuidado: suavizar en exceso la señal bruta de la IMU provoca la pérdida de aceleraciones cortas.

Desfase temporal y confusiones de sistema de coordenadas

Un desfase temporal de 5 ms corresponde a una gran diferencia en el campo de visión durante una rotación rápida. Especifique claramente si las marcas de tiempo de la imagen se refieren al inicio de la exposición, al punto medio de la exposición o al tiempo de recepción, y si las marcas de tiempo de la IMU se refieren al tiempo de muestreo o al tiempo de llegada. Mezclar las convenciones de mano derecha/izquierda, el signo de la gravedad, T_{BC} frente a T_{CB}, o la dirección del eje óptico de la cámara puede provocar que la optimización converja numéricamente, pero sea físicamente incorrecta. Prepare pruebas unitarias utilizando una prueba estática, una rotación conocida de 90 grados y un movimiento corto en línea recta.

Confundir la inicialización con la relocalización

La inicialización consiste en comenzar una estimación desde un estado sin mapa ni escala; la relocalización consiste en volver a un mapa conocido o a un fotograma clave anterior. Los sistemas VO/VIO puros suelen reiniciarse en un nuevo sistema de coordenadas local cuando se pierde el seguimiento. No confunda la capacidad de relocalización de SLAM con cierre de bucle con el rendimiento de deriva de VO al evaluar. En un producto, decida explícitamente si continuar utilizando el sistema de coordenadas anterior tras la pérdida de seguimiento, detenerse de forma segura o invalidar el ancla.

12. Direcciones recientes

En los últimos años, la estimación de características y correspondencias basada en aprendizaje, como SuperPoint, LightGlue y LoFTR, ha demostrado ser eficaz en algunos casos frente a cambios de apariencia difíciles de detectar con descriptores locales clásicos. También han surgido enfoques que combinan una red neuronal profunda con optimización geométrica iterativa, como DROID-SLAM. Sin embargo, incluso cuando un modelo aprendido devuelve muchas correspondencias, la ambigüedad de escala, la degeneración planar, la sincronización temporal y el sesgo de la IMU siguen siendo problemas físicos. Un diseño que verifique la salida aprendida frente a una geometría robusta, el error de reproyección y la consistencia inercial sigue siendo el enfoque fundamental.

Las cámaras de eventos, con su alta velocidad y amplio rango dinámico, tienen el potencial de cubrir condiciones donde una cámara convencional tiene dificultades con el desenfoque o la oscuridad. La estimación multimodal que incorpora LiDAR, UWB, GNSS u odometría de ruedas a VIO también se está volviendo práctica como contramedida para la deriva a largo plazo y los entornos adversos. Agregar más sensores no mejora automáticamente el rendimiento: los parámetros extrínsecos, la sincronización, la detección de fallos y el ajuste de ponderación se convierten en nuevas superficies de fallo potenciales.

13. Resumen

La odometría visual (VO) es una técnica útil para recuperar el movimiento relativo a corto plazo a partir de imágenes, pero la VO monocular carece de escala y el error local se acumula. La odometría visual inercial (VIO) combina la restricción de movimiento de alta frecuencia de la IMU con la corrección a largo plazo de la cámara, estimando simultáneamente la escala, la pose, la velocidad y el sesgo. Su núcleo reside en un modelo de sensor correcto, la preintegración de la IMU, la inicialización mediante una excitación de movimiento suficiente y una fusión robusta de los residuos visuales e inerciales.

En la práctica, primero verifique la calibración, la sincronización y los sistemas de coordenadas; luego, convierta la paralaje, la distribución de los puntos de referencia, el error de reproyección, el sesgo, la gravedad y el estado de seguimiento en registros observables. VINS-Mono y OpenVINS son buenos puntos de partida, pero deben evaluarse en función de las condiciones de captura, la latencia, la política de reinicialización y los requisitos de seguridad. En última instancia, lo que importa no es la apariencia de la trayectoria, sino un diseño que explique bajo qué condiciones la escala y la pose son observables, y bajo qué condiciones aumenta la incertidumbre.

Comprueba tu comprensión
¿Añadir una IMU siempre estabiliza la escala?

La observabilidad depende del movimiento.

Una excitación insuficiente o un error de calibración pueden provocar que la estimación sea inestable a pesar del sensor adicional. ## Referencias (Fuentes primarias y documentación oficial) - [Scaramuzza y Fraundorfer, Visual Odometry: Part I (IEEE Robotics & Automation Magazine, 2011)](https://doi.org/10.1109/MRA.2011.943233) - [Forster et al., On-Manifold Preintegration for Real-Time Visual-Inertial Odometry (IEEE TRO, 2017)](https://doi.org/10.1109/TRO.2016.2597321) - [Qin, Li y Shen, VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator (IEEE TRO, 2018)](https://doi.org/10.1109/TRO.2018.2853729) - [Geneva et al., OpenVINS: A Research Platform for Visual-Inertial Estimation (ICRA 2020)](https://arxiv.org/abs/1910.11675] - [Documentación oficial de OpenVINS](https://docs.openvins.com/) - [Repositorio oficial de VINS-Mono](https://github.com/HKUST-Aerial-Robotics/VINS-Mono) - [Repositorio oficial de Kalibr](https://github.com/ethz-asl/kalibr) - [Conjunto de datos EuRoC MAV (ETH Zúrich)](https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) - [Benchmark TUM VI](https://cvg.cit.tum.de/data/datasets/visual-inertial-dataset) - [Artículo DROID-SLAM (NeurIPS 2021)](https://proceedings.neurips.cc/paper_files/paper/2021/hash/a7c9585703d275249f30e7c8b80005e9-Abstract.html)

What to read next

Review the backgroundIntroducción a la estereoscopía multivista: cómo rellenar una nube de puntos dispersa para formar una figura 3D densa.Continue the seriesIntroducción al cierre de bucles: cómo corregir la deriva de un sistema SLAM de una sola vez, alrededor de un bucle.Explore another aspect of this fieldLab de brillo y luminancia — exposición, gamma y recorte