Environnement de réalité augmentée : vers les jeux vidéos Raphaël Grasset Projet de DEA IVR Responsable : JD Gascuel iMAGIS/GRAVIR projet CNRS/INRIA/UJF/INPG
Introduction : Motivations Contexte : proposer un environnement de jeu utilisant un système informatique. Conservation des avantages d'un jeu réel Communication, interaction ..etc.. pour de petits groupes Conservation des avantages d'un jeu virtuel animations (personnages, effets spéciaux) calculs complexes informations évolutives
Réalité Augmentée: Historique Rapide (1/2) Définition : superposition d'informations virtuelles à l'environnement réel Projet KARMA : Première démonstration de faisabilité (guide de Maintenance) [Feiner,1992]
Réalité Augmentée: Historique Rapide (2/2) Mettent en avant un certain nombre de “points durs” : Alignement Réel/Virtuel (Calibration) Erreur de mesures Latence (délai mesure-vision) Occultations (devant et derrière) [Bajura,1992] [Sims, 1994]
PLAN Introduction Matériel Acquisition de « Qualité » Interaction 3D Conclusion
Le capteur SAGEIS Principe filtre infrarouge Poutre de support Caméra linéaire à optique cylindrique Caméra Point D'intersection Intersection entre le plan gauche et le plan de droite
Manipulations avec le capteur SAGEIS Expérimentation (15 jours) Calcul et simulation hors-ligne LED infrarouge LED infrarouge
Le capteur "Flock of Birds" Moins précis, mais disponible Principe Repère Camera Repère Capteur Repère Emetteur Repère Capteur Repère Pointeur Repère du Monde
Manipulation avec le capteur "Flock of Birds" émetteur caméra pour la soutenance capteurs
PLAN Introduction Matériel Acquisition de « Qualité » Interaction 3D Filtrage (Kalman) Calibrage du stylet Reconnaissance de geste Interaction 3D Conclusion
Utilisation d'un filtre de Kalman (1/2) Initialisation de X et P Etat X, Covariance P Etape de mise à jour de la prédiction (Predicteur) Etape de mise à jour de la mesure (Correcteur) Extrapolation basé sur X position prédite Entrée Capteur Principe [Kalman,1961] [Liang,1991] Utilisation filtrage du bruit de mesure prédiction : solution à la latence
Utilisation d'un filtre de Kalman (2/2)
Calibration du stylet (1/2) Problème : Où est la pointe du stylet par rapport au capteur ? Recherche du point fixe par minimisation [Tuceryan,1995] R3,T3 R2,T2 R1,T1 Pw Pt
Callibration du stylet (2/2) Optimisation de la procédure 4 mesures "approximativement pyramidale" Désalignement
Reconaissance de geste Problème : passage de commandes rapidement [Starner,1995] Geste simple : déplacement horizontal sur le plateau de jeu Extension à une trajectoire complexe : successions de segments sur le plateau de jeu Ex : “CFC “
PLAN Introduction Matériel Acquisition de « Qualité » Interaction 3D Boutons et Menus Ajout d’objets Déplacement de pions Conclusion monde horizontale
Boutons et Menus (1/2) PIP [Szalavari,1997] Sensation de contact Déplacement vertical pour la sélection d’un élement Validation
Boutons et Menus (1/2) barre de menus sélection du deuxième item du première item
Ajout d’objets Pourquoi ajouter des objets Réels ? interaction (pion virtuel placé dessus) occultation (pion virtuel placé derrière) Pourquoi ajouter des objets Virtuels ? 2 cas : pour des objets dont le modèle 3D est inconnu pour des objets dont le modèle 3D est connu
Exemple : digitalisation d’un parallélogramme (1/2)
Exemple : digitalisation d’un parallélogramme (1/2) premier point fixé point libre point libre plan créé cube virtuel superposé
Placement d ’un objet connu par une arête Géométrie connue Méthode d’ajout par arête commune Contrainte d’horizontalité 2 clics suffisent Boîte englobante Objet virtuel Arête de réference Base Faire tourner l’objet pour Finir l’alignement Repère du monde Repère du monde Objet réel Objet réel superposé Au virtuel Objet virtuel On a la position et l’orientation de l’objet
Placement par rotation Z d ’un objet Pas d’arête “simple” Méthode d’ajout par centrage Contrainte d’horizontalité 1 clic-glissé suffit Boîte englobante Objet virtuel Base Repère du monde Repère du monde Objet réel aligné avec le virtuel Faire coincider l’objet par rotation autour du centre On connait la position et l’orientation de l’objet
Placement sur un objet réel pion réel
Déplacement de pion virtuel (1/3) Pourquoi : action principale dans un jeu ! Méthode “Lever-Déplacer”
Déplacement de pion virtuel (2/3) Méthode “Glisser” animation du déplacement
Déplacement de pion virtuel (3/3) trajectoire pion virtuel
Contributions Procédure de calibrage de la tête et du stylet Ajout dynamique d’objets Déplacement de pions Reconnaissance de geste Extensions futurs illumination ombres modèle réaliste navigation dans un espace virtuel
Creation de la scène utilitaires de créations
Calibration de la camera (1/4) Repère camera Repère capteur
Calibration de la camera (2/4) cube réel + cube virtuel Vue fixe Repère capteur Repère camera
Calibration de la camera (3/4)
Calibration de la camera (4/4)
Vidéo