Projets

[MP04g] Ma Réalité Augmentée

Objectifs :

  • Comprendre et savoir mettre en oeuvre un chaîne de traitement de réalité augmentée
  • Mettre en oeuvre plusieurs types de média : image, objet 3D, fluxvideo

Critères d'évaluation :

C1.2 Détailler ce qu'effectue tout ou partie d'un programme ou de l'algorithme associé, l'enchaînement des événements qui réalisent la fonction attendue par un programme

C2.3 Développer un programme, un document ou un fichier numérique

Lectures et travail demandés :

Définition

Le principe est de superposer des informations numériques à un flux vidéo du monde physique. La réalité augmentée en temps réel va permettre l'introduction d’objets 3D dans le monde réel par marqueurs. On parle aussi de Systèmes Interactifs Mixtes (SIM) : la fusion des mondes physiques et numériques …

Les applications sont diverses : tourisme, communication, jeux vidéos...

Vidéo de présentation avec Processing : CAN Augmented Reality Tutorial

Principe de fonctionnement

  1. Acquisition : acquisition numérique d'un flux vidéo.
  2. Détection : recherche dans cette image de motifs carrés, les "marqueurs". Pour chaque carré, identification du "pattern" situé à l'intérieur et mise en relation avec un des "patterns" prédéfinis.
  3. Localisation spatiale : calcul de la position de la caméra réelle dans le repère associé au pattern.
  4. Traitement : affichage du rendu graphique ou textuel, facilement "alignable" sur le monde réel.

[P] Mise en oeuvre avec processing

  1. Installer processing 1.5
  2. Installer les drivers de votre webcam si besoin
  3. Télécharger les librairies Processing (voir ressrouces) : NyARToolKit, GSvideo
  4. Décompresser ces libraires.
  5. Renommer le  sous dossier nyar4psg-1.3.1 en nyar4psg puis placer le dans le répertoire Documents/Processing/Librairies/
  6. Placer le sous-dossier GSvideo dans votre répertoire Documents/Processing/Librairies/
  7. Tester l'exemple GSVideo\examples\Capture\GettingStartedCaptureWin afin de valider la capture vidéo sous processing avec votre webcam.
  8. Imprimer les marqueurs pattHiro.pdf et pattKenji.pdf situés dans votre dossier Documents/Processing/libraries/nyar4psg/data/
  9. Ouvrir le sketch situé dans votre dossier Documents/Processing\libraries\nyar4psg\examples\for1.x\test\MultiMarkerTest
  10. Modifier le programme comme ci-dessous afin d'utiliser la librairie GSvideo :
import codeanticode.gsvideo.*;
import jp.nyatla.nyar4psg.*;
import processing.opengl.*;
PFont font=createFont("FFScala", 32);
GSCapture cam;
MultiMarker nya;
void setup() {  
     size(640,480,P3D);
     colorMode(RGB, 100);
         cam=new GSCapture(this,width,height);
         cam.start();
     nya=new MultiMarker(this,width,height,"camera_para.dat",new ......);
     nya.setARClipping(100,1000);
             .............

[G] Personnalisation de votre sketch

  1. Commenter chaque ligne du sketch en vous aidant de la documentation
  2. Modifier ce sketch afin d'afficher une sphere bleue et un cube jaune en rotation
  3. Créer deux nouveaux marqueurs (et patterns associés) et les mettre en oeuvre en modifiant le code du sketch (voir ressources: sites de créations de patterns en ligne).

[G] Insertion d'objets 3D dans votre sketch

  1. Télécharger la librairie processing (voir ressrouces) : ObjLoader
  2. Décompresser la librairie et la placer dans votre dossier Documents/Processing/Librairies/
  3. Ouvrir le sketch situé dans votre dossier Documents/Processing/libraries/OBJloader/examples/OBJLoader_Sample_SAITO
  4. Tester puis commenter ce sketch (utiliser l'aide associée : Documents/Processing/libraries/OBJloader/reference/index.html)
  5. Rechercher un objet 3D au format .obj sur le web
  6. Créer un programme afin d'insérer en réalité augmentée cet objet 3D en fonction du marqueur de votre choix

Ressources :

Librairies processing nécessaires :
[•] NyArtoolkit: librairie de réalité augmentée
[•] GSvideo: librairie de capture et de traitement vidéo
[•] ObjLoader : libraire de gestion d'objet 3D au format obj

Exemples de patterns et de marqueurs :
[+] Site Geometric Design and Computation de l'université d'UTAH

Création de marqueur en ligne :
[+] blog flash.tarotaro.org
[+] wiki de la librairie ARToolworks