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
- 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.
- 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.
- 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.
- 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.