Guias específicos da plataforma
Android (Kotlin/Java)
Android NDK (C)
Unity (fundação de RA)
Unreal Engine
As APIs Augmented Images no ARCore permitem criar aplicativos de RA que podem detectar e aumentar as imagens em 2D no ambiente do usuário, como pôsteres ou produtos na embalagem.
Você fornece um conjunto de imagens de referência. O ARCore usa um algoritmo de visão computacional para extrair atributos das informações da escala de cinza em cada imagem e armazenar uma representação desses recursos em um ou mais bancos de dados de imagens aumentadas
Durante a execução, o ARCore pesquisa esses recursos em superfícies planas no de nuvem. Isso permite que o ARCore detecte essas imagens no mundo e estime a posição, orientação e tamanho deles, caso essas informações não sejam fornecidas.
Recursos
O ARCore pode rastrear até 20 imagens simultaneamente. O ARCore não vai funcionar detectar ou rastrear várias instâncias da mesma imagem.
Cada banco de dados de imagens aumentadas pode armazenar informações de até 1.000 referências de imagens de contêiner. Não há limite para o número de bancos de dados, mas apenas um banco de dados podem estar ativas a qualquer momento.
As imagens podem ser adicionadas a um banco de dados de Imagens Aumentadas no tempo de execução, até o Limite de 1.000 imagens por banco de dados. É possível fazer o download bancos de dados usando uma conexão de rede.
Ao adicionar uma imagem, é possível fornecer o tamanho físico dela que precisam ser detectados. Isso melhora o desempenho da detecção de imagens.
Se nenhum tamanho físico for fornecido, o ARCore estimará o tamanho e refinará ao longo do tempo.
Se um tamanho físico for fornecido, o ARCore usará o tamanho e as estimativas fornecidos a posição e orientação da imagem, ignorando qualquer discrepância entre o tamanho aparente ou real e o tamanho físico fornecido.
O ARCore pode responder e rastrear imagens que:
Imagens fixadas no lugar, como uma impressão pendurada na parede ou revista em uma mesa
Imagens em movimento, como um anúncio em um ônibus que está passando ou uma imagem em uma superfície plana objeto segurado pelo usuário enquanto ele move as mãos.
Quando o ARCore começa a rastrear uma imagem, ele fornece estimativas para a posição da imagem e orientação de cada frame. O ARCore refina continuamente essas estimativas à medida que coleta mais dados.
Assim que uma imagem é detectada, o ARCore continua o "rastreamento" a posição da imagem e orientação, mesmo quando a imagem se move temporariamente para fora da visualização da câmera porque o usuário moveu o dispositivo. Quando isso acontece, o ARCore presume que a posição e a orientação da imagem são estáticas e que a imagem não é ela mesma que se movem pelo ambiente.
Todo o rastreamento é feito no dispositivo. Não é necessária uma conexão de Internet para detectar e rastrear imagens.
Requisitos
As imagens precisam:
Preencha pelo menos 25% do enquadramento da câmera para que ele seja detectado inicialmente.
Ela não deve estar amassada nem enrolada em volta de uma garrafa, por exemplo.
Fique bem a vista da câmera. Eles não podem ser parcialmente ocultados nem visualizados em um ângulo altamente oblíquo, ou vista quando a câmera está se movendo muito rápido devido a desfoque de movimento.
Considerações sobre desempenho e utilização da CPU
Dependendo de quais recursos do ARCore já estão ativados, ativar o Augmented As imagens podem aumentar a utilização da CPU do ARCore. Desative as opções não usadas quando sua experiência de RA não precisar deles. Isso vai disponibilizar ciclos de CPU adicionais para o aplicativo e melhorar a o desempenho e a duração da bateria.
Para mais informações, consulte considerações sobre desempenho.
Práticas recomendadas
Dicas para selecionar imagens de referência
- A resolução da imagem precisa ser de pelo menos 300 x 300 pixels. Como usar imagens com alta resolução não melhora o desempenho.
- As imagens de referência podem ser fornecidas em formato de arquivo PNG ou JPEG.
- As informações de cor não são usadas. Imagens coloridas e em escala de cinza equivalentes podem ser usadas como imagens de referência ou por usuários no tempo de execução.
- Evite imagens com compactação pesada, porque isso interfere na funcionalidade extração.
- Evite imagens com muitos elementos geométricos alguns recursos (por exemplo, códigos de barras, códigos QR, logotipos e outras artes em linha), como esta resultarão em detecção e rastreamento ruins.
- Evite imagens com padrões repetidos porque isso também pode causar problemas com detecção e rastreamento.
Use a ferramenta
arcoreimg
incluída no SDK do ARCore para receber um índice de qualidade entre0
e100
para cada imagem. Recomendamos um Índice de qualidade de pelo menos pelo menos 75. Veja dois exemplos:Imagem de exemplo 1 Imagem de exemplo 2 Pontuação: 0
Pontuação: 100
contém atributos geométricos repetitivos resolução suficiente; contém vários atributos exclusivos
Dicas para criar o banco de dados de imagens
- Use a ferramenta arcoreimg para Android. para gerar um arquivo de banco de dados de imagens. Esta ferramenta está disponível apenas para Android e desenvolvimento para o Android NDK. Ele é integrado ao SDK do Unity e ao ARCore Plug-in Unreal.
- O banco de dados armazena uma representação compactada dos atributos extraídos dos dados em escala de cinza nas imagens de referência. Cada entrada de imagem ocupa cerca de 6 KB.
- Adicionar uma imagem ao banco de dados no ambiente de execução leva cerca de 30 ms.
- Adicione imagens a uma linha de execução de worker para evitar o bloqueio da linha de execução de interface.
- Ou, se possível, adicione imagens durante a compilação usando a ferramenta
arcoreimg
. incluídos no SDK do ARCore.
- Se você souber o tamanho físico esperado de uma imagem, especifique-o. Isso aprimora a detecção e o desempenho do monitoramento, especialmente para imagens físicas grandes (acima de 75 cm).
- Evite manter muitas imagens não utilizadas no banco de dados, porque haverá uma leve no desempenho do sistema devido ao aumento do uso da CPU.
Dicas para otimizar o acompanhamento
- Se sua imagem nunca se mover de sua posição inicial (por exemplo, uma pôster fixado na parede), você pode colocar uma âncora à imagem para aumentar a estabilidade do rastreamento.
- A imagem física precisa ocupar pelo menos 25% da imagem da câmera para detecção inicial. Você pode solicitar que os usuários ajustem a imagem física em seus moldura da câmera.
- Não use a pose e as estimativas de tamanho da imagem até que o rastreamento estado é acompanhamento completo. Quando uma imagem é detectada inicialmente ARCore e nenhum tamanho físico esperado tiver sido especificado, o estado de rastreamento ser pausada. Isso significa que o ARCore reconheceu a imagem, mas não reuniu dados suficientes para estimar sua localização no espaço 3D.