• Aucun résultat trouvé

Repr ´esentations par ´echantillonnage de la parallaxe

7.1.1 Hypoth `eses

La première hypothèse que nous effectuons est qu’au moment du rendu, O occupera une faible proportion de l’écran (objet lointain ou petit objet).

La deuxième hypothèse consiste à restreindre l’angle de vue sous lequel O pourra être visualisé. Nous définissons un axe privilégié, que nous appelerons axe de rotation, qui devra se trouver orthogonal à la direction de vue lors du rendu.

Ces deux hypothèse mises ensemble impliquent que nous ne considérons que les vues orthographiques, de direction orthogonale à l’axe de rotation. Bien que cela puisse à première vue sembler restrictif, cela permet en fait de répondre déja à beaucoup de besoins pratiques. Un grand nombre d’applications imposent au point de vue de se déplacer sur un plan (ou une surface localement plane), notamment les applications en vue à la première personne. Les objets distants (comme des arbres par exemple) sont alors toujours vus selon une direction quasiment orthogonale à leur axe vertical. En prenant cet axe comme axe de rotation on se retrouve alors bien dans le cadre de nos hypothèses. Nous montrons plus tard en quoi cette hypothèse est avantageuse.

La troisième hypothèse concerne le modèle d’éclairement. Nous nous placerons dans un premier temps pour simplifier dans le cas où les conditions d’éclairage (sources lumineuses) sont statiques. Nous discuterons par la suite en fonction de la représentation étudiée de la possibilité éventuelle de la rendre plus flexible sur ce point, c’est-à-dire de permettre de calculer l’éclairement dynamiquement.

Une quatrième hypothèse optionnelle consiste à restreindre encore les condi-tions de vue possible. Dans les applicacondi-tions pratiques il arrive souvent qu’on puisse à l’avance déterminer qu’un objet ne pourra être vu que pour un ensemble de points de vue restreint (par exemple dans une simulation de course automobile, l’angle sous lequel peuvent être vus les objets en bord de route est borné). La connais-sance d’une telle restriction permet généralement d’obtenir une représentation plus efficace de l’objet (en mémoire et en rapidité de rendu).

7.1.2 Objectif

Nous recherchons une représentation de l’objet O qui soit suffisamment com-pacte et qui permette d’en effectuer un rendu efficacement, en tirant parti des ressources du matériel graphique, de manière la plus visuellement fidèle au modèle de référence qui soit.

Parmi les aspects perceptuels que nous cherchons à reproduire, notons l’impor-tance de la reproduction de silhouettes correctes, la restitution de l’impression de parallaxe (impression de rotation lorsque l’objet tourne par rapport au point de vue, perceptible de loin) et celle de l’éclairement perçu.

7.2 Light-field cylindrique

Comme expliqué nous nous intéressons à l’aspect visuel de l’objet à rendre, et nous cherchons une représentation qui permette de le restituer au mieux. Il nous en faut donc une mesure, indépendente de la représentation originale de l’objet.

Rendre un objet revient à en échantillonner la fonction plénoptique pour un cer-tain ensemble de rayons lumineux. La définition la plus générale de la fonction plénoptique [AB91] est la fonction à sept dimensions qui à une position de l’es-pace, une direction, une longueur d’onde et un temps donné associe une intensité lumineuse.

Avec les hypothèse que nous nous sommes fixés, cette fonction peut se ramener à seulement trois dimensions, d’abord en supprimant les dimensions temporelles et de longueur d’onde, par l’hypothèse que l’objet est statique et en prenant sim-plement l’espace RGB comme espace d’arrivée, ensuite en ramenant les deux di-mensions directionnelles à une seule de par l’hypothèse qu’on ne considère que les rayons lumineux horizontaux, enfin en supprimant une dimension spatiale en ne considérant pour un rayon lumineux que sa première intersection avec l’objet.

FIG. 7.3Repère RO

Plus précisément, on définit un repère orthonormé RO dont l’axe z est dirigé selon l’axe de rotation de l’objet, et tel que l’objet soit contenu dans le cylin-dre droit d’axe z, de rayon 1 et délimité par les plans (z= −1)et(z=1). Ce repère sera pris comme repère de référence pour tout ce qui suit. On définit ensuite le repère image Rθ comme le repère orthonormé de même origine que le repère de référence RO, d’axes définis comme suit :

XRθ = −sin(θ)XRO+cos(θ)YRO YRθ = ZRO

FIGURE7.4 – Repère Rθet paramétrisation des rayons lumineux r(x, y, θ).

On peut alors maintenant définir le light-field cylindrique de l’objet O comme la fonction :

f : [−1, 1]2× [0, 2π[ −→RGB

(x, y, θ) 7−→couleur(r(x, y, θ))

où r(x, y, θ)représente le rayon lumineux allant du point(x, y, 1)au point(x, y,−1) dans le repère Rθ.

Ce que nous cherchons est alors une représentation de l’objet qui en permette un rendu efficace tout en approchant au mieux son light-field cylindrique.

7.3 Travaux existants

Pour représenter le light-field d’un objet, la solution la plus simple consiste à échantillonner celui-ci de manière dense [LH96, GGSC96]. L’interpolation en-tre échantillons d’un light-field étant mal définie [CTCS00, SYGM03], on ne peut généralement pas synthétiser de nouvelles vues de l’objet à une résolu-tion supérieure à celle de l’échantillonnage du light-field. Les travaux traitant de cette représentation s’attachent alors principalement au problème de la compres-sion efficace des données échantillonnées. Malgré les forts taux de comprescompres-sion atteignables, de par la forte redondance des données, la taille mémoire d’une telle représentation reste inadaptée à notre problème.

Les travaux de rendu à base d’images [CW93,MB95,DTM96,MMB97,SGHS98,

SP99,OBM00] peuvent être vus comme des manières d’échantillonner le light-field d’un objet de manière peu dense. Pour compenser le manque d’information d’un tel sous-échantillonnage, la stratégie appliquée consiste généralement à ajouter des données géométriques supplémentaires, une information de profondeur par exem-ple. Cependant il existe peu de travaux cherchant à profiter au mieux des ressources offertes par le matériel graphique actuel pour en déduire des représentations effi-caces.

FIGURE 7.5 – Cycle de six imposteurs avec parallaxe (de en haut en bas : cartes de couleur, cartes de parallaxe et cartes de normales).

7.4 Cycle d’imposteurs avec parallaxe

L’option la plus intuitive pour capturer le light-field associé à un objet consiste à échantillonner un certain nombre K de vues(Ik)kJ0,KJ, à une certaine résolution N, en tournant autour de cet objet selon des angles de vue (θk)espacés régulière-ment (θk = 2kπ/K). Pour qu’une telle représentation reste avantageuse en terme de coût mémoire, il faut que le nombre K de vues utilisées reste faible (intuitivement, l’information représentée par 8 vues de l’objet devrait largement suffire pour en capturer tous les aspects).

Le cas extrème consiste à prendre une seule vue : c’est la technique de l’im-posteur unique, faisant toujours face à la caméra, couramment utilisée notamment pour les objets lointains, fixés à l’environnement (les arbres, par exemple). Cette technique fonctionne bien dans ce cas car lors d’un mouvement du point de vue, la parallaxe perceptible sur un objet fixe suffisamment distant est quasiment nulle. Cependant dès que l’objet n’est plus forcé de garder une orientation fixe (pour un véhicule au loin, par exemple), la parallaxe devient perceptible, même de loin. Comme c’est un effet que nous cherchons à reproduire, nous utiliserons plusieurs vues.

La question se pose alors de savoir comment synthétiser à partir de ces K vues, une nouvelle vue qui n’a pas été échantillonnée. La solution la plus simple consis-terait à simplement sélectionner la vue Ik la plus proche du point de vue courant (telle que θk soit le plus proche de l’angle de vue θ courant) et de l’afficher telle quelle. Si l’on se restreint à un nombre de vues faible, ce qui correspond à notre objectif, une telle approche génère un effet de saccades quand l’objet tourne. Il faudrait un nombre de vues très élevé (de l’ordre de 2πN) pour que cet effet ne soit plus perceptible. Pour réduire cet effet de saccades on peut être tenté de sélection-ner les deux vues les plus proches (Ik et Ik+1 telles que θ∈ [θk, θk+1[) et en effectuer un mélange linéaire (avec un poids dépendant de la position relative du point de vue courant entre ces deux vues). Ceci a pour effet de remplacer les saccades précé-dentes par un effet d’images fantômes, qui nécessiterait là encore d’utiliser un trop grand nombre de vues pour être rendu imperceptible.

L’effet de flou induit par l’interpolation est un problème bien connu des travaux sur les light-fields : il correspond à un sous-échantillonnage du light-field et au manque d’information qui en découle. L’information manquante, est la quantité de

FIGURE 7.6 – Déformations des deux points de vue Ik et Ik+1 les plus proche selon leurs cartes de parallaxe respectives, puis combinaison (en bas, au milieu) : l’image résultat n’a pas les problèmes de fantômes que produit un simple mélange linéaire (en haut, au milieu).

parallaxe associée à chaque échantillon : si l’on prend le point de l’objet se trouvant sous un pixel d’une vue Ikdonnée, lorsque l’on fait tourner l’objet verticalement, ce point se déplace horizontalement d’une quantité dépendant de sa distance au point de vue. Comme nous allons le voir, garder cette information permet de résoudre le problème de synthèse de vue quelconque pour un faible surcoût de stockage en mémoire.

7.4.1 D ´efinition

On définit le cycle d’imposteurs avec parallaxe de l’objet O comme la famille des Kimposteurs avec parallaxe (Ik)kJ0,KJ de résolution N×N obtenus par rendu or-thographique de l’objet O dans les direction (θk = 2kπK )kJ0,KJ. L’imposteur avec parallaxe Ik est un triplet constitué d’une carte de couleur Ck, d’une carte de nor-males Nk et d’une carte de parallaxe Pk. La carte de couleur est constituée de trois canaux RGB contenant la composante de couleur diffuse ainsi qu’un canal d’opac-ité contenant des valeurs binaires 1 ou 0 selon que les pixels correspondants sont couverts par l’objet ou pas. Avec cette représentation il est possible de rendre les imposteurs avec un éclairement diffus (réflectance Lambertienne). L’utilisation de modèles d’éclairement paramétriques plus complexes ne poserait pas d’autre prob-lème que le surcoût mémoire dû au stockage d’éventuelles cartes de coefficients supplémentaires (un coefficient spéculaire par exemple).

Le pixel (i, j) de l’imposteur Ik correspond à l’échantillonnage du rayon lu-mineux r(xi, yj, θk) allant, dans le repère Rθk, du point (xi, yj, 1) vers le point (xi, yj,−1), avec xi = 2i/N−1 et yj = 2j/N−1. La parallaxe Pk(i, j) correspond à la coordonnée selon z (toujours dans le repère Rθk) du premier point de l’objet O rencontré le long de ce rayon. Autrement dit, le point échantillonné au pixel(i, j) a pour coordonnées (xi, yj, Pk(i, j))dans le repère Rθk. Lorsque le rayon lumineux n’intersecte pas l’objet, on associe au pixel(i, j) une valeur de parallaxe arbitraire hors de l’intervalle[−1, 1].

La carte de parallaxe peut être vue comme la représentation de la surface visible selon la direction θk de l’objet O, sous la forme d’un champ de hauteur ayant pour

FIGURE 7.7 – Représentation de la parallaxe : (a) un imposteur avec parallaxe, (b) les échantillons correspondants représentés en 3D, (c) l’objet original rendu sous le même point de vue.

base le carré de sommets(±1,±1, 0) dans le repère Rθk. A la différence près que contrairement à la définition du champ de hauteur que nous avons donné en section 4.1, la carte de parallaxe ne représente pas forcément une surface continue.