Mthodes de rendu utilisant les images Nicolas Holzschuch
- Slides: 97
Méthodes de rendu utilisant les images Nicolas Holzschuch i. MAGIS/�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
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é
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
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
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
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
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
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 ?
Photos
Images de Synthèse
Quicktime VR • Photos panoramiques – Projection cylindrique – Construction semi-autom. • Warping : – Conversion en image plane • Interpolation entre les panoramas
Séquence de travail
Acquisition
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
Warping
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
La fonction plénoptique P( , , l, Vx, Vy, Vz, t)
Acquisition • Images cylindriques • Caméra en rotation sur un axe • Retrouver les paramètres de la caméra et les angles de rotation
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'.
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
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 f
Calibration de la caméra • S=Wx. Wz. P – s : distorsion. Déviation par rapport à une grille régulière – r : 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 – Wx, Wz : imperfections variées de la caméra
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
Vues cylindriques
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
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
Géométrie épipolaire du cylindre • Rayon sur le cylindre a : ( a, va) • Ligne paramétrée sur le cylindre b : v( )
Reconstruction de la fonction plénoptique
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é
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
De l’arrière vers l’avant
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 » :
Résultats
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
4 dimensions • Chaque image est une tranche 2 D d'une fonction 4 D • Créer le Lightfield : insérer des images 2 D dans un champ 4 D • 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)
Light slab • Ensemble des rayons qui traversent deux quadrilatères • Représentation efficace : – Conversions linéaires – Peu de calculs
Espace des droites • Droite définie par (r, ) • Échantillonnage régulier et complet
Échantillonnage complet
Échantillonnage régulier
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
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
Représentation
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
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
Interpolation
Lumigraph • Même paramétrisation 4 D • 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
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
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.
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.
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 ?
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
LDI : efficacité • Pentium Pro, image 256 x 256, LDI 320 x 320, – 5 fps • 4 R 10000, LDI 256 x 256, – 19 fps (1 LDI), – 3. 5 fps (6 LDI)
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
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
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
Erreur pour une arête
Erreur pour une arête • Arête (v, d) • Caméra (Rj, tj) • Plan image : z=-f • Droite : mxx+myy-mzf=0
Erreur pour une arête • Minimiser O • On connaît aussi les dérivées de O – Méthode de Newton-Raphson
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
Rotation de la caméra • Si v est connu, on a une contrainte sur Rj – Arêtes horizontales, verticales identifiables – Minimiser O 1 :
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 O 2 :
Exemple
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
Moyenne pondérée par 1/
Relief et textures • Textures stéréo • Relief textures
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
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
Exemple
Relief Textures
Relief Textures • • Texture avec profondeur Pré-traitement avant affichage Trouver le pré-traitement p tel que mop=w m texture-mapping standard
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
Pré-traitement • • • k 1, k 2, k 3 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
Visibilité : de l'arrière vers l'avant • Comme d'habitude : – On part des bords, et on va vers l'épipole
Construction de textures pré-traitées • Algorithme en deux passes : – une horizontale – une verticale
Modèles d'objets • Relief-textures pour les objets
Exemple
Exemple
Bibliographie • Quicktime VR : • Light Field : • View interpolation for image synthesis; Shenchang Eric Chen and Lance Williams; proceedings of the 20 th annual conference on Computer graphics, 1993, p. 279 - 288 • Quick. Time VR: an image-based approach to virtual environment navigation; Shenchang Eric Chen; proceedings of the 22 nd annual ACM conference on Computer graphics, 1995, p. 29 - 38 • Light field rendering; Marc Levoy and Pat Hanrahan; proceedings of the 23 rd annual conference on Computer graphics, 1996, p. 31 - 42 http: //www. apple. com/quicktime/qtvr/ • Image-based Rendering : • Plenoptic modeling: an image-based rendering system; Leonard Mc. Millan and Gary Bishop; proceedings of the 22 nd annual ACM conference on Computer graphics, 1995, p. 39 - 46 http: //www. cs. unc. edu/~ibr/ http: //www. cs. unc. edu/~mcmillan/ http: //graphics. stanford. edu/projects/lightfield/ • Lumigraph : • The lumigraph; Steven J. Gortler, Radek Grzeszczuk, Richard Szeliski and Michael F. Cohen; proceedings of the 23 rd annual conference on Computer graphics, 1996, p. 43 - 54 http: //www. research. microsoft. com/MSRSIGGRAPH/96/Lu migraph. htm
Bibliographie • Layered Depth Images : • Modèle hybride : • Layered depth images ; Jonathan Shade, Steven Gortler, Li-wei He and Richard Szeliski; proceedings of the 25 th annual conference on Computer Graphics, 1998, p. 231 - 242 • Rendering Layered Depth Images, Steven J. Gortler, Li-wei He, Michael F. Cohen, MSRTech-Report, 1997 • Modeling and rendering architecture from photographs: a hybrid geometry- and imagebased approach; Paul E. Debevec, Camillo J. Taylor and Jitendra Malik; proceedings of the 23 rd annual conference on Computer graphics, 1996, p. 11 - 20 ftp: //ftp. research. microsoft. com/pub/tr/tr-97 -09. ps • Relief Textures : • 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/Arch. Walk. Acc/Arc hitectural. Walkthroughs. html http: //graphics 3. isi. edu/~debevec/Research/ • Relief texture mapping; Manuel M. Oliveira, Gary Bishop and David Mc. Allister; proceedings of the conference on Computer graphics, 2000, p. 359 - 368 http: //www. cs. unc. edu/~ibr/projects/RT/RT. html
- Nicolas holzschuch
- Aethlios
- Nicolas holzschuch
- Nicolas holzschuch
- Nicolas holzschuch
- Nicolas holzschuch
- Les types de compte rendu
- Lettre écrite en 2070
- Introduction compte rendu
- Rapport de panne
- Compte rendu coaching
- Exemple de rapport de visite de terrain
- Phialoconidia
- Compte rendu radiologique exemple
- Poids apparent
- Compte rendu de supervision
- La définition de compte rendu
- Real image vs virtual image
- Hi
- Images search yahoo
- How to save images on google images
- Yahoo.com.yw
- Fais correspondre les mots aux images
- Tija planta
- Les lettres en français
- Le volcan le plus dangereux du monde
- La nouvelle réaliste
- Les constellations les plus connues
- Pronom convenable
- Parts de la fulla
- Les mots variables et les mots invariables
- Les classe de mots variable
- Trouvez les réponses. écrivez-les en chiffres (numbers).
- Grand corps malade
- En quittant cette terre
- Preactionneurs
- Les trois obstacles et les quatre démons
- Veux-tu briser du péché le pouvoir parole
- L'horloge stratégique
- Tu aimes manger
- Les mots qu'on ne dit pas sont les fleurs du silence
- Type d'organisateur textuel
- Dragibus calories
- Les arguments pour tous les sujets
- Fonctions techniques et solutions techniques
- Les voitures les plus rapides du monde
- Courtois nombre completo
- Chanson saint nicolas clic clac
- Nicolas rouquie eps
- Dr nicolas kokkalis
- Boyaval catherine
- Prof pastore
- Ufr segmi nanterre
- Brahim boughezala
- Sensemaya nicolas guillen
- Nicolas de cusa aportaciones
- Flash data retention
- Nicolas notebaert
- Nicolas delerue
- Nicolas delcroix
- Nicolas simar
- Nicolas combebiac
- Nicolas garcia bahamon
- Exercice sur l'humanisme
- Nicolas vannson
- Nicolas mounet
- Nicolas richier
- Certified defenses against adversarial examples
- Porque bs as se separo de la confederacion
- Ciencia política
- Balada de los abuelos poema
- Schulzentrum kirchbühl
- Carte de nicolas le germain 1482
- Nicolas-jacques charrier
- Reportage nicolas vanier
- Zlatan dzinic
- Nicolas ondongo
- Nicolas mouawad md
- Nicolas monod
- Nicolas bourriaud relational aesthetics
- Nicolas balacheff
- Nicolas rouquie eps
- Demi vie tramadol lp
- Nicolas picardat
- Jean-nicolas-louis durand
- Nicolas monod
- Nicolas poussin la sainte famille
- Colegio san nicolas canal chacao
- Nicolas brahy
- Duane hanson supermarket lady
- Nicolas rudolf
- Panourias
- Mtasc
- Dr nicolas paredes
- Madame nicolas mots
- Nicolas pradines
- Nicolas bailleux
- Jean de satigny