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

 

 

Interactions homme-machine (IHM 2)

L’étape suivante consiste bien évidemment à associer le head tracking à une visualisation stéréoscopique d’un modèle 3D ! ;)

Nous retrouvons, pour cela, Blender et son récent mode « Multi-view« . Le modèle utilisé est « le masque », un modèle 3D réalisé par photogrammétrie ( voir page http://www.surrealites.com/?p=3372 )

Interactions2a

En vue 3D, c’est ici le bouton central de la souris (la molette) que nous maintenons appuyé simultanément au tracking.

Nous continuons d’utiliser Camera Mouse pour le head tracking en ajustant cependant certains paramètres via le menu « Settings »:

CameraMouseSettings

Après avoir basculé la fenêtre « 3d view » de Blender en mode plein écran ( View > Toogle Fullscreen Area ) et activé Camera Mouse , tout déplacement latéral de la tête produira une rotation du modèle. L’animation suivante, constituée d’une séquence (limitée ! ) de captures d’écran, simule  cette rotation.

Interactions5L’utilisation d’un système intégré, également libre, offrant également une vision stéréoscopique et exploitant une grande variété de capteurs  devrait faire l’objet d’une troisième publication consacrée aux systèmes interactifs. A suivre ! :)…

Si l’expérience vous tente avec le modèle présenté, et sous condition d’un usage exclusivement pédagogique et non commercial, écrivez-moi: Je vous ferai parvenir le fichier .blend correspondant au masque.

Concernant cette série d’articles, tout comme pour chaque publication sur ce blog, toutes remarques et suggestions de votre part sont les bienvenues ! :)

Interactions homme-machine (IHM 1)

« Les interactions homme-machine (IHM) définissent les moyens et outils mis en œuvre afin qu’un humain puisse contrôler et communiquer avec une machine. Les ingénieurs en ce domaine étudient la façon dont les humains interagissent avec les ordinateurs ou entre eux à l’aide d’ordinateurs, ainsi que la façon de concevoir des systèmes qui soient ergonomiques, efficaces, faciles à utiliser ou plus généralement adaptés à leur contexte d’utilisation. » ( https://fr.wikipedia.org/wiki/Interactions_homme-machine)

Intel Labs vient d’annoncer que son application ACAT (Assistive Context-Aware Toolkit) était désormais disponible en open source. Ce logiciel, initialement développé pour assister l’astrophysicien Stephen Hawking, pourra donc dorénavant être accessible à un grand nombre de personnes atteintes de handicaps. Je ne doute pas que la communauté de développeurs du Libre saura s’approprier un tel outil pour le faire évoluer en apportant toujours plus de confort à ses utilisateurs.

 

 

L’assistance aux personnes atteintes de handicaps est probablement l’application la plus remarquable de l’utilisation d’interfaces homme machine. Mais ces systèmes,  utilisant des périphériques innovants de capture et d’interaction, pénètrent de nombreux autres domaines que ce soit dans le but d’améliorer l’ergonomie des systèmes ou d’interagir avec certains environnements.

Le head tracking associé à une application de visualisation de modèle 3D est une expérience  assez intéressante d’interaction. L’utilisation conjointe d’un logiciel tel que Meshlab avec un outil tel que Camera Mouse permet de faire évoluer l’orientation d’un objet 3D selon la position d’un observateur devant son écran.

 

Camera Mouse est une application libre développée au Boston College . Son utilisation, très simple, ne nécessite qu’une webcam et un système d’exploitation Windows (XP, Vista, Win 7, 8 ou 10).

 

 

Après l’avoir téléchargé depuis la page d’accueil du logiciel ( http://www.cameramouse.org/ )  et installé, on pourra tester son bon fonctionnement. Au lancement du logiciel, ce dernier attendra de votre part de préciser sur l’image de la webcam, un point caractéristique de votre visage (un oeil en particulier, un détail de votre paire de lunettes si vous en portez, etc..). Ce sont les mouvements de votre tête qui piloteront ensuite les déplacements du curseur à l’écran (la « reprise en main » de la souris pouvant à tout moment être maîtrisée).

Il est préférable, après cet essai, de fermer le logiciel Camera Mouse avant de lancer Meshlab (pour un utilisateur novice, certaines commandes à la souris risquant d’être compliquées à gérer ! :) .

 

Sirene

C’est un modèle au format .obj que nous avons ici chargé dans Meshlab. Il s’agit d’une sculpture en bois d’une façade de la ville de Bayeux modélisée à l’aide de PhotoScan.

 

Sirene2

Le point de vue du modèle 3D peut être modifié à la souris dans Meshlab. Mais c’est par le déplacement de notre tête devant l’écran que nous prendrons le contrôle de l’orientation du modèle après un nouveau lancement de Camera Mouse. Un clic gauche à la souris sur le centre du modèle (appui qu’il faudra maintenir) permettra de maîtriser la rotation.

L’animation qui suit présente une succession de points de vue différents de notre modèle. Elle simule une rotation générée par le déplacement d’une tête trackée par le logiciel  Camera Mouse .

 

Sirene3

A suivre…