Combinar seguimiento plano y seguimiento de movimiento
Este artículo describe cómo fusionar el seguimiento de imágenes planas con el seguimiento de movimiento del dispositivo para mejorar la estabilidad y la experiencia de usuario en escenarios complejos.
Principio básico
Motion Fusion combina datos de pose del seguimiento de imágenes planas y del seguimiento de movimiento del dispositivo para lograr una estimación de pose más robusta.
Sincronización y complementariedad de datos
- Seguimiento visual: calcula la pose del frame actual (posición + rotación) mediante coincidencia de puntos característicos de la imagen, pero se ve fácilmente afectado por oclusión, desenfoque o movimiento rápido.
- Seguimiento de movimiento: usa la salida de alta frecuencia del sensor IMU y la salida de imagen visual para obtener datos de movimiento del dispositivo, pero puede presentar error de deriva acumulada.
- Motion Fusion:
- Alinea los sistemas de coordenadas de la pose de seguimiento visual y la pose de seguimiento de movimiento del dispositivo.
- Cuando la imagen objetivo es claramente visible y se mueve de forma estable, predomina el seguimiento visual; su pose se envía continuamente al módulo de fusión para reducir la deriva acumulada.
- Cuando la imagen objetivo se pierde, ocupa una parte demasiado pequeña del frame o se mueve rápidamente, el seguimiento visual falla y predomina el seguimiento de movimiento.
Puntos técnicos clave
- Alineación de timestamp: alinea los timestamps de los frames visuales con los datos de seguimiento de movimiento para evitar jitter causado por latencia.
- Alineación del sistema de coordenadas: alinea los sistemas de coordenadas según la trayectoria del seguimiento visual y la del seguimiento de movimiento.
- Relocalización: cuando la imagen vuelve a aparecer, el seguimiento visual toma el control y corrige rápidamente el error acumulado.
Escenarios aplicables y limitaciones
Motion Fusion no es adecuado para todos los escenarios. Motion Fusion no es aplicable en cualquiera de los siguientes casos:
- El dispositivo objetivo no admite funciones de seguimiento de movimiento como ARCore/ARKit. Para la lista detallada de dispositivos compatibles, consulte Compatibilidad de dispositivos de seguimiento de movimiento.
- La imagen objetivo o el objeto plano es dinámico en la escena, como una tarjeta sostenida en la mano.
En otros escenarios, Motion Fusion mejora considerablemente la experiencia del seguimiento de imágenes planas.
- Movimiento rápido: el movimiento rápido del dispositivo puede causar desenfoque de movimiento y hacer que falle el seguimiento visual.
- El objetivo desaparece: el contenido virtual de toda la escena puede seguir mostrándose aunque la vista salga del objetivo o este quede ocluido.
- Lejos del objetivo: el seguimiento sigue estable cuando la imagen objetivo ocupa una parte demasiado pequeña del frame.
- Condiciones de poca luz: el rendimiento del seguimiento visual disminuye y es necesario mantener la experiencia.
Efectos y resultados esperados
Cuando el escenario es aplicable, Motion Fusion ofrece una experiencia más estable y fluida que usar solo seguimiento de imágenes planas.
Resultado ideal
- Seguimiento más estable: los objetos virtuales no tiemblan ni saltan.
- Transición suave: cuando falla el seguimiento visual, el cambio de la pose fusionada sigue siendo continuo y natural.
- Resistencia a interferencias: cuando la imagen objetivo se pierde o se ocluye, o el dispositivo se mueve rápidamente, el objeto virtual puede seguir el movimiento del dispositivo y continuar el seguimiento.
Casos no ideales y respuestas
| Fenómeno | Causa | Percepción del usuario | Solución |
|---|---|---|---|
| No funciona inicialmente | El seguimiento de movimiento necesita tiempo para inicializarse | El contenido desaparece en la fase inicial | Proporcione indicaciones UI adecuadas y asegúrese de que la inicialización del seguimiento de movimiento del sistema se complete |
| Deriva evidente | Se acumulan errores del sistema y no hay corrección visual durante mucho tiempo | El objeto virtual se desvía de la posición original | Guíe al usuario para reducir el tiempo de oclusión o añada indicaciones de relocalización visual |
| Degradación de rendimiento | Dos funciones se ejecutan simultáneamente durante mucho tiempo | Baja la tasa de frames y la imagen se atasca | Es normal; Motion Fusion puede desactivarse mediante API |
Método para verificar el resultado esperado
Pruebe con un dispositivo compatible en una escena real:
- Apunte a la imagen y confirme que el objeto virtual está estable.
- Ocluya la imagen con la mano durante 2 segundos y mueva el dispositivo; observe si el objeto virtual se mueve suavemente.
- Retire la mano y confirme que el objeto virtual vuelve rápidamente a la posición correcta sin saltos.
Resumen y prácticas recomendadas
Motion Fusion mejora notablemente la robustez del seguimiento de imágenes planas en muchos escenarios, pero requiere soporte de hardware y rendimiento suficiente.
Referencia de API para activar/desactivar Motion Fusion en tiempo real:
- Native: setResultPostProcessing
- Unity: EnableMotionFusion