MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes
Transcription
MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes
MEFP3C : Un système logiciel pour le Maillage Evolutif de Formes avec Pavage par Polygones à sommets 3 Connexes Jamal Khamlichi, Jean-Paul Gourret IUT de La Rochelle - Département Informatique 15 rue François de Vaux de Foletier 17026 La Rochelle Cedex et Laboratoire d’Informatique, Image, Interaction (L3i) Avenue Michel Crépeau – 17042 La Rochelle Cedex 1 [email protected] ; [email protected] Sections de rattachement : 27 Secteur : Secondaire RÉSUMÉ. Depuis plusieurs années nous nous intéressons au maillage de surfaces pour la création d’images fixes et animées et au développement de logiciels d’application. Nous avons développé une technique de maillage d’objets déformables fondée sur des polygones à sommets de valence 3, que nous appelons « maillage 3 connexe ». Nous avons développé un système logiciel pour ce type de maillage. Il est composé d’un modeleur, d’un mailleur dynamique, de modules d’animation, d’un module de texture et d’un module d’acquisition d’un nuage de points. L’application principale à ce jour est la modélisation et le maillage de formes humaines 3D en mouvement. MOTS-CLÉS : Maillage déformable – Modélisation - Mouvement 1. Introduction Il existe de nombreuses applications qui nécessitent des maillages performants pour assurer un stockage compact, un transfert rapide, des animations en temps réel et des calculs précis de formes 3D. Ainsi : En calcul scientifique dans un but de simulation numérique, il est nécessaire de mailler en surfacique ou en volumique au niveau macroscopique ou microscopique 1 pour vérifier ou prédire des mesures. Par exemple, les méthodes mathématiques des éléments finis et des différences finies avec conditions aux limites s'appuient obligatoirement sur un maillage. La précision des calculs est directement liée au choix pertinent de celui ci. A travers le calcul scientifique, le maillage est impliqué dans de nombreuses disciplines, que se soit la physique, la mécanique des structures, les sciences de la terre pour le traitement visuel des reliefs et de leur texture, la mécanique des fluides, la météorologie, la chimie, la biologie,... En Conception Assistée par Ordinateur, les modeleurs de CAO évoluent vers des techniques de maillage capables de comprimer/décomprimer les informations dans un but d'archivage et de transmission rapide des formes. Les échanges de données techniques entre différents systèmes de CAO pour modifier et concevoir des produits nécessitent des mailleurs capables de prendre en compte les nouveaux outils de transmission des données que sont internet et intranet. En Visualisation, les points captés par un numériseur 3D dans le volume ou sur la surface d’un objet doivent servir à représenter visuellement l’objet dont ils sont issus. La visualisation de la surface de l’objet passe par un maillage capable de répondre à des critères de tolérance de bande, de continuité et de régularité de la surface. En synthèse d'images et en animation le maillage est primordial pour assurer des rendus et des animations réalistes. Les techniques de rendu, telles la radiosité et le lancer de rayons, sont d’autant plus performantes en temps de calcul et en réalisme que le maillage est bien fait. En animation, les techniques de "morphing" utilisent directement les propriétés du maillage pour calculer les déformations des objets. La création multimédia nécessite aujourd’hui de transmettre non seulement des informations visuelles et auditives, mais aussi des informations gestuelles et tactiles. Des logiciels de maillage adaptés à ces nouvelles contraintes de transmission et de visualisation sont aujourd'hui en cours de développement. Dans le domaine de la création de films d’animation et des jeux vidéo, le but est essentiellement de produire des images et des films en un minimum de temps et de pouvoir récupérer des séquences d’images déjà créées pour les réutiliser sans ou avec modification. Les professionnels travaillent de plus en plus directement sur des objets et des personnages animés 3D, et par conséquent la notion de maillage de surfaces devient très importante, principalement par ses aspects stockage minimal et transmission rapide des formes des objets. Il faut pouvoir accéder à des formes d’objets pas nécessairement stockées sur place, mais disponibles via internet et via un serveur d’images. Il faut pouvoir reconstituer une scène en temps réel, si possible sur des machines bas de gamme possédées par la plupart des utilisateurs. Dans le domaine des arts et plus particulièrement des arts corporels les gestes doivent être captés par des interfaces modernes de captage du mouvement, gants ou 2 autre. La saisie du mouvement et sa restitution passe obligatoirement par un maillage de la surface bien adapté aux traitements en temps réel. Dans le domaine des réalités virtuelles la transmission des formes des objets et par conséquent de leur maillage est souvent nécessaire puisque l'acteur est plongé dans un monde dont les objets virtuels ne sont pas forcément tous définis sur les machines locales mais sont transmis depuis un serveur distant. Pour que l’acteur puisse interagir avec son environnement virtuel, le maillage doit permettre la transmission rapide des formes et leur visualisation plus ou moins grossière en fonction de la distance acteurobjets virtuels. Depuis plusieurs années nous nous intéressons au maillage de surfaces pour la création d’images fixes et animées et au développement de logiciels d’application (Gourret et al. 1989), (Khamlichi 1995), (Gourret et al. 2000). Nous avons développé une technique de maillage d’objets déformables par des approches de coopération Analyse-Modélisation-Synthèse. Du côté recherche fondamentale, nous nous intéressons au maillage multirésolution de surfaces, plus particulièrement à la subdivision et à la représentation par ondelettes de maillages à éléments triangulaires et à éléments polygonaux à sommets 3 connexes. Du côté recherche appliquée, nous nous intéressons à la création d’un système logiciel de maillage composé d’un modeleur, d’un mailleur dynamique, de modules d’animation, d’un module de texture et d’un module d’acquisition d’un nuage de points. L’application principale à ce jour est la modélisation et le maillage de formes humaines 3D en mouvement. Dans le cadre de cet article nous traitons de la recherche appliquée et de son application principale. Nous montrons quelques aspects du système logiciel de maillage et comment utiliser le logiciel pour mailler une main humaine. 2. le système informatique MEFP3C Les différentes composantes du système MEFP3C sont montrées sur la Figure1. Modeleur (Création d’un Maillage topologique) Animation Mailleur dynamique Acquisition du nuage de points Plaquage de la texture Figure 1. Système informatique MEFP3C 3 Le système est entièrement écrit en C/C++ avec la bibliothèque graphique OpenGL et l’interface glut. Nous donnons dans ce qui suit une idée de son fonctionnement pour la main gauche d’un humain. Des démonstrations, des animations et des explications plus concrètes sont téléchargeables à partir du site http://perso.univ-lr.fr/jpgourre 2.1. Le module d’acquisition d’un nuage de points Le module d’acquisition d’un nuage de points permet d’obtenir des points sur la surface d’une forme 3D. Le nuage de points est obtenu à partir des images fournies par le « Visible Human Project » (VHP). Le projet VHP fournit des lamelles découpées dans un corps congelé. Il comprend 1878 lamelles d’un millimètre d’épaisseur. Chaque image comporte 2048x1216 pixels à la résolution 0,33mm. Un exemple est montré sur la Figure 2 pour l’acquisition de la main gauche. Figure 2. Le module d’acquisition d’un nuage de points (nuage2D) Nous utilisons un snake2D attiré par un nuage2D. Le nuage2D est déterminé par seuillage et algorithme de Sobel appliqué à la sous-image contenant la main gauche. Il est matérialisé par les pixels blancs sur la figure 2. Le Snake2D est une corde 4 déformable en temps réel constituée de ressorts déformables compressibles et extensibles reliés entre eux par des masses (nœuds circulaires sur la figure 2). L’opérateur peut effectuer un guidage interactif (clic souris) pour forcer l’association d’un pixel du contour (nuage 2D) avec un nœud du snake2D ou pour influencer une direction. Après convergence vers le nuage2D, les nœuds du snake2D sont mémorisés. Le (ou les) snake2D de chaque image sont ensuite concaténés pour former le nuage de points de la peau et des os (Figure 3). Figure 3. Le module d’acquisition d’un nuage de points (nuage3D) 2.2. Le modeleur Le modeleur (Paradot et al. 2002) permet de définir des formes 2D ou 3D constituées de facettes polygonales à sommets 3 connexes, et d’assembler plusieurs formes tout en conservant les propriétés topologiques du maillage. Un exemple est montré sur la Figure 4. Figure 4. Le modeleur 5 2.3. Le mailleur dynamique Le mailleur dynamique (Gourret 2000, Sadon 2002) permet de déformer un maillage 3 connexe créé par le modeleur, en attirant ses sommets vers les points d’un nuage3D obtenus par le module d’acquisition. Un exemple pour un os et pour la peau de la main gauche est montré sur la figure 5. Les points du nuage sont situés sur la surface de l’os ou de la peau (nuage3D) et attirent le maillage topologique (un cylindre ou une main topologique). Figure 5. Le mailleur dynamique pour les os et pour la peau de la main gauche 2. 4. Le module de plaquage de texture Le module de plaquage de texture (Bousseau et al. 2003) permet d’obtenir des formes visuellement réalistes en plaquant plusieurs images de texture sur le maillage. Un exemple est montré sur la Figure 6. 6 Fenêtre de visualisation en 3 dimensions. Fenêtre de la texture vue de dessus 2D. Plan de texture Fenêtre de la texture vue de dessous 2D. Fenêtre du rendu texturé 3D. Figure 6. Le module de plaquage de texture 2.5. Le module d’animation Le module d’animation permet d’animer un système articulé formé de segments. Ce module a été développé pour pouvoir commander indirectement les déformations d’un maillage englobant. Par exemple les déformations de la peau lorsqu’un doigt est plié. Le calcul des déformations de la main réaliste avec texture est en cours de réalisation. Noter que l’exemple montré sur la figure 7 ne prend pas en compte les déformations de la peau au niveau des articulations. Figure 7. Le module d’animation (exemples de configurations) 7 3. Conclusion Le système logiciel que nous développons est destiné à inclure nos résultats de recherches au fur et à mesure de leur avancement. Il permet ainsi de disposer d’un outil de travail toujours remis en question. Nous avons montré dans cet article son état actuel. Parmi les développements en cours, nous nous intéressons au maillage multirésolution de surfaces, plus particulièrement à la subdivision et à la représentation des maillages par ondelettes. En effet, le mailleur dynamique implique un maillage grossier pour permettre le calcul rapide des déformations. Cette contrainte est en contradiction avec un rendu visuel réaliste des surfaces où l’on doit être capable de prendre en compte la continuité de la surface limite lors des processus de subdivision stationnaires (sadon 2002), (chaieb 2003). Par conséquent, le maillage doit être évolutif. On doit pouvoir subdiviser avant/après/pendant le maillage dynamique et pendant les animations. Une subdivision locale pendant le maillage dynamique est nécessaire pour atteindre les creux de l’objet défini par son nuage3D. Une subdivision globale est nécessaire lorsque la distance observateur-objet est modifiée. Ces contraintes peuvent être respectées en utilisant des approximations à différents niveaux dans la représentation par ondelettes. La représentation par ondelettes autorise également la compression des fichiers de maillage (Lounsberry et al. 1997), (sadon 2002). Ont participé à ce travail d’anciens étudiants de départements informatique d’IUT (options IGI, ISI, IN), qui ont poursuivi leurs études en IUP, lors de leur stage au niveau licence. Bibliographie Chaieb K. « Subdivision des surfaces », stage DEA image&Calculs, Univ. LR, 2003. Sadon N. « Maillage multirésolution de surfaces », stage DEA image&Calculs, Univ.LR, 2002. Gourret J.P. « Maillage multirésolution de surfaces pour la modélisation d’images », livre électronique, http://perso.wanadoo.fr/jean-paul.gourret, 2000. Lounsbery M, DeRose T.D., Warren J. “multiresolution analysis for surfaces of arbitrary topological type”, ACM Trans. on Graphics, vol. 16(1), pp.34-71, 1997. Paradot M., Foucher T. « main topologique en 3 dimensions », stage IUP GMI, Univ. LR 2002. Bousseau A., Guichard M. « Modélisation et maillage de formes humaines texturées », stage IUP GMI, Univ. LR, 2003. Khamlichi J. « Modélisation de déformations d’images tridimensionnelles, Application aux structures de données de visages », Thèse, Univ. de La Rochelle, 1995. Gourret J.P., Magnenat-Thalmann N., Thalmann D. « simulation of objects and human skin deformations in a grasping task », ACM SIGGRAPH’89, Computer Graphics, Boston, Vol. 23(3), pp.21-31, 1989. Gourret J.P., Khamlichi J. « Un outil informatique pour le langage des signes et la chorégraphie » Actes des rencontres internationales Arts, Sciences et Technologies, 2000, Univ. De La Rochelle. 8