FLASH INFORMATIQUE FI

FI spécial été 2007 - Images


CAVE du VRLab




Achille PETERNIER


Introduction

Avez-vous vu le film Matrix ? Dans cette histoire de science-fiction, les protagonistes pouvaient accéder à un univers virtuel en branchant une (menaçante) prise pointue de plusieurs centimètres directement dans leur cerveau. Cette connexion leur permettait de ressentir l’environnement fictif comme s’ils y étaient vraiment, tout en y percevant les sensations visuelles, tactiles, auditives, etc.
La réalité virtuelle, en tant que science plutôt que science-fiction dans notre cas, essaie depuis une cinquantaine d’années d’obtenir un effet semblable, mais en utilisant des moyens moins invasifs qu’une pointe de dix centimètres enfoncée dans la tête des utilisateurs. Or, un des buts de la réalité virtuelle est de tromper de la façon la plus réaliste et convaincante possible nos sens, afin de nous donner l’illusion d’être dans un endroit, une situation ou un moment différent par rapport à la réalité matérielle. Vu que de véritables interfaces cérébrales pour réalité virtuelle ne sont pas encore vraiment disponibles, nous devons nous contenter de générer des images qui seront vues par nos yeux et analysées par notre cerveau. Pour satisfaire à ce besoin, différents moyens, allant de l’écran d’ordinateur jusqu’aux systèmes plus raffinés qui projettent des rayons laser directement sur la rétine de l’utilisateur [8], ont été développés. Le fait que la plus grande partie des vertébrés (homme inclus) possède une paire d’yeux qui envoie deux images à notre cerveau pour qu’elles y soient analysées afin de reconstruire une vision mentale spatiale à trois dimensions de l’environnement demande, par contre, la génération de signaux spécifiques pour chaque oeil. En réalité virtuelle, on utilise donc couramment des systèmes de visualisation stéréographiques capables d’afficher au même temps des images différentes pour chacun des yeux. Parmi ces systèmes on dénote les écrans d’ordinateur couplés avec des lunettes 3D (qui peuvent être des simples filtres colorés rouge/bleu ou de plus sophistiqués obturateurs synchronisés avec le taux de rafraichissement des écrans cathodiques), les Head-Mounted Displays (des petits écrans qui peuvent être portées comme des lunettes, un écran par oeil) et des installations nommées Cave Automatic Virtual Environment (CAVE).

Qu’est-ce qu’un CAVE ?

JPEG - 5.4 ko
aperçu du CAVE dans le Laboratoire de Réalité Virtuelle

Un CAVE est un périphérique pour réalité virtuelle immersive composé de plusieurs parois-écrans (généralement quatre ou plus, bien que des versions minimales avec deux ou trois seulement existent [1]) qui forment une chambre cubique dans laquelle l’utilisateur peut entrer. Ce périphérique a été présenté pour la première fois en 1992 par Cruz-Neira et al. [2]. Des images synthétisées par des ordinateurs sont projetées sur ces parois-écrans qui, couplées avec des lunettes stéréographiques, permettent d’entourer l’utilisateur avec un rendu en trois dimensions. Pour calculer correctement ces images, la position de la tête de l’utilisateur est suivie à l’aide d’un système de tracking en temps réel.
Cet appareil permet donc à un ou plusieurs utilisateurs d’entrer physiquement dans un environnement virtuel, contrairement aux écrans simples ou aux Head-Mounted Displays qui limitent le champ de vision et excluent d’autres utilisateurs ainsi que leur corps de la simulation 3D. Les CAVEs, et tout système basé sur des grands écrans, permettent donc une meilleure sensation d’immersion dans un environnement virtuel et améliorent l’interaction cognitive avec un scénario 3D [3, 4].
Malheureusement, la dissémination de ce genre d’appareil est limitée par trois facteurs principaux [5] : leur taille (qui nécessite l’utilisation d’une grande salle où les installer), leur difficulté d’utilisation (autant pour leur construction que pour la carence de plates-formes logicielles) et leur prix (notamment pour des solutions commercialisées comme celles de Barco ou VRCO qui coûtent plusieurs centaines de milliers de francs).

VRLab CAVE

JPEG - 5.8 ko
utilisateur dans le CAVE avec rendu stéréographique

Vu les avantages et applications au domaine de la réalité virtuelle que ce genre de périphériques apporte, le Laboratoire de Réalité Virtuelle (VRLab) a décidé de s’équiper d’un CAVE aussi. La solution adoptée par notre laboratoire est un hybride entre une version artisanale (comme décrit dans [1]) et professionnelle, afin de réduire de manière significative les coûts sans pour autant renoncer à un appareil moderne et de haute qualité [6].
Le CAVE du VRLab se compose de trois parois et un sol qui forment un semi-cube de 2.2 m de haut, 2.5 m de large et 1.8 m de profondeur. Le hardware est basé sur des produits standards qu’on peut acheter n’importe où dans le marché à des prix fort raisonnables par rapport aux équipements des CAVE commerciaux. Les trois parois sont constituées d’une toile de home-cinéma avec un cadre en fer, pliée sur les côtés avec un fil de nylon transparent. Le sol est une simple planche de bois peinte en blanc. Les images pour chaque paroi et le sol sont générées par quatre PC standards (Xeon 3 GHz, avec des cartes graphiques NVidia Geforce 7800), avec deux projecteurs LCD Canon LV-7210 par PC. Ces PC synthétisent en temps réel deux images séparées (pour l’oeil droit et gauche) qui sont superposées sur les faces du CAVE en faisant converger les images projetées par les beamers. Un cinquième ordinateur fait office de maître du système et dirige les quatre PC via un réseau local privé à 1 Gigabit. Des haut-parleurs Dolby 5.1, reliés au PC serveur, ont été montés autour du CAVE pour produire de l’audio 3D.
Côté software, nous avons adapté un moteur graphique crée dans notre laboratoire (appelé MVisio) très compact et intuitif [7] en rajoutant le rendu dans le CAVE à ses capacités, tout en gardant sa transparence d’utilisation. Même si le CAVE est un outil principalement scientifique (comme un microscope ou un oscillographe), il faut une bonne quantité d’esprit pratique et de savoir-faire (aussi logiciel) pour en construire un en utilisant du matériel pas explicitement conçu pour et pour réadapter des logiciels déjà existants afin qu’ils fonctionnent dans une architecture client-serveur. Comme tout instrument optique, le CAVE nécessite une extrême précision de réglage pour assurer un rendu qualitativement bon. L’obstacle principal est constitué par le manque de réglage fin des projecteurs bon marché. Pour contourner cet obstacle, nous avons construit des supports en fer qui permettent de tourner et faire converger les projecteurs vers un même point sur les écrans. Ce réglage matériel n’étant pas suffisant, nous avons aussi développé un logiciel de calibration qui résout les lacunes persistantes du matériel. Le rendu des images est donc fait dans des textures qui sont ensuite mappées sur une grille de forme variable. Cette dernière peut être modifiée en déplaçant simplement des points de contrôle pour lui donner une bonne forme qui suit parfaitement les contours de la toile afin de corriger avec une précision au pixel près la superposition des deux images pour le rendu stéréographique et la continuité des images entre parois adjacentes.
L’effet stéréographique est obtenu en utilisant deux projecteurs LCD pour chaque paroi. Contrairement à des solutions CAVE commerciales, qui utilisent d’habitude un seul (très cher) projecteur CRT par écran capable d’atteindre 120Hz en balayage horizontal et donc 60Hz par oeil avec des lunettes synchronisées, nous avons placé des obturateurs LCD à 120Hz devant les deux projecteurs pour obtenir ce même résultat, tout en gagnant aussi en luminosité globale du système. Ces obturateurs bloquent le faisceau lumineux émis par un projecteur de façon synchrone avec les obturateurs portés par l’utilisateur.
Lors de l’adaptation du moteur graphique, nous avons privilégié la simplicité d’utilisation aux prestations du système sans pour autant sacrifier une très bonne réactivité. Nous avons ainsi créé une plate-forme logicielle qui permet de passer d’un rendu standard sur un PC vers un rendu dans le CAVE sans rien changer du côté de l’utilisateur : MVisio se charge de synchroniser toutes les données et modifications entre le PC principal (serveur) et les PC du CAVE de façon complètement automatique. Passer d’un rendu PC à un rendu dans le CAVE est donc histoire de quelque minute, facteur qui facilite considérablement l’utilisation de ce périphérique en annulant les temps de développement normalement causés par le portage et l’adaptation d’une application pour la faire tourner dans cet appareil.

JPEG - 4.6 ko
humain virtuel mimant les postures de l’utilisateur dans le CAVE

Conclusion

La versatilité et l’utilité d’un CAVE, dans tous les domaines qui demandent une visualisation graphique d’éléments ou environnements fictifs, sont limitées par les difficultés d’accès (d’ordre logistique, économique ou technique) à de tels appareils. Grâce à notre solution, nous pouvons aujourd’hui bénéficier au VRLab de cet outil de travail avec un très bon compromis entre qualité et contraintes. Notre CAVE a déjà été et est continuellement utilisé pour plusieurs projets, allant de la modélisation de la marche humaine à la vulgarisation scientifique à l’aide de démos pour enfants et audience non spécialisée. D’ailleurs, que vous soyez chercheur ou pas, n’hésitez pas venir voir et essayer notre CAVE lors d’une des nombreuses visites et démos qui se déroulent tout au long de l’année !

Références

[1] Jacobson J. et Hwang Z. 2002. Unreal Tournament for Immersive Interactive Theater. Communications of the ACM. 45, 1 (2002), 39-42.
[2] Cruz-Neira C., Sandin D. J., DeFanti T. A., Kenyon R. et Hart J. C. 1992. The CAVE, Audio Visual Experience Automatic Virtual Environment. Communications of the ACM, June 1992, pp. 64-72.
[3] Tyndiuk F., Thomas G., Lespinet-Najib V. et Schlick C. 2005. Cognitive comparison of 3D interaction in front of large vs. small displays. In Proceedings of the ACM Symposium on Virtual Reality Software and Technology, Monterey, CA, USA (Nov. 2005).
[4] Buxton B. et Fitzmaurice G. W. 1998. HMDs, Caves & chameleon : a humancentric analysis of interaction in virtual space. SIGGRAPH Comput. Graph. 32, 4 (Nov. 1998), 69-74.
[5] Hibbard B. 2000. Visualization spaces. SIGGRAPH Comput. Graph. 34, 4 (Nov. 2000), 8-10.
[6] Peternier A., Cardin S., Vexo F. et Thalmann D., Practical Design and Implementation of a CAVE system, 2nd International Conference on Computer Graphics, Theory and Applications, GRAPP 2007, Barcelona, 2007.
[7] Peternier A., Thalmann D. et Vexo F., Mental Vision : a computer graphics teaching platform, In Lecture Notes in Computer Science, Springer-Verlag Berlin, 2006.
[8] www.cs.nps.navy.mil/people/faculty/capps/4473/projects/fiambolis/vrd/vrd_full.html



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.