Contribution de la reconstruction 3D à la compression de maillages

Contribution de la reconstruction 3D à la compression de
maillages surfaciques triangulaires
Rapport de stage – Master M2 Recherche Informatique
Spécialité IGI (Informatique Graphique et Images)
Céline ROUDET
Encadrée par Raphaëlle CHAINE – Maître de conférence au LIRIS
Laboratoire d'InfoRmatique en Images et Systèmes d'information
Université Claude Bernard Lyon 1
Bâtiment Nautibus
Campus de la Doua
8, Bd Niels Bohr
69622 Villeurbanne Cedex
1
Résumé
Depuis quelques temps, les objets tridimensionnels commencent à concurrencer le multimédia
traditionnel (images, sons, vidéos). Ces objets sont le plus souvent représentés par des maillages et sont
utilisés dans différents domaines comme la médecine, la Conception Assistée par Ordinateur (CAO), la
simulation, les jeux vidéos, le cinéma, les visites virtuelles, ... Depuis une dizaine d'années, un grand
nombre de méthodes de compression de maillages se sont développées. On distingue les méthodes de
compression sans perte qui proposent une réorganisation optimale du codage de l'information, des
méthodes de compression avec pertes qui filtrent l'information dans un espace transformé.
Dans le cadre de ce stage, nous nous sommes intéressés à la compression sans perte de maillages
surfaciques triangulaires. Dans la plupart des méthodes de compression, le parcours de la connectivi du
maillage est codé explicitement et guide le codage de l'information géométrique (position des points).
Notre méthode considère l'approche inverse et propose d'étudier la contribution des algorithmes de
reconstruction 3D pour coder la topologie d'un maillage surfacique triangulaire compte tenu de sa
géométrie.
Les méthodes de reconstruction à partir de nuages de points ne permettent pas une reconstruction
exacte de la surface de tous les objets 3D. Elles sont toutefois exploitables pour rendre implicite une
grande partie de l'information topologique lors de la compression. Nous avons ainsi choisi d'utiliser une
méthode de reconstruction existante afin d'obtenir d'une part, un codeur topologique construit à partir de
la totalité de l'information géométrique et d'autre part une variante de ce codeur avec transmission
graduelle et simultanée d'une partie de l'information géométrique.
Abstract
For some time, the three-dimensional objects have begun to compete with traditional multimedia
(images, sounds, videos). These objects are mostly represented by meshes and are used in various
domains like medicine, Computer-aided design (CAD), simulation, video games, cinema, virtual
visits, ... Since around ten years, lots of compression methods have been developed for meshes. Lossless
methods which propose an optimal reorganization of the information coding have to be distinguished
from lossy ones which filter the information in a transformed space.
Within the framework of this training, we were interested in the lossless compression of
triangular meshes. In most of the compression methods, the way the mesh connectivity is traversed is
explicitly coded and drives the coding of the geometrical information (position of points). Our method
considers the inverse approach and proposes to study the contribution of the 3D reconstruction
algorithms to code the topology of a triangular mesh considering its geometry.
The reconstruction methods from point sets do not allow an exact reconstruction of the surface
of all the 3D objects. They are however exploitable to represent implicitly a great part of the topological
information during the compression. Thus we chose to use an existing reconstruction method to obtain
on one hand a topological coder built from the totality of the geometrical information and on the other
hand a variant of this coder with gradual and simultaneous transmission of a part of geometry.
2
Table des matières
1 Introduction 4
2 Présentation des travaux existants en compression de maillages 5
2.1 Représentation non compressée des maillages . . . . . . . . . . . . . . . . . . . . . .5
2.2 Principes généraux des méthodes de compression . . . . . . . . . . . . . . . . . . . .5
2.3 La compression de maillages sans perte . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 La compression monorésolution . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1.1 Algorithme de Deering . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.1.2 Algorithme de Touma et Gotsman . . . . . . . . . . . . . . . . . . . .7
2.3.1.3 Edgebreaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 La compression progressive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 La compression géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
2.3.2.2 Codeur géométrique . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.4 La compression de maillages avec pertes . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Les algorithmes de reconstruction 3D 13
3.1 La reconstruction par approximation . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 La reconstruction par interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.1 L'algorithme de « convection géométrique » . . . . . . . . . . . . . . . . . . .14
4 Notre contribution 17
4.1 Principe général de notre algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . .17
4.2 Description de l'algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2.1 Première approche : codage de la topologie par rapport à la géométrie . . . . . 17
4.2.1.1 Principes du codeur et du décodeur . . . . . . . . . . . . . . . . . . . 17
4.2.1.2 Codage des informations . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.2 Variante : codage graduel de la géométrie . . . . . . . . . . . . . . . . . . . . 21
4.2.2.1 Principes du codeur et du décodeur . . . . . . . . . . . . . . . . . . . 21
4.2.2.2 Principes de la prédiction utilisée . . . . . . . . . . . . . . . . . . . . 23
5 Implémentation 25
5.1 Présentation de la librairie CGAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.1.1 Représentation des objets géométriques dans CGAL . . . . . . . . . . . . . . 25
5.2 Nos choix d'implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2.1 Noyau et structures de données utilisés . . . . . . . . . . . . . . . . . . . . . .26
5.2.2 Ordre de traitement des facettes de la triangulation . . . . . . . . . . . . . . . 27
6 Résultats 28
7 Conclusion et perspectives 30
Bibliographie 31
Annexe 1 : modèles utilisés 33
3
1 Introduction
Depuis quelques années, les modèles géométriques tridimensionnels sont de plus en plus omniprésents. Ils
sont apparus avec le développement de l’infographie et de la vision tridimensionnelle, qui ont permis une
modélisation 3D d’objets ou de scènes complexes. Ces modèles peuvent être créés par des systèmes de modélisation
(logiciels de Conception Assistée par Ordinateur (CAO), ...) ou obtenus grâce à des procédés de numérisation
tridimensionnelle d’objets physiques (range scanners). Ils sont généralement représentés sous forme de maillages
surfaciques (surface linéaire par morceaux composée de polygones) ou volumiques (représentation de l’objet par un
ensemble de polyèdres). Ces modèles peuvent aussi être décrits par des nuages de points, des formes à pôles
(courbes de Bézier, NURBS, ...) ou des surfaces implicites.
Ce type de données géométriques est utilisé par une grande diversité d’applications regroupées ici par
domaines :
La conception d’objets industriels (CAO) ou familiers (CAM : Computer Aided Manufacturing)
La médecine (aide au diagnostic, chirurgie assistée par ordinateur ou à distance, …)
Les systèmes d’information géographiques (cartographie, géologie, astronomie, ...)
La simulation de phénomènes physiques (expériences virtuelles)
La réalité augmentée (mélange de scènes réelles et d’objets virtuels)
Les applications ludiques (jeux vidéo, cinéma, visites virtuelles, ...)
...
Les modèles géométriques peuvent nécessiter une numérisation de plus en plus fine et détaillée, afin de
satisfaire aux attentes de réalisme. Par exemple, la numérisation du David (statue de Michel Ange) a été réalisée à
l'aide de 2 milliards de points [25]. La représentation non compressée d'un tel modèle nécessite alors plusieurs Giga
octets. Actuellement les machines et les réseaux sont de plus en plus performants et permettent de stocker ou
d'échanger un nombre de données de plus en plus important. Malgré ceci, toute amélioration des méthodes de
compression existantes est souhaitable, car on assiste également à une vulgarisation de la numérisation des données
et à une explosion prévisible de la production et de l'échange de ce type de données.
Deux approches sont envisageables pour la compression de données :
La compression sans perte qui propose une reconstruction exacte de l'information, et qui se révèle indispensable
pour certaines applications sensibles ne tolèrant pas de pertes (calculs par éléments finis, applications médicales,
...).
La compression avec perte on s'autorise des pertes contrôlées. Les taux de compression obtenus sont alors
beaucoup plus importants et on choisit généralement le débit désiré.
Il existe plusieurs méthodes de compression de données textuelles, qui se révèlent également utiles pour la
compression d'images, de sons ou de vidéos en utilisant le plus souvent une approche basée sur les principes du
traitement du signal. Certaines de ces approches ont été étendues pour le codage de surfaces, mais depuis une
dizaine d'années, on observe l'apparition de méthodes spécialement dédiées aux maillages.
Un autre domaine qui manipule les objets géométriques est la géométrie algorithmique. Cette discipline
s'intéresse à l'étude symbolique abstraite de ces objets et permet de résoudre un grand nombre de problèmes à l'aide
d'algorithmes efficaces et de structures de données appropriées. Un des grands thèmes abordé par la géométrie
algorithmique est la reconstruction 3D.
L'utilisation des algorithmes de reconstruction 3D pour la compression de la connectivité des maillages n'a
été que très faiblement exploitée, mais s'avère très intéressante. Ainsi, nous avons choisi d'étudier l'apport de la
reconstruction 3D pour le codage de la topologie de maillages surfaciques triangulaires. Nous avons, dans ce but,
mis au point une méthode de compression sans perte exploitant un algorithme de reconstruction basé sur la
déformation de surface.
Les chapitres 2 et 3 de ce mémoire, abordent respectivement les principes de la compression de maillages
et de la reconstruction 3D à travers la présentation de plusieurs travaux existants. Les travaux correspondant le plus
à notre méthode sont expliqués en détail. Le chapitre 4 est consacré à la description de notre algorithme et le
chapitre suivant détaille nos choix d'implémentation. Pour finir, nous présentons les résultats obtenus ainsi que les
perspectives envisageables.
4
2 Présentation des travaux existants en compression de maillages
Un maillage est une surface linéaire par morceaux qui approxime la surface continue du modèle original.
Une telle approximation est caractérisée par une information géométrique qui définit la position des sommets dans
l’espace euclidien et une information topologique qui décrit la relation d’adjacence entre les sommets traduisant la
manière dont ils sont connectés entre eux.
Les maillages surfaciques triangulaires sont les plus utilisés pour la représentation d’objets dans l'espace
tridimensionnels. Ils sont en passe de devenir la représentation standard pour la modélisation d’objets géométriques
grâce à leur simplicité et leur efficacité. Ils sont composés de k-simplexes qui peuvent être des sommets (0-
simplexe), des arêtes (segment reliant deux sommets : 1-simplexe) ou des triangles (2-simplexe). On parle alors de
surface simpliciale [8].
N’importe quelle forme géométrique peut être représentée par un maillage. Pour certains modèles, d’autres
informations (ou attributs) peuvent être associées aux points (normale, courbure, couleur, information de texture,
…) facilitant la modélisation, le rendu et la visualisation des objets.
Contrairement aux images non vectorielles, aux sons et aux vidéos, les maillages se caractérisent
généralement par un échantillonnage irrégulier. En effet, les points ne sont pas répartis sur une grille régulière et ils
n’ont pas forcément le me nombre de voisins (ce nombre est appelé valence ou degré d’un sommet). Les
techniques de compression de maillages doivent donc être adaptées à ces structures particulières.
2.1 Représentation non compressée des maillages
La représentation naïve d'un maillage triangulaire consiste à coder les informations géométriques et
topologiques respectivement par :
Une liste de points représentés par leurs coordonnées cartésiennes dans l’espace euclidien 3D. On code
généralement les coordonnées par des nombres flottants sur 32 bits.
Une liste de triangles, chacun représenté par les indices de ses sommets dans la liste précédente. Les indices sont
généralement codés sur 32 bits.
Il existe plusieurs formats ASCII utilisant cette représentation. Les plus connus sont le langage VRML
(Virtual Reality Modeling Language) et le format OFF.
Ce type de codage s'avère très redondant, vu que la valence d'un sommet est en moyenne égale à 6 dans un
maillage triangulaire (chaque sommet est en moyenne incident à 6 triangles distincts). Ainsi pour ces maillages,
l'indice d'un sommet apparaît en moyenne 6 fois dans la liste des polytopes.
Plusieurs méthodes de compression, dont certaines sont présentées par la suite, permettent de réduire cette
redondance.
2.2 Principes généraux des méthodes de compression
Le principe général de toute approche de compression peut être représenté par le schéma ci-dessous [4] :
FIG. 1 - Schéma général de la compression. Toute approche de compression utilise les deux étapes
indiquées dans ce schéma afin d'obtenir la séquence binaire la plus compacte possible
Les méthodes de compression exploitent le contexte des données à représenter pour réorganiser
l'information de manière pertinente et optimale, afin de réduire le nombre de bits nécessaires à sa représentation.
Une fois l'information réorganisée en une séquence de symboles, un codage entropique est utilisé afin
d'obtenir la séquence de bits la plus compacte possible. Un tel codeur doit satisfaire à priori les conditions
5
1 / 34 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !