Reconnaissance de texte
Encore une autre fonctionnalité très intéressante est la reconnaissance de mots ou d’une suite de mots dans un texte. Notons que cette fonctionnalité est disponible uniquement en anglais (Text Recognition).
Ensuite
Je vous invite à regarder la documentation officielle de Vuforia pour connaitre toute les fonctionnalités proposées par l’outil.
Concrètement, que peut-on faire avec Vuforia ?
Grâce à Vuforia, il est possible de réaliser les mêmes choses qu’avec ARKit et ARCore. Il est ainsi possible d’afficher des objets virtuels à la volée grâce à la détection de plans horizontaux, ou bien d’afficher des objets virtuels de manière automatique grâce à la détection d’images/marqueurs. Mais Vuforia va un peu plus loin grâce à la reconnaissance d’objets 3D, permettant ainsi d’afficher automatiquement des objets virtuels sans avoir à disposer des images/marqueurs dans notre environnement physique.
Aussi, grâce à son intégration dans Unity, Vuforia permet de concevoir des applications multi-plateformes. Ainsi, une seule application pourra être déployée sur tous les dispositifs (iOS et Android), facilitant son développement et sa maintenance.
Observations
Vuforia a su se mettre en valeur en offrant une panoplie de fonctionnalités aux développeurs dans une seule API disponible sur iOS, Android et Windows Phone qui offrent plus de possibilités pour afficher des objets virtuels qu’ARKit et ARCore. Par contre, une fois ces modèles affichés, les algorithmes de suivi utilisés sont beaucoup moins performants que ceux utilisés dans les deux autres plateformes (sauf pour la détection de plans horizontaux qui peut faire appel à ces deux technologies via Vuforia Fusion). Et c’est un point primordial. En effet, une fois l’objet virtuel affiché, si l’utilisateur se déplace dans l’environnement physique, on s’attend à ce que l’objet virtuel lui, ne bouge pas. Or sur ce point Vuforia a clairement du retard par rapport à ARKit et ARCore.
Concernant l’écosystème, il est très bien pensé, la documentation et les exemples sont très bien expliqués. Grâce à l’intégration de Vuforia dans Unity, il est possible de créer des applications multi-plateformes basiques (affichage d’un modèle 3D sur une image/marqueur par exemple) sans écrire une ligne de code. Par contre, dès lors que l’on veut complexifier l’application, cela demande beaucoup de connaissances en Unity. Si l’aspect multi-plateforme n’est pas un impératif, il est alors possible d’utiliser les API natives de Vuforia (iOS, Android, Windows Phone). De notre expérience, ces APIs sont beaucoup plus bas niveaux qu’ARkit. Tout comme ARCore, cela nécessite des connaissances/compétences en OpenGL ES pour gérer l’affichage des modèles 3D par exemple. Malgré un documentation étoffée, l’utilisation de ces APIs ne restent donc pas accessible à n’importe quelle personne compétente en développement mobile.
Enfin, si vous pouvez développer des applications avec Vuforia gratuitement pendant une phase de prototypage, il vous en coûtera 499$ par application si vous souhaitez les déployer.
Conclusion
ARKit, ARCore et Vuforia sont de très bon outils de Réalité Augmentée. ARKit et ARCore se concurrencent fortement au niveau du suivi de position en utilisant des algorithmes similaires (VIO). Le suivi de position proposé par Vuforia est beaucoup moins performant, mais il est maintenant possible de bénéficier des algorithmes de suivi des plateformes natives grâce à Vuforia Fusion dans certains cas particuliers.
En termes de fonctionnalités, Vuforia est clairement en avance sur ses concurrents, en proposant notamment la détection d’objets 3D et la détection d’images/marqueurs plus aboutie que celle proposée par ARKit (ARCore ne la propose pas).
Au sein du KZS Lab nous avons choisi de développer avec ARKit. C’est pour nous le meilleur compromis entre fonctionnalités offertes et robustesse des technologies (notamment en termes de suivi de position). De plus, l’environnement nous semble beaucoup plus facile à prendre en main grâce à son API de haut niveau.
Bien que Vuforia offre plus de fonctionnalités qu’ARKit, celles-ci ne nous ont pas été utiles dans les cas d’usage que nous avons traités. Si besoin, il est possible d’intégrer Vuforia dans une application utilisant ARKit pour bénéficier d’une fonctionnalité particulière. Aussi, ces technologies étant en constante évolution, il ne fait aucun doute que Apple et Google vont rapidement fournir de nouvelles fonctionnalités à travers leurs plateformes respectives. De même, Vuforia devrait rapidement tenter de rattraper son retard en termes de suivi de position, notamment en élargissant le champ d’application de sa brique Vuforia Fusion, permettant ainsi de bénéficier des algorithmes de suivi proposés par ARKit et ARCore dans plus de fonctionnalités.
De plus, dans certains cas d’utilisation, les outils tels qu’ARKit, ARCore et Vuforia ne suffisent pas. Ainsi, la combinaison d’outils externes de vision par ordinateur ou de machine learning avec les frameworks AR sont souvent utilisés. Par exemple, on voudrait faire de l’augmentation de toutes les surfaces rectangulaires. Ceci est tout à fait possible avec Vison (l’outil de vision par ordinateur d’Apple) et ARKit (voir ici).
J’espère vous avoir un peu plus éclairé sur les différents outils de développement de Réalité Augmentée.
Ci-dessous un tableau récapitulatif des fonctionnalités proposées par ARKit, ARCore et Vuforia.
| Fonctionnalités | arkit | arcore | vuforia |
| Détection de plan vertical | X | | (ARKit Fusion) |
| Détection de plan horizontal | X | X | X |
Détection d’image/marqueur
| X | | X |
| Détection d’objet 3D | | | X |
| Estimation de la lumière | X | X | (ARKit Fusion) |
| Projection 2D – 3D (Hit Testing) | X | X | X |