Unstructured Lumigraph Unstructured Lumigraph RenderingRendering
C.Buehler M.Bosse L.McMillan S.Gortler M.CohenC.Buehler M.Bosse L.McMillan S.Gortler M.Cohen
Rendu par «Lumigraph » non-Rendu par «Lumigraph » non-structuréstructuré
Présenté par:Présenté par:
Ana PAULAna PAUL
Guillaume GENERGuillaume GENER
• Introduction sur le rendu basé imagesIntroduction sur le rendu basé images
• Algorithmes précédentsAlgorithmes précédents•Light Field & LumigraphLight Field & Lumigraph
•View Dependent Texture MappingView Dependent Texture Mapping
• ObjectifsObjectifs
• Algorithme Algorithme
• RésultatsRésultats
Unstructured Lumigraph Unstructured Lumigraph RenderingRendering
• Reconstruire des images à partir de photos, Reconstruire des images à partir de photos, vidéos, images de synthèse.vidéos, images de synthèse.
• Peu ou pas d’informations sur la géométrie de Peu ou pas d’informations sur la géométrie de la scène.la scène.
• Rendu moins coûteux.Rendu moins coûteux.
• Exemple d’application: Quick Time VRExemple d’application: Quick Time VR
Rendu basé imagesRendu basé images
Light Field RenderingLight Field Rendering
• Le Light SlabLe Light Slab
• EchantillonageEchantillonage
• AvantagesAvantages
• InconvénientsInconvénients
• Rendu indépendant de la complexité de la scène.• Complexité linéaire: simple rééchantillonnage
• Taille du lightfield• Prise de vues sur un plan
• Similaire au light Field.Similaire au light Field.
• Prises de vues échantillonnées Prises de vues échantillonnées irrégulièrement.irrégulièrement.
• Prise de vues sur une hémisphère.Prise de vues sur une hémisphère.
The LumigraphThe Lumigraph
ExemplesExemples
• PrincipePrincipe : :– 1. Calcul de la visibilité: Pour chaque
polygone, liste les images dans lesquelles il est vu.
– 2. Combler les trous: Trouver une « texture » pour les polygones qui ne sont jamais vus.
– 3. Construction de View Maps: Pour chaque polygone, déterminer l’image la meilleure pour chaque angle de vue d’une hémisphère.
• PrincipePrincipe : :– 1. Calcul de la visibilité: Pour chaque
polygone, liste les images dans lesquelles il est vu.
– 2. Combler les trous: Trouver une « texture » pour les polygones qui ne sont jamais vus.
– 3. Construction de View Maps: Pour chaque polygone, déterminer l’image la meilleure pour chaque angle de vue d’une hémisphère.
View Dependent Texture View Dependent Texture MappingMapping
View Dependent Texture View Dependent Texture Mapping Mapping • Avantages :Avantages :
– Beaucoup moins d’images nécessaires.Beaucoup moins d’images nécessaires.– Rendu réaliste.Rendu réaliste.
• Inconvénients:Inconvénients:– Il faut connaître la géométrie de la scène.Il faut connaître la géométrie de la scène.– Il faut connaître les informations de chacune Il faut connaître les informations de chacune
des prises de vue.des prises de vue.
debevec_VDTM.mov
ObjectifsObjectifs
• Utilisation de proxies géométriquesUtilisation de proxies géométriques• Uniformité épipolaireUniformité épipolaire• Sensibilité de résolutionSensibilité de résolution• Entrées déstructuréesEntrées déstructurées• Uniformité de rayon équivalentUniformité de rayon équivalent• ContinuitéContinuité• Angle de déviation minimalAngle de déviation minimal• Temps réelTemps réel
Utilisation de proxies Utilisation de proxies géométriquesgéométriques• information géométrique = information géométrique =
proxyproxy• Un seul point considéréUn seul point considéré• Suppression de toute Suppression de toute
caméra ne le «voyant» pascaméra ne le «voyant» pas
Consistance épipolaireConsistance épipolaire
• Reconstruction Reconstruction triviale du rayon triviale du rayon désirédésiré
• Pas besoin Pas besoin d’information d’information géométriquegéométrique
Sensibilité de résolutionSensibilité de résolution
• Distance de la Distance de la caméra par rapport caméra par rapport au pointau point
=> flou=> flou
Entrées déstructuréesEntrées déstructurées
• Positions aléatoires des camérasPositions aléatoires des caméras• Rééchantillonnement des image par Rééchantillonnement des image par
le processus de rebinningle processus de rebinning
Uniformité de rayon Uniformité de rayon équivalentéquivalent• Deux rayons désirés Deux rayons désirés
confondusconfondus=> une seule caméra => une seule caméra prise en compteprise en compte
ContinuitéContinuité
• Couleur similaire pour deux points Couleur similaire pour deux points consécutifs consécutifs
• Poids plus important selon la Poids plus important selon la distance par rapport au pointdistance par rapport au point
Angle de déviation minimalAngle de déviation minimal
• Poids plus important Poids plus important selon la proximité selon la proximité angulaire du rayon angulaire du rayon désirédésiré
AlgorithmeAlgorithme
• Entrée : Entrée : – Collection d’imagesCollection d’images– Position de la caméraPosition de la caméra
• Prise en compte des caractéristiques Prise en compte des caractéristiques de la caméra de la caméra – RésolutionRésolution– Champ de visionChamp de vision– VisibilitéVisibilité
Caméra blending fieldCaméra blending field
• Poids associé à chaque caméra Poids associé à chaque caméra
• Calculé selon les différentes contraintesCalculé selon les différentes contraintes
Les différents champs Les différents champs
• Deux angles : Deux angles :
- angDiff - angDiff
- angThresh- angThresh
• Poids pour le blending :Poids pour le blending :
Après normalisation :Après normalisation :
RésolutionRésolution
• SoitSoit
Ce qui nous permet d’avoir comme Ce qui nous permet d’avoir comme combinaison des poids :combinaison des poids :
Et d’obtenir finalementEt d’obtenir finalement
ExempleExemple
Sans prendre en compte la résolution
Sans prendre en compte la résolution
En appliquant l’algorithme
En appliquant l’algorithme
Champ de vue et visibilitéChamp de vue et visibilité• Nouvelle contrainte de poids :Nouvelle contrainte de poids :
• Après normalisation :Après normalisation :
Rendu temps réelRendu temps réel
Par sélection de Par sélection de pointpoint
Chaque sommet Chaque sommet de la de la triangulation = triangulation = une caméraune caméra
Différentes étapesDifférentes étapes
• Chaque triangle = une seule région Chaque triangle = une seule région planaireplanaire => permet le plaquage de => permet le plaquage de texture en hardwaretexture en hardware
• Un sommet pour chaque centre de caméraUn sommet pour chaque centre de caméra=> consistance épipolaire => consistance épipolaire
• Ajout d’une grille régulière de sommets Ajout d’une grille régulière de sommets dans le plan désirédans le plan désiré
• Triangulation du planTriangulation du plan
Rendu effectif:Rendu effectif:N caméras et N textures associées à un pointN caméras et N textures associées à un pointRendu indépendant sur chacune => N ImagesRendu indépendant sur chacune => N Images
Superposées à l’aide de transparenceSuperposées à l’aide de transparence
N rendus -> 1 pixelN rendus -> 1 pixel
RésultatsRésultats
Références Références
• Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping
Paul Debevec, Yizhou Yu, and George Borshukov
• Light Field Rendering Marc Levoy and Pat Hanrahan
• The Lumigraph Steven J. Gortler Radek Grzeszczuk Richard Szeliski Michael F.
Cohen
• Efficient View-Dependent Image-Based Rendering with Projective Texture-Mapping
Paul Debevec, Yizhou Yu, and George Borshukov
• Light Field Rendering Marc Levoy and Pat Hanrahan
• The Lumigraph Steven J. Gortler Radek Grzeszczuk Richard Szeliski Michael F.
Cohen