génération de contenu - imag

113
Génération de contenu

Upload: others

Post on 17-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Génération de contenu - imag

Génération de contenu

Page 2: Génération de contenu - imag

Modèles 3D à partir d’images

Inspiré des cours de Edmond Boyer, Peter Sturm

Page 3: Génération de contenu - imag

Modèles 3D à partir d’imagesModèles 3D à partir d’images Synthèse d’images :◦ Calcul d’images à partir de :

modèles 3D matériaux, éclairage caméra

Vision par ordinateur 3D :◦ Calcul du modèle 3D à partir de :

images autres informations

=> Problème inverse

Page 4: Génération de contenu - imag

Quelles informations ?Quelles informations ? Quelles informations nous permettent de percevoir de la 3D ?

Vue stéréoscopique

Page 5: Génération de contenu - imag

Quelles informations ?Quelles informations ? Quelles informations nous permettent de percevoir de la 3D ?

Ombrage◦ Stéréo photométrique◦ Shape from Shading [Prados et al]

Page 6: Génération de contenu - imag

Quelles informations ?Quelles informations ? Quelles informations nous permettent de percevoir de la 3D ?

Netteté

Page 7: Génération de contenu - imag

HistoriqueHistorique Années 1990 :◦ Scènes statiques◦ Approches géométriques◦ Calculs non temps-réel

Années 2000 :◦ Scènes dynamiques◦ Approches géométriques + photométriques◦ Calculs temps-réel

Page 8: Génération de contenu - imag

• Systèmes d’acquisition

• Reconstruction géométrique

• Reconstruction géométrique et photométrique

• Exemples d’applications

Modèles 3D à partir d’images

Page 9: Génération de contenu - imag

• Systèmes d’acquisition

• Reconstruction géométrique

• Reconstruction géométrique et photométrique

• Exemples d’applications

Modèles 3D à partir d’images

Page 10: Génération de contenu - imag

Tables tournantesTables tournantes

Une seule caméra

Calibration simplifiée

Système statique

Page 11: Génération de contenu - imag

Systèmes multicaméras Systèmes multicaméras calibréscalibrés Exemple : plateforme

Grimage, INRIA :

◦ 20 caméras (12 couleur – 8 noir et blanc)

◦ Mur d’écrans avec 16 projecteurs

◦ Grappe de 11 dual-xeon PC et 16 dual-opteron PC

Page 12: Génération de contenu - imag

Systèmes multicaméras Systèmes multicaméras calibréscalibrés Exemple : dôme d’éclairage contrôlé

Page 13: Génération de contenu - imag

Lumière structuréeLumière structurée Utilisation de caractéristiques haut-niveau (lumière

structurée) sur 2 vues très proches

Page 14: Génération de contenu - imag

• Systèmes d’acquisition

• Reconstruction géométrique

• Reconstruction géométrique et photométrique

• Exemples d’applications

Modèles 3D à partir d’images

Page 15: Génération de contenu - imag

Reconstruction géométriqueReconstruction géométrique Données :◦ Images (2D)◦ Caméras calibrées

Extraction de primitives 2D :◦ Points d’intérêt◦ Régions (silhouettes)

Page 16: Génération de contenu - imag

Reconstruction géométriqueReconstruction géométrique Données :◦ Images (2D)◦ Caméras calibrées

Extraction de primitives 2D :◦ Points d’intérêt◦ Régions (silhouettes)

Page 17: Génération de contenu - imag

Etapes principalesEtapes principales1. Appariement d’images

3. Reconstruction 3D des parties appariées

5. Obtention d’un modèle 3D surfacique complet

Page 18: Génération de contenu - imag

Etapes principalesEtapes principales Appariement d’images

Reconstruction 3D des parties appariées

Obtention d’un modèle 3D surfacique complet

Page 19: Génération de contenu - imag

Appariement d’imagesAppariement d’images Identifier des caractéristiques haut-niveau dans les

différentes images◦ Zone homogène => pas discriminatif◦ Point de contour => ambiguïté◦ Point d’intérêts

Page 20: Génération de contenu - imag

Extraction des points d’intérêtExtraction des points d’intérêt Extraction des points d’intérêts :◦ Placer une fenêtre autour du pixel et la déplacer◦ Fonction d’auto-corrélation développée au 1er ordre :

M = matrice d’auto-corrélation Valeurs propres :

2 valeurs propres grandes : grand score de corrélation dans n’importe quelle direction => point d’intérêt

1 valeur propre grande : grand score de corrélation dans une direction => point de contour

2 valeurs propres petites : faible score de corrélation dans toutes les directions => zone homogène

Page 21: Génération de contenu - imag

Extraction des points d’intérêtExtraction des points d’intérêt

Page 22: Génération de contenu - imag

Extraction des points d’intérêtExtraction des points d’intérêt

Page 23: Génération de contenu - imag

Mise en correspondanceMise en correspondance Mise en correspondance entre les images :◦ Géométrie épipolaire

Cf : cours de vision

◦ Problèmes : Changement de l’illumination Changement de l’apparence Occultations

Page 24: Génération de contenu - imag

Mise en correspondanceMise en correspondance

Page 25: Génération de contenu - imag

Mise en correspondanceMise en correspondance

Page 26: Génération de contenu - imag

Etapes principalesEtapes principales Appariement d’images

Reconstruction 3D des parties appariées

Obtention d’un modèle 3D surfacique complet

Page 27: Génération de contenu - imag

TriangulationTriangulation

Page 28: Génération de contenu - imag

RésultatRésultat

[Bradley 08]

Page 29: Génération de contenu - imag

Etapes principalesEtapes principales Appariement d’images

Reconstruction 3D des parties appariées

Obtention d’un modèle 3D surfacique complet

Page 30: Génération de contenu - imag

Choix d’une représentationChoix d’une représentation Maillages Modèles paramétriques◦ Splines◦ Quadriques◦ Etc

Surfaces implicites Modèles volumiques (voxels)

Page 31: Génération de contenu - imag

Estimation de la surfaceEstimation de la surface Données :◦ Modèle 3D épars◦ Opérations géométriques◦ Hypothèses générales (lisse…) ou spécifiques

(modèle a priori)◦ Etc

Résultat :◦ Modèle surfacique ou volumique

=> Problème délicat!

Page 32: Génération de contenu - imag

RésultatRésultat

[Bradley 08]

Page 33: Génération de contenu - imag

Reconstruction géométriqueReconstruction géométrique Données :◦ Images (2D)◦ Caméras calibrées

Extraction de primitives 2D :◦ Points d’intérêt (points, droites)◦ Régions (silhouettes)

Page 34: Génération de contenu - imag

PrincipePrincipe Capture :

Page 35: Génération de contenu - imag

PrincipePrincipe Reconstruction

Page 36: Génération de contenu - imag

PrincipePrincipe

Cône de vue :◦ Ensemble de rayons issus

du centre optique et passant par la silhouette

◦ Tangent à la surface à modéliser

Page 37: Génération de contenu - imag

PrincipePrincipe

Enveloppe visuelle :◦ Intersection des cônes de vue

◦ Approximation du modèle (surface englobante)

◦ Quand le nombre de caméras tend vers l’infini, l’enveloppe visuelle tend vers le modèle (sans les parties concaves)

Page 38: Génération de contenu - imag

Extraction des silhouettesExtraction des silhouettes Segmentation :◦ Manuelle◦ Automatique

Suivi de contours Fond bleu/vert/couleur différente du sujet Soustraction de fonds par modèles statistiques de

fonds (mélange de gaussiennes, histogrammes, …)

Problèmes :◦ Ambiguïtés sujet/fond◦ Bruit

Page 39: Génération de contenu - imag

Enveloppe visuelleEnveloppe visuelle Approches volumiques

Approches surfaciques

Approches images

Page 40: Génération de contenu - imag

Enveloppe visuelleEnveloppe visuelle Approches volumiques

Approches surfaciques

Approches images

Page 41: Génération de contenu - imag

Approches volumiquesApproches volumiques Grille de voxels

Elimination des voxels qui ne se projettent pas à l’intérieur des silhouettes

Simple, rapide, parallélisable

Compromis précision/complexité

Page 42: Génération de contenu - imag

Enveloppe visuelleEnveloppe visuelle Approches volumiques

Approches surfaciques

Approches images

Page 43: Génération de contenu - imag

Approches surfaciquesApproches surfaciques Approche polyédrique : ◦ Silhouette = polygone◦ Cône de vue = polyèdre

[Franco-Boyer 03]

Page 44: Génération de contenu - imag

Approches surfaciquesApproches surfaciquesCalcul :

1. Segments de vue : contribution d’un segment à l’enveloppe visuelle selon la ligne de vue

2. Maillage reliant les segments de vue3. Facettes en parcourant le maillage orienté

[Franco-Boyer 03]

Page 45: Génération de contenu - imag

Approches surfaciquesApproches surfaciques

Page 46: Génération de contenu - imag

Enveloppe visuelleEnveloppe visuelle Approches volumiques

Approches surfaciques

Approches images

Page 47: Génération de contenu - imag

Approches images [Matusik 00]Approches images [Matusik 00] Calcul d’un nouveau point de vue Projeter la ligne de vue sur les autres images◦ => segments de vue◦ Pixel à afficher = point le plus proche de la caméra

Page 48: Génération de contenu - imag

Approches images [Matusik 00]Approches images [Matusik 00]

Page 49: Génération de contenu - imag

SilhouettesSilhouettes Définissent directement des modèles surfaciques et volumiques

Pas de mise en correspondance

Perte des concavités

Page 50: Génération de contenu - imag

• Systèmes d’acquisition

• Reconstruction géométrique

• Reconstruction géométrique et photométrique

• Exemples d’applications

Modèles 3D à partir d’images

Page 51: Génération de contenu - imag

Reconstruction géométrique et Reconstruction géométrique et photométriquephotométrique Utilisation d’informations photométriques (couleurs, etc) pour modéliser de manière plus fine

Hypothèses :◦ Surface lambertienne :

Quantité de lumière renvoyée = albedo * (N.L) Brillante de la même manière dans toutes les

directions

=> Critère de photocohérence

Page 52: Génération de contenu - imag

Critère de photocohérenceCritère de photocohérence

Les différentes projections d’un point 3D présentent des caractéristiques photométriques semblables dans les vues où le point est visible.

Ce que je vois ne dépend pas du point de vue

Page 53: Génération de contenu - imag

Reconstruction géométrique et Reconstruction géométrique et photométriquephotométrique 2 approches :◦ Voxel colouring

◦ Multi-view stereo

Page 54: Génération de contenu - imag

Reconstruction géométrique et Reconstruction géométrique et photométriquephotométrique 2 approches :◦ Voxel colouring

◦ Multi-view stereo

Page 55: Génération de contenu - imag

Voxel colouringVoxel colouring Grille de voxels Les voxels non photocohérents sont éliminés

[Seitz] : http://www.cs.cmu.edu/~seitz/vcolor.html

Page 56: Génération de contenu - imag

Voxel colouring - ProblèmeVoxel colouring - Problème Visibilité ?◦ Situation simple : scène à l’extérieur de l’enveloppe

convexe => élimination par ordre de distance croissante à l’enveloppe convexe des caméras

◦ Situation plus complexe : Space carving

Page 57: Génération de contenu - imag

Space carvingSpace carving Choisir un voxel sur la surface courante Le projeter sur les images L’éliminer s’il n’est pas photo-cohérent Répéter jusqu’à convergence

[Andrew Prock & Chuck Dyer]

Page 58: Génération de contenu - imag

Reconstruction géométrique et Reconstruction géométrique et photométriquephotométrique 2 approches :◦ Voxel colouring

◦ Multi-view stereo

Page 59: Génération de contenu - imag

Multi-view stereoMulti-view stereo [Hernandez 04], [Furukawa

06], [Pons 07]

Enveloppe visuelle

Amélioration de l’enveloppe visuelle◦ Optimisation de la surface

pour maximiser la photocohérence

Page 60: Génération de contenu - imag

Reconstruction géométrique et Reconstruction géométrique et photométriquephotométrique

[A. Hilton & J. Starck’06, Surry, UK]

Page 61: Génération de contenu - imag

• Systèmes d’acquisition

• Reconstruction géométrique

• Reconstruction géométrique et photométrique

• Exemples d’applications

Modèles 3D à partir d’images

Page 62: Génération de contenu - imag

The CampanileThe Campanile

Page 63: Génération de contenu - imag

Chevelure [Paris et al 04]Chevelure [Paris et al 04]

Page 64: Génération de contenu - imag

Photosynth (Siggraph06)Photosynth (Siggraph06)

Page 65: Génération de contenu - imag

Grimage (Siggraph09)Grimage (Siggraph09)

Page 66: Génération de contenu - imag

Emily (CVPM09)Emily (CVPM09)

Page 67: Génération de contenu - imag

Synthèse de textures

Page 68: Génération de contenu - imag

Synthèse de textures• 2D

• 3D

• 2.5D

Page 69: Génération de contenu - imag

Synthèse de textures• 2D

• 3D

• 2.5D

Page 70: Génération de contenu - imag

2 grandes classes d’approches

A partir d’un échantillon en 2D

à la surface des objets

Procéduralement

70

Page 71: Génération de contenu - imag

2 grandes classes d’approches

A partir d’un échantillon en 2D

à la surface des objets

Procéduralement

71

Page 72: Génération de contenu - imag

Objet texturé

Rendu OpenGLCoordonnées (u,v)

Echantillon

Texture 2D

Rendu spécial

Placage inverse

Placage

72

Page 73: Génération de contenu - imag

2 grandes classes d’approches

A partir d’un échantillon en 2D

à la surface des objets

Procéduralement

73

Page 74: Génération de contenu - imag

Synthétiser une nouvelle texture Conserver le même aspect en évitant les

répétitions

74

Entrée

Sortie

Page 75: Génération de contenu - imag

Recopier

trop de répétitionaliasing

Echantillonner les valeurs

pas de structurecohérence horizontale

Echantillonner les fréquences (FFT)

pas de cohérence entre fréquences cohérence verticale

75

Page 76: Génération de contenu - imag

Approches paramétriques : extraire les paramètres d’un modèle statistique de la texture à synthétiser

Approches non-paramétriques : pas de modèle global uniquement des statistiques locales Méthodes probabilistes Méthodes par pixel Méthodes par patch Méthodes par optimisation

76

Page 77: Génération de contenu - imag

Approches paramétriques : extraire les paramètres d’un modèle statistique de la texture à synthétiser

Approches non-paramétriques : pas de modèle global uniquement des statistiques locales Méthodes probabilistes Méthodes par pixel Méthodes par patch Méthodes par optimisation

77

Page 78: Génération de contenu - imag

Pyramide de Gauss

g : noyau gaussien: opérateurs de sur/sous

échantillonnage

Pyramide de Laplace Isole les caractéristiques de chaque niveau

IIG =)(0

[ ]gGIG ii ⊗= −↓ 12)( I)( IG )(0

IG )(n2↑ ↓2

)(2)()( 1 IGIGIL iii +↑−=

2↑n

Différence entre 2 niveaux de la PDG

78

Page 79: Génération de contenu - imag

Utilise une pyramide de Laplace Hypothèse : « Aux résolutions les plus faibles, il

existe des régions interchangeables. Seul l'aspect stochastique de la texture dépend de la position de ces régions. »

Synthèse: construire une nouvelle pyramide de Laplace en

imitant celle de l’échantillon introduire de l'aléatoire dans le placement des

structures re-transformer la pyramide construite en image

79

Page 80: Génération de contenu - imag

On choisit dans la pyramide d'analyse au hasard un pixel ayant des parents similaires

80Pyramide de synthèse Pyramide d'analyse

Analyse Sampling Synthèse

Page 81: Génération de contenu - imag

Approches paramétriques : extraire les paramètres d’un modèle statistique de la texture à synthétiser

Approches non-paramétriques : pas de modèle global uniquement des statistiques locales Méthodes probabilistes Méthodes par pixel Méthodes par patch Méthodes par optimisation

81

Page 82: Génération de contenu - imag

Synthèse pixel par pixel (cohérence horizontale)

Version multi-résolution (cohérence verticale) On utilise une pyramide de Gauss

82 3 niveaux 4 niveaux

Page 83: Génération de contenu - imag

Résultats

83

Page 84: Génération de contenu - imag

Approches paramétriques : extraire les paramètres d’un modèle statistique de la texture à synthétiser

Approches non-paramétriques : pas de modèle global uniquement des statistiques locales Méthodes probabilistes Méthodes par pixel Méthodes par patch Méthodes par optimisation

84

Page 85: Génération de contenu - imag

Synthèse par patch Collage de blocs sélectionnés au hasard Recollement par une technique adaptée

85

Placementaléatoire

Contraintesaux bords

Optimisation du collage

B1 2

B B1 2

B B1 2

B

Page 86: Génération de contenu - imag

Résultats

86

Page 87: Génération de contenu - imag

Approches paramétriques : extraire les paramètres d’un modèle statistique de la texture à synthétiser

Approches non-paramétriques : pas de modèle global uniquement des statistiques locales Méthodes probabilistes Méthodes par pixel Méthodes par patch Méthodes par optimisation

87

Page 88: Génération de contenu - imag

Synthèse au niveau du pixel Minimisation itérative d’une énergie globale Somme de la « dissimilarité » locale entre l’exemple

et la texture synthétisée

88

Page 89: Génération de contenu - imag

Input Wei-Levoy[Wei’00]

Image Quilting[Efros’01]

Texture Optimization

[Kwatra’05]

Page 90: Génération de contenu - imag

2 grandes classes d’approches

A partir d’un échantillon en 2D

à la surface des objets

Procéduralement

90

Page 91: Génération de contenu - imag

Même si on sait minimiser localement les déformations......la topologie n'est pas toujours compatible

Synthèse directe sur la surface à partir d’un échantillon

91

Page 92: Génération de contenu - imag

Voisinage sur la surface Comment traiter les conflits topologiques ?

92

Wei’01 Lefebvre’05

Page 93: Génération de contenu - imag

Série de textures pré-découpées selon les discontinuités (utilisateur)

Un maillage + un champ de vecteurs Morceaux de texture collés dans la direction

du champ de vecteurs jusqu'à recouvrement

93

Page 94: Génération de contenu - imag

Découper la texture en patchs triangulaires réguliers

Former des tuiles respectant toutes les contraintes possibles

Plaquer chaque tuile

94

Page 95: Génération de contenu - imag

Résultats

95

Page 96: Génération de contenu - imag

Sélectionner des régions indépendantes dont les bords collent

96

Page 97: Génération de contenu - imag

Difficultés chercher les régions qui collent de manière efficace réduire les discontinuités

Intérêts Préservation du maillage et de la texture originale Pas d'orientation privilégiée, topologie gérée

automatiquement L'information calculée (coordonnées de textures)

est portable

97

Page 98: Génération de contenu - imag

Synthèse de textures• 2D

• 3D

• 2.5D

Page 99: Génération de contenu - imag

Volume de matière où l'objet est plongé bois, marbre…

placage trivial ! u = x, v = y, w = z coût mémoire (ou coût de calcul)

99

P(x,y,z)

Page 100: Génération de contenu - imag

Photo impossible Synthèse par l’exemple Textures procédurales

100

Page 101: Génération de contenu - imag

Photo impossible Synthèse par l’exemple Textures procédurales

101

Page 102: Génération de contenu - imag

Synthèse par voisinage selon 3 plans + optimisation de l’histogramme

102

Page 103: Génération de contenu - imag

Photo impossible Synthèse par l’exemple Textures procédurales

103

Page 104: Génération de contenu - imag

Bruit fractal continu

104

Page 105: Génération de contenu - imag

Fonction de base (1D) B(x) = interpolation de

valeurs aléatoires, en des points régulièrement espacés

Pré-calcul des valeurs (tableau 1D)

Pour un bruit moins lisse B’(x) = | 2B(x) -1 |

105

Page 106: Génération de contenu - imag

Bruit turbulent : sommer des copies de B à différentes échelles

106

T(x) = ∑ 1/2i B(2i x)

Page 107: Génération de contenu - imag

Extension des bruits de Perlin en 2D ou 3D

107

Paramètres : amplitude et fréquence de chaque octave

Page 108: Génération de contenu - imag

Utilisation directe Éventuellement seuillée

Modification d’une image ou d’une fonction simple Image :

I(x,y) remplacée par I( x+T1(x,y), y+T2(x,y) )

108

Page 109: Génération de contenu - imag

Modification d’une image ou d’une fonction simple ◦ Fonction :

109

I(x,y,z) = cos( x + T(x,y,z) )

Page 110: Génération de contenu - imag

110

sin(x + T) Bruit B

T= ∑ 1/f(B) ∑ 1/f(|B|)

Page 111: Génération de contenu - imag

Synthèse de textures• 2D

• 3D

• 2.5D

Page 112: Génération de contenu - imag

Element de texture en relief, multi-résolution

On les plaque le long d’une surface.

112

Page 113: Génération de contenu - imag

Génération de contenu

Comment gérer tout ce contenu?