1. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
ENSIIE2 — Option IRA
R´ealit´e Augment´ee — Tour d’horizon et techniques
Jean-Yves Didier
didier@ufrst.univ-evry.fr
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 1/66
2. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
1 G´en´eralit´es
D´efinitions
Chronologie, paysage et applications
2 Syst`emes de RA
Partie mat´erielle
Architecture globale des traitements
Comp´etences n´ecessaires
3 Probl´ematique et verrous
Localisation bas´ee vision
Syst`emes multi-capteurs
Composition des sc`enes de RA
Les difficult´es
Les occultations r´eel/virtuel
4 Architectures logicielles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 2/66
3. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
1 G´en´eralit´es
D´efinitions
Chronologie, paysage et applications
2 Syst`emes de RA
Partie mat´erielle
Architecture globale des traitements
Comp´etences n´ecessaires
3 Probl´ematique et verrous
Localisation bas´ee vision
Syst`emes multi-capteurs
Composition des sc`enes de RA
Les difficult´es
Les occultations r´eel/virtuel
4 Architectures logicielles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 3/66
4. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
D´efinitions
R´ealit´e augment´ee (RA) : d´efinition
D´efinition
Technique qui rend possible le mixage d’entit´e virtuelles
corr´el´ees avec des informations issues du monde r´eel dans le but
d’enrichir l’exp´erience utilisateur de la r´ealit´e.
R´ealit´e augment´ee visuelle
Forme de r´ealit´e augment´ee la
plus commune :
• Le monde r´eel est film´e ;
• Des images virtuelles sont
incrust´ees.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 4/66
5. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
D´efinitions
Syst`eme de R´ealit´e Augment´ee
Sch´ema de principe g´en´eral
Application
de R´ealit´e
Augment´ee
Dispositifs de
restitutionCapteurs U
Utilisateur
Mod`ele/Base
de donn´ees
Monde
r´e´el/espace
de travail
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 5/66
6. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
D´efinitions
Propri´et´es des syst`emes de RA
Propri´et´es [Azuma2001]
1 Combine objets r´eels et virtuels dans un environnement r´eel ;
2 Est temps-r´eel (`a faible latence) et interactif ;
3 Recale les objets r´eels et virtuels.
Continuum de Milgram [1995]
Environnement
r´eel
Environnement
virtuel
R´ealit´e
Augment´ee
Virtualit´e
Augment´ee
R´ealit´e Mixte
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 6/66
7. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
D´efinitions
R´ealit´e augment´ee et post-production
Post-production : d´efinition
• Organisation des traitements post´erieurs au tournage
conduisant `a la finalisation d’une production audio-visuelle ;
• Exemple : incrustation d’images de synth`ese dans un film.
Tron (1982)
RA et post-production
La post-production n’est pas temps-r´eel, donc pas de la RA.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 7/66
8. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
D´efinitions
Fonctionnalit´es principales d’un syst`eme de RA
• Assurer la coh´erence spatio-temporelle des augmentations ;
Localiser le syst`eme par rapport `a son espace de travail.
• Fournir une assistance `a l’op´erateur ;
Restituer l’information augment´ee `a l’op´erateur ;
• Traiter les commandes de l’op´erateur ;
Proposer des interactions `a l’op´erateur.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 8/66
9. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Chronologie de la RA
1966 : Ivan Sutherland, premier HMD pour RV et RA ;
1990 : Cr´eation du terme augmented reality, Tom Caudell,
David Mizell (Boeing) ;
1992 : KARMA, Steven Feiner ;
1999 : ARToolkit, Hirokazu Kato ;
2008 : Wikitude, application de RA sur smartphone ;
2013 : Google glasses.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 9/66
10. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Organismes de recherche impliqu´es en France
(Liste non exhaustive)
• CERMA (CNRS/Ecole Centrale de Nantes) ;
• Heudiasyc, ´equipe ICI (CNRS/UTC, Compi`egnes) ;
• IBISC, ´equipe RATC (Universit´e, Evry) ;
• IRISA, ´equipe LAGADIC (CNRS/INRIA/Universit´e/INSA, Rennes) ;
• LABRI, ´equipe POTIOC (INRIA/Universit´e, Bordeaux) ;
• LASMEA, ´equipe COMSEE (CNRS/Universit´e, Clermond Ferrand) ;
• LIG, ´equipe Tyrex (CNRS/INRIA/Universit´e, Grenoble) ;
• LIRIS, ´equipes R3AM et SAARA (CNRS/INSA/Universit´e, Lyon) ;
• LIMSI, ´equipes AMI et VENISE (CNRS/Universit´e, Paris-Saclay) ;
• LIST, programme Vision et multim´edia (CEA, Saclay) ;
• LORIA, ´equipe MAGRIT (CNRS/INRIA/Universit´e, Lorraine) ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 10/66
11. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Carte de la recherche en France en RA
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 11/66
12. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Entreprises en lien avec la RA en Europe
• Total Immersion (logiciel), Suresnes, France ;
• Laster (fabricant de lunettes), Les Ulis, France ;
• Wikitude (logiciel pour smartphone), Autriche ;
• Layar (solution de commerce en ligne), Pays-Bas ;
• Metaio (mat´eriel et logiciel), Allemagne ;
• Robocortex (logiciel), Sophia Antipolis, France ;
• Diotasoft (logiciel et mat´eriel), Massy, France.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 12/66
13. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
• Aide au geste chirurgical ;
• Valorisation du patrimoine (cultural heritage) ;
• Commerce virtuel ;
• Aide `a la maintenance ;
• Affichage tˆete haute (applications militaires et civiles) ;
• Divertissement : jeux vid´eo, retransmission sportives ...
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 13/66
14. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Planification, Cambridge (2005)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
15. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Valorisation du patrimoine, Abbaye de Cluny, ENSAM (2007)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
16. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Attraction, Les animaux du futur, Futuroscope (2008)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
17. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Tourisme, Wikitude (2008)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
18. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Jeu vid´eo, Invizimals, Sony (2010)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
19. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Commerce en ligne, Atol (2011) Militaire, HUD
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
20. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Chronologie, paysage et applications
Applications de la RA
En images
Sports Google glasses (2013)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 14/66
21. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
1 G´en´eralit´es
D´efinitions
Chronologie, paysage et applications
2 Syst`emes de RA
Partie mat´erielle
Architecture globale des traitements
Comp´etences n´ecessaires
3 Probl´ematique et verrous
Localisation bas´ee vision
Syst`emes multi-capteurs
Composition des sc`enes de RA
Les difficult´es
Les occultations r´eel/virtuel
4 Architectures logicielles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 15/66
22. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Partie mat´erielle
Capteurs et dispositifs de restitution
Capteurs
Cam´eras, centrales inertielles,
GPS, Flystick, bras haptique,
...
Dispositifs de restitution
´Ecrans, HMD, salles de r´ealit´e virtuelle, bras haptiques, ...
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 16/66
23. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Partie mat´erielle
Cat´egories de syst`emes (1/2)
D´efinitions
• R´ealit´e augment´ee en vision directe (RAVD) :
L’op´erateur per¸coit directement, le syst`eme n’effectue que le
rendu virtuel, le mixage s’effectue naturellement ;
En anglais : optical see-through augmented reality.
• R´ealit´e augment´ee en vision indirecte (RAVI) :
L’image est film´ee, trait´ee, puis restitu´ee sur un ´ecran
(exocentrique).
En anglais : camera see-through augmented reality.
• Rep`ere ´egocentrique : la vision est celle de l’utilisateur ;
• Rep`ere exocentrique : la vision est celle de la cam´era.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 17/66
24. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Partie mat´erielle
Cat´egories de syst`emes (2/2)
Exemple de syst`emes
• Lunettes semi-transparentes (RAVD) :
+ main libre, – synchronisation.
• Tablette-PC, Smart phone (RAVI) :
+ synchronisation, – main occup´ee.
• R´ealit´e augment´ee bas´ee projecteur (RAVD) :
+ main libre, synchronisation ;
– environnement fortement instrument´e.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 18/66
25. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Architecture globale des traitements
Sous-syst`emes / paquetage
Classification [McWilliams2003]
Application : Sc´enario, gestion centralis´e, boucle principale ;
Contexte : Contexte d’utilisation ;
Interaction : Modalit´es d’entr´ee utilisateur ;
Presentation : Gestion des augmentations / du multi-m´edia ;
Suivi/localisation : Localisation dans tous ses ´etats ;
Mod`ele du monde : base de connaissances.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 19/66
26. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Architecture globale des traitements
Fonction de localisation
(Appliqu´ee `a la r´ealit´e augment´ee bas´ee vision)
Cam´era Base de connaissances
Traitement d’images
Mise en correspondance
Estimation de la pose
image
primitives 2D
primitives 3D
couple 2D/3D
pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 20/66
27. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Architecture globale des traitements
Fonction de mixage
(Appliqu´ee `a la r´ealit´e augment´ee bas´ee vision)
Nature et provenance des donn´ees :
Sc`ene augment´ee
(dynamique)
Image
Param`etres
extrins`eques
Param`etres
intrins`eques
Objets 3D
Cam´era r´eelle
Algorithme de calcul
de pose
Calibration de cam´era
r´eelle
Modeleur, graphe de
sc`ene programm´e, etc
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 21/66
28. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Architecture globale des traitements
Boucle principale d’un syst`eme de RA
acqu´erir
donn´ees
traiter donn´ees
stocker dans
m´emoire
partag´ee
lire m´emoire
partag´ee
traiter
commande
utilisateur
restituer
information
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 22/66
29. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
30. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
31. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
32. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
33. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
34. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
35. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
36. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Standardisation des parties de logiciel.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
37. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Standardisation des parties de logiciel.
• R´eseau (applications distribu´ees) ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
38. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Standardisation des parties de logiciel.
• R´eseau (applications distribu´ees) ;
• Concurrence & multi-threading.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
39. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Standardisation des parties de logiciel.
• R´eseau (applications distribu´ees) ;
• Concurrence & multi-threading.
Exigences fonc-
tionnelles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
40. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Comp´etences n´ecessaires
Disciplines/comp´etences n´ecessaires
Une longue liste
• Traitement d’images ;
• Traitement du signal ;
• Interaction en r´ealit´e mixte ;
• R´ealit´e virtuelle / synth`ese d’images ;
• G´enie logiciel / programmation ;
Capitalisation de l’experience (reutilisabilit´e) ;
Solutions interchangeable (modularit´e) ;
Standardisation des parties de logiciel.
• R´eseau (applications distribu´ees) ;
• Concurrence & multi-threading.
Exigences fonc-
tionnelles
Exigences non-
fonctionnelles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 23/66
41. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
1 G´en´eralit´es
D´efinitions
Chronologie, paysage et applications
2 Syst`emes de RA
Partie mat´erielle
Architecture globale des traitements
Comp´etences n´ecessaires
3 Probl´ematique et verrous
Localisation bas´ee vision
Syst`emes multi-capteurs
Composition des sc`enes de RA
Les difficult´es
Les occultations r´eel/virtuel
4 Architectures logicielles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 24/66
42. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Rappel : fonction de localisation
(Appliqu´ee `a la r´ealit´e augment´ee bas´ee vision)
Cam´era Base de connaissances
Traitement d’images
Mise en correspondance
Estimation de la pose
image
primitives 2D
primitives 3D
couple 2D/3D
pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 25/66
43. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
D´efinitions / Types de localisation
D´efinitions
• recalage : technique faisant coincider point de vue r´eel et
point de vue virtuel en localisant le premier ;
• suivi : technique d’optimisation bas´ee sur l’hypoth`ese de
coh´erence spatio-temporelle ;
• estimation de la pose : technique visant `a obtenir la position
et l’orientation de la cam´era par rapport `a un rep`ere donn´e.
Divers syst`emes
• Utilisation de cibles cod´ees ;
• Localisation bas´ee mod`eles ;
• SLAM (Simultaneous Localization and Mapping) : localisation
dans un environnement reconstruit en mˆeme temps.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 26/66
44. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Rappel : estimation de la pose
Pose = position + orientation
• Se calcule `a partir de couples de points 2D/3D ;
• Minimise une erreur de projection entre points 3D transform´es
et points 2D de l’image ;
´equation de la forme :
argminR,t
i
||P(RVi + t) − vi | |
param`etres :
P : fonction de projection ;
R : matrice de rotation ;
t : vecteur de translation ;
Vi : point 3D ;
vi : point 2D.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 27/66
45. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Estimation de la pose
Un choix de diverses m´ethodes
• M´ethodes analytiques employant de 3 `a 5 points ;
• M´ethodes it´eratives :
POSIT ;
It´eration orthogonale ;
. . ..
• M´ethodes sp´ecifiques `a l’objet trait´e (ex : cible cod´ee).
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 28/66
46. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Le suivi
Un probl`eme de performances
Traiter les images dans leur int´egralit´e prend du temps !
Solution
• Restreindre les zones de traitement de l’image ou
• Appliquer des traitements plus simples sur l’image ;
• Exploiter la coh´erence temporelle entre deux images ;
• Techniques associ´ees : descripteurs (SIFT, SURF, . . .)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 29/66
47. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Les cibles cod´ees
Int´erˆet
• Syst`eme facile `a mettre en oeuvre ;
• Peu gourmand en ressources de calcul ;
• Comporte un syst`eme d’identifiant cod´e ;
Inconv´enient
• Site/objets instrument´e ;
• N´ecessite des surfaces planes ;
• Probl`eme d’occultation des cibles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 30/66
48. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
49. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
50. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
51. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
52. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
53. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
Traitements associ´es `a une cible cod´ee
Acquisition
Binarisation
Extraction des
contours
Approximation
polygonale
Identification
Estimation de
la pose
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 31/66
55. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Localisation bas´ee vision
SLAM : localisation et reconstruction simultan´ees
Sources
• Plusieurs images ;
• Plusieurs cam´eras.
Environnement inconnu
• Reconstruction au fur et `a mesure ;
• Emploi de la g´eom´etrie ´epipolaire ;
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 33/66
56. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Le Projet RAXENV
Objectifs
D´emontrer l’utilisabilit´e d’un syst`eme de RA pour les sciences
environnmentale telles que la g´eologie.
Nature du projet
• projet exploratoire ;
• financ´e par l’ANR (Agence Nationale de la Recherche) ;
• d´emarrer en f´evrier 2007, fini en juillet 2010 ;
• consortium : BRGM, IBISC (localisation), LaBri, ArchiVideo,
Lyonnaise des eaux.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 34/66
57. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Sc´enario envisag´e
Chˆateu de Saumur
• RA vu en tant que moyen d’acc´eder `a des donn´ees
g´eolocalis´ees ;
• D´emonstrateur utilis´e en tant qu’outil d’assistance pour g´erer
un chantier g´eotechnique.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 35/66
58. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
D´efis
D´efis g´en´eraux
• Localisation avec une faible latence ;
• Visualisation des donn´ees.
D´efis logiciels
• Int´egration de plusieurs moteurs ;
• Cas concret d’utilisation du logiciel maison (ARCS –
Augmented Reality Component System).
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 36/66
59. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Plate-forme mat´erielle
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 37/66
60. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Composants logiciels
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 38/66
61. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Localisation multi-capteurs
Chaque capteur a ses d´efauts ...
• GPS et centrale intertielle :
recalibration fr´equente ;
localisation grossi`ere ;
• Cam´era : capteur sensible aux changements de
l’environnement.
... et ses forces
• GPS et centrale inertielle : localisation globale ;
• Camera : bonne pr´ecision.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 39/66
62. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Localisation multi-capteurs
Id´ee principale
Combiner les donn´ees provenant des capteurs dans l’objectif de
compenser leurs faiblesses et gagner en pr´ecision et robustesse.
Strategies de combinaison
• Pratique courante : fusion de donn´ees ;
• Pratique moins courante : sch´ema d’assistance.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 40/66
63. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
Sch´ema d’assistance
Init
Vision
predominance
Recovery
Global
predominance
(1)
(2)(3)
(4)
(5)
(6)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 41/66
64. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Syst`emes multi-capteurs
R´esultats
Changements d’´etat Initialisation Visualisation in situ
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 42/66
65. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Contexte / Principe g´en´eral
RA en vision indirecte
• Une cam´era filme la sc`ene ;
• La sc`ene augment´ee contient l’image film´ee par la cam´era.
Probl´ematique du recalage
(Recalage : points de vue r´eel et virtuel align´es)
• Comment construire la sc`ene ?
• Comment lier les cam´eras r´eelle et virtuelle ?
• Comment r´egler les probl`emes li´es aux occultations ?
• Que faire si des probl`emes subsistent ?
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 43/66
66. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Composition simple
Arri`ere plan : image acquise
Point de vue
Premier plan : entit´es 3D
Sc`ene ´eclat´ee
Sc`ene visualis´ee
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 44/66
67. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Cam´era r´eelle
D´efinition
• Capteur plac´e `a un endroit et orient´e d’une certaine mani`ere
dans l’espace de travail :
Peut-ˆetre associ´e `a un rep`ere local ;
S’il existe un rep`ere associ´e `a l’espace de travail, la relation
liant les deux rep`eres (orientation + position) est exprim´ee `a
l’aide des param`etres extrins`eques.
• Capteur cr´eant une image 2D `a partir de l’espace de travail :
C’est une projection mod´elis´ee par les param`etres
intrins`eques.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 45/66
68. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Mod`ele de cam´era r´eelle (1/2)
Rappel : mod`ele du st´enop´e (pinhole)
Mod`ele de projection liant
• M, point 3D dans l’espace ;
• m, projet´e de M dans
l’image.
s.u
s.v
s
=
αu suv u0
0 αv v0
0 0 1
X
Y
Z
u
v
x
y
z
M(X, Y , Z)
m(u, v)
w
h
Plan
image
Centre
op-
tique
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 46/66
69. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Mod`ele de cam´era r´eelle (2/2)
Rappel : mod`ele du st´enop´e (pinhole)
Param`etres (obtenus par calibration)
αu : distance focale en largeurs de pixels ;
αv : distance focale en hauteurs de pixels ;
u0 : abcisse image du projet´e du point focal ;
v0 : ordonn´ee image du projet´e du point focal ;
suv : d´eviation de la matrice physique (souvent n´eglig´ee) ;
w : largeur en pixels de la matrice physique ;
h : hauteur en pixels de la matrice physique.
Hypoth`ese de travail
Tous les param`etres sont ≥ 0.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 47/66
70. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Mod`ele de cam´era virtuelle
Mod`ele g´en´erique
Pyramide tronqu´ee (frustum)
• Portion de l’espace
consid´er´ee visible ;
• D´elimit´ee par 6 plans de
coupe (clipping) ;
• Espace d´elimit´e
normalis´e ;
• Notion de profondeur qui
subsiste. x
y
z
left, top
right, bottom
far
near
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 48/66
71. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Relation en cam´eras r´eelle et virtuelle
Une application directe de Thales
near et far doivent ˆetre fix´es :
• De mani`ere arbitraire ;
• Ou en calculant la boˆıte englobante des objets de la sc`ene.
left = −
near
αu
.u0
right =
near
αu
.(w − u0)
bottom = −
near
αv
.v0
right =
near
αv
.(h − v0)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 49/66
72. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Mod`ele simplifi´e
Cam´era perspective
Disponible pour toutes
les APIs avec un jeu de
param`etres simplifi´es :
• θ : angle
d’ouverture ;
• a : rapport
d’aspect ;
• near et far.
x
y
z
θ
width
height
a = width
height
far
near
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 50/66
73. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Lien cam´era r´eelle / cam´era perspective
Id´ee g´en´erale
• Recouper l’image pour la rendre sym´etrique par rapport `a la
projection du centre optique ;
• near et far restent fix´es.
a =
min(u0, w − u0)
min(v0, h − v0)
θ = 2.atan
near
αv
. min(v0, h − v0)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 51/66
74. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Effectuer le rendu de l’image
Deux techniques pour l’effectuer
Transfert pixel `a pixel dans le framebuffer
• Pas d’anti-aliasing ;
• Pas disponible pour toutes les APIs 3D ;
• Reste tr`es bas niveau.
Quadrilat`ere textur´e
• Parfois plus lent ;
• Plus complexe `a mettre en oeuvre ;
• Permet de corriger les distortions radiales et tangentielles.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 52/66
75. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Sources de probl`emes (1/2)
Rep`ere image (projection)
• Point d’ancrage dans le plan image ;
• Directions principales du rep`ere image ;
• Param`etres intrins`eques positifs ou non (ex :
Faugeras-Toscani).
Rep`ere monde (transformation spatiale)
• Placement du rep`ere ;
• Directions (main gauche ou main droite ?) ;
• Information fournie par l’algorithme d’estimation de pose :
Pose de la cam´era par rapport au rep`ere monde ;
Pose de l’objet par rapport `a la cam´era.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 53/66
76. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Sources de probl`emes (2/2)
Conventions des APIs
• Quaternions : w, x, y, z ou x, y, z, w ?
• Notations anglo-saxonnes (matrices transpos´ees) :
Utilis´ee par les API 3D actuelles (OpenGL et Direct3D) ;
• Rectitude du rep`ere :
OpenGL : tri`edre direct (rep`ere main droite) ;
Direct3D : tri`edre indirect (rep`ere main gauche).
Param`etres choisis arbitrairement
Choix des param`etres near et far.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 54/66
77. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Composition des sc`enes de RA
Boˆıte `a outils matricielle
Inversion d’une matrice de transformation
M =
R33 t31
013 1
M−1 =
Rt
33 −Rt
33t31
013 1
L’explication des conventions anglo-saxonnes
Matrice transpos´ee = multiplication de vecteurs lignes !
X
Y
Z
1
=
R33 t31
013 1
X
Y
Z
1
The french touch
[X Y Z 1] = [X Y Z 1]
R33 t31
013 1
The english one
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 55/66
78. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les occultations r´eel/virtuel
Sc`ene complexe
Arri`ere plan : image acquise
Point de vue Premier plan : boˆıte
Plan interm´ediaire : entit´e 3D
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 56/66
79. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les occultations r´eel/virtuel
Gestion des occultations
Occultations non g´er´ees
L’augmentation perturbe la
perception des profondeurs.
Occultations g´er´ees
L’augmentation est int´egr´ee `a
son environnement.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 57/66
80. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les occultations r´eel/virtuel
Appart´e sur les cartes graphiques
Sc`ene 3D = polygones + textures.
Le travail de la carte graphique
1 D´ecomposer polygones et textures en fragments
(rasterization) ;
Propri´et´es des fragments :
1 fragment = 1 pixel dans l’image finale ;
Param`etres associ´es : u, v, profondeur, couleur.
2 Traiter les fragments :
Les fragments passent au travers de diff´erents tamis (buffer) ;
Les tamis sont programmables ;
Taille du tamis = taille de l’image finale.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 58/66
81. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les occultations r´eel/virtuel
Op´erations sur les fragments
Les tamis (buffers) usuels
Framebuffer : contient l’image finale ;
Z-buffer : test de profondeur ;
Stencilbuffer : masque ou pochoir.
5555
5555
555
555
55
55
5
5
777
10
77
7777
777777
Framebuffer
Z-buffer
Stencilbuffer
Fragments
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 59/66
82. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les occultations r´eel/virtuel
R´esolution du probl`eme des occultations
Aller plus loin que la composition simple !
La solution est `a rechercher du cˆot´e de la carte graphique
Utiliser les buffers
• Stencilbuffer : effectuer une premi`ere passe dedans
Possible si la g´eom´etrie des occultations est connue.
• Z-buffer : marquer directement les profondeurs :
N´ecessite de r´ecup´erer la profondeur des objets occultants
(kinect ?).
Faisabilit´e
• Cabl´e dans toutes les cartes graphiques actuelles ;
• N´ecessite parfois un interfa¸cage bas niveau.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 60/66
83. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
1 G´en´eralit´es
D´efinitions
Chronologie, paysage et applications
2 Syst`emes de RA
Partie mat´erielle
Architecture globale des traitements
Comp´etences n´ecessaires
3 Probl´ematique et verrous
Localisation bas´ee vision
Syst`emes multi-capteurs
Composition des sc`enes de RA
Les difficult´es
Les occultations r´eel/virtuel
4 Architectures logicielles
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 61/66
84. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Besoins en architecture
Objectif
• Cr´eer rapidement des applications de RA ;
• Appliquer une m´ethode `a un contexte.
Contraintes
• Discipline jeune (les m´ethodes ´evoluent) ;
• Capteurs exp´erimentaux.
Moyens
• R´eutiliser rapidement le code d´ej`a d´evelopp´e ;
• Standardiser le code pour le remplacer facilement.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 62/66
85. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Les solutions r´ecurrentes
Probl`eme et solution r´ecurrente
• Une trentaine de projets depuis une dizaine d’ann´ees !
[Endres2005]
• Un sch´ema r´ecurrent : l’utilisation de composants.
D´efinition : composant
Morceau de logiciel (script, service ou code compil´e) sujet `a
composition avec d’autres composants en vue de former un logiciel
complet.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 63/66
86. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Types d’approches
Approche flux de donn´ees (dataflow)
• Communaut´e de traitement de l’image ;
• Accent mis sur le cheminement des donn´ees entre divers
´el´ements de traitement.
Approche graphe de sc`ene (scenegraph)
• Communaut´e de r´ealit´e virtuelle ;
• Accent mis sur les hi´erarche des donn´ees.
Des approches compl´ementaires, non pas antagonistes
Les deux cohabitent souvent, simplement un des deux aspects est
privil´egi´e.
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 64/66
87. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Biblioth`eques et logiciels pour la RA (1/2)
Biblioth`eque de cibles cod´ees
• ARToolkit : http://www.hitl.washington.edu/artoolkit/
• ARTag : http://www.artag.net/
• ARUCO : http://www.uco.es/investiga/grupos/ava/node/26
Frameworks de laboratoires de recherche
• DWARF : http://ar.in.tum.de/Chair/ProjectDwarf
• Studierstube : http://studierstube.icg.tugraz.at/main.php
• Tinmith : http://www.tinmith.net/
• ARCS : http://arcs.ibisc.univ-evry.fr (non public)
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 65/66
88. G´en´eralit´es Syst`emes de RA Probl´ematiques et verrous Architectures logicielles
Biblioth`eques et logiciels pour la RA (2/2)
Exemple de briques plus fondamentales (int´egration)
• Traitement d’images : OpenCV ;
• Gestion de la 3D : Ogre, Coin3D, OpenSceneGraph ;
• Gestion de la distribution : CORBA ;
• Interface graphique : Qt ;
• Gestion des p´eriph´erique de RV : VRPN.
Et bien sˆur les solutions logicielles des entreprises cit´ees !
Jean-Yves Didier ENSIIE
R´ealit´e Augment´ee 66/66