Académique Documents
Professionnel Documents
Culture Documents
ETUDE DE
FAISABILITE D’UN
DISPOSITIF DE
POINTAGE POUR
ECRAN GEANT
Editeurs:
ZHANG Yihua
TEBBOUCHE Hichem
ELHAMDOUNI AlaeEddine
GREPILLAT Nicolas
Remerciement
Nous tenons à remercier Madame Hascoet qui
nous a dans un premier temps proposé un sujet
qui nous a de suite intéressé. De plus, son
expérience et sa connaissance du domaine nous
ont été d’une aide précieuse.
2
Résumé
Avant-propos
Il est également un très bon point de départ pour les personnes qui
voudraient faire un système utilisant "HandVu" ou "Artoolkit". Nous
avons poussé ces mécanismes au maximum, et notre étude comme le
code fourni en annexe permettra de leur faire gagner beaucoup de
temps.
3
Sommaire
Partie II : HandVu……………………………………..p55
Partie IV : Annexe…………………………………..…p67
4
SYNTHESE SUR LES
SYSTEMES DE
POINTAGES
EXISTANTS
5
SOMMAIRE
I) Introduction....................................................................................8
Artoolkit....................................................................................14
HandVu……………………............................................................16
The MobiVR...............................................................................22
Le Mimio system.......................................................................37
Le SmartBoard..........................................................................39
6
V Les systèmes se basant sur la vision par ordinateur......................40
Upen laser................................................................................43
The FreeHand...........................................................................45
Le TouchLight............................................................................46
Le PlayAnywhere........................................................................48
Le TouchPad .............................................................................49
7
Introduction:
8
II. L'interaction gestuelle
L'interaction gestuelle constitue un moyen non conventionnel
d'employer les dispositifs de pointage en exploitant notre capacité à
mémoriser et à reproduire des trajectoires, capacité que nous
employons notamment pour écrire.
FIGURE 1
9
Figure 2
10
l'exemple de la figure 2, le cercle pourrait être interprété comme la
lettre « O », et le déplacement d'objets comme la création d'un segment
de droite. Plus encore que les difficultés liées à l'apprentissage, les
erreurs de reconnaissance résultant d'un vocabulaire gestuel
complexe sont une source de frustration considérable pour
l'utilisateur. La tendance actuelle semble ainsi aller vers l'utilisation
de gestes simples, plus rapides et plus tolérants aux erreurs de par
leur construction logique, mais ce au détriment de leur facilité
d'assimilation dû à leur nature arbitraire.
• Soit l’ajout d’une entité d’un des deux mondes dans l’autre monde
• Soit la manipulation d’une entité d’un des deux mondes par des
outils de l’autre monde.
11
Nous considérons les étapes intermédiaires sous l’appellation de
Réalité Mixte, qui mélange des objets réels et virtuels. La Réalité Mixte
(RM) se décline en 2 sous cas : la Réalité Augmentée (RA) et la
Virtualité Augmentée (VA) selon la proportion d’objets réels ou virtuels
comme le montre la figure ci-dessous.
12
Figure: À gauche: l'argile lumineuse avec le calcul des courbes.
À droite: une dalle de sol intelligent et un des capteurs de charge qui
la composent.
13
ARTOOLKIT
Présentation générale:
Fonctionnement:
14
Exemples de marqueurs.
• Au final l'utilisateur voit sur les images réelles filmées, l'objet généré
par l'application.
15
Au niveau de la vidéo, la librairie est également très ouverte puisque
plusieurs types de caméras et d'entrées vidéo sont supportés. Une
fonction de calibration est également disponible, cette fonction permet
d'améliorer le calcul de positionnement.
Bilan
Conclusion
HandVu
Présentation générale:
Caractéristiques de HandVu
16
● Réagit de différentes manières suivant le changement de lumière.
● Est sensible à l’arrière plan.
● Délai de détection : 5-150ms pour une fenêtre de 640x480 (à 50Hz).
● Robuste et permet un déploiement sans contrainte de la scène
visuelle.
● Open Source (programme écrit en C/C++)
Fonctionnement
Détection de la main
17
Suivi de la main
Postures reconnues
18
Bilan
Conclusion:
19
Figure: À gauche: interface «saisissable», où des briques physiques
sont utilisées pour manipuler des objets virtuels (travaux de
Fitzmaurice et Al). À droite: un assemblage de phidgets est assigné à
des widgets de contrôle sonore (Greenberg et Boyle en 2002).
Applications bureautiques
20
Les applications qui cherchent à augmenter les documents
papiers sont nombreuses. En effet, dans notre société actuelle, l’écrit
a une place prédominante dans tous les domaines d’activités. Les
applications bureautiques en général et le traitement de texte en
particulier sont, de loin, les applications les plus utilisées par toute
personne disposant d’un ordinateur.
21
Applications pour l’enseignement, la formation et l’apprentissage
The MobiVR
Présentation générale:
Fonctionnement:
22
Bilan
Le degré de la liberté: 2
Conclusion:
23
IV Les écrans tactiles.
24
IV.2 Technologie résistive Analogique
Construction
25
une dalle de verre enduite d'ITO, généralement sur les côtés courts
pour mesurer l'axe X. Sur une dalle tactile 4 fils, chacune des ces
barres sera connectée à la languette (2 parmi les 4), et deux fois à la
languette (4 fils parmi 8) pour une dalle tactile 8 fils. Des "Spacer
dots" sont imprimés sur le verre, et la périphérie de la dalle de verre
est enduite de colle à l'extérieur de la zone active. Le revêtement
plastique (généralement à base de polyester, "coversheet") est collé sur
le verre.
26
Coût et durée de vie
Construction
27
Le principe de reconnaissance du point d'impact est semblable au
résistif 4/8-fils (c.-à-d. la tension mesurée au point de contact
demeure proportionnelle aux coordonnées de l'impact) mais les deux
axes sont mesurés sur le verre et le "coversheet" agit simplement en
tant que sonde de tension. Lorsque l'écran est touché, les deux
couches d'ITO entrent en contact et un courant électrique se forme.
Cette tension ainsi créée indique au contrôleur d'exécuter un cycle
rapide de mesure comme suit :
Avantages
28
Les inconvénients
Hormis leurs prix légèrement plus élevés que ceux des dalles
tactiles 4/8-fils, la technologie 5 fils offre une qualité optique
inférieure aux technologies non résistives, causée par l'association
Polyester/ITO/Verre.
Les options
Les dalles tactiles résistives 5 fils offrent des options dans le choix
des matériaux utilisés qui peuvent réduire les désavantages mais
augmenter le coût du produit. Les options les plus courantes sont
"Glass on Glass" (une fine couche de verre est laminée sur le dessus
du revêtement augmentant la dureté de la surface et réduisant
l'usure), le renforcement de la dalle de verre contre la casse (en
utilisant un verre traité ou en laminant un verre additionnel sur la
partie inférieure).
29
• inusable (tests sur plus de 10 années), indéréglable, aucun
Recalibrage
• auto-adaptatif au touché de chaque type de doigts
(gros,mous,fins,calleux,ongles,...)
• multi-touch (utilisable avec 2 doigts simultanément)
Construction
30
autres technologies tactiles, les coordonnées sont acquises avant que
l'utilisateur ne touche la dalle de verre à une distance d'environ 2mm.
Avantages
Une dalle tactile infrarouge est utilisable avec tout type d'objet
d'un diamètre d'environ 2 mm minimum. Un doigt nu, ganté, un
stylet, un objet métallique ou tranchant active la fonction tactile sans
détériorer le produit. Il n'y a pas de contrainte concernant le matériau
de l'objet activant la dalle tactile, il suffit qu'il soit opaque aux rayons
infrarouges. Aucune force n'est nécessaire pour couper ce rayon.
Les Inconvénients
Hormis leur coût supérieur à celui des dalles résistives, les dalles
tactiles infrarouges sont en général d'une épaisseur supérieure aux
autres technologies. Leur fonctionnement peut être perturbé par des
objets volants, collés ou une luminosité importante et directe.
31
IV.5 Technologie à onde de surface (Acoustique)
Construction
32
Un écran tactile SAW consiste en une seule pièce de verre, comme
celle utilisé en verre normal de fenêtre, avec les modèles spéciaux de
réflecteur collés sur les bords extérieurs sur la surface supérieure.
Quatre sont collés aux coins du verre en ligne avec les modèles de
réflecteur. Chaque capteur est relié à la languette par deux fils pour
un total de huit fils dans celle-ci.
33
signal électrique court et à haute fréquence à l'un des capteurs de
transmission. L'onde résultant des vagues mécaniques est reflétée par
les raies à travers la surface du verre. Ces vagues sont encore reflétées
par les raies sur le bord opposé du verre à un des capteurs de
réception. Le capteur de réception convertit alors les vagues
mécaniques reçues de nouveau dans un signal électrique et les
envoient au contrôleur. Ce processus représente un axe. Il est alors
répété en utilisant l'autre paire de capteurs représentant l'autre axe.
Le chemin pris par les vagues reflétées devient plus court au bord
de l'écran près de la paire d'émetteur-récepteur et plus long au bord
opposé. Puisque la vitesse du bruit à l'intérieur du verre (la vitesse de
propagation de l'onde acoustique) demeure constante et lente
comparée à la vitesse de l'électronique, il devient facile pour le
contrôleur de distinguer les différents chemins que les vagues
prennent à travers l'écran.
Avantages
34
Inconvénients
Options
35
IV.6 Technologie NFI
36
IV.7 Comment choisir parmi ses technologies?
37
IV.8 Exemples de fabrication
Présentation générale:
Fonctionnement:
38
Bilan
Conclusion:
The Smartboard:
Présentation générale:
39
Fonctionnement:
Bilan
Conclusion:
40
V. Les systèmes se basant sur la vision par
ordinateur.
Les techniques de visions par ordinateur permettent de se passer
de câbles et de marqueurs encombrants et permettent donc une plus
grande liberté de mouvement aux utilisateurs. Parmi l'ensemble des
gestes que les hommes accomplissent lorsqu'ils communiquent, les
gestes de pointage sont facilement interprétables et peuvent conduire
a des interfaces homme machine plus naturelles et plus puissantes.
Présentation générale:
41
Pour mettre en place ce système, il nous faut uniquement une
webcam placé au dessus de l'écran qui filme la tête et bien sur le tout
relié à un pc.
Fonctionnement:
Bilan
42
d'utilisation et plus les mouvements de tête deviennent
contraignants.
• Ergonomie: Contraint à ne pas trop bouger
Conclusion:
Upen Laser
Présentation générale:
Upen est un stylo qui utilise le laser pour interagir entre un mur
écran et l'utilisateur. Il faut placer une caméra fixe en face de l'écran
pour localiser le curseur. En effet, lorsque l'utilisateur déplace le stylo,
c'est cette caméra qui retransmet au pc les coordonnées du curseur.
Fonctionnement:
43
Bilan
Ergonomie: Upen est très facile d'utilisation pour les écrans géants
Conclusion:
44
Mais le système présenté ci-dessous allie les capteurs pour le
déplacement du curseur, avec une caméra pour les actions. Voici le
système “freehand”.
Présentation générale:
Fonctionnement:
Bilan
45
Ergonomie: L'ergonomie est bonne si le calibrage a été bien fait.
Conclusion:
Présentation générale:
Fonctionnement:
46
Bilan
Conclusion:
47
L'écran interactif PlayAnywhere . (A. wilson)
Présentation générale:
Fonctionnement:
Bilan
• Précision. Parfaite.
• Le degré de liberté: 4 car on peut faire des rotations.
• Nombre d'interactions différentes possibles: N'est pas limité.
• Le nombre de points de contact maximum supportés Ce
système est conçu pour permettre à différents utilisateurs
d’interagir.
• Compatibilité avec les surfaces. N'importe quelle surface plane
peut faire l'affaire.
• Ergonomie Enfantine
48
Conclusion:
Présentation générale:
Fonctionnement:
49
Bilan
Conclusion
50
Bilan de l’état de l’art.
Parmi ces nombreux systèmes, les plus riches sont sans contexte
ceux utilisant une surface tactile couplée avec une caméra. Certains
systèmes utilisant uniquement des surfaces tactiles donnent
également de très bons résultats. C’est le cas des travaux entre autres
de Jeff Han, véritable référence en la matière.
C’est donc vers ce domaine que l’on va se tourner, aussi bien pour
notre objectif de développement que pour les faibles coûts de
réalisation.
51
A partir de cette étude approfondie, d’autres étudiants après nous
seront capables de construire un système de pointage pour n’importe
quel écran (donc entre autre celui du LIRMM) en utilisant un des deux
systèmes.
52
Organisation au sein du groupe
Etant donné que nous nous orientons sur deux pistes différentes,
nous avons décidé de séparer le groupe en deux. Un groupe se lance
dans l’implémentation de HandVu et l’autre dans ARToolKit. Ainsi,
nous pourrons comparer facilement les différences entre les deux
systèmes. Pour ceci, nous décidons de coder la même application pour
pouvoir être le plus objectif possible.
A noter que Hichem n’a pas pu participer entièrement à toutes les
étapes en raison de sa maladie et de ses séjours à l’hôpital. Cependant
nous le félicitons de n’avoir jamais baissé les bras et d’avoir toujours
suivi l’évolution du projet.
HandVu:
Yihua:
-Responsable du fonctionnement d’openCV.
-Implémentation d’un jeu simple.
-Co-responsable de l’implémentation du jeu TicTacToe en réseau.
(thread de la reconnaissance et du suivi de la main)
Nicolas:
-Responsable du fonctionnement du HandVu.
-Implémentation du jeu de mémory.
-Co-responsable de l’implémentation du jeu TicTacToe en
réseau.(thread de l’application du jeu)
- Responsable du rapport sur HandVu
ARToolKit:
Alae eddine:
-Responsable du fonctionnement et du développement d’ArToolKit.
-Co-auteur du rapport sur ArToolKit.
-Co-responsable de l’implémentation du TicTacToe en réseau
(thread de la communication entre les deux pc).
-Responsable général de tout ce qui touche au réseau.
Hichem:
- Responsable du mémoire final.
- Co-responsable du rapport sur ArToolKit.
53
2007
HandVu
yhua Zhang
GREPILLAT Nicolas
Nous ne reviendrons pas sur la fiche présente dans notre état de l’art,
cependant, nous allons faire un complément technique et revenir sur deux
ou trois points importants si les lecteurs souhaitent utiliser le logiciel.
Notre Travail.
Matériel.
Nous utilisons le matériel basique que nous possédons, à savoir pc et
webcams personnelles.
2
premier temps nous adapter à ses différents codes afin d’avoir les premiers
résultats:
1) Voir sa main reconnue par la caméra.
2) Obtenir le suivi visuel de la main.
3) Faire réagir aux différentes positions
3
Voici quelques captures d’écrans de l'application réalisée.
Reconnaissance de la main
4
Donc on se place sur la carte à retournée
Ensuite il nous reste plus qu’à faire une position reconnue («Open» dans ce
cas là).
5
Et la carte se retourne automatiquement avec un petit signal sonore
6
Implémentation d’un jeu de TicTacToe en réseau.
Travail supplémentaire.
Connexion
Connexion
locale 7045
locale 7045
Echange
d’informations
7
Pour avoir une interface plus conviviale, nous avons remplacé les croix et
les ronds par des taureaux et des toréadors. La main représente l’endroit ou
pointe l’utilisateur. Ce qui donne à l’écran des deux utilisateurs :
Utilisateur 1:
Utilisateur 2:
8
Difficultés rencontrées.
9
2007
Rapport TER
Partie 3 : ARToolKit
El Hamdouni Alae‐Eddine
UFR – Univ Montpellier II
10/05/2007
Sommaire
ARToolKit ................................................................................................................................................. 3
Compréhension de l’outil : ............................................................................................................... 3
Raisons d’intérêt : ............................................................................................................................. 3
Utilisation et développement : ........................................................................................................ 4
Implémentation d’une démonstration : ..................................................................................... 4
2
ARToolKit
Comme on a vu dans la première partie, cet outil va être notre deuxième centre
d’intérêt.
Compréhension de l’outil :
Les grands traits du fonctionnement de l’outil ARToolKit sont mentionnés dans la
première partie. Pour avoir d’avantage de détails, j’ai été obligé de pousser un peu la
recherche vers les aspects techniques du fonctionnement du système :
Raisons d’intérêt :
Lors de la phase de compréhension, j’ai déduis que notre système peut savoir
d’une manière plus ou moins efficace la position donc les coordonnées d’un pattern
réel, ce qui représente une étape primordiale dans la conception d’un système de
pointage. Cet avantage va être handicapé par la difficulté d’interaction qu’impose cet
outil. Comparé à un simple et familier outil de pointage comme la souris, son
système de positionnement s’avère plus libre mais en ce qui concerne les interactions
comme les clicks, on ne trouve pas vraiment comment il peut être exploité. Cette
défaillance vient du faite que lors d’une éventuelle superposition de deux marqueurs
3
ou plus, ceux du bas vont être camouflés par ceux du premier plan et par
conséquent le système va agir comme s’ils n’étaient pas là.
Utilisation et développement :
L’installation de ARToolKit dans ses deux versions est détaillée dans l’annexe du
rapport. L’utilisation nécessite la calibration de la caméra (voir annexe).
Nous avons préféré travailler sur la version java malgré la complexité que
représente la jointure d’un code C /C++ avec celui de java. Pour cela il m’a fallu
d’abord consacrer énormément de temps pour manipuler certaines technologies dont
dépend l’outil à savoir :
4
Reconnaissance de deux marqueurs en même temps
Difficultés rencontrées.
1) Le plus gros problème été la familiarisation avec la 3D. Personne n’avait de
connaissance réelle dessus, et cela nous à couté beaucoup de temps pour se
former sur le sujet.
De plus nous avons vu qu’il y avait un problème avec java3D. En effet, on a
été confronté à une multitude de petits bugs assez inexpliqués. On s’est
tourné sur OpenGl comme bibliothèque graphique, et il s’est avéré que
l’application fonctionnait beaucoup mieux.
2) Ensuite nous avons remarqué que parmi les nombreux marqueurs censés être
reconnus, seul certains fonctionnaient réellement. On n’a pas réussi à
5
expliquer ce problème, mais nous pensons qu’il faut une caméra de meilleure
qualité pour qu’il analyse les petites différences présentes entre les
marqueurs.
6
Comparatif ArToolKit / HandVu.
D’après notre étude, le système HandVu correspond beaucoup plus à
un système de pointage qu’ArToolkit. De plus, la librairie HandVu est
relativement simple à utiliser, en comparaison de la complexité de mise en
œuvre d’une application avec la librairie Artoolkit.
Rapport TER
Partie IV : Annexe
UFR
10/05/2007
Concernant HandVu
Liens important
● http://www.movesinstitute.org
● http://www.opencv.com
Installation
L'installation se fait en exécutant le fichier MSI se trouvant sur le site
de l'auteur.
Nous avons utilisé la version HandVu Beta 3, qui tourne aussi bien
sur les plateformes Windows que Linux.
Pour fonctionner, HandVu requiert la librairie OpenCV de Intel.
Il est à noter qu'il y a des différences majeures entre les versions 4 et
5 d'OpenCV et que cette dernière version n'est pas compatible avec les
versions précédentes. Il faut installé OpenCV beta5a.
2
●Il se peut que certaines librairies ne soient pas trouvées.
Dans ce cas, il faudrait aller les chercher dans OpenCV et les copier
dans le répertoire d'installation de HandVu.
Concernant ARToolKit
Version C++ :
ARToolKit est disponible sur ce site: www.hitl.washington.edu/artoolkit/
(version 2.65 avec support VRML ou version 2.72). Après la décompression,
entrez dans le dossier est exécutez le fichier ‘Configure.win32.bat’ .Après,
Ouvrez le dossier ‘exemples’ et entrez dans l’un des exemples fournis. Ouvrez
la solution ‘VC++ 6 Workspace’ et convertissez la en un projet ‘VC++ 8’. Les
configurations ‘Debug’ sont bonnes contrairement aux celles ‘Release’. Pour
compiler à priori sous la configuration ‘Release’, soyez sûr de mettre les
propriétés suivantes comme celles de la page de propriété du mode ‘Debug’ :
Version Java :
La Version JAVA de ARToolKit appelée jARToolKit, est disponible sur le
site : http://www.c-lab.de/jartoolkit/. Vous y trouverez plusieurs projets
éclipse (disponible sur www.eclipse.org) dont:
3
"msvc7/jARToolkit/JARToolkit.h", "msvc7/jARVideo/JARVideo.h"
et "msvc7/jARFrameGrabber/JARFrameGrabber.h". Ici il faut
configurer la jSDK utilisée par le projet de manière à ce que le
chemin de ça librairie native soit celui du dossier bin de java
installée sur le système. Le Fichier ‘jARToolKit.jar’ doit être ajouté
à ce projet comme fichier jar externe ou bien copié dans le dossier
‘jre/lib/ext’ de la jSDK installée.
c. Un projet de démonstration (DemoJOGL ou DemoGL4Java ou …)
pas complet et pauvre mais qui fait le nécessaire !
¾ Pour l’API JOGL (Java OpenGl), une archive est disponible sur
https://jogl.dev.java.net/ et qui contient le fichier jar ‘jogl.jar’ et
les librairies ‘jogl.dll’,’jogl_cg.dll’ pour Windows ou
‘libjogl.so’,’libjogl_cg.so’ pour linux.
¾ Pour l’API Gl4Java, on trouve les fichiers jar et les librairies sur :
http://www.jausoft.com/gl4java.php
¾ Pour la Java3D, elle est disponible sur
http://java.sun.com/products.java-media/3D/ sous sa version
1.5 (au jour de la rédaction)
www.hitl.washington.edu/artoolkit/
artoolkit.sourceforge.net/
mtd.fh-hagenberg.at/depot/graphics/artoolkit/index.html