transmission progressive d’images 3d `a partir du calcul de l ...chapitre 1 introduction 1.1...

25
Transmission progressive d’images 3D `a partir du calcul de l’axe m´ edian Laurent JOSPIN ´ Ecole Normale Sup´ erieure de Lyon Stage de Master d’informatique (M2)

Upload: others

Post on 07-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Transmission progressive d’images 3D

a partir du calcul de l’axe median

Laurent JOSPIN

Ecole Normale Superieure de LyonStage de Master d’informatique (M2)

Page 2: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

2

Page 3: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Table des matieres

1 Introduction 5

1.1 Deroulement du stage . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Objectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Geometrie discrete et definitions 7

2.1 6, 18 et 26-voisinages en 3D . . . . . . . . . . . . . . . . . . . . . 72.2 Droite discrete . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Droite discrete 2D . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Droite discrete 3D . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Plan discret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Transformee en distance . . . . . . . . . . . . . . . . . . . . . . . 92.5 Axe median de forme . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Enveloppe convexe de boules 11

3.1 Propriete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Tronc de cone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.2.1 Tronc de cone euclidien . . . . . . . . . . . . . . . . . . . 113.2.2 Pseudo-tronc de cone . . . . . . . . . . . . . . . . . . . . 12

3.3 Triangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Tetraedre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.5 Generalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Reconnaissance et Ordonnancement des primitives 17

4.1 Reconnaissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.1 Simplification de l’axe median . . . . . . . . . . . . . . . . 174.1.2 Choix d’un ensemble de boules . . . . . . . . . . . . . . . 18

4.2 Ordonnancement . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.3 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Resultats et conclusion 21

5.1 Comparaison des differentes strategies . . . . . . . . . . . . . . . 215.2 Apport des differentes primitives . . . . . . . . . . . . . . . . . . 225.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3

Page 4: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

4 TABLE DES MATIERES

Page 5: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Chapitre 1

Introduction

1.1 Deroulement du stage

Le stage s’est deroule au laboratoire LIRIS sous la direction de David Coeur-jolly et de Florent Dupont. Le stage a commence par une etude des travauxrealises sur le sujet, en particulier les travaux [11, 14, 8] m’ont fourni unepresentation de l’etat de l’art. L’etape suivante a ete d’elaborer le pipelinenecessaire au traitement des donnees et de cibler les differents objectifs du stagedans ce pipeline. Ensuite, il a fallu etablir un squelette pour l’application afin depouvoir implementer les fonctionnalites au fur et a mesure. Le reste du tempsfut consacre d’abord a l’implementation de l’ensemble des fonctionnalites, puisa la mise en place, a l’implementation et l’evaluation de diverses strategies.

Durant ce stage, j’ai aussi participe a la redaction de l’article Optimizationschemes for the reversible discrete volume polyhedization using Marching Cubessimplification [5] qui a ete accepte pour presentation orale lors de la conferenceDGCI 2006. Cet article correspond au travail que j’ai realise en stage de MIM1,en geometrie discrete durant l’ete 2004.

1.2 Objectif

Les avancees recentes en imagerie 3D, aussi bien dans les outils d’acquisition,que dans les cartes graphiques, les modeleurs etc. permettent de gerer des images3D de plus en plus grandes. Avec l’expansion d’internet qui se poursuit, les objets3D font de plus en plus partie integrante des bases de donnees distribuees lieesaux services multimedias. Cependant, la diffusion de contenu 3D a l’echelle duWeb pose encore des difficultes, notamment liees aux capacites des reseaux etdes postes terminaux. L’objectif de ce stage est d’etudier et de developper unemethode de compression et de transmission progressive pour des objets 3D.

Generalement, les maillages polygonaux sont utilises pour la visualisationd’objets 3D. De nombreuses methodes ont ainsi ete proposees pour la compres-sion de maillage de surfaces 3D. Ce travail s’oriente sur une autre voie fondeesur la representation par squelettes. Un type de squelette peut-etre le calculde l’axe median, fonction reversible. L’axe median consiste en un ensemble deboules couvrantes de la forme. Ce squelette peut ainsi etre transmis via un ca-nal de communication pour etre reconstruit ensuite. Des premiers travaux ont

5

Page 6: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

6 CHAPITRE 1. INTRODUCTION

montre la possiblite de transmettre progressivement l’axe median pour affinerprogressivement l’objet transmis. Les primitives utilisees dans ces travaux sontdes boules, representees par un centre et un rayon, et des troncs de cones, unionsconvexes de 2 boules.

Les objectifs etaient– de generaliser l’utilisation de boules et de troncs de cones avec des enve-

loppes convexes de n boules ;– d’ameliorer les performances en termes de taux de compression ;– de mettre en place un critere de qualite pour evaluer les objets reconstruits

a chaque instant.

1.3 Etat de l’art

Beaucoup de travaux se sont interesses a l’axe median de forme et a ses appli-cations. Ainsi les travaux [10, 13] utilisent l’axe median pour la caracterisationde forme ou d’objet. Dans [2] et [12], Borgefors et Nystrom, et Nilsson et Da-nielsson utilisent l’axe median pour obtenir une representation efficace de forme.Ici nous souhaitons utiliser l’axe median pour compresser et transmettre pro-gressivement des objets.

Dans [15], Thiel utilise des algorithmes de reconnaissance de droite discreteen 2D pour former des primitives similaires aux troncs de cones, la reconstruc-tion est cependant inexacte.

L’article [8] introduit l’utilisation de boule et de tronc de cone pour unecompression et une transmission d’objets 3D. Il propose un schema de codageet de transmission et montre des resultats encourageants qui ont motive cetravail.

Plusieurs travaux se sont tournes sur l’optimisation de la reconnaissance detronc de cone utilisant la mesure de chanfrein. En effet, effectuee naıvement,cette reconnaissance est tres couteuse. Dans [14], Tandabany propose un algo-rithme recursif permettant de determiner si un tronc de cone est inclus dansune forme.

Dans ce travail, on utilise la distance euclidienne, on etend les primitivesboules et troncs de cones et on propose plusieurs strategies de transmission.

Page 7: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Chapitre 2

Geometrie discrete et

definitions

La geometrie discrete repose sur les espaces discrets. On appelle espace dis-cret un pavage regulier du plan ou de l’espace. On appelle alors points discretsles centres de gravite des cellules du pavage considere.

Dans ce travail, comme dans la plupart des travaux de geometrie discrete,on utilise l’espace pave par des cubes unitaires. Les points discrets sont alorsdes points de Z

n. On ne considera ici que les dimensions n = 2 et n = 3.

2.1 6, 18 et 26-voisinages en 3D

On peut considerer 3 types de voisinages en geometrie discrete a 3 dimen-sions.

Fig. 2.1 – 6, 18 et 26-voisinages

De ces notions de voisinage decoulent les notions de 6, 18 et 26-connexite

7

Page 8: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

8 CHAPITRE 2. GEOMETRIE DISCRETE ET DEFINITIONS

2.2 Droite discrete

2.2.1 Droite discrete 2D

Une droite discrete 2D est l’ensemble des points discrets contenus entre 2droites euclidiennes. Une droite discrete est definie par une double inequation :

0 ≤ ax + by + c < e avec a, b, c et e ∈ Z

La droite discrete associee a cette inequation est

{M(x, y) ∈ Z2 | 0 ≤ ax + by + c < e}

e est appele epaisseur de la droite. Si e = emin = max({|a|, |b|}) alors, la droiteest appelee droite naıve, emin est l’epaisseur minimale de la droite telle quel’ensemble de ses pixels soit connexe.

2.2.2 Droite discrete 3D

Une droite discrete 3D peut se definir de plusieurs manieres. Dans ce travail,nous avons utilise la definition et l’algorithme de Debled-Renneson pour le tracede droite 3D :

Droite discrete 3D : La droite discrete 3D, notee D3D(a, b, c, d, d′, e, e′), dontle vecteur directeur V (a, b, c) est dans le premier 48eme d’espace, est definiecomme etant l’ensemble des voxels (x, y, z), de Z

3 verifiant les inequationsdiophantiennes suivantes :

{

0 ≤ cx − az + d < e

0 ≤ bx − ay + d′ < e′

De cette definition, on remarque que la droite D3D se projette sur le planOxz en une droite 2D de parametres (c, a, d, e) et sur le plan Oxy en une droite2D de parametres (b, a, d′, e′).

Dans le premier 48eme d’espace, si e = e′ = emin = a, alors la droite estappelee droite naıve. Chaque voxel d’une telle droite a exactement deux 26-voisins.

2.3 Plan discret

Un plan discret est l’ensemble des points discrets contenus entre deux planseuclidiens. Un plan discret est defini par une double inequation :

0 ≤ ax + by + cz + d < e avec a, b, c, d et e ∈ Z

(a, b, c) est la normale a ce plan. Le plan discret associe a cette inequation est

{M(x, y, z) ∈ Z3 | 0 ≤ ax + by + cz + d < e}

e est appele epaisseur du plan. Si e = emin = max({|a|, |b|, |c|}) alors, le plan estappele plan naıf, emin est l’epaisseur minimale du plan telle qu’il n’y ait pas detrou dans le plan discret, chaque voxel du plan discret ayant alors exactementhuit 26-voisins. Par la suite, on ne considerera que les plans discrets naıfs, qu’onappelera alors plans discrets.

Page 9: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

2.4. TRANSFORMEE EN DISTANCE 9

2.4 Transformee en distance

La transformee en distance d’une image composee de deux regions complementaires,l’objet et le fond, transforme une image binaire en une image en niveaux de grisdont le niveau de gris d’un voxel de l’objet correspond a la distance au voxel dufond le plus proche.

De cette definition decoule une propriete immediate de la transformee endistance : le niveau de gris en chaque voxel de l’objet est egal au rayon maximald’une boule centree sur ce voxel et entierement incluse dans l’objet.

La transformee en distance peut-etre calculee avec plusieurs distances. Ainsibeaucoup de travaux utilisent la mesure de Chanfrein [15], une approximationde la distance euclidienne qui permet de simplifier le calculer de la transformeeen distance. Alors que les precedents travaux [8] sur le sujet consideraient desmetriques de Chanfrein, dans ce travail, nous utiliserons la distance euclidienne.

La transformee en distance euclidienne peut-etre calculee en temps linerairede la taille de l’image [6]. Elle s’effectue par un parcours en avant, et un parcoursen arriere suivant chacune des dimensions. La transformee en distance inverse,qui permet a partir d’une carte de distance de reconstuire l’objet, s’effectueaussi en temps lineaire.

(a) objet

1 4 1 4

1 4 9 16 25 36 49 64

1 4 9 16 25 36 49

1 4 9 16 1

64

4 9

1 1

(b) scan horizontal vers la droite

1

1 4 9 16

1 4 9 16

1 4 1 4

1 1

1 1

14916

14916

114

1

(c) scan horizontal vers la gauche

1

1 1 1 1

1 4 4

1 1 4

1 1

1 1

11

1

11

1

2 2

4 4 5

2 5

4

(d) scan vertical vers le bas

1

1 1 1 1

1 4

1 1

1 1

1 1

11

1

11

1

2 2

4

1 2

2 1 1 2

2

(e) scan vertical vers le haut

Fig. 2.2 – Les 4 scans d’une transformee en distance euclidienne en 2D

Page 10: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

10 CHAPITRE 2. GEOMETRIE DISCRETE ET DEFINITIONS

2.5 Axe median de forme

L’axe median se definit a partir de la notion de boule maximale. Une boule,definie par son centre et son rayon, est dite maximale, si elle est entierementcontenue dans la forme et qu’il n’existe aucune autre boule de la forme qui lacontienne.

L’axe median d’une forme est l’ensemble des centres des boules maximalesde la forme.

La transformee en distance permet d’obtenir en chaque point le rayon dela boule centree en ce point susceptible d’etre maximale. Ainsi, si on regardela transformee en distance comme une surface ou la hauteur en chaque pointest donnee par la valeur de la transformee en distance, l’axe median consiste enl’ensemble des cretes de la surface : les maxima locaux.

(a) objet

1

1 1 1 1

1 4

1 1

1 1

1 1

11

1

11

1

2 2

4

1 2

2 1 1 2

2

(b) transformee en distance

1

1 1 1 1

1 4

1 1

1 1

1 1

11

1

11

1

2 2

4

1 2

2 1 1 2

2

(c) centres des boules maximales

(d) axe median de Al

Fig. 2.3 – Axe median

Page 11: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Chapitre 3

Enveloppe convexe de

boules

Avec le calcul de l’axe median, on dispose d’un squelette, et d’une premieretechnique de transmission progressive. En effet en envoyant les boules progres-sivement dans un certain ordre, on obtient un affinement progressif de l’objet.Aussi, cette representation par axe median peut permettre de reduire la tailledu codage.

Cependant l’utilisation de simples boules est un peu limitee et peut danscertains cas conduire a un codage plus couteux. Il est donc necessaire d’etendrenos primitives. L’analyse d’axe median sur des cas simples ou l’utilisation deboule uniquement est plus couteuse, par exemple un plan d’epaisseur 1, nousconduit a l’introduction de nouvelles primitives : les unions convexes de boules.Dans [8], la notion de tronc de cone, union convexe de 2 boules, est introduite.Dans cette partie, on definira nos troncs de cones et on etendra a l’union de 3et 4 boules.

3.1 Propriete

Pour verifier l’appartenance d’un objet a une forme, il suffit de verifier qu’entout point de l’axe median de l’objet, la valeur est inferieure a la transformeeen distance de la forme.

3.2 Tronc de cone

3.2.1 Tronc de cone euclidien

En utilisant la propriete precedemment enoncee, on remarque qu’il suffit deverifier que l’axe du tronc de cone est entierement inclus dans la transformee endistance de la forme. Cependant, alors que l’axe du tronc de cone euclidien estun axe reel, la transformee en distance est discrete.

Pour pouvoir utiliser cette propriete, il est possible d’exprimer une borneinferieure de la valeur de la transformee en distance en chaque point reel. Enutilisant cette methode, avec l’algorithme propose par Sattisvar [14], il est pos-sible de reduire recursivement les intervalles de verification (voir Figure 3.1).

11

Page 12: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

12 CHAPITRE 3. ENVELOPPE CONVEXE DE BOULES

Fig. 3.1 – Fenetre des valeurs possibles de l’EDT. Tire du rapport de stage deSattisvar Tandabany [14]

Cependant, le cas d’arret est difficilement exprimable. En effet, meme deuxspheres voisines sur la grille discrete peuvent ajouter des points discrets lors-qu’on considere la discretisation de leur tronc de cone reel. Pour cette raison,il est difficile de traiter efficacement des troncs de cones reels pour des objetsdiscrets.

3.2.2 Pseudo-tronc de cone

Il a donc ete necessaire de definir un autre type de tronc de cone. Ce troncde cone consiste en l’union des spheres, dont le rayon est interpole, situeessur le segment discret naıf reliant les deux spheres. Ainsi, il suffit de parcourirun segment de droite 3D, de calculer en chaque voxel de ce segment le rayoninterpole, et de verifier que ce rayon est inferieur a la transformee en distance.

Pour calculer le rayon interpole, on dispose de plusieurs possibilites. Unepremiere possibilite est de calculer le rayon minimal pour que deux boules voi-sines couvrent la section correspondante du tronc de cone euclidien. Si cettetechnique paraissait interessante a premiere vue, elle s’est revelee inutilisable enpratique : tous les troncs de cones etaient consideres comme invalides. En effet,en majorant de cette maniere, les boules situees juste avant les extremites dusegment etaient toujours superieures aux valeurs de la transformee en distance

Une autre possibilite est de calculer le rayon maximal pour qu’une boulesoit incluse dans le tronc de cone euclidien. En pratique cette methode donnede tres bons resultats. En effet, elle valide tous les troncs de cones dont le troncde cone euclidien associe est effectivement inclus dans la forme, et peu de troncsde cone dont le tronc de cone euclidien n’est pas completement inclus dans laforme. Pour cette raison, c’est cette methode qui a ete retenue.

La reconstruction s’effectue de la meme maniere que la reconnaissance : aulieu de tester la carte de transformee en distance, on inscrit les valeurs sur unecarte dont on calcule la transformee inverse en distance ensuite (voir Figure3.2).

Page 13: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

3.2. TRONC DE CONE 13

Fig. 3.2 – Axe du cone et transformee inverse

(a) Exemple valide (b) Exemple ou l’union de 3 boulesne forme pas un triangle

Fig. 3.3 – Exemple d’unions convexe de 3 boules

Page 14: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

14 CHAPITRE 3. ENVELOPPE CONVEXE DE BOULES

Fig. 3.4 – Triangle et transformee inverse

3.3 Triangle

Dans cette partie, on definit l’union convexe de 3 boules, on supposera queces 3 boules sont toujours telles qu’elles forment un triangle (voir Figure 3.3).

On utilise encore la propriete exprimee dans la section 3.1. L’axe median del’union convexe de 3 boules est le triangle forme par les centres des 3 boules.On definit donc nos unions de convexe de 3 boules comme l’union des boulesde centre situe sur le triangle discret associe, dont le rayon est interpole de lameme maniere que pour les cones.

Pour parcourir le triangle discret, on utilise l’algorithme suivant [3] :– recherche du plan fonctionnel Oxy, Oxz ou Oyz, le plan perpendiculaire

a la direction principale de la normale au triangle– on projette les trois sommets sur ce plan– on utilise l’algorithme de remplissage standard de polygone en 2D– on eleve le triangle 2D sur le plan du triangle 3DComme pour les troncs de cones, la reconstruction s’effectue de la meme

maniere que la reconnaissance (voir Figure 3.4).

3.4 Tetraedre

Dans cette partie, on definit l’union convexe de 4 boules, on supposeraque ces 4 boules sont toujours telles qu’elles forment un tetraedre. Commeprecedemment on utilise la propriete enoncee dans la section 3.1. L’axe mediande l’union de 4 boules consiste en 6 triangles qui partagent tous un sommet encommun, le centre de la sphere inscrite au tetraedre englobant les 4 spheres, etdont les 2 autres sommets sont des centres des 4 boules.

Ceci va nous permettre de reduire le parcours d’un volume au parcours de 6surfaces. On definit l’union de 4 boules comme l’union des 6 triangles enoncesprecedemment. La difficulte est d’exprimer la sphere inscrite, i.e. son centre etson rayon, au tetraedre englobant, sachant qu’on ne dispose pas des coordonneesdu tetraedre.

Pour determiner cette sphere, on va d’abord determiner les plans des facesdu tetraedre. Chacun de ces plans est un plan tangent a 3 spheres, ce que l’onpeut exprimer par la distance du plan aux centres des spheres est donnee etegale au rayon des spheres. Ces conditions lineaires permettent de determiner 2plans, on determine ensuite lequel de ces 2 plans est le plan exterieur. Lorsqu’on

Page 15: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

3.5. GENERALISATION 15

dispose des plans des faces, la sphere inscrite est la sphere dont le centre est aegale distance des 4 plans. Cette condition permet de determiner un systemelineaire de dimension 3 et on obtient ainsi le rayon et le centre de la sphereinscrite.

3.5 Generalisation

Si l’on considere uniquement des boules de rayons 1, les primitives boulesapportent les points, les primitives troncs de cone apportent les segments, lesprimitives triangles permettent de construire des surface (par triangulation),les tetraedres permettent de construire des volumes. Ainsi, l’apport engendrepar une generalisation a n boules semble minime comparee a ce que l’on peutattendre des primitives a 2, 3 ou 4 boules.

Toutefois, plusieurs pistes ont ete examinees pour une generalisation, maisles resultats presentes dans la section 5.2, ainsi que la combinatoire engendreepar des unions de n boules ont stoppe les efforts dans cette voie.

Page 16: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

16 CHAPITRE 3. ENVELOPPE CONVEXE DE BOULES

Page 17: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Chapitre 4

Reconnaissance et

Ordonnancement des

primitives

4.1 Reconnaissance

On suppose qu’on dispose de l’axe median de la forme. Cet axe mediansuffisant a reconstruire l’objet entier, c’est avec les centres de ses boules quel’on essaye de construire des primitives. Le nombre de points de l’axe medianaugmente rapidement avec la complexite et avec la taille de l’objet, ainsi il n’estpas envisageable de faire un test exhaustif sur toutes les primitives possibles.

Il faut donc reduire la combinatoire. Pour ceci, 2 idees ont ete retenues :

– Reduire le nombre de boules avec lesquelles on essaye de construire desprimitives

– Associer a chaque boule de l’axe median un ensemble de boules de taillefixe, avec lesquelles elle formera des primitives

4.1.1 Simplification de l’axe median

Comme indique precedemment, les primitives sont construites a partir desboules de l’axe median. On souhaite reduire l’ensemble des boules avec lesquelleson peut former des primitives, il s’agit donc de reduire l’axe median.

L’axe median est choisi comme base car il garantit qu’on dispose de suffi-samment d’informations pour reconstruire l’objet. L’idee est de supprimer lesboules qui sont incluses dans des primitives plus grosses. De ce point de vue, lesoperations sont imbriquees puisqu’il faut connaıtre les primitives pour pouvoirreduire l’axe median, et il faut reduire l’axe median pour pouvoir calculer lesprimitives.

Pour remedier a cela, on reduit la combinatoire des primitives pour la sim-plification et on ne considere que les troncs de cones. Ainsi, on va construirel’ensemble des troncs de cones possibles et, pour chaque tronc de cone on com-pare les valeurs de l’axe du tronc de cone a celles de l’axe median, lorsque les 2valeurs sont egales on supprime la boule correspondante. Cette methode permet

17

Page 18: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

18CHAPITRE 4. RECONNAISSANCE ET ORDONNANCEMENT DES PRIMITIVES

Fig. 4.1 – Simplification de l’axe median sur la dodge (50× 50× 50), les voxelsblancs represent les voxels supprimes de l’axe median

de reduire d’au moins 60% sur des exemples tels que la dodge (Figure 4.1), oule catenoıd presente ulterieurement dans le chapitre resultats 5.

Si cette methode reduit considerablement l’axe median, elle ne permet paspour autant de ramener le nombre de primitives a n’importe quel ordre de gran-deur. Elle constitue une unique reduction efficace mais n’est pas suffisante pourpouvoir utiliser un algorithme interessant sur la liste des primitives reconnues.

4.1.2 Choix d’un ensemble de boules

Cette methode consiste a associer a chaque boule de l’axe median un en-semble de boules susceptibles de former de “bonnes” primitives.

Considerons une boule de l’axe median a laquelle on veut associer un certainnombre de boules. On va attribuer un score a chacune des autres boules rela-tivement a la boule consideree, les boules disposant des meilleurs scores seront

Page 19: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

4.2. ORDONNANCEMENT 19

associees a la boule consideree. On va calculer le score en supposant qu’on traceun tronc de cones entre ces 2 boules, si le tronc de cone n’est pas reconnu, laboule est rejetee. On decide qu’une primitive est “bonne” si elle est proche desbords de l’objet. Plus elle en sera proche, plus on peut esperer que le renduintermediaire soit proche de l’objet initial.

On traduit ceci en augmentant le score si les valeurs de l’axe du tronc decones sont proches de la transformee en distance de la forme. On calcule lamoyenne des differences entre les valeurs de l’axe du tronc de cone et celles dela transformee en distance.

Aussi on souhaite favoriser les grandes primitives pour augmenter la quantitede voxel de l’objet par primitive. On traduit ceci en augmentant le score quandla distance augmente.

Score =

M∈axeDT (M) − axe(M)

d2

Pour cette etape, on construit une matrice des scores. On utilise ensuite cettematrice pour associer a chaque boule un certain nombre de boules.

Cette methode nous permet de reduire le nombre de primitives autant qu’onle souhaite. Cependant plus on reduit l’ensemble des boules associees a uneboule, plus le nombre de primitives possibles a 4, et 3 boules reduisent

En utilisant cette methode, en combinaison avec la methode precedente,on espere pouvoir disposer de meilleurs resultats. En effet, en combinant les2 methodes, on choisit mieux l’ensemble des boules en les prenant dans desdirections plus variees.

Ensemble choisi

Axe median

Boule consideree

Objet

(a) Avec DMA non-simplifie

Ensemble choisi

Boule consideree

Objet

Axe median

(b) Avec DMA simplifie

Fig. 4.2 – Choix d’un ensemble de 2 boules associees avec et sans simplificationde l’axe median

En combinant les 2 methodes, il serait cependant possible de perdre del’information, c’est pourquoi les boules de l’axe median supprimees pour laconstruction de primitives ne sont pas strictement supprimees mais ne peuventetre associees a aucune autre primitive.

4.2 Ordonnancement

Il s’agit de savoir quelles primitives, parmi les primitives reconnues, on vaenvoyer et dans quel ordre. L’ideal est de prendre la primitive qui ameliore lemieux le resultat a chaque instant. Pour formaliser cela, il faut d’abord unemesure de qualite du resultat. Dans ce travail, on utilise une distance similairea celle de Levenshtein pour les distances de 2 chaınes. On mesure la distanceentre 2 images par le nombre de voxel qu’il faut ajouter ou retirer a la premiereimage pour obtenir la seconde.

Page 20: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

20CHAPITRE 4. RECONNAISSANCE ET ORDONNANCEMENT DES PRIMITIVES

Pour chaque primitive, on va donc supposer qu’on ajoute cette primitive anotre objet partiellement reconstruit et mesurer l’apport par rapport au cout dela primitive. En effet une primitive de type boule est moins couteuse a envoyerqu’une primitive de type tetraedre. On retient quelle primitive est la meilleure,on l’ajoute a la liste d’envoi et on recommence avec le reste des primitives.Lorsqu’aucune primitive n’apporte quelque chose, c’est que l’objet est totale-ment reconstruit.

Cette etape est l’etape limitante du programme, on peut traiter de l’ordrede 10000 primitives en quelques minutes, sur un ordinateur personnel standard,lors de cette etape.

4.3 Algorithme

1. Calcul de la transformee en distance

2. Calcul de l’axe median

3. Reconnaissance :

(a) Simplification de l’axe median

(b) Calcul des scores

(c) Association des boules

(d) Construction de primitives

4. Ordonnancement :

(a) Calcul de l’apport de chaque primitive

(b) Suppression des primitives d’apport nul

(c) Recherche et ajout de la meilleure primitive

(d) Si l’objet n’est pas totalement reconstitue, retour en 4. (a)

Page 21: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Chapitre 5

Resultats et conclusion

5.1 Comparaison des differentes strategies

Dans cette partie, on compare les strategies proposees dans la section 4.1.Sauf indication contraire, pour chaque strategie on associe a chaque boule del’axe median un certain nombre de boules. On choisit le nombre d’associationstel qu’on ait environ 10000 primitives. Les differentes strategies testees sont lessuivantes :

1. Strategie sans modification

2. Lorsqu’on choisit les boules, on ne considere pas les boules qui sont surl’axe de la boule consideree et d’une boule precedemment associee.

3. Lorsqu’on choisit les boules, on ne considere pas les boules qui sont proches(distance minimale 2) de l’axe de la boule consideree et d’une bouleprecedemment associee.

4. On simplifie l’axe median avec la methode decrite dans la section 4.1. Lenombre d’associations est le meme que pour la premiere strategie. (2000-5000 primitives)

5. On simplifie l’axe median avec la methode decrite dans la section 4.1 Lenombre d’associations est tel qu’on ait environ 10000 primitives.

Les resultats montrent que la strategie utilisee influence peu le resultat, etqu’aucune des strategies n’etait strictement meilleure que les autres. La strategie5, utilisant les deux idees developpees dans la section 4.1, donne cependant desresultats souvent meilleures que les autres. Voir Table 5.1.

cateno8 32dodge Alapres 1kb # b total apres 1kb # b total apres 1kb # b total

1 83.93 % 5786 78.02 % 13608 77.78 % 161082 83.93 % 5786 79.37 % 13266 77.78 % 160283 83.83 % 5840 79.31 % 12734 77.82 % 160184 82.94 % 6244 78.44 % 15594 78.40 % 170265 85.90 % 5142 80.01 % 14144 78.37 % 16444

Tab. 5.1 – Pourcentage de l’objet reconstitue apres 1024 bites envoyes, et quan-tite de bits necessaire pour coder l’objet entier sur les 5 strategies

21

Page 22: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

22 CHAPITRE 5. RESULTATS ET CONCLUSION

cateno8 32dodge Alapres 1kb # b total apres 1kb # b total apres 1kb # b total

1 77.29 % 15096 73.54 % 27370 77.42 % 224062 80.84 % 8562 78.71 % 13830 78.27 % 163683 83.91 % 6118 78.02 % 13608 77.78 % 161084 85.90 % 5142 80.01 % 14144 78.37 % 16444

Tab. 5.2 – Pourcentage de l’objet reconstitue apres 1024 bites envoyes, et quan-tite de bits necessaire pour coder l’objet entier pour chaque type de primitiveajoute

Aussi dans cette section, on suppose que pour coder une primitive, il faut 2bits pour indiquer le type de la primitive (boule, tronc, triangle, ou tetraedre), etqu’il faut ensuite 4 octets pour coder chaque boule (x, y, z, rayon). Cependant,il serait possible d’ameliorer ce codage, en utilisant par exemple la redondancedes boules utilisees. Cette redondance est nettement plus elevee avec la strategie5, et il serait ainsi possible de reduire le nombre de bits totals en dessous desdes autres strategies.

5.2 Apport des differentes primitives

Dans cette partie, on compare l’apport de chacune des primitives. Sauf dansle cas d’utilisation unique de boules, on associe a chaque boule de l’axe medianun certain nombre de boules. On choisit le nombre d’associations tel qu’on aitenviron 10000 primitives.

1. Uniquement les boules

2. Boules, troncs de cone

3. Boules, troncs de cone, triangles

4. Boules, troncs de cone, triangles, tetraedres. Dans ce cas, on utilise lastrategie 5 presentee dans l’algorithme precedent

Les resultats montrent que, si l’utilisation de troncs de cone est une tresnette amelioration, l’apport des autres primitives, en particulier des tetraedres,est moindre. Voir Table 5.2.

Si on regarde le nombre de chaque sorte de primitives utilisees pour coderl’objet, le nombre de tetraedre est quasiment nul pour les strategies 1, 2 et 3 dela section recedente. Ceci est aussi du au fait que parmi les 10000 primitives,tres peu sont des tetraedres. En effet le nombre d’associations pour obtenirenviron 10000 primitives est faible, et par consequent la probabilite de formerun tetraedre valide est d’autant plus faible.

5.3 Conclusion

Durant ce stage, j’ai mis en place, programme et optimise l’ensemble dupipeline, calcul de l’axe median mis a part, necessaire a la construction, lareconnaissance, et l’ordonnancement des primitives pour une transmission pro-gressive.

Page 23: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

5.3. CONCLUSION 23

J’ai etendu les primitives utilisees aux unions convexes de 3 et 4 boules. Siles resultats sont plutot decevant quant a l’apport de ces nouvelles primitives,il serait interessant de les analyser a nouveau apres amelioration du codage desprimitives.

Les perspectives de ce travail sont les suivantes :– ameliorer le codage des primitives ;– utiliser d’autres mesures de qualite pour evaluer les reconstructions in-

termediaires ;– prendre en compte les autres primitives que les troncs de cones pour l’etape

de simplification ;– etendre les primitives a n boules si un nouveau codage des primitives le

justifie ;– utiliser d’autres types de primitives.

Page 24: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

24 CHAPITRE 5. RESULTATS ET CONCLUSION

Fig. 5.1 – Reconstitution de la dodge apres 1kb, 2kb, 5kb, 10kb, entierementreconstituee

Page 25: Transmission progressive d’images 3D `a partir du calcul de l ...Chapitre 1 Introduction 1.1 D´eroulement du stage Le stage s’est d´eroul´e au laboratoire LIRIS sous la direction

Bibliographie

[1] J. D. Boissonnat. Diagramme de voronoi, triangulations et surfaces. 2001.

[2] G. Borgefors and I. Nystrom. Efficient shape representation by minimizingthe set of centres of maximal discs / spheres. Pattern Recognition Letters,18, 1997.

[3] Valentin E. Brimkov and Reneta P. Barneva. Graceful planes and lines.Theorical computer science, 2002.

[4] D. Coeurjolly. Algorithmique et geometrie discrete pour la caracterisationdes courbes et des surfaces. PhD thesis, Universite Lumiere Lyon 2, Bron,Laboratoire ERIC, Decembre 2002.

[5] D. Coeurjolly, F. Dupont, L. Jospin, and I. Sivignon. Optimization schemesfor the reversible discrete volume polyhedrization using marching cubessimplification. pour la conference DGCI, 2006.

[6] D. Coeurjolly and A. Montanvert. Optimal separable algorithms to com-pute the reversible distance transformation and discrete medial axis in ar-bitrary dimension. Draft, 2005.

[7] I. Debled-Rennesson. Etude et reconnaissance des droites et plans disrets.PhD thesis, Universit Louis Pasteur, Decembre 1995.

[8] F. Dupont, B. Gilles, and A. Baskurt. Lossless and scalable 3d obbjectcoding method based on medial axis transformation. PCS’O3 (PictureCoding Symposium, 2003.

[9] B. Gilles. Transmission progressive de volumes grace a l’axe median. INSA,Septembre 2002.

[10] R. Kresch and D. Malah. Skeleton-based morphological coding of binaryimages. IEEE Trans. Image Processing, 7(10), Octobre 1998.

[11] C. Lacroix. Transmission progressive de volumes grace a l’axe median.Universite Lyon Claude Bernard, Septembre 2003.

[12] F. Nilsson and P-E. Danielsson. Finding the minimal set of maximum disksfor binary objects. Graphical Models and Image Processing, 59, Janvier1997.

[13] F. Reinders, M.E.D. Jacobson, and F.H. Post. Skeleton graph generationfor feature shape description. Proc. Data Visualization 2000.

[14] S. Tandabany. Axe median de forme - tronc de cone. ENS Lyon, Juillet2003.

[15] E. Thiel. Les distances de chanfrein en analyse d’images : fondementset applications. PhD thesis, Universite Joseph Fourier - Grenoble I, Aix-Marseille 2, Decembre 2001.

25