View
110
Download
1
Category
Preview:
Citation preview
Encadrants:Encadrants: Luce Morin, Raphaèle Balter Luce Morin, Raphaèle BalterEncadrants:Encadrants: Luce Morin, Raphaèle Balter Luce Morin, Raphaèle Balter
Morphing 3D de modèles estimésMorphing 3D de modèles estimés
Stage de fin d ’étudesStage de fin d ’études
Benjamin Le GuenBenjamin Le Guen
2
IntroductionIntroduction
• Temics, Janvier 2002 : Schéma de Temics, Janvier 2002 : Schéma de codage/transmission/décodage de codage/transmission/décodage de séquences vidéo réellesséquences vidéo réelles
• Représentation synthétique sous Représentation synthétique sous forme de modèles 3Dforme de modèles 3D
• ObjectifObjectif– Améliorer le rendu des séquences Améliorer le rendu des séquences
reconstruites et virtuelles reconstruites et virtuelles =>Mettre au point un =>Mettre au point un post-traitementpost-traitement
3
PlanPlan
• IntroductionIntroduction• ContexteContexte• Travail réaliséTravail réalisé• RésultatsRésultats• ConclusionConclusion
4
• IntroductionIntroduction• ContexteContexte• Travail réaliséTravail réalisé• RésultatsRésultats• ConclusionConclusion
5
La structure d ’accueilLa structure d ’accueil
• L ’IrisaL ’Irisa– Informatique et Signaux AléatoiresInformatique et Signaux Aléatoires– Unité mixte de recherche Unité mixte de recherche (INRIA, (INRIA,
CNRS, Rennes 1, INSA)CNRS, Rennes 1, INSA)– 25 équipes autour de grands thèmes 25 équipes autour de grands thèmes
scientifiquesscientifiques
• Le projet TemicsLe projet Temics– Analyse et modélisation de séquences vidéoAnalyse et modélisation de séquences vidéo,,– Codage conjoint source-canal,Codage conjoint source-canal,– TatouageTatouage
www.irisa.fr
6
La structure d ’accueilLa structure d ’accueil
• Environnement techniqueEnvironnement technique– OS : UNIX, LinuxOS : UNIX, Linux– Langage : C/C++Langage : C/C++– Librairie graphique : CGALLibrairie graphique : CGAL
www.cgal.org
7
Codage d ’une séquencevidéo par flux de modèles 3DCodage d ’une séquencevidéo par flux de modèles 3D• Modèles 3D obtenus à partir Modèles 3D obtenus à partir
d ’une vidéod ’une vidéo• Stéréo-reconstructionStéréo-reconstruction
• Maillage triangulaire uniformeMaillage triangulaire uniforme
8
Codage d ’une séquencevidéo par flux de modèles 3DCodage d ’une séquencevidéo par flux de modèles 3D• Modélisation dépendant Modélisation dépendant
du point de vue du point de vue• Un modèle pour 15-30Un modèle pour 15-30
images de la séquence images de la séquence (notion de (notion de GOPGOP))
Séquence originale Carte d ’élévationsModèle 3D
9
DécodageDécodage
10
ApplicationsApplications
Chemin virtuel Réalité augmentée
Codage 3D - 60 kbits/s H26L - 115 kbits/S
11
DifficultéTransition entre modèlesDifficultéTransition entre modèles
• CausesCauses– Saut géométrique (erreurs Saut géométrique (erreurs
d ’estimation/zones découvertes)d ’estimation/zones découvertes)– Saut de texture (erreurs/point de Saut de texture (erreurs/point de
vue/illumination)vue/illumination)– Saut de connectivité (élévations sur Saut de connectivité (élévations sur
maillage uniforme)maillage uniforme)
Transition
saut geom
12
Approches précédentesApproches précédentes• Fondu dans l ’espace des textures Fondu dans l ’espace des textures saut de saut de
géométrie/connectivitégéométrie/connectivité• Fondu 3D Fondu 3D effet fantômeeffet fantôme• Morphing d ’élévations Morphing d ’élévations saut topologiquesaut topologique
zones à occultationzones à occultation non traitéesnon traitées
nn
cn
tt
tt
tt
tt
1
1
13
• IntroductionIntroduction• ContexteContexte• Travail réaliséTravail réalisé• RésultatsRésultats• ConclusionConclusion
14
Morphing 3DMorphing 3D
• ObjectifObjectif– Passer des cartes d ’élévations à de la vraie Passer des cartes d ’élévations à de la vraie
3D3D
• MéthodeMéthode– ParamétrisationParamétrisation pour fixer les pour fixer les
correspondancescorrespondances– FusionFusion des paramétrisations pour des paramétrisations pour
construire la connectivité communeconstruire la connectivité commune– InterpolationInterpolation des géométries pour générer des géométries pour générer
les modèles intermédiairesles modèles intermédiaires
15
Morphing 3DMorphing 3D
– MMn n : modèle source: modèle source
– MMn+1n+1 : modèle destination : modèle destination
– HHnn : paramétrisation de M : paramétrisation de Mnn
– HHn+1n+1 : paramétrisation de M : paramétrisation de Mn+1n+1
– HHcc : fusion des paramétrisations : fusion des paramétrisations
– FFnn : connectivité fusion + géométrie n : connectivité fusion + géométrie n
– FFn+1n+1 : connectivité fusion + géométrie n+1 : connectivité fusion + géométrie n+1
16
Morphing 3DMorphing 3D
• ParamétrisationParamétrisation• FusionFusion• InterpolationInterpolation
17
La paramétrisationLa paramétrisation
• PrincipePrincipe– correspondance bijective entre une surface correspondance bijective entre une surface
3D discrète et un maillage planaire3D discrète et un maillage planaire– mesure de distorsionmesure de distorsion
• conformeconforme• authaliqueauthalique
– choix d ’épingleschoix d ’épingles– résolution d ’un système linéairerésolution d ’un système linéaire
Intrinsic parameterizations of Intrinsic parameterizations of surface meshes.surface meshes.
[Alliez 02][Alliez 02]
CU
UMMMU
fixées
libresA 0
I 0
18
Adaptation au contexteAdaptation au contexte
• Bords de deux modèle successifs non Bords de deux modèle successifs non superposés superposés
=> paramétrisation à bords libres=> paramétrisation à bords libres• Exacte superposition des textures Exacte superposition des textures
pour éviter l ’effet fantôme pour éviter l ’effet fantôme => nombreuses épingles=> nombreuses épingles
• Modèles bruités Modèles bruités => caractéristiques => caractéristiques
géométriques non fiablesgéométriques non fiables
19
Choix du critère d ’optimisationChoix du critère d ’optimisation
• Paramétrisation de FloaterParamétrisation de Floater– angles inférieurs àangles inférieurs à– bords épinglés bords épinglés
2/
20
ImplémentationImplémentation
• Espace de paramétrisation: IEspace de paramétrisation: I55
• Paramétrisation de MParamétrisation de Mn+1n+1
– Grille triangulaire uniformeGrille triangulaire uniforme
• Paramétrisation de MParamétrisation de Mnn
– Paramétrisation connue sur IParamétrisation connue sur I00
– Correspondances dans ICorrespondances dans I55 données par le données par le champ de mouvement champ de mouvement
21
ImplémentationImplémentationReconstruction du champ de mouvement
22
ImplémentationImplémentation
• Paramétrisation de MParamétrisation de Mnn
– Traitement des correspondances données Traitement des correspondances données par le champ de mouvement par le champ de mouvement
=> choix des points à libérer=> choix des points à libérer
• Algorithme de paramétrisationAlgorithme de paramétrisationddl = 0;Tant que (param non valide)
Choix des points à libérer(ddl);Construction du système linéaire;Résolution;Etudier la validité du résultat;ddl = ddl +1;
Fin Tant que
23
Résultat de la paramétrisationRésultat de la paramétrisation
n n+1
24
Morphing 3DMorphing 3D
• ParamétrisationParamétrisation• FusionFusion• InterpolationInterpolation
25
La fusionLa fusion
• ObjectifObjectif– construire une connectivité communeconstruire une connectivité commune
• IdéeIdée– tirer partie des paramétrisations obtenues tirer partie des paramétrisations obtenues
dans un même espace 2Ddans un même espace 2D– principe:principe:
26
Etapes de la fusionEtapes de la fusion
27
Recherche des intersections Algorithme généralRecherche des intersections Algorithme général [Kent 92][Kent 92]
• Initialisation d ’une liste de travail WLInitialisation d ’une liste de travail WL• Tant que WL non videTant que WL non vide
– Prendre 1ère arête de WLPrendre 1ère arête de WL– Rechercher ses Rechercher ses
intersectionsintersections– Compléter WLCompléter WL
28
Algorithme généralAlgorithme général [Kent 92][Kent 92]
• Rechercher ses intersections?Rechercher ses intersections?• Initialiser une liste Initialiser une liste
d ’arêtes candidates CLd ’arêtes candidates CL– Tant que CL non videTant que CL non vide
• Prendre 1ère arête Prendre 1ère arête de CLde CL
• Intersection?Intersection?– Succès: ajouter Succès: ajouter
sommetsommet
• Compléter CLCompléter CL
29
Algorithme généralAlgorithme général [Kent 92][Kent 92]
• Parcours de CLParcours de CL
30
Algorithme généralAlgorithme général [Kent 92][Kent 92]
• Fin de la rechercheFin de la recherche
31
Gestion des cas particuliersGestion des cas particuliers
• Tenter de déjouer tous les cas Tenter de déjouer tous les cas particuliersparticuliers
• Un exempleUn exemple– v1a est v1a est superposedsuperposed ou ou
on_edgeon_edge• problème intrinsèque problème intrinsèque
à la manipulation des réels à la manipulation des réels• astuce: partager CL en deuxastuce: partager CL en deux
32
Créations des liens entre intersectionsCréations des liens entre intersections
• Liste des intersections retenues pour Liste des intersections retenues pour chaque arêtechaque arête
• AlgorithmeAlgorithme
Pour chaque arête ea = [v1a,v2a] de Hn
Si sa liste d ’intersections a plus d ’un élément Trier la liste; Pour i = 0 à taille(liste_inter) - 1 Joindre(liste_inter[i],liste_inter[i+1]); i++; Fin Pour; Fin Si;Fin Pour;
33
Joindre()?Joindre()?
34
Etapes de la fusionEtapes de la fusion
35
Ajout des sommets non singuliers de Mn
Ajout des sommets non singuliers de Mn
• ProblèmeProblème– maintenir la cohérence du polyèdremaintenir la cohérence du polyèdre
• Solution proposéeSolution proposée– liens vers les liens vers les
premières premières intersections intersections
– ajout face ajout face par facepar face
36
Ajout des sommets non singuliers de Mn
Ajout des sommets non singuliers de Mn
• 2 liens ou plus : ajout direct2 liens ou plus : ajout direct• 0 ou 1 lien : traitement a posteriori0 ou 1 lien : traitement a posteriori
37
Résultat de la fusionRésultat de la fusion
38
Morphing 3DMorphing 3D
• ParamétrisationParamétrisation• FusionFusion• InterpolationInterpolation
39
InterpolationInterpolation
• Construire les arguments source et Construire les arguments source et destinationdestination
• Les interpoler linéairementLes interpoler linéairement• Avant tout…Avant tout…
– Triangulation de la fusionTriangulation de la fusion• parcours des facettes de Hparcours des facettes de Hcc,,
• subdivision (algorithme récursif) en subdivision (algorithme récursif) en commençant par les angles les plus grands.commençant par les angles les plus grands.
40
Résultats de la triangulationRésultats de la triangulation
41
Résultats de la triangulationRésultats de la triangulation
42
Résultats de la triangulationRésultats de la triangulation
43
Construction des argumentsConstruction des arguments• On a:On a:
– connectivité n et géométrie n,connectivité n et géométrie n,
– leur union représentée par Mleur union représentée par Mnn,,
– connectivité n+1 et géométrie n+1,connectivité n+1 et géométrie n+1,
– leur union représentée par Mleur union représentée par Mn+1n+1,,
– la connectivité fusion.la connectivité fusion.
• On voudrait,On voudrait,– l ’union de la connectivité fusion et de la l ’union de la connectivité fusion et de la
géométrie n => argument source,géométrie n => argument source,– l ’union de la connectivité fusion et de la l ’union de la connectivité fusion et de la
géométrie n+1 => argument destination.géométrie n+1 => argument destination.
44
Application des géométries n et n+1Application des géométries n et n+1
• Données disponibles pour un sommet Données disponibles pour un sommet v de Hv de Hcc V non singulier
ou on_edge de Mn
Géométrie n
Coord barydans facette de
Hn+1
V non singulier de Mn+1
Coord bary dans facette de
Hn
Géométrie n+1
V superposed
Géométrie n
Géométrie n+1
V split
Coord barysur arete de Hn+1
Coord barysur arete de Hn
indexa,b,cα,β,γ
45
Calcul des coordonnées barycentriques
Calcul des coordonnées barycentriques• Coordonnées des sommets de MCoordonnées des sommets de Mnn dans dans
HHn+1n+1
– calcul au moment de la rétro-projection,calcul au moment de la rétro-projection,– direct sur grille uniforme avec coordonnées direct sur grille uniforme avec coordonnées
cartésiennes (i,j).cartésiennes (i,j).
• Si v est non singulier de MSi v est non singulier de Mn+1n+1
– parcourir chaque facette de Hparcourir chaque facette de Hnn,,
– si v est dans la facettesi v est dans la facette• calculer ses coordonnées barycentriques calculer ses coordonnées barycentriques
dans la facette.dans la facette.
46
Application d ’une texture à Fn et Fn+1
Application d ’une texture à Fn et Fn+1
• Texture de FTexture de Fnn : I0 : I0– sommets ne provenant pas de Msommets ne provenant pas de Mn n : :
combinaison barycentrique des textures combinaison barycentrique des textures des sommets de Mdes sommets de Mn n voisins.voisins.
• Texture de FTexture de Fn+1n+1 : I5 : I5
47
Calcul des modèles intermédiairesCalcul des modèles intermédiaires
• Interpolation linéaireInterpolation linéaire
1)1( nnc FFM nn
cn
tt
tt
tt
tt
1
1
48
• IntroductionIntroduction• ContexteContexte• Travail réaliséTravail réalisé• RésultatsRésultats• ConclusionConclusion
49
RésultatsSaut géométrique/topologiqueRésultatsSaut géométrique/topologique
Sans post-traitement Morphing d ’élévations Morphing 3D
50
RésultatsSaut géométrique/topologiqueRésultatsSaut géométrique/topologique
51
RésultatsReconstruction de la séquenceRésultatsReconstruction de la séquence
• Suppression de l’effet ghostSuppression de l’effet ghost
original fondu
Morphing élévations
Morphing 3D
52
RésultatsNavigation virtuelleRésultatsNavigation virtuelle
originalesans
post-traitement
Morphingd ’élévations
Morphing 3D
53
RésultatsDéfautsRésultatsDéfauts• Flou dans certains GOP Flou dans certains GOP
– cause:mise en cause:mise en correspondance correspondance inexacte lors de la inexacte lors de la
paramétrisation de Mparamétrisation de Mnn
• Méthode lourde à l ’encontre du schéma Méthode lourde à l ’encontre du schéma de reconstruction temps réelde reconstruction temps réel
54
• IntroductionIntroduction• ContexteContexte• Travail réaliséTravail réalisé• RésultatsRésultats• ConclusionConclusion
55
ConclusionConclusion
• Vrai morphing tridimensionnelVrai morphing tridimensionnel– suppression des sauts topologiquessuppression des sauts topologiques– suppression des sauts géométriquessuppression des sauts géométriques– suppression de l ’effet ghostsuppression de l ’effet ghost
• Mais…Mais…– GOP pièges à gérerGOP pièges à gérer– perspective temps réelperspective temps réel
56
PerspectivesPerspectives
• Poursuivre les tests sur la fusion pour Poursuivre les tests sur la fusion pour gérer des cas particuliers non traitésgérer des cas particuliers non traités
• Gestion des GOP piègesGestion des GOP pièges– tenter une paramétrisation moins tenter une paramétrisation moins
contraintecontrainte
• Problème du temps réelProblème du temps réel– calcul des arguments de l ’interpolation au calcul des arguments de l ’interpolation au
codagecodage
• Amélioration du renduAmélioration du rendu– interpolation plus courbeinterpolation plus courbe
57
Questions?Remarques?Questions?
Remarques?
Recommended