• Aucun résultat trouvé

CHAPITRE 3 MÉTHODOLOGIE

3.1 Matériel

3.1.1 Voûte de l’Institut Philippe-Pinel de Montréal

La voûte de réalité virtuelle de l’Institut Philippe-Pinel est un modèle iCUBE-4 réalisé par Viz-Tek. Les écrans (gauche, droite, devant et sol) sont en verre acrylique rigide recouvert d’une couche pour la diffusion. Ce matériau, StarGlas 100, prévu pour les projections par l’arrière, a été spécialement conçu pour les applications de mélange aux bords1 et s’adapte

donc très bien aux projections multiples (plusieurs projecteurs par écran). Étant donné que la projection s’effectue également par l’arrière pour le sol, la voûte entière est surélevée sur une plateforme, comme nous pouvons le voir sur la figure 3.1. Les écrans ont une dimension de 2,44 m x 3,14 m2 pour l’écran de devant et le sol, et 2,44 m x 2,44 m pour les écrans de

gauche et de droite.

Figure 3.1 Installation de la voûte de réalité virtuelle de l’Institut Philippe-Pinel.

1. En anglais edge blending. 2. 8.01 po x 10.30 po.

Carte graphique et projecteurs

La carte graphique utilisée est une Quadro Plex 7000 double (2 blocs de 8 sorties) de la marque Nvidia, qui permet d’atteindre 36 mégapixels au travers de 8 systèmes d’affichage. Elle est associée à 8 projecteurs NEC U310W, utilisés à 120 Hz et 1280 x 720 px, soit une résolution totale de 5120 x 1440 px. La configuration attribuant deux projecteurs à chaque écran, visible en figure 3.2, a été choisie en raison des lieux trop exigus pour éloigner suffisamment les projecteurs autour de la voûte.

La fusion des images est réalisée à l’aide du logiciel AnyBlend (version 2) de VISIO(Visio, 2012), qui peut calculer une sortie jusqu’à 12 projecteurs avec la résolution native. Il réalise automatiquement un mélange doux aux bords3et la déformation des projections4 en quelques

minutes à l’aide d’une caméra présentée en figure 3.2, ce qui permet de projeter sur des écrans de forme arbitraire. Il est compatible avec tous les projecteurs et fonctionne sous Windows 7.

Figure 3.2 Deux projecteurs par écran (en haut à gauche). Caméra utilisée par AnyBlend (en bas à gauche) pour réaliser la fusion des images (à droite).

3. En anglais softedge blending. 4. En anglais projector warping.

Volfoni

Les lunettes stéréoscopiques actives qui furent fournies avec la voûte de l’Institut Philippe- Pinel sont de la marque Volfoni, plus particulièrement du modèle EDGE VR Infrarouge (Vol- foni, 2014a), mais le montage des lunettes finales présenté sur la figure 3.6 a été réalisé avec un modèle ActiveEyes IR (Volfoni, 2014b). Le poids de ce dernier est de 29 g, et il offre un champ de vision de 170◦ horizontalement et 115◦ verticalement. Ses cristaux liquides per- mettent d’obtenir des images très lumineuses (17% de lumière résiduelle) et d’éviter les effets d’images fantômes5. Un appareil électronique à clipser au col permet de recevoir les signaux

IR envoyés par un émetteur situé au-dessus de l’écran de devant pour s’ajuster à la fréquence d’affichage.

Système de repérage

Le système de repérage est un système optique OptiTrack (Optitrack, 2014a) fonctionnant sous Windows 7 avec une précision sous-millimétrique et un temps de latence de 8,3 ms. Il comporte 8 caméras Flex13, visibles en figure 3.3, dont la fréquence d’images est ajustable de 30 à 120 FPS. Elles sont pourvues autour de leur lentille d’une série de DEL IR, et captent les réflexions de la lumière émise par ces dernières sur les marqueurs installés sur les lunettes ou tout objet dont on souhaite connaître la position et l’orientation.

Figure 3.3 Système de repérage optique à 8 caméras.

MotiveTracker (Optitrack, 2014b) est le logiciel développé par Optitrack permettant de récupérer les informations du système de repérage. Il offre la possibilité de définir les entités à suivre, les corps rigides6, en enregistrant les positions relatives de leurs marqueurs. Le centre du repère local de celui-ci est positionné au centre de masse de l’ensemble des marqueurs,

5. En anglais ghosting. 6. En anglais rigid body.

tandis que son orientation est définie au moment de son enregistrement comme étant alignée avec le repère de la voûte, c’est-à-dire avec les vecteurs « avant », « haut » et « droit » respectivement égaux à (0,0,1), (0,1,0) et (1,0,0).

Figure 3.4 Captures d’écran de MotiveTracker : enregistrement du corps rigide des lunettes, représentant la tête de l’observateur.

Unity 3D 4.3.4

Actuellement utilisé pour développer les applications servant aux expérimentations réali- sées au sein de l’Institut Philippe-Pinel, Unity est un engin de jeu qui « comprend un engin de rendu puissant complètement intégré et un ensemble complet d’outils permettant de créer des environnements 3D interactifs »7 (Unity, 2014). Il intègre 3 langages de programmation :

Boo, javascript et C#. Fourni en version professionnelle avec l’iCUBE-4, Unity ne se can- tonne plus aujourd’hui aux limites d’un engin de jeu classique, mais constitue un véritable cadre d’application8. En outre, la version professionnelle offre la possibilité d’assigner à une caméra un composant Depth of Field grâce au paquet Images Effects. La communauté Unity est très active et de nombreux modules d’extension9 étoffent ses capacités.

MiddleVR

MiddleVR est un « module d’extension générique de réalité virtuelle immersive »10 (I’m

in VR) conçu pour fonctionner entre autres avec Unity 3D (I’m in VR, 2014). Il supporte la liaison avec les systèmes d’interaction 3D, tels que les systèmes de suivi, et permet la synchronisation de l’affichage sur plusieurs écrans. C’est donc lui qui effectue la transition entre le système de repérage et Unity 3D, via un plugin Unity. Ce dernier comporte un

7. Notre traduction.

8. Traduction de l’Office québécois de la langue française de l’anglais application framework. 9. En anglais plugins.

GameObject Unity, VRManager, auquel est attaché un certain nombre de scripts. Lorsque l’application est lancée, les traqueurs inscrits dans le fichier de configuration se retrouvent sous le VRManager dans le graphe de scène et sont accessibles comme des GameObject, ce qui permet d’obtenir leur position et leur orientation en temps réel via leur champ transform. Il est possible de définir un gabarit de caméra11 dont les propriétés seront utilisées par les

caméras virtuelles servant à calculer les images projetées sur les murs. Dans notre cas, 8 caméras sont associées à la tête : 2 pour chaque mur, représentant l’œil gauche et l’œil droit. Leurs troncs de projection sont automatiquement redéfinis lorsque l’observateur se déplace dans la voûte de manière à systématiquement intersecter les 4 coins des écrans. Un script attaché à notre gabarit de caméra permet de lui assigner en fonction de la configuration courante une profondeur de champ. C’est également via le module d’extension MiddleVR que nous récupérons les entrées clavier et souris et que nous changeons la position des caméras, comme nous le verrons en section 3.3.3.

L’interface graphique de MiddleVR permet entre autres de définir la configuration des dispositifs d’affichage (taille des écrans, dispositions, les caméras stéréoscopiques, etc.), d’in- diquer les traqueurs VRPN présents dans la configuration (correspondant aux corps rigides enregistrés avec MotiveTracker) ou encore de lancer une application Unity. Nous pouvons remarquer sur la figure 3.5 la redéfinition des troncs de projection des caméras virtuelles en fonction de la position de la tête dans la voûte.

Figure 3.5 Configuration de la voûte dans MiddleVR, et modification des troncs de projection en fonction de la position de l’observateur.

Eye tracking glasses

Afin de réaliser le suivi oculaire, nous avons utilisé les ETG 2.0 mises au point par SMI. Celles-ci comportent deux caméras fonctionnant au choix à 30 ou 60 Hz, placées dans les mon- tures et dirigées vers les yeux, dont les images permettent de calculer les données relatives au suivi. Filaires, les ETG se connectent en USB et sont fournies avec le logiciel iViewETG chargé du traitement d’images. Il fonctionne en utilisant une modélisation sophistiquée du comportement oculaire développé par l’équipe SMI. La méthode de suivi employée est celle de PCCR vue en 2.2.1, ici consistant à repérer la pupille et les reflets cornéens (jusqu’à 6 par œil) avec compensation automatique de la parallaxe. Un modèle est ensuite appliqué afin de déterminer le point de regard. Ce modèle s’adapte automatiquement aux caractéris- tiques physiques mesurées sur l’individu, en particulier au cours d’une étape de calibration automatique s’effectuant durant les 15 premières secondes après le lancement du quick run, moment durant lequel il doit fixer un point dans le centre de son champ de vision. iViewETG se comporte ensuite comme un serveur transmettant les données de suivi oculaire.

En plus de fournir les vecteurs 3D de position des yeux et de direction de vue, les ETG indiquent la position du point de regard 2D, dont les coordonnées sont données dans le repère de l’image de scène fournie par une troisième caméra située à l’avant de la monture entre les deux yeux. Les spécifications renseignent une précision pour cette position de 0.5◦ toutes distances confondues dans les limites de profondeur (40 cm - infini) et dans un intervalle de 80◦ horizontalement et 60◦ verticalement. Elles indiquent aussi que les ETG fonctionnent avec les lentilles de contact (SMI, 2014), mais j’ai pu remarquer pour les participants en portant que la calibration automatique prenait plus de temps et n’arrivait parfois même pas à s’exécuter jusqu’à la précision maximale (celle-ci étant indiqué par la couleur du point de regard affiché dans la fenêtre de iViewETG, visible en figure 3.6). Le poids total des lunettes est de 68 g. Plus de détails sur les données de suivi oculaire seront fournis en section 3.3.1.