Table of Contents

Introdução ao 3D object tracking

Além de objetos planos, o EasyAR também fornece função de tracking para objetos 3D. Este artigo apresenta os princípios centrais, os efeitos esperados e as possíveis limitações do 3D object tracking, ajudando desenvolvedores a entender os cenários aplicáveis dessa tecnologia.

Princípios básicos

O 3D object tracking realiza a sobreposição de conteúdo AR reconhecendo e rastreando objetos tridimensionais no mundo real, como brinquedos, esculturas e peças industriais. Seu fluxo principal é:

Fluxo técnico

  1. Preparação do modelo: o desenvolvedor fornece o arquivo de modelo 3D do objeto a ser rastreado no formato Wavefront OBJ. O sistema carrega o modelo localmente, extrai features visuais do modelo em diferentes ângulos e gera uma biblioteca de features única.
  2. Correspondência em tempo real: depois que a câmera captura a cena real, o sistema analisa frame a frame as features visuais da imagem e as compara com a biblioteca de features do modelo armazenada.
  3. Cálculo de pose: a pose 6DoF do objeto no espaço 3D é calculada pelos pontos correspondentes, orientando o alinhamento preciso do conteúdo virtual com o objeto.
  4. Tracking contínuo: mesmo se o objeto estiver parcialmente ocluído ou em movimento, o sistema ainda pode manter o tracking pelos pontos de feature visíveis restantes.

Mecanismo central

  • Processamento local: todos os cálculos são concluídos no dispositivo. O modelo e o conteúdo são gerenciados pelo desenvolvedor, garantindo disponibilidade offline.
  • Dependência de textura: a superfície do objeto deve ter texturas ou detalhes geométricos ricos. Superfícies lisas ou de cor uniforme, como vidro e metal, são difíceis de rastrear.
  • Formato do modelo: somente o formato OBJ é suportado. Deve incluir um arquivo de material MTL e pelo menos uma texture map (JPEG/PNG), e os caminhos de arquivo devem ser relativos. Caminhos absolutos ou espaços são proibidos.

Limitações técnicas

  • Tipo de objeto: suporta apenas objetos rígidos que não se deformam, com estrutura geométrica principalmente convexa e sem muitas estruturas vazadas.
  • Faixa de tamanho: recomenda-se que o objeto tenha entre 10 cm e 2 m. Objetos pequenos ou grandes demais afetam a visibilidade do objeto em uma distância natural de experiência.
  • Requisitos ambientais: depende das condições de iluminação. Ambiente escuro demais ou superexposto pode dificultar detection ou causar perda de tracking.

Efeitos e resultados esperados

A função object tracking depende da textura do próprio objeto para correspondência de features visuais, portanto os efeitos alcançáveis também têm algumas limitações. Compreender esses efeitos ajuda a definir padrões de teste razoáveis durante o desenvolvimento.

Efeito ideal

  • Vinculação precisa: o conteúdo virtual se alinha às bordas do objeto 3D.
  • Resposta em tempo real: latência ultrabaixa do carregamento do modelo até detection bem-sucedida.
  • Resistência à oclusão: quando o objeto está parcialmente ocluído, por exemplo 30%, o tracking ainda pode ser mantido.
  • Suporte multiângulo: quando o objeto gira 360° ou é observado de diferentes ângulos, o conteúdo virtual continua acompanhando.

Situações não ideais e respostas

Fenômeno Causa Percepção do usuário Prévia da solução (veja os próximos capítulos para detalhes)
Não reconhece Textura do modelo insuficiente, caminho incorreto, encoding do arquivo não UTF-8 O conteúdo virtual não aparece Otimizar textura do modelo, verificar formato e caminho do arquivo
Tracking tremendo Mudanças bruscas de iluminação, superfície refletiva do objeto Objeto virtual balança claramente Controlar iluminação, evitar superfícies refletivas
Perda frequente Objeto se move rapidamente ou fica completamente ocluído Objeto virtual pisca/desaparece Aumentar tamanho do modelo ou combinar motion fusion
Falha ao carregar Formato de arquivo OBJ/MTL incorreto, texture map ausente Não é possível inicializar o tracker Verificar especificação do modelo, consultar sample oficial

Método de verificação dos resultados esperados

  • Fase de desenvolvimento: use o sample HelloARObjectTracking, importe o modelo de teste oficial e produza o objeto físico para verificar a função básica.
  • Fase de teste: teste a estabilidade do tracking em ambiente real sob diferentes condições de iluminação, ângulos e oclusões.

Resumo e extensão

O 3D object tracking processa localmente as features visuais do modelo e é adequado para aplicações AR offline que exigem objetos não planos. Desenvolvedores precisam garantir que o modelo atenda às especificações de formato e prestar atenção à qualidade do ambiente e da textura do objeto. O próximo capítulo detalhará a preparação do modelo e técnicas de otimização.