Guías específicas de la plataforma
Android (Kotlin/Java)
NDK de Android (C)
Unity (AR Foundation)
Unreal Engine
Las APIs de Augmented Images en ARCore te permiten compilar apps de RA que pueden detectar y aumentar imágenes 2D en el entorno del usuario, como carteles o empaques de productos.
Proporcionas un conjunto de imágenes de referencia. ARCore usa un algoritmo de visión artificial para extraer atributos de la información en escala de grises de cada imagen y almacena una representación de estos atributos en una o más bases de datos de imágenes aumentadas.
En el tiempo de ejecución, ARCore busca estos atributos en superficies planas del entorno del usuario. Esto permite que ARCore detecte estas imágenes en el mundo y estime su posición, orientación y tamaño si no se proporciona uno.
Funciones
ARCore puede hacer un seguimiento de hasta 20 imágenes de forma simultánea. ARCore no detectará ni hará un seguimiento simultáneo de varias instancias de la misma imagen.
Cada base de datos de imágenes aumentadas puede almacenar información de hasta 1,000 imágenes de referencia. No hay límite para la cantidad de bases de datos, pero solo una puede estar activa en un momento determinado.
Las imágenes se pueden agregar a una base de datos de imágenes aumentadas en el tiempo de ejecución, hasta el límite de 1,000 imágenes por base de datos. Es posible descargar bases de datos creadas anteriormente con una conexión de red.
Cuando agregas una imagen, es posible proporcionar el tamaño físico de la imagen que se detectará. Si lo haces, mejorarás el rendimiento de la detección de imágenes.
Si no se proporciona un tamaño físico, ARCore estima el tamaño y perfecciona esta estimación con el tiempo.
Si se proporciona un tamaño físico, ARCore usa el tamaño proporcionado y estima la posición y la orientación de la imagen, y omite cualquier discrepancia entre el tamaño aparente o real y el tamaño físico proporcionado.
ARCore puede responder a imágenes que son las siguientes y hacer un seguimiento de ellas:
Imágenes fijas, como una copia colgada en una pared o una revista sobre una mesa
Imágenes en movimiento, como un anuncio en un autobús que pasa o una imagen en un objeto plano que sostiene el usuario mientras mueve las manos
Una vez que ARCore comienza a hacer un seguimiento de una imagen, proporciona estimaciones de la posición y la orientación de la imagen en cada fotograma. ARCore perfecciona continuamente estas estimaciones a medida que recopila más datos.
Una vez que se detecta una imagen, ARCore continúa "haciendo un seguimiento" de la posición y la orientación de la imagen, incluso cuando la imagen se mueve temporalmente fuera de la vista de la cámara porque el usuario movió su dispositivo. Cuando esto sucede, ARCore supone que la posición y la orientación de la imagen son estáticas y que la imagen no se mueve por el entorno.
Todo el seguimiento se realiza en el dispositivo. No se requiere conexión a Internet para detectar imágenes y hacer un seguimiento de ellas.
Requisitos
Las imágenes deben cumplir con los siguientes requisitos:
Llenar al menos el 25% del fotograma de la cámara para que se detecte inicialmente
Ser planas (por ejemplo, no arrugadas ni envueltas alrededor de una botella)
Estar a la vista de la cámara (no deben estar parcialmente ocultas, verse en un ángulo muy oblicuo ni verse cuando la cámara se mueve demasiado rápido debido al desenfoque de movimiento)
Consideraciones sobre el uso de CPU y el rendimiento
Según las funciones de ARCore que ya estén habilitadas, habilitar las imágenes aumentadas podría aumentar el uso de CPU de ARCore. Considera inhabilitar las funciones que no se usen durante los momentos en que tu experiencia de RA no las requiera. Esto hará que haya ciclos de CPU adicionales disponibles para tu app y mejorará el rendimiento térmico y la duración de batería.
Para obtener más información, consulta Consideraciones sobre el rendimiento.
Prácticas recomendadas
Sugerencias para seleccionar imágenes de referencia
- La resolución de la imagen debe ser de al menos 300 x 300 píxeles. El uso de imágenes de alta resolución no mejora el rendimiento.
- Las imágenes de referencia se pueden proporcionar en formato de archivo PNG o JPEG.
- No se usa la información de color. Las imágenes en color y en escala de grises equivalentes se pueden usar como imágenes de referencia o por los usuarios en el tiempo de ejecución.
- Evita las imágenes con una compresión pesada , ya que esto interfiere con la extracción de atributos.
- Evita las imágenes que contengan una gran cantidad de atributos geométricos o muy pocos atributos (p.ej., códigos de barras, códigos QR, logotipos y otros dibujos lineales), ya que esto generará un rendimiento deficiente de detección y seguimiento.
- Evita las imágenes con patrones repetidos , ya que esto también puede causar problemas con la detección y el seguimiento.
Usa la herramienta
arcoreimgincluida en el SDK de ARCore para obtener una puntuación de calidad entre0y100para cada imagen. Recomendamos una puntuación de calidad de al menos 75. A continuación, presentamos dos ejemplos:Imagen de ejemplo 1 Imagen de ejemplo 2 

Puntuación: 0Puntuación: 100contiene atributos geométricos repetitivos resolución suficiente; contiene muchos atributos únicos
Sugerencias para crear la base de datos de imágenes
- Usa la herramienta arcoreimg para Android para generar un archivo de base de datos de imágenes. Esta herramienta solo está disponible para el desarrollo de Android y el NDK de Android. Está integrada en el SDK de Unity y el complemento de ARCore Unreal.
- La base de datos almacena una representación comprimida de los atributos extraídos de los datos en escala de grises en las imágenes de referencia. Cada entrada de imagen ocupa aproximadamente 6 KB.
- Se tarda unos 30 ms en agregar una imagen a la base de datos en el tiempo de ejecución.
- Agrega imágenes en un subproceso de trabajo para evitar bloquear el subproceso de IU.
- O, si es posible, agrega imágenes en el tiempo de compilación con la herramienta
arcoreimgincluida en el SDK de ARCore.
- Si conoces el tamaño físico esperado de una imagen, especifícalo. Esta información mejora el rendimiento de la detección y el seguimiento, en especial para imágenes físicas grandes (más de 75 cm).
- Evita mantener muchas imágenes sin usar en la base de datos, ya que hay un ligero impacto en el rendimiento del sistema debido al aumento del uso de CPU.
Sugerencias para optimizar el seguimiento
- Si tu imagen nunca se moverá de su posición inicial (por ejemplo, un cartel pegado a una pared), puedes adjuntar un anclaje a la imagen para aumentar la estabilidad del seguimiento.
- La imagen física debe ocupar al menos el 25% de la imagen de la cámara para la detección inicial. Puedes solicitar a los usuarios que ajusten la imagen física en el fotograma de la cámara.
- No uses las estimaciones de la pose y el tamaño de la imagen hasta que el estado de seguimiento de la imagen sea de seguimiento completo. Cuando ARCore detecta una imagen por primera vez y no se especificó un tamaño físico esperado, su estado de seguimiento se pausará. Esto significa que ARCore reconoció la imagen, pero no recopiló suficientes datos para estimar su ubicación en el espacio 3D.