Une dimension supplémentaire

Interactions homme-machine (IHM 3) – « Flying buddhas » !;)

Cette troisième publication consacrée aux IHM exploite OpenSpace 3D qui nous permet d’associer tracking et vision stéréoscopique d’une scène dynamique.

Nous nous sommes inspirés d’un fichier exemple fourni avec l’application (stereo.xos) que nous avons personnalisé et complété par le tracking d’un marqueur de Réalité Augmentée.

IHM3a

 

 

Notre modèle 3d, qui remplace le cube du fichier original, est un Bouddha modélisé par photogrammétrie (voir page http://www.surrealites.com/?p=3352).

 

Afin de permettre son intégration dans l’application OpenSpace3D, notre objet 3d a été converti au format OGRE grâce au plugin blender2ogre (https://code.google.com/p/blender2ogre/). C’est la version 0.6 de ce plugin que nous avons chargé dans Blender 2.75

IHM3b

L’export va générer un fichier .mesh ainsi qu’un autre fichier .material. Ces deux éléments, ainsi que la texture, ont été intégrés aux ressources de la scène. La disposition des différents clones obtenus par duplication du modèle reprend celle du fichier exemple stereo.xos. La cinématique du modèle initial est également maintenue avec une rotation cependant limitée autour de l’axe des X.

IHM3f

 

Parmi les différents modes stéréoscopiques proposés par OpenSpace3D, c’est le format Anaglyph red/cyan que nous avons retenu.

IHM3h

Nous utilisons en effet une paire de lunette à anaglyphe pour porter un marqueur de Réalité Augmentée.

IHM3c

Ce marqueur (l’ id 25 du pluglT Input: AR marker ) a été imprimé et collé sur les lunettes en carton.

IHM3d

 

La zone d’édition des fonctions présente les différents PluglT utilisés ainsi que leurs interactions. Dans notre scène, les mouvements du marqueur, détectés par la webcam, vont influencer la rotation des éléments animés.

IHM3e

 

 

La capture d’écran qui suit présente l’application en cours d’exécution  (un clin d’oeil à Fred pour ses « flying buddhas » ! ;).

IHM3j

 

 

Une expérience de Réalité Augmentée

TrackStereo3-Gratf1

Pour réaliser cette expérience, nous avons associé Le Playstation Eye de Sony à la librairie GRATF de Andrew Kirillov

 

Le Playstation Eye est une caméra qui a été commercialisée par Sony en octobre 2007, quelques mois après la sortie de la console Playstation 3 qui lui est associée. Conçue dès l’origine comme un accessoire interactif de communication, ses remarquables caractéristiques l’adaptaient à des applications de vision par ordinateur et de reconnaissance de mouvements.

 

 

TrackStereo3-1
La caméra PS3 eye en capture.

L’utilisation de ce périphérique sur un PC nécessite l’installation préalable d’un driver adapté au système d’exploitation de la machine (Windows 7, ici). On pourra télécharger celui qui est proposé par le site Code Laboratories (http://codelaboratories.com/downloads/ ). Dans notre cas, c’est le fichier CL-Eye-Driver-5.0.1.028.exe que nous avons utilisé. Nous pourrons ensuite raccorder le PS3 eye au PC et tester son bon fonctionnement à l’aide du petit programme CL-Eye Test qui est installé avec le driver.

TrackStereo3-2
Copie d’écran présentant CL-Eye Test en action à travers une mise en abime (la camera filme l’image qu’elle restitue,…).

GRATF (Glyph Recognition And Tracking Framework) est un projet de librairie (sous licence GPL), adaptée à la reconnaissance et au suivi de graphes, présents dans des images ou des flux vidéos. Andrew Kirillov, qui est l’auteur de ce projet sous licence GPL, propose différents usages de cette librairie, dont, bien entendu, son intégration possible dans des applications de Réalité Augmentée. On trouvera ainsi sur le site web de GRATF ( http://www.aforgenet.com/projects/gratf/), un certain nombre de ressources destinées aux développeurs ainsi que des exécutables dont « Glyph Recognition Studio.exe » (présent dans gratf-2.0.1-bin.zip), que nous présentons ici.

Après sélection de notre caméra (PS3Eye Camera) depuis le menu « File > Local Video Capture Device« , l’application nous permettra de dessiner notre graphe, l’associer à différents éléments proposés (une image fixe ainsi qu’un modèle 3D au format XNA) et enfin l’imprimer pour le présenter ensuite à la caméra.

On pourra constater l’efficacité du tracking et le positionnement précis des surimpressions (particulierement spectaculaires avec les modèles 3D), en tournant et déplaçant la carte (tout en la maintenant, bien sûr, l’intégralité du graphe dans le champ de vision de la caméra).

Les copies d’écran qui suivent, présentent les différentes visualisations proposées par l’application : 3D Model, Images, Borders et Names.

TrackStereo3-Gratf5

TrackStereo3-Gratf7

TrackStereo3-Gratf6