Diagrammes de Voronoi 2D et 3D, applications en analyse d'images
179
0
0
Texte intégral
(2) THESE presentee par. Etienne Bertin pour obtenir le titre de DOCTEUR DE L'UNIVERSITE Joseph FOURIER - GRENOBLE I (Arr^etes ministeriels du 5 Juillet 1984 et du 30 Mars 1992) \Specialite : Mathematiques Appliquees". DIAGRAMMES DE VORONOI 2D ET 3D : APPLICATIONS EN ANALYSE D'IMAGES Date de soutenance : 25 Janvier 1994 Composition du Jury : Pierre-Jean Laurent Bernard Chalmond Francis Schmitt Jean-Marc Chassery Andre Gagalowicz Bernard Lacolle. President Rapporteur Rapporteur Examinateur Examinateur Examinateur. These preparee au sein du Laboratoire TIMC - Institut IMAG.
(3) Autorisation de Soutenance Doctorat de l'Universite Joseph Fourier - GRENOBLE I Vu les dispositions de l'arr^ete du 5 Juillet 1984 et de l'arr^ete du 30 Mars 1992 :. Vu les rapports de : Mr. Bernard Chalmond Mr. Francis Schmitt Mr. Etienne Bertin est autorise a presenter une these en vue de l'obtention du Doctorat de l'Universite Joseph Fourier - Grenoble 1.. Fait a Grenoble, le Le President de l'Universite Joseph Fourier - Grenoble 1.. A. NEMOZ. ii.
(4) Remerciements Ce travail a ete e ectue au sein du laboratoire TIMC (Techniques de l'Imagerie, de la Modelisation et de la Cognition), de l'IMAG (Institut de Mathematiques Appliquees de Grenoble). Je remercie particulierement le professeur Pierre-Jean Laurent, qui a bien voulu presider le jury de cette these. J'adresse mes vifs remerciements aux professeurs Bernard Chalmond et Francis Schmitt qui ont pris la rude charge d'^etre les rapporteurs de ce memoire de these. J'exprime toute ma reconnaissance aux professeurs Andre Gagalowicz et Bernard Lacolle qui ont accepte de participer au jury de cette these. J'ai le plaisir de remercier Monsieur Jean-Marc Chassery, Directeur de recherche au CNRS, pour avoir pris le risque de me con
(5) er un sujet aussi passionnant. Ses directives, son entousiasme et sa sympathie ont ete des facteurs determinants pour le bon deroulement de cette these. Patrick Moreau m'a fait pro
(6) ter de son experience en geometrie algorithmique et c'est gr^ace aux nombreuses discussions que nous avons eues que j'ai assimile les techniques de programmation et ainsi pu mener a bien mon travail de recherche. Je tiens egalement a remercier tous les membres du laboratoire pour l'aide qu'ils m'ont toujours prodiguee. Je reserve toutefois une attention particuliere a Annick Montanvert, qui, de part son dynamisme, m'a donne les moyens de poursuivre mes recherches en Autriche, et a Raphael Marcelpoil qui m'a guide sur les chemins de la sociologie cellulaire ; qu'ils soient tous deux assures de ma profonde sympathie. En
(7) n, je remercie toutes les personnes qui ont contribue a la bonne realisation de ce memoire.. iii.
(8) iv.
(9) Resume L'objectif de cette these est de montrer comment la geometrie algorithmique en general, et les diagrammes de Vorono en particulier peuvent intervenir en analyse d'images, discipline qui est notre centre d'inter^et. Le propos de l'analyse d'images est la description du contenu d'une image, en vue de l'interpretation et de la prise de decision. La geometrie algorithmique consiste a trouver des algorithmes ecaces en vue de resoudre des problemes a caractere geometrique. Nous nous interesserons ici au probleme de representation des images par des partitionnements plus ou moins complexes, adaptes ou non au contenu informatif des images. Parmi les partitionnements, nous developperons plus particulierement celui en regions de Vorono. Nous aborderons ensuite le probleme du codage de formes tridimensionnelles par leur squelette qui est lie au graphe de Vorono. La segmentation des images est une partie importante de l'analyse des images. Nous en donnerons une nouvelle approche dans un contexte pyramidal, initialise par une partition en regions de Vorono et contr^ole par les reseaux de Hop
(10) eld. En
(11) n, une utilisation des champs de Markov pour determiner une partition optimale en un sens a de
(12) nir sera abordee.. v.
(13) vi.
(14) Notations et Conventions Notations DVP : :: : : : : : : DVG :: : : : : : :: Voxel : : : : :: : : : Pixel : :: : : : : : : S : :: : : : : :: : : : : V OR(S ) : : :: : : DEL(S ) : : : : :: CONV (S ) : : : : V orS (p) : : : :: : NS (p) : : : : : :: : PE (p) : :: : : : : : DELp (S ) : : : :: Ep(S ) : : : : :: : : B (p1; p2; p3; p4) Card(F ) : : : : : V ol(X ) : : : : :: : Surf (X ) : : : : : m(X ) : : : : : :: : (X ) : : :: : : : : : Bary(X ) : : :: : n(v) : : : : :: : : : : B (X; Y ) : :: : : : Sep(X; Y ) : : :: H (X; Y ) : : : : :: Sk (X ) : :: : : : : :. Diagramme de Vorono Ponctuel Diagramme de Vorono Generalise \Volume element" \Picture element" Ensemble
(15) ni de points (ou d'objets) Diagramme de Vorono Ponctuel de l'ensemble S Diagramme de Delaunay de l'ensemble S Enveloppe convexe des points de S Region de Vorono associee au site p dans S Ensemble des sites voisins de p dans DEL(S ) Polyedre etoile associe au site p Tetraedres de Delaunay ne contenant pas p Sommets de V OR(S ) supprimes en inserant le site p Sphere circonscrite aux germes p1, p2, p3, et p4 Cardinal d'un ensemble
(16) ni Nombre de voxels contenus dans X Surface de X (Polyedre ou polygone) Moyenne des voxels contenus dans X Ecart type des voxels contenus dans X Barycentre de X Niveau de gris d'un voxel Bissectrice de deux elements simples Separateur de deux ensembles Region des points plus proches de X que de Y Squelette d'une forme vii.
(17) Conventions Pour plus de clarte, quand nous renvoyons a une section sans mentionner le chapitre, elle se trouve dans le chapitre ; sinon, nous indiquons le chapitre. Nous appliquons la m^eme regle aux de
(18) nitions, theoremes, propositions. S'ils sont references dans la section ou ils sont de
(19) nis, nous ne mentionnons ni la section ni le chapitre ; s'ils sont references dans le chapitre ou ils sont de
(20) nis nous ne mentionnons pas le chapitre ; sinon nous mentionnons et le chapitre et la section.. viii.
(21) Table des matieres Remerciements. iii. Resume. v. Notations et Conventions. vii. 1 Introduction. 1.1 Introduction 1.2 Vorono... Pourquoi? 1.3 Applications des diagrammes de Vorono 1.3.1 Applications en geometrie algorithmique 1.3.2 Applications diverses 1.4 Plan. 1. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 2 DVP 3D. 9. 2.1 Introduction 2.2 De
(22) nitions et proprietes 2.3 Construction du DVP 3D 2.3.1 Methodes globales 2.3.2 Methodes incrementales 2.4 Methodes incrementales 2.4.1 Algorithme de Watson 2.4.2 Algorithme de Bowyer 2.5 Localisation d'un point dans l'espace 2.5.1 Localisation dans le graphe de Delaunay 2.5.2 Localisation dans le graphe de Vorono 2.5.3 Localisation dans un octree. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : :. ix. 2 3 4 4 5 6. 10 11 16 17 21 23 23 24 28 29 30 33.
(23) 2.6 Suppression 2.7 Complexite 2.7.1 Analyse du pire des cas 2.7.2 Analyse du cas uniforme 2.8 Conclusion. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 3 Partitionnements du plan et de l'espace. 3.1 Introduction 3.2 Partitionnements : generalites 3.2.1 Partitionnements non adaptatifs 3.2.2 Partitionnements adaptatifs 3.3 Partitionnement par le modele de Vorono 3.3.1 Algorithme \split and merge" 3.3.2 Etiquetage 3.3.3 Compression, extraction et mesures 3.3.4 Resultats sur des images 3D 3.4 Comparaisons des partitionnements 3.4.1 Partitionnement par le modele octree 3.4.2 Partitionnement par le modele de Delaunay 3.4.3 Comparaison des modeles de partitionnement 3.5 Conclusion. 43. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 4 DVG 3D. 4.1 Introduction 4.2 De
(24) nitions 4.3 Equations des bissectrices et des separateurs 4.3.1 Equations des bissectrices 4.3.2 Equations des separateurs 4.4 Approximation du DVG 3D par le DVP 3D 4.5 DVG 3D et squelette 3D 4.6 Annexes 4.6.1 Annexe A 4.6.2 Annexe B 4.6.3 Annexe C 4.7 Conclusions. 44 46 47 50 53 53 58 60 63 64 64 66 69 72. 75. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. x. 34 37 37 38 42. 76 78 84 85 91 92 96 100 100 101 101 102.
(25) 5 DVP et approche pyramidale. 5.1 Introduction 5.2 Pyramide 5.2.1 Structure 5.2.2 Pyramides irregulieres 5.3 Reseaux de Hop
(26) eld 5.3.1 Reseaux de Hop
(27) eld 5.3.2 Decimation par reseaux de Hop
(28) eld 5.4 Application en segmentation 5.5 Perspectives 5.5.1 Decimation adaptative 5.5.2 Cooperation region contour 5.6 Conclusion. 105. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 6 DVP et approche markovienne. 6.1 Introduction 6.2 Champs markoviens 6.3 Algorithmes d'optimisation 6.3.1 Recuit simule 6.3.2 ICM (Iterated Conditionned Mode) 6.4 Application a la segmentation de textures 6.4.1 Voisinage et ordre 6.4.2 Segmentation des textures 6.5 Application a une partition optimale 6.5.1 Position du probleme 6.5.2 Problemes theoriques 6.5.3 Solutions pratiques 6.6 Conclusion. 125. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 7 Conclusion. 7.1 Conclusion 7.2 Perspectives 7.3 Autres travaux. 106 108 108 111 113 113 115 117 121 121 123 123 126 127 132 132 134 136 136 137 139 139 140 141 143. 145. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. xi. 146 147 148.
(29) xii.
(30) Table des
(31) gures 1. Bulles de savon. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17. Cocircularite Polyedre de Vorono Tetraedre de Delaunay Diagramme de Vorono et triangulation de Delaunay. Polygone simple et structure de donnees 2D Fusion des deux diagrammes de Vorono Projection d'une enveloppe convexe Algorithme incremental Watson Structure de donnees de Bowyer Bowyer Localisation dans Delaunay Probleme de localisation Localisation dans Vorono Localisation dans un octree Graphe de Delaunay complet. 18 19 20 21 22 23 24 25. Sections d'un noyau cellulaire obtenues avec un CLSM Escher Partitionnement en 1024 carres Partitionnement en 4096 carres Partitionnement en polygones de Vorono Partitionnement en triangles de Delaunay Ajout de germes Ajout de germes : autre methode. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. xiii. 4 11 12 15 16 17 18 19 22 24 25 27 30 31 33 34 39 45 48 49 49 51 51 54 55.
(32) 26 27 28 29 30 31 32 33 34 35 36 37 38 39. Algorithme \split and merge" base sur le DVP 2D. Algorithme \split and merge" base sur le DVP 3D Bo^te englobante Morphologie mathematique Calcul de distances intra-chromosomales Noyau cellulaire Sections d'un chromosome obtenues avec un CLSM Chromosome Partitionnement en quadtrees Partitionnement en octrees Algorithme \split and merge" base sur le diagramme de Delaunay. Partitionnement en tetraedres Squelette et SKIZ Pseudo-invariance en rotation et translation. 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56. Bissectrices en 2D Segment ferme decompose en elements simples Polygone ferme decompose en elements simples Image d'un point sur un polygone DVG 2D base sur les elements DVG 2D base sur les objets Bissectrice de deux points Bissectrice entre un point et un segment Bissectrice entre un point et un carre Bissectrice entre deux segments Bissectrice entre un carre et un segment orthogonal Bissectrice entre un carre et un segment \parallele" Suppression des ar^etes inutiles Illustration du theoreme de convergence. Convergence de l'algorithme du calcul du DVG 3D Sommet degenere Squelette pour l'interieur d'un cube. : : : : : : : : : :. : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 57 Graphe d'adjacence 58 Champ recepteur. : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. xiv. 57 58 59 62 63 64 65 66 67 68 70 71 72 73 77 79 79 80 83 84 86 86 87 88 90 91 94 95 96 98 99 109 110.
(33) 59 60 61 62 63 64 65 66. Pyramide reguliere Stables Architecture d'un reseau de Hop
(34) eld Decimation Processus pyramidal Autre processus pyramidal Cooperation diagramme de Vorono-pyramides : image \femme" Cooperation diagramme de Vorono-pyramides : image \Lena". : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. 67 Cliques 68 Stabilite topologique du graphe de Delaunay. : : : : : : :. : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :. xv. : : : : : : : : : : : : : :. 110 112 114 118 120 121 122 122 130 142.
(35) Chapitre 1 Introduction. \La Fievre d'Urbicande" (Schuiten et Peeters). \Human intuition is often guided by visual perception. If one sees an underlying structure, the whole situation may be understood at a higher level.". F. Aurhennamer. 1.
(36) CHAPITRE 1. INTRODUCTION. 2 1.1. Introduction. Dans ce memoire de these nous allons montrer comment utiliser des outils issus de la la geometrie algorithmique et plus particulierement les diagrammes de Vorono en analyse d'images [41, 115]. Nous utiliserons donc les diagrammes de Vorono dans di erents problemes d'analyse d'images : . representation d'images en regions de Vorono,. . squelettisation d'objets polyedriques,. . segmentation d'images.. Nous donnerons aussi une ouverture sur le probeme du partitionnement optimal d'une image en regions de Vorono. La geometrie algorithmique [107, 49, 27] est une science encore jeune et generatrice de nombreux problemes faisant intervenir des entites geometriques : points, polyedres, spheres... Ces problemes sont souvent poses en termes simples et, pourtant, les solutions, quand elles existent, utilisent souvent des outils complexes issus des mathematiques. L'optimalite recherchee dans les solutions est souvent la source de la principale diculte. Mais ce souci d'ecacite est justi
(37) e par la grande taille des problemes traites. De nos jours les diagrammes de Vorono et de Delaunay [78, 5] forment une partie importante de la geometrie algorithmique. Le diagramme qui porte le nom de Vorono serait apparu pour la premiere fois dans des ecrits de Descartes en 1664 pour l'etude des planetes de notre systeme solaire. Mais ce n'est que bien plus tard, en 1850, sous l'impulsion de Dirichlet, puis en 1908, sous l'impulsion de Vorono que ce diagramme a trouve ses lettres de noblesse. Ce n'est qu'en 1934 que Delaunay introduit le diagramme qui porte son nom. Les diagrammes de Vorono et de Delaunay sont intimement lies puisqu'ils forment deux graphes duaux. Nous allons voir dans cette introduction pourquoi le diagramme de Vorono est un outil fondamental. Nous verrons ensuite les applications de ce diagramme a di erentes disciplines. Nous presenterons en
(38) n un plan detaille de ce memoire de these..
(39) 1.2.. 1.2. 3. VORONO I... POURQUOI ?. Vorono ... Pourquoi ?. La question naturelle que nous sommes en droit de nous poser avant d'aborder ce memoire est la suivante : d'ou vient l'inter^et porte aux diagrammes de Vorono? Un premier element de reponse peut ^etre donne en considerant la simplicite de la de
(40) nition du diagramme de Vorono donnee dans Preparata [107]. Soit , un ensemble de points dans l'espace. Pour chaque point de , quel est l'ensemble des points ( ) dans l'espace qui sont plus proches de que de n'importe quel autre point de ? La solution au probleme pose est de partitionner l'espace en regions de Vorono. Un deuxieme element de reponse est donne dans l'article de Aurenhammer [5] en quatre points : S. N. pi. x; y; z. S. pi. S. 1. Les regions de Vorono se retrouvent dans la nature : les cellules d'un tissu dans le plan forment approximativement une partition de Vorono [69], ainsi que les alveoles des abeilles, les bulles de savon [126] (Figure 1), les molecules chimiques [42, 92], ou encore les cristaux [56]. 2. Les regions de Vorono ont des proprietes mathematiques interessantes et surprenantes. C'est ce qui fait penser que les diagrammes de Vorono sont l'une des plus fondamentales constructions geometriques decouvertes pour un ensemble de points [5]. 3. Il existe des algorithmes ecaces pour construire les diagrammes de Vorono. De plus ces diagrammes sont tres puissants pour resoudre en temps optimal de nombreux problemes de geometrie algorithmique [107] : enveloppe convexe, problemes de proximite, arbre de poids minimum (minimum spaning tree), graphe de Gabriel... [107]. 4. La structure duale du diagramme de Vorono (le diagramme de Delaunay) admet elle aussi de tres bonnes proprietes geometriques et topologiques [107]. De plus le graphe de Delaunay est le graphe qui contient toutes les informations locales [135]. Toutes ces remarques nous ont amene a exploiter du mieux que nous pouvions les diagrammes de Vorono et de Delaunay..
(41) CHAPITRE 1. INTRODUCTION. 4. Fig.. 1 - Bulles de savon (tire de [126]). 1.3 Applications des diagrammes de Vorono 1.3.1 Applications en geometrie algorithmique De nombreuses recherches portent sur la construction des diagrammes de Vorono. Les deux classes d'algorithme les plus utilisees sont : . la classe \split and merge",. . la classe \incrementale".. Ces deux classes sont extr^emement interessantes puisqu'elles permettent de resoudre d'autres problemes de geometrie algorithmique comme, par exemple, la determination de l'enveloppe convexe d'un ensemble de points du plan ou de l'espace.
(42) 1.3. APPLICATIONS DES DIAGRAMMES DE VORONOI. 5. [107, 20, 50]. De plus le calcul des diagrammes de Vorono et de Delaunay permet de resoudre en temps optimal des problemes de geometrie algorithmique comme, par exemple : la recherche de tous les plus proches voisins, le calcul de l'enveloppe convexe, le graphe de Gabriel, le MST,... Les calculs de la complexite de la construction des diagrammes de Vorono et de Delaunay donnent lieu a de nombreuses recherches, notamment en analyse \randomisee" [46, 132, 24], ou en moyenne [48]. Les techniques de calcul font appel a la theorie des probabilites et sont assez elegants.. 1.3.2 Applications diverses Il est aussi a noter que les diagrammes de Vorono et de Delaunay sont tres utiles dans de nombreux domaines. Nous pouvons citer par exemple : 1. la sociologie cellulaire qui est l'etude structure-fonction des cellules au sein d'un tissu cellulaire [87, 86], 2. la reconstruction de surfaces a partir d'un modele numerique de terrain [111, 34, 6], 3. la compression des images a l'aide de la theorie des IFS (Iterated Function System) [44, 43, 37], 4. la percolation au sein du diagramme de Delaunay ou de Vorono [137], 5. la reconstruction d'un volume [22, 23, 26], 6. l'interpolation de donnees tridimensionnelles obtenues par stereo [25], 7. la representation et la segmentation des images 2D ou 3D [1, 113, 136, 106, 38, 40, 12, 110], 8. la squelettisation d'objets bidimensionnels ou tridimensionnels [83, 25, 121, 74, 31, 94, 4], 9. la classi
(43) cation vectorielle [79],.
(44) CHAPITRE 1. INTRODUCTION. 6. 10. la resolution des equations aux derivees partielles en utilisant la methode des elements
(45) nis sur des partitionnements en triangles ou en tetraedres ayant de \bonnes" proprietes [128, 82], 11. la morphologie mathematique [138, 84], 12. la physique et la chimie [42, 92, 56]. Cette liste est bien entendue non exhaustive, et nous ne doutons pas un instant que d'autres applications existantes ont echappe a notre attention. 1.4. Plan. Ce memoire de these sera articule de la maniere suivante. Dans le chapitre 2 nous rappellerons les notions essentielles a propos des diagrammes de Vorono et de Delaunay. Nous donnerons donc les de
(46) nitions et proprietes fondamentales qui nous seront utiles par la suite. Puis nous insisterons sur les algorithmes de construction : methode incrementale, \divide and conquer"... Nous detaillerons aussi les algorithmes de recherche des points les plus proches. Un algorithme original de suppression de points sera propose et en
(47) n des calculs de complexite concluront ce chapitre. Dans le chapitre 3 nous parlerons de partitionnements du plan et de l'espace par des elements geometriques. Nous distinguerons les partitionnements non adaptatifs (i.e. ne tenant pas compte des informations de niveaux de gris contenus dans les images) des partitionnements adaptatifs (i.e. tenant compte des informations de niveaux de gris contenus dans les images). Dans chacune de ces deux classes, nous distinguerons les partitionnements rigides (i.e. le nombre d'elements de base est limite) des partitionnements non rigides (i.e. le nombre d'elements de base est non limite). Nous etudierons plus particulierement les partitionnements en carres ou en cubes, en quadtrees ou en octrees, en triangles ou en tetraedres de Delaunay, et en
(48) n en polygones ou en polyedres de Vorono. Nous apporterons une etude detaillee comparative pour clore ce chapitre. Dans le chapitre 4 nous etudierons la generalisation des diagrammes de Vorono a des elements plus complexes que des points : segments, polygones de l'espace ou.
(49) 1.4. PLAN. 7. polyedres. Ce chapitre est interessant dans deux domaines : 1. en geometrie algorithmique, puisque nous donnons les equations des separateurs, et que nous proposons un algorithme de calcul pour approcher le DVG 3D par le DVP 3D, 2. en analyse d'images, puisqu'il existe une connexion entre les DVG 3D et les squelettes d'objets 3D. Ce chapitre sera largement illustre par des exemples. Dans le chapitre 5 nous donnerons une nouvelle approche pour segmenter des images dans un contexte pyramidal. L'originalite vient du fait que nous initialisons la base de la pyramide avec les regions de Vorono. Ceci permet de reduire le nombre de niveaux de la pyramide au cours du processus de segmentation, de diminuer les temps de calcul et de pouvoir traiter des images de grande taille. Une autre originalite provient du contr^ole du processus de decimation de la pyramide. Nous utilisons en e et l'approche nouvelle de Bischof [17], qui construit un stable a l'aide des reseaux de Hop
(50) eld. Notre methode sera validee par quelques exemples, mais nous insisterons sur les orientations futures a prendre pour poursuivre notre travail. Le chapitre 6 est une prospection sur les champs de Markov lies aux diagrammes de Vorono. Une premiere application est une generalisation du travail de Geman & all pour segmenter des images texturees [60]. Notre generalisation consiste a utiliser un partitionnement en regions de Vorono adapte aux images plut^ot que d'utiliser un partitionnement rigide en carres. Une deuxieme application consiste a generer un partitionnement en regions de Vorono optimal, en un sens que nous preciserons. Nous donnerons en
(51) n une conclusion generale a tous nos travaux..
(52) 8. CHAPITRE 1. INTRODUCTION.
(53) Chapitre 2 Diagramme de Vorono Ponctuel 3D. Ce chapitre est une presentation approfondie du diagramme de Vorono ponctuel 3D (DVP 3D), branche de la geometrie algorithmique. Nous insistons sur les de
(54) nitions formelles et les proprietes fondamentales du DVP 3D. Une large part est consacree aux algorithmes de construction, en particulier aux algorithmes incrementaux qui, par leur nature m^eme, sont intrinsequement dynamiques. Nous presentons aussi un algorithme de remise a jour par suppression de germes, algorithme qui nous sera utile par la suite. Des etudes de complexite theoriques sont detaillees, puisque l'ecacite des algorithmes de construction du DVP 3D en depend. Toutes les notions introduites dans ce chapitre seront constamment utilisees par la suite. Notre but est donc aussi de donner les bases necessaires a la comprehension des autres chapitres.. 9.
(55) CHAPITRE 2. DVP 3D. 10 2.1. Introduction. La geometrie algorithmique concerne l'etude algorithmique de problemes geometriques. Les deux ouvrages de base concernant la geometrie algorithmique sont ceux de Preparata&Shamos [107] et de Edelsbrunner [49]. L'etude des DVP 3D est une branche importante de la geometrie algorithmique [5, 78, 64]. Les raisons en sont la diversite et la richesse des algorithmes de construction des DVP : algorithmes de type \divide and conquer", algorithmes de type incremental... (section 2.3) et les liaisons avec d'autres problemes constituant une preocupation de la geometrie algorithmique, notamment la recherche de tous les plus proches voisins, le calcul de la triangulation de Delaunay, le calcul d'enveloppes convexes... La raison d'^etre de ce chapitre est de donner les notions de base des DVP, qui nous seront utiles tout au long de ce memoire de these. Nous apportons aussi une contribution sur les points suivants : . amelioration de l'algorithme de Bowyer (section 2.4),. . amelioration de l'algorithme d'incrementation quaternaire (section 2.5.3),. . amelioration de l'algorithme de suppression (section 2.6),. . calculs de complexite des algorithmes incrementaux (section 2.7).. Il est a noter que dans tout ce chapitre, sauf mention explicite du contraire, nous nous mettrons sous l'hypothese (H) suivante : Hypothese H. Soit. de l'espace :. S. un ensemble de n points appeles aussi sites ou germes S. =f. pi. 2 IR3 ; i = 1; : : : ; ng. Nous supposerons que cinq sites ne sont pas cospheriques, et que quatre sites ne sont pas coplanaires. Cette hypothese est classique en geometrie algorithmique, et evite des ambigutes topologiques au sein du graphe de Delaunay (De
(56) nition 2.3). Elle assure que le graphe de Delaunay existe et est unique..
(57) 11. ES 2.2. DEFINITIONS ET PROPRIET. En 2D, l'hypothese (H) suppose simplement que quatre sites ne sont pas cocirculaires. L'illustration 2 donne un exemple dans IR2 de 4 points cocirculaires : dans cet exemple on ne sait pas dire si les sites p et p sont voisins (de m^eme pour les sites p et p ). i. k. j. l. pj. pl. ? pk. pi. 2 - Exemple de quatre sites cocirculaires donnant une ambigute sur la topologie du graphe de Delaunay.. Fig.. Le plan de ce chapitre est le suivant. Dans un premier temps (section 2.2), nous donnons les de
(58) nitions et proprietes necessaires a la comprehension de notre expose. La section 2.3 est une presentation generale des algorithmes de construction du DVP 3D. La section 2.4 detaille plus speci
(59) quement les algorithmes incrementaux pour la construction du DVP 3D. La section 2.5 montre comment localiser un point dans l'espace, en fonction d'une structure de donnees. La section 2.6 presente un algorithme general pour supprimer un germe dans un DVP 3D. Des calculs de complexite seront faits dans la section 2.7. En
(60) n nous donnons une conclusion et une conjecture dans la section 2.8.. 2.2 De
(61) nitions et proprietes Dans cette section, nous allons exposer les quelques de
(62) nitions de base et les proprietes fondamentales attachees aux diagrammes de Vorono. Ce sont ces de
(63) nitions et proprietes qui rendent les DVP si interessants a etudier en geometrie.
(64) CHAPITRE 2. DVP 3D. 12. algorithmique, et dans notre cas a utiliser en analyse d'images. De
(65) nition 2.1 (Region de Vorono) Soit. un ensemble
(66) ni de points de IR3. Soit p un point de S . La region de Vorono V orS (p) associee a p est l'ensemble des points de IR3 plus proches de p que de tous les autres points de S :. ( ) = f 2 IR3 (. V orS p. x. S. ) (. ; d x; p. )8 2 , g. d x; q ;. q. S. p. ou d est la distance euclidienne.. Soit et deux points de . Si on note ( ) le plan mediateur de et de de
(67) ni dans la section 4.3.1 du chapitre 4, et ( ) le demi-espace limite par le plan ( ) et contenant le point , alors on a : p. q. S. p; q. p. q. H p; q. p; q. p. ( )=. V orS p. \. q2S ,p. (. H p; q. ). (1). Par consequent, chaque region de Vorono est polyedrale et convexe comme intersection de demi-espaces. On peut donc ecrire : Propriete 2.1 (Polyedre de Vorono) Toutes les regions de Vorono sont polye-. drales et convexes (Figure 3).. * p1 * p6. * p2. * p5. * p7. * p9. * p10 * pi * p8 * p4 * p3 * p11. 3 - Polyedre de Vorono associe au site i : les sites j , 2 f1 sites voisins de i (De
(68) nition 2.3). Fig.. p. p. p. j. ;:::;. 11g sont les.
(69) 13. ES 2.2. DEFINITIONS ET PROPRIET. On pourra desormais parler de polyedres de Vorono. De plus, la de
(70) nition 2.1 s'etend en dimension quelconque. Les polyedres de Vorono deviennent des polytopes de Vorono. A partir de la de
(71) nition 2.1, nous pouvons maintenant introduire la notion de diagramme de Vorono 3D pour un ensemble
(72) ni de points, ou diagramme de Vorono ponctuel 3D, que nous noterons DVP 3D. Il ne faudra pas confondre cette notion avec la notion plus generale de diagramme de Vorono pour un ensemble d'elements simples ou d'objets, ou diagramme de Vorono generalise 3D que nous noterons DVG 3D. Cette notion sera introduite dans le chapitre 4.. De
(73) nition 2.2 (Diagramme de Vorono Ponctuel) Le diagramme de Vorono. (ou partition de Vorono) d'un ensemble
(74) ni de points S est l'ensemble de tous les polyedres de Vorono de S :. ( )=. V OR S. [. p2S. (). V orS p :. A partir de la de
(75) nition 2.2, il est interessant de noter que le DVP 3D est une partition de l'espace. Cette notion sera tres importante dans le chapitre 3 ou nous nous interesserons aux partitions volumiques adaptees a des images tridimensionnelles. Le diagramme de Vorono induit une notion de voisinage a travers les faces des polyedres de Vorono. Cette notion est codee dans le graphe de Delaunay. Formellement, nous pouvons de
(76) nir le graphe de Delaunay comme suit :. De
(77) nition 2.3 (Graphe de Delaunay) Le graphe dual du diagramme de Vorono d'un ensemble
(78) ni S de points est le graphe de Delaunay. Deux points de S , p et q , creent une ar^ete dans le graphe de Delaunay (i.e. p et q sont voisins) si, et seulement si, V orS (p) et V orS (q ) sont adjacents dans le diagramme de Vorono :. ( )=h. DE L S. S; E. = f( ) 2 p; q. 2. ( )\. S ; V orS p. ( ) 6= ;gi. V orS q. :. La de
(79) nition 2.3 permet de donner la de
(80) nition du voisinage d'un point au sens de Delaunay. p. De
(81) nition 2.4 (Voisinage) Le voisinage au sens de Delaunay d'un point 2 p. est de
(82) ni par :. ( ) = f 2 tel que ( ) 2 g est l'ensemble des ar^etes du graphe de Delaunay. NS p. ou E. q. S. p; q. E. S.
(83) CHAPITRE 2. DVP 3D. 14. On peut noter que dans le voisinage (au sens de Delaunay) de nous n'integrons pas . Une propriete extr^emement interessante et importante du graphe de Delaunay, que nous exploiterons dans le chapitre 3, montre que ce graphe peut aussi ^etre considere comme une partition en tetraedres de l'enveloppe convexe de l'ensemble des points de (Figure 5). La propriete suivante precise cette notion : p. p. S. Propriete 2.2 (Diagramme de Delaunay) Sous l'hypothese (H), le graphe de. Delaunay de S peut ^etre aussi considere comme l'unique tetraedrisation de l'enveloppe convexe de S telle que l'interieur des spheres circonscrites aux tetraedres (p ; p ; p ; p ) 2 S 4 ne contiennent aucun point de S : i. j. k. l. ( ) = f(. DE L S. pi ; pj ; pk ; pl. )2. S. 4. tel que B (p ; p ; p i. j. k ; pl. ) \ ( , , , , ) = ;g S. pi. pj. pk. pl. :. Demonstration: Cette propriete est demontree dans [107]. On pourra donc de
(84) nir un tetraedre de Delaunay comme suit :. De
(85) nition 2.5 (Tetraedre de Delaunay) Un tetraedre = (. ) ou , , , et sont dans est un tetraedre de Delaunay si, et seulement si, l'interieur de la sphere circonscrite a ne contient aucun point de : T. pj. pk. pl. pi ; pj ; pk ; pl. pi. S. T. (. B pi ; pj ; pk ; pl. S. )\( , , , , )=;. Dans un tel cas, les ar^etes [p; q], Delaunay.. S. p; q. pi. pj. pk. 2(. pi ; pj ; pk ; pl. pl. ),. p. :. 6= , sont des ar^etes de q. Nous pourrons donc desormais parler de tetraedres de Delaunay (Figure 4). Comme pour les regions de Vorono, la de
(86) nition 2.5 s'etend en dimension quelconque. Les tetraedres de Delaunay deviennent des simplexes de Delaunay. La
(87) gure 5 est une illustration du diagramme de Vorono et de la triangulation de Delaunay pour un ensemble de points du plan. Introduisons maintenant d'autres proprietes qui seront importantes pour la suite.. Propriete 2.3 Sous l'hypothese (H), chaque sommet de Vorono provient de l'intersection d'exactement quatre polyedres de Vorono.. Propriete 2.4 Soit un sommet de Vorono de. ( ). Sous l'hypothese (H), il existe exactement 4 sites generateurs de et 4 sommets voisins. s. s. V OR S.
(88) 15. ES 2.2. DEFINITIONS ET PROPRIET Pj. *. *. *. B(Pi,Pj,Pk,Pl). * *. *. *. *. *. *. *. Pi *. Pk. * Pl. *. * *. *. *. *. *. Fig. S. .. 4 - Tetraedre de Delaunay : la sphere (. B pi ; pj ; pk ; pl. ) est vide de tout point de. Demonstration: est voisin de 4 sommets de Vorono car (propriete 2.3) est a s. s. l'intersection d'exactement quatre polyedres de Vorono. Les quatre sites generateurs de ces quatre polyedres sont les quatre sites creant (i.e les quatre sites de
(89) nissant le tetraedre dual de ). s. s. Cette propriete a permis a Bowyer [30] de trouver un codage astucieux de la structure du diagramme de Vorono comme nous le verrons dans la section 2.3.. Propriete 2.5 Soit un point de . Si est le point le plus proche (au sens de la distance euclidienne) de parmi les points de , , alors l'ar^ete [p,q] est une ar^ete p. S. q. p. S. p. de DEL(S).. Cette propriete est tres utile pour les algorithmes incrementaux comme nous le verrons dans la section 2.3. Une autre propriete interessante montre qu'il est facile de construire l'enveloppe convexe des points de , ( ), a partir de ( ). S. C ON V. S. V OR S. Propriete 2.6 Soit un point de . Le polyedre convexe p. S. et seulement si, p appartient a C ON V (S ).. C'est cette propriete qui permet de dire que edres de ( ). C ON V. S. ( ) est non borne si,. V orS p. ( ) est une partition en tetra-. DE L S.
(90) CHAPITRE 2. DVP 3D. 16. Fig.. 2.3. 5 - Diagramme de Vorono et triangulation de Delaunay.. Construction du DVP 3D. Dans la litterature on trouve de nombreuses methodes de construction du diagramme de Vorono dans le plan [62, 101, 127, 89, 61, 102]. Dans l'espace (3D) et en dimension d, les articles sont moins nombreux. Les methodes utilisees sont essentiellement de deux types : . methodes globales,. . methodes incrementales.. Les methodes seront dites globales si la connaissance de tous les points doit ^etre donnee avant de commencer la construction du diagramme de Vorono. Les methodes seront dites incrementales si cette connaissance prealable n'est pas necessaire. Contrairement aux methodes globales, les methodes incrementales sont.
(91) 2.3.. 17. CONSTRUCTION DU DVP 3D. intrinsequement dynamiques. Ces deux types de methode sont donc fondamentalement di erents et leur utilisation depend entierement des applications envisagees. Pour ce qui nous concerne, nous verrons dans le chapitre 3 qu'une gestion dynamique du diagramme de Vorono sera necessaire. C'est pourquoi nous mettrons l'accent dans cette section sur les algorithmes incrementaux. Avant de decrire plus en detail di erentes methodes de construction du DVP 3D, on peut noter que l'idee ma^tresse est le souci de s'a ranchir de toute notion d'ordre. En e et, l'algorithme de Green et Sibson propose dans [62] est intrinsequement 2D puisqu'il utilise fortement la possibilite d'ordonner les sommets d'un polygone sous la forme d'un polygone simple comme le montre la
(92) gure 6, ce qui ne peut pas se generaliser en dimension d, d 3. s1. s2. p suiv. Fig.. prec. 6 - Polygone simple et structure de donnees 2D. Extrait de [39].. 2.3.1 Methodes globales. Nous allons donner ici une liste (non exhaustive) des algorithmes globaux demandant la connaissance de tous les sites avant de calculer le diagramme de Vorono. \Divide and Conquer". La celebre methode \divide and conquer" initialement proposee par Preparata dans [107] est une methode globale. L'idee de base de cet algorithme est de diviser recursivement le probleme en deux sous-problemes de m^eme taille, puis de fusionner les sous-diagrammes de Vorono ainsi obtenus. Cet algorithme peut ^etre decrit dans ses grandes lignes comme suit (pour plus de details voir [107, 51]) : 1. Diviser recursivement le probleme en deux sous-problemes..
(93) CHAPITRE 2. DVP 3D. 18 2. Calculer les DVP des sous-problemes. 3. Fusionner les DVP ainsi obtenus (Figure 7).. σ. VOR(S 1 ). VOR(S 2 ). 7 - Fusion des deux diagrammes de Vorono V OR(S1 ) et V OR(S2 ) (ar^ete ), pour calculer V OR(S1 [ S2) dans l'algorithme \divide and conquer". Fig.. C'est dans cette etape de fusion que l'algorithme est le plus dicile a mettre en uvre. Il a ete montre que cet algorithme est optimal en 2D avec une complexite en O(n log n) [107]. Il est aussi optimal en 3D avec une complexite en O(n2 ) [51] (Voir aussi 2.7.1 Corollaire 2.2). L'algorithme \divide and conquer" a ete recemment implemente en 3D par Elbaz [51] a l'aide d'une notion de carte introduite par Spehner [125]. Il est a noter que l'optimalite de cet algorithme dans le pire des cas est associee a de grandes dicultes dans la mise en oeuvre informatique..
(94) 2.3.. CONSTRUCTION DU DVP 3D. 19. Projection d'une enveloppe convexe. Cette methode consiste a ramener la construction du DVP d'un ensemble S de points de IRd a la construction d'une enveloppe convexe dans un espace de dimension superieure (IRd+1). L'initiateur de cette methode est Brown [33]. Il utilise la projection stereographique d'une sphere sur le plan pour la construction du diagramme de Vorono en 2D. Dans [49], Edelsbrunner utilise la projection orthogonale d'un parabolode de revolution sur le plan pour la construction en 2D. Une implementation e ective en 3D a ete realisee par Buckey [35]. En dimension d, cette methode consiste a relever les points de S sur un hyperparabolode de revolution dans IRd+1. On calcule alors l'enveloppe convexe de ces points ainsi releves. On obtient donc un polytope de IRd+1 dont les hyperfaces sont des d-simplexes. On demontre que la projection orthogonale des d-simplexes du polytope constituant l'enveloppe convexe de IRd+1 donne les d-simplexes de Delaunay cherches dans IRd. La
(95) gure 8 illustre ce principe pour le calcul du diagramme de Delaunay dans le plan. Cet algorithme peut ^etre decrit dans ses grandes lignes et en 3D comme suit (pour plus de details voir [33, 35]) : 1. Relever les points de S sur un hyperparabolode de revolution dans IR4. 2. Calculer alors l'enveloppe convexe Cde ces points ainsi releves. 3. Projeter orthogonalement les faces du polytope C de IR4 (i.e. des tetraedres) dans IR3 (ces tetraedres ainsi projetes sont les tetraedres de Delaunay). Dans son article, Buckey [35] a choisi un algorithme de type \divide and conquer" pour le calcul de l'enveloppe convexe dans IR4, mais d'enormes dicultes apparaissent pour l'implementation e ective. A notre sens, les algorithmes utilisant la projection d'une enveloppe convexe en dimension superieure presentent un inter^et theorique puisqu'on arrive a relier le nombre de (d,k)-faces de Vorono aux k-faces d'un polytope en dimension superieure [49]..
(96) CHAPITRE 2. DVP 3D. 20 z. p’3. p’2. p’1. y p2 p. 1. x. Fig.. nay.. p3. 8 - Projection d'une enveloppe convexe pour calculer le diagramme de Delau-. Dans l'algorithme que nous venons de decrire, les 3-faces (tetraedres) du polytope de IR4 sont mises en relation avec les tetraedres de Delaunay, et donc, par dualite, avec les 0-faces (sommets) de Vorono. L'avantage est que les resultats sur la complexite des polytopes sont relativement nombreux, notamment en ce qui concerne le theoreme de la borne superieure (upper bound theorem) [91], liant le nombre maximum de k -faces d'un polytope a celui obtenu par un polytope cyclique. Ce theoreme permet d'obtenir le calcul de la complexite, dans le pire des cas, du nombre de k-faces d'un polytope de IRd, 0 k d. L'inter^et pratique ne nous semble pas evident, puisque la tendance serait plut^ot de ramener des problemes de geometrie de IRd dans un espace de dimension inferieure (IRd,1 par exemple) a
(97) n de reduire la taille du probleme [116].. Autres algorithmes On peut egalement citer l'algorithme 2D de Mauss [89], generalise en dimension quelconque et analyse en moyenne par Dwyer [48] (section 2.7.2). Cet algorithme a aussi ete parallelise sur une machine a quatre transputers par Moreau [100]. La.
(98) 2.3.. CONSTRUCTION DU DVP 3D. 21. possibilite de paralleliser qu'o re cette methode est sans doute son point fort. D'autres methodes moins connues et aussi moins recentes ont ete publiees. Le probleme de ces methodes est leur mauvaise complexite theorique (complexite O(n3 )). Cela s'explique car le caractere local de Vorono n'est pas susamment exploite dans leurs approches. Parmi ces algorithmes, on trouve l'algorithme de Tanemura & All [130], celui de Finney [53], et celui de Brostow [32]. Ces trois derniers algorithmes ont ete detailles dans [7]; nous ne les expliciterons donc pas ici. Methodes discretes. Des methodes derivees de la geometrie discrete peuvent ^etre utilisees pour calculer une approximation du diagramme de Vorono. Une illustration en a ete donnee dans [94]. Les distances discretes utilisees sont variables : la distance aux quatre plus proches voisins notee d4 (Cityblock), aux huit plus proches voisins notee d8 (Chessboard), toutes les distances du chanfrein (par exemple : chanfrein 3-4, chanfrein 5-7-11) [39, 133]. Une extension immediate de ces algorithmes en 3D est possible. En e et, les distances discretes en 3D ont ete etudiees par Borgefors dans [28]. Les problemes poses par l'utilisation des distances discretes en geometrie algorithmique sont multiples. Premierement, le resultat discret est une approximation du resultat continu obtenu par les methodes precedentes et les methodes incrementales (section 2.4). Il est donc necessaire d'avoir une bonne estimation de l'erreur ainsi faite au vu des applications envisagees. Deuxiemement, le diagramme de Vorono n'est pas structure dans un environnement de graphes (comme nous le verrons dans la structure de donnees que nous presentons dans la section 2.4.2), permettant le calcul rapide de parametres [11]. Et troisiemement, le calcul n'est pas dynamique. L'ajout d'un point necessite de nouveau le calcul de tout le diagramme de Vorono. Toutes ces remarques font que nous avons prefere utiliser les algorithmes incrementaux que nous presentons maintenant.. 2.3.2 Methodes incrementales Les algorithmes incrementaux peuvent ^etre resumes comme suit. Supposons que nous ayons construit le DVP de S . L'algorithme consiste a inserer un nouveau site.
(99) CHAPITRE 2. DVP 3D. 22. p dans V OR(S ) pour obtenir V OR(S [ p) : . Inserer un nouveau site dans V OR(S ) (Figure 9).. 9 - Construction du diagramme de Vorono par ajouts successifs de germes et modi
(100) cation locale du diagramme. Le germe noir correspond au dernier germe ajoute entre deux etapes successives de la construction du diagramme. Fig.. L'insertion d'un nouveau site modi
(101) e V OR(S ) de maniere a pouvoir creer la region de Vorono notee V orS[p(p) dans V OR(S [ p) : des polyedres de Vorono de V OR(S ) seront a modi
(102) er et, de maniere duale, des tetraedres de Delaunay seront a supprimer. Cette insertion se fait en 2 grandes etapes : 1. Chercher un premier tetraedre a modi
(103) er (Watson) ou un premier polyedre a modi
(104) er (Bowyer). 2. Mettre a jour V OR(S [ p). L'etape 1 est une etape qui n'est pas locale (section 2.5) alors que l'etape 2 est locale en general (proposition 2.7, section 2.7.2). L'etape 1 sera detaillee dans la section 2.5. Le calcul e ectif de la complexite des algorithmes incrementaux est reporte dans la section 2.7..
(105) 2.4. ME THODES INCRE MENTALES. 23. Notons que nous avons developpe un nouvel algorithme incremental en 1990 [7, 9]. Nous ne le detaillerons pas dans ce memoire de these puisque l'algorithme de Bowyer, avec les modi
(106) cations que nous y avons apportees, s'est avere plus performant. Nous developperons donc dans la section suivante les algorithmes de Watson [140] pour la construction de la partition de Delaunay, et de Bowyer [30] pour la construction de la partition de Vorono.. 2.4 Methodes incrementales 2.4.1 Algorithme de Watson L'algorithme de Watson concerne plus specialement la construction directe du diagramme de Delaunay (le diagramme de Vorono est retrouve avec une structure de donnees sous-jacente susamment riche). Cet algorithme a ete propose par Watson en 1981 [140]. Il a ete implemente en 3D par Field en 1986 [52]. Une amelioration lui a ete apportee par Schmitt et Borouchaki en 1990, notamment en ce qui concerne la structure de donnees [120]. On peut brievement decrire l'algorithme original de Watson de la maniere suivante. Supposons qu'on ait construit le diagramme de Delaunay pour n sites. On veut ajouter dans la structure un nouveau site pn+1 . L'algorithme de Watson procede alors comme suit en 3D (pour plus de details [140, 52, 120]) : 1. Chercher un tetraedre T de DEL(S ) dont la sphere circonscrite contient le nouveau site. 2. Chercher tous les tetraedres dont la sphere circonscrite contient le nouveau site. L'ensemble de ces tetraedres forme le polyedre etoile PE (pn+1 ) (De
(107) nition 2.6, section 2.6). 3. Retetraedriser le polyedre etoile. Dans l'etape 1, le tetraedre T existe bien (Propriete 2.5, 2.2), mais sa recherche n'est pas locale. Cette recherche peut se faire par un algorithme de descente en gradient que nous detaillons dans la section 2.5..
(108) CHAPITRE 2. DVP 3D. 24. P2. P2 P1. P1. P3. Q. P3. Q. P4. P4. P6. P6. P5. (a) ( 2 4 6) est le triangle contenant le site de depart (etape 1), ( 1 2 6), ( 2 3 4), ( 4 5 6) sont les autres triangles a supprimer. Par consequent les sites ( 1 2 3 4 5 6) forment ( ). P ;P ;P. P ;P ;P. P ;P ;P. P ;P ;P. P5. (b) On demontre que ( ) est etoile par rapport a et que pour calculer la nouvelle triangulation il sut de relier le site a tous les , 2 f1 6g. PE Q. Q. Q. Pi. i. ; : : :;. P ;P ;P ;P ;P ;P. PE Q. 10 - Insertion du nouveau site Q dans la structure de Delaunay par la methode de Watson. Fig.. L'etape 2 se fait par un parcours (local en general) dans la structure de donnees. Les tetraedres trouves ne sont plus des tetraedres de Delaunay (De
(109) nition 2.5, section 2.2). Ces tetraedres sont donc a supprimer et forment le polyedre etoile associe au nouveau site insere. Pour l'etape 3, on demontre que retetraedriser le polyedre etoile PE (pn+1 ) revient a supprimer toutes les ar^etes interieures a PE (pn+1 ), et a creer toutes les ar^etes liant le nouveau site a tous les sommets de PE (pn+1 ). La technique de demonstration de ce fait rejoint celle utilisee dans la proposition 2.5 de la section 2.6. La
(110) gure 10 est une illustation en 2D de l'etape 3 de l'algorithme de Watson. Nous n'avons pas implemente cet algorithme puisque nous nous interessons davantage au calcul du DVP et que des ameliorations ont deja ete realisees par Schmitt et Borouchaki [120] en 1990..
(111) 2.4. ME THODES INCRE MENTALES. 25. 2.4.2 Algorithme de Bowyer L'algorithme de Bowyer construit directement le diagramme de Vorono. L'originalite de cet algorithme reside dans la structure de donnees proposee. Structure de donnees. La structure de donnees de Bowyer est liee a la propriete 2.4 exposee dans la section 2.2, a savoir qu'un sommet de Vorono est associe a 4 sites generateurs et a 4 sommets voisins. En e et, l'information contenue dans cette propriete est codee dans la structure de donnees. Par consequent, a un sommet de Vorono s, on associe : . les 4 sommets de Vorono voisins de s,. . les 4 sites de Delaunay createurs de s.. L'inter^et immediat est que l'information a coder est bornee. La
(112) gure 11 est une illustration de cette structure de donnees. s3 p1. p2. s. p4 s2. s4. p3. s1. 11 - Structure de donnees de Bowyer. Le sommet de Vorono s a pour sommets voisins s1, s2, s3, et s4 et pour germes createurs p1, p2, p3, et p4 Fig.. De plus, pour pouvoir acceder au graphe de Vorono a partir des germes de Delaunay, nous avons associe a un germe p, un sommet s quelconque appartenant a V orS (p). Avec une telle structure de donnees on peut non seulement retrouver le graphe de Delaunay, mais aussi : 1. l'ensemble des sommets constituant un polyedre de Vorono, V orS (p),.
(113) CHAPITRE 2. DVP 3D. 26. 2. l'ensemble des sommets constituant une face quelconque de V orS (p), 3. les deux sommets constituant une ar^ete quelconque de V orS (p). Les algorithmes pour calculer ces ensembles exploitent tres fortement la structure de donnees. La connaissance de tous ces ensembles est indispensable pour une exploitation ecace du DVP 3D que nous presentons dans les chapitres qui suivent. Les faces obtenues dans le point 2 sont des polygones qui sont representes sous forme de polygones simples pour des raisons de visualisation.. Algorithme Cet algorithme incremental a ete propose et implemente par Bowyer en 1981 [30]. Nous lui avons apporte quelques modi
(114) cations en 1992 [9] notamment pour la recherche du premier sommet a supprimer (etape 1 des algorithmes incrementaux). En e et dans [30], pour e ectuer une telle recherche, Bowyer est oblige de maintenir, pour chaque site, la liste (a priori non bornee) de tous ses voisins au sens de Delaunay. Notre amelioration permet d'alleger la structure de donnees presentee par Bowyer en supprimant toutes ces listes (section 2.5.2). Ainsi, il nous a ete possible de calculer le DVP 3D pour un ensemble de 80000 sites, representant environ 560000 tetraedres, sur une Silicon Graphics Indigo. Les performances pratiques sont indiquees en
(115) n de section. L'algorithme de Bowyer peut ^etre decrit comme suit. On suppose qu'on insere un (n+1)ieme site pn+1 au DVP calcule sur n sites (V OR(S )). 1. Chercher un premier sommet de Vorono, s, a supprimer. 2. Chercher tous les autres sommets de Vorono a supprimer. Nous noterons l'ensemble de ces sommets : E (pn+1 ). 3. Creer tous les nouveaux sommets de Vorono et leurs relations de voisinage. Comme dans l'algorithme de Watson, dans l'etape 1, s existe bien (Propriete 2.5, section 2.2), mais sa recherche n'est pas locale. Les details sont donnes dans la section 2.5. Dans l'etape 2 la recherche de tous les sommets de Vorono a supprimer s'e ectue par un parcours (local en general) dans la structure de donnees. De tels sommets sont plus proches du nouveau site que des sites createurs de s..
(116) 2.4. ME THODES INCRE MENTALES. 27. S4. S3. S4. S3. P2. P1. P2. P1 S’3. S2. S’6. S2. S5. S’1. P3. S1. S5. P3. S1. S8 Q. P4. S8. Q. P4. S7. S7. P6. P6. S’10. S6. S’9. S6. S 10. S 10. S’11 P5. P5 S9. S9. (a) Le sommet de Vorono 8 est interieur au triangle contenant . Les autres sommets de Vorono a supprimer sont les sommets ( 2 5 6 7 ) S. Q. S ;S ;S ;S. :. (b) Le sommet 2 est a supprimer. Il est voisin de 1 , 3 , et 8 . On montre que les sommets a creer sont situes sur les ar^etes de Vorono f g, o u est a supprimer et est a conserver. Dans cet exemple, on cree donc un nouveau sommet 1 sur f 2 1 g. Ce sommet est le centre du cercle circonscrit au triangle ( 1 6 ). De m^eme, on cree un sommet ee pas de 3 sur f 2 3 g. En
(117) n, on ne cr sommet sur l'ar^ete f 2 8g, car les deux sommets sont a supprimer. S. S. S. S. Si ; Sj. Si. Sj. S. 0. S ;S. P ;P ;Q. S. 0. S ;S. S ;S. 12 - Insertion du nouveau site dans la structure de Vorono par la methode de Bowyer. Fig.. Q. L'etape 3 consiste a parcourir tous les sommets de ( +1 ). Soit un sommet de ( +1 ), 1, 2, 3, et 4, ses quatre sommets voisins et 1 , 2, 3 et 4 ses quatre germes createurs. Si , = 1 4, n'appartient pas a ( +1 ), on cree un nouveau sommet centre du nouveau tetraedre de
(118) ni par les trois germes , et creant l'ar^ete [ ] et par le germe insere +1 . Si , = 1 4 appartient a ( +1 ), alors on ne fait rien. Une illustration en 2D de l'etape 3 est donnee en
(119) gure 12. La di erence entre l'algorithme de Bowyer et l'algorithme de Watson reside dans le critere utilise pour savoir si un sommet de Vorono est a supprimer de ( ) ou non. Watson cherche si les simplexes de Delaunay sont a hypersphere vide et Bowyer E pn. E pn. s. s. s. s. si. i. p. ;:::;. p. p. p. E pn. s. si ; s. s. pi. pn. si. i. ;:::;. pj. pk. E pn. V OR S.
(120) CHAPITRE 2. DVP 3D. 28. cherche si les sommets de Vorono sont plus proches du nouveau site a inserer que de ses germes createurs. Les deux ensembles obtenus, E (pn+1 ) et PE (pn+1 ) sont duaux. On peut donc dire que l'algorithme de Watson qui construit le diagramme de Delaunay est equivalent a l'algorithme de Bowyer qui construit le diagramme de Vorono, en supposant que la structure de donnees est susamment riche. Resultats. Nous avons implemente l'algorithme de Bowyer en apportant la modi
(121) cation que nous avons deja mentionnee. Les temps CPU indiques ici ont ete obtenus sur une Silicon Graphics Indigo R 4000 (85 MIPS). La distribution des points est uniforme dans le carre unite en 2D, et dans le cube unite en 3D. L'etape 1 de l'algorithme de Bowyer est acceleree par une localisation de type octree, que nous detaillons dans la section 2.5. Ces temps sont reportes dans les deux tableaux suivants : Temps CPU obtenus sur une Silicon Graphics Indigo en 3D. Points 1000 5000 10000 40000 50000 60000 70000 80000 CPU < 1" 4" 10" 1'10" 1'30" 1'50" 2'10" 2'50" Temps CPU obtenus sur une Silicon Graphics Indigo en 2D. Points 10000 40000 50000 60000 70000 80000 CPU 2" 8" 10" 12" 14" 16" Points 100000 200000 300000 400000 500000 600000 CPU 20" 42" 1'10" 1'34" 2'9" 4' 2.5. Localisation d'un point dans l'espace. Dans les algorithmes incrementaux, nous avons vu que l'etape 2 est une etape globale dans la construction du diagramme de Vorono. Cette etape consiste a localiser un point dans l'espace. En e et le probleme peut ^etre pose en ces termes : etant donne V OR(S ) et un nouveau point pn+1 , trouver le polyedre V orS (q) contenant pn+1 , ou trouver le tetraedre T 2 DEL(S ) contenant pn+1 . L'objet de cette partie est de decrire cette etape de localisation liee a une structure de donnees. Plusieurs methodes peuvent ^etre utilisees : 1. localisation dans le graphe de Delaunay,.
(122) 2.5. LOCALISATION D'UN POINT DANS L'ESPACE. 29. 2. localisation dans le graphe de Vorono, 3. localisation dans un octree. Pour les deux premieres methodes, une descente en gradient dans le graphe de Delaunay (cas 1) ou de Vorono (cas 2) sera utilisee. Dans la troisieme methode, nous emploierons une gestion dynamique dans un octree. Les meilleurs resultats sont obtenus par la derniere methode qui a une complexite theorique plus faible. Le gain de temps obtenu s'e ectue aux depens d'une structure de donnees plus importante en memoire. 2.5.1. Localisation dans le graphe de Delaunay. Cette methode a ete proposee dans l'article de Green et Sibson [62]. Elle revient a chercher le point de le plus proche du point n+1 a inserer. L'algorithme est le suivant : p. S. p. 1. Initialisation : choisir un site quelconque de . p. 2. Si pour tout dans S ( ), ( et l'algorithme a converge. q. N. 3. Sinon prendre dans retourner en 2. q. p. S. +1 ) d(q; pn+1 ), alors p est le point cherche,. d p; pn. ( ) tel que (. NS p. +1 ). d p; pn. (. +1 ),. > d q; pn. poser = et p. q. La validite de cet algorithme repose sur les deux propositions suivantes :. Proposition 2.1 Soit un ensemble de points. Soit S. (. +1 ),. d q; pn. +1. pn. alors p est le point le plus proche de pn+1 .. 2 . Si 8 2 = S. q. ( ), (. NS p. Demonstration: En e et, la condition de cette proposition montre que partient a. ( ) (De
(123) nition 2.1, section 2.2).. d p; pn. +1. pn. ap-. V orS p. De plus, comme. +1. pn. se trouve dans. ( ),. V orS p. ( ) est a modi
(124) er.. V orS p. Proposition 2.2 L'algorithme converge en (p ) dans le cas ou la distribution O. 3. n. des points suit une loi de probabilite uniforme dans IR3 et en O(n) dans le pire des cas.. +1 ) .
(125) CHAPITRE 2. DVP 3D. 30. Demonstration:. n'a qu'un seul point le plus proche (en excluant les cas d'egalites). De plus, a chaque etape, ( n+1 ) decro^t et il n'y a qu'un nombre
(126) ni de germes dans . Dans le cas ou la distribution des points suit une loi de probabilite p uniforme dans IR3, l'algorithme converge en ( 3 ) en moyenne, ou est le cardinal de . En e et, la recherche du point le plus proche aura tendance a suivre la \ligne de plus grande pente", et donc a suivre des diagonales, la plus grande etant en p ( 3 ). Dans le pire des cas, la convergence s'e ectura en ( ). Par exemple, dans le cas ou tous les points sont alignes. +1. pn. d p. ;p. S. n. O. n. S. O. n. O n. Une illustration de l'algorithme est donnee en
(127) gure 13. P0. P Pn+1. 13 - Recherche a partir de proche de n+1 .. Fig.. 0. p. et dans le graphe de Delaunay du site le plus p. p. 2.5.2. Localisation dans le graphe de Vorono . Cette methode a ete proposee dans l'article de Schmitt et Borouchaki [120]. Elle consiste a rechercher un sommet a supprimer dans ( ) quand on insere un nouveau site n+1 . Comme l'a remarque Bowyer [30], le sommet le plus proche du nouveau point n'est pas forcement a supprimer ainsi que le montre l'exemple de la
(128) gure 14. V OR S. p.
(129) 2.5. LOCALISATION D'UN POINT DANS L'ESPACE. 31. pn+1. s. s. (b) Le sommet s n'est pas a supprimer bien qu'il soit le plus proche du germe pn+1.. (a) Diagramme de Vorono. Fig.. 14 - Probleme de localisation dans le diagramme de Vorono.. Si on utilise le m^eme principe que celui employe dans l'algorithme precedent, sur le graphe de Vorono, il peut donc y avoir un echec. Par consequent, Bowyer a ete oblige de maintenir une structure supplementaire de voisinage entre les points pour se ramener a l'algorithme precedent relatif au graphe de Delaunay. Pour eviter de garder cette structure en memoire, nous avons utilise l'algorithme de Schmitt et Borouchaki [120] relatif aux sommets de Vorono. Cet algorithme se presente de la maniere suivante (on suppose ici que le nouveau site +1 est insere dans ( )) : pn. C ON V. S. 1. Initialisation : choisir un sommet quelconque de Vorono dans. ( ).. s. V OR S. 2. Soit 1, 2, 3, et 4 les germes createurs de . Si pour tout ( ), 6= , 6 , et 6= , = 2 f1 2 3 4g h +1 i 0, ou est tel que l'ar^ete [ ] ait pour germes createurs , , et , alors est le sommet cherche, et l'algorithme converge. p. j. k. p. p. k. p. i. i; j; k. 0. ss. s. ;. ;. ~ 0 ; p p~ ss i n. ;. pi. pj. pi ; pj ; pk. s. s. 3. Sinon prendre dans les sommets voisins de tel que h = et retourner en 2. 0. s. s. s. 0. j. 0. <. pk. i. s. +1 i 0, poser. ~ 0 ; p p~ ss i n.
(130) CHAPITRE 2. DVP 3D. 32. La validite de cet algorithme repose sur les deux propositions suivantes :. Proposition 2.3 Soit un ensemble de points. Soit +1 2 , +1 2 ( ). Soit 2 ( ), et 1, 2, 3, et 4 les germes createurs de . Si pour tout ( ), = 6 , 6= , et =6 , 2 f1 2 3 4g h 0, ou +1 i S. s. V OR S. pi ; pj ; pk. i. pn. p. j. j. p. k. p. k. = S. pn. p. i. C ON V. S. s. i; j; k. ;. ;. ~ 0 ; p p~ ss i n. ;. 0. <. s. est un sommet de Vorono tel que l'ar^ete [ss ] ait pour germes createurs p , p , et p , alors s est un sommet a supprimer. 0. i. j. k. Demonstration: La condition de la proposition implique que +1 est interieur au tetraedre dual a , par consequent, +1 2 ( ). Donc, par de
(131) nition, n'est pas un tetraedre de Delaunay de ( [ +1 ) et le sommet est bien un sommet a pn. T. s. pn. DE L S. supprimer.. B T. T. pn. s. Proposition 2.4 L'algorithme converge en (p ) dans le cas ou la distribution O. 3. n. des points suit une loi de probabilite uniforme dans IR3 et en O(n2 ) dans le pire des cas.. Demonstration: Il existe un tetraedre unique contenant. parce qu'on insere +1 dans ( ) et que ( ) forme une partition en tetraedres de ( ). De plus, soit un sommet de Vorono, et un de ses quatre voisins tel que h i 0g +1 i 0. Cette relation de
(132) nit un demi-espace = fh avec la propriete +1 2 . Si on repasse par dans l'algorithme, alors on produit un cycle dans le graphe de Vorono, donc l'ensemble des demi-espaces obtenu couvre tout IR3, ce qui est en contradiction avec l'existence d'un tetraedre contenant +1 . Par consequent, on ne visite qu'une seule fois les sommets de Vorono, et, comme le nombre des sommets de Vorono est
(133) ni, l'algorithme converge. Dans le cas ou la distribution des points de suit une loi de probabilite unip forme dans IR3, l'algorithme converge en ( 3 ) en moyenne, ou est cardinal de (m^eme argument que dans la proposition 2.2). Dans le pire des cas, la convergence s'e ectuera en ( 2) (section 2.7, corollaire 2.1). pn. C ON V. C ON V. S. S. +1. pn. DE L S. 0. s. s. ~ 0 ; p p~ ss i n. ~ 0 ; p~x ss i. H. pn. = H. <. s. H. pn. S. O. n. n. S. O n. Une illustration de cette recherche dans le graphe de Vorono est donnee en
(134) gure 15..
(135) 2.5. LOCALISATION D'UN POINT DANS L'ESPACE. 33. s0. Pn+1 s. 15 - Recherche a partir de s0, dans le graphe de Vorono, du sommet s dont le triangle dual contient pn+1 . Fig.. 2.5.3. Localisation dans un octree. L'idee d'utiliser un octree vient de la methode d'incrementation quaternaire de Ohya, Iri et Murota [101] pour le cas 2D. Leur algorithme consiste a placer les points dans un quadtree, ce qui leur permet de trouver un ordre pour inserer ces points. Le probleme de cette methode est que la donnee initiale des points est necessaire, et qu'on perd donc le c^ote dynamique des algorithmes incrementaux. Nous proposons par consequent de construire l'octree dynamiquement. Ainsi, l'algorithme peut ^etre decrit comme suit dans ses grandes lignes : 1. Initialisation : inserer pn+1 dans l'octree, et trouver son site \pere", p. 2. Utiliser l'algorithme relatif au graphe de Delaunay en l'initialisant avec p, ou l'algorithme relatif au graphe de Vorono en l'initialisant avec un sommet quelconque de V orS (p). L'etape 1 est realisee en O(log8 n), en supposant que l'octree soit bien equilibre (i.e. la distribution des points de S suit une loi uniforme). L'etape 2 peut se faire.
(136) CHAPITRE 2. DVP 3D. 34. en O(1), si le site p est bien localise par l'octree. Ainsi la recherche du plus proche voisin se fait en O(log8 n).. Pn+1. P0. 16 - Apres insertion dans l'octree de pn+1 , recherche a partir de p0, dans le graphe de Delaunay, du site le plus proche de pn+1 . La localisation prealable par l'octree permet de rendre plus rapide la localisation dans le graphe de Delaunay. Fig.. Pour inserer pn+1 et lui attribuer son \pere" note p, deux cas se presentent : 1. L'insertion de pn+1 se fait sur une feuille vide de l'octree. Soit N le noeud pere de cette feuille. Par construction, N contient au moins un site dans son arborescence. Le pere de pn+1 est un de ces sites. 2. L'insertion de pn+1 se fait sur une feuille contenant un site p. On cree un nouveau noeud dans l'octree et le pere de pn+1 est p. Pratiquement, nous avons constate que la structure d'octree accelere sensiblement l'algorithme de Bowyer. Pour 70000 germes nous obtenons un gain d'une minute sur 3 minutes environ. Notre algorithme est illustre en
(137) gure 16. 2.6. Suppression. Comme il etait interessant de pouvoir inserer dynamiquement des points dans la structure du diagramme de Vorono a l'aide d'un algorithme incremental (section.
(138) 2.6.. 35. SUPPRESSION. 2.4), il nous semble avantageux de pouvoir egalement supprimer des points interactivement et ce en temps optimal. Supposons donc que nous ayons construit le DVP de . L'algorithme consiste a supprimer un site de ( ) pour obtenir ( , ): S. p. V OR S. Supprimer un site de. V OR S. p. ( ).. V OR S. L'etape 1 de localisation des algorithmes incrementaux (recherche globale) n'existe plus ici. La suppression peut donc se faire localement en general (Theoreme 2.1 de cette section). C'est la di erence fondamentale entre suppression et insertion. L'objet de cette section est de proposer un algorithme de suppression et de donner une analyse de sa complexite. Nous aurons besoin pour commencer de la notion de polyedre etoile. De
(139) nition 2.6 (polyedre etoile) Soit S un ensemble de points de IR3 et DE L(S ). la tetraedrisation de Delaunay des points de S . Soit p un point de S . Le polyedre etoile associe a p, P E (p), est compose des points voisins de p au sens de Delaunay. Sommets de PE(p) = NS (p) Les faces de P E (p) sont triangulaires et sont de
(140) nies comme suit : Faces de PE(p) = f(pi ; pj ; pk ) 2 (S , p)3 tel que (pi ; pj ; pk ; p) 2 DE L(S )g. Le polyedre ( ) est bien etoile par de
(141) nition m^eme de la tetraedrisation de Delaunay. Il est a noter que ce polyedre n'est pas forcement convexe. L'algorithme de suppression d'un point peut alors ^etre resume comme suit : PE p. p. 1. Rechercher le polyedre etoile. ( ).. PE p. 2. Retetraedriser l'interieur du polyedre etoile. ( ).. PE p. La validite de notre algorithme repose sur la proposition 2.5 : Proposition 2.5 Soit S un ensemble de points de IR3 et V OR(S ) le DVP 3D des. points de S . Supprimer un point p de S est equivalent a retetraedriser l'interieur du polyedre etoile P E (p)..
Figure
+7
Outline
Diagramme de Vorono Ponctuel 3D
Algorithme de Bowyer
Demonstration: Soit D EL
Partitionnements du plan et de l'espace
Denition 3.2 (Partitionnements adaptatifs) Un partitionnement adaptatif d'une imageI(2D ou 3D) est un partitionnement ou la position de chaque element de
Compression, extraction et mesures
Comparaison des modeles de partitionnement
Diagramme de Vorono generalise 3D
environnement de Vorono
Algorithme: Decimation stochastique:
Documents relatifs