Unstructured Lumigraph Rendering C.Buehler M.Bosse L.McMillan S.Gortler M.Cohen Rendu par...

Post on 03-Apr-2015

104 views 2 download

transcript

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