La réalité augmentée est une technologie de plus en plus populaire qui a progressé énormément au cours des dernières années. Cependant, son développement présente des difficultés majeures. Notamment, la capacité d’estimer en temps réel la position et l’orientation de l’observateur, essentielle à une augmentation de qualité, est un problème fondamental qui n’a pas encore trouvé de solution robuste permettant le développement d’applications de réalité augmentée de haute précision sur des appareils mobiles. Les applications commerciales existantes ne fournissent qu’une augmentation approximative, ce qui est insuffisant pour des applications en ingénierie. Notre objectif est de fournir des outils de réalité augmentée à haute précision pour de telles applications. Nos travaux de recherche nous ont emmenés à développer une technologie permettant l’augmentation de panoramas urbains. Implantée sur des plateformes desktop et mobile, elle permet la superposition d’information géographique géolocalisée à des panoramas de type « streetview ». Elle peut être utilisée à distance, par exemple pour visualiser des infrastructures souterraines dans leur contexte réel, afficher l’historique de maintenance, et ainsi mieux planifier une visite sur le terrain. Elle peut aussi être utilisée directement sur le terrain à l’aide d’un pc « tablet », en permettant à un utilisateur de cliquer sur des objets du monde réel afin d’obtenir de l’information sur ces derniers, tel le nom du propriétaire (pour un édifice), l’historique de maintenance (pour une pièce d’équipement), la séquence de rinçage (pour une borne fontaine), etc. De telles applications de réalité augmentée basées sur des panoramas contraignent l’utilisateur à n’effectuer l’augmentation qu’à partir de positions fixes. Cependant, elle offre l’avantage de fournir une augmentation stable et précise, ce qui est requis dans les applications d’ingénierie. Dans cette présentation, nous décrirons notre technologie, discuterons de ses avantages et inconvénients, et montrerons des exemples réels de son utilisation en milieu urbain.
Présentation du Keynote du jeudi 20 octobre 2016 - M. Paul Ramsey
Utilisation de panoramas urbains pour applications de réalité augmentée à haute précision
1. Utilisation de panoramas urbains pour applications de réalité augmentée à haute précision St éphane Côté Yannick Barrette Stéphane Poirier
2. À propos de Bentley L a mission Bentley est de supporter les entreprises et les professionnels qui concoivent, construisent et opèrent les infrastructures.
20 minutes presentation, 5 minutes questions Bonjour à tous, Au cours de cette présentation, je vais décrire les récents résultats des travaux de recherche de notre équipe dans le domaine de la réalité augmentée. A quick note to those who would prefer to have a description of our work in english, please come to the Bentley System’s booth this afternoon. I’ll be available to answer your questions.
Pour ceux qui ne connaissent pas Bentley, Il s’agit d’une entreprise de développement de logiciel ayant pour objectif de fournir aux architectes, ingénieurs, constructeurs et propriétaires fonciers des solutions logicielles complètes pour le maintien des infrastructures. Nos utilisateurs concoivent, construisent et opèrent les infrastructures. Notre objectif est de les aider à faire leur travail mieux et plus rapidement.
Les ingénieurs et architectes concoivent des infrastructures par l’entremise de modèles. Ces modèles sont typiquement affichées et édités sur un ordinateur. Ils sont virtuels, et généralement visualisés en dehors de leur contexte réel.
Pour faciliter leur visualisation dans un contexte plus réel, par exemple avant qu’ils ne soit contruits, les modèles sont parfois rendus avec des textures, des ombrages, une image de fond, ou des objets naturels tels des arbres. Ces techniques prennent en fait des objets du monde réel, et les insèrent dans l’ordinateur. Un jour, on s’est demandé: pourrait-on faire l’inverse, c’est à dire retirer un modèle 3D d’un ordinateur, et l’afficher dehors, dans le monde réel. C’est ce qu’on appelle de la réalité augmentée.
Les utilisations potentielles de la réalité augmentée dans le monde des infrastructures sont nombreuses. En voici quelques unes:
Supposons que vous devez visiter périodiquement ce chantier de construction, afin de vérifier si le travaille progresse selon les échéanciers et que le travail est effectué selon les plans.
Vous pouvez apporter vos plans, et les comparer avec l’édifice. Identifier les différences n’est cependant pas une mince affaire, et requière une attention particulière aux détails. Vous devez deviner quelle portion du dessin vous voyez sur l’édifice, faire abstraction du fait que l’édifice n’est pas terminé, extrapoler la 3 ième dimension, etc. Et si vous désirez vous assurer que tout est construit au bon endroit, vous devez prendre des mesures… La comparaison serait beaucoup plus facile si vous pouviez…
Superposer le modèle à la réalité. Vous pourriez ainsi:
Afficher un modèle en fil de fer, pour comparaison de base
Ajouter des couches supplémentaires
Visualiser le modèle à une date ultérieure de construction…
Et même voir le modèle d’un autre point de vue. La superposition du modèle à la réalité pourrait rendre votre travail plus facile.
Disons maintenant que vous êtes intéressés au réseaux de tuyaux souterrains. Vous désirez trouver le trou d’homme qui vous donnera accès à une connection spécifique. Vous pouvez utiliser le plan du réseau, localiser votre propre position sur le dessin, faire la correspondance entre ce que vous voyez sur le terrain et le dessin, et éventuellement trouver le bon accès.
Un système de réalité augmentée pourrait vous permettre de trouver votre accès plus rapidement. L’utilisateur tiendrait simplement une tablette devant lui, et l’appareil afficherait…
… le réseau de tuyaux avec les liens vers les accès, en superposant le modèle 3D à l’image de la réalité. La structure du réseau deviendrait ainsi beaucoup plus claire pour l’utilisateur. De plus, le système pourrait:
Afficher des attributs sur les éléments,
Indiquer la localisation spatiale de fichiers reliés à ce secteur
Et si vous constatez un problème, vous pourriez laisser une note virtuelle, que les employés de la maintenance pourraient voir en utilisant eux aussi un système de réalité augmentée.
L’information utilisée pour l’augmentation ne doit pas nécessairement être un modèle 3D… Le système pourrait se contenter d’afficher des identifiants. Par exemple, il pourrait fournir de l’information à propos d’un puisart en visant dessus avec un curseur, <CLICK> Et en cliquant. <CLICK> <CLICK> Ou permettrait d’afficher de l’information sur tous les items d’un même type dans une image.
L’utilisation de la réalité augmentée pour les infrastructures offre beaucoup de potentiel. Cependant, comme vous le savez probablement tous, une bonne augmentation est très difficile à obtenir. En fait, l’augmentation est facile à obtenir si vous êtes prêt à accepter des compromis énormes. Cependant, si vous voulez une augmentation précise, d’un niveau de qualité requise par l’ingénierie, la tâche est un réel défi.
Le défi principal de la réalité augmentée est le recallage – c’est-à-dire la capacité de synchroniser parfaitement le modèle 3D à la réalité. En ingénierie des infrastructures, cette précision est absolument critique. Par exemple, comme vous le voyez ici, un mauvais recallage peut mener à une interprétation ambigüe, et à des mauvaises décisions. Si un utilisateur veut de l’information à propos d’une borne fontaine en cliquant dessus, il veut de l’information à propos de cette borne fontaine, et non pas le puisard qui se trouve 1 metre sur la droite.
Une augmentation précise n’est possible que si l’on connait exactement la <CLICK> Position, et <CLICK> L’ orientation de la tablette utilisée pour l’augmentation. Nous nous sommes demandés quel niveau de précision était requis pour obtenir une augmentation de qualité
Supposons une scène de ville, sur laquelle nous voulons augmenter
Ce trou d’homme qui se trouve à 2 mètres de distance. Si on ne mesure pas correctement la position et l’orientation de la tablette, alors le modèle ne s’affichera pas au bon endroit…
Comme ceci. Et la grandeur de l’erreur à l’affichage va dépendre de l’importance de l’erreur sur notre mesure. Alors quelle erreur maximale pouvons nous donc tolérer sur nos mesures de position et d’orientation? Supposons que nous développons une application de réalité augmentée pour l’ingénierie,
donc nous ne tolérerons qu’une erreur d’affichage de 1 pixel.
Alors il s’avère que l’erreur maximale que nous pouvons tolérer pour la mesure de l’orientation est de 0,09 degré, < CLICK > Et l’erreur maximale en position est 3,6 mm <CLICK> Et naturellement, il faut arriver à une telle précision à l’extérieur, et en temps réel.
Ce n,est pas facile. En fait, ca pourrait être facile si nous étions prêt à installer des appareils de mesure complexes et dispendieux tout autour de l’utilisateur. Mais si nous voulons un système permettant d’augmenter le monde n’importe ou sans nécessiter de pré-installation, le problème n’est vraiment pas facile à régler. Une facon de le simplifier est d’y ajouter des contraintes. La source principale du problème d’augmentation est l’utilisateur – il n’arrête pas de bouger… <CLICK> Alors la solution est simple – on n’a qu’a lui demander de ne pas bouger. <CLICK> Mais cette solution ne serait peut être pas très populaire… Cependant que se passerait-il si on permettait à l’utilisateur d’utiliser un trépied? <CLICK> J’admet qu’il s’agit d’une contrainte majeure, mais qui présente l’avantage de fournir une plateforme stable.
Maintenant si on place un appareil équipé d’une caméra sur un trépied, il s’avère que l’appareil percoit le monde comme <CLICK> …un panorama. Nous avons ainsi eu l’idée d’augmenter les panoramas comme une solution au problème de la mesure de la position de l’utilisateur. Un panorama est capturé à partir d’une position fixe, donc nul besoin de mesurer la position de l’utilisateur en temps réel. Et nous avons vite réalisé qu’il n’était pas nécessaire de capturer nos propres panoramas, puisqu’il en existe déjà un très grand nombre sur le web… Le problème qui restait à régler était: comment calculer un appariement parfait entre un modèle 3D et un panorama. Un étudiant de maitrise s’est penché sur le problème, et a proposé une solution qui s’est avérée très précise et robuste.
Voici donc un exemple d’un modèle 3D non initialisé
Et le résultat après initialisation. Une fois que nous connaissons ainsi la position du modèle par rapport au panorama, l’augmentation est facile à faire.
Supposons une situation où vous visualisez un panorama, et vous voyez un objet que vous voulez augmenter, par exemple ce couvercle de trou d’homme. <CLICK> Pour ce faire, vous visez l’objet avec le curseur, <CLICK> et cliquez dessus. Ce qui se passe en réalité est que le système trouve l’élément du modèle 3D le plus près de l’endroit où vous avez cliqué. <CLICK>. Le modèle n’est pas visible, mais étant donné qu’il est parfaitement synchronisé au panorama, chacun des éléments du modèle est situé au bon endroit par rapport à son objet correspondant dans le panorama. Ainsi, le système peut afficher l’information reliée à un objet du panorama en affichant les attributs de l’objet correspondant du modèle. <CLICK> Ca pourrait être l’identifiant, l’historique de maintenance, en fait toute information reliée à l’élément qui pourrait être stocké dans le modèle, dans une base de données, etc. Vous avez alors un système qui vous permet d’avoir de l’information sur un objet juste en cliquant dessus. Nous avons implanté un premier prototype, sous la forme d,une application desktop.
The user first loads the panorama of the area he wants to view, which we assume to be pre-anchored to the 3D model. (…)
Ce fut donc un succès. Mais ce que nous voulions vraiment était une application mobile. Alors disons que l’utilisateur est sur le site, et qu’il désire augmenter la scène. Voici comment le système pourrait fonctionner. Il utilise le GPS de la tablette pour obtenir sa position présente. <CLICK> L’appareil envoie cette information à un serveur de panorama <CLICK> qui lui retourne le panorama le plus près de sa position présente. Chaque panorama aurait préalablement été synchronisé au modèle 3D. Finalement, l’application mesure l’orientation instantanée de la tablette, en utilisant les données de son capteur d’orientation <CLICK>, et affiche la portion du panorama qui correspond avec cette orientation <CLICK> . Ainsi, ce qui est affiché à l’écran, ce n’est pas la réalité, mais plutôt une portion d’un panorama. Mais ce panorama est affiché dans la même orientation que la tablette, ce qui donne l’illusion qu’il s’agit de réalité augmentée. Par conséquent, ceci n’est pas de la réalité augmentée. Mais il s’agit d’une très bonne approximation, qui offre l’avantage de fournir une augmentation précise, ce que peu d’applications de réalité augmentée arrivent à faire aujourd’hui. Alors voici un vidéo de notre prototype mobile
The user walks with his tablet, with a pre-loaded panorama. As the user moves the crosshair on buildings, a 3D attributes model appears. As the user turns around, the device displays the portion of the panorama that corresponds to his instantaneous orientation.
Notez que si vous êtes intéressés à essayer ce prototype vous-mêmes, il sera disponible sur l’heure du midi et cet après midi au kiosque de Bentley Systems – j’y serai pour vous en faire la démonstration. De même, si vous seriez intéressés à éventuellement essayer une version beta de cette application, ou pour discuter de votre domaine d’application particulier, n’hésitez pas à venir me voir. En conclusion, nous avons développé 2 prototypes pour l’augmentation de panoramas. Un fonctionne sur un ordinateur de bureau <CLICK> , et permet de voir l’infrastructure dans son contexte réel, à partir d’un endroit éloigné (par exemple son bureau). L’autre fonctionne sur une tablette <CLICK>, à être utilisé sur le site, pour afficher de l’information à propos d’objets réels, juste en cliquant dessus. <CLICK> Augmenter des panoramas plutôt que la réalité offre des avantages majeurs: il offre une augmentation précise, parce que la position de l’utilisateur n’est calculée qu’une seule fois et ne change jamais. L’augmentation est aussi très stable, parce que l’utilisateur ne visualise pas la réalité, mais plutôt un panorama sur lequel le modèle est ancré. Il permet aussi l’augmentation d’une scène à partir d’un autre endroit, ce qui peut être utile pour préparer des visites sur le site, ou pour visualiser les endroits difficiles d’accès.
Cependant, la technique d’augmentation de panoramas a plusieurs désavantages. <CLICK> Premièrement, ce n’est pas de la vraie réalité augmentée. Par conséquent, <CLICK> l’utilisateur ne peut pas se déplacer, et voir le modèle de divers points de vue. Il est contraint par les positions de panoramas qui sont limitées en nombre. De plus, <CLICK> l’augmentation n’est pas en temps réel, puisque la scène est pré-enregistrée. Par conséquent, tout événement présent (par exemple un véhicule, un piéton) n’est pas visible sur l’augmentation. De même, comme le panorama est capturé avant l’augmentation, la scène peut avoir changé depuis. Par exemple, un édifice peut avoir été construit ou détruit, et la scène augmentée ne sera donc pas fidèle à la réalité.
Finalement, l’augmentation ne peut pas être réalisée facilement du même endroit d’où le panorama a été capturé, ce qui permtettrait d’avoir des conditions de visualisation idéales. La raison est que les panoramas sont souvent capturés à partir du milieu de la rue. On ne peut donc pas demander aux utilisateurs de visualiser la scène à partir de cet endroit pour avoir un bon point de vue… Pour toutes ces raisons, <CLICK> la scène augmentée sera nécessairement différente de la réalité. Cependant, notre expérience avec le prototype nous a montré que ces désavantages sont mineurs lorsque comparés avec la stabilité et la précision qui peuvent être obtenues par l’augmentation de panoramas. Par conséquent, nous croyons que l’augmentation de panoramas a beaucoup de potentiel puisqu’elle permet d’augmenter le monde extérieur avec précision dès aujourd’hui, sans qu’on ait à attendre que la technologie de positionnement ait suffisamment évolué.
Voilà, c’est tout! Juste avant de terminer, voici l’équipe d’étudiants qui ont travaillé sur ce projet durant les 2 dernières années – ils font tout le travail, ce sont eux les génies! J’aimerais les remercier pour le superbe travail qu’ils ont fait Ce projet a aussi été en partie rendu possible grâce à la participation financière du FQRNT et du CRSNG via 2 bourses d’études de maitrise. Nous aimerions aussi remercier les organisateurs de Géomatique 2011 pour nous avoir donné l’opportunité de présenter nos résultats au cours de cette conférence! Et surtout