Morphing 3D de modèles estimés Stage de fin d ’études Benjamin Le Guen Encadrants: Luce Morin, Raphaèle Balter
Introduction Temics, Janvier 2002 : Schéma de codage/transmission/décodage de séquences vidéo réelles Représentation synthétique sous forme de modèles 3D Objectif Améliorer le rendu des séquences reconstruites et virtuelles =>Mettre au point un post-traitement
Plan Introduction Contexte Travail réalisé Résultats Conclusion
Introduction Contexte Travail réalisé Résultats Conclusion
La structure d ’accueil L ’Irisa Informatique et Signaux Aléatoires Unité mixte de recherche (INRIA, CNRS, Rennes 1, INSA) 25 équipes autour de grands thèmes scientifiques Le projet Temics Analyse et modélisation de séquences vidéo, Codage conjoint source-canal, Tatouage www.irisa.fr
La structure d ’accueil Environnement technique OS : UNIX, Linux Langage : C/C++ Librairie graphique : CGAL www.cgal.org
Codage d ’une séquence vidéo par flux de modèles 3D Modèles 3D obtenus à partir d ’une vidéo Stéréo-reconstruction Maillage triangulaire uniforme
Codage d ’une séquence vidéo par flux de modèles 3D Modélisation dépendant du point de vue Un modèle pour 15-30 images de la séquence (notion de GOP) Séquence originale Carte d ’élévations Modèle 3D
Décodage
Applications Chemin virtuel Réalité augmentée Codage 3D - 60 kbits/s H26L - 115 kbits/S
Difficulté Transition entre modèles Causes Saut géométrique (erreurs d ’estimation/zones découvertes) Saut de texture (erreurs/point de vue/illumination) Saut de connectivité (élévations sur maillage uniforme) Transition saut geom
Approches précédentes Fondu dans l ’espace des textures saut de géométrie/connectivité Fondu 3D effet fantôme Morphing d ’élévations saut topologique zones à occultation non traitées
Introduction Contexte Travail réalisé Résultats Conclusion
Morphing 3D Objectif Méthode Passer des cartes d ’élévations à de la vraie 3D Méthode Paramétrisation pour fixer les correspondances Fusion des paramétrisations pour construire la connectivité commune Interpolation des géométries pour générer les modèles intermédiaires
Morphing 3D Mn : modèle source Mn+1 : modèle destination Hn : paramétrisation de Mn Hn+1 : paramétrisation de Mn+1 Hc : fusion des paramétrisations Fn : connectivité fusion + géométrie n Fn+1 : connectivité fusion + géométrie n+1
Morphing 3D Paramétrisation Fusion Interpolation
La paramétrisation Principe correspondance bijective entre une surface 3D discrète et un maillage planaire mesure de distorsion conforme authalique choix d ’épingles résolution d ’un système linéaire Intrinsic parameterizations of surface meshes. [Alliez 02]
Adaptation au contexte Bords de deux modèle successifs non superposés => paramétrisation à bords libres Exacte superposition des textures pour éviter l ’effet fantôme => nombreuses épingles Modèles bruités => caractéristiques géométriques non fiables
Choix du critère d ’optimisation Paramétrisation de Floater angles inférieurs à bords épinglés
Implémentation Espace de paramétrisation: I5 Paramétrisation de Mn+1 Grille triangulaire uniforme Paramétrisation de Mn Paramétrisation connue sur I0 Correspondances dans I5 données par le champ de mouvement
Reconstruction du champ de mouvement Implémentation Reconstruction du champ de mouvement
Implémentation Paramétrisation de Mn Algorithme de paramétrisation Traitement des correspondances données par le champ de mouvement => choix des points à libérer Algorithme de paramétrisation ddl = 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
Résultat de la paramétrisation
Morphing 3D Paramétrisation Fusion Interpolation
La fusion Objectif Idée construire une connectivité commune tirer partie des paramétrisations obtenues dans un même espace 2D principe:
Etapes de la fusion
Recherche des intersections Algorithme général [Kent 92] Initialisation d ’une liste de travail WL Tant que WL non vide Prendre 1ère arête de WL Rechercher ses intersections Compléter WL
Algorithme général Rechercher ses intersections? [Kent 92] Rechercher ses intersections? Initialiser une liste d ’arêtes candidates CL Tant que CL non vide Prendre 1ère arête de CL Intersection? Succès: ajouter sommet Compléter CL
Algorithme général [Kent 92] Parcours de CL
Algorithme général [Kent 92] Fin de la recherche
Gestion des cas particuliers Tenter de déjouer tous les cas particuliers Un exemple v1a est superposed ou on_edge problème intrinsèque à la manipulation des réels astuce: partager CL en deux
Créations des liens entre intersections Liste des intersections retenues pour chaque arête Algorithme 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;
Joindre()?
Etapes de la fusion
Ajout des sommets non singuliers de Mn Problème maintenir la cohérence du polyèdre Solution proposée liens vers les premières intersections ajout face par face
Ajout des sommets non singuliers de Mn 2 liens ou plus : ajout direct 0 ou 1 lien : traitement a posteriori
Résultat de la fusion
Morphing 3D Paramétrisation Fusion Interpolation
Interpolation Construire les arguments source et destination Les interpoler linéairement Avant tout… Triangulation de la fusion parcours des facettes de Hc, subdivision (algorithme récursif) en commençant par les angles les plus grands.
Résultats de la triangulation
Résultats de la triangulation
Résultats de la triangulation
Construction des arguments On a: connectivité n et géométrie n, leur union représentée par Mn, connectivité n+1 et géométrie n+1, leur union représentée par Mn+1, la connectivité fusion. On voudrait, l ’union de la connectivité fusion et de la géométrie n => argument source, l ’union de la connectivité fusion et de la géométrie n+1 => argument destination.
Application des géométries n et n+1 Données disponibles pour un sommet v de Hc V non singulier ou on_edge de Mn V non singulier de Mn+1 index a,b,c α,β,γ Géométrie n Coord bary dans facette de Hn Coord bary dans facette de Hn+1 Géométrie n+1 V superposed V split Coord bary sur arete de Hn Géométrie n Coord bary sur arete de Hn+1 Géométrie n+1
Calcul des coordonnées barycentriques Coordonnées des sommets de Mn dans Hn+1 calcul au moment de la rétro-projection, direct sur grille uniforme avec coordonnées cartésiennes (i,j). Si v est non singulier de Mn+1 parcourir chaque facette de Hn, si v est dans la facette calculer ses coordonnées barycentriques dans la facette.
Application d ’une texture à Fn et Fn+1 Texture de Fn : I0 sommets ne provenant pas de Mn : combinaison barycentrique des textures des sommets de Mn voisins. Texture de Fn+1 : I5
Calcul des modèles intermédiaires Interpolation linéaire
Introduction Contexte Travail réalisé Résultats Conclusion
Résultats Saut géométrique/topologique Sans post-traitement Morphing d ’élévations Morphing 3D
Résultats Saut géométrique/topologique
Résultats Reconstruction de la séquence original fondu Morphing élévations Morphing 3D Suppression de l’effet ghost
Résultats Navigation virtuelle originale sans post-traitement Morphing d ’élévations Morphing 3D
Résultats Défauts Flou dans certains GOP cause:mise en correspondance inexacte lors de la paramétrisation de Mn Méthode lourde à l ’encontre du schéma de reconstruction temps réel
Introduction Contexte Travail réalisé Résultats Conclusion
Conclusion Vrai morphing tridimensionnel Mais… suppression des sauts topologiques suppression des sauts géométriques suppression de l ’effet ghost Mais… GOP pièges à gérer perspective temps réel
Perspectives Poursuivre les tests sur la fusion pour gérer des cas particuliers non traités Gestion des GOP pièges tenter une paramétrisation moins contrainte Problème du temps réel calcul des arguments de l ’interpolation au codage Amélioration du rendu interpolation plus courbe
Questions? Remarques?