Introduction à la Réalité Augmentée

Fivos DOGANIS

whoami

💼 linkedin.com/in/fivosdoganis
📧 fivos.doganis@gmail.com
🐦 @fdoganis

photo de couverture: www.instagram.com/steveroe_

University of Hull

  • Master of Science by Research (2001)
    Augemented Reality in Archaeology: Registration Issues

IRCAD (2002 - 2003)

  • Institut de Recherche contre les Cancers de l'Appareil Digestif
  • Startup
    • équipe Virtual-Surg
  • Ingénieur Réalité Augmentée

Dassault Systèmes (2003+)

  • Ingénieur Visualisation 3D
    • Scenegraph
    • Matériaux
    • Géometrie, Maillage
  • Ingénieur Réalité Virtuelle et Réalité Augmentée
  • Ingénieur de Recherche

Objectifs du cours

  • Théorie

    • Définitions
    • Histoire
    • Usages
    • Interactions
  • Pratique

    • Présentation des outils existants
    • Programmation Web AR

📅 Planning

  • Jour 1

    • 📖 Théorie
    • 🍜 Déjeuner
    • 💻 Exercices pratiques
    • ⚗️ Exploration des exemples + choix du projet personnel
  • Jour 2

    • 🖊️ Evaluation: Quizz ~20 min
    • ⭐ Projet personnel ➡️ points bonus!

Applications AR

Applications grand public

Pokemon GO AR+

Minecraft Earth

SnapChat

IKEA Place

HomeByMe

IGN Time Machine

Applications professionnelles

  • Industrie
  • Santé
  • Marketing

Renault Trucks

Zeal AR

Alain Afflelou

Définitions

Définitions

Milgram, Paul; H. Takemura; A. Utsumi; F. Kishino (1994). "Augmented Reality: A class of displays on the reality-virtuality continuum".

Version de Google

Propriétés d'un système d'AR ⭐

(d'après Azuma, 2001)

  • combine objets réels et virtuels dans un environnement réel
  • est interactif et temps-réel
  • recale les objets réels et virtuels

Contre-exemples d'AR

  • Effets spéciaux de cinéma
    • technologie proche de l'AR
    • pas temps-réel
    • pas dans un environnement réel
  • Google Glass
    • combine objets réels et virtuels dans un environnelent réel
    • mais pas de recalage
    • c'est un HUD (Head-Up Display) Affichage tête haute
      • peut rendre tout de même service! (maintenance, sport etc.)

This is not AR!!!

Définitions ⭐

  • AR : Augmented Reality (Réalité Augmentée) Thomas P. Caudell, 1990

  • VR : Virtual Reality (Réalité Virtuelle) Jaron Lanier, 1987

  • MR : Mixed Reality

    • terme marketing utilisé par Microsoft
    • ⚠️ pas de définition claire! Terme à définir avant utilisation
  • XR : X = { eXtended / Cross (+) / Any (*) / A+V } Reality

    • terme générique récent qui englobe AR et VR

VR vs AR

AR ou VR?

  • Technologies similaires

    • Rendu 3D
    • Tracking
    • Interactions immersives
  • Effets différents sur l'utilisateur

Effets de la VR

  • Isole utilisateur du monde extérieur
  • Le téléporte dans un autre monde, entièrement virtuel

Tiltbrush

ITI

Aux limites de la VR

  • Rappel: continuum!
    • Pas de frontière nette
  • Quand on commence à modéliser entièrement le monde réel est-ce encore de la VR?
  • Photogrammétrie
    • VR mais immersion dans un monde réel entièrement reconstruit

Greg Madison @ Unity

Effets de l'AR

  • L'utilisateur garde contact avec le monde extérieur
  • L'AR enrichit le monde réel avec des informations contextuelles
  • Utilisateur augmenté: acquiert de nouveaux sens!
  • Informations deviennent visibles
    • couche d'informations spatialisées par-dessus le monde réel

Google Maps AR

Le navigateur internet
du futur?
🧐

Audi

Aux limites de l'AR

  • Rappel: pas de frontière nette!
  • Quand plus de virtuel que de réel : Augmented Virtuality
    • Fenêtre vers le réel
    • Utilisateurs réels visibles

Augmented Virtuality

Dangers de l'AR

  • Excès d'information: Hyper-reality
    • Réalité diminuée nécessaire?
  • Excès d'assistance, altération des comportements, fichage
    • Black Mirror: Nosedive
  • Fracture numérique
    • Il manquerait un sens à certaines personnes, daltoniens de l'AR
  • Vie privée: la guerre des Clouds
AMAMA = Apple Meta Alphabet Microsoft Amazon

Hyper-reality

Black Mirror

A retenir ⭐

  • La VR plonge l'utilisateur dans un monde virtuel
  • L'AR fait apparaître des objects virtuels dans le monde réel

Choix de la technologie

  • Immersion désirable ?

    • Oui ➡️ VR
    • Non ➡️ 3D simple
  • Immersion et utilisation de l'environnement réel ?

    • Oui ➡️ AR
    • Non ➡️ VR
  • Bien garder en tête continuum pour décider de la meilleure expérience possible

Choix de la technologie

Histoire

Comprendre les évolutions pour anticiper l'avenir

Histoire

Les grandes étapes

Préhistoire (1966)

Markers (1999)

  • Markers monochromes
  • ARToolkit créé par Hirokazu Kato

  • Variantes: ARTag, ArUco
  • PC + Webcam

NFT, GPS (2005)

  • NFT: Natural Feature Tracking
    • Tracking de photos couleur
  • Wikitude, Layar (GPS)
  • Vuforia
  • Usages marketing
  • PC Mobile, Tablettes

SLAM, 3D (2015)

  • Tracking d'environnements 3D
  • SLAM: Simultaneous Location And Mapping
  • Tracking d'objets 3D
  • Deep Learning
  • Occlusion 3D
  • ARKit, ARCore
  • Smartphones, HoloLens, Azure Kinect

Azure Kinect + HoloLens 2

HoloLens 2

Apple LiDAR

iPad Pro 2020, iPhone 12 Pro

Apple LiDAR vs FaceID

Futur proche

  • Form-factor: lunettes
  • AI
    • anticipation du contexte
    • compréhension de la scène et des utilisateurs
  • 5G
    • streaming des applications et des informations (Edge)
  • Web spatialisé: AR Cloud

Futur lointain

  • l'AR remplacera ou complètera le smartphone
    • les utilisateurs vont relever la tête
      • mais vont-ils voir mieux pour autant?
  • Lentilles de contact
  • Ambient Computing
  • Ubiquitous Computing
  • Smart Cities

Gartner Hype Cycle

Où en sommes-nous?

Stratégie des AMAMA

Apple, Meta, Alphabet, Microsoft, Amazon
et les autres!

AR [is for] adding shared meaning in the interaction between people.
Johnny Lee, Google I/O 2017

Google Glass Enterprise Edition 2

Gorillaz mobile AR app

I’m excited about AR [...] My view is it’s the next big thing, and it will pervade our entire lives.
Tim Cook, Apple CEO, via Silicon Republic

  • Apple attend d'avoir une UX peaufinée avant toute annonce
  • Nombreuses acquisitions dans le domaine de l'AR
  • API ARKit et AR Quick Look, concurrence ARCore de Google
  • Veut compléter son offre de 'wearables', après les écouteurs et la montre, les lunettes connectées au téléphone
  • démocratise le LiDAR pour un SLAM robuste

Project Aria

Oculus Infinite Office

Oculus Meta Quest 2

Meta Quest Pro

  • Amazon se concentre sur le e-commerce et ses Web Services
  • AR View pour voir un produit chez soi avant de l'acheter
  • Propose l'outil web Sumerian payant via ses AWS (Amazon Web Services) pour créer des expériences d'AR et de VR
  • Lien avec machine learning, assistants intelligents (Alexa)
  • Mise sur l'AR à la demande via la 5G avec son projet Wavelength
    • 5G + Edge computing
    • AWS

  • Grand public: Minecraft
  • Mise sur l'AR et les industriels, véritable plus-value
    • assistance et formation
  • HoloLens 1 et 2, Kinect
  • VR: partenaires OEM

Autres acteurs

A retenir

  • Les géants de la technologie investissent massivement sur l'AR, réelle technologie d'avenir en évolution permanente
    • matériel
    • algorithmes
    • services, data
  • De nombreux acteurs essayent d'attirer les utilisateurs dans leur ecosystème fermé (matériel, app store, cloud)
  • Certains misent sur l'ouverture du Web pour la création et le partage d'expériences d'AR ouvertes
    • objectif de ce cours! 🎉

Pour aller plus loin

Types d'AR ⭐

Lynx-R1: page suivante

Lynx-R1 (video)

PAUSE

30' ⌛

Technologies indispensables à l'AR

Calibration
Tracking
Interactions
Rendu

Calibration

  • ou encore étalonnage
  • But: faire coïncider le rendu virtuel avec l'image réelle

Calibration pour AR optique

  • très complexe
  • dépend du matériel
    • système de projection et de formation de l'image
  • dépend de la physionomie de l'utilisateur
  • effectuée par le fabricant de casque AR
    • ajustements possibles pour chaque utilisateur, cf. HoloLens

Calibration de la caméra vidéo

  • But: déterminier les caractéristiques optiques de la caméra réelle
    • focale
    • distorsion radiale, imperfections
  • Méthode:
    • capture d'images de motifs connus (grilles, damiers de calibration) avec la caméra réelle
  • ⚠️ Attention si la focale varie (autofocus)
    • mettre à jour les données de calibration à chaque frame
    • dans ce cas données fournies par l'API (ARKit, ARCore, WebXR)

Méthode de calibration

scale

Pinhole camera model: sténopé

scale

Paramètres extrinsèques et intrinsèques

Coordonnées 3D ➡️ Coordonnées 3D Caméra ➡️ Coordonnées Image

scale

Projection

s  p=A[Rt]Ps \; p = A [R|t] P

s[uv1]=[fx0cx0fycy001][r11r12r13txr21r22r23tyr31r32r33tz][XwYwZw1]s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = \begin{bmatrix} {f_x} & {0} & {c_x} \\ {0} & {f_y} & {c_y} & \\ {0} & {0} & {1} \end{bmatrix} \begin{bmatrix} r_{11} & r_{12} & r_{13} & t_x \\ r_{21} & r_{22} & r_{23} & t_y \\ r_{31} & r_{32} & r_{33} & t_z \end{bmatrix} \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix}

(Xw,Yw,Zw)(X_w, Y_w, Z_w) coordonnées 3D, repère monde OwO_w
(u,v)(u, v) coordonnées projetées (pixels)
[Rt][R|t] matrice extrinsèque, AA matrice intrinsèque
(cx,cy)(cx, cy) point principal (pixels), centre de l'image dans le cas idéal
fxf_x et fyf_y focales en x et en y (pixels), égales dans le cas idéal

Distorsion radiale non linéaire

  • induite par la lentille, modélisée par un polynôme
    xdistorted=x(1+k1r2+k2r4+k3r6)x_{distorted} = x(1 + k_1 r^2 + k_2 r^4 + k_3 r^6)
    ydistorted=y(1+k1r2+k2r4+k3r6)y_{distorted} = y(1 + k_1 r^2 + k_2 r^4 + k_3 r^6)

scale

Registration

  • ou encore recalage
  • But: trouver la transformation rigide [Rt][R|t] entre un point 3D et le centre de la caméra

Estimation de la pose

• Se calcule à partir de couples de points 2D/3D
• Optimisation: minimisation de l'erreur de projection entre points 3D transformés ViV_i et points 2D de l’image viv_i

arg minR,tiP(RVi+t)vi\argmin_{R,t}\displaystyle\sum_{i} ||P(R V_i + t) - v_i ||

PP: fonction de projection
RR: matrice de rotation
tt: vecteur de translation

Tracking

  • ou encore suivi
  • après recalage initial (registration)

Tracking

  • Degrés de liberté (DOF: Degrees Of Freedom)
    • 0 DOF
      • pas de tracking!
      • juxtaposition des informations, cf. HUD
    • 3 DOF
      • rotation uniquement (gyroscope, accéléromètre, boussole)
        • expérience limitée (parfois suffisante, cf. planétarium)
    • 6 DOF
      • rotation + position

3 DOF

6 DOF

Techniques de tracking

GPS
Marker
NFT
SLAM
3D

Techniques de tracking

  • GPS
    • global, pas besoin de réseau ✅
    • sans traitement d'image ✅
    • en extérieur uniquement ❌
    • lent ❌
    • peu précis ❌

Techniques de tracking

  • Marker
    • précis, rapide ✅
    • tangible, imprimable ✅
    • besoin d'afficher un marker pour faire de l'AR ❌
    • inesthétique ❌
    • détection problématique (luminosité, flou, occlusions) ❌
  • NFT: idem mais
    • plus esthétique, facile à intégrer dans le réel (publicité)✅
    • supporte mieux les occlusions✅

Techniques de tracking

  • SLAM: évolution du NFT + reconstruction
    • expérience plus naturelle sans marker ✅
    • reconstruction partielle de la scène ✅
      • permet des traitements avancés
    • peu précis ❌
      • dérive, fermeture de boucle
      • scène reconstruite en permanence et affinée en temps-réel
      • difficulté de placer l'origine de la scène
        • utilisation de points d'ancrage ("anchors")

Techniques de tracking

  • 3D: détection d'un objet 3D dans une scène réelle
    • par traitement d'image (analyse de l'éclairage, des arêtes, de la silhouette)
      • algorithme générique ✅
      • mais lent, surtout à la détection ❌
    • par apprentissage (Deep Learning)
      • détection plus rapide ✅
      • robuste aux occlusions et au changement d'éclairage ✅
      • non générique: nécessite une phase d'apprentissage ❌

Techniques de tracking

Conclusion

  • Aucune technique de tracking n'est idéale
  • Il faut toutes les avoir en tête et choisir en fonction:
    • du scénario de l'expérience d'AR
      • contexte industriel, grand public, généricité
    • des contraintes
      • intérieur, extérieur, mobile

Rendu

Rendu

  • Réaliste ou non
  • Illumination
    • détection de l'intensité et de la direction de la lumière de la scène réelle
    • reconstruction rapide pour simuler les reflections (SLAM + IA)
  • Occlusions

Interactions

  • L'autre partie de l'équation
  • Souvent négligées (cf. NReal)
  • Myth of the dying mouse (p. 17)
    • à chaque format sa technique de pointage
  • L'équivalent de la souris AR / VR reste à inventer!

Techniques d'interaction

  • Ecran, si on est sur un smartphone 📱
    • peu immersif mais précis, et offre un bon contact pour interagir
  • Manettes avec boutons 🎮
    • bon retour physique mais pas immersif
  • HoloLens GGV : Gaze, Gesture, Voice 👀 ✋ 👄
    • interactions naturelles, sans périphérique externe
    • séduisant mais fatigant, pas discret ("hé Cortana!"), et peu précis
  • Interactions tangibles ✏️ 🔲
    • markers ou accessoires pour ajouter une dimension haptique

Interactions

Conclusion

  • Les interactions en AR immersive restent à inventer!
  • Il n'y a aucun paradigme d'interaction qui se soit imposé pour le moment
  • Il faut guider l'utilisateur et essayer de comprendre ses itentions

Fin

de la première partie!

Questions?

PAUSE

🍜

reprise à 13h30

Extra :)

Reconstruction 3D

Liens

http://www.ign.fr/institut/innovation/minecraft-a-carte

http://lsc.univ-evry.fr/~didier/home/lib/exe/fetch.php?media=cours:ra:ra.pdf

Photo Credits

https://unsplash.com/photos/RgPVZvA4wBM

https://unsplash.com/photos/r2CAjGQ0gSI

www.instagram.com/steveroe_

# ![height:110px](https://www.isep.fr/wp-content/themes/isep/img/logo_isep.svg)

![bg right](https://d201n44z4ifond.cloudfront.net/wp-content/uploads/sites/6/2019/10/16165332/Screen-Shot-2019-10-15-at-12.56.22-PM.png)

![bg left:50%](https://events.3ds.com/sites/default/files/styles/playground_experience_medium/public/2019-03/immersive-collaboration-experience-tribe-2-experience-1_0.PNG)

![bg](https://media.wired.com/photos/59267509f3e2356fd80094d1/master/pass/Singapore_Bishan_windsim_HP.jpg)

![bg fit](https://mms.businesswire.com/media/20141112006720/en/441072/4/Dassault_Systemes_Living_Heart_1.jpg)

![bg 110%](http://www.cao.fr/images_cp/plein/6772.jpg)

https://marknb00.medium.com/what-is-mixed-reality-60e5cc284330

nreal

edge computing

pause

pause

TODO: Schemas: pinhole, formules, eqautions, damiers, lien vers Matlab, lien vers cours ENSG

voir mozvr ou GIF

à illustrer!

openvslam https://github.com/xdspacelab/openvslam/issues/108

![bg 140%](https://i.ytimg.com/vi/jNbYcw_dmcQ/maxresdefault.jpg)

Cover

https://unsplash.com/photos/muiuZ6cKtlA https://unsplash.com/photos/6Avhuh6UP2Y https://unsplash.com/photos/UVP-NlZEf0Y https://unsplash.com/photos/Ib2e4-Qy9mQ https://unsplash.com/photos/3MjyZPUZKIQ

Project cover

https://unsplash.com/photos/msnyz9L6gs4 https://unsplash.com/photos/T6BsBZdGwbg https://unsplash.com/photos/8r3Otv1zy0s https://unsplash.com/photos/eft_khJJgug https://unsplash.com/photos/qnBMlkav-j8 https://unsplash.com/photos/QJv-TlL1T9M https://unsplash.com/photos/KBDTG8IvlpI https://unsplash.com/photos/beIw89byFlw https://unsplash.com/photos/bs4qtd2NsGI https://unsplash.com/photos/lPbq-op9zno https://unsplash.com/photos/6vEqcR8Icbs https://unsplash.com/photos/qRkImTcLVZU https://unsplash.com/photos/Evp4iNF3DHQ https://unsplash.com/photos/7wBFsHWQDlk https://unsplash.com/photos/Vq2HnMA0Bp4 https://unsplash.com/photos/V_7xg72F3ls https://unsplash.com/photos/RPFL38ZZikA https://unsplash.com/photos/Ksn5ggA3L8s https://unsplash.com/photos/9Eheu3sIgrM