250 likes | 377 Views
Simplification et abstraction de dessins au trait. Pascal Barla – Joëlle Thollot – François Sillion GRAVIR-IMAG-INRIA. Enoncé du problème. Lignes : différentes sources Dessin scanné et numérisé Dessin numérique Extraction de contours Rendu non-photoréaliste (NPR) Simplification
E N D
Simplification et abstraction de dessins au trait Pascal Barla – Joëlle Thollot – François Sillion GRAVIR-IMAG-INRIA
Enoncé du problème • Lignes : différentes sources • Dessin scanné et numérisé • Dessin numérique • Extraction de contours • Rendu non-photoréaliste (NPR) • Simplification • Moins de lignes • Conserve la structure du dessin Dessin d’une main Rendu NPR [Grabli] Simplification et abstraction de dessins au trait
Enoncé du problème • Différents contextes • Tracé progressif • Réduction de densité • Niveaux de détail pour le NPR • Cadre commun • Indépendant du contexte • e : échelle de simplification Pegasus [Ikagashi], outil de tracé progressif Rendu 3D hachuré, avec niveaux de détail [Praun] Simplification et abstraction de dessins au trait
Plan • Travaux précédents • Méthodologie • Structure d’e-ligne • Simplification • Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait
Travaux précédents • Dessin progressif • libre [Baudel] • contraint [Takashi] • Traitements de densité • végétaux en 3D [Deussen] • espace image [Wilson][Grabli] • Indication • dessin partiel de textures complexes [Winkenbach] Outil de tracé progressif [Baudel] Gestion de la densité [Grabli] Indication de textures [Winkenbach] Simplification et abstraction de dessins au trait
Travaux précédents • NPR : niveaux de détail • espace image • peinture : Art Maps [Klein] • hachures :TAMs [Praun] • espace objet : • WYSIWYG NPR [Kalnins] • Impression • hachures [Salisbury] Rendu NPR sous deux points de vue différents avec utilisation de niveaux de détail pour les hachures [Kalnins] Simplification et abstraction de dessins au trait
Plan • Travaux précédents • Méthodologie • Structure d’e-ligne • Simplification • Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait
Méthodologie • e = échelle de simplification • Cadre commun en 2 étapes • Simplification • Regroupement des lignes initiales • Abstraction • Génération des nouvelles lignes Les deux étapes de notre approche : simplification et abstraction Simplification et abstraction de dessins au trait
Méthodologie • Simplification • Représente le dessin à l’échelle e • Conserve la structure • Groupe = e-ligne • Abstraction • Nouvelle ligne (l’) à l’intérieur d’un groupe (g) • dHausdoff(l’,g) < e • Nombreux ddl Deux lignes “espacées” de moins de e sont considérées comme une seule ligne Simplification et abstraction de dessins au trait
Structure d‘e-ligne • Groupe = ligne dilatée par e • Intuition : • A gauche : • Repliement • KO • A droite : • OK • Définition • 2 e-extrémités • 1 unique e-chemin Un exemple de groupe ne respectant pas la structure d’e-ligne (à gauche), et un autre qui la respecte (à droite) Simplification et abstraction de dessins au trait
Structure d‘e-ligne • e-extrémité • 1 seul e-voisin • e-voisin = intersection avec Be • e-chemin • pas de trou • épaisseur groupe < e Une e-extremité a un unique e-voisin. Un e-chemin valide Pas d’e-chemin possible car le groupe contient un trou Pas d’e-chemin possible car le groupe est trop épais Simplification et abstraction de dessins au trait
Plan • Travaux précédents • Méthodologie • Structure d’e-ligne • Simplification • Abstraction • Détails d’implémentation • Résultats • Conclusion Simplification et abstraction de dessins au trait
Simplification • Lignes quelconques • échantillonnage • Création d’une partition • algorithme glouton • Itératif sur paires de ligne • erreur d’un groupe = épaisseur L’erreur d’un groupe correspond a son epaisseur Simplification et abstraction de dessins au trait
Simplification • Proxy • Ligne représentant un groupe de lignes • Séquence de points + épaisseur • Ligne initiale = proxy d’épaisseur 0 • Erreur = épaisseur max Un proxy stocke une épaisseur en chaque point qui représente localement un groupe de lignes Simplification et abstraction de dessins au trait
Simplification • Structure d’une paire de proxies • Zone de recouvrement (ZR) • Détection d’un e-chemin • paires de pts à dist < e • 1 pt sur chaque proxy • OK si #e-extrémités = 2 • Erreur d’une paire de proxies • erreur = dHausdorff sur ZR • extensible Une zone de recouvrement entre deux lignes Simplification et abstraction de dessins au trait
Simplification • Graphe d’agglomération • nœud = proxy • arête = ZR • Algo de contraction d’arêtes • Contraction de l’arête d’erreur min • Nouveau noeud Nagg • Mise à jour des arêtes incidentes à Nagg • Jusqu’à plus d’arête Un ensemble de lignes et son graphe associé Simplification et abstraction de dessins au trait
Plan • Travaux précédents • Organisation • Méthodologie • Simplification • Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait
Abstraction • Pas de perte d’information après simplification • Stratégies • progressive / post-traitement • interpolation / priorité • Lissage • Exemples : Une stratégie en post-traitement : on crée des lignes rectilignes à l’interieur du groupe Une stratégie progressive par priorité : c’est la dernière ligne dessinée qui prime Simplification et abstraction de dessins au trait
Abstraction • Applications • tracé progressif : • priorité • appliqué itérativement • réduction de densité • interpolation Simplification et abstraction de dessins au trait
Plan • Travaux précédents • Organisation • Méthodologie • Simplification • Abstraction • Résultats • Conclusion Simplification et abstraction de dessins au trait
Résultats • Comportements attendus • pile de lignes • chaine de lignes Simplification et abstraction de dessins au trait
Résultats • Applications • mise à l’échelle • tracé progressif Simplification et abstraction de dessins au trait
Conclusion • Cadre de travail • Algorithme modulaire • adaptable à différents contextes • 2 applications simples • tracé progressif • mise à l’échelle Simplification et abstraction de dessins au trait
Conclusion • Travaux futurs • enrichir les applications • nouvelles fonctionnalités • erreur incorporant d’autres données • nouvelle application : niveaux de détail NPR • Analyse de l’algorithme • optimalité • choix d’une partition Simplification et abstraction de dessins au trait
Merci. Des questions ? Simplification et abstraction de dessins au trait