Thomas Delamé-Déformations 2D par opérateurs morphologiques-resultats

De Ensiwiki
Aller à : navigation, rechercher


Déformations 2D par opérateurs morphologiques

Labo LJK
Equipe EVASION
Encadrants Marie-Paule.Cani@imag.fr,Jean-Claude.Leon@inpg.fr

Etudiant

Delamé, Thomas

Introduction

Dans le cadre de la modélisation 3D par croquis (méthode appelée sketching) mise en œuvre dans le logiciel Matisse [1], l’utilisateur passe par une étape de peinture d’une région en 2D, pour la création ou l’ajout à une forme existante d’un élément tridimensionnel. Il dispose d’une gomme et de différentes tailles de pinceau pour parfaire son dessin si nécessaire. Par contre, il serait dans certains cas intéressant de pouvoir déformer ce dessin en 2D, localement ou globalement, plutôt que de gommer et de redessiner ; par exemple lorsqu’il s’agit de changer globalement les proportions de la région, de tirer ou pousser sur une partie du contour sans en changer les détails, etc.

De nombreuses méthodes de déformation existent en 2D et en 3D, s’appuyant soit sur les degrés de libertés des courbes ou des surfaces représentant une forme, soit s’exprimant plus globalement comme par déformation de l’espace, c'est-à-dire par une transformation définie en tout point de l’espace contenant la forme à modifier.

Cependant ces méthodes souffrent de leur manque d'accessibilité aux novices. En effet pour être complètes, l'utilisateur doit souvent, pour créer ses propres formes libres, passer par des points de contrôles, des paramètres numériques, des driving lines ou des target lines. Ces concepts appartiennent au domaine de la modélisation géométrique, et brident la créativité de l'utilisateur par leur manque d'intuitivité s'ils sont connus de l'utilisateur, et par l'incompréhension si l'utilisateur n'a aucune notion dans ce domaine.

L'objectif de ce projet est de mettre en place une famille de fonctions de déformation, d’un type à choisir, capable de représenter les opérateurs morphologiques définis par M Leyton [2] pour pallier à cette absence d'intuitivité. Le but de ce dernier était d’étudier la manière dont les humains voient et interprètent les formes qui les entourent. Sa théorie, basée sur la classification d’une forme selon ses extrema de courbure, n’a encore jamais été testée ni validée dans le cadre d’un logiciel interactif.

Eléments de pré-requis

J'ai cité les opérateurs morphologiques de M Leyton ; c'est la base de ce projet, et cela se résume en 6 règles d'une grammaire de forme. Pour pouvoir les comprendre, il est bon de définir la description des formes utilisées.

Description des formes

Axe PISA
Pour décrire les formes possibles, M Leyton se base sur l'évolution d'une caractéristique intrinsèque aux courbes : leurs courbures. Il a démontré que les formes vues sous cet angle peuvent être définies et manipulées par les extrema de courbures, et il va plus loin dans sa constatation en affirmant que chaque portion de courbe qui a un unique extremum de courbure P, a un et un seul axe de symétrie, qui se termine forcément en P. On peut voir alors cet axe de symétrie comme l'empreinte d'un processus qui a créé cette variation de courbure donnant lieu à l'extremum.

Une forme complexe est alors le résultat d'un ensemble de processus appliqués le long des axes de symétrie. Ces axes sont nommés PISA – Process-Inferring Symmetry Analysis, un de ces axes est défini comme le lieu du point Q se trouvant au milieu de l'arc AB du cercle tangent à cette forme en les points A et B comme le décrit la figure suivante :

Un axe PISA

Mot de courbure
Dans cette théorie, les formes sont vues comme une variation de courbure, ces variations sont résumées par les extrema de courbures. La courbure est définie dans le sens trigonométrique : l'intérieur de la forme est à gauche et l'extérieur à droite. Il en existe de quatre types que je présente ci-après :

  • le maximum local positif, noté M+ correspondant à une protusion (une avancée de l'intérieur de la forme vers l'extérieur)
  • le maximum local négatif, noté M- correspondant à une résistance de l'extérieur à une force intérieure (appelée résistance)
  • le minimum local positif, noté m+ correspondant à une résistance de l'intérieur à une force extérieure (appelée «squashing»)
  • le maximum local négatif, noté m- correspondant à une indentation (une avancée de l'extérieur vers l'intérieur de la forme)

Ces extrema accompagnés des points d'inflexions (notés 0) permettent de caractériser une catégorie de formes ayant des variations de courbures similaires par un mot, unique à une permutation circulaire près, que j'ai nommé mot de courbure. Par exemple, la figure suivante est caractérisée par le mot “ M+0m-M-m-0M+m+M-m+ ”.

Illustration du mot de courbure axe PISA

Grammaire de formes

Deux catégories de processus peuvent modifier la variation de la courbure ie le mot de courbure : la continuation et la bifurcation, appliquées sur les extrema de courbure. Dans une continuation le processus continue le long de l'axe PISA, gardant cet axe unique. Dans une bifurcation, le processus se sépare en deux axes distincts. Ces processus sont regroupés sous le terme grammaire, terme utilisé pour mettre en évidence le fait que cet ensemble de règles permet la définition de phrases (formes complexes en terme de variation de courbure) à partir d'un ensemble de mots (formes plus simples, jusqu'à l'axiome qui est le cercle).

Comme M Leyton remonte l'histoire d'un forme vers son origine -un cercle-, certaines modifications ne sont pas prises en compte dans la grammaire. Par exemple lorsqu'on augmente la courbure en un point M+ ou qu'on la diminue en un point m-, cela ne produit pas de nouvel extremum comme on peut le voir sur la figure précédente. Ces deux opérations appelées continuation en M+ et en m- ne développent pas le mot de courbure, or la théorie de M. Leyton visait à réduire ce mot de courbure au mot vide (par réduction en reconnaissant la partie droite de la règle et en conservant la partie gauche, comme pour vérifier qu'un mot appartient bien à un langage défini par une grammaire en théorie des langages), c'est pourquoi elles ne sont pas dans la grammaire.

Illustration d'une continuation en m+



Le «squashing» continue jusqu'à ce qu'il y ait indentation
C'est une continuation en m+ notée Cm+  : m+ ---> 0m-0, car elle transforme un maximum positif en une séquence de deux points d'inflexions entourant un nouveau maximum de courbure mais qui cette fois est négatif.

Illustration d'une continuation en M-



La résistance continue jusqu'à ce qu'il y ait protusion
C'est une continuation en M- notée CM-  : M- ---> 0M+0, car elle transforme un maximum négatif en une séquence de deux points d'inflexions entourant un nouveau maximum de courbure mais qui cette fois est positif.

Illustration d'une bifurcation en M+



La formation d'un bouclier
C'est une bifurcation en M+ notée BM+  : M+ ---> M+m+M+. Au lieu d'un maximum positif de courbure, on se retrouve avec une sorte de forme rappelant un bouclier, d'où le nom (par ailleurs je ne me suis pas permis de donner d'autres noms aux règles, je ne fais que de les traduire en français, au mieux des possibilités).

Illustration d'une bifurcation en m-



La formation d'une baie
C'est une bifurcation en m- notée Bm-  : m- ---> m-M-m-. Au lieu d'une indentation de la forme on, se retrouve avec un espace creusé ressemblant à une baie vers l'intérieur de la forme.

Illustration d'une bifurcation en m+



Forcer la formation d'une protusion
C'est une bifurcation en m+ notée Bm+  : m+ ---> m+M+m+. Cette règle avec la suivante est un peu particulière. On pourrait dire qu'elle utilise la consistance de la forme, ie son analogie physique avec sa résistivité et son élasticité. Ici on peut voir ça comme le résultat d'un appui extérieur de part et d'autres d'un maximum positif de courbure.

Illustration d'une bifurcation en M-


Forcer la formation d'une indentation
C'est une bifurcation en M- notée BM-  : M- ---> M-m-M-. Cette règle est aussi un peu difficile à appréhender comme la précédente. Il s'agit en fait de sa réciproque, en considérant que c'est l'extérieur de la forme qui est consistant, et l'intérieur qui n'oppose pas de résistance. Ces deux dernières règles font réfléchir sur la manière de les implémenter, mais surtout de les rendre intuitives (car vous en conviendrez, même si ici elle est plus détaillée que dans les textes originaux, le schéma et la description ne suffisent pas vraiment à pleinement la comprendre à la première lecture).

Travail réalisé

Mon travail dans le cadre du TER s'est déroulé en 5 étapes :

  • Comprendre les travaux de M Leyton, s'imprégner de ses théories
  • Lire et comprendre différentes thèses liées à ce sujet sur les formes libres et le design informatique
  • Réaliser une étude IHM de la solution logicielle à apporter
  • Implémenter l'interface de la solution, pour juger de la pertinence des choix
  • Étudier le problème ainsi posé par les fonctionnalités de l'interface

Les travaux de M Leyton

La grammaire de formes constitue la base utilisée dans ce projet, mais ce n'est pas l'unique contribution de M Leyton sur ce sujet. J'ai parcouru plusieurs de ses livres (les 4 premiers présentés sur sa page internet donnée en référence [2]) pour bien assimiler sa théorie sur la compréhension des formes, car la maîtrise de cette théorie assure le caractère intuitif de la solution logicielle. J'y ai appris la manière d'appliquer sa grammaire dans un processus de création artistique. Et ce parce qu'il explique que la perception des formes n'est rien d'autre que la reconstruction de l'historique de la forme. Une affirmation qui choque de prime abord, mais qui se révèle pertinente en plus d'être innovante, puis fortement vraisemblable par ses différentes mises en pratique et par le test sur un grand panel de gens.

Cependant, il y a un problème avec sa théorie pour le projet dont il est question ici : nous ne parcourons pas l'historique des formes dans le même sens ! En effet, M Leyton explique que lorsqu'on voit une forme complexe, on la réduit successivement à une forme de plus en plus simple -et ce jusqu'au cercle- pour la reconnaître, alors que nous souhaitons partir d'une forme simple pour en créer une plus complexe à notre goût.

Ce n'est pas particulièrement gênant, mais ça nécessitera quelques aménagements, notamment dans la liste des opérateurs morphologiques à définir. Prenons l'exemple simple d'un contour d'une banane. L'œil humain la reconnaît en arrondissant ses extrémités, puis en la transformant en ellipse, puis en cercle. La grammaire de forme telle qu'exposée précédemment le permet. Mais la main humaine qui veut construire ce contour, va créer un cercle, puis le déformer pour avoir une ellipse, avoir envie de réaliser une torsion sur la forme, puis d'affiner les extrémités. La seule différence dans cet exemple entre les deux processus -hormis le sens de parcours de l'historique- est que dans le second la torsion vient naturellement alors qu'elle n'existe pas dans la grammaire, et que pour affiner les extrémités des opérateurs de continuation en M+ et m- sont nécessaires.

Recherches bibliographiques

Comme toujours dans un travail de recherche, il n'est pas utile de tout redéfinir soi-même : des travaux ont déjà étés faits dans des domaines voisins, et leurs compréhensions suffit à les adapter au problème en cours pour être plus efficace. Encore faut-il savoir quels travaux peuvent être pertinents. Et c'est ici que se pose l'importance des encadrants : ils ont une bonne connaissance des différentes thèses et articles ayant un rapport avec le sujet. Une de mes principales ressources bibliographiques a été "Fully Free Form Deformation Features for Aesthetic and Engineering Designs" [3] de Jean-Philippe Pernot en 2004. J'y ai acquis les bases nécessaires pour envisager une application pratique de ma propre initiative, et aussi l'importance du caractère intuitif exigé dans ce projet, car comme l'a conclu Jean-Philippe Pernot dans cette thèse, des efforts doivent encore être fournis pour permettre un utilisateur novice de définir (et «de paramétriser») ses propres formes libres.

J'ai étudié d'autres papiers, notamment dans les représentations de formes comme les clothoïdes [4] ou les surfaces implicites [5], et dans les domaines de la modélisation sémantique de formes libres et les différents types de squelettes de formes.

Étude IHM

Comme l'objectif est de fournir une solution logicielle adaptée à tout utilisateur, il est important de se concentrer d'abord sur l'utilisateur lui-même, définir ses besoins et lister les fonctionnalités qu'il faudra ensuite implémenter. Cette étude s'est effectuée avec l'aide de sondages exploratoires, des focus groups avec mes encadrants de l'équipe EVASION et avec des cercles de peintres artistiques, ainsi que des observations in situ dans les salles machines de l'ENSIMAG.

Un arbre d'activité ayant été établi, il fallait ensuite définir et justifier les différents éléments de l'interface, puis spécifier l'ensemble des actions possibles de l'utilisateur. Cette étude a conduit à l'établissement d'un cahier des charges complet, utilisé pour la suite des recherches.

Implémenter l'interface

Pour tester les différents choix faits pour l'interface, et vérifier que les actions utilisateurs prises en compte sont complètes et ne nuisent ni à l'intuitivité ni à la créativité, il était important d'implémenter une interface avant d'aller plus loin dans le projet. En effet, le cahier des charges précédemment nommé impose un grand nombre de contraintes qu'il va falloir ajouter à la complexité du problème. Et ce serait une perte de temps et un échec de se rendre compte à la fin de l'implémentation logicielle que plusieurs détails sont à revoir ou qu'il manque des fonctionnalités ; car toute la théorie de la représentation des formes utilisée serait à refaire.

Illustration de l'interface

Maquetter une solution

Les fonctionnalités à implémenter étant validées lors de l'étape précédente, il fallait trouver une représentation interne des formes sur laquelle on pourrait appliquer les opérateurs morphologiques. Par exemple, un accès rapide aux extrema de courbure est quelque chose de vital pour appliquer un opérateur, ne serait-ce que pour connaître les différents lieux d'une forme où un opérateur est applicable. Un autre point délicat est la définition d'un squelette ; pour les torsions il a été établi qu'un squelette devait être affiché à l'intérieur d'une forme. Mais quel type de squelette, comment le définir ? De plus est-ce qu'il est possible d'en faire un squelette tel que sa donnée définisse la forme, et à partir de la forme on puisse reconstruire le squelette ?

Autant de problèmes à résoudre pour obtenir une solution logicielle complète.

Conclusion

Le cahier des charges construit pour la solution logicielle a été validé par des tests sur plusieurs types d'utilisateurs. Les différentes contraintes liées à ce cahier des charges ont vus une solution proposée, comme par exemple déterminer quel outil utiliser parmi les 6 opérateurs de la grammaire, les deux opérateurs de continuation en M+ et en m- et l'opérateur de torsion, et ce choix se faisant suivant le contexte du dessin : zone pointée, emplacement dans le mot de courbure, propriété physique de l'intérieur ou l'intérieur (l'idée est qu'une de ces zones devient "réelle" si elle est rempli par une couleur, ce qui rends plus intuitif les bifurcations d'après étude).

Même si les résultats vont dans le sens attendu, ie la validation des théories de M Leyton et la création d'un logiciel de déformation 2D basé dessus ; ils s'arrêtent à la moitié de l'avancement nécessaire pour terminer le projet. Et ce parce-que l'étude IHM a été beaucoup plus longue que prévue pour être correcte. Mais ce n'était pas du temps perdu : il s'agissait de bien identifier les fonctionnalités à fournir aux utilisateurs pour conserver le caractère intuitif de la solution, et des conclusions trop hâtives et non validées auraient conduit à un logiciel qui serait rapidement abandonné par les utilisateurs novices, comme la plupart des solutions existantes.

Il a été prévu que je poursuivre ce projet lors d'un stage d'été en laboratoire. Il sera d'abord question d'implémenter les fonctionnalités définies dans le cahier des charges pour des formes deux fois continument dérivables, planes, fermées et sans discontinuités (autrement la représentation des formes est plus ardue) pour valider les théories de M Leyton dans le cadre d'un logiciel interactif. Puis, si les résultats vont dans ce sens, la classe des formes représentées sera étendue aux discontinuités, la solution pourra être intégrée dans le logiciel Matisse (ce qui est la raison première de ce TER : fournir une interface de déformation 2D au logiciel Matisse), et pourquoi pas s'attaquer aux formes tridimensionnelles ?

Références

Documents additionnels