Pourquoi ARKit est meilleur que les autres solutions de AR ?
- 👨 Medhi Naitmazi
- Il y a 7 ans (Màj il y a 5 ans)
- 💬 5 coms
Mais comment Apple a-t-il fait ? La raison est simple : le SDK ARKit fonctionne bien mieux que la concurrence, en tout cas ceux qui sont sur le marché. Pour mémoire, ARKit gère très bien les distances, les surfaces planes et la luminosité afin de calculer les ombres et l'éclairage d'une scène en 3D. Tout cela est fait avec un seul capteur photo alors que d'autres alternatives professionnelles ont besoin de angles de vue.
Comment ça marche ARKit
La force d'ARKit est sa simplicité de prise en main et son résultat impressionnant avec un matériel classique.
Techniquement parlant Apple explique ce qu'est ARKit. ARKit est un VIO (Visual Inertial Odometry) qui calcule près de 30 fois par seconde la position (dont la distance) d'un objet "traqué" via la caméra, couplé à un IMU (Inertial Measurement Unit) représenté par les gyroscopes et accéléromètres. Dans l'API CoreMotion, ces capteurs travaillent 1000 fois par seconde pour calculer de votre position réelle.
Avec ses deux types de mesures, Apple filtre ensuite les données afin d'éliminer le bruit et ainsi proposer une position réaliste, loin du taux d'erreur habituel d'un système de réalité augmentée basée sur une simple lentille (souvent près de 30%).
Le plus "fou", c'est bien l'impression de 3D que dégage ARKit ainsi que la gestion de la distance. Alors que la gestion de la surface plane (par tracking de points dans la scène) est très bonne dans ARKit, il ne reste pas moins qu'un iPhone avec un seul capteur arrive à afficher une scène 3D.
Quant à la lumière, c'est tout simplement le capteur photo qui juge du niveau de lumière de la scène pour corriger la lumière du rendu.
Comment ARKit fait-il pour faire de la 3D ?
Pour avoir de la 3D, il faut normalement une image stéréoscopique, comprenez 2 images d'une même scène prise depuis des angles différents, un peu comme nos yeux. Avec une lentille, on capture une image, puis on bouge, puis une autre image, etc.
Apple a "triché" en calculant la distance parcourue entre deux frames (images) et en faisant un calcul stereo de l'image rendue. Comment est-ce possible ? Vous tenez votre iPhone en main et même si vous ne pensez pas bouger, vos muscles font des mini-mouvements. Les capteurs IMU sont très sensibles et renvoient donc des coordonnées différentes à chaque milliseconde. C'est magique !
Pour la distance, c'est la même idée avec les infos remontées par le gyroscope et l'accéléromètre. L'algorithme d'Apple fait ensuite le boulot en supprimant la marge d'erreur importante qu'on a souvent observé dans les apps de réalité augmentée par le passé. Encore une fois, la maitrise du software et du hardware combiné fait la différence.
Des concurrents à ARKit ?
Les concurrents sont déjà connus avec Hololens de Microsoft ou Tango de Google qui font des merveilles depuis 1 ou 2 ans mais les deux sont des produits en tant que tels, non distribués par million sur la planète alors qu'Apple a déjà un parc impressionnant d'iPhone et d'iPad. Voyons ce que l'avenir nous réserve mais encore une fois, Apple n'est pas le premier mais veut être le meilleur.
Si vous êtes développeur, jetez un oeil à ARKit et envoyez-nous vos exploits !
Les évolutions d’ARKit
Le SDK ARKit d’Apple a été depuis mis à jour en version :