1 / 97

Méthodes de rendu utilisant les images

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.

loyal
Download Presentation

Méthodes de rendu utilisant les images

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Rendu « classique » • Modèle géométrique • Modeleurs, modélisation,... • Affichage • Z-buffer • Interpolation des couleurs • Illumination • Plaquage de texture

  3. 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é

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

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

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

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

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

  9. 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 ?

  10. Photos

  11. Images de Synthèse

  12. Quicktime VR • Photos panoramiques • Projection cylindrique • Construction semi-autom. • Warping : • Conversion en image plane • Interpolation entre les panoramas

  13. Séquence de travail

  14. Acquisition

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

  16. Warping

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

  18. La fonction plénoptique P(q,f,l,Vx,Vy,Vz,t)

  19. Acquisition • Images cylindriques • Caméra en rotation sur un axe • Retrouver les paramètres de la caméra et les angles de rotation

  20. 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'.

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

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

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

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

  25. Vues cylindriques

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

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

  28. Géométrie épipolaire du cylindre • Rayon sur le cylindre a : (a,va) • Ligne paramétrée sur le cylindre b : v()

  29. Reconstruction de la fonction plénoptique

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

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

  32. De l’arrière vers l’avant

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

  34. Résultats

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

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

  37. Light slab • Ensemble des rayons qui traversent deux quadrilatères • Représentation efficace : • Conversions linéaires • Peu de calculs

  38. Espace des droites • Droite définie par (r,q) • Échantillonnage régulier et complet

  39. Échantillonnage complet

  40. Échantillonnage régulier

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

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

  43. Représentation

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

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

More Related