Ajouter des dimensions aux images

Guides spécifiques à chaque plate-forme

Les API Augmented Images d'ARCore vous permettent de créer des applications de RA qui détectent et améliorer les images 2D de l'environnement de l'utilisateur, telles que des affiches ou des les emballages.

Vous fournissez un ensemble d'images de référence. ARCore utilise un algorithme de vision par ordinateur pour extraire des caractéristiques à partir des informations en niveaux de gris de chaque image et stocke représentation de ces caractéristiques dans une ou plusieurs bases de données d'images augmentées.

Au moment de l'exécution, ARCore recherche ces caractéristiques sur des surfaces planes dans le environnement. Cela permet à ARCore de détecter ces images dans le monde et d'estimer sa position, son orientation et sa taille si aucun numéro n'est fourni.

Fonctionnalités

ARCore peut suivre jusqu'à 20 images simultanément. ARCore n'effectue pas simultanément détecter ou suivre plusieurs instances de la même image.

Chaque base de données Augmented Image peut stocker des informations jusqu'à 1 000 références. images. Le nombre de bases de données n'est pas limité, mais une seule base de données peuvent être actifs à tout moment.

Les images peuvent être ajoutées à une base de données d'images augmentées au moment de l'exécution, jusqu'à Limite de 1 000 images par base de données. Il est possible de télécharger des fichiers bases de données à l'aide d'une connexion réseau.

Lorsque vous ajoutez une image, vous pouvez indiquer sa taille physique à détecter. Cela améliorera les performances de détection d'images.

  • Si aucune taille physique n'est indiquée, ARCore estime la taille et affine cette valeur estimation au fil du temps.

  • Si une taille physique est indiquée, ARCore utilise la taille fournie et les estimations la position et l'orientation de l'image, sans tenir compte des écarts la taille apparente ou réelle et la taille physique fournie.

ARCore peut répondre aux images suivantes et en effectuer le suivi:

  • Images fixes, telles qu'une impression accrochée à un mur ou magazine sur une table

  • Images animées (par exemple, une publicité sur un bus qui passe ou une image sur un plat) objet tenu par l’utilisateur lorsqu’il bouge ses mains.

Dès qu'ARCore commence à suivre une image, il fournit une estimation de sa position. et l'orientation de chaque image. ARCore affine continuellement ces estimations à mesure qu'elles recueille plus de données.

Dès qu'une image est détectée, ARCore continue le "suivi" la position de l'image et même si l'image sort temporairement de la vue de l'appareil photo car l'utilisateur a déplacé son appareil. Dans ce cas, ARCore part du principe que la position et l'orientation de l'image sont statiques, et que l'image n'est pas elle-même en se déplaçant dans l'environnement.

L'intégralité du suivi a lieu sur l'appareil. Aucune connexion Internet n'est requise pour détecter et suivre des images.

Conditions requises

Les images doivent :

  • remplir au moins 25% du cadre de l'appareil photo à détecter initialement ;

  • être à plat (par exemple, il ne doit pas être plié ou enveloppé autour d'une bouteille) ;

  • Le champ de vision de la caméra doit être dégagé. Ils ne doivent pas être partiellement dissimulés ni vus. selon un angle très oblique, ou lorsque l'appareil photo bouge trop rapidement en raison avec un flou directionnel.

Considérations relatives à l'utilisation et aux performances du processeur

Selon les fonctionnalités ARCore déjà activées, l'activation d'Augmented Les images peuvent augmenter l'utilisation du processeur d'ARCore. Envisagez de désactiver les ressources lorsque votre expérience de RA n'en a pas besoin. Cela permettra mettre des cycles de processeur supplémentaires à la disposition de votre application et améliorer la les performances et l'autonomie de la batterie.

Pour en savoir plus, consultez considérations relatives aux performances.

Bonnes pratiques

Conseils pour sélectionner des images de référence

  • La résolution de l'image doit être d'au moins 300 x 300 pixels. Utiliser des images en haute résolution n'améliore pas les performances.
  • Les images de référence peuvent être fournies au format PNG ou JPEG.
  • Les informations de couleur ne sont pas utilisées. Images en couleur et en nuances de gris équivalentes peuvent servir d'images de référence ou être utilisées par les utilisateurs au moment de l'exécution.
  • Évitez les images fortement compressées, car cela interfère avec les fonctionnalités. l'extraction de caractéristiques.
  • Évitez les images contenant un grand nombre d'éléments géométriques, ou qui contiennent quelques caractéristiques (codes-barres, codes QR, logos et autres illustrations au trait, par exemple). les performances de détection et de suivi seront médiocres.
  • Évitez les images répétitives, car elles peuvent aussi entraîner des problèmes avec la détection et le suivi.
  • Utilisez l'outil arcoreimg inclus dans le SDK ARCore pour obtenir un niveau de qualité entre 0 et 100 pour chaque image. Nous vous recommandons un niveau de qualité de minimum 75. Voici deux exemples :

    Exemple d'image 1 Exemple d'image 2
    Score : 0 Score : 100
    contient des caractéristiques géométriques répétitives résolution suffisante ; contient de nombreuses caractéristiques uniques

Conseils pour créer la base de données d'images

  • Utiliser l'outil arcoreimg pour Android pour générer un fichier de base de données d'images. Cet outil n'est disponible que pour Android et le développement Android NDK. Il est intégré au SDK Unity et à ARCore Plug-in Unreal.
  • La base de données stocke une représentation compressée des caractéristiques extraites. à partir des données en niveaux de gris des images de référence. Chaque entrée d'image occupe environ 6 Ko.
  • L'ajout d'une image à la base de données prend environ 30 ms au moment de l'exécution.
    • Ajoutez des images à un thread de nœud de calcul pour éviter de bloquer le thread UI.
    • Si possible, ajoutez des images au moment de la compilation à l'aide de l'outil arcoreimg. incluses dans le SDK ARCore.
  • Si vous connaissez la taille physique attendue d'une image, spécifiez-la. Ce améliorent la détection et le suivi, en particulier de grandes images physiques (plus de 75 cm).
  • Évitez de conserver de nombreuses images inutilisées dans la base de données, car sur les performances du système en raison d'une augmentation de l'utilisation du CPU.

Conseils pour optimiser le suivi

  • Si l'image ne se déplace jamais de sa position initiale (par exemple, poster sur un mur), vous pouvez utiliser une ancre pour améliorer la stabilité du suivi.
  • L'image physique doit occuper au moins 25% de l'image de l'appareil photo. lors de la détection initiale. Vous pouvez inviter les utilisateurs à adapter l'image physique à leur cadre de la caméra.
  • N'utilisez pas les estimations de posture et de taille de l'image tant que le suivi n'a pas été effectué. est le suivi complet. Lorsqu'une image est détectée et qu'aucune taille physique attendue n'a été spécifiée, l'état de suivi être mis en veille. Cela signifie qu'ARCore a reconnu l'image, mais qu'il a n'a pas collecté suffisamment de données pour estimer sa position dans l'espace 3D.