12 février 2020

Microsoft Azure pour la réalité mixte

Qu’est ce que la Réalité Mixte et Azure?

La réalité mixte est souvent définie comme le croisement entre la Réalité Virtuelle et la Réalité Augmentée. Mais ce qui nous intéressera le plus est la partie Réalité Augmentée, le but étant de comprendre le monde réel afin de l’augmenter d’informations virtuelles qui permettent à l’utilisateur d’agir et de commander ses appareils. Via cette chaîne, plusieurs synchronisations peuvent s’opérer entre l’environnement réel et sa représentation virtuelle : c’est le concept de Digital Twins, deux jumeaux, réel et virtuel, qui ne font qu’un pour l’utilisateur. Les données métiers affichées peuvent être 3D (fichiers CAO, maquette BIM…) et 2D (PDF, images, vidéos…). Pour permettre cela, l’HoloLens prend sa place sur le terrain tandis que Azure prend un rôle omniscient.

Azure est un Cloud-Service-Provider, Microsoft a construit de gigantesques datacenters à travers le monde et les met à disposition via une plateforme de services. Microsoft propose aussi Azure Data Stack qui permet d’installer la suite Azure sur sa propre infrastructure. On peut distinguer les services Azure en deux groupes :

1- Les services IAAS (Infrastructure as a Service) permettent à une entreprise de louer des serveurs optimisés pour créer facilement une grosse infrastructure IT sans avoir en interne une équipe dédiée. Ces services se basent sur des technologies qui permettent une gestion automatique d’applications au sein d’un datacenter tels que les conteneurs et les orchestrateurs. Ces services invisibles pour l’utilisateur final permettent d’optimiser ses dépenses d’infrastructure IT. Ces dernières seront ajustées en temps réel en fonction de la consommation en services Azure. On parle plus souvent de migrer des applications dans le cloud que d’en créer pour de nouveaux cas d’usage.

2- Les services PAAS (Platform as a service) sont au contraire innovants et distinguent Azure de ses concurrents. Ils utilisent implicitement les services IAAS car ce sont des briques logicielles supplémentaires (sous forme de micro-service) pour des cas d’usages plus précis.

Vous pouvez retrouver ci-dessous quelques exemples de ces services pour la Réalité Mixte :

Azure Spatial Anchors

La première problématique de la Réalité mixte et de synchroniser la position du monde virtuel avec le monde réel (Spatial Alignment), aussi bien en temps réel (applications collaboratives) que d’une session à une autre. Cela peut se faire avec des traqueurs (QR Code, reconnaissance d’objets) ou avec des ancres (invisibles pour l’utilisateur et automatiques). Une application peut utiliser les ancres fournis par l’appareil ou utiliser le service Azure Spatial Anchors (ASA), les deux solutions présentent des avantages et inconvénients différents. ASA est cloud-based, les appareils doivent avoir une connexion internet pour accéder à des serveurs permettant centraliser les ancres entre plusieurs appareils. Chaque type d’appareil (HoloLens 1 , HoloLens 2, Android, iOS) gèrent les ancres natives différemment, elles ne sont donc pas compatibles les unes avec les autres. ASA au contraire utilise un système identique pour tous les appareils, qui se base sur un hachage des points d’intérêts reconnus par la caméra. Cela a l’avantage d’être multi-plateforme et anonyme, au prix d’une précision réduite sur HoloLens.

 

Azure Remote Rendering

Une des limitations de l’HoloLens est ses capacités graphiques, dû aux exigences des deux écrans transparents et des contraintes de taille et de poids des composants. Microsoft développe actuellement Azure Remote Rendering afin d’effectuer le rendu 3D sur un serveur cloud. Les capacités d’affichage deviennent alors similaires à un PC haut de gamme ce qui permet d’afficher des CAO complexes ou des effets de lumières plus réalistes. Vous pouvez visualiser un exemple de son utilisation dans le cadre du projet Apollo 11. L’Hololens envoie en temps réel sa position par rapport aux hologrammes et reçoit les images à afficher à l’écran, cela nécessite une bonne connexion internet et se fait tout de même au prix d’une légère perte de stabilité des hologrammes.

Azure Cognitive Services

Microsoft propose une large gamme de services pour l’intelligence artificielle, utilisant du machine learning et regroupés au sein des Azure Cognitive Services (ACS) que nous pouvons séparés en deux catégories :

1- Le conversationnel 

  • Speech-To-Text : reconnaissance vocale, pour écrire des notes sans clavier (très utile sur Hololens)
  • Reconnaissance de l’orateur : identifier la personne qui parle
  • LUIS : reconnaissance d’intention, interpréter une phrase naturelle et en extraire les données pertinentes, pour transformer la demande utilisateur en commande dans une application
  • Chatbot : générer des réponses naturelles et précises à l’utilisateur
  • Traduction en temps réel : supporte un grand nombre de langues pour rendre une application multilangues facilement
  • TTS : synthèse vocale, générer en temps réel une voix naturelle (avec de très bons résultats) à partir d’un texte

Tous ces services sont indépendants mais peuvent être combinés afin de créer un assistant virtuel complet avec lequel il est possible de discuter naturellement. Il est possible de créer un dictionnaire personnalisé et d’y ajouter des termes métiers. Le temps d’exécution de ces services est suffisamment court pour une utilisation en temps réel.

2- La vision

  • Reconnaissance faciale et d’objet : Ce service analyse le flux vidéo de la caméra pour voir si un objet ou une personne est présente. Il n’y a pas encore de suivi du sujet en 3D.
  • Reconnaissance de formulaire : Lorsqu’un formulaire et placé devant la caméra, les informations sont extraites en tenant compte de la mise en forme. Ce qui permet d’enregistrer rapidement un document et de l’envoyer.

L’avantage de ces services est que Microsoft gère seul les modèles de Machine Learning, il n’y a pas besoin d’avoir des compétences dédiées pour les utiliser.

Azure IoT

L’internet des objets est un secteur clé du cloud car un nombre important d’appareils doit pouvoir envoyer des données à un serveur centralisé. HoloLens (ou tout autre appareil mobile) a un double rôle, c’est à la fois un appareil IoT sur le terrain (qui peut envoyer données liées à ses capteurs ou son utilisation) et un visualiseur des données envoyées par les objets connectés. C’est très utile sur le terrain où l’on peut associer ASA pour consulter les données sur les appareils en question aussi bien pour de l’analytics que pour du temps réel. Azure propose une série de services pour l’IoT dont IoT Hub qui centralise l’enregistrement des appareils et la redirection des données vers des serveur de stockage consultables avec PowerBI ou PowerApp.

Azure pousse plus loin certaines capacités de l’Hololens, mais permet surtout de créer un écosystème complet de technologies pour l’industrie. Il est important d’avoir conscience des possibilités et contraintes de combiner ces deux domaines afin réussir sa transformation numérique !