Sous-sections

Interpolation de rayons lumineux

Le principe de l'interpolation de rayons lumineux est de considérer l'espace à cinq dimensions de tous les rayons lumineux possibles traversant une scène. Cet espace est dénommé lightfield (champ lumineux)[Ger39]. Un rayon y est défini par sa position (3 coordonnées) et sa direction (2 angles). Une image est alors un plan 2D plongé dans cet espace et ''interceptant'' ces rayons lumineux. Les méthodes d'interpolation de rayons visent à acquérir ce champ lumineux (à partir d'images réelles), à le stocker, et à l'utiliser afin de produire des images. La géométrie de la scène n'intervient alors pas dans les calculs, seul le champ lumineux est reconstruit. C'est donc idéalement l'approche parfaite pour la synthèse d'images. Bien sûr, il est impossible d'acquérir intégralement ce champ lumineux, cela demanderait un espace de stockage (et un temps d'acquisition) infini. Ces méthodes se basent donc sur un échantillonnage de cette fonction à des points clés (positions de référence) et interpolent le champ pour les positions intermédiaires. Les méthodes d'acquisition, d'échantillonnage du champ lumineux, de compression des données et d'interpolation différencient ces méthodes.

Fonction plénoptique

La fonction plénoptique [AB91] définit en chaque point $ (V_{x},V_{y},V_{z})$ de l'espace l'énergie radiante dans toutes les directions $ (\theta,\varphi)$, à tout instant $ t$ et pour toute longueur d'onde $ \lambda$, soit :

$\displaystyle p=P(V_{x},V_{y},V_{z},\theta,\varphi,\lambda,t)$

En ne tenant pas compte du temps (scène statique), ni de la longueur d'onde (éclairement constant), la fonction se réduit à 5 dimensions [MB95] :

$\displaystyle p=P(V_{x},V_{y},V_{z},\theta,\varphi)$

Malgré ces simplifications, la quantité de données nécessaire pour décrire une telle fonction est tellement grande que les méthodes que nous allons décrire restreignent les positions (ou orientations de vue) pour lesquelles le champ lumineux pourra être reconstruit. Ainsi, si la scène peut être contenue dans une boîte englobante, les Light Fields[LH96] et Lumigraphes [GGSC96] permettent de construire le flot lumineux autour de la scène. Si l'espace des points de vue possibles est contenu dans un cercle 2D, les Mosaïques Concentriques [SH99] peuvent simuler la fonction plénoptique. Si le point de vue est fixé, la fonction plénoptique peut alors être représentée par un panorama 2D.

Reconstruction globale

Les méthodes de reconstruction globales reconstruisent la fonction plénoptique afin de générer des images d'une scène statique complète. Avec ces méthodes il est donc possible d'effectuer le rendu de scènes complexes virtuelles ou de scène réelles.

Plenoptical Modeling

Dans [MB95], McMillan et Bishop choisissent d'utiliser une projection cylindrique pour représenter un échantillonnage de la fonction plénoptique. Cette projection cylindrique est obtenue à partir d'une caméra vidéo à trépied permettant un mouvement vertical et de rotation. La reconstruction de la fonction plénoptique à partir d'un tel échantillonnage nécessite d'estimer le flot lumineux à chaque position de la caméra quand elle est déplacée. Pour cela, à partir de deux (ou plus) images de référence panoramiques projetées cylindriquement, le champ lumineux est calculé par disparité stéréoscopique. La projection cylindrique à un nouveau point de vue peut être obtenue par un placage de type cylindre$ \mapsto$cylindre, puis peut être reprojetée sur un plan permettant d'obtenir une image.

Light Fields et Lumigraphes

Light Fields et Lumigraphes sont tous deux basés sur une paramétrisation à 4D de la fonction plénoptique, quand la scène peut être contenue dans une boîte englobante. Au lieu d'utiliser $ p=P(V_{x},V_{y},V_{z},\theta,\varphi)$ pour caractériser un rayon lumineux, ces deux méthodes utilisent une tranche de lumière (light-slab) à 4D (cf. image 1.37) : $ p=P(u,v,s,t)$. Ceci est possible en supposant que le flot lumineux ne change pas le long du rayon, ce qui est le cas pour la lumière entourant la scène (et si l'environnement n'est pas un milieu participant).

Figure 1.37: Une tranche de lumière (Light-Slab) (à gauche) et ses deux plans positionnés dans l'espace de la scène (à droite).
\includegraphics[%
width=1.0\columnwidth,
height=3cm,
keepaspectratio]{eps/ea-lightfields-slab.eps} \includegraphics[%
width=1.0\columnwidth,
height=3cm,
keepaspectratio]{eps/ea-lightfields2.eps}

Levoy et Hanrahan ont donc introduit une méthode de rendu de champ lumineux (Light Field Rendering). Ils proposent de paramétrer les rayons par deux plans dont le système de coordonnées est $ (u,v)$ pour le premier et $ (s,t)$ pour le second (par convention) (cf. figure 1.37). Le champ lumineux est alors généré en assemblant une collection d'images. Pour une scène réelle, un tableau 2D d'images est créé en plaçant le centre de projection de la caméra à chaque position $ (u,v)$ du premier plan. Dans leurs travaux, ils construisirent un dispositif photographique spécial contrôlé par ordinateur pour acquérir le champ lumineux d'une scène réelle. La caméra est déplacée aux positions d'une grille 3D dans l'espace et des photographies de la scène sont prises. Chacune de ces images est ensuite projetée (par placage de texture) sur le second plan $ (s,t)$ (cf. figure 1.38). La structure peut être compressée avec un système préservant les données : une quantification vectorielle à taux fixé suivi d'un encodage entropique (gzip). Finalement, ils obtiennent un taux de compression de l'ordre de 120:1, en moyenne. La décompression est faite en appliquant ces deux étapes dans l'ordre inverse. Bien que l'algorithme consiste essentiellement en des interpolations linéaires de couleurs, donc très rapide, la décompression au vol est très coûteuse : environ 25% du temps CPU. Ceci empêche l'utilisation de plusieurs modèles simultanés dans une même scène, limitant la méthode. De plus, aucun travaux n'ont jusqu'ici permi de représenter un environnement complet à l'aide de Light Fields, du fait de sa complexité de mise en oeuvre.

Figure 1.38: Acquisition des échantillons d'images de référence pour la construction d'un light-slab.
\includegraphics[%
width=1.0\columnwidth,
height=10cm,
keepaspectratio]{eps/ea-lightfields3.eps}

Gortler et al. [GGSC96] ont developpé leur système appelé Lumigraphes en même temps que les Light Fields. Dans leurs travaux, la fonction plénoptique est reconstuite sur la surface d'un cube englobant la scène, comme les Light Fields. La technique de paramétrisation d'un rayon de lumière est la même que pour les Light Fields. Dans leur méthode, les échantillons de la fonction plénoptique peuvent être acquis à l'aide d'une caméra tenue à la main. Le calibrage de la caméra, le temps de pose et une version approchée de la géométrie de la scène peuvent être obtenus à l'aide de techniques de Vision par Ordinateur. Etant donné qu'ils utilisent une caméra arbitrairement positionnée, les positions d'échantillonnage ne peuvent être ni spécifiées ni contrôlées ce qui garantit pas que ces échantillons de la fonction plénoptique soient régulièrement répartis. Ils proposent une technique de rééchantillonnage basée sur le modèle 3D approché de l'objet.

Mosaïques concentriques

Plus on contraint les positions possibles de la caméra, plus la fonction plénoptique devient facile à reconstruire. Shum et al. [SH99] ont proposé les mosaïques concentriques qui permet de reconstruire la fonction plénoptique pour un point de vue positionné sur un cercle. Leur méthode compose entre elles différentes photographies prises à différentes positions sur ce cercle. Les rayons sont caractérisés par trois paramètres : rayon, angle de rotation et élévation verticale (3D). Les nouvelles vues sont créées en combinant rapidement les rayons appropriés lors du rendu. Aucun effet de parallaxe n'est capturé par cette technique car les positions de la caméra sont contenues dans un plan et qu'une seule image est prise à chaque point de vue. Lors du rendu néanmoins, des distorsions verticales peuvent apparaître dans l'image obtenue. Différentes corrections sont proposées pour résoudre ce problème. Comparés aux Light Fields et Lumigraphes, les mosaïques concentriques sont bien moins gourmandes en espace mémoire.

Panoramas

Quand le point de vue de capture est réduit à un point, la structure de capture de la fonction plénoptique est dénommée Panorama. Ainsi, Chen [Che95] a construit des images panoramiques cylindriques à 360^&cir#circ; (à champ de vision vertical limité). Les images panoramiques (figure 1.39) peuvent être créées par rendu conventionnel, à l'aide d'appareils photos panoramiques spéciaux ou en combinant des photographies entre elles. A chaque point de capture, une rotation et un zoom peuvent être effectués en utilisant une déformation de type cylindre$ \mapsto$plan. La naviguation en 3D se fait de façon discrète, d'un point à l'autre.

Figure 1.39: Images panoramiques.
\includegraphics[%
width=1.0\columnwidth,
keepaspectratio]{eps/ea-lightfields4.eps}

Reconstruction locale

Les méthodes de reconstruction locale de la fonction plénoptiques permettent de reconstuire le champ lumineux à la surface d'un modèle virtuel. Un tel champ lumineux est caractérisé par une fonction appelée Surface Light Field (SLF) [WAA+00], ou Lumisphère, donnant l'intensité lumineuse émanant d'un point de la surface d'un objet 3D dans toutes les directions, soit $ I(R,V,B)\leftarrow f(r,s,\theta,\varphi)$ . $ (r,s)$ définissent, comme les coordonnées de texture, la position du point sur la surface et $ (\theta,\varphi)$ la direction du rayon émis. Pour reconstuire cette fonction à partir de photographies, il est nécessaire d'associer aux photographies le modèle virtuel 3D de l'objet, et donc de connaitre exactement la position des point de vue. Ceci nécessite du matériel d'acquisition spécialisé, exactement comme les Light Fields. L'avantage du SLF par rapport aux méthodes de reconstruction globale est que l'ensemble des points de vue de visualisation est plus grand : avec un light slab, par exemple, il est impossible de se rapprocher du modèle reconstruit et de plus, il faut combiner plusieurs light slabs pour pouvoir faire le rendu de l'objet selon tous les angles. De plus, avec le SLF, il est possible de positionner plusieurs modèles dans une même scène, ce qui est très difficile avec les Light Fields.

Dans [CBCG02], le SLF est implémenté à l'aide du matériel en compressant l'énorme base de données d'images (jusqu'à un rapport de 5500:1) et en stockant les informations dans des textures. Ainsi, la décompression et le placage sont effectués par la carte graphique.

Le taux d'affichage d'un modèle 3D est de 8 FPS en moyenne pour les SLF et d'environ 50 à 70 FPS pour les SLF accélérés avec la carte graphique (pour une qualité de compression moyenne). Le réalisme des images résultantes est très impressionnant, néanmoins, le dispositif d'acquisition est très complexe, les temps de précalculs extrêmement longs et il est impossible d'utiliser un tel objet dans une scène où l'éclairement change (ou de le faire se déplacer). Finalement, le rendu simultané de plusieurs de ces objets rendus fait baisser drastiquement le taux d'affichage.

Porquet Damien 2005-03-02