• Aucun résultat trouvé

Augmented Reality Augmented Reality ToolkitToolkit ARToolkit

N/A
N/A
Protected

Academic year: 2022

Partager "Augmented Reality Augmented Reality ToolkitToolkit ARToolkit"

Copied!
30
0
0

Texte intégral

(1)

ARToolkit

Augmented Reality Augmented Reality

Toolkit Toolkit

N N G G

U U K K Y Y E E E E T T N N T T Y Y

P P O O

N N J J R R O O O O N N Y Y A A

T T

H H

A A

N N

(2)

Ce que nous allons présenter…

Ce que nous allons présenter…

Introduction Introduction

Architecture Architecture

Installation Installation

Principes de développement Principes de développement

Tout ce qu’on peut faire avec… Tout ce qu’on peut faire avec…

Limitations Limitations

Outils autour de ARToolkit Outils autour de ARToolkit

Demo Demo

NGUYEN Ketty & PONROY Jonathan

= 2 =

(3)

En quelques mots…

En quelques mots…

Librairie C/C++ avec des outils vidéo Librairie C/C++ avec des outils vidéoFonctions prédéfinies

Utilisation des différents outils

Réalité augmentée en temps réel Réalité augmentée en temps réel

Introduction d’objets 3D dans le monde réel par marqueurs

NGUYEN Ketty & PONROY Jonathan

= 3 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(4)

Architecture Architecture

OpenGL pour le rendu OpenGL pour le rendu

GLUT pour les évènements et GLUT pour les évènements et

dépendance hardware de la librairie dépendance hardware de la librairie

video video

API standard sur chaque platform (e.g API standard sur chaque platform (e.g win32 pour Windows)

win32 pour Windows)

NGUYEN Ketty & PONROY Jonathan

= 4 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(5)

Structure Structure

L’utilisateur peut facilement L’utilisateur peut facilement

remplacer un module par un autre remplacer un module par un autre

Flux de données

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo

NGUYEN Ketty & PONROY Jonathan

= 5 =

(6)

Installation Installation

Le site http://www.hitl.washington.edu/artoolkit/ Le site (section documentation

(section documentation setup ARToolkit) setup ARToolkit) donne la liste des éléments à télécharger donne la liste des éléments à télécharger

ARToolkit Glut

Librairies pour la webcam

ReadMe disponible pour chaque ReadMe disponible pour chaque

application expliquant toute la procédure à application expliquant toute la procédure à suivre

suivre

Multi-plateforme : Windows, Linux et Mac Multi-plateforme : Windows, Linux et Mac

NGUYEN Ketty & PONROY Jonathan

= 6 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(7)

Le fonctionnement global Le fonctionnement global

Principes de développement Principes de développement

NGUYEN Ketty & PONROY Jonathan

= 7 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(8)

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();

...

Chargement d'une image Chargement d'une image

NGUYEN Ketty & PONROY Jonathan

= 8 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(9)

Détection du marqueur 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 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(10)

....

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 ) { ....

Reconnaissance du symbole Reconnaissance du symbole

NGUYEN Ketty & PONROY Jonathan

= 10 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(11)

....

/* 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();

}

Calcul de la matrice de transformation Calcul de la matrice de transformation

NGUYEN Ketty & PONROY Jonathan

= 11 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(12)

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);

glMatrixMode(GL_MODELVIEW);

//glTranslatef( 0.0, 0.0, 25.0 );

glTranslatef( 0, 0, 25.0 );

glutSolidCube(50.0);

glDisable( GL_LIGHTING );

glDisable( GL_DEPTH_TEST );

Ajout des objets 3D Ajout des objets 3D

NGUYEN Ketty & PONROY Jonathan

= 12 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(13)

Tout ce qu'on peut faire avec ...

Tout ce qu'on peut faire avec ...

Ex:

#pattern1 cone

Data/patt.hiro 80.0

0.0 0.0

Un fichier contient l’ensemble des Un fichier contient l’ensemble des patterns à reconnaître pendant la patterns à reconnaître pendant la

session session

Description du pattern comme suit Description du pattern comme suit

Nom

Fichier du pattern

Largeur du marqueur

Centre du marqueur

Utiliser plusieurs patterns Utiliser plusieurs patterns

simultanément simultanément

NGUYEN Ketty & PONROY Jonathan

= 13 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(14)

Créer ses propres patterns avec Créer ses propres patterns avec

bin/mk_patt bin/mk_patt

NGUYEN Ketty & PONROY Jonathan

= 14 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(15)

Utilisation du pattern au niveau du Utilisation du pattern au niveau du

code 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 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(16)

Calibrer la caméra Calibrer la caméra

Deux types de calibration (one Deux types de calibration (one

step, two step) step, two 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

(17)

calib_dist calib_dist

NGUYEN Ketty & PONROY Jonathan

= 17 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo

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

(18)

calib_cparam 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 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(19)

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;

Pour personnaliser…

Pour personnaliser…

NGUYEN Ketty & PONROY Jonathan

= 19 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(20)

Limitations

NGUYEN Ketty & PONROY Jonathan

= 20 =

Qu’est-ce Architecture Installation Développement Possibilités Limitations Outils Demo

Limitations matérielles Limitations matérielles

Reconnaissance de pattern Reconnaissance de pattern

Ne pas cacher la moindre zone du patternEtre dans de bonnes conditions lumineuses Avoir des patterns simples

Une vue proche du pattern révèle des Une vue proche du pattern révèle des sauts si la fonction d'historique n'est sauts si la fonction d'historique n'est pas utilisée

pas utilisée

Détection de patterns2D et pas Détection de patterns2D et pas patterns3D

patterns3D

(21)

Outils de création de nouveaux patterns

Modules Modules

supplémentaires supplémentaires

Adaptations Adaptations

Amélioratio Amélioratio ns ns

Module de support du VRML

Adaptation pour java

Adaptation pour pocket pc Version pour matlab

Version améliorée de ARToolkit

Outils autour de ARToolkit

NGUYEN Ketty & PONROY Jonathan

= 21 =

Qu’est-ce Architecture Installation Développement Possibilités

Limitations Outils Demo

(22)

Améliorations

Site sur ARToolkit Plus : Site sur ARToolkit Plus :

– Amélioration sur conditions de luminosité

http://studierstube.icg.tu-graz.ac.at/handheld_ar/ar toolkitplus.php

Real-time Augmented Reality: 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

Limitations Outils Demo

(23)

DEMO DEMO

NGUYEN Ketty & PONROY Jonathan

= 23 =

Qu’est-ce Architecture Installation Développement Possibilités

Outils Limitations Demo

(24)

Références

Documents relatifs

D’autre part on a fait une analyse de stabilité de talus par les géosynthétiques qui a donné une solution efficace et contrairement aux soutènements rigides le renforcement du

These specialized markets devoted to the retail of costly foodstuffs first appeared in Italy during the Republic, even if their layout and function was inspired by the commercial

Pochtoviuk, Analysis of tools for the development of augmented reality technologies, CEUR Workshop Proceedings (2021).

any kind of formal relation between adverse effect and the stressor is asked for. Ideally, the answer to this question will involve a statistical correlation or re- gression

The minimum numbers of wild boars belonging to the unmarked population (juveniles and/ or piglets) were added to the respective estimates to assess total population size.. Over the

The research has achieved the assembly guidance using AR technology at a lower cost using readily available software and hardware technologies that is very attractive

spatial augmented reality, projection, paper, tangible interaction, depth camera, drawing, artistic creation, multi-touch, creative coding, spatial

Although this study did not find a difference in weight perception using a virtual muscular arm, similar embodiment illusions might have different effects.. VAR exercising