Méthodes de rendu utilisant les images

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

AUTRES ASPECTS DU GPS Partie I : tolérance de Battement
Licence pro MPCQ : Cours
Constructive Volume Geometry (CVG) Article de Min Chen & John V. Trucker COMPUTER GRAPHICS Benoît Capelli – Stéphane Renaudie DESS IMM
Hierarchical Z-Buffer Visibility
Modélisation par Surfaces Implicites à Squelettes Complexes
Fanny CHEVALIER Guillaume CAURANT
LOD et Progressive Meshes (maillages progressifs) Hugue Hoppes 1996
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
Simplification Out-of-Core des modèles polygonales complexes
Unstructured Lumigraph Rendering
The Reyes Image Rendering Architecture
Accélération du Rendu Volumique basée sur la Quantification des Voxels
Technique des Surfels Surfels: Surface Elements as Rendering Primitives SIGGRAPH 2000 H.Pfiste, J.van Baar, M.Zwicker, M.Gross.
Matthias Zwicker Hanspeter Pfister Jeroen van Baar Markus Gross
Le rendu basé images S. B Kang. A survey of image-based rendering techniques. In Videometrics VI, volume 3641, pages SPIE, 1999 Heung-Yeung Shum.
Efficient Simplification of Point-Sampled Surfaces
Champs de Markov en Vision par Ordinateur
1/30 Rendu par tracé de chemins ESSI2 George Drettakis http: //www-sop.imag.fr/reves/George.Drettakis/cours/ESSI2/index.html.
Couleur – Vision – Image partie 1 : comment l’œil fonctionne-t-il ?
MODULE - METHODES POTENTIELLES Contenu du cours (par J.B. Edel & P. Sailhac) : I. Propriétés physiques des roches : densités, aimantations induites et.
à partir notamment du cours Siggraph 97 et d’autres ….
Courbes & Surfaces de subdivision
Thibault PHILIPPE Master 2 Recherche IVR EVASION/GRAVIR
IMAGIS-GRAVIR / IMAG Rendu de forêts en temps-réel iMAGIS / GRAVIR Franck Sénégas DEA IVR Tuteur: Fabrice Neyret.
Xavier Décoret* Frédo Durand° François Sillion*
Piecewise Affine Registration of Biological Images
Lancer de rayons interactif
Reconstruction 3D par mono vision avec des trajectoires fortement contraintes Joan Solà LAAS-CNRS Toulouse, France Revue du projet PICAS$O 3 novembre 2005.
Identification des personnes par l’iris
La vision stéréo Sonka et al: sections , , , , Suppl: 11.4 au complet
Le diaphragme (photographie)
Reconstruction de volume 3D
Environnement de réalité augmentée : vers les jeux vidéos
Module SIG-Santé 6. Géoréférencement Marc SOURIS Florent DEMORAES
Eric Guilbert, Marc Daniel *, Eric Saux
IFT3730: Infographie 3D Transformations Géométriques
Traitements d'images et Vision par ordinateur
Résolution des Équations Différentielles
Inversion / Res2dinv Thème 2 = « Organisation et fonctionnement hydrique des couvertures d’altération, des dépôts alluviaux et des sols » devient dans.
Rendu volumique Nicolas Holzschuch iMAGIS/GRAVIR IMAG
Modélisation du robot Azimut-3
Cours #3 Formation des images
Interfaces perceptuelles Interaction avec une caméra.
Visualisation de surfaces décrites analytiquement
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
Plan du cours Cours 1,2 : le pipeline graphique
Design dun système de vision embarqué. Application:
SUJETS SPÉCIAUX EN INFORMATIQUE I
Interfaces perceptuelles
Thierry Molinier > David Fofi >
© Jerome Boccond-Gibod, Flickr
IFT3730: Infographie Projections
L’adaptativité pour un solveur de l’équation de Vlasov
Géométrie épipolaire (deux vues)
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Modélisation géométrique
Création en images de Synthèse Modèles de rendu d’une scène 3D
Projet Lancer de Rayons
CHAPITRE III Calcul vectoriel
Credits : Joëlle Thollot, Hector Briceño, Edmond Boyer
2.1.7 Modèle Géométrique Direct Forward Kinematics
Synthèse d’images Introduction Doc. non diffusé En cours d’élaboration.
Recalage contraint par cartes de courbures discrètes pour la modélisation dynamique du rein Valentin LEONARDI, Jean-Luc MARI, Philippe SOUTEYRAND, Julien.
Romain Dupont encadré par J.Aubourg et P. Fuchs
LCIN4U73 Bases géométriques de l’imagerie
Astrophotographie HDR
Plan du cours Cours 1,2 : le pipeline graphique
De la Terre à la carte: Projections et Géoréférencement
Transcription de la présentation:

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

Rendu « classique » Modèle géométrique Affichage Illumination 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 Caméra tournant sur un pied 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 Warping : 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(q,f,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 q. 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=WxWzP 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 Un point sur chaque cylindre : deux rayons Intersection des rayons : on a la position relative

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

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é On précalcule cos(A-) pour chaque valeur de . Nouvelle image de disparité en temps réel

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

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 » : Interpolation entre les pixels voisins Combinaison de plusieurs images de référence

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 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)

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,q) Échantillonnage régulier et complet

Échantillonnage complet

Échantillonnage régulier

Lightfield : création Par images de synthèse : Par photos : 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 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

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 256x256, LDI 320x320, 5 fps 4 R10000, LDI 256x256, 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 O1 :

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 :

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/a

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 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

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 : Image-based Rendering : Light Field : 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

Bibliographie Layered Depth Images : Modèle hybride : 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