Table of Contents

Combinar object tracking e motion tracking

Este artigo descreve como fundir 3D object tracking com motion tracking do dispositivo para melhorar a estabilidade do tracking e a experiência do usuário em cenários complexos.

Princípio básico

Motion Fusion combina dados de pose do 3D object tracking e do motion tracking do dispositivo para obter uma estimativa de pose mais robusta.

Sincronização e complementaridade de dados

  • Visual tracking: calcula a pose do frame atual (posição + rotação) por correspondência de pontos de característica da imagem, mas é facilmente afetado por oclusão, desfoque ou movimento rápido.
  • Motion tracking: usa a saída de alta frequência dos sensores IMU e a saída da imagem visual para obter dados de movimento do dispositivo, mas pode apresentar erro de drift acumulado.
  • Motion Fusion:
    • Alinha os sistemas de coordenadas da pose do visual tracking e da pose do motion tracking do dispositivo.
    • Quando o objeto alvo está claramente visível e se move de forma estável, o visual tracking é dominante; sua pose é enviada continuamente ao módulo de fusion para reduzir o drift acumulado.
    • Quando o objeto alvo é perdido, ocupa uma parte muito pequena do frame ou se move rapidamente, o visual tracking falha e o motion tracking se torna dominante.

Pontos técnicos principais

  • Alinhamento de timestamp: alinha os timestamps dos frames visuais com os dados de motion tracking para evitar jitter causado por latência.
  • Alinhamento do sistema de coordenadas: alinha os sistemas de coordenadas com base na trajetória do visual tracking e na trajetória do motion tracking.
  • Relocalização: quando o objeto alvo aparece novamente, o visual tracking assume e corrige rapidamente possíveis erros acumulados.

Cenários aplicáveis e limitações

Motion Fusion não é adequado para todos os cenários. Motion Fusion não se aplica em qualquer uma das situações a seguir:

  • O dispositivo alvo não suporta recursos de motion tracking como ARCore/ARKit. Para a lista detalhada de suporte a dispositivos, consulte Suporte a dispositivos de motion tracking.
  • O objeto alvo é dinâmico na cena, como um brinquedo ou figure segurado na mão.

Em outros cenários, Motion Fusion melhora muito a experiência do 3D object tracking.

  • Movimento rápido: movimento rápido do dispositivo na mão pode causar motion blur e fazer o visual tracking falhar.
  • Alvo desaparece: o conteúdo virtual de toda a cena ainda pode ser apresentado quando a visão sai do alvo ou ele é ocluído.
  • Longe do alvo: o tracking continua estável quando o objeto alvo fica pequeno demais no frame.
  • Condições de baixa iluminação: o desempenho do visual tracking diminui e a experiência precisa ser mantida.

Efeitos e resultados esperados

Quando o cenário é aplicável, Motion Fusion oferece uma experiência mais estável e suave do que usar apenas 3D object tracking.

Resultado ideal

  • Tracking mais estável: objetos virtuais não tremem nem saltam.
  • Transição suave: quando o visual tracking falha, a mudança da pose fusionada permanece contínua e natural.
  • Resistência a interferências: quando o objeto alvo é perdido ou ocluído, ou o dispositivo se move rapidamente, o objeto virtual ainda pode seguir o movimento do dispositivo.

Casos não ideais e respostas

Fenômeno Causa Percepção do usuário Solução
Não efetivo inicialmente Motion tracking precisa de tempo para inicializar Conteúdo desaparece na fase inicial Forneça prompts de UI adequados e confirme que a inicialização do motion tracking do sistema foi concluída
Drift evidente Erros do sistema se acumulam e ficam muito tempo sem correção visual Objetos virtuais desviam da posição original Oriente os usuários a reduzir o tempo de oclusão ou adicione prompts de relocalização visual
Queda de desempenho Duas funções rodam simultaneamente por muito tempo Frame rate cai e a imagem engasga Fenômeno normal; Motion Fusion pode ser desativado pela API

Método de verificação do resultado esperado

Teste com um dispositivo compatível em uma cena real:

  1. Aponte para o objeto alvo e confirme que o objeto virtual está estável.
  2. Oclua o objeto com a mão por 2 segundos e mova o dispositivo; observe se o objeto virtual se move suavemente.
  3. Remova a mão e confirme que o objeto virtual volta rapidamente à posição correta sem saltos.

Resumo e melhores práticas

Motion Fusion melhora significativamente a robustez do 3D object tracking em muitos cenários, mas requer suporte de hardware do dispositivo e desempenho suficiente.

Referência de API para ativar/desativar Motion Fusion em tempo real: