• Aucun résultat trouvé

CHAPITRE 4 RESTITUTION DU MOUVEMENT EN SIMULATION DE CONDUITE

4.3. Architectures logicielles employées

4.3.5. Synthèse d’image

Pour restituer visuellement l’environnement virtuel, la simulation de conduite, comme toute application de réalité virtuelle, utilise les techniques de synthèse d’image. Le but est de transformer la modélisation vectorielle (3 dimensions) du monde en une représentation matricielle (2 dimensions) qui sera affichée sur l’interface visuelle du simulateur. Ce passage d’une représentation en 3 dimensions à une représentation en 2 dimensions est fait pour un point de vue donné5. Il faut donc, afin que l’image soit géométriquement correcte, que l’observateur soit placé à la bonne distance et selon la bonne direction par rapport à l’interface visuelle. En réalité virtuelle, cette adéquation entre les points de vue est souvent abordée dans le sens inverse : on connaît la position de l’observateur par rapport à l’écran (via un capteur de localisation) et on calcule l’image à afficher en fonction de ces paramètres.

Pour calculer une image en informatique graphique, on utilise une caméra virtuelle dont le principe est celui du sténopé (Figure 52), principe approchant le fonctionnement de l’œil. La caméra sténopé (pinhole camera) fonctionne par projection conique de l’environnement 3D sur un plan de référence. Le sommet de cette projection conique correspond au point de vue de référence.

5

Notons que l’existence d’un point de vue de référence est toujours vraie pour une vue perspective conique. Il n’y a que dans le cas d’une vue en perspective axonométrique (comme par exemple la perspective cavalière ou les projections orthogonales) qu’il n’existe pas de point de vue de référence. Cependant, les perspectives axonométriques ne sont pas utilisées en réalité virtuelle.

4.3 Architectures logicielles employées 75

Figure 52 - Modèle du sténopé (source : Wikimedia Commons)

En réalité virtuelle, on définit généralement une caméra par son point de vue de référence et son plan de référence. Si on définit le plan de référence de façon à le faire coïncider avec l’écran de l’interface visuelle, il est alors aisé de faire uniquement déplacer le point de vue de référence de la caméra de la même manière que l’observateur par rapport à l’écran réel. On obtient alors une caméra dite asymétrique, comme l’illustre la Figure 53.

Figure 53 – Illustration du concept de caméra asymétrique en réalité virtuelle.

Si on fait coïncider le plan de référence de la caméra (rectangle en traits pointillés) avec l’écran réel (rectangle en traits pleins), il suffit alors de déplacer le point de vue de référence de la caméra de la même manière que l’observateur par rapport à l’écran réel, pour que l’image reste géométriquement correcte.

Il existe plusieurs méthodes pour effectuer la projection faite par la caméra et obtenir l’image matricielle en 2D qui sera affichée. La méthode de lancer de rayons et la méthode de radiosité sont les méthodes permettant de faire la synthèse d’image la plus réaliste. Grâce à elles on est aujourd’hui capables d’obtenir des images qu’on qualifie de « confondantes ». Ce sont ces méthodes qui sont utilisées par le cinéma pour la réalisation des effets spéciaux numériques ou des films d’animation. Cependant, le temps de calcul pour une image est encore trop long aujourd’hui pour pouvoir être fait en temps réel. La simulation de conduite, le jeu vidéo ou toute autre application informatique temps réel utilise la méthode de la rastérisation.

La rastérisation est effectuée par le processeur de traitement graphique (Graphics

Processing Unit GPU) et se déroule en 2 grandes étapes. Premièrement, la représentation

vectorielle de l’environnement est projetée sur le plan de référence de la caméra. On obtient alors une représentation vectorielle en 2 dimensions. Cette représentation vectorielle subit ensuite une succession d’opérations (décrites dans la Figure 54) pour obtenir la représentation matricielle finale.

Figure 54 – Pipeline graphique du processeur de traitement graphique (Graphics Processing Unit GPU) de la carte graphique (source : Wikimedia Commons).

Les données brutes correspondent à la représentation vectorielle de l’environnement virtuel projeté sur le plan de référence de la caméra. Cette représentation vectorielle est ensuite transformée pour obtenir la représentation matricielle qui sera affichée sur l’interface visuelle.

Cette deuxième étape, permettant de passer de la représentation vectorielle en deux dimensions à la représentation matricielle intègre notamment des procédés permettant :

 d’améliorer l’aspect final de l’image, comme l’anticrénelage ou antialiasing par exemple ;

 d’accélérer le calcul, comme les techniques de backface culling ou de clipping par exemple ;

On voit également dans la Figure 54 que le processus de rastérisation intègre des fonctions programmables : les shaders. Grâce à eux, les programmeurs peuvent avoir accès au traitement réalisé par les cartes graphiques, ce qui permet de réaliser des fonctions personnalisées sans surcharger le processeur central (Central Processing Unit CPU). De plus, en réalisant ces fonctions sur le GPU au lieu du CPU, le temps d’exécution est inférieur du fait qu’on ne sort pas du pipeline graphique de rastérisation.

Les shaders permettent de faire des effets variés. Par exemple, la technique de

bump mapping permet grâce aux shaders d’obtenir une image d’une surface apparemment

complexe à partir d’une surface simple et d’une texture (Figure 55). La technique de cell-

shading (ou toon shading) permet quant à elle d’obtenir un rendu type « dessin animé », ou

« cartoon » (Figure 56). Nous verrons dans le Chapitre 6 (6.3) comment les shaders ont été utilisés sur le simulateur SAAM pour la correction d’image.

4.3 Architectures logicielles employées 77

Figure 55 – Technique de bump mapping utilisant des shaders (source : Wikimedia Commons).

La géométrie utilisée est une sphère (image de gauche). Après la passe de bump mapping avec une texture indiquant le niveau de relief (image du centre), on obtient le rendu final de l’image de droite.

Figure 56 – Technique de cell-shading ou toon-shading (source : Wikimedia Commons).

L’image de gauche présente un rendu conventionnel. L’image de droite présente un rendu de la même géométrie avec la technique de cell-shading. Les contours sont plus marqués et la palette de couleurs est réduite.

79

Conclusions de l’étude

bibliographique et problématique

La perception du mouvement est un mécanisme complexe, résultant de l’interaction entre plusieurs modalités sensorielles aux propriétés et fonctions différentes.

 Le système visuel, organe principal de la perception du mouvement, renvoie des

informations sur la direction et la vitesse du déplacement, grâce principalement au flux optique.

 Le système auditif, dans le cas de la conduite automobile, renvoie également des

informations sur la vitesse, en fournissant des informations sur le bruit créé par le groupe motopropulseur, sur les bruits aérodynamiques et sur les bruits de roulement (contact pneu/route).

 Le système vestibulaire, centrale inertielle du corps humain, renvoie quant à lui des

informations sur les accélérations linéaires et rotatives de la tête. Ces informations permettent au cerveau de calculer et d’anticiper le mouvement à venir, afin de pouvoir réagir au plus vite en cas de besoin.

 Le corps humain possède aussi des capteurs somatosensoriels venant renforcer les

informations d’accélération du système vestibulaire. Il peut s’agir par exemple de capteurs de pression de la peau situés dans le dos et sur la poitrine, au contact avec le siège et la ceinture ; ou encore d’organes situés dans les tendons et les muscles, renvoyant des informations sur l’effort des bras pour le maintien du volant, ou des muscles du cou pour le maintien de la tête.

Tous ces organes contribuent à la création d’une sensation de mouvement unique et cohérente. Bien que ces modalités sensorielles puissent être suffisantes à elles seules pour susciter une sensation de mouvement, la littérature fournit de nombreuses preuves des interactions qui peuvent exister entre elles. En outre, lorsqu’il existe des conflits entre ces différentes modalités, la cinétose (plus connue sous le nom de mal du simulateur) peut apparaître.

Afin de pouvoir faire conduire un conducteur réel dans un environnement de conduite virtuel, les simulateurs de conduite stimulent les différents organes participant à la perception du mouvement. Le conducteur, installé dans un cockpit (partiel ou complet), peut interagir avec le véhicule virtuel avec le volant et les pédales, et visualise l’environnement sur un écran ou un visiocasque. Le son provenant du véhicule simulé et de l’environnement est restitué au moyen d’enceintes, généralement situées dans le cockpit. Certains simulateurs, dits dynamiques, proposent également une restitution des accélérations et des vibrations, au moyen d’actionneurs électromécaniques, pneumatiques ou hydrauliques.

Si certains simulateurs avancés permettent une restitution sur toutes les modalités sensorielles liées à la perception du mouvement, ce n’est pas le cas de tous, notamment les simulateurs à faible ou moyen coût. Sur ces simulateurs, l’absence de restitutions sur une ou plusieurs modalités, ou encore la fidélité relativement faible de la restitution, peut entraîner,

en plus de la cinétose, une différence entre le mouvement perçu sur simulateur et le mouvement qui serait perçu en conditions réelles. Notamment, il est souvent reporté une sous-estimation de la vitesse, qui se traduit généralement par une conduite plus rapide.

Cette sous-estimation de la vitesse perçue peut être gênante, notamment si elle implique que le conducteur roule plus vite qu’en conditions réelles. En effet, le conducteur s’attend alors à ce que son véhicule réagisse comme si il roulait à la vitesse qu’il perçoit. Or son véhicule a une vitesse plus élevée, et donc réagira différemment, particulièrement en virage ou en cas de freinage d’urgence.

Pour tenter de « corriger » ce problème de vitesse perçue sur leur simulateur, (Diels

et Parkes 2009) proposent une méthode basée sur des résultats préliminaires de (Mourant, et al. 2007), consistant à modifier le champ de vision géométrique. Nous avons choisi

d’étudier de façon plus approfondie cette technique. Notamment, nous allons tenter de répondre aux questions suivantes :

 Quel est l’impact de cette technique sur la perception de la vitesse ? Peut-on le

quantifier ?

 Comment utiliser au mieux cette technique sur un simulateur ?  Est-ce possible de l’implémenter sur tous les simulateurs ?

81

Chapitre 5 Comment « corriger » la