97
Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG [email protected]

Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG [email protected]

Embed Size (px)

Citation preview

Page 1: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Méthodes de rendu utilisant les images

Nicolas Holzschuch

iMAGIS/GRAVIR [email protected]

Page 2: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Rendu « classique »

• Modèle géométrique– Modeleurs, modélisation,...

• Affichage– Z-buffer– Interpolation des couleurs

• Illumination

• Plaquage de texture

Page 3: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Problèmes

• Difficile de modéliser le réel– Prend du temps

– Prend de la place en mémoire

– N'est jamais aussi bon que le réel

• Complexité variable en fonction de la position– Vitesse de rendu variable

– Mauvais pour l'interactivité

Page 4: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Utiliser les images

• Qualité visuelle parfaite– Modèle du monde réel idéal si photo– Image de synthèse poussée

• Affichage indépendant de la complexité géométrique• Pourquoi on n'y a pas pensé plus tôt ?

– Comment on bouge le point de vue ?

• Besoin d'informations géométriques supplémentaires• Informations partielles sur le monde

– Algorithmes pour boucher les trous

Page 5: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Informations géométriques

• Fournies par l'utilisateur

• Implicites :– L'appareil n'a pas bougé, seulement tourné– Correspondances entre deux vues

• Explicites :– Profondeur à chaque pixel– Modèle géométrique simplifié– Modèle géométrique complexe

Page 6: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Difficultés

• Profondeur, modèle géométrique :– Évident pour une image de synthèse– Difficile pour un objet réel

• Vues multiples d'un objet :– Facile avec un objet réel– Coûteux avec des images de synthèse

Page 7: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Degrés de liberté

• Tourner l'observateur sans déplacement

• Tourner l'objet sans déplacement

• Tourner et déplacer l'observateur

• Déplacement libre de l'observateur– Sans sortir des limites du modèle

Page 8: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Matériel nécessaire

• Caméra libre– Grille de calibration

• Caméra tournant sur un pied– Calibrée, pied calibré, déplacement cylindrique

• Caméra montée sur potence– Déplacement commandé par ordinateur

• Règle intuitive :– Plus le matériel est simple, plus il faudra fournir

d'informations supplémentaires

Page 9: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Classification

• Recherches en cours– Explosion depuis 1995– Nombreuses directions de recherche– Pas de vue d'ensemble, unifiée

• Pas de classification simple

• Pas de cours ?

Page 10: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Photos

Page 11: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Images de Synthèse

Page 12: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 13: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 14: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Quicktime VR

• Photos panoramiques– Projection cylindrique– Construction semi-autom.

• Warping :– Conversion en image plane

• Interpolation entre les panoramas

Page 15: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Séquence de travail

Page 16: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Acquisition

Page 17: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 18: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Acquisition

• Construction du panorama semi-automatique– En théorie c'est automatique mais ça rate 1 ou 2

images– Recouvrement entre les images (> 50 %)

• Règlage luminosité-contraste automatique

Page 19: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Warping

Page 20: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Image-Based Rendering

• Fondements mathématiques– Fonction plénoptique

• Échantillonnée plus ou moins régulièrement

• Interpolation entre les échantillons

• Processus complet :– Acquisition (images cylindriques)– Mise en correspondance des cylindres– Reconstruction de la fonction

Page 21: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

La fonction plénoptique

P(,Vx,Vy,Vz,t)

Page 22: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Acquisition

• Images cylindriques

• Caméra en rotation sur un axe

• Retrouver les paramètres de la caméra et les angles de rotation

Page 23: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Acquisition des cylindres

• 2 images vues d'un même point de vue :

• (x,y) : pixel dans image I. (x',y') position correspondante dans image I'.

u

v

w

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=

a11 a12 a13

a21 a22 a23

a31 a32 a33

⎢ ⎢ ⎢

⎥ ⎥ ⎥

x

y

z

⎢ ⎢ ⎢

⎥ ⎥ ⎥

′ x =uw

, ′ y =vw

Page 24: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Calibration

• Hi : transformation (homogène)

– S : part intrinsèque (liée à la caméra)

– Ri : part extrinsèque (la rotation de la caméra)

– Ri : rotation d'axe y, d'angle .

– Premier objectif : déterminer les Ri.

– Ensuite, on en déduira S, puis on affinera les Ri

r u =Hi

r x

r u =Hi

r x =S−1RiS

r x

Page 25: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Calibration

• Près du centre optique de l'image, Ri agit presque

comme une translation en x.– (Cx,Cy) : intersection de l'axe de la caméra et du plan de

l'image

– Première approximation : milieu de l'image

• Trouver la translation en x qui minimise la distortion.• Puis :

• Première estimation des Ri et de f2π − atan

i=1

N

∑ tif

⎝ ⎜ ⎜

⎠ ⎟ ⎟ =0

Page 26: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Calibration de la caméra

• S=xzP

– : distorsion. Déviation par rapport à une grille régulière

– : aspect ratio de la grille

– f : focale (en pixels)

– (Cx,Cy) : intersection de l'axe de la caméra et du plan de l'image

– x, z : imperfections variées de la caméra

P=

1 σ −Cx

0 ρ −Cy

0 0 f

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Page 27: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Calibration de la caméra

• On minimise la fonction :

• Avec les données de départ :

• On réinjecte (Cx,Cy) dans l'étape précédente

error(Cx,Cy,σ ,ρ,ωx,ωz) = 1−Correlation(Ii−1,S−1RySIi )

i=1

N

Cx =largeur_image

2Cy =

hauteur_image2

σ =0 ρ =1 ωx =0 ωz =0

Page 28: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Vues cylindriques

Page 29: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Correspondance entre les cylindres

• Deux cylindres de vues– Établir les positions relatives des cylindres

– Centre du cylindre, rotation des axes, champ vertical, position de l’équateur = 6 inconnues

– champ vertical, position de l’équateur : déja estimées dans l’étape précédente.

• L’utilisateur désigne des points de l’espace dans les deux cylindres – Un point sur un cylindre = un rayon dans l’espace

– Un point sur chaque cylindre : deux rayons

– Intersection des rayons : on a la position relative

Page 30: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Correspondance entre les cylindres

• Les rayons ne se rencontrent pas :– On prend le point le plus proche des deux rayons– On prend plusieurs points de correspondance

• de 12 à 500

– Minimisation d’une fonction à 12 variables

• 500 points à la main ?– géométrie épipolaire du cylindre– épipole : droite, projection d’un rayon sur une vue– pour le cylindre : ce n’est pas une droite

Page 31: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Géométrie épipolaire du cylindre

• Rayon sur le cylindre a : (a,va)

• Ligne paramétrée sur le cylindre b : v()

v() =Nxcos(φa −)+Nysin(φa −)

Nzka

+Cva

N=(Cb −Ca)×Da(a,va)

Page 32: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Reconstruction de la fonction plénoptique

Page 33: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Reconstruction de la fonction plénoptique

• Images de référence (déjà calculées, cylindriques)

• Images de disparité :– Pour chaque sur cylindre a, trouver – Une image de disparité par paire de cylindres

• Nouveau point V :– On a la disparité en fonction de cot() et cos(A-)

– On stocke cot() dans les images de disparité

– On précalcule cos(A-) pour chaque valeur de .

– Nouvelle image de disparité en temps réel

Page 34: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Reprojection plane

• Une fois qu’on a la disparité autour de V, on reprojette sur un plan

• En fait, on combine les deux étapes :– On a x(,v) et y(,v) coordonnées de la projection du pixel

(,v) de l’image cylindrique A– En tenant compte de la disparité avec le cylindre B– Plusieurs pixels peuvent se projeter au même endroit

• problèmes de visibilité• ordre de traitement des pixels• de l’arrière vers l’avant

Page 35: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

De l’arrière vers l’avant

Page 36: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

On y est presque

• La grille produite par la reprojection de l’image A est irrégulière :– On ré-échantillonne– footprint : contribution de chaque pixel de A à l’image– taille du splatting : en fonction des disparités et des

dérivées épipolaires

• La méthode de visibilité traite les « plis » du maillage– Il reste les « déchirures » :

• Interpolation entre les pixels voisins• Combinaison de plusieurs images de référence

Page 37: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Résultats

Page 38: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Lightfield/Lumigraph

• Réduction de la fonction plénoptique

• 4 dimensions au lieu de 5

• Plus facile à interpoler

• Pas d'occlusions– Permet de tourner autour d'un objet

Page 39: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

4 dimensions

• Chaque image est une tranche 2D d'une fonction 4D

• Créer le Lightfield : insérer des images 2D dans un champ 4D

• Paramétrisation ?– 2 plans donnés, chacun paramétré– Une ligne est paramétrée par ses intersections avec

les deux plans : (u,v) et (s,t)– L(u,v,s,t)

Page 40: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Light slab

• Ensemble des rayons qui traversent deux quadrilatères

• Représentation efficace :– Conversions linéaires– Peu de calculs

Page 41: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Espace des droites

• Droite définie par (r,)

• Échantillonnage régulier et complet

Page 42: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Échantillonnage complet

Page 43: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Échantillonnage régulier

Page 44: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Lightfield : création

• Par images de synthèse :– Multiples images– (x,y) devient (s,t)– Implique perspectives tordues– Pré-filtrage pour anti-aliasing

• Par photos :– Caméra contrôlée par ordinateur

Page 45: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 46: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Caméra contrôlée par ordinateur

• Mouvement plan de la caméra

• Position connue

• 4 vues : tourner l'objet

• Tourner la lumière en même temps

Page 47: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Représentation

Page 48: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Lightfield :stockage

• Très gros (1.6 Go)• Très redondant• Compression :

– Discrétisation vectorielle (1:24)– Suivie de compression LZW (1:5)

• Décompression :– LZW au chargement– Dé-discrétisation au vol

Page 49: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Lightfield : affichage

• Rayon partant de (x,y) coupe le light slab• Calculer les coordonnées (u,v,s,t)

– Rayon intersecte les 2 quadrilatères

– Coordonnées des points d'intersection

– Faisable avec la texture matrix

• Échantillonner la radiance en (u,v,s,t)– Interpolation des valeurs aux voisins

– Bilinéaire/quadrilinéaire

• Plusieurs light slabs : on les fait tous

Page 50: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 51: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Interpolation

Page 52: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 53: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 54: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Lumigraph

• Même paramétrisation 4D

• Même principe à l'affichage

• Échantillonnage irrégulier :– Photos de l'objet sur une mire– Reconstruction de la fonction– Boucher les trous dans l'échantillonnage :

• Algorithme hiérarchique de reconstruction

Page 55: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 56: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 57: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Layered Depth Images

• Une image… et quelques informations

• Pour chaque pixel :– On stocke l'objet visible– Et les objets qui sont derrière

• Affichage simple :– Se traite comme une image– Pas de trous dans l'affichage

Page 58: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

LDI : construction

• À partir d'un lanceur de rayon : facile• À partir du monde réel :

– Caméra avec information de profondeur

– Caméra virtuelle, source de la LDI

– Plusieurs images, reprojetées sur la caméra virtuelle

– Stockage des pixels en ordre de profondeur

– Pixels différents avec même profondeur : on garde

• Conditions d'éclairage différentes

• Avec un Z-buffer : idem.

Page 59: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

LDI : affichage incrémental

• Nouvelle caméra

• Re-projeter la LDI

• Subdivision en 4 zones (comme IBR)

• Travail pixel par pixel, en ordre (cf. IBR)

• Pour chaque pixel, de l'arrière vers l'avant

• Projection des pixels : travail incrémental– Nouvelle position calculée incrémentalement à

partir du pixel précédent. Réduit les calculs.

Page 60: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Splatting

• Un pixel de la LDI se projette sur la nouvelle image

• Splatting : influence du pixel de la LDI sur les pixels de l'image

• Taille idéale du noyau : dépend de la normale– Stocker un index pour calculer la taille du

noyau ?

Page 61: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Rendu en parallèle

• Séparer en 4 feuilles (cf. IBR)– Pas forcément équilibré– Plus de 4 processeurs ?

• Séparer en plusieurs zones– Droites passant par l'épipole– Zones non rectangulaires– Pixels-frontières partagés entre zones– Deux passes

Page 62: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

LDI : efficacité

• Pentium Pro, image 256x256, LDI 320x320,– 5 fps

• 4 R10000, LDI 256x256, – 19 fps (1 LDI), – 3.5 fps (6 LDI)

Page 63: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Modèle hybride

• Partir de vues simples (caméra standard)

• Premier modèle simple donné par l'utilisateur

• Correspondance avec images :– Taille, position, paramètres– Textures à plaquer

Page 64: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 65: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Modèle géométrique simple

• Construction par blocs :– Cubes, prismes…– Relations entre blocs : contraintes de placement

• Bien adapté aux scènes architecturales

• Facile à manipuler

• Peu de paramètres– Pratique pour la reconstruction

Page 66: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 67: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Reconstruction

• L'utilisateur identifie les arêtes du modèle sur l'image• Trouver les paramètres du modèle et de la caméra• Minimiser la distance entre les arêtes du modèle,

reprojetées, et les arêtes identifiées :

• Erri erreur pour l'arête i

O = Erri∑

Page 68: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Erreur pour une arête

Page 69: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Erreur pour une arête

• Arête (v,d)

• Caméra (Rj,tj)

• Plan image : z=-f

• Droite : mxx+myy-mzf=0

m =Rj(v×(d−tj))

Erri = h2 (s)ds0

l

∫ =l3(h1

2 + h1h2 +h22 )

Page 70: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Erreur pour une arête

• Minimiser O

• On connaît aussi les dérivées de O– Méthode de Newton-Raphson

Erri =mT (AT BA)m

A=x1 y1 1x2 y2 1 ⎛ ⎝ ⎜ ⎞

B=1

3(mx2 +my

2 )1 0.50.5 1 ⎛ ⎝ ⎜ ⎞

Page 71: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Estimation de départ

• Éviter les minima locaux

• Partir d'une estimation proche de la solution

• 2 étapes :– Estimer la rotation de la caméra– Estimer la translation de la caméra et les

paramètres du modèle

Page 72: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Rotation de la caméra

• Si v est connu, on a une contrainte sur Rj

– Arêtes horizontales, verticales identifiables

– Minimiser O1 :

m =Rj(v×(d−tj))

donc:

mTRjv =0

mTRj(d−tj) =0

O1 = (mTRjvi)2

i∑

Page 73: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Paramètres et position de la caméra

• Les points de l'arête sont sur un plan de normale m, passant par la caméra

• Minimiser O2 :

O2 = mTRj(Pi(X)−tj )( )2+ mTRj(Qi(X) −tj )( )

2

i∑

Page 74: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Exemple

Page 75: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 76: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

View-Dependent Texture Mapping

• Chaque caméra agit comme un projecteur de diapositive

• Certains détails du modèle ne sont pas touchés par la diapositive (auto-ombrage)

• On combine les différentes images– Plusieurs images sur le même point du modèle– Informations contradictoires– Moyenne pondérée

Page 77: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 78: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Moyenne pondérée par 1/

Page 79: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 80: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Relief et textures

• Textures stéréo

• Relief textures

Page 81: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Rappel : stéréo classique

• 2 images

• Trouver les correspondances entre les deux images

• En déduire la profondeur

• Problème : – Ici, les images sont prises de points éloignés– Difficile de trouver les correspondances

Page 82: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Model-Based Stereo

• On connaît un modèle approximatif• On n'a plus qu'à trouver la différence par

rapport au modèle• Deuxième image reprojetée en utilisant le

modèle• Disparités entre image originale et image

reprojetée• Carte de profondeur

Page 83: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Exemple

Page 84: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 85: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Relief Textures

Page 86: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Relief Textures

• Texture avec profondeur

• Pré-traitement avant affichage

• Trouver le pré-traitement p tel que mop=w

• m texture-mapping standard

Page 87: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Pré-traitement

• (us,vs) pixel source de la texture

• displ(us,vs) profondeur du pixel

• (ui,vi) coordonnées du même pixel dans la texture intermédiaire

ui =us +k1 (displus,vs )1 +k3 (displus,vs)

vi =vs +k2 (displus,vs)1 +k3 (displus,vs)

Page 88: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Pré-traitement

• k1, k2, k3 dépendent des caméras utilisées

• Coordonnées séparées

• Pas de travail si displ(us,vs) = 0

• Déplacement stocké dans alpha channel• Simplification des paramètres :

– Texture intermédiaire avec même origine et axes que texture originale

– Paramètres plus faciles à calculer

Page 89: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 90: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Visibilité : de l'arrière vers l'avant

• Comme d'habitude :– On part des bords, et on va vers l'épipole

Page 91: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Construction de textures pré-traitées

• Algorithme en deux passes :– une horizontale– une verticale

Page 92: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr
Page 93: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Modèles d'objets

• Relief-textures pour les objets

Page 94: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Exemple

Page 95: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Exemple

Page 96: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Bibliographie

• Quicktime VR :• View interpolation for image synthesis; Shenchang

Eric Chen and Lance Williams; proceedings of the 20th annual conference on Computer graphics, 1993, p. 279 - 288

• QuickTime VR: an image-based approach to virtual environment navigation; Shenchang Eric Chen; proceedings of the 22nd annual ACM conference on Computer graphics, 1995, p. 29 - 38

http://www.apple.com/quicktime/qtvr/

• Image-based Rendering :• Plenoptic modeling: an image-based rendering

system; Leonard McMillan and Gary Bishop; proceedings of the 22nd annual ACM conference on Computer graphics, 1995, p. 39 - 46

http://www.cs.unc.edu/~ibr/

http://www.cs.unc.edu/~mcmillan/

• Light Field :• Light field rendering; Marc Levoy and Pat

Hanrahan; proceedings of the 23rd annual conference on Computer graphics, 1996, p. 31 - 42

http://graphics.stanford.edu/projects/lightfield/

• Lumigraph :• The lumigraph; Steven J. Gortler, Radek

Grzeszczuk, Richard Szeliski and Michael F. Cohen; proceedings of the 23rd annual conference on Computer graphics, 1996, p. 43 - 54

http://www.research.microsoft.com/MSRSIGGRAPH/96/Lumigraph.htm

Page 97: Méthodes de rendu utilisant les images Nicolas Holzschuch iMAGIS/GRAVIR IMAG Nicolas.Holzschuch@imag.fr

Bibliographie

• Layered Depth Images :• Layered depth images ; Jonathan Shade, Steven

Gortler, Li-wei He and Richard Szeliski; proceedings of the 25th annual conference on Computer Graphics, 1998, p. 231 - 242

• Rendering Layered Depth Images, Steven J. Gortler, Li-wei He, Michael F. Cohen, MSR-Tech-Report, 1997

ftp://ftp.research.microsoft.com/pub/tr/tr-97-09.ps

• Efficient warping for architectural walkthroughs using layered depth images; Voicu Popescu, Anselmo Lastra, Daniel Aliaga and Manuel de Oliveira Neto; proceedings of the conference on Visualization '98, 1998, p. 211 - 215

http://www.cs.unc.edu/~ibr/projects/ArchWalkAcc/ArchitecturalWalkthroughs.html

• Modèle hybride :• Modeling and rendering architecture from

photographs: a hybrid geometry- and image-based approach; Paul E. Debevec, Camillo J. Taylor and Jitendra Malik; proceedings of the 23rd annual conference on Computer graphics, 1996, p. 11 - 20

http://graphics3.isi.edu/~debevec/Research/

• Relief Textures :• Relief texture mapping; Manuel M. Oliveira,

Gary Bishop and David McAllister; proceedings of the conference on Computer graphics, 2000, p. 359 - 368

http://www.cs.unc.edu/~ibr/projects/RT/RT.html