Augmented Reality Toolkit

Slides:



Advertisements
Présentations similaires
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
Advertisements

Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
1 1 Projet doption Réalité Virtuelle Simulation dun habitat domotisé Florent Renault Xiaoyu Gao Mercredi 27 mai 2009.
Atlas cartographique du Sandre
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Formation universitaire à .NET: Introduction à C#
Tous droits réservés. Reproduction intégrale ou partielle interdite sans autorisation écrite de la partdu titulaire des droits dauteur. Institut de Formation.
Portée des variables VBA & Excel
1 1 Momentum. 2 2 Tout objet en mouvement continuera son mouvement tant que rien nentrave sa progression.
GUIDLINE DE PRESENTATION DE LA FORMATION Architectures de Messageries (1) version du 7 Mars 2011 Temps : 4h A imprimer afin de pouvoir le suivre et noter.
GEF 243B Programmation informatique appliquée
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Projet n°4 : Objecteering
Formation Technique 6èmepartie.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
MySQL I / Présentation. II / Administration et Outils.
1 UMLV 1. Introduction 2. Hachage ouvert 3. Hachage fermé 4. Implémentation des fonctions Méthodes de hachage.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Indicateurs de position
Diffusion Nationale TOULOUSE -Mars 2006 Structure et Services « STS » Les échanges.
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
VI50 – TP3 Introduction à Virtools. Virtools Virtools Media Design 3DS, Maya, Lightwave… Sound Design wav, mp3… Texture, 2D interface jpg, bmp… Specific.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
1 Visualisation avec OpenGL Jérémie Allard 4 Novembre 2002.
Interface Homme Machine IHM Pro
Gestion de la communication par établissement sur le site ville
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Monique THONNAT et Nathanaël ROTA Projet ORION
ALGORITHMES RECURSIFS
II. Chaînage, SDD séquentielles
Web Services - ADFS Pellarin Anthony En collaboration avec : Sogeti 1.
Principes de persistance dans les applications orienté objet
Transformations de visualisation en OpenGL
1 Les pointeurs et quelques rappels sur certains éléments du langage C.
L’utilisation des bases de données
Des outils pour le développement logiciel
Gestion des événements liés à la fenêtre et aux périphériques dentrée.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
SIDENA BTS IRIS Session 2008 CARME Arnaud.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
Développer en C avec Eclipse Introduction Création d'un projet Ajout de fichiers Compilation Exécution Utiliser le débogueur Département dinformatique.
Interprétation de séquences dimages pour des applications MédiaSpace Alberto AVANZI François BREMOND Monique THONNAT Projet ORION INRIA de Sophia Antipolis.
Détection d’intrusions
Programmation concurrente
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
SYSTEMES MIXTES MOBILES ET COLLABORATIFS
COURS DE PROGRAMMATION ORIENTEE OBJET :
BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli
Chapitre 3 Les bibliothèques de balises JSP et la JSTL
2 Développer, tester et déployer un site web avec WebMatrix (RIA101) Christine Dubois 9 février 2011.
Utilisation avancée de linux
Structures des données
‘‘Open Data base Connectivity‘‘
Bienvenue sur CAUTIONET l'outil On Line de gestion de caution
Développement Web Open Source haXe et les outils « open source » Première partie.
Le langage XHTML 420-S4W-GG Programmation Web Client
Ch. PAUL - Piles et Files à l'aide de listes chainées
Programmation Système et Réseau (sous Linux)
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
LES PILES ET FILES.
Adeline COUPE, Hélène DRAUX, Ismaïla GIROUX, Loïc TACHET
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Programmation Système et Réseau
1 Applications de Réalité Virtuelle et SCD P. Torguet J.P. Jessel.
Librairie Reactivision Auteurs: Zingg Luca, Della Bruna Daniele et Thiessoz Yannick Cours: Interfaces Multimodales (MMI) Date: Semestre d’été 2006.
Flash MX – Séance 2 Interactions & ActionScript David Rapin Si28 P06.
Transcription de la présentation:

Augmented Reality Toolkit ARToolkit N G U K Y E E T N T Y P O N J R O O N Y A T H A N Augmented Reality Toolkit

Ce que nous allons présenter… Introduction Architecture Installation Principes de développement Tout ce qu’on peut faire avec… Limitations Outils autour de ARToolkit Demo NGUYEN Ketty & PONROY Jonathan = 2 =

En quelques mots… Librairie C/C++ avec des outils vidéo Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo En quelques mots… Librairie C/C++ avec des outils vidéo Fonctions prédéfinies Utilisation des différents outils Réalité augmentée en temps réel Introduction d’objets 3D dans le monde réel par marqueurs NGUYEN Ketty & PONROY Jonathan = 3 =

Architecture OpenGL pour le rendu Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Architecture OpenGL pour le rendu GLUT pour les évènements et dépendance hardware de la librairie video API standard sur chaque platform (e.g win32 pour Windows) NGUYEN Ketty & PONROY Jonathan = 4 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Structure L’utilisateur peut facilement remplacer un module par un autre Flux de données NGUYEN Ketty & PONROY Jonathan = 5 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Le site http://www.hitl.washington.edu/artoolkit/ (section documentation setup ARToolkit) donne la liste des éléments à télécharger ARToolkit Glut Librairies pour la webcam ReadMe disponible pour chaque application expliquant toute la procédure à suivre Multi-plateforme : Windows, Linux et Mac NGUYEN Ketty & PONROY Jonathan = 6 =

Principes de développement Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Principes de développement Le fonctionnement global NGUYEN Ketty & PONROY Jonathan = 7 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Chargement d'une image static void mainLoop(void) { static int contF = 0; ARUint8 *dataPtr; ARMarkerInfo *marker_info; int marker_num; int j, k; /* grab a vide frame */ if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) arUtilSleep(2); return; } if( count == 0 ) arUtilTimerReset(); count++; argDrawMode2D(); ... NGUYEN Ketty & PONROY Jonathan = 8 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Détection du marqueur ..... /* grab a vide frame */ if( (dataPtr = (ARUint8 *)arVideoGetImage()) == NULL ) { arUtilSleep(2); return; } if( count == 0 ) arUtilTimerReset(); count++; argDrawMode2D(); argDispImage( dataPtr, 0,0 ); /* detect the markers in the video frame */ if( arDetectMarker(dataPtr, thresh, &marker_info, &marker_num) < 0 ) { cleanup(); exit(0); arVideoCapNext(); NGUYEN Ketty & PONROY Jonathan = 9 =

Reconnaissance du symbole Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Reconnaissance du symbole .... if( arDetectMarker(dataPtr, thresh, &marker_info, &marker_num) < 0 ) { cleanup(); exit(0); } arVideoCapNext(); /* check for object visibility */ k = -1; for( j = 0; j < marker_num; j++ ) { if( patt_id == marker_info[j].id ) { if( k == -1 ) k = j; else if( marker_info[k].cf < marker_info[j].cf ) k = j; if( k == -1 ) { NGUYEN Ketty & PONROY Jonathan = 10 =

Calcul de la matrice de transformation Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Calcul de la matrice de transformation .... /* check for object visibility */ /* get the transformation between the marker and the real camera */ arGetTransMat(&marker_info[k], patt_center, patt_width, patt_trans); draw(); argSwapBuffers(); } NGUYEN Ketty & PONROY Jonathan = 11 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Ajout des objets 3D static void draw( void ) { .... /* load the camera transformation matrix */ argConvGlpara(patt_trans, gl_para); glMatrixMode(GL_MODELVIEW); glLoadMatrixd( gl_para ); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glLightfv(GL_LIGHT0, GL_POSITION, light_position); glLightfv(GL_LIGHT0, GL_AMBIENT, ambi); glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor); glMaterialfv(GL_FRONT, GL_SPECULAR, mat_flash); glMaterialfv(GL_FRONT, GL_SHININESS, mat_flash_shiny); glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); //glTranslatef( 0.0, 0.0, 25.0 ); glTranslatef( 0, 0, 25.0 ); glutSolidCube(50.0); glDisable( GL_LIGHTING ); glDisable( GL_DEPTH_TEST ); NGUYEN Ketty & PONROY Jonathan = 12 =

Tout ce qu'on peut faire avec ... Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Tout ce qu'on peut faire avec ... Utiliser plusieurs patterns simultanément Un fichier contient l’ensemble des patterns à reconnaître pendant la session Description du pattern comme suit Nom Fichier du pattern Largeur du marqueur Centre du marqueur Ex: #pattern1 cone Data/patt.hiro 80.0 0.0 0.0 NGUYEN Ketty & PONROY Jonathan = 13 =

Créer ses propres patterns avec bin/mk_patt Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Créer ses propres patterns avec bin/mk_patt NGUYEN Ketty & PONROY Jonathan = 14 =

Utilisation du pattern au niveau du code Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Utilisation du pattern au niveau du code char *patt_name = "Data/patt.hiro"; ..... static void init( void ) { .... arParamChangeSize( &wparam, xsize, ysize, &cparam ); arInitCparam( &cparam ); printf("*** Camera Parameter ***\n"); arParamDisp( &cparam ); if( (patt_id=arLoadPatt(patt_name)) < 0 ) { printf("pattern load error !!\n"); exit(0); } /* open the graphics window */ argInit( &cparam, 1.0, 0, 0, 0, 0 ); NGUYEN Ketty & PONROY Jonathan = 15 =

Deux types de calibration (one step, two step) Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Calibrer la caméra Deux types de calibration (one step, two step) Two step Imprimer calib_cpara.pdf et calib_dist.pdf Lancer calib_dist avant calib_cpara NGUYEN Ketty & PONROY Jonathan = 16 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo calib_dist Prendre une autre image et répéter le processus 5 à 10 fois avec des angles de vues différents pour avoir une calibration plus précise Ce programme donne le facteur de distorsion et les coordonnées du centre de l'image NGUYEN Ketty & PONROY Jonathan = 17 =

calib_cparam Pour trouver la focale et autres paramètres Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo calib_cparam Pour trouver la focale et autres paramètres Entrer les données fournies par calib_dist Reculer l’image de la caméra Répéter le processus 5 fois NGUYEN Ketty & PONROY Jonathan = 18 =

Espacement entre les points : 40mm Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Pour personnaliser… Par défaut Espacement entre les points : 40mm Distance d’éloignement à la caméra : 100mm Nombre de fois à répéter la procédure : 5 inter_coord[k][j][i+7][0] = 40.0*i; inter_coord[k][j][i+7][1] = 40.0*j; inter_coord[k][j][i+7][2] = 100.0*k; *loop_num = 5; NGUYEN Ketty & PONROY Jonathan = 19 =

Limitations Limitations matérielles Reconnaissance de pattern Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Limitations Limitations matérielles Reconnaissance de pattern Ne pas cacher la moindre zone du pattern Etre dans de bonnes conditions lumineuses Avoir des patterns simples Une vue proche du pattern révèle des sauts si la fonction d'historique n'est pas utilisée Détection de patterns2D et pas patterns3D NGUYEN Ketty & PONROY Jonathan = 20 =

Outils autour de ARToolkit Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Outils autour de ARToolkit Modules supplémentaires Module de support du VRML Outils de création de nouveaux patterns Adaptations Adaptation pour java Adaptation pour pocket pc Version pour matlab Améliorations Version améliorée de ARToolkit NGUYEN Ketty & PONROY Jonathan = 21 =

Améliorations Site sur ARToolkit Plus : Real-time Augmented Reality: Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo Améliorations Site sur ARToolkit Plus : Amélioration sur conditions de luminosité http://studierstube.icg.tu- graz.ac.at/handheld_ar/artoolkitplus.php Real-time Augmented Reality: Système de tracking robuste http://www.cv.iit.nrc.ca/research/ar NGUYEN Ketty & PONROY Jonathan = 22 =

Qu’est-ce Architecture Installation Développement Possibilités Outils Limitations Demo NGUYEN Ketty & PONROY Jonathan = 23 =