Vous êtes sur la page 1sur 365

UNIVERSIT DE MARNE-LA-VALLE

THSE
pour obtenir le grade de
DOCTEUR DE LUNIVERSIT DE MARNE-LA-VALLE
Discipline : Informatique Fondamentale et Applications
prsente et soutenue publiquement
par

Christophe LOHOU
le 20 dcembre 2001
Titre :

Contribution lanalyse topologique des images :


tude dalgorithmes de squelettisation pour images 2D et 3D,
selon une approche topologie digitale ou topologie discrte.
Directeur de thse :
M. Gilles BERTRAND
JURY
M.
M.
M.
M.
M.

Christian
Rmy
Didier
Gilles
Antoine

Ronse
Prsident, Rapporteur
Malgouyres
Rapporteur
Arqus
Examinateur
Bertrand
Examinateur
Manzanera
Examinateur

Thse prpare au laboratoire A2SI de lESIEE


(cole Suprieure dIngnieurs en lectronique et lectrotechnique Noisy-le-Grand)

(c) Universit de Marne-La-Valle, Christophe Lohou - 2004.


Origine : http://pelleas.univ-mlv.fr - URN : http://pelleas.univ-mlv.fr/document/UMLV-2004-000167-PDF

ii

Remerciements
Je remercie :
M. Christian RONSE davoir accept dtre rapporteur et prsident du jury. Sa lecture
minutieuse et ses remarques ont largement contribu amliorer mon mmoire,
M. Rmy MALGOUYRES davoir accept dtre rapporteur, ainsi que pour ses critiques
constructives,
M. Didier ARQUS et M. Antoine MANZANERA, qui mont fait lhonneur de participer
au jury.
Je remercie :
les membres du laboratoire A2 SI de lESIEE :
Gilles BERTRAND pour sa disponibilit, ses qualits pdagogiques et lencadrement
scientifique exceptionnel dont il ma permis de bnficier, ses prcieux conseils lors de
la rdaction et la correction darticles. Je lui suis infiniment reconnaissant davoir partag pistes et nombreuses ides brillantes, qui nous ont permis lobtention de rsultats
significatifs dans le domaine de la squelettisation. Enfin, je le remercie de mavoir galement autoris une grande libert dans mes travaux et de mavoir fait confiance. Cest
un privilge davoir t initi la Recherche dans de telles conditions.
Michel COUPRIE pour ses conseils toujours pertinents, tant scientifiques (travail sur les
isomtries) que rdactionnels (relecture darticles), et ses encouragements,
Laurent PERROTON pour mavoir encadr durant mon stage de DEA et mavoir fait
connatre les BDD, outils indispensables dans ma thse, ainsi que pour son visualisateur,
et toutes les autres personnes du dpartement informatique, en particulier : Dominique,
Fabiana, Mohammed, Denis, Thierry, Eric et Christophe,
mes amis stagiaires, thsards, ou docteurs :
Shahram, pour sa gentillesse lgendaire,
les occupants de la cellule 5352 :
Jean-Christophe (pour ses nombreux conseils en tout genre),
Petr, entre autres pour la collaboration sur ltude topologique du rseau vasculaire
du foie,
Francisco (sa bonne humeur permanente et surtout sa disponibilit),
(puis par ordre dapparition) Zouina, Herv, Ahmed, Ailton, Junia, Khaled, Eva, Sbastien, Stphane, Yukiko, Silvio, Xavier, Cdric, Marco, Alain . . .
Je remercie mes parents Annette et Marcel, mes surs Nathalie et Cline (et leurs maris
Christophe et Herv) pour mavoir encourag durant ces annes dtude.
Je remercie infiniment ma compagne Delphine pour sa patience et son soutien, pour avoir
rgl son horloge sur la mienne.
Ce travail leur est ddi.
Merci mes amis Carole et Herv, Lydia et tienne, Agns et Fabrice, Paulo, la famille de
Delphine et la mienne, Pacha . . . .

Table des matires


Introduction

I Topologie digitale, simplicit et schmas de squelettisation

1 Notions de base de topologie digitale


1.1 Espace discret de reprsentation dune image binaire . . . . . . . . . . . . .
1.1.1 Pavage et maillage [CM91] . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Image discrte binaire et maillage . . . . . . . . . . . . . . . . . . .
1.1.3 Cas des images binaires tridimensionnelles . . . . . . . . . . . . . .
1.2 Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Voisinages, voisins et points adjacents . . . . . . . . . . . . . . . . . . . . .
1.4 Thorme de Jordan dans R2 . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Illustration du paradoxe de lanalogue discret du thorme de Jordan .
1.5 Dfinitions [KR89] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Image et points . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Adjacence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.3 Connexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.4 Chemin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.5 Points particuliers et courbes . . . . . . . . . . . . . . . . . . . . . .
1.5.6 Thorme de Jordan dans Z 2 . . . . . . . . . . . . . . . . . . . . . .
1.6 Notion de trou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

9
9
9
9
10
11
12
13
13
15
15
16
16
16
17
18
18

2 Genre 2D et simplicit
2.1 Dfinition du genre [Mor80] . . . . . . . . .
2.1.1 Genre du complmentaire . . . . . .
2.2 Calcul du genre 2D de faon locale . . . . . .
2.3 Exemples de calcul de genre 2D . . . . . . .
2.3.1 Objet simplement connexe . . . . . .
2.3.2 Objet avec trou . . . . . . . . . . . .
2.3.3 Autre exemple . . . . . . . . . . . .
2.4 Simplicit dun point . . . . . . . . . . . . .
2.5 Caractrisations en pratique dun point simple

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

21
21
23
23
25
25
26
26
27
29

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

iv

TABLE DES MATIRES

2.6

2.7

2.5.1 Nombre de Hilditch . . . . . . . . . . . . . . . . . . .


2.5.2 Nombre de Rutovitz . . . . . . . . . . . . . . . . . .
2.5.3 Nombres topologiques . . . . . . . . . . . . . . . . .
2.5.4 Table de consultation . . . . . . . . . . . . . . . . . .
2.5.5 Graphes de dcision binaire . . . . . . . . . . . . . .
Suppression en parallle de points . . . . . . . . . . . . . . .
2.6.1 Suppressibilit et suppressibilit forte [Ron86][Ron88]
2.6.2 Ensembles minimaux non supprimables . . . . . . . .
2.6.2.1 Dfinition et caractrisation par Ronse . . .
2.6.2.2 Caractrisation par Hall . . . . . . . . . . .
2.6.2.3 Exemple . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Genre 3D et simplicit
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Dfinition du genre . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Nouvelle approche du concept de trou [Mor80] . . .
3.2.2 Dfinition du genre 3D . . . . . . . . . . . . . . . .
3.2.3 Genre du complmentaire . . . . . . . . . . . . . .
3.3 Calcul du genre 3D de faon locale . . . . . . . . . . . . . .
3.4 Exemples de calcul de genre 3D . . . . . . . . . . . . . . .
3.4.1 Objet avec une composante connexe . . . . . . . . .
3.4.2 Objet avec une composante connexe et un trou . . .
3.4.3 Objet avec une composante connexe et deux trous . .
3.4.4 Objet avec une composante connexe et un trou (cas
composantes connexes (cas (6, 26)) . . . . . . . . .
3.4.5 Objet avec une composante connexe et un trou . . .
3.4.6 Objet avec une composante connexe et une cavit . .
3.5 Simplicit dun point . . . . . . . . . . . . . . . . . . . . .
3.6 Caractrisations en pratique dun point simple . . . . . . . .
3.6.1 Nombres topologiques . . . . . . . . . . . . . . . .
3.6.1.1 Voisinages godsiques . . . . . . . . . .
3.7 Classification topologique . . . . . . . . . . . . . . . . . .
3.8 Suppression en parallle de points . . . . . . . . . . . . . .
3.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

29
29
30
34
34
34
35
38
38
39
39
41

. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
(26, 6)) ou quatre
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

43
43
44
44
44
45
45
47
47
47
47

.
.
.
.
.
.
.
.
.
.

49
49
52
53
58
58
60
61
62
65

4 Schmas dalgorithmes de squelettisation


4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Terminologie concernant lamincissement ou la squelettisation . . . . . . . . . .
4.2.1 Algorithme damincissement ou de squelettisation. Noyau homotopique
ou squelette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Diffrences entre lapproche itrative ou parallle de suppression de points
4.2.2.1 Approche itrative . . . . . . . . . . . . . . . . . . . . . . . .

67
67
68
68
68
68

TABLE DES MATIRES

4.3
4.4
4.5

4.2.2.2 Approche parallle . . . . . . . . . . . . . . . . . . . . .


Stratgies mises en uvre dans les algorithmes parallles de squelettisation
Complexit des algorithmes . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

v
.
.
.
.

.
.
.
.

.
.
.
.

69
69
73
73

II Points P -simples, et nouveaux algorithmes de squelettisation pour


images 3D binaires, bass sur la suppression de points P -simples
75
5 Points P -simples
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Dfinitions [Ber95a] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1.1 Points non Pn -simples : mise en dfaut de chacune des conditions
5.2.2 Autres caractrisations . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Un schma de squelettisation valide oprant par suppression de points P -simples
[Ber95a] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.2.1 Remarques sur la dcision dappartenance lensemble P . . .
5.3.2.2 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Liens entre les points P-simples, les ensembles simples et les MNS . . . . . . . .
5.4.1 Proprits des ensembles P -simples par rapport aux MNS . . . . . . . .
5.5 Dmarche systmatique de la vrification de la validit dun algorithme . . . . .
5.5.1 Condition suffisante de la validit dun algorithme . . . . . . . . . . . .
5.5.2 Condition suffisante mais non ncessaire . . . . . . . . . . . . . . . . .
5.5.3 Homotopie et homotopie forte . . . . . . . . . . . . . . . . . . . . . . .
5.5.4 Rcapitulatif concernant une dmarche systmatique . . . . . . . . . . .
5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6 P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples
6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Notations utilises . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Points P x -simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Ensemble P x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.3 Schmas dalgorithmes de squelettisation bass sur la suppression de
points P -simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3 Mode opratoire de tests et de propositions dalgorithmes . . . . . . . . . . . . .
6.4 Algorithmes base de sous-mailles . . . . . . . . . . . . . . . . . . . . . . . . .
6.5 Algorithmes en 6 sous-itrations directionnelles . . . . . . . . . . . . . . . . . .
6.5.1 tude de la P -simplicit de lalgorithme de Gong et Bertrand . . . . . .
6.5.1.1 Rappels de lalgorithme de Gong et Bertrand (G O B E) [GB90] .

79
79
79
81
81
81
83
83
84
84
87
87
87
89
89
89
90
92
92
95
95
96
97
97
98
99
101
101
103
103
103

vi

TABLE DES MATIRES

6.6

6.7

6.5.1.2 P26 -simplicit de G O B E . . . . . . . . . . . . . . . . . . . .


6.5.2 tude de la P -simplicit de lalgorithme de Palgyi et Kuba en 6 sousitrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.2.1 Rappels de lalgorithme de lalgorithme de Palgyi et Kuba en
6 sous-itrations (PA K U6) [PK98a] . . . . . . . . . . . . . .
6.5.2.2 P26 -simplicit de PA K U6 . . . . . . . . . . . . . . . . . . .
6.5.3 Nouvel algorithme propos [LB02b] . . . . . . . . . . . . . . . . . . .
6.5.3.1 Premier essai (recherche de P1 ) . . . . . . . . . . . . . . . .
6.5.3.2 Deuxime essai (recherche de P2 ) . . . . . . . . . . . . . . .
6.5.3.3 Proprits de L O B E par rapport PA K U6 . . . . . . . . . .
6.5.3.4 Par rapport lalgorithme G O B E . . . . . . . . . . . . . . .
6.5.3.5 Proprits de L O B E par rapport G O B E . . . . . . . . . . .
6.5.4 Rcapitulatif pour lalgorithme en 6 sous-itrations . . . . . . . . . . .
6.5.4.1 Rsultats observs . . . . . . . . . . . . . . . . . . . . . . .
Algorithmes en 12 sous-itrations directionnelles . . . . . . . . . . . . . . . .
6.6.1 Rappels de lalgorithme de lalgorithme de Palgyi et Kuba en 12 sousitrations (PA K U12) [PK99] . . . . . . . . . . . . . . . . . . . . . . .
6.6.2 Algorithme de Palgyi - version squelette curviligne . . . . . . . . . .
6.6.2.1 P26 -simplicit de PA K U 12 . . . . . . . . . . . . . . . . . .
6.6.3 Nouvel algorithme propos - version squelette curviligne . . . . . . . .
6.6.3.1 Premier essai (recherche de P1 ) . . . . . . . . . . . . . . . .
6.6.3.2 Deuxime essai (recherche de P2 ) . . . . . . . . . . . . . . .
6.6.3.3 Troisime essai (recherche de P3 ) . . . . . . . . . . . . . . .
6.6.3.4 Autre essai . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.3.5 Proprits de PK _ C et de LB _ C . . . . . . . . . . . . . . . .
6.6.4 Rcapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.5 Algorithme de Palgyi - version squelette surfacique . . . . . . . . . .
6.6.6 Nouvel algorithme propos . . . . . . . . . . . . . . . . . . . . . . . .
6.6.6.1 Proprits de PK _ S et de LB _ S . . . . . . . . . . . . . . . .
6.6.7 Rcapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6.8 Rcapitulatif pour lalgorithme en 12 sous-itrations . . . . . . . . . .
6.6.8.1 Squelette curviligne . . . . . . . . . . . . . . . . . . . . . .
6.6.8.2 Squelette surfacique . . . . . . . . . . . . . . . . . . . . . .
6.6.8.3 Autres rsultats . . . . . . . . . . . . . . . . . . . . . . . .
6.6.8.4 Rsultats observs . . . . . . . . . . . . . . . . . . . . . . .
Algorithmes fortement parallles . . . . . . . . . . . . . . . . . . . . . . . . .
6.7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7.1.1 Notes propos de la recherche sur lalgorithme de Ma, et sur
celui de Ma et Sonka . . . . . . . . . . . . . . . . . . . . .
6.7.1.2 Notes propos de la recherche sur lalgorithme de Manzanera,
et al. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7.2 Algorithme de Ma [Ma95] . . . . . . . . . . . . . . . . . . . . . . . .
6.7.2.1 Rappels sur lalgorithme . . . . . . . . . . . . . . . . . . . .

. 103
. 105
.
.
.
.
.
.
.
.
.
.
.

105
105
109
109
110
112
112
112
112
113
117

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

117
117
119
124
124
125
126
128
128
129
132
132
135
135
135
135
137
137
137
139
139

. 139
. 139
. 140
. 140

TABLE DES MATIRES

6.8
6.9

vii

6.7.2.2 Tests de la P -simplicit de lalgorithme . . . . . . . . . . . . .


6.7.3 Algorithme de Ma et Sonka [MS96] . . . . . . . . . . . . . . . . . . . .
6.7.3.1 Rappels sur lalgorithme . . . . . . . . . . . . . . . . . . . . .
6.7.3.2 Tests de la P -simplicit de lalgorithme . . . . . . . . . . . . .
6.7.4 Algorithme 3D de Manzanera, et al. (MB_3D) [MBPL99c] [MBPL99a]
6.7.4.1 Rappels sur lalgorithme . . . . . . . . . . . . . . . . . . . . .
6.7.4.2 P26 -simplicit de MB_3D . . . . . . . . . . . . . . . . . . . .
propos dune dmarche systmatique avec les points P x -simples . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141
143
143
143
145
145
146
151
152

III Topologie discrte, et algorithmes parallles de squelettisation pour


images 2D et 3D binaires et images 2D en niveaux de gris
153
7 Gnralits
7.1 Introduction [Ber99] . . . . . . . . . . . . . . . . . . . .
7.2 Notions de base . . . . . . . . . . . . . . . . . . . . . . .
7.2.1 Ordres et topologie discrte . . . . . . . . . . . .
7.2.2 Illustration de quelques notions gnrales [CBK02]
7.3 Dfinitions : point -unipolaire, -noyau . . . . . . . . . .
7.4 Ordres associs Z n . . . . . . . . . . . . . . . . . . . .
7.5 Simplicit . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

157
157
158
158
159
160
161
161
162

8 Ordre pour images binaires 2D


8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Ordre associ Z 2 . . . . . . . . . . . . . . . . . . . . . .
8.2.1 Lordre |H 2 | . . . . . . . . . . . . . . . . . . . . .
8.2.2 Objets 2D . . . . . . . . . . . . . . . . . . . . . . .
8.3 Voisinages, chemin, composante connexe dans |H 2| . . . . .
8.4 tude de la simplicit dans |H 1 | et dans |H 2| . . . . . . . .
8.4.1 tude de la simplicit dans |H 1 | . . . . . . . . . . .
8.4.1.1 Rcapitulatif . . . . . . . . . . . . . . . .
8.4.2 tude de la simplicit dans |H 2 | . . . . . . . . . . .
8.4.2.1 Exemple de points -unipolaires dans |H 2 |
8.4.2.2 Statuts des points de |H 2 | . . . . . . . . .
8.4.2.3 Rcapitulatif . . . . . . . . . . . . . . . .
8.4.2.4 Conclusion . . . . . . . . . . . . . . . . .
8.5 Algorithmes de squelettisation pour images binaires . . . . .
8.5.1 Algorithme de squelettisation ultime . . . . . . . . .
8.5.2 Terminologie [LB00a] . . . . . . . . . . . . . . . .
8.5.3 Algorithme de squelettisation curviligne . . . . . . .
8.6 Tests de la simplicit . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

163
163
163
163
164
165
167
167
170
170
170
171
177
179
179
179
180
180
181

viii

TABLE DES MATIRES


8.7

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

183
184
185
186

9 Ordre pour images binaires 3D


9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Ordre associ Z 3 . . . . . . . . . . . . . . . . . . . .
9.2.1 Lordre |H 3 | . . . . . . . . . . . . . . . . . . .
9.2.2 Objets 3D . . . . . . . . . . . . . . . . . . . . .
9.3 Simplicit et processus parallle damincissement . . . .
9.3.1 Caractrisation des points n -simples dans |H 3| .
9.3.2 Illustration de l3 -simplicit . . . . . . . . . . .
9.4 Raisonnement menant la notion de point n -simple . .
9.5 Algorithmes de squelettisation . . . . . . . . . . . . . .
9.5.1 Squelette ultime . . . . . . . . . . . . . . . . .
9.5.2 Squelette curviligne . . . . . . . . . . . . . . .
9.5.3 Squelette surfacique . . . . . . . . . . . . . . .
9.6 Comparaisons et rsultats . . . . . . . . . . . . . . . . .
9.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

189
189
189
189
190
191
191
192
193
196
196
197
197
199
201

8.8

Rsultats et comparaisons .
8.7.1 Discussion sur 1 .
8.7.2 Discussion sur 3 .
Conclusions et perspectives

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

10 Ordre pour images 2D en niveaux de gris


205
10.1 Rappels sur la topologie des images 2D binaires . . . . . . . . . . . . . . . . . . 205
10.2 Topologie des coupes pour les images 2D en niveaux de gris . . . . . . . . . . . 206
10.2.1 Discussion propos de la valeur dabaissement dun point destructible . . 208
10.3 Nombre de connexit dans |H 2 | . . . . . . . . . . . . . . . . . . . . . . . . . . 210
10.4 Ordre valu associ aux images 2D en niveaux de gris . . . . . . . . . . . . . . . 211
10.5 Destructibilit pour les images en niveaux de gris dans (H 2 , , F ) . . . . . . . . 212
10.5.1 Destructibilit dans (H 2 , , F ) . . . . . . . . . . . . . . . . . . . . . . 212
10.5.2 quivalence entre les ordres valus dans (H 2 , , F ) . . . . . . . . . . . 214
10.6 Algorithmes de squelettisation pour images 2D en niveaux de gris dans (H 2 , , F )215
10.7 Discussion propos de la valeur dabaissement dun point -destructible . . . . . 220
10.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
11 Filtrage topologique dimages binaires 2D
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.2 Principe gnral du filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3 Considrations prliminaires pour le filtrage . . . . . . . . . . . . . . . . . . .
11.3.1 Contrainte sur k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.3.2 Points graines et processus de propagation pour la reconstruction . . . .
11.3.3 Liens entre les sous-itrations de squelettisation conditionne et les sousitrations de reconstruction . . . . . . . . . . . . . . . . . . . . . . . .
11.3.4 Diffrents tests de la valeur k en pratique . . . . . . . . . . . . . . . .

.
.
.
.
.

225
225
225
226
226
226

. 227
. 227

TABLE DES MATIRES


11.4
11.5
11.6
11.7

Conventions de reprsentation . . . . . . . . . . . . . . . . . . . . . .
Discussion propos des points supprims lors de la premire tape . . .
Discussion propos des points graines lors de ltape de reconstruction
laboration de lalgorithme . . . . . . . . . . . . . . . . . . . . . . . .
11.7.1 Absence de point graine pour ltape de reconstruction . . . . .
11.7.2 limination dune barbule et reconstruction . . . . . . . . . . .
11.7.3 Reconstruction dune ramification . . . . . . . . . . . . . . . .
11.7.4 Problme au niveau des jonctions de courbes . . . . . . . . . .
11.7.5 Effet de bord . . . . . . . . . . . . . . . . . . . . . . . . . .
11.7.6 Prservation de la topologie lors de la reconstruction . . . . . .
11.8 Algorithme de filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.9 Rsultats 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.10Conclusion pour le cas 2D . . . . . . . . . . . . . . . . . . . . . . . .
11.11Extension au cas des images binaires 3D . . . . . . . . . . . . . . . . .
11.12Conclusion pour le cas 3D . . . . . . . . . . . . . . . . . . . . . . . .
11.13Conclusion gnrale pour le filtrage dimages 2D ou 3D binaires . . . .

ix
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Conclusion et perspectives

246

IV Annexes
A Algorithmes de squelettisation 2D
A.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Notations et reprsentations . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2.2 Diffrentes reprsentations adoptes . . . . . . . . . . . . . . . . .
A.3 Algorithmes de squelettisation de type sous-itrations directionnelles . . . .
A.3.1 Algorithme de Zhang et Suen - 2 sous-itrations (ZS) [ZS84] . . .
A.3.2 Algorithme de L et Wang - 2 sous-itrations (LW) [LW86] . . . .
A.3.3 Algorithme de Guo et Hall - 2 sous-itrations (GH_A1) [GH89] . .
A.3.4 Algorithme de Rosenfeld - 4 sous-itrations (ROS) [Ros75] [RK82]
A.4 Algorithmes de squelettisation de type sous-mailles . . . . . . . . . . . . .
A.4.1 Algorithme (GH_A2) [GH89] . . . . . . . . . . . . . . . . . . . .
A.4.2 Comparaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.4.2.1 Cas des rubans horizontaux . . . . . . . . . . . . . . . .
A.4.2.2 Cas des rubans diagonaux . . . . . . . . . . . . . . . . .
A.4.2.3 Cas dun autre ruban inclin . . . . . . . . . . . . . . . .
A.4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.5 Algorithmes fortement parallles . . . . . . . . . . . . . . . . . . . . . . .
A.5.1 Algorithme de Holt, Stewart, Clint et Perrott (HSCP) [HSCP87] . .
A.5.2 Algorithme de Hall (HSCPN) [Hal89] . . . . . . . . . . . . . . .
A.5.3 Algorithmes de Guo et Hall (GH_AFP) [GH92] . . . . . . . . . .

228
228
230
231
231
231
232
232
233
233
235
235
235
235
240
245

249
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

251
251
251
251
252
253
253
256
257
258
258
258
259
259
262
262
262
266
266
267
267

TABLE DES MATIRES


A.5.3.1 Algorithme GH_AFP1 . . . . . . . . . . . . . . . . . . . .
A.5.3.2 Algorithme GH_AFP2 . . . . . . . . . . . . . . . . . . . .
A.5.3.3 Algorithme GH_AFP3 . . . . . . . . . . . . . . . . . . . .
A.5.4 Algorithme de Chin, Wan, Stover et Iverson (CWSI) [CWSI87] . . . .
A.5.5 Algorithme de Wu et Tsai (WT) [WT92] . . . . . . . . . . . . . . . .
A.5.6 Algorithme de Manzanera et Bernard (MB_2D) [BM99][MBPL99c] .
A.5.7 Remarques concernant les voisinages tendus mis en jeu par les algorithmes fortement parallles . . . . . . . . . . . . . . . . . . . . . . .
A.5.7.1 Utilisation dun voisinage tendu . . . . . . . . . . . . . . .
A.5.7.2 Terminologie employe : distinction entre algorithmes fortement parallles symtrique et non symtrique . . . . . . . .
A.6 Rsultats et comparaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.1 Critres de comparaisons . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.2 Rcapitulatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.6.3 Comparaisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

268
269
270
270
272
274

. 275
. 275
.
.
.
.
.
.

276
276
276
277
277
278

B Algorithmes de squelettisation 3D
287
B.1 Reprsentations et notations utilises . . . . . . . . . . . . . . . . . . . . . . . . 287
B.1.1 Reprsentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
B.1.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
B.2 Algorithmes de squelettisation de type sous-itrations directionnelles . . . . . . . 288
B.2.1 Algorithme de Palgyi et Kuba - 6 sous-itrations (PA K U6) [PK98a] . . . 288
B.2.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
B.2.1.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 289
B.2.2 Algorithme de Gong et Bertrand en 6 sous-itrations (G O B E) - [GB90] . 293
B.2.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
B.2.2.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 294
B.2.3 Algorithme de Palgyi et Kuba - 12 sous-itrations (PA K U12_O LD) [PK97a]
[PK97b] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
B.2.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
B.2.3.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 297
B.2.4 Algorithme de Palagyi et Kuba - 12 sous-itrations (PA K U12) [PK99] . . 301
B.2.4.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
B.2.4.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 301
B.3 Algorithmes de squelettisation de type sous-mailles . . . . . . . . . . . . . . . . 305
B.3.1 Algorithme de Bertrand et Aktouf (B E A K) [BA94] . . . . . . . . . . . . 305
B.3.1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
B.3.1.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 306
B.3.2 Algorithme hybride de Palgyi et Kuba (PA K U H) [PK] . . . . . . . . . . 309
B.3.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
B.3.2.2 Commentaires et rsultats . . . . . . . . . . . . . . . . . . . . 310
B.4 Algorithmes fortement parallles . . . . . . . . . . . . . . . . . . . . . . . . . . 316

TABLE DES MATIRES

xi

B.4.1

Algorithme fortement parallle de Ma (M A) [Ma95] . . . . . . .


B.4.1.1 Description . . . . . . . . . . . . . . . . . . . . . . .
B.4.1.2 Commentaires et rsultats . . . . . . . . . . . . . . . .
B.4.2 Algorithme fortement parallle de Ma et Sonka (M A S O) [MS96]
B.4.2.1 Description . . . . . . . . . . . . . . . . . . . . . . .
B.4.2.2 Commentaires et rsultats . . . . . . . . . . . . . . . .
B.4.3 Algorithme fortement parallle de Manzanera et al. (MB_3D)
[MBPL99c] [MBPL99a] . . . . . . . . . . . . . . . . . . . . . .
B.4.3.1 Description . . . . . . . . . . . . . . . . . . . . . . .
B.4.3.2 Commentaires et rsultats . . . . . . . . . . . . . . . .
B.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

316
316
316
319
319
319

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

322
322
322
323

C Graphes de dcision binaire


C.1 Dfinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.1.1 Terminologie gnrale [Bry86] . . . . . . . . . . . . . . . . . . . . . . .
C.1.2 Dfinition ([AJCL+ 00], chap. 2) . . . . . . . . . . . . . . . . . . . . . .
C.2 Obtention dun BDD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.2.1 Rduction dun BDD . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.2.1.1 Rgles de rduction [Bry92] . . . . . . . . . . . . . . . . . . .
C.2.1.2 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.2.2 Problme de lordonnancement des variables . . . . . . . . . . . . . . .
C.2.3 Autres possibilits dobtention de BDD . . . . . . . . . . . . . . . . . .
C.2.4 Problme de la taille mmoire . . . . . . . . . . . . . . . . . . . . . . .
C.3 Utilisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3.1 Compression dimages [SB95] . . . . . . . . . . . . . . . . . . . . . . .
C.3.2 Dans les circuits et outils de synthse logique [Bry86] [CYB97] . . . . .
C.3.3 Dtermination de points simples [RM96] . . . . . . . . . . . . . . . . .
C.3.4 Dans cette thse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C.3.4.1 Obtention en pratique du BDD . . . . . . . . . . . . . . . . .
C.3.4.2 Utilisation pour les valeurs des nombres topologiques [Loh97]
C.3.4.3 Obtention des MNS en 2D . . . . . . . . . . . . . . . . . . .
C.3.4.4 Dtermination des points -simples . . . . . . . . . . . . . . .
C.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

325
326
326
326
327
327
327
328
328
329
330
330
330
331
331
331
331
331
332
332
332

D Isomtries
D.1 Isomtries dans Z . . . . . . . . . . . . . . .
D.2 Isomtries dans Z 2 . . . . . . . . . . . . . .
D.3 Nombre disomtries dans Z n . . . . . . . .
D.4 Gnration automatique des isomtries de Z n
D.5 Isomtries dans Z 3 . . . . . . . . . . . . . .
D.6 Ensemble minimal de configurations . . . . .
D.6.1 Obtention dun ensemble minimal . .
D.6.2 Utilisation . . . . . . . . . . . . . . .

335
335
336
337
337
338
340
340
341

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Table des figures


1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

10
11
11
13
14
14
15
16
17
18
19

Dtails : calculs du genre 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . .


Calcul du genre 2D dun objet sans trou. . . . . . . . . . . . . . . . . . . . . .
Calcul du genre 2D dun objet avec trou. . . . . . . . . . . . . . . . . . . . . .
Calcul du genre 2D dun autre objet avec trou(s). . . . . . . . . . . . . . . . .
Configuration de point non simple pour laquelle la raison de sa non-simplicit ne
peut tre dcide localement. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Calculs de nombres de Hilditch et de Rutovitz. . . . . . . . . . . . . . . . . .
2.7 Calculs de nombres de Rutovitz. . . . . . . . . . . . . . . . . . . . . . . . . .
2.8 Diffrents objets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9 Exemple de non-prservation de la topologie par suppression parallle de tous
les points simples dun objet. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 Illustration de la m-suppressibilit forte. . . . . . . . . . . . . . . . . . . . . .
2.11 Exemples de MNS 2D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

22
25
26
26

.
.
.
.

28
30
31
31

2.1
2.2
2.3
2.4
2.5

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8

Pavage et maillage. . . . . . . . . . . . . . . . . . . . .
Reprsentation dune image binaire bidimensionnelle. . .
Reprsentation dune image binaire tridimensionnelle. .
Voisinages 2D et 3D. . . . . . . . . . . . . . . . . . . .
Illustration du thorme de Jordan dans R 2 . . . . . . . .
Illustration du paradoxe du thorme de Jordan dans Z 2 .
Illustration du paradoxe du thorme de Jordan dans Z 3 .
Diffrentes relations dadjacence. . . . . . . . . . . . . .
Calculs de nombres de composantes connexes. . . . . . .
Courbes ouvertes. . . . . . . . . . . . . . . . . . . . . .
Trou. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

. 35
. 37
. 40

Motifs utiliss pour le calcul du genre 3D. . . . . . . . . . . . . . . . . . . . . .


Calcul du genre 3D dun objet sans trou. . . . . . . . . . . . . . . . . . . . . . .
Calcul du genre 3D dun objet avec un trou. . . . . . . . . . . . . . . . . . . . .
Calcul du genre 3D dun objet avec deux trous. . . . . . . . . . . . . . . . . . .
Calcul du genre 3D dun objet diffremment constitu selon les connexits utilises.
Calcul du genre 3D dun objet avec un trou, par dcomposition en octants. . . . .
Calcul du genre 3D dun objet avec une cavit. . . . . . . . . . . . . . . . . . .
Contre-exemple de la rciproque dune proprit. . . . . . . . . . . . . . . . . .

46
48
48
48
49
50
52
54

xiv

TABLE DES FIGURES


3.9
3.10
3.11
3.12
3.13

Point non simple, mais caractris comme tel par Lobregt, Verbeek et Groen. .
Diffrents objets - calcul du genre. . . . . . . . . . . . . . . . . . . . . . . . .
Caractrisation de la simplicit dun point par les nombres topologiques. . . . .
Configuration de point dont la non-simplicit ne peut tre dcide localement. .
Configurations de points non simples et ayant le mme couple de nombres topologiques, mais pas la mme raison de non-simplicit. . . . . . . . . . . . . . .
3.14 Classification de points selon les nombres topologiques. . . . . . . . . . . . . .
3.15 Exemples de MNS 3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

55
56
59
60

. 61
. 63
. 65

4.1

Contre-exemple lextension directe de la stratgie directionnelle au cas 3D. . . 70

5.1
5.2
5.3
5.4
5.5

Exemples de points P -simples ou non. . . . . . . . . . . . . . . . .


Configurations de points non P -simples. . . . . . . . . . . . . . . .
Squelettisation curviligne (26, 6) algorithme de Bertrand (B E _PS).
Dtails dune squelettisation curviligne avec lalgorithme B E _PS. .
Squelettisations curvilignes et surfaciques, algorithme B E _PS. . . .

6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8

Notations utilises. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Configuration initiale (a). Le point x est P -simple (b), nest pas P x -simple (c). . 99
Conditions imposes dans lalgorithme de Gong et Bertrand (G O B E). . . . . . . 103
Templates utilises par lalgorithme PA K U6. . . . . . . . . . . . . . . . . . . . . 106
Motifs rcurrents - algorithme PA K U6. . . . . . . . . . . . . . . . . . . . . . . . 107
Configuration non P1x -simple et P2x -simple. . . . . . . . . . . . . . . . . . . . . 109
Condition dappartenance P2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Configuration non supprime par PA K U6 quelle que soit la direction de suppression, et supprime par L O B E. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Rcapitulatif : sous-itrations (comparaisons algorithmes G O B E, PA K U6 et L O B E).114
Rcapitulatif : itrations (comparaisons algorithmes G O B E, PA K U6 et L O B E). . 115
Comparaisons entre les algorithmes PA K U6 et L O B E. . . . . . . . . . . . . . . . 116
Templates utilises par lalgorithme PA K U12SC. . . . . . . . . . . . . . . . . . 118
Notations utilises et motifs rcurrents. . . . . . . . . . . . . . . . . . . . . . . . 119
Configuration supprime par PK _ C, non P1x -simple. . . . . . . . . . . . . . . . . 124
Condition dappartenance P2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Configuration supprime par PK _ C, non P2x -simple. . . . . . . . . . . . . . . . . 126
Condition dappartenance P3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Configuration P3x -simple, suprime ou non par PK _ C selon la direction considre.127
Configuration non supprime par PK _ C quelle que soit la direction de suppression, et supprime par LB _ C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Autre proposition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Rcapitulatif : sous-itrations - version squelette curviligne (comparaisons algorithmes PA K U12SC et LB _ C). . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Rcapitulatif : itrations - version squelette curviligne (comparaisons algorithmes
PA K U12SC et LB _ C). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19
6.20
6.21
6.22

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

81
82
85
85
86

TABLE DES FIGURES

xv

6.23 Templates utilises par lalgorithme PA K U12SS. . . . . . . . . . . . . . . . . .


6.24 Templates utilises par lalgorithme supprimant les points P 3 -simples (version
surfacique). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.25 Configuration non supprime par PK _ S quelle que soit la direction de suppression, et supprime par LB _ S. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.26 Rcapitulatif : sous-itrations - version squelette surfacique (comparaisons algorithmes PA K U12SS et LB _ S). . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.27 Rcapitulatif : itrations - version squelette surfacique (comparaisons algorithmes
PA K U12SS et LB _ S). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.28 Comparaisons entre les algorithmes PK _ C, LB _ C, PK _ S et LB _ S. . . . . . . . . .
6.29 Templates utilises par lalgorithme de squelettisation de Ma. . . . . . . . . . . .
6.30 Configuration montrant que lalgorithme de Ma ne prserve pas la topologie. . .
6.31 Configuration montrant que lalgorithme de Ma et Sonka ne prserve pas la topologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.32 Templates utilises par lalgorithme de Manzanera, et al. . . . . . . . . . . . . .
6.33 Transformations utilises pour la dmonstration. . . . . . . . . . . . . . . . . . .
6.34 Notations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.35 Figures utilises pour la dmonstration. . . . . . . . . . . . . . . . . . . . . . .
6.36 Figure utilise pour la dmonstration. . . . . . . . . . . . . . . . . . . . . . . .
6.37 Figures utilises pour la dmonstration. . . . . . . . . . . . . . . . . . . . . . .

132
133
134
136
136
138
140
142
144
146
146
147
148
150
150

7.1

Illustration de quelques notions gnrales. . . . . . . . . . . . . . . . . . . . . . 159

8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
8.11
8.12

Un sous-ensemble S de H 2 et sa reprsentation tableau. . . . . . .


Diffrentes faons de considrer des objets binaires 2D dans |H 2 |.
Voisinages dans |H 2 |. . . . . . . . . . . . . . . . . . . . . . . . .
Chemins et courbes. . . . . . . . . . . . . . . . . . . . . . . . . .
Figures utilises dans la discussion sur la simplicit dans |H 1 |. . .
Figures utilises dans la discussion sur la simplicit dans |H 2 |. . .
Rcapitulatif des statuts des points de H 2 . . . . . . . . . . . . . .
Diffrentes sous-itrations lors de squelettisations. . . . . . . . . .
Notations utilises dans les voisinages. . . . . . . . . . . . . . . .
Dtails pour les algorithmes damincissement et de squelettisation.
Sensibilit de la transformation 3 . . . . . . . . . . . . . . . . . .
Squelettes obtenus par diffrents algorithmes. . . . . . . . . . . .

9.1
9.2
9.3
9.4
9.5
9.6
9.7

Un sous-ensemble S de H 3 et sa reprsentation tableau. . . . . . . . . . . . . . . 189


Diffrentes faons de considrer des objets binaires 3D dans |H 3 |. . . . . . . . . 190
Test de l3 -simplicit dun point. . . . . . . . . . . . . . . . . . . . . . . . . . 193
Figures utilises dans la section 9.4. . . . . . . . . . . . . . . . . . . . . . . . . 194
H 3 moins intervalle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Deux surfaces sintersectant. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Un contre-exemple pour une premire caractrisation de point terminal de surface. 198

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

163
164
165
166
169
175
178
182
183
183
185
187

xvi

TABLE DES FIGURES


9.8
9.9
9.10
9.11

Suppressions successives dans un ruban de 2 3 lments.


Diffrentes squelettisations. . . . . . . . . . . . . . . . . .
Squelettisations sur un objet compos de trois L. . . . .
Squelettisation sur quelques objets. . . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

200
202
202
203

10.1 Exemple de point non destructible. . . . . . . . . . . . . . . . . . . . . . . . .


10.2 Exemple de point destructible. . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3 Autre exemple de point destructible. . . . . . . . . . . . . . . . . . . . . . . .
10.4 Problme pour un abaissement en parallle de points destructibles. . . . . . . .
10.5 Exemples de points -simples ou non. . . . . . . . . . . . . . . . . . . . . . .
10.6 Diffrentes faons de considrer des objets 2D en niveaux de gris. . . . . . . .
10.7 Exemples de points - ou -destructibles ou non, extrmits ou non. . . . . . .
10.8 tapes successives pour lobtention dun squelette ultime. . . . . . . . . . . . .
10.9 Squelettisations curvilignes de limage (partielle) empreinte digitale. . . . . .
10.10Squelettisations ultimes de limage section de muscle. . . . . . . . . . . . .
10.11Cration de barbules selon la valeur dabaissement des points destructibles. . .
10.12Non-cration de barbules selon la valeur dabaissement des points destructibles.

.
.
.
.
.
.
.
.
.
.
.
.

208
208
209
210
211
212
214
217
218
219
222
223

11.1
11.2
11.3
11.4
11.5
11.6
11.7
11.8
11.9

Illustration des choix raliss durant la premire tape du filtrage. . . . . . . . . 229


Illustration des choix raliss durant la seconde tape du filtrage. . . . . . . . . . 230
Absence de point graine pour ltape de reconstruction. . . . . . . . . . . . . . . 231
limination dune barbule et reconstruction. . . . . . . . . . . . . . . . . . . . . 231
Reconstruction dune ramification. . . . . . . . . . . . . . . . . . . . . . . . . . 232
limination des barbules issues dun pt. . . . . . . . . . . . . . . . . . . . . . 232
Effet de bord. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Non prservation de la topologie lors de la reconstruction. . . . . . . . . . . . . 234
Filtrages pour diffrentes valeurs du paramtre k partir du squelette curviligne
2D de lobjet lettre A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
11.10Filtrages pour diffrentes valeurs du paramtre k partir du squelette curviligne
2D de lobjet lettre A (rcapitulatif). . . . . . . . . . . . . . . . . . . . . . . . 238
11.11Effet de bord lors du filtrage de squelettes surfaciques 3D. . . . . . . . . . . . . 239
11.12Reconstruction selon diffrents types de graines sur un squelette curviligne. . . . 239
11.13Filtrages et reconstructions pour diffrentes valeurs de paramtre (objet filaire). 241
11.14Filtrages et reconstructions pour diffrentes valeurs de paramtre (objet plan). . 242
11.15Filtrages et reconstructions pour diffrentes valeurs de paramtre (objet pingpong). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
11.16Filtrages et reconstructions pour diffrentes valeurs de paramtre (objet visage). 244

A.1 Dsignation des points voisins dun point central. . . . .


A.2 Illustration de la non-ncessit dune certaine condition
points simples. . . . . . . . . . . . . . . . . . . . . . .
A.3 Squelettisation - algorithme ZS (lettre H). . . . . . . .
A.4 Squelettisation - algorithme ZS (lettre H bruite). . . .

. . .
pour
. . .
. . .
. . .

. . . . . . . . .
caractriser des
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .

. 252
. 252
. 254
. 255

TABLE DES FIGURES


A.5
A.6
A.7
A.8
A.9
A.10
A.11
A.12
A.13
A.14
A.15
A.16
A.17
A.18
A.19
A.20
A.21
A.22
A.23
A.24
A.25
A.26
A.27
A.28
A.29
A.30
A.31
A.32
A.33
A.34
A.35
A.36
A.37
A.38
A.39
A.40

rosion excessive - algorithme ZS (ruban inclin dpaisseur 2). . . . . . . . . .


Squelettisation - algorithme ZS (diffrents coins). . . . . . . . . . . . . . . . . .
Squelettisation - algorithme GH_A1 (ruban inclin dpaisseur 2). . . . . . . . .
Sous-mailles dans lalgorithme (GH_A2). . . . . . . . . . . . . . . . . . . . . .
Squelettisations - algorithme GH_A2 (ruban de hauteur impaire). . . . . . . . .
Squelettisations - algorithme GH_A2 (ruban de hauteur paire). . . . . . . . . . .
Squelettisations - comparaisons avec plusieurs algorithmes (ruban de hauteur
impaire). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Squelettisation - algorithme GH_A2 (ruban). . . . . . . . . . . . . . . . . . . .
Squelettisation - algorithme ZS (ruban). . . . . . . . . . . . . . . . . . . . . . .
Squelettisation - algorithme LW (ruban). . . . . . . . . . . . . . . . . . . . . . .
Squelettisations - algorithme GH_A2 (rubans inclins). . . . . . . . . . . . . . .
Squelettisations - comparaisons avec plusieurs algorithmes (rubans inclins). . .
Squelettisations - algorithme GH_A2 (rubans inclins). . . . . . . . . . . . . . .
Squelettisations - algorithme ZS (rubans inclins). . . . . . . . . . . . . . . . .
Squelettisations - algorithme LW (rubans inclins). . . . . . . . . . . . . . . . .
Squelettisations avec plusieurs algorithmes (ruban inclin). . . . . . . . . . . . .
Squelettisations avec plusieurs algorithmes (ruban inclin). . . . . . . . . . . . .
Squelettisations - algorithme HSCP (ruban dpaisseur 2). . . . . . . . . . . . .
Squelettisations - algorithme GH_AFP1 (rubans). . . . . . . . . . . . . . . . . .
Squelettisations - algorithme GH_AFP2 (rubans). . . . . . . . . . . . . . . . . .
Squelettisations - algorithme GH_AFP3 (rubans). . . . . . . . . . . . . . . . . .
Squelettisation - algorithme CWSI - (ruban dpaisseur 2). . . . . . . . . . . . .
Squelettisation - algorithme CWSI - (objet ruban inclin). . . . . . . . . . . . .
Squelettisation - algorithme WT (ruban inclin). . . . . . . . . . . . . . . . . . .
Squelettisation - algorithme WT (ruban dpaisseur 2). . . . . . . . . . . . . . .
Squelettisation - algorithme WT (ruban bruit). . . . . . . . . . . . . . . . . . .
Squelettisation - algorithme WT (lettre A bruite). . . . . . . . . . . . . . . . .
Figure expliquant la raison pour laquelle un algorithme fortement parallle utilise
un voisinage tendu afin de supprimer des points, tout en prservant la topologie.
Squelettisations avec diffrents algorithmes (lettre A). . . . . . . . . . . . . . .
Squelettisations avec diffrents algorithmes (lettre A bruite). . . . . . . . . . .
Squelettisations avec diffrents algorithmes (divers rubans). . . . . . . . . . . . .
Squelettisations avec diffrents algorithmes (lettre F). . . . . . . . . . . . . . .
Squelettisations avec diffrents algorithmes (lettre H). . . . . . . . . . . . . .
Squelettisations avec diffrents algorithmes (lettre H bruite). . . . . . . . . .
Squelettisations avec diffrents algorithmes (ruban pais). . . . . . . . . . . . . .
Squelettisations avec diffrents algorithmes (ruban pais bruit). . . . . . . . . .

xvii
255
255
257
259
260
260
260
261
261
261
262
263
264
264
264
265
265
267
268
269
270
272
272
272
273
274
274
275
279
280
281
282
283
284
285
285

B.1 Systme de coordonnes et orientation utiliss. . . . . . . . . . . . . . . . . . . 288


B.2 Templates utilises par lalgorithme PA K U6. . . . . . . . . . . . . . . . . . . . . 290
B.3 Chane de traitement pour obtenir les masques et leurs codes BDD associs (algorithme PA K U6). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

xviii

TABLE DES FIGURES

B.4
B.5
B.6
B.7
B.8
B.9
B.10
B.11
B.12
B.13
B.14
B.15
B.16
B.17
B.18
B.19
B.20
B.21
B.22
B.23
B.24
B.25
B.26
B.27
B.28
B.29
B.30
B.31
B.32
B.33

Squelettisations - algorithme PA K U6. . . . . . . . . . . . . . . . .


Squelettisations - algorithme PA K U6 (objet P aKu1). . . . . . . . .
Conditions imposes dans lalgorithme G O B E. . . . . . . . . . . .
Squelettisations curvilignes - algorithme G O B E. . . . . . . . . . . .
Squelettisations surfaciques - algorithme G O B E. . . . . . . . . . . .
Squelettisations - algorithme G O B E (objet P aKu1). . . . . . . . .
Squelettisations curvilignes et surfaciques - algorithme G O B E. . . .
Templates utilises par lalgorithme PA K U12_O LD. . . . . . . . . .
Squelettisations - algorithme PA K U12_O LD. . . . . . . . . . . . .
Squelettisations - algorithme PA K U12_O LD (objet P aKu5). . . . .
Templates utilises par lalgorithme PA K U12. . . . . . . . . . . . .
Squelettisations - algorithme PA K U12 (objet P aKu1). . . . . . . .
Squelettisations curvilignes - algorithme PA K U12. . . . . . . . . .
Squelettisations surfaciques - algorithme PA K U12. . . . . . . . . .
Mailles pour lalgorithme B E A K. . . . . . . . . . . . . . . . . . . .
Squelettisations - algorithme B E A K. . . . . . . . . . . . . . . . . .
Squelettisations - algorithme B E A K (objet plan). . . . . . . . . . .
Orientation utilise dans lalgorithme PA K U H. . . . . . . . . . . .
Maille utilise pour lalgorithme hybride PA K U H. . . . . . . . . . .
Templates directionnelles utilises par lalgorithme PA K U H. . . . .
Templates pour une sous-maille, utilises par lalgorithme PA K U H.
Squelettisations - algorithme PA K U H. . . . . . . . . . . . . . . . .
Squelettisations - algorithme PA K U H (objet peigne). . . . . . . . .
Squelettisations - algorithme PA K U H (objet ruban pais). . . . . .
Templates utilises par lalgorithme M A. . . . . . . . . . . . . . . .
Squelettisation avec lalgorithme M A. . . . . . . . . . . . . . . . .
Prsence de points redondants dans un objet - algorithme M A S O. . .
Squelettisations - algorithme M A S O. . . . . . . . . . . . . . . . . .
Les sries de templates utilises par lalgorithme M A S O. . . . . . .
Templates utilises par lalgorithme MB_3D. . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

292
292
294
295
295
296
296
298
299
300
302
303
304
304
306
308
308
310
311
311
312
313
314
315
317
318
320
320
321
322

C.1
C.2
C.3
C.4

Dcomposition de Shannon. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table de vrit, arbre de Shannon, rgles de rduction sur un arbre de Shannon.
Problme de lordonnancement dans un BDD. . . . . . . . . . . . . . . . . . .
Utilisation dun BDD pour la compression dimages. . . . . . . . . . . . . . .

.
.
.
.

326
328
329
331

D.1
D.2
D.3
D.4
D.5

Isomtries dans Z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Isomtries dans Z 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schma de programme (bauche) pour lobtention des matrices des isomtries.
Schma de programme pour lobtention des matrices des isomtries. . . . . . .
Isomtries dans Z 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.

335
336
337
338
340

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Liste des tableaux


2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.1
3.2
3.3
3.4
3.5
3.6
3.7

Dtails : calculs du genre 2D, (m, n) = (8, 4). . . . . . . . . . . . . . . . . . .


Dtails : calculs du genre 2D, (m, n) = (4, 8). . . . . . . . . . . . . . . . . . .
Diffrentes quantits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tableau rcapitulatif du nombre de configurations ayant pour nombres topologiques un certain couple de valeurs, avec la connexit (4, 8). . . . . . . . . . .
Tableau rcapitulatif du nombre de configurations ayant pour nombres topologiques un certain couple de valeurs, avec la connexit (8, 4). . . . . . . . . . .
Ensembles MNS (except les composantes) pour un algorithme parallle de squelettisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Composantes (MNS) pour un algorithme parallle de squelettisation. . . . . . .
Nombre de motifs dans un objet avec un trou, pour le calcul du genre. . . . . .
Nombre de motifs dans un objet avec une cavit, pour le calcul du genre. . . . .
Diffrentes quantits pour le calcul du genre dobjets. . . . . . . . . . . . . . .
Calculs des nombres topologiques sur quelques exemples. . . . . . . . . . . .
Tableau rcapitulatif du nombre de configurations ayant pour nombres topologiques un certain couple de valeurs, avec la connexit (6, 26). . . . . . . . . . .
Tableau rcapitulatif du nombre de configurations ayant pour nombres topologiques un certain couple de valeurs, avec la connexit (26, 6). . . . . . . . . . .
Classification topologique. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 24
. 25
. 32
. 33
. 33
. 39
. 39
.
.
.
.

51
52
57
59

. 62
. 62
. 64

10.1 Contre-exemple pour la variante dabaissement selon lapproche topologie des


coupes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
D.1 Les isomtries dans Z 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

Liste des algorithmes


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

Schma squentiel de squelettisation. . . . . . . . . . . . . . . . . . . . . .


Schma parallle de squelettisation, selon lapproche directionnelle. . . . .
Schma parallle de squelettisation, selon lapproche sous-mailles. . . . . .
Schma parallle de squelettisation, selon lapproche fortement parallle. .
Algorithme P -simple de Bertrand (B E _PS). . . . . . . . . . . . . . . . . .
Premier schma de squelettisation par suppression de points P -simples. . .
Deuxime schma de squelettisation par suppression de points P -simples. .
Troisime schma de squelettisation par suppression de points P x -simples.
Algorithme de squelettisation ultime dans |H 2 |. . . . . . . . . . . . . . . .
Algorithme de squelettisation curviligne dans |H 2|. . . . . . . . . . . . . .
Algorithme de squelettisation ultime dans |H 3 |. . . . . . . . . . . . . . . .
Algorithme de squelettisation curviligne dans |H 3|. . . . . . . . . . . . . .
Algorithme de squelettisation surfacique dans |H 3|. . . . . . . . . . . . . .
Algorithme de squelettisation ultime dans (H 2 , , F ). . . . . . . . . . . . .
Algorithme de squelettisation curviligne dans (H 2 , , F ). . . . . . . . . . .
Algorithme de filtrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithme de Zhang et Suen (ZS). . . . . . . . . . . . . . . . . . . . . .
Algorithme de L et Wang (LW). . . . . . . . . . . . . . . . . . . . . . . .
Algorithme de Guo et Hall (GH_A1). . . . . . . . . . . . . . . . . . . . .
Algorithme de Rosenfeld (ROS). . . . . . . . . . . . . . . . . . . . . . . .
Algorithme de Guo et Hall (GH_A2). . . . . . . . . . . . . . . . . . . . .
Algorithme de Holt, Stewart, Clint et Perrott (HSCP). . . . . . . . . . . . .
Algorithme de Hall (HSCPN). . . . . . . . . . . . . . . . . . . . . . . . .
Algorithme de Guo et Hall (GH_AFP1). . . . . . . . . . . . . . . . . . .
Algorithme de Guo et Hall (GH_AFP2). . . . . . . . . . . . . . . . . . .
Algorithme de Guo et Hall (GH_AFP3). . . . . . . . . . . . . . . . . . .
Algorithme de Chin, Wan, Stover et Iverson (CWSI). . . . . . . . . . . . .
Algorithme de Wu et Tsai (WT). . . . . . . . . . . . . . . . . . . . . . . .
Algorithme de Manzanera et Bernard (MB_2D). . . . . . . . . . . . . . .
Algorithme de Palgyi et Kuba en 6 sous-itrations (PA K U6). . . . . . . . .
Algorithme de Gong et Bertrand en 6 sous-itrations (G O B E). . . . . . . .
Algorithme de Palgyi et Kuba en 12 sous-itrations (PA K U12_O LD). . . .
Algorithme de Bertrand et Aktouf (B E A K). . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

69
70
71
72
84
100
100
100
180
181
196
197
199
215
216
236
253
256
257
258
259
266
267
268
269
270
271
273
275
289
293
297
305

xxii
34
35
36
37

LISTE DES ALGORITHMES


Algorithme hybride de Palgyi et Kuba (PA K U H).
Algorithme de Ma (M A). . . . . . . . . . . . . . .
Algorithme de Ma et Sonka (M A S O). . . . . . . .
Algorithme de Manzanera et Bernard (MB_3D). .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

309
316
319
322

Introduction

Avant-propos
Situation gnrale
Cette thse est consacre ltude dalgorithmes de squelettisation dimages, une importance
plus particulire est donne ici la squelettisation parallle dimages 3D binaires, mme si la
squelettisation pour images 2D binaires ou en niveaux de gris est tudie.
Le but premier dun algorithme de squelettisation est de fournir une image simplifie, appele squelette, partir dune image initiale en entre ; lalgorithme opre alors par suppression
de certains points de limage initiale. Le processus de squelettisation peut tre conu de faon
contrler les proprits que lon souhaite prserver de lobjet initial, et par consquent retrouver
dans le squelette. La contrainte principale concerne la prservation de la topologie : nous obtenons ainsi un squelette tmoignant des proprits topologiques de limage initiale. Il est alors
plus facile de manipuler le squelette pour en dduire des proprits de limage initiale. Une autre
contrainte peut concerner la prservation de caractristiques gomtriques : par exemple, la prservation de courbes ou de surfaces durant le processus de squelettisation, tmoignant ainsi de
parties allonges dans limage initiale. Une telle opration de suppression de points amne la
notion fondamentale de point simple : un point est dit simple si sa suppression dun objet prserve la topologie de cet objet (notion squentielle). Si lon souhaite prserver des proprits
gomtriques, un algorithme devra prserver certains points simples, appels points terminaux
ou points extrmits. Bien entendu, afin dtre efficace, un algorithme de squelettisation doit tre
conu de faon supprimer des points en parallle (et si possible de faon symtrique, afin dobtenir un bon centrage des squelettes). Mais la suppression parallle de points simples peut ne
pas prserver la topologie. Ce qui conduit proposer des algorithmes utilisant des stratgies de
suppression et ne supprimant quun sous-ensemble des points simples dune image, un instant
donn.
Les algorithmes de squelettisation sont utiliss pour limagerie mdicale (simplification dangiographies [MS96], segmentation de la couche externe de la tte [BC00], du cortex crbral
[DC02], du rseau vasculaire du foie [DLPB99a] [DLPB99b] [Dok00], voir galement [SNK94]
[WB00]), lextraction de caractristiques (reconnaissance de caractres [LS95], extraction de
minuties dans les empreintes digitales [CBB99] [FKVL99]), la science des matriaux (cf. la
morphologie mathmatique [Ser82]), la compression dimages, la polydrisation [BM00], lanimation graphique, etc.
Dans [LS95], il est dit quil existe plusieurs centaines dalgorithmes de squelettisation pour
images 2D. Juste avant cette thse, il nexistait quune vingtaine dalgorithmes pour traiter les
images 3D. Les raisons en sont que la topologie est intrinsquement plus complexe en 3D quen

Introduction

2D et quil est difficile de concevoir un algorithme de squelettisation pour images 3D prservant


la topologie.

Problmatique
La notion de point simple est une notion squentielle en ce sens que la suppression itrative
de points simples prserve la topologie (digitale). La suppression parallle de points simples peut
ne pas prserver la topologie. Cest le cas par exemple pour un ruban dpaisseur 2 pour lequel
tous les points sont simples ; la suppression en parallle des points simples limine cet objet
et la topologie nest pas prserve. En 2D, une stratgie directionnelle a t propose par A.
Rosenfeld [Ros75], [RK82] : elle consiste liminer des points simples ayant leur voisin selon
une direction donne dans le complmentaire de lobjet, puis considrer dautres directions.
Mais cette stratgie ne fonctionne pas si elle est tendue directement au cas 3D.
Dautres stratgies ont t proposes : la stratgie utilisant des sous-mailles (subdivision de
limage), ou la stratgie fortement parallle (utilisation dun voisinage tendu).
Dans chacun de ces cas, la proposition de tels algorithmes est dlicate, leur mise en uvre
est complexe (directions, isomtries, voisinages tendus). Les squelettes ne sont pas bien dfinis
(dans le sens quils dpendent de lordre des directions, dactivation des sous-mailles) ou ne
sont pas minces. De plus, certains algorithmes (non simulables directement par ordinateur) ne
prservent pas la topologie, comme nous le rvlons dans ce mmoire,
En 1995, G. Bertrand a propos une solution au problme de la squelettisation parallle par
lintroduction des points P -simples. Des algorithmes, bass sur la suppression des points P simples, ont t proposs ; ils utilisent alors les stratgies prcdentes, mais exigent un voisinage
tendu ou un tiquetage prliminaire.

Notre contribution
Contribution selon lapproche topologie digitale
Afin de mieux comprendre les mcanismes intrinsques aux algorithmes de squelettisation,
une part importante de notre travail a consist dissquer des algorithmes classiques de squelettisation afin de mettre en vidence leurs avantages et leurs inconvnients.
Nous proposons une dmarche de conception dalgorithmes bass sur la suppression de
points P x -simples (classe de points P -simples, dfinie dans ce mmoire), et drivant dalgorithmes existants ; cela afin dobtenir des proprits concernant la prservation de la topologie
et leur efficacit. Cette variante des points P -simples permet de saffranchir de lexamen dun
voisinage tendu ou dun tiquetage prliminaire. Cela nous amne rflchir sur la vrification
systmatique de la validit (au sens de la prservation de la topologie) dalgorithmes de squelettisation. Nanmoins, nos algorithmes souffrent des mmes limitations que les autres en ce qui
concerne les squelettes obtenus, puisque nos algorithmes utilisent les mmes schmas de squelettisation (mais pas le mme type de point supprim). Nous avons galement prouv que deux
algorithmes de rfrence ne prservaient pas la topologie.

3
Ncessit dune nouvelle approche : la topologie discrte
Afin de pallier les difficults prcdentes, nous avons le choix de remettre en cause soit le
cur des schmas de squelettisation, soit le type de point supprim. En 1999, G. Bertrand a
propos une tude concernant lhomotopie dans les ordres [Ber99]. Cette tude a permis dune
part de proposer la notion fondamentale de point -unipolaire, puis celle de point n -simple ;
et dautre part de driver aisment de nouveaux types dalgorithmes supprimant des points n simples. Toute notre tude est fonde sur la dfinition de point unipolaire (et sur celle de point n simple) et sur la proprit remarquable de pouvoir supprimer en parallle les points -unipolaires
tout en prservant la topologie (i.e. la topologie discrte de lordre dans lequel nous travaillons).

Contribution selon lapproche topologie discrte


Nous proposons un schma de squelettisation qui sadapte aux images 2D binaires aussi
bien quaux images 3D binaires ou aux images 2D en niveaux de gris. Seul le type de point
limin varie, mais il est dfini, par exemple en 3D partir de celui des points que nous pouvons
supprimer en 2D (notion gnrale de point n -simple). Nous avons propos une notion formelle
de point terminal de surface, grce laquelle les squelettes obtenus prsentent des proprits
gomtriques satisfaisantes ; cette notion est loin de celles empiriques proposes dans le cadre
de la topologie digitale. De plus, laide dune transformation multipliant la taille de limage,
nous obtenons des squelettes bien centrs, bien dfinis (au sens quils ne laissent pas de place
larbitraire alors que cest le cas avec lapproche topologie digitale, selon laquelle les squelettes
dpendent de lordre choisi des directions, de lactivation des sous-mailles), minces et nutilisant
pas de voisinage tendu. travers ltude de filtrage topologique, nous illustrons le fait que ce
cadre est trs prometteur en ce qui concerne des traitements parallles sur des images.

Notre contribution : conclusion


Dune part, nous avons propos de nouveaux algorithmes de squelettisation selon lapproche
topologie digitale [LB01] [LB02b] [LB]. Ceux-l sont plus efficaces que ceux dont ils drivent.
Nous avons mis en vidence deux algorithmes ne prservant pas la topologie [LB02a].
Dautre part, nous avons propos de nouveaux algorithmes de squelettisation selon une nouvelle approche qui semble particulirement prometteuse en ce qui concerne les oprations parallles sur les images [LB99] [LB00a] [LB00b].

Perspectives
Nos rsultats permettent denvisager par la suite :
selon lapproche topologie digitale, de proposer les corrections de deux algorithmes de
squelettisation, dapprofondir ltude dune vrification systmatique par ordinateur de la
prservation de la topologie de certains algorithmes, et cela avec une variante des points

Introduction
P x -simples, enfin de proposer des variantes dun autre algorithme existant, soit supprimant
plus de points, soit utilisant un voisinage moindre [LB02c].
selon lapproche topologie discrte, dapprofondir ltude de la prservation de la topologie dans le cas 3D et ltude ralise dans le cadre des images 2D en niveaux de gris, de
formaliser une notion de distance dans les ordres permettant lobtention de proprits pour
nos squelettes et par exemple, une reconstruction parallle (i.e. la rcupration de lobjet
initial engendrant le squelette partir du squelette).

Plan dtaill du manuscrit


Ce document est divis en quatre parties :
* La partie I propose un tat de lart prsentant les notions de base de topologie digitale.
Le chapitre 1 prsente les dfinitions de base de la topologie digitale : voisin, adjacence,
chemin, connexit, composante connexe, trou.
Le chapitre 2 porte sur la simplicit dans le cas 2D, traite travers la notion de genre
puis par diffrentes proprits locales (dans un voisinage rduit autour dun point) ou
globales (dans limage). Des prcisions sont apportes sur ce que nous entendons par
prservation de la topologie. Diffrentes caractrisations dun point simple sont proposes (notamment, celle utilisant les nombres topologiques). Des problmes lis la
suppression parallle de points nous amnent alors prsenter les notions densemble
simple et densemble minimal non simple.
Le chapitre 3 est lextension du chapitre 2 au cas 3D : il traite de la simplicit en 3D.
Ce chapitre rend compte de la diffrence de difficult entre les notions 2D et les notions
3D, travers les exemples de calcul de genre par exemple. En 3D, la caractrisation
dun point simple la plus facile mettre en uvre et la plus efficace est celle effectue
laide des nombres topologiques ; notons quen 2D cela tait moins significatif. Sont
ensuite prcises les notions densemble simple, densemble minimal non simple, dans
le cadre dune suppression parallle de points.
Le chapitre 4 est un chapitre introductif aux algorithmes de squelettisation. Il dcrit
brivement diffrents schmas dalgorithmes. Les diffrentes stratgies mises en uvre
par les algorithmes oprant par suppression parallle de points sont tudies, savoir
la division dune itration en plusieurs sous-itrations (directionnelles, sous-mailles) ou
lexamen dun voisinage tendu (conduisant aux algorithmes fortement parallles). Certains algorithmes existants utilisant de telles mthodes sont analyss dans les annexes A
et B.
* La partie II propose de nouveaux algorithmes bass sur la suppression de points P -simples
et teste si la topologie est prserve par certains algorithmes de squelettisation (dtaills
dans lannexe B).
Le chapitre 5 rappelle la notion remarquable de point P -simple (dfinie par rapport
un ensemble P ). Nous avons la proprit de pouvoir supprimer en une seule fois un ensemble de points P -simples, tout en prservant la topologie. Un algorithme oprant par
suppression de points P -simples sera rappel. Un algorithme, oprant par suppression

5
de points P -simples, utilise soit une phase prliminaire dtiquetage (des points P ),
soit lexamen dun voisinage tendu, soit lutilisation de listes de contours, afin de pouvoir caractriser un point P -simple ; ce qui rend difficile la comparaison avec dautres
algorithmes de squelettisation classiques nexigeant aucune de ces stratgies. Notons
quun processus oprant par suppression de points P -simples prserve la topologie, par
la dfinition mme dun point P -simple, et ne ncessite alors aucune preuve supplmentaire contrairement aux algorithmes nutilisant pas cette technique. Il sagit en quelque
sorte, dune dmarche inverse de conception dalgorithmes, par rapport celle adopte
dans le cadre des algorithmes pour images 3D binaires, dj proposs.
Le chapitre 6 constitue une nouvelle contribution en ce qui concerne les algorithmes de
squelettisation, plusieurs titres :
Nous avons dabord introduit un nouvel ensemble P x dfini localement pour tout
point x et partir dun ensemble P . Cela nous permet de proposer des algorithmes de
suppression parallle de points P x -simples, ne ncessitant maintenant ni une phase
prliminaire dtiquetage, ni lexamen dun voisinage tendu, ni les listes de contour,
afin de savoir si un point est P x -simple, et par consquent sil peut tre limin. Dsormais, nous pouvons comparer de tels algorithmes avec les algorithmes classiques
existants.
De faon gnrale, nous considrons un algorithme de rfrence A. Puis, nous montrons que A prserve la topologie, en prouvant que les points supprims par A sont
P -simples. Ensuite, nous nous efforons de proposer un algorithme A  (par raffinements successifs de P laide dune simulation par ordinateur), oprant par suppression de points P x -simples, tel que A supprime au moins les points retirs par
A. La consquence en est double : A et A prservent la topologie, car ils oprent
par suppression de points P x -simples (on a ainsi une autre preuve par simulation par
ordinateur de la validit de A), A retire plus de points que A, au moins lors de la premire sous-itration. En fait, nous avons russi proposer un tel algorithme retirant
au moins les points supprims par deux algorithmes de type 6 sous-itrations, puis
nous avons appliqu de nouveau cette mthodologie base de suppression de points
P x -simples et de raffinements successifs de lensemble P , un algorithme de type 12
sous-itrations.
Nous montrons ensuite avec les points P -simples que deux algorithmes classiques
fortement parallles bass sur les points simples ne prservent pas la topologie, et
quun autre (le seul restant) prserve bien la topologie. En fait, nous corrigeons actuellement les deux premiers avec leur auteur laide des points P x -simples. Une
perspective intressante consisterait proposer une variante du troisime algorithme,
en esprant supprimer au moins les points quil supprime, ou en utilisant un plus petit
voisinage.
* La partie III prsente de nouveaux algorithmes selon une approche topologie discrte, suite
ltude de lhomotopie dans les ordres, rcemment propose par G. Bertrand.
Le chapitre 7 introduit les notions de base pour cette approche, notamment celles dordre,
de point -unipolaire, de point n -simple, densemble n-contractile. Notons quun processus de suppression de points est au cur mme des deux dernires notions, qui sont

Introduction
elles-mmes rcursives et croises entre elles. Ces notions seront en fait explicites et
simplifies dans les deux chapitres 8 et 9, ddis aux images 2D binaires, et 3D binaires.
Le chapitre 8 prsente un algorithme de squelettisation dimages 2D binaires. Il sagit
dun schma simple, utilisant un voisinage restreint afin de dcider de la suppressibilit
dun point et produisant des squelettes minces et bien centrs. Des comparaisons avec
dautres algorithmes classiques (prsents en annexe A) y sont reportes.
Le chapitre 9 prsente un algorithme de squelettisation dimages 3D binaires. Une nouvelle approche du concept de point terminal de surface, base sur celle darbre de la
thorie des graphes, est adopte.
Le chapitre 10 tend les rsultats obtenus dans le chapitre 8 aux images 2D en niveaux
de gris, de la mme faon que cela avait t fait par lapproche topologie des coupes
drive de la topologie digitale. Les notions de point -destructible et dordre valu y
sont dfinies. Nous prsentons un algorithme de squelettisation qui consiste en labaissement parallle de points -destrutibles. Diffrents problmes, non encore rsolus, sont
formuls concernant la valeur dabaissement quun point peut prendre afin de prserver
la topologie, sil est abaiss seul ou en parallle avec dautres points.
Le chapitre 11 dcrit une application concernant le filtrage parallle topologique de
squelettes curvilignes 2D ou 3D ; des rsultats sont galement donns dans le cas de
squelettes surfaciques 3D.
* La partie IV comprend quatre annexes :
Lannexe A passe en revue diffrents algorithmes 2D. Cette tude permet de mieux
comprendre le droulement dun algorithme de squelettisation, et de mieux percevoir
les problmes lis la suppression en parallle (un des algorithmes dtaills ici ne prserve pas la topologie). Elle souligne aussi les diffrences entre les rsultats obtenus
par les algorithmes de classes diffrentes. Les diffrentes tapes successives de lamlioration dun algorithme de base, afin dviter ou de solutionner diffrents problmes,
sont galement prsentes. travers cette tude, nous verrons enfin quun algorithme
fortement parallle peut considrer des directions (et celles-l sont le prix payer afin
davoir un squelette mince, mais pas forcment bien centr ; et exiger lexamen dun
voisinage plus petit que ne limpose un algorithme fortement parallle qui naurait pas
de conditions directionnelles et qui, retirant des points de faon isotrope, produit des
squelettes minces et bien centrs). Cet inconvnient saccrot en 3D ; cest dailleurs ce
qui a rendu difficiles la proposition dalgorithmes fortement parallles efficaces, et les
tests de sa validit (prservation de la topologie).
Lannexe B constitue un recueil de fiches signaltiques dun grand nombre dalgorithmes classiques de squelettisation dimages 3D binaires, algorithmes qui sont dissqus au chapitre 6.
Lannexe C propose une tude dtaille des graphes de dcision binaire. Un tel outil
algorithmique nous a permis de coder efficacement les configurations correspondant
des points devant tre limins par un algorithme (voir lannexe B et le chapitre 9).
Lannexe D dcrit sommairement les isomtries utilises lors de limplmentation de
nos algorithmes ou (chapitres 6 et 9) celle des algorithmes classiques (annexe B).

Premire partie
Topologie digitale,
simplicit et
schmas de squelettisation

Chapitre 1
Notions de base de topologie digitale
Dans ce chapitre, nous prsentons les notions de base de topologie digitale dans le cas
des images binaires bidimensionnelles ou tridimensionnelles. Nous avons prfr expliciter un
concept 2D, puis lexpliquer ensuite dans le cas 3D. Nous introduisons les notions dimage,
de pixel, de voxel, dadjacence, de voisin, de connexit, de composante connexe. Puis avec les
notions de courbe ouverte simple et de courbe ferme simple, nous illustrons le paradoxe du
thorme de Jordan, dans le cas discret. Celui-l nous montre quil faut utiliser deux adjacences
diffrentes pour les deux constituants de limage binaire ( savoir lobjet et son complmentaire).
Nous pouvons alors dfinir plus prcisment les notions dimage discrte (ou digitale) (en utilisant ces deux adjacences diffrentes) et formaliser les notions prcdentes (composante connexe
pour lobjet ou son complmentaire, chemin, etc.). Nous terminerons par la notion de trou.

1.1 Espace discret de reprsentation dune image binaire


1.1.1 Pavage et maillage [CM91]
Partitionnons R2 en un pavage rgulier, i.e. par des polygones convexes rguliers (cts
gaux et angles gaux) et identiques, de telle faon que leurs sommets ne se rencontrent quen
dautres sommets. De tels polygones sont appels des tesselles. Un maillage peut tre associ
ce pavage de la faon suivante. On associe le centre de gravit P lintrieur de chacune des
tesselles TP du pavage. Les points P sont appels pixels (pour picture elements). Puis tout point
P est associ lensemble des points Q tels que T P et TQ ont une arte commune. Lensemble de
tous les segments (P, Q) ainsi dfinis forme le maillage (Fig. 1.1). En fait, pavage et maillage
sont des reprsentations duales du plan.

1.1.2 Image discrte binaire et maillage


Nous travaillons sur des images discrtes (ou digitales) binaires (voir [CM91] pour la discrtisation dune image relle, voir [Mar87] pour une introduction aux images selon une approche
physique). Une telle image peut tre vue comme un ensemble fini de tesselles. Nous nous limi-

10

Notions de base de topologie digitale

Q
Q

tesselle Tp

F IG . 1.1 Un pavage (en trait continu) et le maillage associ (en trait discontinu).

tons au cas pour lequel les tesselles sont des carrs, et utilisons alors le maillage carr (ou maille
carre). Dans un tel maillage, un pixel est repr par ses coordonnes (i, j), i indiquant la ligne
et j indiquant la colonne lintersection desquelles se situe le pixel. Ce maillage peut tre stock
dans une structure de donnes de type matriciel (mij ). Une image binaire peut tre vue comme
lunion de deux ensembles : lensemble constitu par les tesselles blanches (ou tesselles-objets)
et lensemble constitu des tesselles noires (ou tesselles du complmentaire, sous-entendu de
lensemble des tesselles-objets).
Nous pouvons alors associer chaque tesselle Tij de limage discrte, un pixel Pij de coordonnes (i, j) dans le maillage. Par convention, la prsence dun disque de couleur noire (ou
point noir), dont le centre est de coordonnes (i, j) dans le maillage, signifiera que la tesselle T ij
correspondante est de couleur blanche (tesselle-objet), et dans ce cas mij vaudra 1. Par convention toujours, une tesselle T ij de couleur noire (tesselle du complmentaire) sera reprsente par
un disque de couleur blanche (ou point blanc), dont le centre est de coordonnes (i, j) dans le
maillage, auquel cas mij vaudra 0. Afin dallger la reprsentation, une tesselle du fond ne sera
pas toujours reprsente, de mme quun point du maillage associ une telle tesselle (i.e. lorsquun disque nest pas dessin dans le maillage, le pixel correspondant traduira la prsence dune
tesselle du complmentaire) (Fig. 1.2).

1.1.3 Cas des images binaires tridimensionnelles


Lextension au cas 3D est directe. Les points P du maillage sont appels voxels (pour volume
elements). Les tesselles sont des cubes et on utilise alors le maillage cubique (ou maille cubique)
afin de reprsenter une image binaire tridimensionnelle. Ce maillage sera stock dans une matrice
(mijk ) avec i lindice de la ligne, j lindice de la colonne et k lindice du plan (Fig. 1.3).
Remarque : Par la suite, nous parlerons dun concept dans Z 2 ou concept 2D (resp. Z 3
ou 3D) lorsque nous nous rfrerons un concept dans lespace discret constitu des points du
maillage carr (resp. cubique).

1.2 Distances

11
j

(a)

0
0

0
0
(b)

0
1
0
0

0
0

0
0

(c)

F IG . 1.2 (a) Image discrte, (b) sa reprsentation dans le maillage


stockage.
k
j
i

0 1
0 0 0 0 1
0 0 0 0 0
0 0 1
(b)

(a)

0
1
1
0

carr, (c) sa matrice de

0
0
0

0 0 0 0
1 0 0 0
0

(c)

F IG . 1.3 (a) Image discrte, (b) sa reprsentation dans le maillage cubique, (c) sa matrice de
stockage (plans successifs selon k).

1.2 Distances
On dfinit les distances suivantes dans ces deux mailles [BM94] (on rappelle quune distance
est dfinie positive, rflexive et vrifie lingalit triangulaire, voir galement [Bor84] [Bor86]) :
Distances 2D
Soient x(x1 , x2 ) et y(y1, y2 ) Z 2 ,
d4 (x, y) =

2


|yi xi | (City Block Distance ou Square Distance),

i=1

d8 (x, y) = max|yi xi | (Chessboard Distance ou Diamond Distance).


i=1,2

Distances 3D
Soient x(x1 , x2 , x3 ) et y(y1 , y2, y3 ) Z 3 ,
d6 (x, y) =

3


|yi xi |,

i=1

d26 (x, y) = max |yi xi |.


i=1,2,3

12

Notions de base de topologie digitale

1.3 Voisinages, voisins et points adjacents


laide des distances prcdentes, on dfinit les voisinages suivants [BM94] (voir Fig. 1.4) :
Voisinages 2D
Soit x Z 2 ,

N4 (x) = {y Z 2 ; d4 (x, y) 1},


N8 (x) = {y Z 2 ; d8 (x, y) 1}.

Voisinages 3D
Soit x Z 3 ,

N6 (x) = {y Z 3 ; d6 (x, y) 1},


N18 (x) = {y Z 3 ; d6 (x, y) 2 et d26 (x, y) 1},
N26 (x) = {y Z 3 ; d26 (x, y) 1}.

Dfinitions (n-voisinage, points n-adjacents) : Notons Nn (x) = Nn (x) \ {x}. Les points
de Nn (x) forment le n-voisinage et sont au nombre de n (Fig. 1.4 (a) (e)). Deux points x et y
de Z 2 ou Z 3 sont n-adjacents si y Nn (x) (avec n = 4 ou 8 pour Z 2 , et n = 6, 18 ou 26 pour
Z 3 ).
On dfinit les types de voisins suivants :
En 2D
Les points - de N4 (x) sont les 4-voisins de x
(ou voisins directs, au nombre de 4) (Fig. 1.4 (f ))
et correspondent une tesselle partageant une arte avec la tesselle de x
(Fig. 1.4 (g)),
- de N8 (x) \ N4 (x) sont les 8-voisins de x
(ou voisins diagonaux ou indirects, au nombre de 4) (Fig. 1.4 (h))
et correspondent une tesselle partageant un sommet uniquement
avec la tesselle de x (Fig. 1.4 (i)).
En 3D
Les points - de N6 (x) sont les 6-voisins de x
(ou voisins directs, au nombre de 6) (Fig. 1.4 (j))
et correspondent une tesselle partageant une face avec la tesselle de x
(Fig. 1.4 (k)),

- de N18
(x) \ N6 (x) sont les 18-voisins de x
(ou voisins diagonaux, au nombre de 12) (Fig. 1.4 (l))
et correspondent une tesselle partageant une arte et sans face commune
avec la tesselle de x (Fig. 1.4 (m)),

- de N26
(x) \ N18
(x) sont les 26-voisins de x
(ou voisins diamtralement opposs, au nombre de 8) (Fig. 1.4 (n))
et correspondent une tesselle partageant un sommet uniquement
avec la tesselle de x (Fig. 1.4 (o)).

1.4 Thorme de Jordan dans R2

N8 (x)
N4 (x)
4-voisinage 8-voisinage
(a)
(b)

N6 (x)
6-voisinage
(c)

8-voisins
(h)

6-voisins
(j)

(g)

(i)

(k)

N18
(x)
18-voisinage
(d)

4-voisins
(f )

13

N26
(x)
26-voisinage
(e)

18-voisins
(l)

26-voisins
(n)

x
x
(m)

(o)

F IG . 1.4 Voisinages 2D et 3D.

1.4 Thorme de Jordan dans R 2


Dans cette section, nous illustrons le fait que si nous voulons vrifier le thorme de Jordan
dans le cas 2D ou 3D (lanalogue discret du thorme de Jordan), alors il faut utiliser deux adjacences diffrentes pour lobjet et son complmentaire (problme connu sous le nom de paradoxe
du thorme de Jordan dans le cas discret). Les notions utilises de courbe et de composante
connexe seront formalises la section suivante, elles sont utilises ici de faon intuitive.
Thorme de Jordan dans R2 : [CM91]
Toute courbe ferme simple (c.--d. ne se recoupant pas elle-mme) spare le plan en deux
domaines (ensembles connexes) qui sont le domaine intrieur et le domaine extrieur de la courbe
(voir Fig. 1.5).

1.4.1 Illustration du paradoxe de lanalogue discret du thorme de Jordan


Notons (m, n) le couple pour lequel la m-adjacence est utilise pour lobjet et la n-adjacence
pour son complmentaire (i.e. deux points noirs sont adjacents sils sont m-adjacents et deux
points blancs sont adjacents sils sont n-adjacents). Intuitivement, une composante noire (resp.

14

Notions de base de topologie digitale

courbe ferme simple


intrieur

extrieur
F IG . 1.5 Illustration du thorme de Jordan dans R 2 .

(b)

(c)

(d)

(e)

(a)

F IG . 1.6 Illustration du paradoxe du thorme de Jordan dans Z 2 . (a) Image, (b) (m, n) =
(4, 4), (c) (m, n) = (8, 8), (d) (m, n) = (8, 4), (e) (m, n) = (4, 8). En trait continu (resp.
pointill, sont reprsentes les adjacences entre les points noirs (resp. points blancs) ou la dlimitation des composantes noires (resp. blanches) formes dun seul point.
blanche) sera un ensemble maximal de points noirs m-adjacents (resp. points blancs n-adjacents).
Considrons la figure Fig. 1.6 (a). Si la 4-adjacence est utilise pour les couples de points
de mme couleur, alors les points noirs ne sont pas connects mais ils sparent lensemble des
points blancs en deux composantes (Fig. 1.6 (b)) (le thorme nest pas vrifi). Si la 8-adjacence
est utilise pour les couples de points de mme couleur, alors les points noirs forment lanalogue
discret dune courbe, mais ils ne sparent pas les points blancs (Fig. 1.6 (c)) (le thorme nest
pas vrifi). La difficult est leve si nous utilisons la 8-adjacence pour les points noirs et la 4adjacence pour les points blancs (Fig. 1.6 (d)) (dans ce cas, une composante noire spare deux

1.5 Dfinitions [KR89]

15

F IG . 1.7 Illustration du paradoxe du thorme de Jordan dans Z 3 .


composantes blanches), ou vice versa (Fig. 1.6 (e)) (dans ce cas, nous avons une composante du
fond et quatre composantes connexes de lobjet).
Dans Z 3 , apparaissent les mmes problmes quauparavant, savoir lexistence de deux
ensembles de points blancs (le fond et la composante forme du point central) non spars par
un ensemble de points noirs (cas (6, 6), voir la figure 1.7), ou lexistence dune composante noire
intuitivement une surface discrte ne sparant pas deux composantes blanches (cas (26, 26),
(18, 18), (18, 26), (26, 18)). Pour vrifier lanalogue discret du thorme de Jordan dans Z 3 , nous
utilisons la 6-adjacence pour les points blancs et la 18- ou la 26-adjacence pour les points noirs,
ou vice versa.
Le fait dutiliser diffrentes sortes dadjacence pour les points noirs et les points blancs nous
permet maintenant de dfinir plus prcisment les notions dimage discrte, dadjacence, de chemin, de composante connexe, de courbe.

1.5 Dfinitions [KR89]


Nous rappelons ici les dfinitions proposes par Kong et Rosenfeld dans larticle fondamental
concernant la topologie digitale [KR89].

1.5.1 Image et points


Une image discrte (ou digitale) est un quadruple (V, m, n, B) avec V = Z 2 ou V = Z 3 ,
B V et (m, n) = (4, 8) ou (8, 4) si V = Z 2 et (m, n) = (6, 26), (26, 6), (6, 18) ou (18, 6)
si V = Z 3 . Nous disons que (m, n) est la connexit choisie pour limage. Dans la suite de ce
mmoire, pour le cas 3D, nous ne tiendrons compte que des connexits (26, 6) et (6, 26). Limage
discrte I = (V, m, n, B) est dite bidimensionnelle (resp. tridimensionnelle) si V = Z 2 (resp.
si V = Z 3 ) ; lorsquil ny a pas ambigut, nous crirons une (m, n)-image. Les lments de
V sont appels les points de limage discrte. Les points de B sont appels les points noirs de
limage. Les points de V \ B sont appels les points blancs de limage.

16

Notions de base de topologie digitale

(a)

(b)

(c)

F IG . 1.8 Diffrentes relations dadjacence. (a) Image, (b) (m, n) = (4, 8), (c) (m, n) = (8, 4).
Une adjacence entre deux points noirs (resp. blancs, entre un point blanc et un point noir) est
reprsente en trait continu (resp. pointill, mixte).

1.5.2 Adjacence
Deux points noirs sont adjacents sils sont m-adjacents (nous dirons que nous utilisons la
m-connexit pour lobjet), deux points blancs ou un point blanc et un point noir sont adjacents
sils sont n-adjacents (nous dirons que nous utilisons la n-connexit pour le complmentaire ;
ou entre lobjet et le complmentaire) (voir Fig. 1.8). Le fait dutiliser la n-adjacence entre un
point blanc et un point noir est exploit afin de caractriser les points de bord (voir section 1.5.5).
Un point p est adjacent un ensemble de points S si p est adjacent au moins un point de S.
Un ensemble de points S est adjacent un ensemble de points T si au moins un point de S est
adjacent un point de T .

1.5.3 Connexit
Un ensemble S de points noirs et/ou de points blancs est connexe si S ne peut tre partitionn
en deux sous-ensembles non adjacents entre eux. Une composante connexe (abrvie parfois
en CC) dun ensemble S de points noirs et/ou de points blancs est un sous-ensemble connexe
non vide de S qui nest pas adjacent un autre point de S. Une composante de lensemble
des points noirs de limage est appele composante noire et une composante de lensemble des
points blancs est appele composante blanche. Dans une image discrte finie (c.--d. lorsque B
est un ensemble fini), il existe une unique composante blanche infinie (dlimite par le cadre de
limage), elle est appelle fond (ou background). Les composantes blanches finies sont appeles
les cavits.

1.5.4 Chemin
Pour tout ensemble S de points, un chemin dans S est une suite < p i ; 0 i n > de points
de S telle que pi est adjacent pi+1 pour tout 0 i < n. Un chemin < pi ; 0 i n > est dit
tre un chemin de p0 pn , et il est dit ferm si pn = p0 . Le chemin dgnr < p0 > constitu
dun seul point est un cas particulier de chemin ferm.

1.5 Dfinitions [KR89]

17

q
p
y
x

F IG . 1.9 Calculs de nombres de composantes connexes. Si (m, n) = (4, 8), alors B est form
de 2 CC et V \ B de 1 CC. Si (m, n) = (8, 4), alors B est form de 1 CC et V \ B de 2 CC.
Une autre faon de dfinir les composantes connexes est dutiliser la notion de chemin. Nous
disons que p et q sont connects dans S si et seulement si il existe un chemin inclus dans S et
reliant p q. La relation tre connect dans S est une relation dquivalence (i.e. rflexive,
symtrique et transitive). Les composantes connexes de limage sont les classes dquivalence
de cette relation.
Considrons la figure 1.9. Si (m, n) = (4, 8), B est compos de deux 4-composantes : une
4-composante forme du point q, lautre 4-composante forme de tous les autres points noirs (p
et q ne sont pas 4-adjacents) ; et V \ B est compos dune 8-composante (le fond) (x et y sont
8-adjacents). Si (m, n) = (8, 4), B est compos dune 8-composante (p et q sont 8-adjacents)
et V \ B est compos de deux 4-composantes : une 4-composante forme du point x, lautre
4-composante forme de tous les autres points blancs (x et y ne sont pas 4-adjacents).

1.5.5 Points particuliers et courbes


Un point noir est dit isol sil nest adjacent aucun autre point noir (au sens de m-adjacent).
Un point noir est un point de bord sil est adjacent un ou plusieurs points blancs (au sens de
n-adjacent), dans le cas contraire, il est appel point intrieur.
Une courbe noire ferme simple est un ensemble connexe de points noirs tel que chacun de
ses points est adjacent exactement deux autres points de cet ensemble. Un arc noir simple est
un ensemble connexe de points noirs tel que chacun de ses points est adjacent seulement deux
autres points de cet ensemble lexception de deux points les points extrmits darc qui
sont adjacents seulement un autre point de lensemble. Le terme de courbe ouverte simple sera
employ la place de celui darc, les points extrmits darc seront appels points extrmits de
courbe.
Considrons la figure 1.10 avec (m, n) = (8, 4). La figure 1.10 (a) reprsente une courbe
ouverte non simple (p2 et p4 ont 3 points qui leur sont 8-adjacents). La figure (b) (obtenue
partir de la figure 1.10 (a), en retirant le point p3 ) reprsente une courbe ouverte simple (p2 et p4
ont maintenant 2 points qui leur sont 8-adjacents).

18

Notions de base de topologie digitale

p1
p0

p2 p
3
p4

p1

p2

p0

p4

p5

(a)

p5

(b)

F IG . 1.10 Courbe ouverte (a) non simple (b) simple.

1.5.6 Thorme de Jordan dans Z 2


Nous formulons maintenant le thorme de Jordan dans Z 2 de la manire suivante.
Thorme de Jordan dans Z 2 : [CM91]
Le complmentaire de toute courbe ferme simple 4-connexe (resp. 8-connexe) est form de
deux composantes 8-connexes (resp. 4-connexes).
Remarque : Se reporter [KMW91] [Mal97] [ML00] pour une tude du thorme de Jordan
dans Z 3 (galement [KR85] daprs [KMW91]).

1.6 Notion de trou


La notion de trou nest pas simple dfinir. Par exemple, un tore plein a un trou, une balle
creuse a une cavit mais pas de trou, un tore creux comporte une cavit et deux trous.
Considrons une image binaire discrte (V, m, n, B). Un trou dans B est dtect lorsquil
existe un chemin ferm dans B qui ne peut tre dform dans B en un seul point [BM94] [Ber94].
Dans Z 3 , une dformation est une suite de dformations lmentaires telle quun chemin ferm
 est une dformation lmentaire dun chemin ferm si et  sont les mmes, except dans
un cube unit (voir [KR89] [Ber92]). Si la 6-connexit est utilise, le cube unit doit tre tel
quil nexiste pas deux points diamtralement opposs et appartenant V \ B (voir Fig. 1.11,
si cette restriction ntait pas utilise, le chemin abcP a pourrait tre dform en adef gbcP a et
traverserait ainsi le 26-chemin ferm hQih, il ny aurait alors plus dquivalence entre les trous
de B et ceux de V \ B ; pour plus de dtails, voir [Ber92], ainsi que la discussion sur le nombre
de trous de lobjet et de son complmentaire, au chapitre 3). Si la 26-connexit est utilise, il ny
a pas de restriction sur le cube unit.
Dfinition (objet simplement connexe) :
Un objet connexe et sans trou est dit simplement connexe.
Remarque : Dans le cas 2D, une composante finie du complmentaire peut tre entoure
par un chemin ferm non dformable en un seul point, un trou est alors dtect pour chaque

1.6 Notion de trou

19

h
a

P
b

e
f

g
i

F IG . 1.11 Restriction sur le cube unit lors de lutilisation de la 6-connexit pour la dtection
dun trou.
composante finie du complmentaire. Nous pouvons alors parler de trous pour les composantes
finies du complmentaire en 2D (ces deux entits sont en mme nombre), alors quelles sont
appeles cavits en 3D (en 3D, le nombre de trous nest pas forcment gal au nombre de cavits).
Parfois, en 3D, le terme de tunnel est employ la place de celui de trou [KR89] [Ma94].

20

Notions de base de topologie digitale

Chapitre 2
Genre 2D et simplicit
Dans le rapport technique [Mor80], nous trouvons diffrentes formules pour calculer le genre
2D ou 3D dun ensemble ou de son complmentaire, selon la connexit de limage. Dans un
premier temps, nous dtaillons lobtention de ces formules dans le cas 2D. Nous insistons sur le
fait que le calcul du genre dune image (le genre tant une proprit globale) peut seffectuer par
sommations dentits calcules localement sur limage. Lextension 3D peut tre obtenue de la
mme faon [Mor80] [PR71], seules les formules et propositions principales seront donnes au
chapitre 3.
Ensuite, nous introduisons la notion de point simple. Un point est dit simple si sa suppression
prserve la topologie de lobjet, nous prciserons ultrieurement ce que cela signifie. Retenons
ds prsent que la suppression de point simple est le processus mis en uvre dans un algorithme
de squelettisation (voir le chapitre 4 et les annexes A et B). Nous donnerons quelques proprits
des points simples ainsi que quelques caractrisations, notamment celle utilisant les nombres
topologiques. Au chapitre suivant, seront donnes quelques proprits et caractrisations de point
simple en 3D utilisant galement le genre ou les nombres topologiques.
Cette section se termine par la prsentation des notions densemble simple, densemble minimal non simple (ou MNS), mises en uvre gnralement pour montrer quun algorithme oprant
par suppression parallle de points, prserve la topologie.

2.1 Dfinition du genre [Mor80]


Nous dtaillons ici ltude complte de lobtention de la formule permettant de calculer
le genre dune image 2D (proprit globale de limage), par calculs locaux, somms sur toute
limage.
Lquation dEuler-Schaefli :
j

i=0

(1)i Ni = 1 + (1)j

(2.1)

Genre 2D et simplicit

22

(a)

(b)

F IG . 2.1 Calculs du genre. (a) Une seule composante S de B, (b) graphe planaire associ
( : faces de S, : faces des composantes de V \ S entoures par S, et : (lunique) face du
background).
dcrit la relation entre les nombres dlments de dimension diffrente dans une structure multidimensionnelle simplement connexe, confine un espace euclidien. Ici, N i est le nombre dlments de dimension i, et j est la dimension de la structure. En 2D (j = 2), cette quation (2.1)
permet de retrouver linvariant dEuler pour un graphe planaire :
V E+F =2

(2.2)

avec V = N0 le nombre de sommets, E = N1 le nombre dartes, et F = N2 le nombre de faces.


Soit une image discrte binaire bidimensionnelle (Z 2 , m, n, B). Considrons dabord le genre
dune seule composante 8-connexe S, avec S B. Nous lui associons un graphe de la faon
suivante : les sommets sont les coins des tesselles de S et les artes sont celles de ces tesselles.
On obtient ainsi un graphe planaire et simplement connexe (hypothse utilise pour lobtention
de lquation (2.1)). Sont distingus les trois types de faces suivants : les faces provenant des
tesselles de S (notes ), les faces provenant des composantes de Z 2 \ S entoures par S (notes
- faces qui sont des polygones n cts, avec n 4), la face du background (composante
infinie de Z 2 \ B) (note ) (voir lexemple de la figure 2.1).
Avec lquation (2.2), nous obtenons (en notant #x, le nombre de faces de type x) :
V E + F = V E + (# + # + #) = 2

(2.3)

Pour une composante connexe S, on a (# = 1) :


1 # = V E + #

(2.4)

Le nombre # est le nombre de faces rsultant des composantes de Z 2 \ S entoures par S,


i.e. les cavits de S (de faon quivalente les trous de S, en 2D). On peut voir que le nombre
de trous dans B est gal la somme des nombres de trous dans chaque composante S de B. En
sommant lquation (2.4) pour toutes les composantes de B (avec O(B) le nombre dobjets de
B et H(B) le nombre de trous de B), on obtient :
O(B) H(B) = V E + #

(2.5)

2.2 Calcul du genre 2D de faon locale

23

Dfinition (genre 2D) : Le genre Gm (B) dun ensemble B est le nombre dobjets (composantes m-connexes de B) (O(B)), moins le nombre de trous de B (H(B)), (m, n) tant la
connexit de limage.
Gm (B) = O(B) H(B)

(qu. (2.5))

V E + #

(2.6)

En calculant la quantit V E + # sur limage (somme de calculs locaux), il est alors


possible de calculer le genre de B : Gm (B) = O(B) H(B). Puis, avec un algorithme de
parcours de composante connexe [Sed91], on peut calculer O(B) ; on peut alors dterminer le
nombre de trous de B : H(B) (= Gm (B) O(B)). Avec lquation (2.6), il est alors possible
de caractriser un point tel que les nombres O(B) et H(B) ne changent pas avant et aprs la
suppression dun tel point (voir les propositions 4 et 5, page 28).

2.1.1 Genre du complmentaire


Rappelons que le genre G(B) dun ensemble B est le nombre dobjets (composantes de B)
(not O(B)), moins le nombre de trous de B (not H(B)) (quation (2.6)). En remarquant que
tout objet de B est un trou de Z 2 \ B (en 2D) (i.e. O(B) = H(Z 2 \ B)) et que tout objet de
Z 2 \ B except le fond est un trou de B (i.e. O(Z 2 \ B) 1 = H(B)), on obtient alors :
G(B) + G(Z 2 \ B) = 1

(2.7)

Lquation (2.7) nous permet de dterminer le genre du complment dun objet, partir du
genre de lobjet.

2.2 Calcul du genre 2D de faon locale


prsent, nous voulons calculer ces entits directement sur limage, sans passer par la reprsentation dans un graphe planaire. Il nous faut alors dcomposer les objets de limage en motifs
de base et dterminer la participation de chaque motif aux calculs de V , E, et # de lquation
(2.6).
Le tableau 2.1 (resp.2.2) dtaille la participation de chaque motif de base pouvant apparatre
dans un objet 8-connexe (resp. 4-connexe) (un 1 symbolise la prsence dune tesselle), lors du
calcul de V , E et # (i.e. on regarde la participation de chaque sommet, arte, face, ces quantits, lorsquelles sont sommes sur limage).
Dtails concernant le tableau 2.1 : La contribution dun motif 1 est de quatre sommets,
quatre artes et dune face, soit 4V + 4E + 1#. La contribution dun motif 2 est de 6V +
7E + 2#, or les points de ces motifs ont t considrs lors du calcul de la contribution de 1
(compte deux fois car deux points). La nouvelle contribution (par rapport aux calculs sur 1 )
est alors de 6V + 7E + 2# 2 (4V + 4E + 1#) = 2V E. La contribution des autres

Genre 2D et simplicit

24
nom

motif possible

1 1 ou

1
ou
1
1
1
1
1 1
1 1
ou
ou
ou
1 1
1 1
1
1
1 1
1 1

4
5

1
1
1

contribution du motif

nouvelle contribution

4V + 4E + 1#

4V + 4E + 1#

6V + 7E + 2#

2V E

7V + 8E + 2#

8V + 10E + 3#

9V + 12E + 4#

TAB . 2.1 Contribution des motifs de base, (m, n) = (8, 4).


motifs sobtient de la mme faon, sachant que pour 4 on a dj calcul 3 fois 1 , 2 fois 2 et
1 fois 3 ; et que pour 5 on a dj calcul 4 fois 1 , 4 fois 2 , 2 fois 3 et 4 fois 4 .
En effectuant le bilan de la participation de chaque motif par rapport aux nombres de sommets, dartes et de faces, on obtient (avec #x, le nombre de fois quapparat le motif x) :
V = 4#1 2#2 #3 + #4 #5

(2.8)

E = 4#1 #2

(2.9)

# = #1

(2.10)

Nous avons alors : V E + # = #1 #(2 + 3 ) + #4 #5


Finalement, nous obtenons :
G8 (B)

(qu. (2.6))

#1 #(2 + 3 ) + #4 #5

(2.11)

Dtails concernant le tableau 2.2 : Dans le cas de la connexit (m, n) = (4, 8), il ne faut
1

ou 1 en tant que tels, car les deux points dun de


pas tenir compte des lments : 1
ces motifs ne sont pas 4-adjacents, un tel motif est considr comme lunion disjointe de deux
motifs 1 . La contribution dun motif 1 est de quatre sommets, quatre artes et dune face, soit
4V +4E +1#. La contribution dun motif 2 est de 6V +7E +2#, or les points de ces motifs
ont t considrs lors du calcul de la contribution de 1 (compte deux fois car deux points).
La nouvelle contribution est alors de 6V + 7E + 2# 2 (4V + 4E + 1#) = 2V E. La
contribution des autres motifs sobtient de la mme faon sachant que pour 3 on a dj calcul
3 fois 1 et 2 fois 2 ; et que pour 4 on a dj calcul 4 fois 1 , 4 fois 2 et 4 fois 3.
En effectuant le bilan de la participation de chaque motif par rapport aux nombres de sommets, dartes et de faces, on obtient :
V = 4#1 2#2 + #4

(2.12)

2.3 Exemples de calcul de genre 2D

25

nom

motif possible

1 1 ou

1
1
1 1
1 1
ou
ou
ou
1 1
1 1
1
1
1 1
1 1

contribution du motif

nouvelle contribution

4V + 4E + 1#

4V + 4E + 1#

6V + 7E + 2#

2V E

8V + 10E + 3#

9V + 12E + 4#

1
1

TAB . 2.2 Contribution des motifs de base, (m, n) = (4, 8).


E = 4#1 #2

(2.13)

# = #1

(2.14)

Nous avons alors : V E + # = #1 #2 + #4


Finalement, nous obtenons :
G4 (B)

(qu. (2.6))

#1 #2 + #4

(2.15)

2.3 Exemples de calcul de genre 2D


2.3.1 Objet simplement connexe

(a)

(b)

F IG . 2.2 Calcul du genre. (a) Objet sans trou, (b) graphe planaire associ.
Considrons la figure 2.2. Lobjet B (Fig. 2.2 (a)) est compos dune seule composante
connexe (O(B) = 1). Cet objet ne comporte pas de trou (H(B) = 0). On a alors G4 (B) =
G8 (B) = 1 (qu. 2.6). Le graphe planaire associ (Fig. 2.2 (b)) comporte 8 sommets, 10 artes,
et 4 faces (3 faces correspondant lobjet, une pour le fond) (V = 8, E = 10, F = 4). Pour le cas
(m, n) = (8, 4), on a #1 = 3, #2 = 2, #3 = #4 = #5 = 0. Pour le cas (m, n) = (4, 8),
on a #1 = 3, #2 = 2, #4 = 0. En appliquant les quations (2.8), (2.12), (2.9), (2.13), (2.11),
(2.15), on retrouve V = 8, E = 10, G4 (B) = G8 (B) = 1.

Genre 2D et simplicit

26

2.3.2 Objet avec trou

(a)

(b)

F IG . 2.3 Calcul du genre. (a) Objet avec trou, (b) graphe planaire associ.
Considrons la figure 2.3. Lobjet B (Fig. 2.3 (a)) est compos dune seule composante
connexe (O(B) = 1). Cet objet comporte un trou (H(B) = 1). On a alors G4 (B) = G8 (B) = 0
(qu. 2.6). Le graphe planaire associ (Fig. 2.3 (b)) comporte 20 sommets, 30 artes et 12 faces
(10 faces correspondant lobjet, 2 faces pour le complmentaire) (V = 20, E = 30, F = 12).
Pour le cas (m, n) = (8, 4), on a #1 = #2 = 10, #3 = #4 = 4, #5 = 0. Pour le cas
(m, n) = (4, 8), on a #1 = #2 = 10, #4 = 0. En appliquant les quations (2.8), (2.12),
(2.9), (2.13), (2.11), (2.15), on retrouve V = 20, E = 30, G4 (B) = G8 (B) = 0.

2.3.3 Autre exemple

(a)

(b)

(c)

F IG . 2.4 Calcul du genre. (a) Autre objet avec trou(s). Graphe planaire associ (b) (m, n) =
(8, 4), (c) (m, n) = (4, 8) (non simplement connexe).
Considrons la figure 2.4. Lobjet B (Fig. 2.4 (a)) est compos dune seule composante
connexe et de trois trous pour (m, n) = (8, 4), ou de quatre composantes connexes et dun trou
pour (m, n) = (4, 8). On a donc G8 (B) = 2 et G4 (B) = 3 (qu. 2.6). Le graphe planaire

2.4 Simplicit dun point

27

associ pour (m, n) = (8, 4) (Fig. 2.4 (b)) comporte 29 sommets, 45 artes et 18 faces (14 faces
correspondant lobjet, 4 faces pour le complmentaire) (V = 29, E = 45, F = 18). Le graphe
planaire associ pour (m, n) = (4, 8) (Fig. 2.4 (c)) comporte 34 sommets, 45 artes et 16 faces
(14 faces correspondant lobjet, 2 faces pour le complmentaire) (V = 34, E = 45, F = 16,
notons que lquation (2.2) na pas tre vrifie car le graphe ici nest pas connexe). De plus,
le graphe est construit de faon viter les structures composes uniquement de 2 points en
diagonale (cas de la 4-connexit) (voir la partie Dtails concernant le tableau 2.2, page 24).
Pour le cas (m, n) = (8, 4), on a #1 = 14, #2 = 11, #3 = 12, #4 = 7, #5 = 0.
Pour le cas (m, n) = (4, 8), on a #1 = 14, #2 = 11, #4 = 0. En appliquant les quations
(2.8), (2.12), (2.9), (2.13), (2.11), (2.15), on retrouve pour le cas (8, 4) : V = 29, E = 45 et
G8 (B) = 2 ; et pour le cas (4, 8) : V = 34, E = 45 et G4 (B) = 3.

2.4 Simplicit dun point


Dans la suite, nous considrons un sous-ensemble S de Z 2 . Nous dfinissons dabord ce
quest un point simple, puis donnons quelques proprits concernant sa caractrisation.
Dfinition (point simple en 2D) [Mor81] :
En 2D, le point p S est simple si :
O([S N8 (p)] {p}) = O(S N8 (p)),

(2.16)

O([S N8 (p)] {p}) = O(S N8 (p)),

(2.17)

avec O(V (p)) tant le nombre de composantes connexes de lensemble V (p).


En dautres termes, p est simple si les nombres de composantes connexes de lobjet et de
son complmentaire, dans N8 (p), restent inchangs avant et aprs suppression de p. Cest dans
ce sens que lon dira dun point quil est simple lorsque sa suppression dun objet prserve la
topologie.
Les relations entre les nombres de composantes connexes des objets et de leurs complmentaires dans la dfinition de la simplicit tablissent un lien entre la simplicit et le genre ; nous
mettrons en vidence ce lien dans le cas 3D, au chapitre suivant.
Proposition 1 : Pour p S : O([S N8 (p)] {p}) = O(S N8 (p)) ssi S N8 (p) a
exactement une composante connexe adjacente p (au sens de S).
Proposition 2 : Pour p S : O([S N8 (p)] {p}) = O(S N8 (p)) ssi S N8 (p) a
exactement une composante connexe adjacente p (au sens de S).
Proposition 3 : Pour p S : si O([S N8 (p)] {p}) = O(S N8 (p)) et O([S N8 (p)]
{p}) = O(S N8 (p)) alors O(S) = O(S \ {p}) et O(S) = O(S {p}).

Genre 2D et simplicit

28

p
p

(a)

(b)

(c)

F IG . 2.5 Configuration de point non simple pour laquelle la raison de sa non-simplicit ne


peut tre dcide localement. Si lon supprime le point p, (a) lobjet S est dconnect en deux,
(b) un trou de lobjet S est supprim et deux composantes connexes de V \ S sont fusionnes,
(c) configuration commune de non-simplicit du point.
La rciproque est vraie, voir la proposition 5. Nous verrons que la proposition 3 est vraie galement lorsquelle est transpose au cas 3D, tandis que la rciproque est fausse (voir la section
3.5).
Nous avons alors les propositions suivantes :
Proposition 4 : Si p est simple, alors O(S) = O(S \ {p}), O(S) = O(S {p}) (et
H(S) = H(S \ {p}), H(S) = H(S {p}), car O(S) = H(S) et O(S) 1 = H(S), voir
section 2.1.1).
Proposition 5 : Pour un sous-ensemble S dune image binaire 2D et un point p de S, si
O(S) = O(S \ {p}) et O(S) = O(S {p}), alors p est simple.
Comme nous lavons indiqu auparavant, la proposition 5 du cas 2D est fausse si elle est
transpose au cas 3D (voir la section 3.5).
Note : Soulignons lquivalence entre la simplicit dun point p appartenant S et lgalit
des nombres de composantes de lobjet S et du complmentaire S avant et aprs suppression
du point, soit dans N8 (p) (dfinition) soit dans Z 2 (propositions 4 et 5). Des exemples de calculs de ces quantits seront donns ultrieurement (cf. Fig. 2.8, tableau 2.3, dans la section 2.5.3).
Remarque : Insistons sur le fait de pouvoir vrifier si un point p est simple ou non, et cela de
faon locale (i.e. dans N8 (p)). Dans le cas o il nest pas simple, la raison de sa non-simplicit ne
peut pas toujours tre dcide localement (ce qui nest pas le cas si le point est un point intrieur
ou isol). Par exemple, la figure 2.5 (a), la suppression du point p dconnecte lobjet initial
en deux composantes ; la figure 2.5 (b), la suppression du point p dtruit un trou de lobjet
initial (ou fusionne deux composantes du complmentaire, en 2D). De faon locale, nous avons
la mme configuration (Fig. 2.5 (c), voir galement la figure 2.8 (c) et le tableau 2.3) ; en dautres

2.5 Caractrisations en pratique dun point simple

29

termes, nous pouvons vrifier que le point nest pas simple en examinant la configuration de la
figure 2.5 (c) ( O([S N8 (p)] {p}) = 1 et O(S N8 (p)) = 2 lquation (2.16) nest pas
vrifie ou O([S N8 (p)] {p}) = 1 et O(S N8 (p)) = 2 lquation (2.17) nest pas
vrifie), sans savoir (par un examen local) si lobjet est dconnect ou si un trou est dtruit
aprs la suppression du point p.

2.5 Caractrisations en pratique dun point simple


Dans cette section, sont proposes diffrentes caractrisations de points simples en 2D (la
deuxime sera dailleurs utilise pour caractriser un point -simple en 2D, au chapitre 8). Nous
proposons notamment la caractrisation dun point simple par lutilisation de nombres topologiques. En fait, cest par une adaptation de ces nombres que lon pourra caractriser les points
simples dans le cas 3D (une caractrisation des points simples en 3D semble impossible par une
adaptation des deux premires caractrisations). Cette section se termine par le rappel de deux
mthodes de stockage de configurations : la table de consultation et le diagramme de dcision
binaire.

2.5.1 Nombre de Hilditch


Le nombre de Hilditch H(p) ([Hil69], daprs [KR89]), est dfini par le nombre de passages
dun point blanc un point noir lorsque les 8-voisins de p sont visits par ordre cyclique, en
commenant par un 4-voisin de p, en y retournant et en sautant un coin entre deux 4-voisins
noirs de p, 8-adjacents. Dans une (8, 4)-image, H(p) = 1 p est 8-simple (Fig. 2.6 (e), (f ) et
(h)).

2.5.2 Nombre de Rutovitz


Le nombre de Rutovitz R(p) ([Rut66], daprs [KR89]) est dfini de la mme faon que H(p)
sauf que le passage dun point noir un point blanc est galement comptabilis et que les coins
ne sont pas sauts. Le nombre de Rutovitz dans une (4, 8)-image est gale deux fois le nombre
de composantes 4-connexes noires dans N8 (p), sauf si tous les points de N 8 (p) sont des points
noirs. Dans ce cas, R(p) vaut zro (Fig. 2.6 (b)). Dans une (4, 8)-image, si le nombre de Rutovitz
dun point p 4-adjacent X vaut 2, alors p est 4-simple (Fig. 2.6 (e)) (p doit tre 4-adjacent
X, voir Fig. 2.6 (h)) ; la rciproque est fausse (Fig. 2.6 (d)). Dans une (8, 4)-image, si le nombre
de Rutovitz dun point de bord p vaut 2, alors p est 8-simple (Fig. 2.6 (e)) (p doit tre un point
de bord, ici 4-adjacent X, voir Fig. 2.6 (i)) ; la rciproque est fausse. En effet, considrons
la figure 2.7 (ruban inclin dpaisseur 2) : les points a, b, c et d sont 8-simples et R(a) = 2,
R(b) = R(c) = R(d) = 4 (voir Fig. 2.6 (e) pour R(a)).

Genre 2D et simplicit

30

(a)

(b)

(d)

(e)

(g)

(c)

(f )

(h)

(i)

F IG . 2.6 Calculs des nombres de Hilditch et de Rutovitz pour diffrentes configurations de


points : (a) point isol (H(p) = R(p) = 0), (b) point 4- et 8-intrieur (H(p) = R(p) = 0),
(c) point 8-intrieur non 4-intrieur (H(p) = 0, R(p) = 8), (d) point 4-simple non 8-simple
(H(p) = 2, R(p) = 4), (e) point 4- et 8-simple (H(p) = 1, R(p) = 2), (f ) point 8-simple
non 4-simple (H(p) = 1, R(p) = 4), (g) point ni 4- ni 8-simple (H(p) = 2, R(p) = 6), (h)
point 8-simple non 4-simple (H(p) = 1, R(p) = 2), (i) point 4-simple non 8-simple (H(p) = 0,
R(p) = 2).

2.5.3 Nombres topologiques


G. Bertrand et G. Malandain [BM94] ont introduit le concept de nombres topologiques dans
le cas 3D. Deux nombres topologiques permettent de caractriser un point simple. La dfinition
sapplique galement dans le cas 2D. Nous retiendrons que leur utilisation prsente un plus fort
impact dans le cas 3D (voir chapitre 3, la caractrisation dun point simple par les nombres topologiques et la classification topologique des points selon les nombres topologiques) et dans le

2.5 Caractrisations en pratique dun point simple

31

b
c

a
d

F IG . 2.7 Calculs des nombres de Rutovitz pour quelques points dun ruban inclin dpaisseur
2 (R(a) = 2, R(b) = R(c) = R(d) = 4).

(b) O2

(a) O1

(d) O4

(c) O3

(e) O5

(f ) O6

F IG . 2.8 Diffrents objets.


cas des images 2D en niveaux de gris.
Dfinition (nombres topologiques en 2D) :
Soit S Z 2 et p S. On note NCC(T ) le nombre de composantes connexes de T , et
NCC p (T ) le nombre de composantes connexes de T et adjacentes au point p.
Le nombre topologique utilisant la 8-connexit est le nombre T 8 (p, S) = NCC p [S N8 (p)]
= NCC[S N8 (p)]. Le nombre topologique utilisant la 4-connexit est le nombre T 4 (p, S) =
NCC p [S N8 (p)].
Avec lintroduction des nombres topologiques, les deux premires propositions de la section
2.4 peuvent tre rcrites ((m, n) tant la connexit de limage) :

Genre 2D et simplicit

32

O1

O2

O3

Quantits

O4

O5

O6

(8, 4)

(4, 8)

(8, 4)

(4, 8)

O([S N8 (p)] {p})


O(S N8 (p))
O([S N8 (p)] {p})
O(S N8 (p))

1
1
1
0

1
0
1
1

1
2
1
2

1
1
3
3

1
3
1
3

1
1
2
1

1
1
1
1

1
1
1
1

O(S)
O(S \ {p})
O(S)
O(S {p})
H(S)
H(S \ {p})
H(S)
H(S {p})

1
1
1
2
0
1
1
1

1
0
1
1
0
0
1
0

1
2
1
1
0
0
1
2

1
1
1
1
0
0
1
1

1
3
1
1
0
0
1
3

1
1
1
2
0
1
1
1

1
1
1
1
0
0
1
1

1
1
1
1
0
0
1
1

Tm (p, S)
Tn (p, S)

1
0

0
1

2
2

1
1

3
3

1
0

1
1

1
1

oui

non

non

oui

oui

Point simple ?

non non non

TAB . 2.3 Diffrentes quantits pour les objets S de la figure 2.8 (hypothse : [Z 2 \N8 (p)]S =
). Les quantits sont donnes pour les connexits (m, n) = (8, 4) ou (4, 8) sil ny a pas de
prcision supplmentaire.

Proposition 1 : Pour p S : O([S N8 (p)] {p}) = O(S N8 (p)) ssi Tm (p, S) = 1.


Proposition 2 : Pour p S : O([S N8 (p)] {p}) = O(S N8 (p)) ssi Tn (p, S) = 1.
Un point simple peut alors tre caractris par les nombres topologiques :
Proposition 6 (caractrisation dun point simple par les nombres topologiques) :
Soit S Z 2 et p S. Le point p est un point 8-simple T 8 (p, S) = 1 et T4 (p, S) = 1. Le point
p est un point 4-simple T4 (p, S) = 1 et T8 (p, S) = 1.
Quelques exemples de calculs de nombres topologiques et autres sur les diffrents objets reprsents la figure 2.8 sont donns dans le tableau 2.3.
Remarque : Considrons de nouveau les objets S des figures 2.5 (a) et (b). Ces objets prsentent une mme configuration locale au point p (Fig. 2.5 (c)), on a T 8 (p, S) = 2 et T4 (p, S) = 2,

2.5 Caractrisations en pratique dun point simple

(m, n) = (4, 8)

T
T
T
T
T

=0
=1
=2
=3
=4

33

T =0

T =1

T =2

T =3

T =4

0
1
0
0
0

16
116
0
0
0

0
0
102
0
0

0
0
0
20
0

0
0
0
0
1

TAB . 2.4 Nombres de configurations ayant pour nombres topologiques le couple (T, T ) selon
la connexit (m, n) = (4, 8).

(m, n) = (8, 4)

T
T
T
T
T

=0
=1
=2
=3
=4

T =0

T =1

T =2

T =3

T =4

0
16
0
0
0

1
116
0
0
0

0
0
102
0
0

0
0
0
20
0

0
0
0
0
1

TAB . 2.5 Nombres de configurations ayant pour nombres topologiques le couple (T, T ) selon
la connexit (m, n) = (8, 4).

ou T4 (p, S) = 2 et T8 (p, S) = 2, le point nest alors ni 4-simple, ni 8-simple ; et lon ne peut


connatre localement la raison de la non-simplicit (dconnexion de deux composantes de S ou
perte dun trou de S). En dautres mots, le couple de nombres topologiques peut nous indiquer
si un point est simple ou non, mais dans le cas o le point nest pas simple, on ne peut connatre
la raison de sa non-simplicit, ce qui nest videmment pas le cas si on utilise les propositions 4
et 5 de la section 2.4.
Nous donnons les nombres de configurations ayant un couple donn de nombres topologiques selon les connexits (m, n) = (4, 8) ou (8, 4), respectivement dans les tableaux 2.4 et
2.5, configurations parmi les 256(= 28 ) possibles dans N8 (p) dun point p. Dans ces tableaux,
nous notons T = Tm (p, S) et T = Tn (p, S). Nous vrifions que le nombre de couples tels
que Tm (p, S) = k1 et Tn (p, S) = k2 est gal au nombre de couples tels que Tn (p, S) = k2 et
Tm (p, S) = k1 , en raison des proprits obtenues par le passage par le complmentaire. Dans le
cas 2D, si Tm (p, S) = k1 , Tn (p, S) = k2 , et k1 ou k2 suprieur ou gal 2, alors k1 gale k2 .
Dans ces tableaux, nous voyons que le nombre de points 4-simples (gal au nombre de points
8-simples, car caractriss par des nombres topologiques de mme valeur) est de 116 parmi les
256 configurations possibles.

34

Genre 2D et simplicit

2.5.4 Table de consultation


On peut galement gnrer tous les voisinages possibles dun point, ne retenir que ceux qui
font du point central un point simple (grce lune des caractrisations prcdentes) et stocker
ces configurations dans une table de consultation. Cela permet dans un second temps (c.--d.
aprs la cration de la table) de dterminer si un point est simple ou non, uniquement par la
donne la table de consultation, du voisinage du point.

2.5.5 Graphes de dcision binaire


Il existe une autre mthode de stockage des configurations vrifiant une proprit donne (en
loccurrence ici, celle donnant un point simple). Un graphe de dcision binaire (Binary Decision
Diagram ou BDD) est un graphe dont les sommets sont les points dcrivant toute configuration.
Deux arcs sortent de chaque sommet, et le choix de larc suivre lors dun parcours (i.e. dune
configuration examiner) dpend de la prsence ou non du point associ au nud dans la configuration examine. La valeur des nuds terminaux du graphe indique si la configuration qui y
amne, vrifie la proprit sur laquelle a t cr le graphe. Il existe des techniques de compression (par recherche de sous-graphes isomorphes . . . ) qui rendent cet outil trs performant. Dun
point de vue pratique, le graphe de dcision binaire peut tre transform en un fichier informatique dont la taille de stockage est gnralement infrieure celle ncessaire pour une table de
consultation cre pour la mme proprit (voir lannexe C).

2.6 Suppression en parallle de points


Nous tudions prsent la suppression en parallle de plusieurs points.
Le processus consistant supprimer en parallle tous les points simples dun objet et reitrer cela jusqu stabilit peut ne pas prserver la topologie : cest le cas du ruban dpaisseur 2
(Fig. 2.9), pour lequel tous les points sont simples ; la suppression en parallle de tous les points
simples dtruit lobjet, la topologie nest alors pas prserve. Cest la raison pour laquelle plusieurs stratgies ont t proposes. Elles seront vues au chapitre 4 et dtailles aux annexes A et
B. Nanmoins, nous dcrivons succinctement maintenant les trois stratgies utilises :
soit chaque point de limage est trait en parallle (traitement fortement parallle) et dans
ce cas, un plus grand voisinage doit tre examin afin de savoir si un point peut tre retir ;
soit seul un sous-ensemble de points de limage nest considr de telle faon (dans le
meilleur des cas) quil ny ait pas dinteraction entre les points considrs. Cest la
mthode dite des sous-mailles : tous les points simples dune mme sous-maille sont retirs
en parallle (dautres conditions peuvent tre imposes selon le choix des sous-mailles) ;
soit une itration de suppression est divise en plusieurs sous-itrations directionnelles.
Pour une sous-itration donne, on retire les points simples vrifiant une condition supplmentaire rgie par la sous-itration : en pratique, le voisin dun tel point selon la direction associe la sous-itration, doit appartenir au complmentaire (dautres conditions
peuvent tre imposes selon le nombre de directions).

2.6 Suppression en parallle de points

(a)

35

(b)

F IG . 2.9 Exemple de non-prservation de la topologie par suppression parallle de tous les


points simples dun objet (tous les points de ce ruban dpaisseur 2 sont 4- ou 8-simples).
Nous introduisons dabord les concepts de suppressibilit dun ensemble et de suppressibilit forte. Dans le cas particulier dun ensemble constitu dun seul point, nous verrons que la
suppressibilit forte quivaut la supressibilit et la simplicit.
Nous proposerons enfin le concept densemble minimal non simple : un tel ensemble ne doit
pas tre supprim (en totalit) par un algorithme oprant par suppression parallle de points, pour
que ce dernier prserve la topologie de limage. Finalement, nous proposons les configurations
correspondant de tels ensembles dans le cas dune (8, 4)-image. Cette notion sera galement
tudie dans le cas 3D (voir chapitre 3).

2.6.1 Suppressibilit et suppressibilit forte [Ron86][Ron88]


C. Ronse a introduit le concept de m-suppressibilit et de m-suppressibilit forte. Cette dernire est dfinie par le respect de quatre conditions pour la suppression dun ensemble D constitu dun ou de plusieurs points.
Soit une image binaire discrte bidimensionnelle (Z 2 , m, n, B). On note par |A|, la taille
dun ensemble A. Soient deux sous-ensembles S et T . On note par C(m, T ), lensemble des
composantes m-connexes de T ; et C(m, T, S), lensemble des composantes de T , m-connexes
et m-adjacentes S. On note Cm (T ) = |C(m, T )|, Cm (T, S) = |C(m, T, S)| et W = Z 2 \ B.
Soit un sous-ensemble D de B (D est le sous-ensemble de points que nous souhaitons enlever
de B). Nous voulons examiner le comportement de B \ D.
Linvariance du nombre de composantes connexes de lobjet et du fond avant et aprs suppression de D sexprime par les deux galits suivantes :
Cm (B) = Cm (B \ D)

(2.18)

Cn (W ) = Cn (W D)

(2.19)

Ces deux quations dfinissent la m-suppressibilit.


Dfinition (suppressibilit) : Soit D B. Le sous-ensemble D est m-supprimable de B si

36

Genre 2D et simplicit
B a le mme nombre de composantes m-connexes que B \ D (qu. (2.18)),
W a le mme nombre de composantes n-connexes que W D (qu. (2.19)).

Remarque : Nous pouvons faire le lien avec ce que nous avons vu prcdemment dans le
cas o D est constitu dun seul point p (D = {p}) : la m-suppressibilit de D quivaut la
simplicit de p (propositions 4 et 5).
Considrons la figure 2.10. Sur la figure 2.10 (a), limage est constitue de deux objets de B
et dun objet de W . En supprimant lensemble D (voir Fig. 2.10 (b)), ces nombres ne changent
pas (les deux quations (2.18) et (2.19) sont vrifies, D est m-supprimable), mais on a divis
une composante de B et on en a perdu une autre. la figure 2.10 (c), limage est constitue
dune composante de lobjet B et de deux composantes de W . En supprimant lensemble D, on
cre une nouvelle composante de W , et on en fusionne deux autres (les deux quations (2.18) et
(2.19) sont vrifies, D est m-supprimable).
Nous nous attendons ce que le processus de suppression maintienne une correspondance
naturelle entre les composantes connexes de B et celles de W dune part et entre celles de B \ D
et celles de W D dautre part. Cest pourquoi la suppressibilit forte a t introduite.
La m-suppressibilit forte est dfinie de la faon suivante :
une composante connexe dun objet ne peut pas tre supprime,
une composante connexe dun objet ne peut pas tre divise,
une composante connexe du fond ne peut pas tre cre,
deux (ou plusieurs) composantes connexes du fond ne peuvent pas tre fusionnes en une
seule.
Aux figures 2.10 (a) et (c), lensemble D nest alors pas fortement m-supprimable.
Plus formellement :
Dfinition (suppressibilit forte) : Soit D B. Le sous-ensemble D est fortement msupprimable de B si
la relation contient induit une bijection de lensemble des composantes m-connexes
de B dans lensemble des composantes m-connexes de B \ D ; i.e.
toute composante m-connexe de B contient une unique composante m-connexe de B\D
(ce qui vite la perte dune composante de B ou la dconnexion dune composante de
B, comme cela tait le cas, Fig. 2.10 (a)) ;
et toute composante m-connexe de B \ D est contenue dans une unique composante
m-connexe de B (ce qui sexplique par la suppression dun ensemble D de B),
la relation est inclus dans induit une bijection de lensemble des composantes nconnexes de W dans lensemble des composantes n-connexes de W D ; i.e.
toute composante n-connexe de W est contenue dans une unique composante n-connexe
de W D (ce qui sexplique par la suppression dun ensemble D de B) ;
et toute composante n-connexe de W D contient une unique composante n-connexe de
W (ce qui vite la cration dune composante de W ou la fusion de deux composantes
de W , comme cela tait le cas, Fig. 2.10 (c)).

2.6 Suppression en parallle de points

(a)

(b)

37

(c)

(d)

F IG . 2.10 Illustration de la m-suppressibilit forte (D en gris, B en blanc et gris, W en noir).


Remarque : Notons quen 2D, lquivalence entre la fusion de deux composantes de W et la
destruction dun trou de B (Fig. 2.10 (c) et (d)), et lquivalence entre la cration dune composante de W et la cration dun trou de B (Fig. 2.10 (c) et (d)) (cf. lquation O(W ) 1 = H(B),
section 2.1.1) rsultent de la suppression dun ensemble de points de B. Le passage par le complmentaire exprime lquivalence entre la perte dune composante de B et la perte dun trou
de W (Fig. 2.10 (a) et (b)), et lquivalence entre la dconnexion dune composante de B et la
cration dun trou dans W (Fig. 2.10 (a) et (b)) (cf. lquation O(B) = H(W ), section 2.1.1).
Rappelons les proprits suivantes donnes par C. Ronse :
Lemme : Soit D B. Si D est 4-connexe (et en particulier si D contient un seul point),
alors D est m-supprimable de B si et seulement si D est fortement m-supprimable de B.
Proposition : Soit D B, t = |D|. On suppose t > 1. Les deux clauses suivantes sont
quivalentes :
D est fortement m-supprimable de B,
les lments de D peuvent tre tiquets p1 , . . . , pt tels que pour tout i = 1, . . . , t, le point
pi est m-supprimable de B \ {pj , j < i}.
En pratique, pour montrer que D est fortement m-supprimable, il faut et il suffit de trouver
une squence de points pi de D (i = 1, . . . , t) telle que p1 est m-supprimable (i.e. m-simple)
pour B et pi (i > 1) est m-supprimable (i.e. m-simple) pour B \ {pj , j < i}. Un ensemble
m-supprimable est galement appel ensemble m-simple, voir chapitre suivant.
Note : Considrons lalgorithme consistant supprimer partir de courbes ouvertes simples,
horizontales ou verticales et de longueur strictement suprieure 5 points, des ensembles D de
deux points 4-adjacents entre eux, tels que lun des deux soit point extrmit (lautre point tant
forcment son unique voisin dans la courbe). Cet algorithme prserve la topologie. Dans un tel
sous-ensemble D, il existe une seule squence qui indique que D est fortement m-supprimable
(p1 est le point extremit et p2 est son voisin, car p2 nest pas initialement m-simple, mais le

38

Genre 2D et simplicit

devient aprs suppression du point extrmit p 1 ). Cela nous fait comprendre quun ensemble
de points peut tre enlev (suppression parallle de points), tout en prservant la topologie, si
cette suppression peut tre simule par un processus squentiel de suppression de points simples
amenant au mme rsultat (la topologie est alors prserve, par la dfinition mme dun point
simple).

2.6.2 Ensembles minimaux non supprimables


Nous rappelons la dfinition puis la caractrisation dun ensemble minimal non supprimable,
proposes par C. Ronse. Dans un second temps, nous donnerons la caractrisation quivalente,
donne par R.W. Hall, ainsi quune proprit liant ce concept densemble minimal non supprimable celui de la prservation de la topologie lors de la suppression en parallle de points.
2.6.2.1 Dfinition et caractrisation par Ronse
Dfinition (ensemble minimal non supprimable) : Soit D B. Si D nest pas (fortement)
m-supprimable de B, alors il contient un plus petit sous-ensemble U non vide qui nest pas
(fortement) m-supprimable. Ainsi U nest pas (fortement) m-supprimable de B, mais tout sousensemble propre de U lest. Alors U est appel sous-ensemble minimal non m-supprimable de
B. Par la suite, un tel ensemble est appel ensemble minimal non simple (ou MNS, pour Minimal
Non simple Set). En fait, cette dfinition ne dpend pas du fait de considrer la m-suppressibilit
ou la m-suppressibilit forte (voir [Ron88]).
Thorme : Soit U B, avec U = . Alors U est un MNS de B si et seulement si lune
des conditions suivantes est vrifie :
U consiste en un point isol,
U est une paire de points 8-adjacents qui sont m-supprimables de F , mais U nest pas
supprimable de B,
dans le cas dune (8, 4)-image, U est un triplet ou un quadruplet de points mutuellement
8-adjacents, et U est une composante 8-connexe de B (en dautres mots, il ny a pas de
point de B \ U 8-adjacent U).
Proposition : Soit U = {p, q}, une paire de points diagonalement adjacents de B. Pour une
(8, 4)-image, si U est un MNS de B, alors U est une composante 8-connexe de B (en dautres
mots, il ny a pas de point de B \ U 8-adjacent U).
Remarque : En pratique, pour vrifier quune paire {p, q} de points 8-adjacents est un MNS
de B, nous nous assurons que p et q sont la fois supprimables de B, avec p non supprimable de
B \ {q} (ou de faon quivalente, q non supprimable de B \ {p}).
En fait, les motifs interdits (ou MNS) que D ne doit pas contenir ont t donns explicitement par R.W. Hall, suite la caractrisation propose par C. Ronse. Nous les donnons ci-aprs,
uniquement dans le cas dune (8, 4)-image.

2.6 Suppression en parallle de points


a
b
x

0 1
p q
1 0
M1

x
b
,
a

39

a 0 1 x
b p q 0
,
x 1 1 x
M2

0
0
0

0 1
p q
0 1
M3

x
0
,
x

x 1 1 x
0 p q 0
x 1 1 x
M4

TAB . 2.6 Ensembles MNS (pour les composantes, voir Tab. 2.7) pour un algorithme parallle
de squelettisation pour une (8, 4)-image. Un ensemble {p, q} vrifiant lun de ces motifs ne doit
pas tre entirement supprim par un algorithme parallle de squelettisation (afin de prserver
la topologie).

, 1 1 ,

1
1

, 1

1 ,

1
1 1 ,

1
1 1 ,

1 1
1
,

1 1
1 ,

1 1
1 1

TAB . 2.7 Composantes ne pas effacer (entirement) lors dun algorithme parallle de squelettisation pour une (8, 4)-image (afin de prserver la topologie).
2.6.2.2 Caractrisation par Hall
R.W. Hall [Hal92] a montr quun algorithme de supression parallle prserve la topologie
si :
toute composante de points mutuellement adjacents entre eux nest pas compltement supprime,
tout point supprim est m-supprimable,
si deux points p et q m-adjacents sont supprims, avec [[N 8 (p) N8 (q)] \ {p, q}] S =
(sinon {p, q} serait une composante, et ce serait le premier cas), alors {p, q} doit tre msupprimable.
En fait, dans le cas dune (8, 4)-image, cela correspond ne supprimer que des points 8simples, ne pas supprimer un motif ( rotation de 90 ou 180 prs, symtrie horizontale
ou verticale prs) parmi ceux reprsents dans le tableau 2.6 (le cas a = 1 et b = 0 nest pas
permis car il faut que les points p et q soient 8-simples ; quelle que soit lappartenance de x), et
prserver au moins un 1 dans les composantes reprsentes dans le tableau 2.7.
2.6.2.3 Exemple
la figure 2.11 sont reprsents des objets pour lesquels sont encercls les points simples
non extrmits, et sont encadrs en pointill soit les MNS correspondant aux motifs M 1 M4
aux figures 2.11 (a) et (c), soit le MNS correspondant la composante connexe compose de
trois points simples (encercls) dans la figure 2.11 (b).
Si lon considre un algorithme ne supprimant aucun point des MNS, le rsultat peut comporter des points simples ; do lide de supprimer certains points des MNS. Ce qui explique des
conditions directionnelles lintrieur mme de processus de suppression parallle (voir lannexe

Genre 2D et simplicit

40

M1
M4

M3
M2

(a)
M2
p

(b)

(c)

F IG . 2.11 Exemples de MNS 2D selon la connexit (8, 4).

M4

2.7 Conclusion

41

A).
Considrons un algorithme supprimant en parallle les points simples sauf certains dun
MNS, en adoptant le choix suivant : supprimer le point q du motif M 1 , M2 ou M3 et le point
le plus au Nord (resp. lOuest) parmi p et q du motif M4 si ce dernier est considr verticalement (resp. horizontalement). Considrons lobjet reprsent la figure 2.11 (c). Cet objet est tel
que le point p appartient deux MNS imbriqus M2 et M4 . Le choix prcdemment retenu est
tel que lensemble {p, q} va tre limin de cet objet, lobjet initial va tre dconnect ; la topologie nest alors pas prserve. Cet exemple montre quil faut tre prudent lorsque des conditions
directionnelles sont mises en jeu afin dliminer certains points des MNS.

2.7 Conclusion
Aprs avoir explicit les notions de genre 2D et de point simple, nous avons rappel quelques
relations liant les points simples aux calculs de composantes connexes, ou implicitement au
genre. Puis nous avons caractris un point simple laide des nombres topologiques. Nous
verrons au chapitre suivant limportance dutiliser les nombres topologiques afin de caractriser
efficacement les points simples ; cette caractrisation sera beaucoup plus simple utiliser que
celle utilisant le genre 3D ou que celle comptant les nombres de composantes ou de trous (voir
chapitre suivant). Les problmes de la suppression de points en parallle ont galement t abords dans ce chapitre ; ils seront galement dvelopps dans le cas 3D, dans le chapitre suivant.

42

Genre 2D et simplicit

Chapitre 3
Genre 3D et simplicit
3.1 Introduction
Dans ce chapitre, aprs une nouvelle approche du concept de trou (cf. section 1.6), nous rappelons les formules permettant le calcul du genre 3D. Cette premire partie provient du rapport
technique [Mor80] (et de quelques prcisions et corrections dans [NA85]). Nous ne dtaillons
pas lobtention des formules, comme nous lavions fait dans le cas 2D, au chapitre 2. La diffrence de difficult peut tre observe par rapport au cas 2D en ce qui concerne les formules,
les motifs employs, les exemples. Nous donnons quelques exemples de calculs de genre sur de
petits objets synthtiques qui, bien qutant de taille modeste, ncessitent un nombre important
de calculs dlicats.
Nous prsentons ensuite le concept de point simple en 3D, utilisant la notion de genre. Des
exemples de points simples ou non simples, utilisant la caractrisation avec le genre, sont donns. Puis nous introduisons les nombres topologiques, dfinis par G. Bertrand et G. Malandain
[BM94]. Leur grande facilit dutilisation pour dterminer la simplicit dun point sera observe
par rapport la caractrisation utilisant le genre ; les nombres topologiques nexigeant que le
calcul de nombres de composantes connexes dans certains voisinages sans requrir ni ceux des
cavits ni ceux des trous.
Nous rappellerons une classification de points laide des nombres topologiques. Par la suite,
la possibilit de caractriser de faon locale un point simple par le calcul de deux nombres topologiques, et celle de caractriser des points terminaux de surface (notion utilise dans les algorithmes de squelettisation surfaciques voir lannexe B) par un certain couple de valeurs des
nombres topologiques seront retenues.
Ce chapitre se terminera de faon similaire au cas 2D (chapitre 2) par la prsentation du
concept densemble minimal non simple (ou MNS).

44

Genre 3D et simplicit

3.2 Dfinition du genre


3.2.1 Nouvelle approche du concept de trou [Mor80]
Considrons une image 2D I comportant O objets et H trous. Plongeons maintenant limage
I dans Z 3 , nous obtenons ainsi limage 3D J (seuls les points appartenant lobjet sont ceux
dun plan de J , ce plan correspondant I). En utilisant G4 ou G8 sur I et G6 ou G26 sur J ,
on a : G4 = G6 et G8 = G26 . On rappelle quen 2D, le genre est gal au nombre dobjets moins
le nombre de trous (quation (2.6), page 23). Or limage J na pas de cavits. Puisque les cavits
sont les analogues 3D des trous 2D, les fonctions G 6 et G26 ne donnent pas le nombre dobjets
3D moins le nombre de cavits 3D ; G6 et G26 sont galement affects par ce que lon appelle les
trous 3D.

3.2.2 Dfinition du genre 3D


Soit une image discrte binaire tridimensionnelle (Z 3 , m, n, B). Nous considrons dabord
le calcul du genre dune seule composante S, S B.
Lquation dEuler-Schaefli (quation (2.1), page 21), pour une structure 3D simplement
connexe, donne :
V E+F Q= 0
(3.1)
avec V le nombre de sommets, E le nombre dartes, F le nombre de faces et Q le nombre de
cellules (en incluant le fond).
Nous distinguons les trois types de cellules suivants :
cellule : cellules de S (tesselles cubiques),
cellule : cellules de Z 3 \ S entoures par S : polydres de 8 sommets ou plus,
cellule du fond : composante de Z 3 \ S non entoure par S.
La structure (construite de la mme faon quen 2D) nest pas forcment simplement connexe,
nous avons alors V E+F (#+#+#) = 0, en notant #x le nombre de cellules de type x.
Le nombre de trous dun objet S (not H(S)) est dfini comme tant le montant par lequel cette
somme diffre de zro. Nous avons : H(S) = V + E F + (# + # + #), avec = C(S)
tant le nombre de cavits de lobjet S, et # = 1 (correspondant au fond). Nous obtenons alors :
1 + C(S) H(S) = V E + F #. Notons O(B)(resp. C(B)) le nombre
de composantes
connexes (resp. de cavits) de B ; nous avons O(B) = SB O(S), et C(B) = SB C(S). En
sommant sur toutes les composantes
S B, on a : O(B) H(B) + C(B) = V E + F #

(en supposant que H(B) = SB H(S), voir la justification dans [Mor80]).
Dfinition (genre 3D) : Le genre Gm (B) (galement appel caractristique dEuler) dun
ensemble B est le nombre dobjets (composantes m-connexes de B) (not O(B)), moins le
nombre de trous de B (not H(B)), plus le nombre de cavits de B (not C(B)) ; (m, n) tant la
connexit de limage :
Gm (B) = O(B) H(B) + C(B)
(3.2)

3.3 Calcul du genre 3D de faon locale

45

3.2.3 Genre du complmentaire


Le nombre de cavits de Z 3 \ B est le nombre dobjets de B C(Z 3 \ B) = O(B). Le
nombre dobjets de Z 3 \ B est le nombre de cavits de B plus 1 (correspondant au background)
O(Z 3 \B) = C(B)+1. Le nombre de trous de B est celui de Z 3 \B : H6 (B) = H26 (Z 3 \B) et
H26 (B) = H6 (Z 3 \ B) (cf. la justification dans [Mor80]) ; cette correspondance entre le nombre
de trous de lobjet et de son complmentaire explique les restrictions lors de la dtection dun
trou pour une (6, 26)-image, que nous avons prcdemment rencontres la section 1.6.
Nous obtenons alors :
G26 (Z 3 \ B) G6 (B) = 1, G6 (Z 3 \ B) G26 (B) = 1.

(3.3)

3.3 Calcul du genre 3D de faon locale


De la mme manire quen 2D, V , E, F et # peuvent tre exprimes en fonction de motifs
lmentaires pouvant composer un octant. Sur 256 (= 28 ) octants possibles, il y en a 22 lmentaires ; les autres sont obtenus isomtries prs. Ces motifs sont donns la figure 3.1. Nous ne
donnerons que les formules de G6 et de G26 obtenues partir de ces motifs (cf. ci-aprs). Avec
cette mthode, il est beaucoup plus rapide de calculer G6 . Il est alors possible de calculer G26 (B)
par rapport G6 (Z 3 \ B) et les relations par le complmentaire. Ces formules ont t donnes
dans [Mor80] et rectifies dans [NA85].
En raison de la proprit additive de la caractristique dEuler, afin de calculer la caractristique dun objet, nous pouvons sommer celles calcules sur chaque octant de limage (cf. les
exemples des sections 3.4.5 et 3.4.6). Nous pouvons alors crer et consulter une table stockant
les caractristiques dEuler pour un octant parmi les 256 possibles (cf. [Ma94] et [LKC94]). Une
caractristique sur un octant peut tre calcule avec les motifs de la figure 3.1, ou par passage
par lanalogue continu [Ma94], comme cela lavait dj t fait dans [KR89] dans le cas 2D (voir
galement le lien avec la topologie algbrique et avec la caractristique dEuler des surfaces dans
[LKC94]).
Daprs ltude ralise dans [Mor80] (en fait, les formules proviennent de [NA85] - il y a
des erreurs dans [Mor80]), nous avons :
G6 (B) = 1 2 + 3 4 ,
avec
1
2
3
4

=
=
=
=

(3.4)

#[2]
#[3]
#[9]
#[22],

o le symbole #[x] dsigne le nombre de fois quapparat le motif x dans lobjet B, pour toute
orientation ; les motifs x tant reprsents la figure 3.1.

Genre 3D et simplicit

46

Tous les points


sont des 0

1(= 22)

2(= 21)

3(= 20)

4(= 19)

5(= 18)

6(= 17)

7(= 16)

8(= 15)

9(= 9)

10(= 10)

11(= 11)

12(= 12)

13(= 13)

14(= 14)

15(= 8)

16(= 7)

17(= 6)

18(= 5)

19(= 4)

20(= 3)

21(= 2)

22(= 1)

F IG . 3.1 Motifs utiliss pour le calcul du genre 3D (le voxel cach dans le motif 22 est 1).

3.4 Exemples de calcul de genre 3D

47

Pour le cas (26, 6), nous avons [Mor80] [NA85] :


G26 (B) = 1 2 + 3 4 + 5 6 + 7 8

(3.5)

avec :
1
2
3
4
5
6
7
8

=
=
=
=
=
=
=
=

#[2]
#[3] + #[4] + #[5]
#[6] + #[7] + #[8]
#[9] + #[10] + #[11] + #[12] + #[13] + #[14]
#[15] + #[16] + #[17]
#[18] + #[19] + #[20]
#[21]
#[22]

3.4 Exemples de calcul de genre 3D


3.4.1 Objet avec une composante connexe
Lobjet B reprsent la figure 3.2 est compos dune composante connexe et ne comporte ni
cavit ni trou : O(B) = 1, H(B) = 0, C(B) = 0, alors G(B) = 1 (qu. (3.2)). On a #[2] = 12,
#[3] = 17, #[4] = 12, #[6] = 24, #[9] = 6. On a 1 = 12, 2 = 17, 3 = 6, alors G6 (B) = 1
(qu. (3.4)). On a 1 = 12, 2 = 29, 3 = 24, 4 = 6, alors G26 (B) = 1 (qu. (3.5)).

3.4.2 Objet avec une composante connexe et un trou


Lobjet B reprsent la figure 3.3 est compos dune composante connexe, prsente un trou
et ne comporte pas de cavit. On a O(B) = 1, H(B) = 1, C(B) = 0, alors G(B) = 0 (qu.
(3.2)). On a #[2] = 8, #[3] = 8, #[4] = 4, #[6] = 4. On a 1 = 8, 2 = 8 alors G6 (B) = 0
(qu. (3.4)). On a 1 = 8, 2 = 12, 3 = 4 alors G26 (B) = 0 (qu. (3.5)).

3.4.3 Objet avec une composante connexe et deux trous


Lobjet B reprsent la figure 3.7 est compos dune composante connexe, prsente deux
trous et ne comporte pas de cavit. On a O(B) = 1, H(B) = 2, C(B) = 0, alors G(B) = 1
(qu. (3.2)). On a #[2] = 13, #[3] = 14, #[4] = 8, #[6] = 8. On a 1 = 13, 2 = 14 alors
G6 (B) = 1 (qu. (3.4)). On a 1 = 13, 2 = 22, 3 = 8, alors G26 (B) = 1 (qu. (3.5)).

Genre 3D et simplicit

48

F IG . 3.2 Objet sans trou et le graphe associ.

F IG . 3.3 Objet avec un trou et le graphe associ.

F IG . 3.4 Objet avec deux trous et le graphe associ.

3.4 Exemples de calcul de genre 3D

49

F IG . 3.5 Objet constitu dune composante connexe et dun trou (cas (26, 6)) ou constitu de
quatre composantes connexes (cas (6, 26)).

3.4.4 Objet avec une composante connexe et un trou (cas (26, 6)) ou quatre
composantes connexes (cas (6, 26))
Considrons lobjet B de la figure 3.5 (cas (26, 6) en haut, et cas (6, 26) en bas).
Pour le cas (26, 6), lobjet comporte une composante connexe et un trou et ne prsente pas
de cavit. On a O(B) = 1, H(B) = 1, C(B) = 0, alors G(B) = 0 (qu. (3.2)). On a #[2] = 6,
#[3] = 2, #[4] = 4. On a 1 = 6, 2 = 6, alors G26 (B) = 0 (qu. (3.5)).
Pour le cas (6, 26), lobjet B comporte quatre composantes connexes et ne prsente ni trou
ni cavit. On a O(B) = 4, H(B) = 0, C(B) = 0, alors G(B) = 4 (qu. (3.2)). On a #[2] = 6,
#[3] = 2. On a 1 = 6, 2 = 2 alors G6 (B) = 4 (qu. (3.4)).

3.4.5 Objet avec une composante connexe et un trou


Considrons lobjet B de la figure 3.6. Cet objet comporte une composante connexe et un
trou et ne prsente pas de cavit. On a O(B) = 1, H(B) = 1, C(B) = 0, alors G(B) = 0 (qu.
(3.2)).
Pour le cas (6, 26), on a #[2] = 13, #[3] = 16, #[9] = 3, #[22] = 0. On a 1 = 13, 2 = 16,
3 = 3 alors G6 (B) = 0 (qu. (3.4)).
Pour le cas (26, 6), nous effectuons une dcomposition en octants (Fig. 3.6(c)) ; le nombre
de motifs est donn au tableau 3.1. Il suffit ensuite de sommer le nombre de motifs dans chaque
octant, en retirant ceux qui sont redondants, i.e. ceux qui sont compts plusieurs fois dans diffrents octants ; ou plus simplement de recompter de tels motifs motifs 2, 3, 4, 6 et 9 dans

Genre 3D et simplicit

50

(a) Objet initial et le graphe associ

O1

O3

O5

(b) Vision en octants

O2

O4

O6
(c) Dcomposition en octants

(d) Objet en perspective

F IG . 3.6 Dcomposition en octants dun objet constitu dune composante connexe et dun trou
(pour le calcul du genre).

3.4 Exemples de calcul de genre 3D

Nombre de motif s
#[2]
#[3]
#[4]
#[5]
#[6]
#[7]
#[8]
#[9]
#[10]
#[11]
#[12]
#[13]
#[14]
#[15]
#[16]
#[17]
#[18]
#[19]
#[20]
#[21]
#[22]

51

Octants
Objet global
O1 O2 O3 O4 O5 O6
7
4
5
4
3
3
13
9
3
5
3
2
2
16
9
3
4
2
1
1
16
3
0
1
1
0
0
5
15 3
6
2
1
1
22
15 0
3
2
0
0
20
5
1
1
0
0
0
7
3
0
1
0
0
0
3
4
1
1
0
0
0
6
12 0
2
1
0
0
15
12 0
1
0
0
0
13
3
0
0
0
0
0
3
1
0
0
0
0
0
1
3
0
0
0
0
0
3
9
0
0
0
0
0
9
9
0
1
0
0
0
10
1
0
0
0
0
0
1
3
0
0
0
0
0
3
3
0
0
0
0
0
3
1
0
0
0
0
0
1
0
0
0
0
0
0
0

TAB . 3.1 Nombre de motifs dans les octants de la figure 3.6(c) et dans lobjet de la figure
3.6(b).

Genre 3D et simplicit

52

lobjet global (Fig. 3.6(b)).


On obtient 1 = 13, 2 = 37, 3 = 49, 4 = 41, 5 = 22, 6 = 7, 7 = 1, 8 = 0, alors
G26 (B) = 0 (qu. (3.5)).

3.4.6 Objet avec une composante connexe et une cavit


Considrons lobjet B de la figure 3.7. Cet objet est constitu dune composante connexe et
dune cavit, et ne comporte pas de trou. On a O(B) = 1, H(B) = 0, C(B) = 1, alors G(B) = 2
(qu. (3.2)).
Pour le cas (6, 26), on a #[2] = 26, #[3] = 48, #[9] = 24. On a 1 = 26, 2 = 48, 3 = 24
alors G6 (B) = 2 (qu. (3.4)).
En fait, cet objet est constitu de huit octants identiques ( isomtries prs) ; un tel octant a
dj t examin dans la section 3.4.5 (octant O 1 ). De la mme faon que pour lobjet global de
la section 3.4.5, nous recomptons les motifs 2, 3, 4, 6 et 9 ; les autres sont alors comptabiliss huit
fois par rapport leur apparition dans loctant O 1 du tableau 3.1. Les nombres de motifs sont
donns au tableau 3.2.
On obtient 1 = 26, 2 = 132, 3 = 268, 4 = 280, 5 = 168, 6 = 56, 7 = 8, 8 = 0,
alors G26 (B) = 2 (qu. (3.5)).

F IG . 3.7 Objet avec une cavit et le graphe associ.

#[2]
#[6]
#[10]
#[14]
#[18]
#[22]

= 26 #[3] = 48 #[4] = 60
= 108 #[7] = 120 #[8] = 40
= 32 #[11] = 96 #[12] = 96
=
8 #[15] = 24 #[16] = 72
=
8 #[19] = 24 #[20] = 24
=
0

#[5]
#[9]
#[13]
#[17]
#[21]

=
=
=
=
=

TAB . 3.2 Nombre de motifs dans lobjet de la figure 3.7.

24
24
24
72
8

3.5 Simplicit dun point

53

3.5 Simplicit dun point


Dans la suite, nous considrons un sous-ensemble S deZ 3 .
Dfinition (point simple en 3D) [Mor81] :
En 3D, le point p S est simple si :

O([S N26
(p)] {p}) = O(S N26
(p)),

(3.6)

O([S N26
(p)] {p}) = O(S N26
(p)),

(3.7)

H([S N26
(p)] {p}) = H(S N26
(p)),

(3.8)

(p)] {p}) = H(S N26


(p)),
H([S N26

(3.9)

avec O(V (p)) (resp. H(V (p))) tant le nombre de composantes connexes (resp. de trous) de
lensemble V (p).
En dautres termes, p est simple si les nombres de composantes connexes et les nombres de

trous de lobjet et de son complmentaire, dans N 26


(p), restent inchangs avant et aprs suppression de p. Cest dans ce sens que lon dira dun point quil est simple lorsque sa suppression dun
objet prserve la topologie de lobjet.

Proposition 1 : Pour p S : O([S N26


(p)] {p}) = O(S N26
(p)) ssi S N26
(p) a
exactement une composante connexe adjacente p (au sens de S).

Proposition 2 : Pour p S : O([S N26


(p)] {p}) = O(S N26
(p)) ssi S N26
(p) a
exactement une composante connexe adjacente p (au sens de S).

Proposition 3 : Pour p S : si O([S N26


(p)] {p}) = O(S N26
(p)) et O([S N26
(p)]

{p}) = O(S N26 (p)) alors O(S) = O(S \ {p}) et O(S) = O(S {p}).

La rciproque est fausse, voir les objets O4 et O10 (cas (26, 6)), reprsents aux figures 3.10
(d) et 3.10 (j), et le tableau 3.3. Nous avons vu que la rciproque dans le cas 2D est vraie, voir
les propositions 3 (page 27) et 5 (page 28), au chapitre 2.
De plus, nous avons la proposition suivante :
Proposition 4 : Si p est simple, alors H(S) = H(S \ {p}), H(S) = H(S {p}), C(S) =
C(S \ {p}) et C(S) = C(S {p}). La rciproque est fausse, comme nous le verrons aprs la
proprit suivante.
Avec la dfinition dun point simple et les propositions 3 et 4, on a :
Proprit : Si p est simple, alors O(S) = O(S \ {p}), H(S) = H(S \ {p}), C(S) =
C(S \ {p}), O(S) = O(S {p}), H(S) = H(S {p}) et C(S) = C(S {p}).
La rciproque est fausse. En effet, considrons lobjet S de la figure 3.8 (qui correspond
lobjet de la figure 3.6, prcdemment tudi la section 3.4.5). Avec la connexit (6, 26),

Genre 3D et simplicit

54

(a)

(b)

F IG . 3.8 (a) S, (b) S \ {p}.


nous avons O(S) = O(S \ {p}) = 1, O(S) = O(S {p}) = 1, H(S) = H(S \ {p}) = 1,
H(S) = H(S {p}) = 1, C(S) = C(S \ {p}) = 0 et C(S) = C(S {p}) = 1.

(p)] {p}) = 1, O(S N26


(p)) = 2, O([S N26
(p)] {p}) = 1,
Nous avons : O([S N26

O(S N26 (p)) = 2, H([S N26 (p)]{p}) = 0, H(S N26 (p)) = 1, H([S N26 (p)]{p}) = 0,

(p)) = 1 ; la dfinition dun point simple nest alors pas vrifie. Ces valeurs proH(S N26
viennent de lobjet O9 de la figure 3.10 (i) et du tableau 3.3, O9 correspondant au voisinage

(p) {p} de lobjet de la figure 3.8. En fait, nous pouvons remarquer dans cet exemple que
N26
le trou de S \ {p} nest pas le mme que celui de S.
Note : Nous soulignons alors le fait que, dans le cas 3D, la prservation dans Z 3 des nombres
de composantes connexes et de trous de lobjet et de son complmentaire, avant et aprs suppression du point p, est insuffisante caractriser un point simple. La dfinition dun point simple
p exige la prservation des nombres de composantes connexes et de trous, de lobjet et de son

complmentaire, avant et aprs suppression du point, dans le voisinage N 26


(p). titre de comparaison, nous rappelons lquivalence entre la simplicit dun point en 2D et la prservation des
nombres de composantes connexes de lobjet et de son complmentaire, avant et aprs suppression du point, cela soit dans N 8 (p) soit dans Z 2 .
T.-C. Lee, R.L. Kashyap et C.-N. Chu [LKC94] ont propos une caractrisation de point
simple laide du genre, suite une mauvaise caractrisation dun point simple, propose par S.
Lobregt, W. Verbeek et F.C.A. Groen [LVG80]. Ces derniers disent quun point p est un point
simple si cest un point de bord et que sa suppression prserve la caractristique dEuler, ce

qui implique que G(S N26


(p)) = 0 et C(S N26
(p)) = 0 (comme v est un point de
bord, il ne peut y avoir de cration ou de suppression de cavit), avec Q(V (p)) = Q(V (p))

Q(V (p) {p}). Elle implique alors O(S N26


(p)) = H(S N26
(p)). Nanmoins, il est
possible que des points vrifient les galits prcdentes, et soient tels que les nombres dobjets
et de trous ne soient pas les mmes, et par consquent, de tels points ne sont pas simples selon
la dfinition de Morgenthaler. Cest le cas pour lobjet de la figure 3.9 ; le point p est un point

de bord (C(S N26


(p)) = 0) et la suppression de p cre un trou dans S N26
(p) (cas (26, 6))

(H([S N26 (p)] {p}) = 0, H(S N26 (p)) = 1 et H(S N26 (p)) = 1) et galement

(p) ( O([S N26


(p)] {p}) = 1, O(S N26
(p)) = 2, et
un objet supplmentaire dans S N26

(p)
O(S N26 (p)) = 1) ; cela entraine que la caractristique dEuler ne change pas dans S N26

3.5 Simplicit dun point

55

F IG . 3.9 Point non 26-simple, mais caractris comme tel par Lobregt, Verbeek et Groen.

(i.e. G(S N26


(p)) = 0) ; mais le point p nest pas simple selon la dfinition de Morgenthaler.
Nous donnons maintenant la proposition liant un point simple au genre et utilisant les remarques prcdentes.
Proposition [LKC94] : Un point de bord p est un point simple si et seulement si G(S

N26 (p)) = 0 et [H(S N26


(p)) = 0 ou O(S N26
(p)) = 0], avec Q(V (p)) = Q(V (p))
Q(V (p) {p}) pour un voisinage V (p) du point p.

Nous avons le thorme suivant (voir [Ma94] et [KR89]) :


Thorme : Le point p est un point simple si et seulement si toutes les conditions suivantes
sont vrifies :

(C1 ) S N26
(p) a exactement une composante connexe adjacente p (au sens de S) (cf. la
dfinition et la proposition 1),

(C2 ) S N26
(p) a exactement une composante connexe adjacente p (au sens de S) (cf. la
dfinition et la proposition 2),

(C3 ) G(S N26


(p)) = 0.
On note que (C2 ) implique que le point p est un point de bord.
Selon [KR89], pour la connexit (26, 6), les conditions (C 1 ) et (C3 ) impliquent ensemble la
condition (C2 ) ; pour la connexit (6, 26), les conditions (C 2 ) et (C3 ) impliquent ensemble la
condition (C1 ).
Rappelons que les deux premires conditions sont ncessaires et suffisantes dans le cas 2D,

en remplaant N26
(p) par N8 (p) (voir section 2.4) ; tandis que les deux premires conditions sont
insuffisantes dans le cas 3D, voir lobjet O 1 la figure 3.11 et le tableau 3.4, page 59.
Nous donnons quelques calculs sur quelques objets des diffrentes quantits passes en revue
dans cette section, la figure 3.10 et au tableau 3.3.
la section suivante, nous introduisons les nombres topologiques 3D. Nous verrons que le
test de la simplicit dun point seffectue beaucoup plus facilement avec ces nombres, quavec
lutilisation de la dfinition ou des proprits donnes dans cette section ; nanmoins celles-ci
permettent dillustrer la difficult intrinsque de la topologie en 3D travers sa prservation.

Genre 3D et simplicit

56

(a) O1

(b) O2

(d) O4

(e) O5

(g) O7

(h) O8

(c) O3

(f ) O6

(i) O9

(j) O10
F IG . 3.10 Diffrents objets - calcul du genre.

(6
,

(2
6

(6
,

(2
6

(6
,

(2
6

(6
,

(p)] {p})
O([S N26
(p))
O(S N26
(p)] {p})
O([S N26
(p))
O(S N26
(p)] {p})
H([S N26
(p))
H(S N26
(p)] {p})
H([S N26
(p))
H(S N26

1
0
1
1
0
0
0
0

1
1
1
0
0
0
0
0

1
2
1
1
0
0
0
1

1
1
1
2
0
1
0
0

1
1
1
1
0
0
1
1

2
2
1
1
0
0
0
0

1
1
1
1
0
0
1
1

1
2
1
1
0
0
0
1

1
2
1
1
0
0
0
1

2
2
1
1
0
0
0
0

1
1
1
1
0
0
0
0

1
1
2
2
0
0
1
1

1
2
1
2
0
1
0
1

1
1
1
2
0
1
0
0

5
4
1
1
0
0
0
0

O(S)
O(S \ {p})
O(S)
O(S {p})
H(S)
H(S \ {p})
H(S)
H(S {p})
C(S)
C(S \ {p})
C(S)
C(S {p})

1
0
1
1
0
0
0
0
0
0
1
0

1
1
1
2
0
0
0
0
0
1
1
1

1
2
1
1
0
0
0
0
0
0
1
2

1
1
1
1
0
1
0
1
0
0
1
1

1
1
1
1
0
0
0
0
0
0
1
1

2
2
1
1
0
0
0
0
0
0
2
2

1
1
1
1
0
0
0
0
0
0
1
1

1
2
1
1
0
0
0
0
0
0
1
2

1
2
1
1
0
0
0
0
0
0
1
2

2
2
1
1
0
0
0
0
0
0
2
2

1
1
1
1
0
0
0
0
0
0
1
1

1
1
1
1
0
0
0
0
0
0
1
1

1
2
1
1
0
1
0
1
0
0
1
2

1
1
1
1
0
1
0
1
0
0
1
1

5
4
1
1
0
0
0
0
0
0
5
4

G(S)

(p))
H(S N26
(p))
O(S N26
(p))
C(S N26
(p))
G(S N26

0
-1
0
-1

0
0
1
1

0
1
0
1

1
0
0
-1

0
0
0
0

0
0
0
0

0
0
0
0

0
1
0
1

0
1
0
1

0
0
0
0

0
0
0
0

0
0
0
0

1
1
0
0

1
0
0
-1

0
-1
0
-1

Tm (p, S)
Tn (p, S)

0
1

1
0

2
1

1
2

1
1

1
1

1
1

2
1

2
1

1
1

1
1

1
1

2
2

1
2

0
1

Point simple ?

O9

O10

26

)
,6

)
,6

26

)
,6

O8

26

O7

26

)
,6

26

)
,6

Quantits

O6

(2
6

O5

O4

O3

O2

O1

(6
,

57

(2
6

3.5 Simplicit dun point

non non non non oui oui oui non non oui oui oui non non non

TAB . 3.3 Diffrentes quantits pour le calcul du genre des exemples de la figure 3.10 (hypothse : [Z 3 \ N26 (p)] S = . Notation : Q(V (p)) = Q(V (p)) Q(V (p) {p}).

Genre 3D et simplicit

58

3.6 Caractrisations en pratique dun point simple


Dans cette section, nous rappelons la dfinition des nombres topologiques en 3D et donnons
la caractrisation dun point simple par ces nombres. La caractrisation laide des BDD nest
pas explicite ; cest le mme principe quen 2D (voir le chapitre 2 ainsi que lannexe C).

3.6.1 Nombres topologiques


G. Bertrand et G. Malandain [BM94] ont introduit les nombres topologiques. Ces derniers

permettent de caractriser la simplicit ou non dun point p dans N 26


(p), sans calculer explicitement ni le nombre de trous (selon la dfinition de Morgenthaler, page 53) ni le genre (voir la
condition (C3 ), page 55). Le calcul des nombres topologiques nexige que le calcul des nombres
de composantes connexes de lobjet et de son complmentaire, adjacentes au point considr et
dans certains voisinages.
Dfinition (nombres topologiques en 3D) :
Soient S Z 3 et p S. Notons NCC(T ) le nombre de composantes connexes de T , et
NCC p (T ) le nombre de composantes connexes de T et adjacentes au point p. Le nombre topo
logique utilisant la 26-connexit est le nombre T 26 (p, S) = NCC p [S N26
(p)] = NCC[S

N26 (p)]. Le nombre topologique utilisant la 6-connexit est le nombre T 6 (p, S) = NCC p [S

(p)].
N18
La complexit des calculs des nombres topologiques est aborde la section 3.6.1.1.
Proposition (caractrisation dun point simple par les nombres topologiques) :
Soient S Z 3 et p S. Le point p est un point 26-simple T 26 (p, S) = 1 et T6 (p, S) = 1. Le
point p est un point 6-simple T 6 (p, S) = 1 et T26 (p, S) = 1.

(p) dans le cas de T6 et non N26


(p), sinon des
Il est important de noter quil faut utiliser N 18
erreurs peuvent se produire (voir [LKC94] et [BM95]).

Nous illustrons maintenant la diffrence entre les voisinages utiliss et les trois conditions
Ci du thorme de la page 55 (voir la figure 3.11 et le tableau 3.4). Par exemple, la suppression
du point p cre un trou pour lobjet O 1 (Fig.3.11 (a)) avec la connexit (26, 6), en dtruit un
pour le mme objet avec la connexit (6, 26), ou en cre un pour lobjet O 3 (Fig.3.11 (c)) avec la
connexit (26, 6) (dans cet objet, on note que p est adjacent 2 composantes connexes de S dans

(p), do T6 (p, S) = 2).


N18
Commentaires propos de la figure 3.11 :
Nous donnons maintenant quelques explications concernant la dtection du trou de lobjet O 1 ,

la figure 3.11 (a). Selon la connexit (26, 6), un trou dans S N26
(p) est dtect par le 26chemin ferm x1 , x2 , x11 , x20 , x23 , x26 , x25 , x16 , x4 , x1 que lon peut dformer en le 26-chemin
ferm (non contractable en un point) : x4 , x11 , x23 , x16 , x4 . Selon la connexit (6, 26), un trou

3.6 Caractrisations en pratique dun point simple


x9

x15

x19

x1

x11

x20

x2
x22 x23
p x14
x4
x5
x25 x26
x16 x17

x21

x12
x3

x10

59

(a) O1

(b) O2

(c) O3

(d) O4

F IG . 3.11 Exemples dobjets, caractrisation de la simplicit dun point par les nombres topologiques.

Tm (p, S)
Tn (p, S)
(p)] {p})
O([S N26
(p))
O(S N26
(p)] {p})
C([S N26
(p))
C(S N26
(p)] {p})
H([S N26
(p))
H(S N26
C1 vrifie ?
C2 vrifie ?
(p))
O(S N26
(p))
H(S N26
(p))
C(S N26
(p))
G(S N26
C3 vrifie ?
Point simple ?

1
2
1
1
0
0
0
1
oui
oui
0
1
0
-1
non

2
1
1
1
0
0
1
0
oui
oui
0
-1
0
1
non

1
2
1
1
0
0
0
1
oui
non
0
1
0
-1
non

1
1
1
1
0
0
1
1
oui
oui
0
0
0
0
oui

1
2
1
1
0
0
0
1
oui
oui
0
1
0
-1
non

1
1
1
1
0
0
0
0
oui
oui
0
0
0
0
oui

)
26

)
,6

(6
,

(2
6

26

O4

(6
,

,6

(2
6

26

O3

(6
,

,6

(2
6

26

)
,6

O2

(6
,

(2
6

(m

,n

O1

1
1
1
1
0
0
0
0
oui
oui
0
0
0
0
oui

1
1
2
2
0
0
0
0
oui
oui
0
0
0
0
oui

non non non oui non oui oui oui

TAB . 3.4 Calculs des nombres topologiques sur les exemples de la figure 3.11.

(p){p} est dtect par le 6-chemin ferm x1 , x4 , p, x16 , x25 , x26 , x23 , x20 , x11 , x2 , x1
dans SN26
(non rductible) ; il disparat lorsque p est supprim.
Dtaillons quelque peu le calcul des nombres topologiques sur cette mme figure. Selon la

connexit (6, 26), S = {x1 , x2 , x4 , x11 , p, x16 , x20 , x23 , x25 , x26 } et S N18
(p) est constitu
de deux composantes 6-connexes et 6-adjacentes p : {x3 , x9 , x10 , x12 , x15 , x19 , x21 , x22 } et

Genre 3D et simplicit

60

{x5 , x14 , x17 }. Ainsi T26 (p, S) = 2 ; tandis quil ny a quune composante 6-connexe et 6
adjacente p dans S N26
(p) (la condition (C2 ) du thorme de la page 55 est vrifie). Se
(p) est constitu de quatre composantes 6-connexes {x1 , x4 },
lon la connexit (6, 26), S N18
{x16 , x25 }, {x11 }, {x23 } ; seules les deux premires sont 6-adjacentes p. Ainsi T 6 (p, S) = 2 ;

tandis quil ny a quune composante 6-connexe et 6-adjacente p dans S N26


(p) (la condition
(C1 ) du thorme de la page 55 est vrifie).
Remarque (configurations non simples sans raison commune de non-simplicit globale
mais avec les mmes nombres topologiques) : La non-simplicit dun point, selon les nombres
topologiques, peut ne pas nous renseigner sur la raison de non-simplicit (en global) pour lobjet
(comme dans le cas 2D, voir les remarques des sections 2.4 et 2.5.3). Considrons lobjet de la
figure 3.12 (a), la suppression de p dconnecte lobjet S. Considrons lobjet de la figure 3.12
(b), la suppression de p dtruit un trou de S et un trou de S. On a alors deux raisons globales
diffrentes de non-simplicit du point p, tout en ayant la mme configuration locale, dcrite la
figure 3.12 (c) (T6 (p, S) = 2 et T26 (p, S) = 1).

p
(a)

p
(b)

(c)

F IG . 3.12 Configuration de point dont la non-simplicit ne peut tre dcide localement. Si


lon supprime le point p, (a) lobjet est dconnect en deux, (b) un trou de S est supprim , (c)
configuration commune locale de non-simplicit du point.
Remarque (configurations non simples sans raison commune de non-simplicit locale
mais avec les mmes nombres topologiques) : Considrons les figures 3.13 (a) et 3.13 (b),
selon la connexit (6, 26) ; nous avons T6 (p, S) = 2 et T26 (p, S) = 1. La suppression de p dans

(p). La suppression de p dans


la figure 3.13 (a) dtruit un trou de S et un trou de S dans N 26

la figure 3.13 (b) provoque la cration dune nouvelle composante de S dans N 26


(p) et la perte

dun trou de S dans N26 (p). En conclusion, nous navons pas forcment la mme raison de nonsimplicit (locale) pour des configurations telles que les couples de nombres topologiques soient
gaux.
3.6.1.1 Voisinages godsiques
Nous introduisons maintenant le concept de voisinage godsique. Un voisinage de ce type
peut tre utilis pour exprimer de faon diffrente les nombres topologiques. De tels voisinages
peuvent tre galement utiliss lors de la dfinition des points P -simples (voir chapitre 5).
Dfinitions (voisinage godsique) [Ber94] :
Soient X Z 3 et x Z 3 . Le n-voisinage godsique de x lintrieur de X dordre k (k 1)

3.7 Classification topologique

61

(a)

(b)

F IG . 3.13 Configurations de points non simples et ayant le mme couple de nombres topologiques, mais pas la mme raison de non-simplicit (locale).
est lensemble Nnk (x, X) dfini rcursivement par Nn1 (x, X) = Nn (x) X pour k = 1 et par

(x) X, y Nnk1 (x, X)} pour k > 1.


Nnk (x, X) = {Nn (y) N26
k

En dautres termes, Nn (x, X) est lensemble compos de tous les points y de N 26


(x) X
tel quil existe un n-chemin de x y de longueur infrieure ou gale k, pour lequel tous

les points de , except x, appartiennent N26


(x) X. On dfinit G6 (x, X) = N62 (x, X) et
1
G26 (x, X) = N26
(x, X).
Proprit :
Nous avons T6 (x, X) = #[G6 (x, X)] et T26 (x, X) = #[G26 (x, X)], o #S est le nombre dlments de lensemble S.
En utilisant des algorithmes de parcours de composantes connexes, les calculs de T m (x, X)
et Tn (x, X) peuvent tre effectus en temps linaire, i.e. respectivement en O(k) et O(k) avec
k = #[Gm (x, X)] et k = #[Gn (x, X)].

3.7 Classification topologique


Nous avons rcapitul les nombres de configurations ayant un couple donn de nombres
topologiques selon les connexits (m, n) = (6, 26) ou (26, 6), respectivement dans les tableaux

3.5 et 3.6, configurations parmi les 67 108 864(= 226 ) possibles dans N26
(p) dun point p. Dans
ces tableaux, on note T = Tm (p, S) et T = Tn (p, S). Nous vrifions que le nombre de couples
tels que Tm (p, S) = k1 et Tn (p, S) = k2 est gal au nombre de couples tels que Tn (p, S) = k2
et Tm (p, S) = k1 , en raison des proprits obtenues par le passage au complmentaire. Dans
ces tableaux, on peut voir que le nombre de points 6-simples (gal au nombre de points 26simples, car caractriss par des nombres topologiques de mme valeur) est de 25 985 144, parmi
les 67 108 864 configurations possibles.
Les nombres topologiques sont utiliss pour dcrire les caractristiques topologiques locales
des points dans lespace discret (voir le tableau 3.7 et les exemples de la figure 3.14). Les nombres
topologiques sont galement utiliss lors du calcul de lenveloppe topologique durant le processus de bouchage de trous (dtection des points intrieurs et des isthmes 2D) [ABP96] [Akt97],

Genre 3D et simplicit

62

(m, n) = (6, 26)

T
T
T
T
T
T
T

T =0

=0
=1
=2
=3
=4
=5
=6

0
1
0
0
0
0
0

T =1

T =2

T =3

T =4

T =5

T =6

1 048 576
0
0
0
0
0
25 985 144 3 626 396 651 784 106 054 13 512 1 180
26 073 184 904 832 49 216
2 688
96
0
7 748 352
63 744
768
0
0
0
804 352
1 024
0
0
0
0
27 648
0
0
0
0
0
256
0
0
0
0
0

T =7

T =8

0
56
0
0
0
0
0

0
1
0
0
0
0
0

TAB . 3.5 Nombres de configurations ayant pour nombres topologiques le couple (T, T ) selon
la connexit (m, n) = (6, 26).
(m, n) = (26, 6)

T
T
T
T
T
T
T
T
T

=0
=1
=2
=3
=4
=5
=6
=7
=8

T =0

T =1

T =2

T =3

T =4

T =5

0
1
0
0
0
0
1 048 576 25 985 144 26 073 184 7 748 352 804 352 27 648
0
3 626 396
904 832
63 744
1 024
0
0
651 784
49 216
768
0
0
0
106 054
2 688
0
0
0
0
13 512
96
0
0
0
0
1 180
0
0
0
0
0
56
0
0
0
0
0
1
0
0
0
0

T =6

0
256
0
0
0
0
0
0
0

TAB . 3.6 Nombres de configurations ayant pour nombres topologiques le couple (T, T ) selon
la connexit (m, n) = (26, 6).
ou pour la dtection de jonctions de courbes ou de surfaces, ou lors de la segmentation topologique de surfaces discrtes [MBA93]. Ils sont galement utiliss dans le cadre de la topologie
des coupes, sur les images 2D en niveaux de gris [BEC97] [Eve97].

3.8 Suppression en parallle de points


Nous donnons ici les dfinitions densemble simple, densemble minimal non simple, dj
abordes dans le chapitre prcdent, dans le cas 2D.
Nous rappelons le thorme propos par C.M. Ma donnant des conditions suffisantes quun
algorithme de suppression parallle de points doit vrifier afin de prserver la topologie.

3.8 Suppression en parallle de points

63

(a)

(b)

(i)

(j)

(c)

(d)

(k)

(l)

(e)

(f )

(m)

(n)

(g)

(h)

(o)

(p)

F IG . 3.14 Classification de points selon les nombres topologiques, voir le tableau 3.7.
De nombreuses personnes proposant des algorithmes parallles de squelettisation utilisent ce
thorme pour montrer que lalgorithme quelles proposent prserve bien la topologie. Nanmoins ce thorme est difficile utiliser car il impose de passer en revue de nombreuses configurations. Dans la seconde partie de ce manuscrit, nous proposerons des algorithmes parallles
de suppression de points P -simples (chap. 6). La dfinition mme dun point P -simple (chap.
5) nous assure que la topologie est bien prserve ; aucune preuve supplmentaire nest exige,

Genre 3D et simplicit

64
Valeurs des
nombres topologiques
T =0
T =0
T = 0
T = 1 et T = 1
T = 2 et T = 1

dsignation

T 3 et T = 1

point isol
point intrieur
point de bord
point simple
isthme 1D simple
ou point de courbe
isthme 2D simple
ou point de surface
intersection 1D simple

T = 1 et T 3

intersection 2D simple

T 2 et T 2

isthme multiple

T = 1 et T = 2

m=6
(Fig. 3.14)
(a)
(b)

m = 26
(Fig. 3.14)
(i)
(j)

(c)
(d)

(k)
(l)

(e)

(m)

(f )
(T = 3)
(g)
(T = 3)
(h)
(T = 2 et T = 3)

(n)
(T = 4)
(o)
(T = 6)
(p)
(T = 2 et T = 3)

TAB . 3.7 Classification topologique et exemples la figure 3.14.


contrairement aux autres algorithmes dj proposs, qui utilisent le thorme ci-aprs [PK98a]
[PK99] [Ma95] [MS96] [MBPL99c].
Dfinition (ensemble n-simple) : Soit X Z 3 . Un ensemble S X est un ensemble
n-simple de X si les points de S peuvent tre arrangs selon une squence S = {x 1 , . . . , xk } de
telle faon que x1 soit n-simple pour X et xi soit n-simple pour lensemble X \ {x 1 , . . . , xi1 },
pour i = 2, . . . , k. Lensemble vide est un ensemble simple.
Proposons maintenant un thorme qui est une extension directe de celui donn pour le cas
2D propos par C. Ronse ou par R.W. Hall (cf. section 2.6.2).
Thorme [Ma94][Ma93] :
Soit O un oprateur de rduction parallle dimages 3D selon la connexit (26, 6). Si pour toutes
les (26, 6)-images I, toutes les conditions suivantes sont vrifies lorsque O est appliqu I,
alors O prserve la topologie :
tout ensemble de points noirs de I qui est contenu dans un carr unit et qui est supprim
par O, est un ensemble simple de I ;
O ne doit pas supprimer de composante noire de I qui est contenue dans un cube unit.
Dautres thormes sont donns pour les autres connexits (18, 6), (6, 26) et (6, 18). Rappelons maintenant la dfinition dun ensemble minimal non simple.
Dfinitions (ensemble minimal non n-simple) : Soit X Z 3 . Un ensemble S X est
un ensemble minimal non n-simple (ou MNS pour Minimal Non-simple Set) sil nest pas un
ensemble n-simple et si chacun de ses sous-ensembles propres est n-simple (voir galement la
section 2.6.2).

3.9 Conclusion

65

(a)

(b)

F IG . 3.15 Exemples de MNS 3D selon la connexit (26, 6).


la figure 3.15 (a), est reprsent un objet pour lequel sont encercls les points simples
non extrmits, et est encadr en pointill un 26-MNS. Lalgorithme prserve la topologie sil ne
supprime pas la fois les quatre points simples de cet MNS. La figure 3.15 (b) reprsente une
composante de 4 points 26-simples qui est un 26-MNS.

3.9 Conclusion
Nous avons introduit le concept de genre 3D. Puis, nous avons dfini ce quest un point
simple travers la prservation du genre et dautres quantits. Le test de la simplicit dun point
travers le calcul du genre est difficile raliser. Diffrentes proprits pour la simplicit en 3D
ont t rappeles, et commentes sur des exemples.
Nous avons ensuite introduit les nombres topologiques. Ils permettent de caractriser les
points simples de faon plus aise et plus efficace. Vient ensuite une classification topologique
des points de Z 3 par lutilisation des nombres topologiques, cette classification permet certaines
applications danalyse dimage tels le bouchage de trous et la dtection de jonctions de courbes
ou de surfaces. Elle est beaucoup plus utilise actuellement, dans le cas des images 2D en niveaux
de gris.
Ce chapitre se termine par les concepts de MNS et densemble simple, et permet de mieux
comprendre les problmes que pose une suppression en parallle de points.

66

Genre 3D et simplicit

Chapitre 4
Schmas dalgorithmes de squelettisation

4.1 Introduction

Dans les chapitres prcdents, nous avons vu la notion de point simple. Un algorithme de
squelettisation est un processus consistant en la suppression de points simples. Si la suppression
est ralise de faon squentielle alors la topologie est prserve, et cela par la dfinition mme
dun point simple. Comme nous lavons vu prcdemment (cf. sections 2.6 et 3.8), la suppression en parallle de points simples peut ne pas prserver la topologie. Cest pourquoi diffrentes
stratgies de suppression ont t proposes. Plutt que de se livrer ici une tude dtaille de
quelques algorithmes de squelettisation existants, nous avons choisi de proposer un chapitre synthtique dcrivant les techniques ou schmas utiliss dans de tels algorithmes. Nanmoins, cette
tude dtaille a t ralise et reprsente une part non ngligeable et ncessaire de notre travail ;
cette tude est reporte dans les annexes A et B ; cela afin damener plus rapidement le lecteur
aux deuxime et troisime parties de ce rapport qui tmoignent de notre contribution en ce qui
concerne les algorithmes de squelettisation selon une approche topologie digitale et en matire
dalgorithmes de squelettisation selon une approche topologie discrte.
Dans la deuxime partie de ce mmoire, deux schmas de squelettisation bass sur la suppression de points P -simples seront tudis. Lun avait dj t propos par G. Bertrand (cf. section
5.3) ; le second utilise une nouvelle variante des points P -simples propose dans ce mmoire (cf.
section 6.2) ; ces schmas sont dcrits dans la section 6.2.3. Dans la troisime partie, un nouveau
schma gnrique de squelettisation bas sur la suppression de points n -simples, et n -simples
sera propos (cf. sections 8.5, 9.5 et 10.6).

68

Schmas dalgorithmes de squelettisation

4.2 Terminologie concernant lamincissement ou la squelettisation


4.2.1 Algorithme damincissement ou de squelettisation. Noyau homotopique ou squelette
Nous donnons les dfinitions utilises par la suite et en reprcisons certaines, vues prcdemment.
Un algorithme damincissement (ou shrinking algorithm) consiste en la suppression jusqu
stabilit de points simples, le rsultat obtenu sappelle un noyau homotopique. Si la suppression
est ralise de faon squentielle alors la topologie est prserve ; cela par la dfinition mme
dun point simple.
Si le processus est modifi de faon ce que certains points simples soient prservs durant
le processus de suppression, il est alors possible de conserver des caractristiques gomtriques.
Un tel processus sappelle algorithme de squelettisation (ou thinning algorithm), et le rsultat
est appel squelette. Les points prserver sont appels points terminaux ou points extrmits.
tant donn quune courbe simple nest constitue que de points non simples lexception
de ses points extrmits, la prservation de ces derniers (points extrmits (ou terminaux) de
courbe) durant un processus de suppression de points simples, prserve les courbes et les parties
de courbes. De la mme faon en 3D, on pourra prserver des (bouts de) surfaces, en conservant
des points extrmits (ou terminaux) de surface. La dfinition de tels points dpend de lauteur
et du contexte (voir lannexe B).
Un algorithme de squelettisation prservant des points terminaux de courbe (resp. de surface)
est appel algorithme de squelettisation curviligne (resp. surfacique) ; le rsultat obtenu avec
un tel algorithme est appel squelette curviligne (resp. squelette surfacique). Notons quen 3D,
certains algorithmes proposent dabord lobtention dun squelette surfacique, partir duquel peut
tre obtenu un squelette curviligne. Dautres proposent directement lobtention de lun et/ou de
lautre (voir lannexe B).
Jusqu la fin de ce chapitre, nous ne parlerons que du cas de la squelettisation (et non plus
de lamincissement).

4.2.2 Diffrences entre lapproche itrative ou parallle de suppression de


points
4.2.2.1 Approche itrative
Un processus de squelettisation opre par suppressions de points. Il lui faut alors choisir des
points supprimer. Supposons que la suppression se fasse de manire itrative. un instant
donn nous avons un objet X ; un point x est lu, nous testons sa simplicit :
si x est non simple, nous considrons un autre point,
si x est simple, nous lliminons et obtenons ainsi un objet Y ; la simplicit du point suivant
y tre examin dpend totalement de lobjet courant et par voie de consquence, du point

4.3 Stratgies mises en uvre dans les algorithmes parallles de squelettisation

69

supprim prcdemment.
Cette itration est rpte jusqu stabilit, i.e. jusqu ce quil ny ait plus de point simple. Un
tel algorithme est dcrit par le schma 1.
Rpter
Pour tout point de limage dtermin selon un balayage squentiel faire
Si le point est simple alors il est supprim
(Sinon examiner le point suivant, dtermin par le balayage)
Jusqu ce quil ny ait plus de suppression durant un balayage complet de limage.
Algorithme 1: Schma squentiel de squelettisation.
Retenons que le squelette obtenu par un tel processus itratif de suppression de point simple
dpend du balayage de limage : cest lui qui lit le point candidat la suppression. Si nous considrons un balayage vido, les remarques prcdentes expliquent leffet de bord qui fait glisser
le squelette selon le sens du balayage dans limage, do le mauvais centrage des squelettes.
Lapproche rsultant dun tel processus de suppression itrative de point simple offre comme
avantages la prservation de la topologie (par la dfinition mme dun point simple), et la minceur des squelettes (dans le sens quils ne contiennent plus de point simple).
4.2.2.2 Approche parallle
Intuitivement, afin dtre efficace, un algorithme doit tre conu de faon supprimer en
parallle plusieurs points. Mais la suppression en parallle de points simples peut ne pas prserver
la topologie, comme nous lavions indiqu aux sections 2.6.2 et 3.8.
Il faut alors mettre en uvre des stratgies permettant llection des points quun algorithme
va pouvoir supprimer en parallle ; stratgies dtailles dans la section suivante.

4.3 Stratgies mises en uvre dans les algorithmes parallles


de squelettisation
Lun des algorithmes de squelettisation le plus connu en 2D est celui de Rosenfeld [Ros75]
[RK82] (voir section A.3.4). Cet algorithme utilise la stratgie directionnelle selon la squence
Nord, Sud, Est, Ouest : tous les points simples ayant leur voisin Nord dans le complmentaire
sont supprims en parallle, puis tous les points simples ayant leur voisin Sud dans le complmentaire sont supprims en parallle, et ainsi de suite.
Lobjet de la figure 4.1 illustre le fait que la stratgie directionnelle propose par A. Rosenfeld ne fonctionne pas si elle est tendue directement au cas 3D. En effet, tous les points de cet
objet sont simples, et leurs voisins selon la direction Nord (voir Fig. B.1 (b)) par exemple appartiennent au complmentaire ; lextension directe conduit alors supprimer tous ces points (en
considrant cette mme direction de suppression), auquel cas lobjet disparat : la topologie nest
ainsi pas prserve.

70

Schmas dalgorithmes de squelettisation

F IG . 4.1 Contre-exemple lextension directe en 3D de la stratgie directionnelle mise en


uvre dans lalgorithme de Rosenfeld.
Retenons alors que la stratgie directionnelle consistant supprimer en parallle tous les
points simples dun objet qui ont leur voisin, dtermin selon une direction donne, dans le complmentaire nest uniquement valide que dans le cas 2D (au sens de prservation de la topologie).
En 3D, seul un sous-ensemble de lensemble des points simples peut tre limin, un instant
donn. Il faut alors ajouter dautres contraintes, dpendant dune stratgie adopte ; stratgies que
nous dtaillons maintenant de faon gnrale :
une itration de suppression est divise en plusieurs sous-itrations :
selon une approche directionnelle : le processus supprime en parallle les points simples
qui vrifient une condition par rapport une direction (gnralement, il sagit du mme
voisinage que celui mis en jeu dans le test de la simplicit dun point). Ce processus est
rpt pour chaque direction retenue, selon un ordre appropri et jusqu stabilit i.e.
jusqu ce quil ny ait plus de suppression durant une squence balayant toutes les
directions proposes. Le schma 2 dcrit ce processus.
Y = image initiale
Rpter
Pour chacune des directions Diri
Y = Y \ { les points simples qui vrifient une condition selon Dir i }
Jusqu ce quil ny ait plus de suppression durant une squence entire de directions.
Algorithme 2: Schma parallle de squelettisation, selon lapproche directionnelle.
En pratique, un jeu de masques (ou templates) est fourni, dcrivant les configurations
quun point doit vrifier afin dtre supprim, pour une direction donne. Un point vrifiant une template est un point simple vrifiant de plus certaines conditions directionnelles. En fait, les auteurs de tels algorithmes doivent vrifier que leur algorithme prserve la topologie. Cest le cas si cet algorithme ne supprime pas de MNS. Gnralement, lobtention des templates utilises nest pas rvle, seule leur utilisation afin de

4.3 Stratgies mises en uvre dans les algorithmes parallles de squelettisation

71

vrifier la prservation de la topologie par lalgorithme les utilisant est donne. Notons
galement que lutilisation des templates empche une description formelle des points
liminer, contrairement aux algorithmes que nous proposerons au chapitre 6 : un point
liminer sera un point P -simple o P sera bien dfini, par exemple, P sera lensemble
des points dont le voisin Nord appartient au complmentaire.
Certains auteurs ont propos des algorithmes en 6 sous-itrations directionnelles [PK98a]
(cf. section B.2.1) puis en 12 sous-itrations [PK97a] [PK97b] (cf. section B.2.3) [PK99]
(cf. section B.2.4). Le centrage des squelettes est dautant meilleur que le nombre de directions utilises est lev, mais cela accrot galement la complexit dimplmentation
de lalgorithme (plus de templates, disomtries coder). Notons enfin que les squelettes obtenus par une telle approche directionnelle dpendent de lordre choisi selon
lequel les directions sont considres (voir section A.3 (resp. B.2) pour des algorithmes
utilisant cette approche directionnelle pour images 2D (resp. 3D)).
selon une approche sous-mailles (subfields ou subgrids) : lespace est dcompos en
sous-mailles. Pour une sous-maille donne, seuls les points y appartenant et vrifiant
certaines conditions sont limins en parallle, puis ce processus active une autre sousmaille et ainsi de suite, jusqu stabilit i.e. jusqu ce quil ny ait plus de suppression
durant une squence activant toutes les sous-mailles. Un tel processus est dcrit par le
schma 3.
En fait, si la subdivision est telle que deux points dune mme sous-maille ne peuvent
appartenir un MNS ; la topologie est alors prserve. Cest le cas, par exemple, pour
4 sous-mailles en 2D, ou pour 8 sous-mailles en 3D ( condition de les choisir de faon
adquate, voir par exemple la section B.3.1). Si la subdivision de lespace est telle que
deux points dune mme sous-maille peuvent tre voisins, risquant ainsi dappartenir
un MNS, il faut encore une fois ajouter dautres conditions et ne supprimer quun sousensemble de lensemble des points simples dune mme sous-maille (cf. section A.4.1
(resp. B.3.1) pour un algorithme utilisant cette approche sous-mailles pour images 2D
(resp. 3D)).
Le squelette obtenu dpend de la position de lobjet dans limage, i.e. de la premire
sous-maille choisie. De plus, les squelettes prsentent gnralement des effets de zigzag.
Y = image initiale
Rpter
Pour chacune des sous-mailles Si
Y = Y \ { les points de Si vrifiant une condition
supplmentaire selon le choix des sous-mailles }
Jusqu ce quil ny ait plus de suppression durant une squence
entire dactivation de sous-mailles.
Algorithme 3: Schma parallle de squelettisation, selon lapproche sous-mailles.

72

Schmas dalgorithmes de squelettisation


une itration de suppression utilise un voisinage tendu. Cest le cas pour :
les algorithmes fortement parallles (ou fully parallel) : un processus supprime les
points simples de lobjet qui vrifient une autre condition qui utilise un plus grand
voisinage que celui suffisant dcider de la simplicit ou non dun point (cf. section
A.5.7) ; ce processus se termine ds quil ny a plus de suppression lors dune itration.
Un tel processus est dcrit par le schma 4. En 2D, de nombreux algorithmes fortement parallles ont t proposs. Certains ne prservaient pas la topologie (cf. sections
A.5.4 et A.5.5). Il est encore plus difficile de proposer des algorithmes valides en 3D ; le
voisinage utilis tant trop tendu afin de permettre directement une simulation par ordinateur pour vrifier la validit dun tel algorithme. Gnralement, de tels algorithmes
considrent des templates, et dans celles-l, nous pouvons nous apercevoir quune direction de prservation est privilgie : par exemple, afin de pouvoir retirer des points
dun ruban dpaisseur 2, il faut imposer la conservation dune bande plutt quune autre
(voir lannexe A).
notre connaissance, trois algorithmes fortement parallles pour images 3D (et nutilisant pas la technique suivante des points P -simples) ont t proposs. Nous avons
montr que seul lun deux prservait la topologie. Il sagit de lalgorithme de Manzanera et al. [MBPL99c] [MBPL99a] (cf. les sections B.4.3 et 6.7.4.2). La conception
mme de cet algorithme ne privilgie aucune direction : les squelettes obtenus sont alors
bien centrs, nanmoins ils peuvent ne pas tre minces ; il est noter galement que cet
algorithme utilise un trs grand voisinage.
Y = image initiale
Rpter
Y = Y \ { les points simples de Y (et vrifiant une condition
supplmentaire dans un voisinage tendu) }
Jusqu ce quil ny ait plus de suppression durant une itration.
Algorithme 4: Schma parallle de squelettisation, selon lapproche fortement parallle.
les algorithmes supprimant les points P -simples. Ces points doivent appartenir un ensemble P et vrifier une condition supplmentaire par rapport cet ensemble : ils doivent
tre P -simples. Deux algorithmes fortement parallles base de points P -simples ont
dj t proposs [MF98] [BM00]. Nous verrons que P peut dpendre galement dune
direction (dans ce cas, lalgorithme est dcoup en sous-itrations directionnelles)
(voir chapitres 5 et 6). Jusqu prsent, un algorithme supprimant des points P -simples
soit utilisait une phase prliminaire dtiquetage soit, ce qui revient au mme, examinait un voisinage tendu et suffisant pour tester lappartenance dun point lensemble
P [Ber95a] (cf. section 5.3). En fait, nous avons propos une nouvelle dfinition, celle
de point P x -simple, nous permettant de remdier lexamen dun voisinage tendu et
dviter une phase prliminaire dtiquetage (voir chapitre 6). Cette nouvelle approche
de point P x -simple na t tudie dans ce mmoire que dans le cas des algorithmes
directionnels. Des travaux sont actuellement en cours afin dtendre ces rsultats aux

4.4 Complexit des algorithmes

73

cas des algorithmes fortement parallles.


Notons galement lexistence dautres algorithmes de squelettisation. Notamment les algorithmes :
guids par la distance [AdB89] [Pud98]. Le choix des points candidats la suppression
est dtermin par rapport leur distance au bord de lobjet (sont utilises les notions daxe
mdian, de lignes mdianes [CM91], listes de contour [Akt97]). Cest dailleurs par cette
notion de distance qua t dfinie la notion de squelette, travers lanalogie avec une
propagation de feux de prairies [Blu67] [Xia89],
utilisant la morphologie mathmatique (voir le squelette par zones dinfluence [Ser82]).
Ces approches ne sont pas tudies dans ce mmoire.

4.4 Complexit des algorithmes


Dans lannexe A, nous avons donn quelques considrations concernant des comparaisons
entre algorithmes de classe diffrente, au sujet du nombre ditrations requis afin de squelettiser
des objets synthtiques.
Par exemple, considrons une courbe ouverte horizontale de longueur n. Un parcours itratif
le long de cette courbe va squelettiser cet objet en n itrations. Un processus parallle peut
ncessiter, de faon gnrale, environ n2 sous-itrations de suppression (en accdant tout point
de limage lors de chacune des sous-itrations). Un algorithme de type sous-mailles peut mme
exiger jusqu n itrations, selon la position de lobjet dans limage (voir lannexe A pour plus
de dtails).
Cest un problme difficile que de pouvoir estimer lefficacit dun algorithme quel que soit
le type dimages traiter. Intuitivement, pour des images relles, un algorithme parallle sera
plus efficace quun algorithme itratif et produira un squelette mieux centr.
Par exemple, un algorithme A supprimant au moins les points supprims par un algorithme
B (de mme classe) va gnralement obtenir un squelette plus rapidement que B, mais ce nest
pas toujours le cas (cf. chapitre 6). De plus, le fait de retirer plus de points lors dune premire
(sous-)itration peut ventuellement tre la cause dapparition prmature de points extrmits :
le squelette nest alors pas forcment meilleur (dun point de vue esthtique) que celui obtenu
par B ; la prsence de points extrmits prmaturment peut mme tre la cause dun manque
defficacit de A par rapport B.

4.5 Conclusion
Nous avons prsent les diffrentes classes dalgorithmes de squelettisation, oprant par suppression de points, selon lapproche topologie digitale. Retenons que les algorithmes base de
sous-itrations ne produisent pas de squelettes bien centrs, contrairement ce que lon devrait
obtenir avec des algorithmes fortement parallles. Dans ce but, ces derniers requirent lexamen
dun voisinage tendu. Afin de rduire ce voisinage, il est possible dimposer des contraintes
directionnelles, absentes dans le cur de lalgorithme, mais intrinsquement prsentes dans les

74

Schmas dalgorithmes de squelettisation

configurations correspondant aux points pouvant tre supprims (voir les annexes A et B) ; dans
ce cas le centrage nest plus aussi bon.
En conclusion, aucune classe ne prvaut ; les avantages de lune sont les inconvnients dune
autre, au niveau soit de lalgorithme en lui-mme, soit des points quil supprime. Cest ce qui a
motiv notre recherche dalgorithmes dans un autre cadre mathmatique : lapproche topologie
discrte (cf. la partie III).

Deuxime partie
Points P -simples,
et nouveaux algorithmes de squelettisation
pour images 3D binaires,
bass sur la suppression
de points P -simples

77
Un algorithme de squelettisation opre par suppression de points simples. Si cette suppression
est ralise de faon squentielle, la topologie est prserve (cela par la dfinition mme dun
point simple). En revanche, la topologie peut ne pas tre prserve lors dune suppression en
parallle de points simples (cf. les sections 2.6 et 3.8, le chapitre 4 et les annexes A et B).
En 1995, G. Bertrand a propos la notion de points P -simples [Ber95a] ; P dsignant un
ensemble constitu de points susceptibles dtre supprims simultanment. Gnralement, P
peut tre dtermin selon la nature de lalgorithme ; par exemple, dans un algorithme parallle
de type sous-itrations directionnelles, la condition pour quun point appartienne P dpend
dune direction (plus prcisment, P dpendra de la sous-itration courante du processus de
squelettisation ; sous-itration qui est lie une direction).
Nous avons la proprit fondamentale de pouvoir supprimer lensemble des points P -simples
tout en prservant la topologie ; limportance en est alors flagrante en ce qui concerne la conception dalgorithmes parallles (et valides) de squelettisation ; encore faut-il proposer une caractrisation satisfaisante dappartenance lensemble P (voir explications la section 5.3.2.1 et au
chapitre 6). Nous dirons dun algorithme quil est P -simple, sil opre par suppression de points
P -simples ; auquel cas, nous sommes certains quil prserve la topologie.

Une fois que P est connu, il est possible de tester localement (i.e. dans N 26
(x))) la P simplicit dun point x. En 1995, G. Bertrand a propos un algorithme oprant par suppression de
points P -simples. Celui-l consiste en la rptition jusqu stabilit de deux tapes : la premire
tiquette les points de P , la seconde dtermine localement et en parallle les points P -simples
puis les limine en parallle. Retenons quun tel schma ncessite une phase pralable dtiquetage, ou lutilisation de listes de contours pour lesquelles il faut grer la cration et la mise jour.
Une autre variante, dtaille dans le chapitre 6, na pas besoin de phase pralable dtiquetage
mais examine un plus grand voisinage.
Dans le chapitre 6, sera introduite la dfinition dun ensemble P x ; lensemble P x est obtenu
partir dun ensemble P . Cela nous a permis de proposer un schma de squelettisation oprant
par suppression de points P x -simples et vitant les deux inconvnients prcdemment cits ;
savoir une phase prliminaire dtiquetage ou lexamen dun voisinage tendu. Nous pourrons
ainsi comparer un algorithme bas sur la suppression de points P x -simples avec certains algorithmes (dtaills dans lannexe B) dcidant localement de la suppressibilit dun point. En
fait, nous proposerons des algorithmes supprimant des points P x -simples, et P sera recherch
de faon ce que lalgorithme propos retire au moins les points supprims par un algorithme
dj existant. Cela permet dune part, dobtenir un algorithme supprimant gnralement plus de
points lors de la premire sous-itration de suppression, dautre part, de vrifier galement que
lalgorithme dja existant prserve bien la topologie. Remarquons que lutilisation des points
P -simples nous a permis de mettre en vidence que deux algorithmes ne prservaient pas la
topologie. Actuellement, nous travaillons avec leur auteur pour les corriger.

Chapitre 5
Points P -simples
5.1 Introduction
Ce chapitre dfinit dabord ce quest un point P -simple, puis rappelle lalgorithme oprant
par suppression en parallle de points P -simples, propos par G. Bertrand [Ber95a] (algorithme
de type sous-itrations directionnelles). Nous discuterons en fin de chapitre, de la recherche dune
dmarche systmatique afin de tester si un algorithme prserve la topologie.

5.2 Dfinitions [Ber95a]


Dans la suite, nous considrons une image binaire tridimensionnelle (V, n, n, B), avec V =
Z 3 . Dans cette section, nous rappelons la dfinition dun point P n -simple (n tant la connexit
utilise pour lobjet, lorquil ny a pas dambigut, nous parlerons dun point P -simple). Nous
illustrons des exemples de points P -simples ou non et donnons les caractrisations les plus rcentes et la complexit pour caractriser de tels points.
Dfinition (point Pn -simple et ensemble Pn -simple) : Soit X Z 3 . Soient P X et
x P . Le point x est Pn -simple si S P \ {x}, x est n-simple pour X \ S. Notons S n (P )
lensemble des points Pn -simples. Un ensemble D est Pn -simple (pour X) si D Sn (P ).
Intuitivement, si P caractrise des points qui sont potentiellement candidats la suppression,
et si un point x est simple quel que soit le sous-ensemble S de P qui pourrait tre supprim de
X, alors la suppression de x ne posera pas de problme lors de la suppression effective dun
ensemble S : la topologie est alors prserve (voir galement la section 9.4).
La consquence immdiate qui en ressort est quun algorithme oprant par suppression de
points P -simples (i.e. densembles P -simples) est valide (i.e. il prserve bien la topologie).
Nous introduisons alors une nouvelle terminologie, celle dalgorithme P -simple.

Points P -simples

80

Dfinition (algorithme P -simple) : Sil existe une condition dappartenance un ensemble


P , telle quun algorithme opre par suppression de points P -simples, alors cet algorithme est dit
algorithme P -simple.
Proposition : Tout algorithme P -simple prserve la topologie.
A priori, le problme qui apparat aussitt est celui de tester la simplicit dun point x par
rapport tous les sous-ensembles possibles S inclus dans P , afin de dcider de la P -simplicit
ou non du point x (processus de complexit exponentielle). En fait, G. Bertrand a propos une
caractrisation locale des points P -simples :
Proposition : Soient P X

x est Pn -simple pour X

et x P . Notons R = X \ P .
(C1 )

Tn (x, R) = 1,

(5.1)

(C2 )
(C3 )

Tn (x, X) = 1,
y Nn (x) P, Nn (y) Gn (x, R) = ,

(5.2)
(5.3)

(C4 )

y Nn (x) P, Nn (y) Gn (x, X) = .

(5.4)

Cette caractrisation utilise les nombres topologiques et des parcours de composantes connexes (dans des voisinages godsiques, voir section 3.6.1.1). Notons k = #[G n (x, X)] et
k = #[Gn (x, X)], avec #Y tant le nombre dlments de lensemble Y . Les conditions (5.1)
et (5.3) peuvent tre implantes en O(k) et les conditions (5.2) et (5.4) en O(k) : la caractrisation des points P -simples est alors ralise en un temps linaire (en sachant au pralable quel
ensemble R, P ou X appartient un point ; en fait, la donne de limage fournit X et X ; une fois
que P est connu, nous pouvons dduire R = X \ P ).
Remarque : Jusqu maintenant les algorithmes nopraient que par suppression de certains
points simples ; ceux-l tant slectionns par exemple, par rapport une direction de suppression, les auteurs de tels algorithmes vrifiant la validit de leurs algorithmes si ceux-l ne supprimaient pas de MNS. Ici, il sagit de lapproche inverse : nous nous donnons une condition
dappartenance un ensemble P et nous savons que lalgorithme oprant par suppression des
points P -simples prserve la topologie, en raison de la dfinition mme des points P -simples ;
aucune preuve supplmentaire nest exige.
Le concept densemble P -simple a t approch par Y.F. Tsao et K.S. Fu [TF82], (voir galement le thorme 5.2, page 371, [KR89], introduction dun ensemble R - cas 2D), mais rien
navait t propos plus prcisment (et concrtement dans le cadre dun algorithme de squelettisation) jusquaux points P -simples.
Il nous a sembl trs intressant dapprofondir ltude dj ralise [Ber95a, Ber95b, Ber95c],
dessayer de proposer des algorithmes P -simples (chapitre 6) et de se positionner par rapport aux
algorithmes de squelettisation existants (dtaills dans lannexe B).
Notons encore que les points P -simples ont t galement utiliss dans ltude de surfaces

5.2 Dfinitions [Ber95a]

81

(a)

(b)

(c)

F IG . 5.1 Exemples de points P -simples ou non. Les points appartenant X \ P (= R), X, P


sont reprsents par des boules noires, des boules blanches ou des cubes noirs, respectivement.
discrtes [BM96] ou dans le cadre de polydrisation [BM00].

5.2.1 Exemples
Considrons la figure 5.1. Seule la configuration (a) correspond un point P 6 -simple, et
seules les configurations (a) et (b) correspondent un point P 26 -simple. Intuitivement, dans la
configuration 5.1 (b), selon la connexit (6, 26), si les points de P taient supprims en parallle,
un trou serait cr dans lobjet (voir Fig. 1.11 et la section 1.6) ; et cest ici la condition (5.4)
qui nest pas vrifie. Dans la configuration 5.1 (c), pour les 2 types de connexits, si les points
de P taient supprims en parallle, alors lobjet serait dconnect ; la condition (5.1) nest pas
vrifie pour les deux connexits et la quatrime condition nest pas vrifie pour la connexit
(6, 26).
5.2.1.1 Points non Pn -simples : mise en dfaut de chacune des conditions
La figure 5.2 (mmes notations qu la figure 5.1) reprsente diffrentes configurations reprsentant un point non P26 -simple, de telle faon que seule la premire condition ne soit pas
vrifie (Fig. 5.2 (a)), ou la seconde uniquement (Fig. 5.2 (b)) et ainsi de suite. Les quatre configurations (Fig. 5.2 (e) (h)) sont celles dun point non P 6 -simple selon le mme procd.
Remarque : La mise en dfaut de la condition (5.2) implique que le point nest pas n-simple.
Pour la mise en dfaut des autres conditions, les exemples prsents ici sont ceux de points nsimples, non Pn -simples. Le but de la figure est dillustrer la ncessit de chacune des conditions
mises en jeu dans la P -simplicit par rapport la simplicit.

5.2.2 Autres caractrisations


Dans [Ber95c], nous avons la proposition suivante, qui est une formulation des conditions
(5.3) et (5.4), plus facile utiliser :

Points P -simples

82

(a)

(b)

(e)

(c)

(d)

(g)

(h)

(f )

F IG . 5.2 Configurations de points non P -simples. Les configurations (a) (d) (resp. (e) (h))
correspondent un point non P 26 -simple (resp. non P6 -simple), en mettant en chec chaque
fois une seule des 4 conditions de P -simplicit.
/ Y.
Proposition : Soient x Z 3 , y Nn (x) et Y Z 3 tel que y

pour n = 26, z Y tel que z est 26-adjacent x et y, (5.5)

Nn (y) Gn (x, Y ) =
pour n = 6, z Y et t Y

(5.6)

tel
que
{x,
y,
z,
t}
constitue
un
carr
unit.

Cest cette caractrisation qui est utilise dans [Ber95c] afin de prouver que lalgorithme de
Gong et Bertrand [GB90] prserve la topologie (dmontr dans le cas (26, 6)). En effet, pour une
direction donne, les points candidats la suppression appartiennent un ensemble P 26 -simple ;
lensemble P tant constitu de points dtermins par la direction de suppression et vrifiant
quatre conditions donnes dans [Ber95c] (cette dmonstration est reprise la section 6.5.1.2 ;
des dmonstrations de P -simplicit dautres algorithmes sont proposes au chapitre 6).
La caractrisation des points P -simples la plus rcente utilise uniquement les nombres topologiques [BM96] :
Proposition : Soient P X et x P et
R = X \ P .
Tn (x, R) = 1,

Tn (x, X) = 1,
x est Pn -simple pour X
y Nn (x) P, Tn (x, R {y}) = 1,

y Nn (x) P, Tn (x, X {y}) = 1.

5.3 Un schma de squelettisation valide oprant par suppression de points P -simples


[Ber95a]

83

En pratique, cela peut nous amener caractriser un point P -simple uniquement par lutilisation des BDD (graphe de dcision binaire, cf. lannexe C) des nombres topologiques.
Remarque : En fait, nous pouvons nous demander sil est possible de gnrer un BDD qui
nous indique si un point est P -simple (de faon gnrale, comme cela a t fait dans le cadre des
points simples et en tenant compte de toutes les configurations possibles, pour X, R ou P ). Dans
ce cas, il faut prciser lappartenance dune variable (du voisinage) X, P ou R.
Soit nous crons, ce que nous pouvons appeler un TDD (Ternary Decision Diagram), par
analogie avec un BDD (voir lannexe C), consistant en un arbre pour lequel chaque nud non
n
terminal comporte jusqu trois fils (larbre ternaire complet comporterait 3 21 nuds non terminaux cest le pire des cas pour un TDD, du point de vue de la taille , avec n = 26, larbre
comporterait 1.27 1012 nuds).
Soit nous crons une formule boolenne dont un terme est constitu dune premire srie de
26 variables (les 26 voisins) indiquant lappartenance ou non X, puis 26 autres variables (les
mmes voisins, mais renomms) pour lappartenance P ; larbre binaire complet comporterait
2n 1 nuds non terminaux cest le pire des cas pour un BDD, du point de vue de la taille
, avec n = 52, larbre comporterait 4.5 1015 nuds non terminaux ; son obtention semble
irralisable.

5.3 Un schma de squelettisation valide oprant par suppression de points P -simples [Ber95a]
Nous rappelons un schma de squelettisation bas sur la suppression de points P -simples,
propos par G. Bertrand dans [Ber95a].

5.3.1 Description
Ce schma utilise une stratgie directionnelle. Notons dir i les six directions : Haut, Bas,
Sud, Nord, Ouest, Est (i = 0 . . . 5, respectivement) et diri (x) le 6-voisin de x selon la direction
diri . Soit D diri (X) = {x X; diri(x) X}, lensemble des points x de X ayant le voisin selon
la direction diri qui appartient X. Lensemble des points extrmits dun ensemble Y est not
E(Y ). Notons Sn (P ), lensemble des points Pn -simples. Ce schma de squelettisation est dcrit
par lalgorithme 5 (avec X 0 = X), algorithme que nous nommons algorithme P -simple de
Bertrand et not B E _PS par la suite.
Lalgorithme consiste alors en la rptition jusqu stabilit (obtenue lors dune itration sans
suppression) de sous-itrations de suppression parallle de points P -simples itration compose de 6 sous-itrations, correspondant chacune 1 des 6 directions. En fait, une sous-itration
est constitue de 2 phases : la premire consiste tiqueter (en parallle) Pi les points de
lobjet courant X i qui appartiennent D [diri mod 6] (X i ), sauf les points terminaux (qui forment
E(X i )). La seconde consiste dterminer (en parallle) les points Pni -simples et les supprimer.

Points P -simples

84

Rpter
Faire pour chaque direction i successive :
(a) tiqueter en parallle les points de X i appartenant P i
avec P i = E(X i ) D [diri mod 6] (X i ),
(b) Supprimer en parallle les points retenus en (a) qui sont P ni -simples :
nous obtenons ainsi X i+1 (nous avons : X i+1 = X i \ Sn (P i ))
Jusqu ce quil ny ait plus de suppression pendant 6 sous-itrations successives.
Algorithme 5: Algorithme P -simple de Bertrand (B E _PS).
Ce processus sarrte lorsquil ny a plus de suppression lors de 6 sous-itrations (directionnelles)
successives.
Ce schma de squelettisation conduit une large classe dalgorithmes de squelettisation car
il y a plusieurs faons de dfinir les points extrmits. En fait, G. Bertrand a propos un cadre
plus gnral permettant de dfinir plusieurs schmas de squelettisation (voir [Ber95b]).

5.3.2 Commentaires et rsultats


5.3.2.1 Remarques sur la dcision dappartenance lensemble P
Lors du test de P -simplicit dun point x, il faut dterminer lesquels de ses voisins y appartiennent P (cf. conditions (5.3) et (5.4), page 80). Supposons que nous puissions dcider

(x). Il est alors galement possible de dcider de


localement de lappartenance de x P dans N26

N26
(y) est le voisinage 5 5 5 centr en x.
lappartenance de y P dans N26 (y) et
(x)
yN26

En rsum :
Soit nous ralisons une phase dtiquetage pralable P , ce qui vite de tester un voisinage
5 5 5 centr en x afin de savoir lesquels des points y de N26 (x) appartiennent P , lors
du test de la P -simplicit de x.
R. Malgouyres et S. Fourey [MF98] ont propos un algorithme fortement parallle bas
sur la suppression de points P -simples ; P tant dfini comme tant lensemble des points
de bord. Les rsultats obtenus sont alors bien centrs (car issus dune squelettisation homogne) mais non forcment minces, inconvnient surmont par lutilisation ultrieure
dun algorithme squentiel de squelettisation. Lalgorithme parallle utilise la technique
des listes de contours, lavantage est dviter ltiquetage prcdemment suggr ; rpt
de plus lors de chaque sous-itration de suppression, nanmoins lutilisation des listes de
contours ncessite le balayage entier de limage (pour leur cration) et leur mise jour.
En fait, cette technique peut tre utilise dans tous les algorithmes que nous proposons
par la suite ou pour ceux auxquels nous les comparons ; afin dobtenir une implmentation
efficace.
Soit nous ne ralisons pas la phase pralable dtiquetage et dans ce cas, nous devons
examiner un voisinage 5 5 5 centr en x.
Nous proposons intuitivement une autre approche qui nous a amen proposer un ensemble P x (voir chapitre 6) : nous dcidons quun point y ( N 26 (x)) appartient P x , si

5.3 Un schma de squelettisation valide oprant par suppression de points P -simples


[Ber95a]

(27, 6 055, 224.26)

(27, 8 074, 299.04)

(69, 11 145, 161.52)

(25, 10 065, 402.6)

(22, 4 542, 206.46)

(22, 3 008, 136.73)

85

F IG . 5.3 Squelettisation curviligne (26, 6) algorithme de Bertrand (B E _PS) (R EPR7).

ite = 0 (512)

ite = 1 (512)

ite = 2 (448)

ite = 3 (448)

ite = 4 (384)

ite = 5 (384)

F IG . 5.4 Dtails des 6 premires sous-itrations de lalgorithme de Bertrand (B E _PS) squelettisation curviligne (26, 6) sur lobjet PaKu1 (R EPR6).

Points P -simples

86

Objet initial

Squelette curviligne
(26, 6)
(6, 26)
(42, 3 276, 78)
(41, 3 264, 79.61)

Squelette surfacique
(6, 26)
(18, 3 035, 168.61)

Objet initial

Squelette curviligne
(26, 6)
(6, 26)
(54, 4 245, 78.61)
(46, 4 218, 91.70)

Squelette surfacique
(6, 26)
(17, 3 792, 223.06)

F IG . 5.5 Autres objets, squelettisations curvilignes (26, 6) puis (6, 26) et surfacique (6, 26)
avec lalgorithme de Bertrand (B E _PS) (R EPR7).

5.4 Liens entre les points P-simples, les ensembles simples et les MNS

87

les conditions dappartenance de y P dans N26 (x) sont ralises, mme si elles ne le sont
pas forcment toutes dans un voisinage 5 5 5 centr en x. En dautres termes, si un
minimum de conditions sont vrifies dans N 26 (x) restrictions des conditions dappartenance P dans N26 (x), y N26 (x), nous dirons quil est possible que le point test
y appartienne P ; et nous dirons que y appartient P x . Lavantage est que nous accdons moins de points (restrictions N 26 (x)), linconvnient intuitif est que a priori, plus
de points de N26 (x) appartiendront P x et x sera moins facilement P x -simple ; en bref,
un algorithme plus rapide du point de vue des accs pour dterminer les points supprimer, mais moins rapide du point de vue des itrations (car il supprime, a priori, moins de
points). Ces notions seront expliques dans le chapitre suivant ( travers la dfinition dun
ensemble P x , dfini partir dun ensemble P ). Nous proposerons ensuite de nouveaux
algorithmes de squelettisation oprant par suppression de points P x -simples.
5.3.2.2 Rsultats
Considrons quun point extrmit pour lobtention dun squelette curviligne est un point
avec un seul voisin. Les rsultats obtenus sont illustrs aux figures 5.3 et 5.4 (la reprsentation
utilise est dcrite la section B.1).
Nous proposons galement une caractrisation pour lobtention de squelettes surfaciques,
uniquement dans le cas de la connexit (6, 26). Si nous considrons la 6-adjacence pour X, nous
pouvons dire que le motif 3D le plus lmentaire est le cube unit 2 2 2. Un point extrmit
peut tre dfini comme un point qui nappartient pas localement une rgion 3D, c.--d. qui
nappartient pas un cube unit inclus dans X [Ber95a]. Les rsultats obtenus sont illustrs la
figure 5.5.

5.4 Liens entre les points P-simples, les ensembles simples et


les MNS
Dans cette section, nous donnons quelques proprits des ensembles P -simples, par rapport
aux MNS (cf. chapitre 3). De manire gnrale, afin de tester la validit dun algorithme, il
fallait sassurer quil ne retirait pas de MNS. Dans cette section, nous explicitons la dmarche de
la vrification de la validit dun algorithme par le test de la P -simplicit des ensembles retirs
par cet algorithme (de tels tests seront raliss dans le chapitre suivant).
Nous expliquons brivement pourquoi la version vrifiant si lalgorithme ne retire que des
ensembles P -simples est un processus plus rapide que celui vrifiant si lalgorithme ne retire pas
de MNS.

5.4.1 Proprits des ensembles P -simples par rapport aux MNS


Rappelons les dfinitions dun ensemble simple et dun MNS (voir chapitre 3, section 3.8) :

88

Points P -simples

Dfinitions : Soit X Z 3 . Un ensemble S X est un ensemble n-simple de X si les


points de S peuvent tre arrangs selon une squence S = {x1 , . . . , xk } de telle faon que x1
soit n-simple pour X et xi soit n-simple pour lensemble X \ {x1 , . . . , xi1 }, pour i = 2, . . . , k.
Un ensemble S X est un ensemble minimal non n-simple (n-MNS) sil nest pas un ensemble
simple et si chacun de ses sous-ensembles propres est n-simple.
La proposition suivante tablit la relation entre les ensembles P -simples et les ensembles
n-simples [Ber95c].
Proposition : Soient X Z 3 et P X : P est Pn -simple tous les sous-ensembles de P
sont n-simples.
En particulier, un point Pn -simple est n-simple.
Remarque : Soit x X. Si nous imposons lensemble P dtre uniquement compos de
llment x, alors Nn (x) P = et Nn (x) P = , les conditions (5.3) et (5.4) de P -simplicit
sont donc vrifies. Nous avons R = X \ P = X \ {x}, et la dfinition dun nombre topologique
implique Tn (x, X \ {x}) = Tn (x, X) ; la condition (5.1) quivaut Tn (x, X) = 1, et avec la
condition (5.2), cela quivaut ce que le point doit tre simple. En rsum, lorsque P est constitu dun seul point x, le point x est P -simple si et seulement si x est simple pour X. Dailleurs,
nous pouvons obtenir ce rsultat directement par la dfinition de P -simplicit dun point : avec
P = {x} et S P \ {x} (S = ) et il faut x n-simple pour X \ S (= X).
Intuitivement, un algorithme qui ntiquette P quun seul point ( une itration donne),
et qui le supprime (en parallle) sil est P -simple (sachant quaucun autre point de limage ne
peut tre tiquet P ), revient un algorithme de suppression squentiel de points simples (le
choix des points candidats la suppression par cet algorithme squentiel quivaut au choix des
ensembles successifs P ).
Nous avons la proposition suivante (qui dcoule de la prcdente) qui tablit un lien entre les
points P -simples et les MNS.
Proposition (lien P -simple et MNS) : Soient X Z 3 et P X : P est Pn -simple P ne
contient pas de n-MNS.
La proprit suivante de MNS est propose par Kong ([Kon93], daprs [Ber95b]).
Proprit
: Un ensemble non vide M X est un MNS pour X

x M, x nest pas simple pour [X \ M] {x},

x M, N M tel que x N, x est simple pour [X \ M] N.


Les points P -simples permettent davoir une autre caractrisation des MNS :

(5.7)
(5.8)

5.5 Dmarche systmatique de la vrification de la validit dun algorithme


Proposition
: Un ensemble non vide M X est un MNS pour X

x M, x nest pas M-simple,

x M, y M et x = y, x est [M \ {y}]-simple.

89

(5.9)
(5.10)

Dans la section 5.5, quelques unes de ces proprits seront retrouves, aprs lintroduction
des notions dhomotopie et dhomotopie forte.

5.5 Dmarche systmatique de la vrification de la validit


dun algorithme
Nous illustrons une condition suffisante mais non ncessaire la prservation de la topologie travers lexemple dun algorithme supprimant ou non des MNS, et prservant la topologie.
Puis, sont dfinies les notions dhomotopie et dhomotopie forte laide desquelles nous retrouvons quelques proprits de la section prcdente. Puis, nous discutons propos dune dmarche
systmatique de la vrification de la validit (au sens de prservation de la topologie) dun algorithme.

5.5.1 Condition suffisante de la validit dun algorithme


Dans [Ma94], il est montr que les n-MNS sont de petits ensembles : tout n-MNS est inclus
dans un cube unit. Il a t prouv dans le cas (26, 6) quun oprateur parallle de rduction O
prservait la topologie sil ne supprimait pas de MNS, i.e. (voir section 3.8) :
tout ensemble contenu dans un carr unit et supprim par O est un ensemble simple,
O ne doit supprimer aucune composante connexe de S, contenue dans un cube unit.
Pour vrifier la validit dun algorithme avec cette proprit, nous devons au minimum tester
la simplicit dun ensemble T inclus dans un carr S, et par consquent accder aux voisins des
points de T afin de tester la simplicit des points de T , cela pour tout sous-ensemble de S (il faut
trouver une squence parmi toutes celles possibles), et cela pour tout sous-ensemble contenu
dans un carr et supprim par O. Daprs les propositions prcdentes, il suffit de regarder si
lensemble des points x supprims par lalgorithme est P -simple, cela se fait localement dans

N26
(x), une fois que P est connu.

5.5.2 Condition suffisante mais non ncessaire


Considrons un algorithme qui ne retire que des ensembles de deux points (P = {p 1 , p2 })
de courbes simples ouvertes et horizontales X, de longueur suprieure 5 ; p 1 tant un point
extrmit dune telle courbe X et p2 tant son unique voisin. Le point p 1 nest pas simple pour
X \S avec S = {p2 } ( P = {p1 , p2 }) ; donc p1 nest pas P -simple et P nest pas P -simple (par
lutilisation de la dfinition, ou directement avec la proposition de la page 90 : le sous-ensemble
S = {p2 } de P nest pas simple pour X ainsi P nest pas P -simple). En revanche, il existe une

Points P -simples

90

squence (on retire p1 puis p2 ) caractrisant lensemble P comme ensemble simple (p1 simple
pour X et p2 -simple pour X \{p1 }). Cela indique que si un algorithme nest pas P -simple, il peut
nanmoins prserver la topologie. Notons que dans cet exemple, lensemble supprim contenait
un MNS ; en effet, le point p2 nest pas simple pour X.
Cela montre quune dtection systmatique de la validit dun algorithme par le test de sa P simplicit est impossible. En revanche, si lalgorithme a t conu de faon ne pas supprimer
de MNS (cest la grande majorit des cas), alors la dmarche systmatique peut tre utilise pour
vrifier sa validit avec les points P -simples (cf. la proposition (lien P -simple et MNS) la page
88). Cest ce que nous dtaillons la section suivante.

5.5.3 Homotopie et homotopie forte


Nous introduisons des dfinitions provenant dune tude sur lhomotopie et lhomotopie forte
dans Z 3 , dcrite dans [BM96].
Dfinition (ensemble (sous-) n-homotope) : Soient X Z 3 et Y X. Lensemble Y est
(sous) n-homotope lensemble X (si Y = X ou) si Y peut tre obtenu partir de X par la
suppression de points simples. Si Y est (sous) n-homotope X, lensemble X \ Y est appel un
ensemble (sous) n-simple.
Nous retrouvons le processus itratif de suppression de points simples, mis en uvre dans la
dfinition densemble simple, dj propose page 88.
Rappelons maintenant la notion densemble fortement homotope :
Dfinition (ensemble fortement (sous-) n-homotope) : Soient X Z 3 et Y X. Lensemble Y est fortement (sous) n-homotope lensemble X (si Y = X ou) si pour tout ensemble
Z tel que Y Z X, Z est (sous) n-homotope X, lensemble X \ Y est appel un ensemble
fortement (sous) n-simple.
Nous avons alors la proprit suivante :
Proprit 1 : Soient X Z 3 et P X. Pour tout ensemble D de Sn (P ), X \ D est nhomotope X. En dautres termes, lensemble X \ S n (P ) est fortement n-homotope X.
Nous retrouvons alors les proprits donnes dans la section 5.4 :
Proposition 2 : Soient X Z 3 et P X : P est Pn -simple tous les sous-ensembles de
P sont n-simples.
Proposition 3 : Soient X Z 3 et P X : P est Pn -simple P ne contient pas de n-MNS.
Donnons galement la proposition suivante [BM96] :

5.5 Dmarche systmatique de la vrification de la validit dun algorithme

91

Proposition 4 : Soit X Z 3 . Un ensemble Y X est fortement n-homotope X si et


seulement si lensemble P = X \ Y est un ensemble P n -simple pour X.
Selon la dfinition densemble simple, si tous les sous-ensembles dun ensemble D sont
simples, cela signifie que pour tout sous-ensemble S de D, il existe une squence telle que S soit
simple. En fait, la proprit suivante signifie que pour tout sous-ensemble S de D, alors S est
simple quelle que soit la squence le dcrivant. Nous nonons alors la proposition suivante :
Proposition 5 : Soient X Z 3 et D X. Tous les sous-ensembles de D sont simples
tous les sous-ensembles de D sont simples quelle que soit la squence les dcrivant (voir galement la notion densemble hrditairement simple [Kon93]).
Preuve :
Le sens est vident.
Dmontrons la proposition dans le sens .
Soient D = {x1 , . . . , xn }. Tous les sous-ensembles de D sont n-simples D ne contient pas
de MNS D est Dn -simple (cf. la proposition 3, page 90) x D, x est D n -simple (cf. la
dfinition, page 79) x D, S D \ {x}x, x est n-simple pour X \ S (cf. la dfinition,
page 79).
Cela entraine :
i) On pose S = . Alors x D, x est n-simple pour X et {x} est un ensemble n-simple,
ii) On pose S = {xi } Alors xj D, xj est n-simple pour X \ {xi } avec j diffrent de i
et 1 j n ; cela est vrai 1 i n. Ainsi {xi , xj } est un ensemble n-simple, quelle
que soit la squence le dcrivant (i.e. nous avons xi n-simple pour X et xj n-simple pour
X \ {xi }) ; et xj n-simple pour X et xi n-simple pour X \ {xj }),
et ainsi de suite, par rcurrence.

Retenons alors :
quun ensemble D est dit simple pour X signifie que sa suppression de X prserve la
topologie, puisque nous pouvons la simuler par une squence de suppression de points
simples (pour lobjet courant),
quun ensemble D est dit fortement simple pour X signifie que sa suppression de X prserve la topologie, puisque nous pouvons la simuler par toute squence possible (dcrivant
D) de suppression de points simples (pour lobjet courant).
Remarque (consquence de la proposition 5) : Nous savons quun algorithme ne supprimant pas de MNS ne supprime que des ensembles simples. La proprit prcdente souligne le
fait quil est impossible quil existe une squence telle quun de ces sous-ensembles ne soit pas
simple par cette squence le dcrivant.
Supposons quun algorithme soit conu de faon ne supprimer que des ensembles simples
et que ces ensembles soient dcrits par une squence donne : soit cet algorithme retire des
MNS et il faut effectuer des tests supplmentaires pour vrifier si la topologie est prserve (voir

92

Points P -simples

lexemple dans la section 5.5.2) ; soit cet algorithme ne retire pas de MNS et dans ce cas les
ensembles quil retire sont simples et tous leurs sous-ensembles le sont et cela quelle que soit la
squence les dcrivant (cf. proposition 5). La squence impose lors de la conception est inutile ;
cela peut simplifier alors la preuve de sa validit, permettre la simplication de lalgorithme et a
posteriori son implmentation.

5.5.4 Rcapitulatif concernant une dmarche systmatique


Considrons un algorithme A. Soit P , lensemble des points retirs par A.
Si A a t conu de faon ne pas supprimer de MNS (voir dans la preuve de sa validit)
alors lensemble P est P -simple (cf. la proposition 3). Cest le cas si et seulement si tous les
points de P sont P -simples. Nous pouvons alors le vrifier en examinant si tout point x de tout
objet X pouvant tre supprim par A est P -simple. Deux cas de figure peuvent arriver :
soit, effectivement, tout point x de tout objet X pouvant tre supprim par A est P -simple ;
dans ce cas, lalgorithme prserve effectivement la topologie (cf. les sections 6.5.1, 6.5.2,
6.6.2.1 et 6.7.4).
soit, il existe au moins une configuration C de point central x telle que x est supprim par
A et x nest pas P -simple : il y a alors incohrence entre la conception de lalgorithme A
et la preuve de sa validit.
Concrtement, pour deux algorithmes fortement parallles (cf. sections 6.7.2 et 6.7.3) vrifiant lhypothse de conception sans suppression de MNS ; nous avons trouv une configuration
C pour chacun dentre eux, telle quun point x de C ne soit pas P -simple ; cette configuration
C est telle quen fait un MNS est supprim et que la topologie nest pas prserve ; les preuves
apportes par les concepteurs de ces algorithmes sont alors fausses. Insistons sur le fait que si
lhypothse de conception sans suppression de MNS nest pas vrifie, il est possible que lalgorithme prserve la topologie (cf. lexemple de la section 5.5.2).
Retenons finalement que dans le cas de la vrification systmatique, il nous faut raliser
un examen tendu du voisinage ou un tiquetage prliminaire, ce qui nest gnralement pas
possible par simulation par ordinateur. Cest ce qui nous a motiv introduire un ensemble P x
permettant de driver la notion de point P x -simple au chapitre suivant.

5.6 Conclusion
Ce chapitre prsente le concept fondamental de point P -simple. Cest la notion adquate pour
la suppression en parallle de points en prservant la topologie.
Il faut retenir que de nombreux algorithmes ont t proposs ; ceux-l oprent par suppression de points simples et utilisent une certaine stratgie. Les auteurs vrifient gnralement que
leurs algorithmes prservent la topologie en montrant que leurs algorithmes ne suppriment pas
de MNS. Un algorithme supprimant des points P -simples prserve forcment la topologie ; aucune preuve supplmentaire nest requise. En fait, la conception dun algorithme supprimant des
points P -simples suit une dmarche inverse de celle dun algorithme classique.

5.6 Conclusion

93

Dans le chapitre suivant, nous dfinissons un ensemble P x partir dun ensemble P . Puis,
nous proposons de nouveaux algorithmes de squelettisation bass sur la suppression de points
P x -simples. Ceux-l sont tels quils nutilisent ni une phase pralable dtiquetage, ni lexamination dun voisinage tendu, contrairement lalgorithme bas sur la suppression de points
P -simples, dcrit la section 5.3.

Chapitre 6
P -simplicit dalgorithmes et nouveaux
algorithmes bass sur les points P -simples
6.1 Introduction
Dans le chapitre prcdent, nous avons rappel un algorithme de squelettisation bas sur la
suppression de points P -simples. Celui-l consistait en la rptition jusqu stabilit des deux
tapes suivantes : une phase prliminaire dtiquetage des points appartenant P , ce qui pouvait
tre fait dans le 26-voisinage de chaque point de limage et une seconde phase de dtection
locale et parallle des points P -simples (en utilisant la caractrisation de la page 80), suivie par
la suppression en parallle de ces points. Retenons quune fois que P est connu, il est possible
de dtecter localement les points P -simples.
Une alternative au schma prcdent consiste alors en la rptition jusqu stabilit de la dtection en parallle des points P -simples et de leur suppression, mais en sautorisant examiner
un voisinage tendu afin de savoir quels points y dans le 26-voisinage de x appartiennent P .
Sous lhypothse de pouvoir dterminer si un point x appartient P ou non, par lexamen dun
voisinage 3 3 3 centr en x, nous comprenons que lalternative au premier schma ncessite
lexamen dun voisinage 5 5 5 centr en x ; pour dterminer si le point x est P -simple, cela
sans phase prliminaire dtiquetage (en fait, la premire hypothse pourrait tre adapte dans le
cas des algorithmes fortement parallles, car ces derniers ncessitent un voisinage plus grand que
celui de 3 3 3 pour dcider de la suppressibilit dun point). Une autre alternative consiste
utiliser des listes de contours (cf. section 5.3.2.1).
Nous proposons dans ce chapitre une nouvelle approche. partir dun ensemble P , nous
dfinissons localement en un point x dun objet X, un ensemble P x . Puis, nous proposons un
schma fond sur la suppression de points P x -simples. Nous montrons quun tel algorithme
prserve la topologie. Lutilisation des points P x -simples nutilisant ni une phase prliminaire
dtiquetage, ni un voisinage tendu, il nous est possible de comparer un algorithme supprimant
des points P x -simples avec des algorithmes dj existants utilisant les mmes voisinages.
Dans notre tude, il nous a t possible de proposer un ensemble P tel que lalgorithme A
supprimant des points P x -simples retire galement les points supprims par un algorithme exis-

96

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples


H
N
O

E
S
B
(a)

p19
p20
p10
p11
p1
p2
p0
p21
p22
p23
p12
p13
p14
p3
p4
p5
p24
p25
p26
p15
p16
p17
p6
p7
p8
p9

p18

(b)

F IG . 6.1 (a) Les 6 directions principales , (b) les notations utilises.


tant A . Cela implique, par proprit des points P -simples, que A et A  prservent la topologie,
et que A retire plus de points que A , au moins lors de la premire sous-itration de suppression.
Nous commenons dabord par dfinir un ensemble P x partir dun ensemble P et donnons
quelques proprits. Dans la section 6.5, nous proposons un algorithme curviligne en 6 sousitrations retirant, la fois, au moins les points supprims par lalgorithme de Palgyi et Kuba
en 6 sous-itrations et les points supprims par la variante curviligne de lalgorithme de Gong
et Bertrand. Ensuite, dans la section 6.6, nous proposons un algorithme en 12 sous-itrations
supprimant au moins les points supprims par un algorithme de Palgyi et Kuba. Enfin nous
tudions trois algorithmes fortement parallles dans la section 6.7, celui de Ma (section 6.7.2),
celui de Ma et Sonka (section 6.7.3) et celui de Manzanera, et al. (section 6.7.4). Nous montrons,
par lutilisation des points P -simples, que les deux premiers ne prservent pas la topologie. Nous
montrons que lalgorithme de Manzanera, et al., quant lui, prserve la topologie.

6.1.1 Notations utilises


Les 6-voisins de x dterminent les six directions principales (Fig. 6.1 (a)) : Haut, Bas,

(x)
Nord, Sud, Ouest, Est ; respectivement dnots par H, B, N, S, O et E. Tout point de N 26
caractrise une direction parmi les 26 quil est possible dobtenir partir des 6 principales, par

exemple SO, HSO . . . Notons Dir, lune de ces 26 directions. Le point dans N 26
(x) selon la
direction Dir est appel le voisin Dir de x et est not Dir(x). Dans la suite, les points de N 26 (x)
sont souvent nots par pi ; i = 0, . . . , 26 (Fig. 6.1 (b)) ; par exemple, p0 est le voisin HSO de
p13 , i.e. p0 = HSO(p13) (ou Haut Sud Ouest(p13 )).
Considrons une direction parmi les six directions principales (Fig. 6.1 (a)). La direction
oppose sera note .
Nous dsignons par N6 (x) (resp. N18 (x)), les quatre 6-voisins (resp. les quatre 18-voisins) qui
appartiennent la fentre 3 3 perpendiculaire la direction et de point central x (en fait,
N6 (x) = N6 (x)\{(x), (x)}). Enfin, N (x) = N6 (x)N18 (x){x} et N (x) = N (x)\{x}.
Remarque : Dans la suite, les points de P seront reprsents par des toiles.

6.2 Points P x -simples

97

6.2 Points P x-simples


Dans cette section, nous dfinissons un ensemble P x , partir dun ensemble P X et
pour tout point x de X, avec X Z 3 . Nous montrons quun algorithme supprimant des points
P x -simples prserve la topologie. Enfin, un exemple illustre des diffrences entre les points P simples et les points P x -simples.

6.2.1 Ensemble P x
Dans la suite, nous considrons un sous-ensemble X de Z 3 et un sous-ensemble P de X.
Pour tout x de Z 3 , nous considrons une famille finie de couples de sous-ensembles de Z 3
(B k (x), W k (x)) avec k [1, l], telle que B k (x) W k (x) = et x appartient B k (x).
Nous disons que P est caractris par une telle famille (B k , W k ) si P = {x Z 3 ; k
[1, l] tel que B k (x) X et W k (x) X}. En fait, P correspond une transformation Hit or
Miss de X par (B k , W k ) [Ser82] [Jon00].
Un algorithme de squelettisation utilisant la notion de points P -simples doit dcider si un
point x est P -simple ou non : dans le but de tester les quatre conditions de P -simplicit (cf.
la proposition 5.2, page 80), il doit tester si le point x appartient P , et de plus il doit tes
ter si les points y de N26
(x) appartiennent P (voir les troisime et quatrime conditions de
P -simplicit). Un tel algorithme peut se drouler selon diffrentes faons pour caractriser les
points appartenant P et les points tant P -simples :
La premire stratgie consiste en la rptition de deux tapes [Ber95a]. Durant la premire, les points appartenant P sont tiquets, par accs B k (x), et W k (x), pour tous
les points x de Z 3 ; cela tant faire au plus pour l couples (B k (x), W k (x)). Pendant la seconde tape, les quatre conditions de P -simplicit de la proposition 5.2 (page 80) doivent
tre testes pour tous les points de P : le test de ces quatre conditions est rendu possible
grce ltiquetage pralable ralis lors de la premire tape. Le schma correspondant
cette stratgie est dcrit par lalgorithme 6 dans la section 6.2.3. Notons lutilisation possible de listes de contours pour simuler de faon efficace cet tiquetage, pour une approche
particulire de squelettisation [MF98] [BM00].
La deuxime stratgie consiste en une unique tape de dtection de points P -simples.
Durant le test de P -simplicit de chaque point x de X, il est permis daccder B k (z) et
W k (z) pour tout point z N26 (x). Ainsi, cette stratgie exige gnralement lexamen
dun plus grand voisinage que N26 (x). Le schma correspondant cette stratgie est dcrit
par lalgorithme 7 dans la section 6.2.3.
Nous proposons maintenant une nouvelle stratgie qui nexige ni une phase prliminaire
dtiquetage, ni lexamen dun voisinage tendu. Cette stratgie utilise les notions dappartenance un ensemble P x que nous allons introduire maintenant. Le schma correspondant
cette stratgie est dcrit par lalgorithme 8 dans la section 6.2.3.
Pour plus de dtails, se reporter la section 6.2.3, dans laquelle sont dcrites ces trois stratgies. Notons quelles sont donnes ici de faon gnrale, et doivent tre adaptes selon la stratgie
choisie, i.e. par exemple lapproche directionnelle (cf. section 6.2.3).

98

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Dfinition (ensemble P x ) :
Pour chaque point x de X, nous dfinissons un nouveau sous-ensemble P x de Z 3 , dtermin
par P x = {y N26 (x); k [1, l] tel que B k (y) N26 (x) X et W k (y) N26 (x) X}.
Nous avons P x P N26 (x). En fait, P x est constitu des points y de N 26 (x) X qui peuvent
appartenir P , par la seule inspection dappartenance X ou X des points appartenant
[B k (y) W k (y)] N26 (x).
Introduction (point P x -simple) :
Un point x de P x est P x -simple sil est P -simple en remplaant P par P x dans la dfinition
de la page 79. Il ne sagit pas dune nouvelle dfinition, mais dune classe particulire de points
P -simples.
Remarque : Pour tout y de N26 (x) tel que B k (y) W k (y) N26 (x) pour tout k dans
[1, l], alors y P si et seulement si y P x . Dans la suite, nous supposons que P est tel que
B k (x) W k (x) N26 (x), pour tout point x de X et pour tout k dans [1, l] ; par consquent
x P si et seulement si x P x .
Avec lhypothse prcdente, nous avons la proprit suivante :
Proprit : Tout algorithme supprimant des points x P x -simples prserve la topologie.
Preuve : Daprs la dfinition dun point P -simple, si deux sous-ensembles P 1 et P2 de X
sont tels que P1 P2 , alors si x est P2 -simple et si x appartient P1 , alors x est P1 -simple.
Nous remarquons dune part que P N26 (x) est inclus dans P x , et dautre part que x appartient
P x si et seulement si x appartient P (cf. remarque prcdente) ; par consquent si x est P x simple alors x est P -simple. Nous savons que tout algorithme supprimant des points P -simples
prserve la topologie, et par dfinition, tout algorithme supprimant des sous-ensembles de points
P -simples prserve la topologie. Cela prouve que tout algorithme supprimant des points P x simples prserve la topologie. 
Rappelons que P x est dfini partir de P , et que P est gnralement dtermin par un
ensemble de masques ou motifs (galement appels templates), utilisant le 26-voisinage dun
point pour savoir sil est supprimable. Nous dveloppons actuellement de nouveaux algorithmes
fortement parallles de squelettisation, utilisant cette notion de point P x -simple. En fait, nous
adaptons la dfinition de lensemble P x propose dans cette section, au voisinage mis en jeu
dans les templates utilises dans de tels algorithmes.

6.2.2 Exemple
Dans cette section, nous donnons un exemple qui illustre lexistence de points x qui sont P simples mais non P x -simples, pour le mme sous-ensemble P , ce qui explique alors quun algorithme supprimant des points P x -simples supprime moins de points quun algorithme supprimant
des points P -simples ; mais ce dernier utiliserait alors soit une phase prliminaire dtiquetage
soit lexamen dun voisinage tendu (cest le prix payer en contrepartie).
Nous proposons de considrer le sous-ensemble P tel que P = {x X; le voisin HautSud
de x appartient X}. Pour tout x de Z 3 , nous avons B 1 (x) = {x}, W 1 (x) = {HS(x)}, et l = 1 ;
nous crivons B(x) = B 1 (x) et W (x) = W 1 (x).

6.2 Points P x -simples

99

z
y

z
y

(a)

(b)

(c)

F IG . 6.2 Configuration initiale (a). Le point x est P -simple (b), nest pas P x -simple (c).
Considrons la figure 6.1 (b). Nous notons p 13 par x. Soit U lensemble des points de N26 (x)
X pour lesquels le voisin Haut Sud appartient N 26 (x) X, i.e. U = {p12 , . . ., p17 , p21 , . . .,
p26 } X. Soit V = [N26 (p13 ) X] \ U, i.e. V = {p0 , . . ., p11 , p18 , p19 , p20 } X. Nous avons :
Pour y U, y P x si et seulement si B(y) N26 (x)(= {y}) est inclus dans X (toujours vrifi pour tout y U), et si W (y) N26 (x)(= {HS(y)}) est inclus dans X ; par
consquent pour y U, nous avons y P x si et seulement si HS(y) appartient X.
Pour y V , y P x si et seulement si B(y) N26 (x)(= {y}) est inclus dans X (toujours
vrifi pour tout y V ), et si W (y) N26(x)(= ) est inclus dans X (toujours vrifi pour
tout y V ) ; par consquent y P x pour tout y V .
En rsum, pour tout point x de X, P x = {y U; HS(y) X} V .
Considrons la configuration dcrite la figure 6.2 (a). Les points de P (resp. P x ) sont
reprsents par une toile la figure 6.2 (b) (resp. figure 6.2 (c)). Dans la figure 6.2 (b), le point
x appartient P car x appartient X et le voisin Haut Sud de x appartient X. Le point
y appartient R(= X \ P ) car z(= HS(y)) appartient X et W (y) X. Dans ce cas, x est
un point P -simple. Dans la figure 6.2 (c), le point x appartient P x car x appartient U et le
voisin Haut Sud de x appartient X. Le point y appartient P x car y appartient V . Dans
ce cas, x nest pas un point P x -simple car les premire et troisime conditions de P x -simplicit
ne sont pas vrifies : T26 (x, Rx ) = 0 et il ny a pas de point de Rx 26-adjacent x et y, avec
Rx = X \ P x .

6.2.3 Schmas dalgorithmes de squelettisation bass sur la suppression de


points P -simples
Dans cette section, nous avons choisi de rappeler les trois schmas gnraux de squelettisation mis en uvre par des algorithmes supprimant des points P -simples (schmas dcrits par
les algorithmes 6, 7 et 8). En fait, ces trois schmas sont proposs dune faon trs gnrale
et doivent tre adapts nos besoins. Par exemple, lorsque le schma indique supprimer en
parallle tous les points P -simples, il faut tenir compte de lapproche retenue : sil sagit de
lapproche 6 sous-itrations par exemple, alors nous retirons tous les points selon une des six
directions considres, puis successivement pour les autres directions, jusqu stabilit. De plus
lutilisation de listes de contours permet une implmentation plus efficace pour ces schmas.

100

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Rpter
a) tiqueter en parallle les points x appartenant P
b) Supprimer en parallle les points P -simples x non extrmits
(nous devons accder N26 (x) pour tout x retenu en a))
Jusqu stabilit
phase prliminaire dtiquetage
Algorithme 6: Premier schma de squelettisation par suppression de points P -simples : utilisation dune phase prliminaire dtiquetage.

Rpter
Supprimer en parallle les points P -simples x non extrmits
Jusqu stabilit
un voisinage tendu doit tre examin
Algorithme 7: Deuxime schma de squelettisation par suppression de points P -simples : utilisation dun voisinage tendu.

Rpter
Supprimer en parallle les points P x -simples x non extrmits
Jusqu stabilit
Ce schma nexige :
ni une phase prliminaire dtiquetage

ni lexamen dun voisinage tendu


Algorithme 8: Troisime schma de squelettisation par suppression de points P x -simples : nutilise ni une phase prliminaire dtiquetage, ni lexamen dun voisinage tendu.

6.3 Mode opratoire de tests et de propositions dalgorithmes

101

6.3 Mode opratoire de tests et de propositions dalgorithmes


Le but de ce chapitre est de pouvoir proposer de nouveaux algorithmes pour images 3D
binaires retirant au moins les points supprims par des algorithmes dj proposs.
Pour un algorithme A donn, nous vrifions dabord quil prserve bien la topologie. Gnralement, cela a dj t propos dans larticle proposant lalgorithme, par lutilisation des MNS
(preuve combinatoire, toutes les configurations sont testes). En utilisant les points P -simples,
nous pouvons vrifier que A prserve la topologie de la faon suivante :
Soit P lensemble correspondant exactement aux points supprims par A. Nous prouvons
que lensemble P des points supprims par A est P -simple si les points retirs par A sont
P -simples ; si cest le cas alors lalgorithme prserve bien la topologie. Par rapport ce
qui a dj t indiqu, il sagit encore dune preuve combinatoire ; nous testons toutes
les configurations possibles, nanmoins, cela semble plus ais raliser avec les points
P -simples quavec les MNS (cf. section 5.5.1).
Une seconde possibilit consiste tester si lalgorithme A est P x -simple ; cela pouvant
tre simul par ordinateur (P tant lensemble des points pouvant tre supprims par A).
Si cest le cas, alors lalgorithme A prserve la topologie. Notons que les algorithmes tests
dans ce chapitre sils prservent la topologie sont P x -simples.
Ce chapitre rend compte des deux possibilits : preuve crite manuellement par lutilisation
des points P -simples et simulation par ordinateur par lutilisation des points P x -simples.
Une variante de la deuxime possibilit consiste proposer un ensemble P  tel que lalgorithme A supprimant les points P x -simples (voir section 6.2) supprime au moins les points
retirs par un algorithme A. De cette faon, dune part A et A prservent la topologie (preuve
par ordinateur de la validit de A) ; et dautre part lalgorithme A retire plus ou le mme nombre
de points que lalgorithme A, au moins lors de la premire itration de suppression, ce qui laisse
penser quun squelette peut tre obtenu par A plus rapidement quavec A, pour un mme objet
initial. En fait, il est difficile de gnraliser, tant donn que le squelette na pas le mme centrage
selon les deux algorithmes. La dmarche permettant de trouver P par raffinements successifs sera
dcrite en dtails pour deux algorithmes aux sections 6.5.3 et 6.6.3.

6.4 Algorithmes base de sous-mailles


Considrons un algorithme de squelettisation utilisant 8 sous-mailles. Les 8 sous-mailles sont
choisies de faon ce que tout couple de deux points diffrents x et y dune mme sous-maille

soit tel que y


/ N26
(x). Supposons que cet algorithme retire en parallle les points simples dune
mme sous-maille. Nous tiquetons P tous les points de la sous-maille examine. Il nexiste

(x) du point x test de la sous-maille.


pas dautres points tiquets P , dans le voisinage N 26
Dans ce cas, nous avons lquivalence entre la P -simplicit et la simplicit de x ; i.e. un point
simple retir par cet algorithme est en fait un point P -simple, et vice versa. Cela se rapproche de
la remarque pour laquelle P est rduit en un point (remarque de la page 88) ; ici cest P restreint
dans N26 (x) qui est rduit en un point et nous utilisons le fait que la caractrisation dun point

(x) (voir la proposition page 80).


P -simple x est locale - i.e. seffectue dans N26

102

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

En consquence, nous ne pouvons pas proposer densemble P  de telle faon ce quun


algorithme supprimant des points P -simples retire plus de points quavec lalgorithme propos.
Retenons quil est plus facile de dmontrer quun algorithme utilisant 8 sous-mailles, telles

que deux points x et y dune mme sous-maille sont tels que y


/ N 26
(x), prserve la topologie, quavec les autres types dalgorithmes. noter le renouveau actuel dintrt pour de tels
algorithmes ; la recherche se portant alors sur de nouvelles dfinitions de points extrmits afin
de pallier laspect zigzag, montr en 2D dans lannexe A, et galement sur un nombre diffrent
de sous-mailles. Voir galement lannexe B, pour des algorithmes base de sous-mailles pour
images 3D.
Nous ne reviendrons pas sur lapproche sous-mailles par la suite.

6.5 Algorithmes en 6 sous-itrations directionnelles

103

6.5 Algorithmes en 6 sous-itrations directionnelles


Nous montrons que lalgorithme de Gong et Bertrand et celui de Palgyi et Kuba sont P simples, puis nous proposons un algorithme qui permet de supprimer au moins les points supprims par les deux prcdemment cits.

6.5.1 tude de la P -simplicit de lalgorithme de Gong et Bertrand


6.5.1.1 Rappels de lalgorithme de Gong et Bertrand (G O B E) [GB90]
Cet algorithme consiste en la rptition jusqu stabilit de 6 sous-itrations directionnelles
Haut, Nord, Est, Bas, Sud, Ouest de suppression parallle de points. Pour une direction
(parmi les 6 principales prcdemment cites), lalgorithme limine en parallle les points qui
vrifient les conditions suivantes et qui ne sont pas extrmits (voir galement la figure 6.3 ; des
notations ont t introduites la section 6.1.1) :

(G1 ) : (x) X,

(G2 ) : (x) X,
(G3 ) : y N6 (x), si y X alors (y) X,

(G4 ) : y N6 (x), z N18 (y) N6 (x), soit t le seul lment de N6 (z) N6 (y) N18 (x),

si y X et z X et t X alors (t) X.
Notons que dans la condition (G 4 ), (y) X et (z) X (daprs (G3 )).

G4

G3
G1

z
x

G2

F IG . 6.3 Conditions imposes dans lalgorithme de Gong et Bertrand (G O B E) ( = Haut).


Pour plus dinformations, se reporter la description de cet algorithme dans la section B.2.2,
page 293.
6.5.1.2 P26 -simplicit de G O B E
Proprit : Lalgorithme de Gong et Bertrand (G O B E) est P26 -simple.

104

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Nous dmontrons maintenant cette proprit ; la dmonstration a dj t propose par G.


Bertrand dans [Ber95c].
Lintrt de cette dmonstration est de comprendre comment utiliser les quatre conditions
de P -simplicit dun point et de pouvoir les appliquer pour un ensemble de points susceptibles
dtre supprims par un algorithme A, et ensuite de montrer que cet ensemble est P -simple,
ce qui entraine que lalgorithme A lest galement. En fait, cette preuve est assez compacte,
compare celles qui viendront dans la suite du chapitre ; do lintrt den comprendre le
principe sur cet algorithme.
Preuve :
Soit G (X), lensemble des points x X vrifiant les quatre conditions prcdentes (pour
la direction ). Pour prouver que lalgorithme G O B E prserve la topologie, il est suffisant de
montrer que :
X Z 3 , P = G (X) est P26 -simple.
Soient P = G (X), R = X \ P et x P .
Remarque 0 (rmq0 ) : Si x appartient P , alors (x) R (car (x) X (G2 ), et comme
((x)) = x X, alors (x) ne vrifie pas (G1 )).
Remarque 1 (rmq1 ) : Si x appartient X, et si (x) X, alors (x) R (comme
((x)) = x X, alors (x) ne vrifie pas (G1 )).
Montrons quun point x appartenant G (X) est P26 -simple (i.e. quil vrifie les quatre
conditions de P -simplicit, cf. les propositions aux pages 80 et 82).
Condition (C1 ) :
1) y N (x) N ((x)), y est 26-adjacent (x).
/ P daprs (G3 ), car
2) Soit y N6 ((x)) X. Alors z = (y) appartient X (sinon x
y X). De plus z R (rmq1 ).
Soient y N18 ((x)) X et z = (y).
Si z X alors z R (rmq1 ).
Si z X alors il existe u N6 (x) N6 (z) tel que u X (sinon x
/ P daprs (G4 ),
car y X). Comme z N6 (u) X et y = (z) X, alors u ne vrifie pas (G3 ) et u R.

(x) R sont 26-adjacents (x) qui appartient


Dans tous ces cas (1) et 2)), les points de N26
R (rmq0 ), ou un point z ou u appartenant R et 26-adjacent (x).
Nous avons alors T26 (x, R) = 1.
Condition (C2 ) :
y N6 (x) X, (y) X (G3 ), or (y) est 6-adjacent (x) qui appartient X (G1 ) (et qui
est 6-adjacent x). De plus (x) X (G2 ). Nous avons alors T6 (x, X) = 1.
Condition (C3 ) :
y N (x) N ((x)), z = (x) R (rmq0 ) tel que z est 26-adjacent x et y. y

6.5 Algorithmes en 6 sous-itrations directionnelles

105

N ((x)), si y P alors y = (x) car (x) X(G1 ) et z = (y) R (rmq0 ), 26-adjacent


x (z N (x)) et y.
Condition (C4 ) :
y N6 (x) P, y N6 (x) car (x) X (G1 ) et (x) R (rmq0 ). y N6 (x) P, (y)
X (G1 ) et z = (y) X et t = (x) X(G1 ) tel que {x, y, z, t} constitue un carr unit.
(N.B. : lire y P la place de y X dans le test de la condition 4 du paragraphe 6 dans
[Ber95c])


6.5.2 tude de la P -simplicit de lalgorithme de Palgyi et Kuba en 6


sous-itrations
6.5.2.1 Rappels de lalgorithme de lalgorithme de Palgyi et Kuba en 6 sous-itrations
(PA K U6) [PK98a]
Cet algorithme consiste en la rptition jusqu stabilit de 6 sous-itrations directionnelles
Haut, Bas, Nord, Sud, Est, Ouest de suppression parallle de points. Pour une direction donne, lalgorithme limine en parallle les points dont le voisinage vrifie au moins lune des
templates proposes dans le masque (li la direction donne).
la figure 6.4, est reprsente une partie des templates du masque pour la direction Haut ; il
faut galement prendre en compte les templates obtenues par les rotations selon laxe HautBas
(90, 180 et 270 degrs). Lensemble des masques pour la direction est not T .
Pour plus dinformations, se reporter la description de cet algorithme dans la section B.2.1,
page 288.
6.5.2.2 P26 -simplicit de PA K U6
Proprit : Lalgorithme de Palgyi et Kuba en 6 sous-itrations est P26 -simple.
Preuve :
Nous considrons = Haut, lorsque nous nous reportons aux templates (Fig. 6.4).
Nous pouvons classer les templates en deux catgories : les templates pour lesquelles (x)
X (templates M1 M4 ) et les templates pour lesquelles (x) X (templates M 5 et M6 ). Nous
nous apercevons que certains points apparaissent dans chaque template dune mme catgorie,
dfinissant ainsi les motifs rcurrents MR 1 et MR2 pour les deux catgories successives (voir
Fig. 6.5).
Soit P K6 (X), lensemble des points x de X pouvant vrifier au moins lune des templates
(pour la direction ). Pour prouver que lalgorithme PA K U 6 prserve la topologie, il est suffisant
de montrer que :
X Z 3 , P = P K6 (X) est P26 -simple.

106

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

M1

M2

M4

M3

M5

M6

F IG . 6.4 Masque Haut : templates utilises lors de la sous-itration de suppression selon la


direction Haut, de lalgorithme PA K U6 ( rotations prs selon laxe HautBas). Au minimum
un point reprsent par un cube doit appartenir lobjet dans les masques M 1 et M5 .
Soient P = P K6 (X), R = X \ P et x P .
Remarque 1 (rmq1 ) : Si x P , alors (x) X (les points appartenant P appartiennent
au sous-ensemble des points de bord selon la direction ).
Remarque 2 (rmq2 ) : Si x X, et si (x) X alors (x) R (car ((x)) = x
/ X,
(x) ne vrifie pas rmq1 ).
Remarque 3 (rmq3 ) : Si x vrifie lune des templates, alors y N6 (x), si y X alors
(y) X.
Remarque 4 (rmq4 ) : Si x vrifie lune des templates M2 ou M3 , y N6 ((x)), si y X
alors (y) X. Dans ce cas, (y) R (rmq2 ).
Remarque 5 (rmq5 ) : Dans les motifs M5 ou M6 (voir MR2 ), le point u1 R (il ne peut ni
vrifier M1 , M4 , M5 ou M6 car x X, ni vrifier M2 , M3 car u(= (x)) X).
Remarque 6 (rmq6 ) : Dans le motif M6 , le point u2 R (voir explications rmq5 ).
Condition (C1 ) et (C3 ) :

Pour M1 : y N26
(x) X, y est 26-adjacent (x) R (rmq2 ).

Pour M4 : y N26 (x) X, y est 26-adjacent (x) R (rmq2 ) ou z4 R (car y3 X et


(rmq2 )) (voir MR1 ), et z4 est 26-adjacent (x).

6.5 Algorithmes en 6 sous-itrations directionnelles


y1

y2

z2

y5

y4

z3

107

y3

z4

x
w
u

u1

u2

v
MR1

MR2

F IG . 6.5 Motifs rcurrents (algorithme PA K U6) dans les masques M 1 M4 : MR1 ; et dans
les masques M5 M6 : MR2 . Sont galement indiques les notations utilises dans la dmonstration.

Pour M5 : y N26
(x) X, y est 26-adjacent u1 R (rmq5 ) (voir MR2 ).

Pour M6 : y N26 (x) X, y est 26-adjacent u1 R (rmq5 ) ou u2 R (rmq6 ) et u1 est


26-adjacent u2 .
Pour M2 ,
rmq1

(x) X},
 si z2 P (voir MR1 ) y2 X. Soit A = {N6 ((z2 )) N26
si A = alors z2 ne peut vrifier que M2 ou M3 et u A, on a (u) R (rmq4 ) et

(x) X alors y est 26-adjacent (x) R (rmq2 ) ou (u) R (et u A, (u)


y N26
est 26-adjacent (x)),

sinon, y N26
(x) X, on a y N (x) N ((x)) et y est 26-adjacent (x) R
(rmq2 ).

(x) X, y est 26-adjacent (x) R (rmq2 ) ou z2 R (et z2


 si z2 R alors y N26
est 26-adjacent (x)).

(x) X} et B = {N6 ((z3 )) N26


(x) X},
Pour M3 . Soient A = {N6 ((z2 )) N26
rmq1
 si z3 P (voir MR1 ) y4 X.

si z2 P , y N26
(x) X, y est 26-adjacent (x) R (rmq2 ) ou (u) R
(rmq4 ) avec u A si A = (z2 ne peut alors vrifier que M2 ou M3 ), et dans ce cas, (u) est
26-adjacent (x), u A ; ou (v) R (rmq4 ) avec v B si B = (z3 ne peut alors
vrifier que M2 ou M3 ), et dans ce cas, (v) est 26-adjacent (x), v B,

(x) X, y est 26-adjacent (x) R (rmq2 ) ou z2 R (et z2


si z2 R, y N26
est 26-adjacent (x)) ou (v) R (rmq4 ) avec v B si B = (z3 ne peut alors vrfier que
M2 ou M3 ), et dans ce cas, (v) est 26-adjacent (x), v B,
 si z3 R

(x) X, y est 26-adjacent (x) R (rmq2 ) ou z3 R (et z3


si z2 P , y N26
est 26-adjacent (x)) ou (u) R (rmq4 ) avec u A si A = (z2 ne peut alors vrifier que
M2 ou M3 ), et dans ce cas, (u) est 26-adjacent (x), u A,

(x) X, y est 26-adjacent (x) R (rmq2 ) ou z3 R ou


si z2 R, y N26
z2 R (et ces trois points sont mutuellement 26-adjacents).

(x) P , z R tel que z est 26Dans tous ces cas de figure T26 (x, R) = 1 et y N26
adjacent x et y.

108

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Condition (C2 ) :
rmq1
x P (x) = z X. Dans M1 M6 , y N6 (x)X, alors t (= (y)) N6 ((x))X
(rmq3 ), t est 6-adjacent y et z (1 ).
Considrons u = (x). Dans M1 M4 , u X et (1 ) implique T6 (x, X) = 1. Dans M5 M6 ,
u X, et v N6 (u) X et w N6 (x) X tel que w = (v) (voir MR2 ) et daprs (1 )
(on pose y = w), on a T6 (x, X) = 1.
Condition (C4 ) :
y N6 (x) P alors y N6 (x), car (x) X (rmq1 ) et soit (x) X (templates M5 et M6
ou MR2 ), soit (x) R (templates M1 M4 ou MR1 et rmq2 ).
y N6 (x) P alors z = (y) X (rmq1 ) et t = (x) X (rmq1 ), et nous avons le carr
unit {x, y, z, t}.


6.5 Algorithmes en 6 sous-itrations directionnelles

p3
p6

p13

p3

p7

p13
p7

(a)

109

p3
p6

(b)

p13
p7
(c)

F IG . 6.6 Cette configuration (a) est non P 1x -simple (b), et est P2x -simple (c).

6.5.3 Nouvel algorithme propos [LB02b]


Dans cette section est relat le raisonnement qui nous a permis de proposer deux conditions
successives dappartenance un ensemble P de faon ce que notre algorithme final (not
partir de maintenant L O B E) supprimant des points P x -simples, supprime au moins les points
retirs par lalgorithme de Palgyi et Kuba en 6 sous-itrations (PA K U6) (algorithme dj vu dans
la section 6.5.2.1, voir dtails supplmentaires dans la section B.2.1). En fait, notre algorithme
final supprime galement les points retirs par lalgorithme de Gong et Bertrand (G O B E) [GB90]
propos dans sa version curviligne par F. Rolland, et al. [RCM92] (algorithme dj vu dans la
section 6.5.1.1, voir dtails supplmentaires dans la section B.2.2).
Dans un premier temps, la recherche seffectue pour la sous-itration selon la direction Haut
et elle est guide uniquement par rapport lalgorithme PA K U6.
6.5.3.1 Premier essai (recherche de P1 )
Nous observons que TH supprime certains points de X dont le voisin Haut appartient
X (voir les templates la figure 6.4). Cest le cas galement pour lalgorithme G O B E dans la
direction = Haut.
Nous proposons alors de considrer P1 = {x X; le voisin Haut de x appartient X}
ou plus gnralement P1 = {x X; (x) X} ; pour la discussion qui suit, nous ne considrons que le cas = Haut. Parmi les 226 configurations possibles, nous obtenons 4 423 259
configurations correspondant des points P 1x -simples et non extrmits selon la direction Haut.
Rappelons que nous adaptons la dfinition suivante ici (utilise par K. Palgyi et A. Kuba, et par
F. Rolland, et al.) : un point x est extrmit (de courbe) sil nexiste quun seul autre point de X

dans N26
(x).
Considrons la configuration de la figure 6.6 (a). Les trois points p 3 , p7 et p13 appartiennent
P1x (voir Fig. 6.6 (b)) car ils appartiennent X, et le voisin Haut de chacun de ces points
appartient X. Les premire et troisime conditions de P 1x -simplicit ne sont pas vrifies par le
point central p13 . Ainsi, le point p13 nest pas P1x -simple. Nanmoins, ce point peut tre limin
par une rotation selon laxe vertical de la template M5 de TH . Par consquent, cette configuration
devrait tre limine par lalgorithme que nous cherchons.

110

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

(a)

(b)

(c)

(d)

(e)

(f )

(g)

(h)

(i)

(j)

(k)

(l)

(m)

(n)

(o)

(p)

F IG . 6.7 Un point appartient P 2 ssi il vrifie lune de ces templates.


tudions le comportement des autres points de cette configuration avec les templates de T H
(voir Fig. 6.6 (a)). Le point p3 peut vrifier une rotation selon laxe vertical de la template M5
ou de la template M6 . Le point p7 ne peut pas tre supprim, car p6 (= O(p7)) appartient X
et p3 (= H(p6 )) appartient X, et les templates sont telles que si x est supprim alors pour
tout y appartenant N6 (x) X, y ntant ni H(x) ni B(x) (c.--d. pour tout y N6 (x) avec
= Haut), alors le point H(y) doit appartenir X.
Avec ces remarques, nous proposons un nouvel ensemble P 2 .
6.5.3.2 Deuxime essai (recherche de P2 )
Nous proposons de considrer P2 = {x X; (x) X et pour tout point y appartenant
N6 (x), si y appartient X alors (y) doit appartenir X} ; la discussion qui suit se droule pour
le cas = Haut.
Avec les notations introduites dans la section 6.2, lensemble P 2 peut tre dcrit par la famille
compose de 16 couples de sous-ensembles de Z 3 (B k (x), W k (x)) dcrites la figure 6.7, pour
k = 1, . . . , 16, pour la direction = Haut ; en fait, il y a 6 templates principales, les autres sont
obtenues rotations de 90, 180 ou 270 degrs selon laxe ((x), (x)).
Considrons la configuration non P1x -simple de la figure 6.6 (b) (voir notations, Fig. 6.6 (c)).
Le point p13 appartient P2x , car il vrifie la template Fig. 6.7 (a). Le point p3 appartient P2x ,

6.5 Algorithmes en 6 sous-itrations directionnelles

p2
p13

p3

p5

p2
p3
p6

p7
(a)

p13

p7

111

p5

p16
(b)

(c)

F IG . 6.8 (a) Cette configuration ne peut pas tre supprime par PA K U6 quelle que soit la
direction de suppression et est P 2x -simple (b), dans (c) (obtenue partir de (a)), aucun point
nest supprim par PA K U6, nanmoins x est supprim par L O B E.
car p3 peut vrifier les templates des figures 6.7 (a), (c), (e), ou (g). Le point p 7 nappartient pas
P2x car il existe un point y dans NH6 (p7 ) N26 (x) qui appartient X, par exemple p6 (= O(p7)),
et tel que p3 (= H(y)) appartient X ; ou plus directement car p7 ne vrifie aucune des templates
de la figure 6.7. Ainsi, cette configuration non P1x -simple (Fig. 6.6 (b)) est maintenant P 2x -simple
(Fig. 6.6 (c)).
Nous obtenons 6 129 527 configurations correspondant des points P 2x -simples et non extrmits, pour la direction Haut. Les 2 124 283 configurations supprimes par T H sont galement P2x -simples. Le fait que les configurations supprimes par PA K U6 soient P 2x -simples (pour
chaque direction et par consquent pour lalgorithme en entier) garantit que la topologie est prserve par PA K U6 (car PA K U6 supprime des sous-ensembles de points P 2x -simples, voir chapitre
5).
Pour une meilleure comparaison entre PA K U6 et L O B E, nous gnrons les configurations
supprimes par ces algorithmes pour chaque direction : PA K U6 supprime 9 916 926 configurations, i.e. il existe au moins une direction telle quune configuration parmi celles-l est supprime
par PA K U6 selon cette direction ; L O B E supprime 23 721 982 configurations (139.2% de plus).
Nous rappelons quil y a 25 985 118 points simples et non extrmits parmi les 67 108 864(= 2 26 )
configurations possibles dans un voisinage 3 3 3.
La configuration dcrite la figure 6.8 (a) ne peut pas tre supprime par PA K U6, quelle que
soit la direction de suppression. Cette configuration est P 2x -simple (Fig. 6.8 (b)), avec = Haut.
En effet, le point p2 appartient P2x car p2 peut vrifier les templates des figures 6.7 (a), (b), (c)
ou (d) ; p3 appartient P2x car p3 peut vrifier les templates des figures 6.7 (a), (c), (e) ou (g) ;
p13 appartient P2x car il vrifie la template de la figure 6.7 (a) ; p5 nappartient pas P2x car
p2 (= H(p5 )) appartient X (ou plus directement, car p5 ne vrifie aucune template de la figure
6.7) ; et p7 nappartient pas P2x car il existe un point y dans NH6 (p7 )N26 (x) (y = p6 (= O(p7 )))
qui appartient X et tel que H(y) (= p3 ) appartient X (ou plus directement, car p7 ne vrifie
aucune template de la figure 6.7).
La figure 6.8 (c) montre une image construite partir de la configuration de la figure 6.8 (a)

112

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

telle que tout point est soit non simple (except x) soit extrmit, et aucun point nest supprim
par PA K U6, nanmoins le point x est supprim par L O B E.

6.5.3.3 Proprits de L O B E par rapport PA K U6


Rsumons cette tude par les deux proprits suivantes :
Proprit : Les points supprims par PA K U6 sont des points P 2x -simples ; par consquent
PA K U6 prserve la topologie.
Proprit : Lalgorithme L O B E oprant par suppression de points P 2x -simples non terminaux
de courbe supprime au moins les points retirs par PA K U6, tout en prservant les mmes points
terminaux.
6.5.3.4 Par rapport lalgorithme G O B E
Les 4 772 095 configurations supprimes par G O B E, selon la direction Haut, sont P 2x -simples.
Cela implique que G O B E prserve la topologie (car cet algorithme supprime des sous-ensembles
de points P2x -simples, voir chapitre 5).
De mme, pour une meilleure comparaison entre G O B E et L O B E, nous gnrons les configurations supprimes pour chaque direction. Lalgorithme G O B E supprime 21 194 234 configurations, notre algorithme en supprime 23 721 982 (11.9% de plus).
En fait, la configuration de la figure 6.8 (a) ne peut tre supprime par G O B E, quelle que soit
la direction de suppression considre, car p13 est tel que N6 (p13 ) X = et la condition (G2 )
ne peut tre vrifie.

6.5.3.5 Proprits de L O B E par rapport G O B E


Rsumons cette tude par les deux proprits suivantes :
Proprit : Les points supprims par G O B E sont des points P 2x -simples ; par consquent
G O B E prserve la topologie.
Proprit : Lalgorithme L O B E oprant par suppression de points P 2x -simples non terminaux
de courbe supprime au moins les points retirs par G O B E, tout en prservant les mmes points
terminaux.

6.5.4 Rcapitulatif pour lalgorithme en 6 sous-itrations


Les figures 6.9 et 6.10 proposent des configurations P 1x , P2x -simples ou non, limines par
G O B E, par PA K U6 ou non, pour une sous-itration (Fig. 6.9) ou pour une itration (Fig. 6.10).

6.5 Algorithmes en 6 sous-itrations directionnelles

113

Sur ces figures, si une configuration est relie un nud-algorithme par un trait, alors elle
est limine par cet algorithme, sauf dans le cas o le trait est barr. proximit de chaque
nud-algorithme, est indiqu le nombre de configurations que lalgorithme supprime, pour
une sous-itration (Fig. 6.9) ou pour une itration (Fig. 6.10).
Nous avons choisi de ne pas proposer une version surfacique ; cette possibilit sera en revanche tudie dans la section 6.6, pour un algorithme en 12 sous-itrations.
6.5.4.1 Rsultats observs
Les squelettes de quelques images, obtenues respectivement par PA K U6 et L O B E, sont montrs la figure 6.11 (la reprsentation est dcrite dans la section B.1). Nous observons que le
nombre de sous-itrations de suppression exig par L O B E est infrieur ou gal ceux requis
par PA K U6. Le nombre de points supprims par L O B E est infrieur ou gal celui des points
retirs par PA K U6. Rappelons quil est possible que L O B E exige plus ditrations pour obtenir
un squelette que ne lexige PA K U6 ou G O B E (cf. Fig. 6.8 (c)).

114

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

4 772 095

2 124 283

GOBE

PA K U6

4 423 259
P1x - SIMPLE

P2x - SIMPLE
6 129 527

Configurations telles que


Haut(x) X
et non extrmits
11 267 935
F IG . 6.9 Rcapitulatif : sous-itration (comparaisons algorithmes G O B E, PA K U6 et L O B E).

6.5 Algorithmes en 6 sous-itrations directionnelles

21 194 234

115

9 916 926
PA K U6

GOBE

17 467 394
P1x - SIMPLE

P2x - SIMPLE
23 721 982

SIMPLES NON TER .

25 985 118
F IG . 6.10 Rcapitulatif : itration (comparaisons algorithmes G O B E, PA K U6 et L O B E).

116

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Objet initial

16 2 256

16 2 256

Objet initial

54 4 251

45 4 248

Objet initial

142 170 001

73 163 874

F IG . 6.11 Respectivement : un objet initial, les squelettes curvilignes obtenus avec PA K U6 et


L O B E. Sous chaque squelette, sont donns le numro de la dernire sous-itration effective de
suppression et le nombre de points supprims (R EPR7).

6.6 Algorithmes en 12 sous-itrations directionnelles

117

6.6 Algorithmes en 12 sous-itrations directionnelles


K. Palgyi et A. Kuba ont propos un algorithme en 12 sous-itrations, base de templates,
permettant lobtention de squelettes curvilignes ou surfaciques. Nous montrons dabord que cet
algorithme est P26 -simple. Nous proposons ensuite un algorithme bas sur la suppression de
points P x -simples, et supprimant au moins les points supprims par lalgorithme de Palgyi et
Kuba. Nous le dclinons en deux versions : curviligne ou surfacique. Par ailleurs, nous avons
obtenu un ensemble restreint de templates quun point doit vrifier pour tre supprim par notre
algorithme surfacique, ces templates ont t obtenues par lutilisation des BDD. Voir galement
[LB01].

6.6.1 Rappels de lalgorithme de lalgorithme de Palgyi et Kuba en 12


sous-itrations (PA K U12) [PK99]
K. Palgyi et A. Kuba ont propos un algorithme de squelettisation (que nous nommerons
PA K U12, partir de maintenant) consistant en la rptition jusqu stabilit de 12 sous-itrations
directionnelles HautSud, NordEst, BasOuest, SudEst, HautOuest, BasNord,
Sud Ouest, Haut Nord, Bas Est, Nord Ouest, Haut Est, Bas Sud de suppression parallle de points ; ces 12 sous-itrations correspondent toutes les paires de directions
principales non opposes. Pour une direction donne, lalgorithme limine en parallle les points
dont le voisinage vrifie au moins lune des templates proposes, pour cette direction.
Ces templates ont t obtenues de faon supprimer un sous-ensemble des points simples
ayant un voisin dans le complmentaire, voisin dans une direction donne, tout en prservant la
topologie, mais galement afin de ne pas supprimer les points extrmits, et de faon respecter
certaines conditions gomtriques (les templates comportent au moins deux plans de symtrie,
ce qui permet alors un meilleur centrage). Deux ensembles de templates ont t proposs afin
dobtenir soit un squelette curviligne, soit un squelette surfacique.
Pour plus dinformations, se reporter la description de cet algorithme dans la section B.2.4,
page 301.

6.6.2 Algorithme de Palgyi - version squelette curviligne


la figure 6.12, est reprsent lensemble THS des templates pour la direction Haut Sud,
utilis pour lobtention du squelette curviligne.

118

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

T11

T12

T13

T14

F IG . 6.12 Templates utilises lors de la sous-itration de suppression selon la direction Haut


Sud, pour lobtention du squelette curviligne. Au minimum un point reprsent par un cube noir
doit appartenir lobjet dans les templates T 1 T3 . Au minimum un point reprsent par un cube
blanc ou un hexagone en perspective doit appartenir au background dans les templates T 4 T8 .
Deux points marqus par deux paralllpipdes bicolores doivent tre diffrents lun de lautre
dans les templates T5 , T6 , T9 et T10 . Les points non reprsents appartiennent soit lobjet, soit
au background.

6.6 Algorithmes en 12 sous-itrations directionnelles


p19
p20
p10 p11
p9
p1
p2
p0
p22
p21
p23
p13
p12
p14
p3
p4
p5
p26
p24 p25
p15 p16
p17
p6
p8
p7

119

p18

(a)

MR1

MR2
(b)

MR3

F IG . 6.13 (a) Notations utilises et (b) motifs rcurrents.


6.6.2.1 P26 -simplicit de PA K U 12
Proprit : Lalgorithme de Palgyi et Kuba en 12 sous-itrations (PA K U 12) est P 26 -simple.
Preuve :
Les templates peuvent tre classes en trois catgories : la template T 1 , la template T2 et les
templates T3 T14 , pour lesquelles apparaissent respectivement les motifs rcurrents illustrs la
figure 6.13 (b) (i.e. apparaissant dans chaque template de chacune de ces classes). Les notations
utilises pour dmontrer que cet algorithme est P 26 -simple sont reportes la figure 6.13 (a).

Soit P K12
(X), lensemble des points x de X pouvant vrifier au moins lune des templates
(pour la direction ). Pour prouver que lalgorithme PA K U 12 prserve la topologie, il est suffisant de montrer que :

X Z 3 , P = P K12
(X) est P26 -simple.

Soient P = P K12
(X), R = X \ P et x P .

Nous avons choisi de montrer quun point vrifiant une template est P -simple (i.e. quil
vrifie les 4 conditions de P -simplicit) et cela pour chacune des templates.
Pour des raisons de symtrie (imposes lors de la conception des templates, symtries selon
la direction HautSud), il est suffisant dexaminer les templates T 1 , T2 , T3 , T4 , T5 , T7 , T10 , T11 et
T13 .
Il est ais de constater que (C2 ) est vrifie par ces templates. La preuve utilise les remarques
suivantes (voir notations 6.13 (a)).

120

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Remarque 1 (rmq1 ) :
Si x P HautSud(x) X et (Haut(x) X ou Sud(x) X) (voir les templates ou les
motifs rcurrents).
Consquence : si x X et HautSud(x) X x R.
Remarque 2 (rmq2 ) :
Si x P et Sud(x) X alors x ne peut vrifier que T1 (motif rcurrent MR1 ).
Remarque 3 (rmq3 ) :
Si x P et Haut(x) X alors x ne peut vrifier que T2 (motif rcurrent MR2 ).
Remarque 4 (rmq4 , S) :

Supposons quil existe un ensemble 26-connexe S N 26


(x) R.

Si
y N26 (x) X, y est 26-adjacent au moins un point de S, alors
T26 (x, R) = 1, cest la condition (C1 )

(x) P, z R tel que z est 26-adjacent x et y (car S N26


(x) R)
y N26

cest la condition (C3 ).


Dans une telle situation, nous indiquerons alors (rmq 4 , S) ; lensemble S tant dcrit par lensemble de points {x0 , . . . , xi , . . . , xn } avec n 0 et tel que lensemble S est 26-connexe et est

(x) R (lensemble S est un paramtre de cette remarque).


inclus dans N26
Considrons maintenant un motif particulier (octant suprieur avant droit, faisant intervenir
deux points opposs), motif apparaissant dans les templates T 5 et T10 parmi celles examiner.
MR
Si p11 X p5 X. Si p5 P , alors il ne peut vrifier que T2 (rmq3 ) 2 p14 (= S(p5 )) X,
rmq1
or p2 (= HS(p14 )) X p14 R.
De mme (par symtrie), si p11 X p5 X. Si p11 P , alors il ne peut vrifier que T1
rmq1
MR
(rmq2 ) 1 p14 (= B(p11 )) X, or p2 (= HS(p14 )) X p14 R.
Sous ces conditions (octant suprieur avant droit des templates T 5 et T10 ), nous avons les trois
remarques suivantes :
Remarque 5 (rmq5 ) :
Si p5 X alors p5 R ou p14 R. Notons que lun ou lautre est 26-adjacent p16 .
Remarque 6 (rmq6 ) :
Si p11 X alors p11 R ou p14 R. Notons que lun ou lautre est 26-adjacent p22 .
Remarque 7 (rmq7 ) : (dduite des 2 prcdentes)
Il existe un point z {p5 , p14 , p11 } tel que z appartient R et z est 26-adjacent lensemble
26-connexe {p16 , p22 }.

6.6 Algorithmes en 12 sous-itrations directionnelles

121

Template T1 :
Si p16 
P alors il ne peut vrifier que T2 (rmq3 )
{p3 , p4 , p5 , p6 , p7 , p8 } X. (C4 ) est vrifie,
M R2

rmq1
p25 X, or p13 X p25 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).
Si p16 R alors (C1 ), (C3 ) (rmq4 , {p16 }) et (C4 ) sont vrifies.
Template T2 :
Si p22 
P alors il ne peut vrifier que T1 (rmq2 )
{p9 , p10 , p11 , p18 , p19 , p20 } X. (C4 ) est vrifie,
M R1

rmq1
p25 X, or p13 X p25 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).
Si p22 R alors (C1 ), (C3 ) (rmq4 , {p22 }) et (C4 ) sont vrifies.
Template T3 :
(C4 ) est vrifie. p25 R, car p13 X (rmq1 ). (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).
Template T4 :
P alors il ne peut vrifier que T2 (rmq3 )
Si p16 
{p3 , p5 , p6 , p7 , p8 } X
M R2

rmq1
p25 X or p13 X p25 R
* Si p22 P alors il ne peut vrifier que T1 (rmq2 )
M R1
{p9 , p11 , p18 , p19 , p20 } X. (C1 ), (C3 ) (rmq4 , {p25 }) et (C4 ) sont vrifies.
* Si p22 R. (C1 ), (C3 ) (rmq4 , {p22 }) et (C4 ) sont vrifies.
Si p16 R,
* Si p22 P alors il ne peut vrifier que T1 (rmq2 )
M R1
{p9 , p11 , p18 , p19 , p20 } X. (C1 ), (C3 ) (rmq4 , {p16 }) et (C4 ) sont vrifies.
* Si p22 R. (C1 ), (C3 ) (rmq4 , {p16 , p22 }) et (C4 ) sont vrifies.
Template T5 :
Si p22 P alors il ne peut vrifier que T1 (rmq2 )
M R1
{p9 , p11 , p18 , p19 , p20 } X et p11 X p5 X
/ P cause de p13 et de p5 ). (C4 ) est vrifie.
Et p16 R (
rmq5
p5 X p5 R ou p14 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p5 ou p14 , p16 }).
Si p22 R
* Si p16 P alors il ne peut vrifier que T2 (rmq3 )
M R2
{p3 , p5 , p6 , p7 , p8 } X et p5 X p11 X. (C4 ) est vrifie.
rmq6
p11 X p11 R ou p14 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p11 ou p14 , p22 }).
* Si p16 R. (C4 ) est vrifie.
Il existe un point z R, avec z {p5 , p14 , p11 } 26-adjacent {p16 , p22 } (rmq7 ).
(C1 ) et (C3 ) sont vrifies (rmq4 , {z, p16 , p22 }).

122

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Template T7 :
Si p22 
P alors il ne peut vrifier que T1 (rmq2 )
{p9 , p11 , p18 , p19 , p20 } X
M R1

rmq1
p25 X or p13 X p25 R
* Si p16 P alors il ne peut vrifier que T2 (rmq3 )
M R2
{p3 , p5 , p6 , p7 , p8 } X. (C4 ) est vrifie.
rmq1
Si p14 P p2 X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).
Si p14 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 , p14 }).
* Si p16 R,
(C4 ) est vrifie.
rmq1
Si p14 P p2 X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p16 }).
Si p14 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p16 , p14 }).
Si p22 R,
* Si p16 P alors il ne peut vrifier que T2 (rmq3 )
M R2
{p3 , p5 , p6 , p7 , p8 } X. (C4 ) est vrifie.
rmq1
Si p14 P p2 X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p22 }).
Si p14 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p22 , p14 }).
* Si p16 R,
Si p14  P
p2 X. (C1 ) et (C3 ) sont vrifies.(rmq4 , {p16 , p22 })
rmq1

p5 X ou p11 X (daprs les templates). (C4 ) est vrifie.


Si p14 R. (C1 ), (C3 ) (rmq4 , {p14 , p16 , p22 }) et (C4 ) sont vrifies.

6.6 Algorithmes en 12 sous-itrations directionnelles

123

Template T10 :
Si p16 P alors il ne peut vrifier que T2 (rmq3 )
{p3 , p5 , p6 , p7 , p8 } X et p5 X p11 X
M R2

rmq1
p25 X or p13 X p25 R
/ P cause de p13 , et de p11 ). (C4 ) est vrifie.
Et p22 R (
rmq6
p11 X p11 R ou p14 R (26-adjacent p22 ).
rmq1
* Si p12 P p0 X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p11 ou p14 , p22 , }).
* Si p12 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p11 ou p14 , p22 , p12 }).
Si p16 R
* Si p22 P alors il ne peut vrifier que T1 (rmq2 )
{p9 , p11 , p18 , p19 , p20 } X et p11 X p5 X. (C4 ) est vrifie.
M R1

rmq1
p25 X or p13 X p25 R
rmq5
p5 X p5 R ou p14 R (26-adjacent p16 ).
rmq1
Si p12 P p0 X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p5 ou p14 , p16 }).
Si p12 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p5 ou p14 , p16 , p12 }).
* Si p22 R,
z R (z {p11 , p5 , p14 }) 26-adjacent {p16 , p22 } (rmq7 ).
rmq1
Si p12 P p0 X et (p3 X ou p9 X) (daprs les templates).
(C1 ), (C3 ) (rmq4 , {z, p16 , p22 }) et (C4 ) sont vrifies.
Si p12 R. (C1 ), (C3 ) (rmq4 , {z, p16 , p22 , p12 }) et (C4 ) sont vrifies.
Template T11 :
(C4 ) est vrifie.
p25 R, car p13 X (rmq1 ).
Si p17 P alors il ne peut vrifier que T2 , T4 , T5 , T7 , T8 , T10 ou T14 car p13 X et p4 X
M R2 M R3

{p5 , p8 } X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).


Si p17 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 , p17 }).
Template T13 :
(C4 ) est vrifie.
p25 R, car p13 X (rmq1 ).
Si p23 P alors il ne peut vrifier que T1 , T4 , T5 , T7 , T8 , T10 ou T12 car p13 X et p10 X
M R1 M R3

{p11 , p20 } X. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 }).


Si p23 R. (C1 ) et (C3 ) sont vrifies (rmq4 , {p25 , p23 }).


124

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

6.6.3 Nouvel algorithme propos - version squelette curviligne


Nous proposons ici une recherche par raffinements successifs de lensemble P nous permettant dobtenir un ensemble de configurations P -simples, incluant celui des configurations
pouvant tre limines par lalgorithme de Palgyi et Kuba, dans sa version curviligne (dnot
partir de maintenant par PK _ C).
Dans un premier temps, la recherche seffectue pour la sous-itration selon la direction Haut
Sud. Nous noterons LB _ C, lalgorithme final, que nous obtenons ici la suite de trois tentatives.
6.6.3.1 Premier essai (recherche de P1 )
La premire sous-itration de PA K U12 limine en parallle les points dont le voisinage vrifie
au moins lune des 14 templates dans la direction Haut Sud. Les points limins forment un
sous-ensemble des points simples dont le voisin selon la direction Haut Sud appartient X.
Nous proposons alors de considrer P1 = {x X et Haut Sud(x) X}.
Parmi les 226 configurations possibles, nous obtenons 923 551 configurations correspondant
des points P1x -simples et non extrmits (un point x tant extrmit (de courbe) sil ny a quun

(x)).
seul autre point de X dans N26

p3
p6

p12

p13

p15

p16
(a)

p3

p13
p16
(b)

p3
p6

p12

p13

p15

p25
p16
(c)

F IG . 6.14 La configuration (a) nest pas P 1x -simple (b), et est P2x -simple (c).
Considrons la configuration de la figure 6.14 (a). Les trois points p 3 , p13 et p16 appartiennent
P1x (Fig. 6.14 (b)) car ils appartiennent X, le voisin Haut Sud de p13 et celui de p16
appartiennent X, et le voisin Haut Sud de p3 pourrait appartenir X. Les premire et
troisime conditions de P 1x -simplicit ne sont pas vrifies par le point central p 13 : avec R1x =

(p13 ) P1x il ny a pas de point de


X \ P1x , T26 (p13 , R1x ) = 0, et par exemple, pour p16 de N26
R1x 26-adjacent p16 et p13 . Ainsi, le point p13 nest pas P1x -simple. Nanmoins, il peut tre
limin par la template T1 de THS . Par consquent, il devrait tre limin par lalgorithme que
nous cherchons laborer.
tudions le comportement des autres points de cette configuration avec les templates de T HS
(voir Fig. 6.14 (a)). Le point p16 ne peut tre supprim ni par T2 , parce que p3 (= HSO(p16))
appartient X, ni par les autres templates parce que p13 (= H(p16 )) appartient X. Le point
p3 ne peut pas tre supprim parce que p6 , p15 et p12 appartiennent X, i.e. les voisins Bas,
Bas Nord et Nord de p3 , et toutes les templates imposent quau moins un de ces points

6.6 Algorithmes en 12 sous-itrations directionnelles

125

doit appartenir X dans le but de supprimer un point central dune configuration. Avec ces
remarques, nous proposons un nouvel ensemble P 2 .
6.6.3.2 Deuxime essai (recherche de P2 )
p1
p4

p10
p13

p1
p4

p10
p22
p13

p16
MR1 

MR2 

p1
p4

p10
p22
p13
p25
p16
MR3 

F IG . 6.15 Un point doit vrifier au moins lune de ces templates pour appartenir P 2 . Au
minimum un point reprsent par un cube noir doit appartenir lobjet (motif MR 3  ).
Nous imposons : p 13 X et p1 (= HS(p13)) X (seuls les points dont le voisin Haut
Sud(x) appartient X, peuvent tre supprims). Discutons de lappartenance des points p 4 (=
S(p13 )) et p10 (= H(p13 )) (voir galement la figure 6.15).
Si p4 X et p10 X alors p13 ne peut vrifier que T1 et p16 (= B(p13 )) X (motif
MR1  ).
Si p4 X et p10 X alors p13 ne peut vrifier que T2 et p22 (= N(p13 )) X (motif
MR2  ).
Si p4 X et p10 X (motif MR3  ). Une condition ncessaire impose par les templates
de THS afin dliminer le point central p13 est quau moins un des points parmi les points
Bas(p13 ), Nord Bas(p13 ) ou Nord(p13 ) (i.e. p16 , p25 ou p22 ) appartienne X (cf. discussion lors de lanalyse de la configuration de la figure 6.14 dans la section 6.6.3.1). Nous
imposons alors cette condition pour le cas p 4 X et p10 X.
Si p4 X et p10 X alors une telle configuration nest pas limine par les templates.
Nous ne cherchons pas lliminer non plus.
Finalement, nous proposons P 2 = {x Z 3 ; x verifie au moins lune des templates de
la figure 6.15 }. Notons que la configuration non P 1x -simple de la figure 6.14 (b) est P2x -simple
(Fig. 6.14 (c)). En effet, p13 appartient P2x car il vrifie MR3  ; p3 appartient R2x (= X \P2x) car
il ne vrifie ni MR1  ni MR2  ni MR3  tant donn que ses voisins Bas , Bas Nord et Nord
appartiennent X (i.e. resp. p6 , p15 et p12 ) ; p16 appartient R2x car il ne peut vrifier ni MR2 
car p25 (= N(p16 )) appartient X, ni MR1  ni MR3  car p13 (= H(p16 )) appartient X. Nous
obtenons 4 672 557 configurations correspondant des points P 2x -simples et non extrmits.
Considrons la configuration de la figure 6.16 (a). Les points p 13 , p6 et p15 appartiennent
x
P2 (voir Fig. 6.16 (b)) car p6 peut vrifier MR1  ou MR3  , p15 peut vrifier MR1  , p13 vrifie
MR3  ; le point p25 appartient R2x car p13 (= HS(p25 )) appartient X. La troisime condition

126

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

p13
p6

p13

p25

p15

p6

p13

p25

p15

p6

(a)

p25

p15

(b)

(c)

F IG . 6.16 La configuration (a) nest pas P 2x -simple (b), et est P3x -simple (c).

(p13 ) P2x , il ny a pas de point de R2x 26de P2x -simplicit nest pas vrifie : pour p6 de N26
adjacent p6 et p13 . Ainsi, le point p13 nest pas P2x -simple. Nanmoins, il peut tre supprim
par la template T12 de THS . Une telle configuration devrait tre limine par lalgorithme que
nous recherchons.
Par lutilisation des templates de THS , le point p25 ne peut pas tre supprim car p13 (=
HS(p25 )) appartient X ; le point p6 peut tre supprim au moins par la template T 2 ; mais
le point p15 ne peut pas tre supprim ni par T1 car p13 (= HE(p15 )) appartient X, ni par les
autres templates car p6 (= S(p15 )) appartient X. Nous proposons maintenant un ensemble P 3 ,
de sorte que le point p15 de la configuration de la figure 6.16 (b) ne puisse appartenir P3x .

6.6.3.3 Troisime essai (recherche de P3 )

p13

MR1 

p13

MR2 

p13

MR3 

F IG . 6.17 Un point doit vrifier au moins lune de ces templates pour appartenir P 3 . Au
mininmum un point reprsent par un cube noir doit appartenir lobjet.
En fait, dans la configuration non P2x -simple de la figure 6.16 (b), le point p15 peut vrifier
MR1  ; et MR1  a t propos par rapport la template T1 . Mais p15 ne vrifie pas T1 , car
p13 (= HE(p15 )) appartient X dans la configuration mais le voisin Haut Est du point
central dans T1 nappartient pas X. Nous ajoutons alors MR1  les autres points de la template
T1 et qui appartiennent X, obtenant ainsi le motif MR 1  . Nous faisons de mme pour MR2 
avec T2 et nous obtenons MR2  . Nous gardons MR3  et nous le renommons MR3  .
Ainsi, nous proposons P 3 = {x Z 3 ; x vrifie au moins lune des templates de la figure
6.17 }. Notons que la configuration non P 2x -simple de la figure 6.16 (b) est P3x -simple (voir

6.6 Algorithmes en 12 sous-itrations directionnelles

127

D
p0
p3

p22

p13
p16

(a)

D p0
p12 p13
p3
p16
(b)

p12 p13
p25 p26

(c)

p21
p12 p13
p24 p25 p26
p15
(d)

F IG . 6.18 Cette configuration (a) nest pas supprime par T HS et (b) est P3x -simple, (c) montre
une isomtrie de (a), elle est supprime par T HS et est P3x -simple (d).
Fig. 6.16 (c)). En effet, p6 appartient P3x car il peut vrifier MR3  ; p13 appartient P3x car il
vrifie MR3  ; le point p25 appartient R3x (= X \ P3x ) car p13 (= HS(p25 )) appartient X ; et le
point p15 appartient R3x car il ne peut vrifier ni MR2  ni MR3  car p6 (= S(p15 )) appartient
X, ni MR1  car p13 (= HE(p15 )) appartient X. Nous obtenons 2 803 838 configurations
correspondant des points P3x -simples et non extrmits. Ces dernires incluent les 1 379 581
supprimes par THS . Le fait que les configurations supprimables par PK _ C soient P 3x -simples
(pour chaque direction et par consquent pour lalgorithme en entier) garantit que la topologie est
prserve par PK _ C (car PK _ C supprime des sous-ensembles de points P 3x -simples, voir chapitre
5).
Considrons la configuration de la figure 6.18 (a). Cette configuration est P3x -simple (voir
Fig. 6.18 (b)). En effet, p13 appartient P3x car il vrifie MR3  ; p0 appartient P3x car il peut
vrifier MR1  ou MR3  ; p3 appartient R3x car il ne vrifie ni MR1  ni MR3  car p0 (= H(p3 ))
appartient X, ni MR2  car p12 (= N(p3 )) appartient X ; le point p16 appartient R3x car il
ne vrifie ni MR1  , ni MR3  car p13 (= H(p16 )) appartient X, ni MR2  car p3 (= HSO(p16))
appartient X. Cette configuration nest pas supprime par THS (voir Fig. 6.18 (a)) : ni par les
templates T1 T4 , ou T11 T14 car p0 (= HSO(p13)) appartient X, ni par les templates T5
T10 car p22 (= N(p13 )) appartient X.
La figure 6.18 (c) montre une isomtrie de la configuration de la figure 6.18 (a) obtenue
lorsque la droite D (passant par les points p 3 et p13 (= NE(p3 ))) le long de la direction NE dans
(a) est considre selon la direction HS dans (c) ; obtenant ainsi D  (passant par les points p25 et
p13 (= HS(p25 ))). Cette configuration est supprime par T3 de THS ; ou plus directement il existe
une direction de suppression Dir telle que la configuration de la figure 6.18 (a) est supprime par
T3 de TDir . Remarquons que cette configuration est P3x -simple (voir Fig. 6.18 (d)), en effet, p13
appartient P3x car il vrifie MR3  ; p26 appartient P3x car il peut vrifier MR3  ; p25 appartient
R3x car p13 (= HS(p25 )) appartient X ; et p12 appartient R3x car les voisins Bas, BasNord
et Nord de p12 (i.e. resp. p15 , p24 et p21 ) appartiennent X.
Pour une meilleure comparaison entre PK _ C et LB _ C, nous gnrons les configurations supprimes par ces algorithmes pour chaque direction : PK _ C supprime 11 268 606 configurations,
i.e. il existe au moins une direction de suppression telle quune configuration donne parmi
celles-l est supprime selon cette direction par PK _ C ; LB _ C supprime 19 327 098 configura-

128

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples


D
p18
p22
p13
p25
p16
p7
(a)

D

p21

p13
p25

p20

p18

p23

p21

(b)

p20
p13
p25

p23

(c)

(d)

F IG . 6.19 (a) Cette configuration ne peut pas tre supprime par PK _ C quelle que soit la
direction de suppression, et nest pas P 3x -simple, (b) montre une isomtrie de (a), elle est P 3x simple (c), dans (d) (obtenue partir de (a)), aucun point nest supprime par PK _ C, nanmoins
x est supprim par LB _ C.
tions (70.6% de plus). La configuration dcrite la figure 6.19 (a) ne peut pas tre supprime
par PK _ C, quelle que soit la direction de suppression considre. Le point p 13 appartient R3x
car les voisins Bas, Bas Nord et Nord de p13 (i.e. resp. p16 , p25 et p22 ) appartiennent X,
ainsi p13 nest pas P3x -simple. Cependant, lorsque la droite D dans (a) (passant par les points
p7 et p13 (= HN(p7 ))) est considre selon la direction Haut Sud dans (b), obtenant ainsi D 
(passant par les points p25 et p13 (= HS(p25 ))), alors la configuration obtenue est P3x -simple (Fig.
6.19 (c)). En effet, les points p18 et p20 appartiennent P3x car ils peuvent vrifier MR3  ; p13
appartient P3x car il vrifie MR3  ; p25 appartient R3x car p13 (= HS(p25 )) appartient X ; p21
appartient R3x car il ne vrifie ni MR1  , ni MR3  car p18 (= H(p21 )) appartient X, ni MR2 
car p13 (= SE(p21 )) appartient X ; p23 appartient R3x car il ne vrifie ni MR1  , ni MR3  car
p20 (= H(p23 )) appartient X, ni MR2  car p13 (= SO(p23 )) appartient X. la figure 6.19
(d) est montre une image construite partir de la configuration de la figure 6.19 (a) telle que
tout point est soit non simple (sauf x) soit extrmit, et quaucun point ne peut tre supprim par
PK _ C ; seul le point x peut tre supprim par LB _ C, selon la mme direction donnant lisomtrie
dans la figure 6.19 (b).
Avec ce troisime exemple, nous allons obtenir les configurations correspondant aux points
x
P3 -simples et non extrmits de surface.
6.6.3.4 Autre essai
Il est possible de proposer la condition dappartenance suivante afin de mieux respecter des
symtries : P4 = {x Z 3 ; x vrifie au moins lune des templates de la figure 6.20}.
6.6.3.5 Proprits de PK _ C et de LB _ C
Rsumons cette tude par les deux proprits suivantes :

6.6 Algorithmes en 12 sous-itrations directionnelles

MR1 

129

MR2 

MR3 

F IG . 6.20 Autre proposition.


Proprit : Les points supprims par PK _ C sont des points P 3x -simples ; par consquent
PK _ C prserve la topologie.
Proprit : Lalgorithme LB _ C oprant par suppression de points P 3x -simples non terminaux
de courbe supprime au moins les points retirs par PK _ C, tout en prservant les mmes points
terminaux.

6.6.4 Rcapitulatif
Les figures 6.21 et 6.22 proposent des configurations P 1x , P2x , P3x -simples ou non, limines
par PK _ C ou non, pour une sous-itration (Fig. 6.21) ou pour une itration (Fig. 6.22).
Sur ces figures, si une configuration est relie un nud-algorithme par un trait, alors elle
est limine par celui-l, sauf dans le cas o le trait est barr. proximit de chaque nudalgorithme, est indiqu le nombre de configurations que lalgorithme supprime, pour une sousitration (Fig. 6.21) ou pour une itration (Fig. 6.22).

130

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

923 551

4 672 557

P1x - SIMPLE

P2x - SIMPLE

2 803 838
P3x - SIMPLE

PK _ C

1 379 581
F IG . 6.21 Rcapitulatif : sous-itration (version squelette curviligne).

6.6 Algorithmes en 12 sous-itrations directionnelles

131

7 212 036

23 814 994

P1x - SIMPLE

P2x - SIMPLE

19 327 098
P3x - SIMPLE

SIMPLES NON TER


DE COURBE

25 985 118
PK _ C

11 268 606
F IG . 6.22 Rcapitulatif : itration (version squelette curviligne).

132

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

6.6.5 Algorithme de Palgyi - version squelette surfacique


Lalgorithme de Palgyi et Kuba, propos pour lobtention de squelettes surfaciques (not
par la suite), a t donn sous forme de templates. Ces dernires ont t obtenues en
ne slectionnant que les configurations non terminales de surface obtenues partir des templates
permettant lobtention de squelettes curvilignes. La caractrisation utilise pour un point terminal
de surface est la suivante : un point p X est terminal de surface si N 6 (p) contient au moins une
paire de points opposs (par leur direction) et appartenant X. la figure 6.23, est reprsent

des templates pour la direction HautSud, utilis pour lobtention du squelette
lensemble THS
surfacique.
Dans la section 6.6.2.1, nous avons vu que lalgorithme de Palgyi et Kuba, selon la version
curviligne, tait P -simple. Comme la version surfacique ne supprime que certaines configurations parmi celles supprimes dans la version curviligne, alors daprs les proprits sur les points
P -simples, lalgorithme dclin dans sa version surfacique prserve galement la topologie.
PK _ S,

T1 

T2 

T7

T8

T9

T10

F IG . 6.23 Templates utilises lors de la sous-itration de suppression selon la direction Haut


Sud, pour lobtention du squelette surfacique, avec lalgorithme PK _ S. Au minimum un point
reprsent par un cube noir et un hexagone noir en perspective doivent appartenir lobjet
dans les templates T1  T2  . Au minimum un point reprsent par un cube blanc doit appartenir
au background dans les templates T 7 et T8 . Deux points marqus par deux paralllpipdes
bicolores doivent tre diffrents lun de lautre dans les templates T 9 et T10 . Les points non
reprsents appartiennent soit lobjet soit au complmentaire.

6.6.6 Nouvel algorithme propos


De mme que K. Palgyi et A. Kuba, nous ne retenons que les configurations qui ne sont pas
terminales de surface parmi les configurations prcdentes P3x -simples permettant lobtention de

6.6 Algorithmes en 12 sous-itrations directionnelles

133

squelettes curvilignes. Nous notons LB _ S, lalgorithme supprimant les points P 3x -simples non
terminaux de surface.
Nous avons obtenu 1 228 800 configurations P 3x -simples et non terminales de surface ; lalgorithme de Palgyi et Kuba en retient 1 155 072, pour une mme sous-itration.

M1

M2

M3

M4

M5

M6

M7
F IG . 6.24 Templates proposes pour lalgorithme de squelettisation surfacique en 12 sousitrations (LB _ S), selon la stratgie des points P -simples (ensemble P 3 ), et pour la direction
Haut Sud. Au minimum un point reprsent par un cube noir doit appartenir lobjet dans
les templates M1 et M2 . Au minimum un point reprsent par un hexagone noir en perspective
doit appartenir lobjet dans la template M 2 . Deux points marqus par les paralllpipdes
bicolores doivent tre diffrents lun de lautre dans les templates M 4 et M5 . Les points non
reprsents appartiennent soit lobjet soit au complmentaire.
Contrairement LB _ C, nous avons russi obtenir un jeu restreint de templates dcrivant
les configurations P3x -simples et non terminales de surface. Cet ensemble de templates a t
obtenu laide des BDD (voir lannexe C). Lensemble de ces templates est reprsent selon
la direction Haut Sud la figure 6.24. Un point qui vrifie au moins lune dentre elles, sera
supprim par LB _ S, pour la direction HS. Ainsi, il est possible dimplmenter LB _ S, de la mme
faon que PK _ S, seulement partir de templates ; nous vitons ainsi de tester les conditions
de P -simplicit et celle dtre un point terminal de surface. Nous pouvons aussi voir que les

templates de THS
sont strictement incluses dans les ntres : par exemple, T 1 = M2 , T2
[M1 M3 M4 M5 M6 M7 ], T7 [M4 M6 ], T8 [M5 M7 ], T9 M4 , T10 M5 ;

134

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples


D

D
p9
p0
p3

p19

p11
p2

p13

p5

(a)

p0
p2
p22
p12 p13 p14
p25
p16

(b)

p1
p13

(c)

(d)

F IG . 6.25 (a) Cette configuration ne peut pas tre supprime par PK _ S quelle que soit la
direction de suppression, et est P 3x -simple (b), (c) montre une isomtrie de (a), elle est P 3x simple (c), dans (d) (obtenue partir de (c)) aucun point nest supprim par PK _ S, nanmoins
x est supprim par LB _ S.
Ti Mj (resp. Ti = Mj ) signifiant que les configurations supprimes par T i sont parmi (resp.
sont exactement) celles qui sont supprimes par M j , ou par une union de Mj . Cela confirme
que nous pouvons supprimer au moins les configurations supprimes par PK _ S. Nous pouvons
galement vrifier que nos templates interdisent la suppression de points terminaux de surface.

Considrons la configuration de la figure 6.25 (a). Elle nest pas supprime par T HS
: ni par


les templates T1 , T2 ou T7 car p0 (= HSO(p13)) appartient X ; ni par T8 car p2 (= HSE(p13 ))
appartient X ; ni par T9 car p3 (= SO(p13 )) et p9 (= HO(p13)) appartiennent X ; ni par T10
car p5 (= SE(p13 )) et p11 (= HE(p13 )) appartiennent X. Cependant, elle correspond un point
P3x -simple et non terminal de surface (Fig. 6.25 (b)). En effet, les points p 0 et p2 appartiennent
P3x car ils peuvent vrifier MR3  ; le point p13 appartient P3x car il vrifie MR3  ; p16 appartient
R3x car il ne vrifie ni MR1  ni MR3  car p13 (= H(p16 )) appartient X, ni MR2  car p25 (=
N(p16 )) appartient X ; p12 appartient R3x car il ne vrifie ni MR1  ni MR2  ni MR3  ,
car p0 (= HS(p12)) appartient X ; p14 appartient R3x car il ne vrifie ni MR1  ni MR2 
ni MR3  , car p2 (= HS(p14)) appartient X ; p22 appartient R3x car il ne vrifie ni MR2 
ni MR3  car p13 (= S(p22 )) appartient X, ni MR1  car p25 (= B(p22 )) appartient X. En
fait, cette configuration peut tre supprime par M3 , lune de nos templates, donne la figure
6.24. Cependant, cette configuration nest pas supprime par PK _ S, quelle que soit la direction
de suppression.
Nous avons de mme gnr les configurations supprimes par LB _ S, pour chaque direction.
PK _ S supprime 9 101 312 configurations ; LB _ S en supprime 9 986 048 (9.7% en plus). La figure
6.25 (c) montre une isomtrie de la configuration de la figure 6.25 (a), obtenue lorsque la ligne
D (passant par les points p13 et p19 (= HN(p13 ))) selon la direction HN dans (a) est considre
selon la direction HS dans (c), obtenant ainsi D  (passant par les points p13 et p1 (= HS(p13 ))).
Cette configuration nest pas supprime par PK _ S, comme nous lavons dit auparavant. La figure
6.25 (d) montre une image construite partir de la configuration de la figure 6.25 (c) telle que
tout point est soit non simple (sauf x) soit terminal de surface ; et aucun point ne peut tre

6.6 Algorithmes en 12 sous-itrations directionnelles

135

supprim par PK _ S ; seul le point x peut tre supprim par LB _ S. En fait, Palgyi et Kuba ont
exclu la configuration de la figure 6.25 (a) (voir [PK99], p. 207, Fig. 6). Ils prtendent que si
lensemble des templates THS peut la supprimer, alors de mauvais segments de courbes ou de
surface peuvent tre crs. Cela nest peut-tre pas le cas de notre algorithme car il supprime
plus de points que lalgorithme de Palgyi et Kuba.
6.6.6.1 Proprits de PK _ S et de LB _ S
Rsumons cette tude par les quatre proprits suivantes :
Proprit : Les points supprims par
PK _ S prserve la topologie.

PK _ S

sont des points P 3x -simples ; par consquent

Proprit : Les points retirs par PK _ S sont retirs par PK _ C.


Proprit : Lalgorithme LB _ S oprant par suppression de points P 3x -simples non terminaux
de surface supprime au moins les points retirs par PK _ S, tout en prservant les mmes points
terminaux.
Proprit : Les points retirs par LB _ S sont retirs par LB _ C.

6.6.7 Rcapitulatif
Les figures 6.26 et 6.27 proposent des configurations P 2x , P3x -simples ou non, limines par
PK _ S ou non, pour une sous-itration (Fig. 6.21) ou pour une itration (Fig. 6.22). Bien quil ne
retire pas les configurations retires par PK _ S, nous avons galement test lalgorithme supprimant les points P2 -simples, celui-l supprime le plus grand nombre de configurations 26-simples
et non terminales de surface parmi les algorithmes que nous avons proposs (comme dans le cas
curviligne).

6.6.8 Rcapitulatif pour lalgorithme en 12 sous-itrations


Nous rcapitulons les nombres de configurations P -simples (non extrmits) ou vrifiant les
masques de PK pour une sous-itration ou pour une itration (cest--dire pour les 12 directions).

6.6.8.1 Squelette curviligne


P1x -simples P2x -simples P3x -simples
sous-itration 1 379 581
923 551
4 672 557
2 803 838
itration
11 268 606 7 212 036 23 814 994 19 327 098
PK _ C

136

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

3 304 497

1 228 800
P3x - SIMPLE

P2x - SIMPLE

1 155 072
PK _ S

F IG . 6.26 Rcapitulatif : sous-itration (version squelette surfacique).

15 257 520

9 986 048

P2x - SIMPLE

P3x - SIMPLE

9 101 312
PK _ S

SIMPLES NON TER .


DE SURFACE

16 252 928
F IG . 6.27 Rcapitulatif : itration (version squelette surfacique).

6.6 Algorithmes en 12 sous-itrations directionnelles

137

6.6.8.2 Squelette surfacique


P2x -simples P3x -simples
sous-itration 1 155 072 3 304 497
1 228 800
itration
9 101 312 15 257 520 9 986 048
PK _ S

6.6.8.3 Autres rsultats


26-simples
et non terminales de courbe
et non terminales de surface

: 25 985 144
: 25 985 118
: 16 252 928

6.6.8.4 Rsultats observs


Les squelettes de quelques images, obtenus respectivement par PK _ C, LB _ C, PK _ S et LB _ S,
sont donns la figure 6.28 (la reprsentation est dcrite dans la section B.1). Nous observons
que :
Lapparence gomtrique est la mme entre PK _ C et LB _ C, ou entre PK _ S et LB _ S.
Le nombre de sous-itrations de suppression exig par LB _ C est infrieur ou gal celui
de PK _ C. Le nombre de points supprims par LB _ C est infrieur ou gal celui de PK _ C.
Le centrage rsultant nest pas le mme. Nous rappelons quil est possible que LB exige
plus de sous-itrations pour obtenir un squelette quavec PK (voir les figures 6.19 (d) et
6.25 (d)).
Sur ces exemples, le nombre de sous-itrations de suppression, le nombre de points supprims et les squelettes sont les mmes pour PK _ S et LB _ S.

138

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

Objet initial

21 8 120

19 8 106

11 7 850

11 7 850

Objet initial

60 1 494

25 1 492

27 1 362

27 1 362

Objet initial

49 2 282

16 2 274

9 2 100

9 2 100

Objet initial

51 2 008

21 2 003

20 1 863

20 1 863

Objet initial

12 2 023

12 2 023

12 1 725

12 1 725

F IG . 6.28 Par colonne, respectivement : un objet initial, les squelettes curvilignes avec PK _ C
et LB _ C, puis les squelettes surfaciques avec PK _ S et LB _ S. Sous chaque figure, sont donns le
numro de la dernire sous-itration effective de suppression et le nombre de points supprims
(R EPR7).

6.7 Algorithmes fortement parallles

139

6.7 Algorithmes fortement parallles


6.7.1 Introduction
Nous tudions trois algorithmes de squelettisation de type fortement parallles pour des
images 3D. Par ordre chronologique, le premier a t propos par C.M. Ma [Ma95], le second a
t propos par C.M. Ma et M. Sonka [MS96], le plus rcent a t propos par A. Manzanera, et
al. [MBPL99b].
6.7.1.1 Notes propos de la recherche sur lalgorithme de Ma, et sur celui de Ma et Sonka
En essayant de montrer la P -simplicit de chacun des deux premiers algorithmes, nous avons
exhib une configuration non P -simple pour chaque algorithme. Nous savons que la non P simplicit dun algorithme nentraine pas forcment que cet algorithme ne prserve pas la topologie. Nanmoins, lorsque nous avons exhib une configuration qui est telle que lalgorithme
nest pas P -simple, celle-l peut nous aider examiner si lalgorithme prserve la topologie (par
rapport cette configuration).
Les deux configurations exhibes sont telles que la topologie nest pas prserve. Nous avons
choisi de retracer la dmarche nous amenant la premire configuration, cela afin dillustrer plus
concrtement les tests de P -simplicit sur le premier algorithme ; nous donnerons directement
(afin dallger la rdaction) la seconde configuration mettant en chec le second algorithme.
Nous avons eu la confirmation auprs du Professeur C.M. Ma que ces configurations montrent
effectivement la non-validit de ses algorithmes. Nous travaillons actuellement avec lui, afin de
les corriger, en adoptant une approche base sur une extension des points P x -simples dans un
voisinage tendu (voir la section 6.8).
6.7.1.2 Notes propos de la recherche sur lalgorithme de Manzanera, et al.
Lalgorithme de Manzanera a t propos dans le cas des images 2D [MBPL99b] et a t
tendu aux images 3D [MBPL99a] (voir n-D [MBPL99c]). Nous allons montrer que cet algorithme est P -simple (cas 2D et 3D).
En plus dtre concis et efficace [BM99], cet algorithme utilise une approche originale en
testant la prsence dun point intrieur dans le voisinage dun point pouvant tre supprim. Cet
algorithme nutilise pas de conditions directionnelles, comme le faisaient les deux premiers algorithmes cits auparavant. Il a la proprit de retirer des points de faon isotrope, le squelette
obtenu est alors bien centr ; sa dcharge, il utilise un plus grand support. Notons galement
quil nutilise pas explicitement de condition de point terminal.
Cest partir de lide de supprimer des points voisins dun point intrieur (avec dautres
conditions), que nous avons propos un ensemble P , pour le cas 2D, de sorte que les configurations P -simples incluent les configurations pouvant tre supprimes par lalgorithme de
Manzanera (la version 2D de cet algorithme est dcrite dans la section A.5.6). Nous avons exploit la possibilit dtendre directement nos rsultats au cas des images 3D (comme lont fait
A. Manzanera, et al.).

140

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

En proposant une extension directe de lalgorithme de Manzanera, et al. dans le cas dune
squelettisation curviligne (dfinition classique des points extrmits), il nous est galement possible de proposer un algorithme P -simple retirant au moins les points supprims par lalgorithme
de Manzanera, et al., en 2D, et en 3D. Nous avons galement propos un algorithme P -simple
dans le cadre dune squelettisation surfacique qui est quivalent lalgorithme de Manzanera, et
al., dans le sens quil retire les mmes points.
En fait, notre travail actuel consiste finaliser ces recherches ; ces dernires ne sont pas
dtailles davantage dans ce rapport. Seule la preuve de la P -simplicit de cet algorithme y est
dcrite.

6.7.2 Algorithme de Ma [Ma95]


6.7.2.1 Rappels sur lalgorithme

T1

T2

T3

F IG . 6.29 Templates utilises par lalgorithme de squelettisation de Ma. Au minimum un point


reprsent par un cube blanc ou un hexagone 3D blanc en perspective doivent appartenir au
complmentaire.
Points extrmits :
Un point x de lobjet est dit extrmit sil y a exactement un seul point appartenant lobjet, soit

dans N26
(x), soit dans nimporte lequel des trois plans orthogonaux 3 3 le contenant.
Rgle 2.1 :
Si les quatre coins dun carr unit doivent tre supprims, alors le coin dont la somme des
coordonnes est la plus petite doit tre prserv, si et seulement si, il est non simple aprs la
suppression des trois autres.
Conditions directionnelles et de non-extrmit :

(C_Ma1 ) p ne doit pas tre un point extrmit,

(C_Ma2 ) si p est un point de bord Nord, alors Sud Sud(p)


(C_Ma
alors Ouest Ouest(p)

3 ) si p est un point de bord Est,

(C_Ma4 ) si p est un point de bord Haut, alors Bas Bas(p)

doit appartenir X,
doit appartenir X,
doit appartenir X.

6.7 Algorithmes fortement parallles

141

Lalgorithme consiste supprimer en parallle tous les points non prservs par la rgle 2.1
et qui vrifient les conditions directionnelles et de non-extrmit prcdentes, et au moins une
template, isomtries prs, parmi celles dcrites la figure 6.29.
Pour plus dinformations, se reporter la description de cet algorithme la section B.4.1.
6.7.2.2 Tests de la P -simplicit de lalgorithme
Lors du test de la P -simplicit de lalgorithme de Ma, nous avons exhib une configuration
qui ntait pas P -simple, plus prcisment qui ne vrifiait pas la condition (C 4 ) (cf. la proposition, page 80). Ensuite, nous avons constat que cette configuration montrait que lalgorithme de
Ma ne prservait pas la topologie. Nous dcrivons maintenant lobtention de cette configuration.
Soit P , lensemble des configurations pouvant tre limines par lalgorithme. Nous cherchons mettre en dfaut la condition (C4 ) de P -simplicit sur une configuration X. Considrons
un point x de X appartenant P . Supposons que le point x vrifie la template T 3 selon la direction Haut (Fig. 6.30 (a)). Soit y = Bas(x), puisque x est un point de bord Haut, alors
z = Bas Bas(x) doit appartenir X (C_Ma4 ). Supposons ensuite que y vrifie une isomtrie
de la template T1 (symtrie daxe Nord Sud, isomtrie accepte daprs le texte), la condition
quexige la template T1 pour quau moins un des trois points, indiqus la figure 6.29, appartienne au complmentaire, doit tre vrifie (c.--d. z1 X ou z2 X, z a t impos comme
appartenant X) (Fig. 6.30 (b)).
Le point y vrifie la template T1 ; nous supposons que y vrifie les autres conditions requises
de faon ce que y appartienne P , il faudra le vrifier par la suite. La condition (C4 ) essaye de
trouver un carr unit {x, y, z, t} avec z X et t X. Nous imposons maintenant que z 1 et z2
appartiennent X. Une faon de ne pas vrifier (C4 ) consiste imposer que t1 et t2 appartiennent
X (Fig. 6.30 (c)). Nous avons alors une configuration qui ne vrifie pas la condition (C 4 ) de P simplicit (x nest pas P -simple), encore faut-il vrifier que cette configuration rponde toutes
les exigences imposes par lalgorithme de Ma.
Nous supposons maintenant que les points non reprsents dans la figure 6.30 (c) appartiennent X ; les conditions directionnelles de Ma, afin de supprimer x et y font que certains
de ces points doivent en fait appartenir X : x est un point de bord Nord alors (C_Ma 2 )
Sud Sud(x) X, x est un point de bord Est alors (C_Ma3 ) Ouest Ouest(x) X.
Nous pouvons constater que les points supprims par les templates sont des points simples ; par
la suite, lorsquun point est dtect non simple (par les nombres topologiques, par exemple)
alors ce point ne peut tre supprim par les templates et a fortiori par lalgorithme de Ma. Nous
compltons avec dautres points : Est Est(y), Nord Nord(y) et Bas Bas(y) appartiennent X (la configuration obtenue est dcrite la figure 6.30 (d)) ; de faon ce que seuls
les points x et y soient simples et non-extrmits ; les points t 1 , t2 , y1 , y2 et z sont non simples car
v {t1 , t2 , y1, y2 , z}, on a T26 (v, X) = 2 ; et les autres points sont extrmits. Il ny a pas non
plus de carr unit de points de X dans cette configuration ; la rgle 2.1 ne peut donc intervenir.
Lalgorithme limine alors les deux points x et y.
Nous obtenons lobjet de la figure 6.30 (e), celui-l comporte un trou (pouvant tre matrialis par le chemin ferm non dformable : t2 , t1 , y1 , y2 , t2 ), la topologie nest alors pas prserve.
Nous pouvons vrifier que lalgorithme sarrte ce stade : en effet, les points t 1 , t2 , y1 , y2 , et z

142

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

t1

z1

t2

t1

z1

z2

t2

x
y

y1
y2

z2

z
(a)

t1

(b)

(c)

t1

x
t2

t2
y

y1

y1

y2

y2

(d)

(e)

F IG . 6.30 Configuration montrant que lalgorithme de Ma ne prserve pas la topologie. (a) Le


point x vrifie T3 , (b) le point y vrifie T1 , (c) ajout de certains points, (d) prolongement par des
courbes afin de rendre tous les points, autres que x et y, extrmits ou non simples, (e) cration
dun trou aprs suppression de x et de y.
sont non simples pour X \ {x, y} car v {t1 , t2 , y1 , y2 }, on a T26 (v, X \ {x, y}) = 3, z est tel
que T26 (z, X \ {x, y}) = 2, et les autres points sont extrmits.
En fait, les points x et y sont simples pour X. Mais x nest pas simple pour X \ {y}
(T6 (x, X \ {y}) = 2) et y nest pas simple pour X \ {x} (T6 (y, X \ {x}) = 2). Lensemble
{x, y} est alors un ensemble non simple pour lequel chaque sous-ensemble propre est simple ;
cest un MNS (cf. section 3.8).
Nous avons localis lerreur dans larticle [Ma95] concernant le problme apparaissant dans
la configuration de la figure 6.30.
Introduisons les notations suivantes : un point p vrifie sil vrifie une template isomtrie
prs, les conditions directionnelles et de non-extremit. Soient p et q deux points qui vrifient .
La notation q (p) signifie que p ne satisfait plus aprs la suppression de q, et q
/ (p)
signifie que p satisfait encore aprs la suppression de q.
Rappelons le lemme 3.2 ([Ma95], p. 86) : Soient p et q, deux points 6-adjacents tels que p et

6.7 Algorithmes fortement parallles

143

q satisfont . Alors q
/ (p) ou p
/ (q).
La preuve de ce lemme considre le morceau de droite a q p b (avec a 6-adjacent q
et b 6-adjacent p). Puis sont supposes la fois les conditions p (q) et q (p). Daprs
lobservation des templates : si p (q), alors a appartient au complmentaire ( 1 ) ; si q (p)
alors b appartient au complmentaire (2 ). Au moins lun des deux points p ou q est alors un
point de bord et vrifie une condition directionnelle ; cela entraine que a ou b appartient lobjet,
do la contradiction.
La dmonstration de ce lemme nest pas valide. En effet, considrons la figure 6.30 (d), x et
y vrifient tous deux et sont 6-adjacents entre eux. Si nous supprimons x, alors y devient non
simple, c.--d. x (y) ou vice versa si nous supprimons dabord y alors x devient non simple,
c.--d. y (x) ; et ici, il existe un 6-voisin de x ou de y (align sur le morceau de droite (xy)),
en fait cest le point (z = Bas(y)), non dans le complmentaire, ce qui contredit ( 1 ) ou (2 ).
Nous avons donc une configuration telle que x et y sont deux points 6-adjacents tels que x et y
satisfont et x (y) et y (x). En conclusion, le lemme 3.2 est faux, et lalgorithme nest
pas valide car il ne prserve pas la topologie.
Comme ce lemme est galement utilis de la mme faon dans lalgorithme fortement parallle propos par C.M. Ma et M. Sonka ; ce dernier ne prserve pas la topologie. Cest ce que
nous illustrons dans la section suivante. Rsumons cette section par la proprit suivante :
Proprit : Lalgorithme de Ma ne prserve pas la topologie.

6.7.3 Algorithme de Ma et Sonka [MS96]


Par un raisonnement similaire, nous avons exhib une configuration limine par lalgorithme
de Ma et Sonka, mettant en chec une condition de P -simplicit. De plus, nous avons constat
que la suppression des points dans cette configuration, par cet algorithme, ne prservait pas la
topologie.
Contrairement la section prcdente, seule la configuration est donne ainsi que quelques
explications, sans relater la dmarche ncessaire lobtention de cette configuration (nombreux
essais du fait de lambigut des dfinitions des points extrmits et des conditions directionnelles
lies aux templates).
6.7.3.1 Rappels sur lalgorithme
En raison de la complexit de cet algorithme, nous proposons au lecteur de se reporter directement la section B.4.2, pour son entire description.
6.7.3.2 Tests de la P -simplicit de lalgorithme
Considrons la configuration de la figure 6.31 (a). Les points p et q nont quun seul 6-voisin
(p ou q), les points p1 et q1 les empchent dappartenir la classe A ; sils peuvent tre limins,
ils ne peuvent alors quappartenir la classe D uniquement. Dans ce cas, ils doivent respecter les
conditions (a) (g) de la dfinition 2.1(2) (cf. [MS96]) ; les points p et q ne peuvent tre forcs

144

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples


v
t
p

q1

q1

u
(a)

s
p1

s
p1

(b)

F IG . 6.31 Configuration montrant que lalgorithme de Ma et Sonka ne prserve pas la topologie.


respecter les conditions (a) (c) de la dfinition 2.1(1), car ils nappartiennent pas aux classes
A, B ou C. Comme aucun des points Haut Sud(x), Bas Sud(x), Sud Est(x), Sud
Ouest(x), Haut Ouest(x) et Bas Ouest(x) nappartient X (x {p, q}), les conditions
(b) (g) sont vrifies. Plus directement, p et q vrifient respectivement les templates D 4 et D3
de la figure B.32, page 321. De plus, les points p et q sont 26-simples (cest bien la connexit
utilise cf. la dfinition 1.1, page 421 dans larticle) et ne sont pas extrmits. Lalgorithme
limine alors ces 2 points, les autres sont prservs, puisquils sont non simples ou terminaux.
En effet, les points u et v sont extrmits car ils sont 26-adjacents exactement un seul point de
X, respectivement le point p1 ou le point q1 . Les points p1 et q1 sont conservs ; ils ne vrifient pas
les templates par ailleurs, ils ne sont pas 26-simples ; T 26 (x, X) = 2, x {p1 , q1 }. Les points
s et t sont 26-simples et non extrmits, ils ne peuvent vrifier quune template de la classe D,
mais la condition (f ) (resp. (g)) de la dfinition 2.1(2) nest pas vrifie pour s (resp. t) ; ou plus
directement aucun de ces points ne vrifie de template. Les points s et t ne sont alors pas retirs.
Lobjet finalement obtenu est reprsent la figure 6.31 (b) ; lobjet initial a t dconnect en
deux ; la topologie nest alors pas prserve. Dans cette configuration, les points u, v, s et t sont
extrmits, et les points q1 et p1 ne peuvent tre limins par les templates ; par ailleurs, ils sont
non simples.
Rappel des notations (ce sont celles de la section 6.7.2) : un point p vrifie , sil vrifie une
template isomtrie prs. Soient p et q deux points tels que p satisfait . La notation q (p)
signifie que p ne satisfait plus aprs la suppression de q, et q
/ (p) signifie que p satisfait
encore aprs la suppression de q.
En fait, le point p qui est un point simple pour X, ne lest plus pour X \ {q}, on a q (p).
De mme p (q). En fait, lensemble {p, q} de la configuration 6.31 (a) est un ensemble
minimal non simple.
Dtaillons cela : les points p et q sont simples pour X. Les points p et q satisfont la classe D ; p
et q appartiennent alors . Mais le point p nest pas simple pour X \{q} (T 26 (x, X \{q}) = 2) et
le point q nest pas simple pour X \{p} (T 26 (x, X \{p}) = 2). Lensemble {p, q} est un ensemble
non simple, pour lequel chaque sous-ensemble propre est simple ; cest un MNS. Comme il

6.7 Algorithmes fortement parallles

145

nexiste pas de point 6-adjacent p dans [X \ {q}] N26


(p) ; le point p afin dtre supprim aprs
la suppression de q, doit vrifier la classe D. Mais la condition (a) de la dfinition 2.1(2) nest
alors pas vrifie (le point p ntant pas simple pour X \ {q}) ; nous avons alors p (q). De la
mme faon, q (p).
Le lemme 3.5, p.430 de [MS96] nest alors pas valide. Il est identique au lemme 3.2 [Ma95],
la dmonstration sadaptant aux templates actuelles.
Examinons la dmonstration de larticle. Considrons quatre points aligns sur un morceau
de droite : ap q b. Il est crit que si p (q) et q (p) alors les templates impliquent que
a et b appartiennent au background et que les points p et q ne peuvent vrifier quune template des
trois premires classes. Le point q est tel que Sud(q) X(= p) par exemple, ce qui implique que
SudSud(q)(= a) appartienne X, selon la dfinition 2.1(1(c)) (que lon peut utiliser car p et q
sont 6-adjacents uniquement dans les trois premires classes), ce qui entraine une contradiction.
Lerreur se situe ici, car nous avons propos une configuration pour laquelle les conditions sont
vrifies (deux points 6-adjacents), mais les points p et q nappartiennent pas aux classes A, B et
C, ils appartiennent uniquement la classe D ; ils nont alors pas vrifier la dfinition 2.1(1).
Remarque : soit P lensemble des points pouvant tre supprims par lalgorithme de Ma et
Sonka. Dtaillons lappartenance des points de N26 (p) : p P car il vrifie D4 , s R car il ne
peut vrifier quune template de la classe D mais la condition (f ) nest pas satisfaite, p 1 R car
il ne peut vrifier aucune template, t R car il ne peut vrifier quune template de la classe D
mais la condition (g) nest pas satisfaite, q P car il vrifie D 3 . Nous trouvons T26 (p, R) = 2 ;
la premire condition de P -simplicit nest pas vrifie et le point p nest pas P -simple.

Rsumons cette tude par la proprit suivante :


Proprit : Lalgorithme de Ma et Sonka ne prserve pas la topologie.

6.7.4 Algorithme 3D de Manzanera, et al. (MB_3D) [MBPL99c] [MBPL99a]


6.7.4.1 Rappels sur lalgorithme
Cet algorithme consiste supprimer jusqu stabilit et en parallle tout point x sil vrifie
1 , 2 ou 3 ( isomtries prs), sauf si son 18-voisinage contient le motif 1 , ou si son 26voisinage contient le motif 2 (Fig. 6.32). Notons que si une configuration vrifie 1 alors le
point x appartient au motif (cest lun des points reprsents), en revanche si la configuration
vrifie 2 , le point x nest pas forcment lun des deux points noirs de lobjet, reprsents dans
le motif 2 .
Pour plus dinformations, se reporter la description de cet algorithme la section B.4.3.

146

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

F IG . 6.32 Un point x est limin sil vrifie 1 , 2 ou 3 , sauf si son 18-voisinage contient le
motif 1 , ou si son 26-voisinage contient le motif 2 .

M1

M2

F IG . 6.33 Transformations utilises pour la dmonstration (pour les premire et troisime


conditions de P -simplicit).
6.7.4.2 P26 -simplicit de MB_3D
Proprit : Lalgorithme de Manzanera, et al. (MB_3D) est P26 -simple.
Preuve :
Soit MB(X), lensemble des points x de X vrifiant les conditions de suppressibilit. Pour
prouver que lalgorithme MB_3D prserve la topologie, il est suffisant de montrer que :
X Z 3 , P = MB(X) est P26 -simple.
Soient P = MB(X), R = X \ P et x P .
Notation :
Remarque 1 (rmq1 ) : si un point ne vrifie ni 1 , ni 2 , ni 3 , alors il appartient R. En particulier, un point intrieur appartient R.
Le raisonnement suivant seffectue isomtrie prs.
Conditions (C1 ) et (C3 ) de P -simplicit :

Nous allons montrer que y N26


(x) X, z R tel que z est 26-adjacent x et y.
Si x vrifie 1 (voir Fig. 6.34 (a)).
Remarquons dabord que (x) R car cest un point intrieur.

6.7 Algorithmes fortement parallles

y1
v

s
w

y2 t
x

147

y1 s
y2 n y3 t y4
r
q
x
w
u
v
o

s
y3

y2 t
x

w
v

y1
o

f
g

(a)

(b)

(c)

F IG . 6.34 Notations : y 2 n, par exemple signifie que le point sappelle y 2 ou n, double


notation utilise dans la dmonstration.
2

 Si y1 X v X,
si v vrifie 1 ,
 soit u ou w appartient R (rmq1 ),
 soit u ou w appartient X, mais pas les deux la fois ( 1 ),
rmq1
M
par exemple, w appartient X 1 u X, t X et s X u R (Fig. 6.35
(a)) (le choix de u ou de w importe peu, rle symtrique de u ou de w dans la configuration,
selon la direction )
1
 soient l X et t X u X et w X et si u vrifie 2 alors w R sinon
u R (rmq1 ) (Fig. 6.35 (b)).
si v vrifie 2 ,
alors u ou w appartiennent X, mais pas les deux la fois ( 1 ),
rmq1
M
par exemple, w appartient X 1 u X et t X u R (Fig. 6.35 (a)).
(mme remarque pour le choix de w)
rmq1
sinon v ne peut vrifier 3 v R.
Dans ces cas, e {u, v, w} tel que y1 est 26-adjacent e R et e est 26-adjacent (x) R.
1

 Si y2 X u X,
si u vrifie 1 , alors o ou v R (rmq1 ),
si u vrifie 2 , alors w ou m R (rmq1 ),
rmq1
sinon u ne peut vrifier 3 u R.
Dans ces cas, e {o, m, u, v, w} tel que y2 est 26-adjacent e R et e est 26-adjacent
(x) R.
 Si y X et y nappartenant pas une isomtrie dune configuration dj vue, alors y est
26-adjacent (x) R.
Si x vrifie 2 (voir Fig. 6.34 (b)).
Remarquons dabord que f R car cest un point intrieur.

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

148

y1

t
w

y1

y2
w

x
v

x
u

(a)

y3
w
v

(b)

y3

n
w

x
u

(d)

(c)

y3

t
w

x
u

(e)

x
u

(f )

F IG . 6.35 Figures utilises lors de la dmonstration de la P -simplicit (conditions (C 1 ) et


(C3 )).
 Si y1 X,
si w vrifie 1 , alors r ou v appartiennent R,
si w vrifie 2 , alors q ou u appartiennent R,
rmq1
sinon w ne peut vrifier 3 w R.
Dans ces cas, e {r, v, q, u} tel que y1 est 26-adjacent e R et e est 26-adjacent f R.
2
 Si y2 X v X,
si v vrifie 1 ,
 soit u ou w appartiennent R,
rmq1
M
 soit u X 1 s X w R (Fig. 6.35 (c)),
rmq1
M
si v vrifie 2 , alors u X 1 s X w R (Fig. 6.35 (c)).
rmq1
sinon v ne peut vrifier 3 v R.
Dans ces cas, e {u, v, w} tel que y2 est 26-adjacent e R et e est 26-adjacent f R.

6.7 Algorithmes fortement parallles


M

149

 Si y3 X 2 u X v X.
si u vrifie 1 v R,
si u vrifie 2 ,
 soit w R (Fig. 6.35 (d)),
 soit n X, (en fait, n est un point intrieur et appartient R) (Fig. 6.35 (e)),
 si v vrifie 1 , alors w R
rmq1
 sinon v ne peut vrifier ni 2 , ni 3 v R.
rmq1
sinon u ne peut vrifier 3 u R.
Dans ces cas, e {u, v, w} tel que y3 est 26-adjacent e R et e est 26-adjacent f R.
rmq1
M
 Si y4 X 1 t, u et o appartiennent X u R, et y4 est 26-adjacent u R qui est
26-adjacent f R.
 Si y X et y nappartenant pas une isomtrie dune configuration dj vue, alors y est
26-adjacent f R.
Si x vrifie 3 (voir Fig. 6.34 (c)).
Remarquons dabord que g R car cest un point intrieur.
rmq1
M
 Si y1 X 1 t X, o X, u X u R, et y1 est 26-adjacent u R qui est
26-adjacent g R,
1
 Si y2 X u X,
si u vrifie 1 , alors v R,
si u vrifie 2 , alors w R,
rmq1
sinon il ne peut vrifier 3 u R.
Dans ces cas, e {u, v, w} tel que y2 est 26-adjacent e R et e est 26-adjacent g R.
 Si y3 X
si v vrifie 1 ,
 soit u ou w appartient R,
 soit u ou w appartient X, mais pas les deux la fois ( 1 ),
rmq1
M
par exemple, w appartient X 1 u X, t X u R (Fig. 6.35 (f ))
(mme remarque pour le choix de w),
si v vrifie 2 , alors
u ou w appartient X, mais pas les deux la fois (1 ),
rmq1
M
par exemple, w appartient X 1 u X et t X u R (Fig. 6.35 (f ))
(mme remarque pour le choix de w),
rmq1
sinon, v ne peut vrifier 3 v R.
Dans ces cas, e {u, v, w} tel que y3 est 26-adjacent e R et e est 26-adjacent g R.
 Si y X et y nappartenant pas une isomtrie dj vue, alors y est 26-adjacent un point
intrieur (ce dernier appartient R).
Tout cela implique que les conditions (C 1 ) et (C3 ) sont la fois vrifies, car nous navons
pas impos au point y dappartenir explicitement R ou P .

150

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples


a
y

c
y

x
d

x
b

M3
F IG . 6.36 Figure utilise (motif M 3 ) lors de la dmonstration de la P -simplicit (condition
(C4 )).
k
x
l

(a)

y1

x
y1 o

(b)

y2

x
u

u

(c)

t
y1

(d)

F IG . 6.37 Figures utilises lors de la dmonstration de la P -simplicit (condition (C 4 )).


Condition (C2 ) de P -simplicit.
Si x vrifie 1 , avec (x) X (voisin de x selon la direction , impos par le motif 1 ), alors
y N6 (x) X, avec y = (x), le point y appartient N6 (x) (car (x) R, car cest un point
intrieur). Or (y) X, sinon x vrifie 1 ; puisque (y) est 6-adjacent (x), alors (C2 ) est
vrifie.
Le raisonnement est le mme, si x vrifie 2 ou 3 , en considrant les points appartenant
X, imposs par le motif 2 ou 3 .
Condition (C4 ) de P -simplicit.
Considrons dabord la figure 6.36. Le motif 2 et les points prsents dans la configuration de
gauche (appel motif M3 dans la suite) entrainent lajout de nouveaux points (configuration de
droite). De plus, au moins lun des points a ou b appartient X, afin dviter le motif 2 (dlimit
en pointill par les points a, c, d, b). Il existe donc un carr unit {x, y, a, c} ou {x, y, d, b}, dans
un tel octant, qui vrifie (C4 ).
 Si x vrifie 1 (Fig. 6.37 (a)),
si y1 P (seule position tudier pour y N6 (x) P , isomtries prs),
 si y1 vrifie 1 ou 2 , soit k X, soit nous avons le motif M 3 , et k, l ou l appartiennent X,

6.8 propos dune dmarche systmatique avec les points P x -simples

151

 si y1 vrifie 3 k X.
 Si x vrifie 2 (les deux seules positions pour y N 6 (x) P isomtries prs sont y1 (Fig.
6.37 (b)) ou y2 (Fig. 6.37 (c))),
si y1 P (Fig. 6.37 (b)),
 si y1 vrifie 1 ou 2 alors o ou t appartiennent X,
 si y1 vrifie 3 alors o et t appartiennent X,
si y2 P (Fig. 6.37 (c)),
 si y2 vrifie 1 ou 2 alors soit s X, soit nous avons le motif M 3 , et s, u ou u
appartiennent X,
 si y2 vrifie 3 alors s X.
 Si x vrifie 3 (Fig. 6.37 (d)),
si y1 P (seule position tudier pour y N6 (x) P , isomtries prs),
 si y1 vrifie 1 ou 2 alors o ou t appartiennent X,
 si y1 vrifie 3 alors o et t appartiennent X.
Dans tous ces cas, (C4 ) est vrifie. 

6.8 propos dune dmarche systmatique avec les points


P x-simples
Parmi les six algorithmes que nous avons tests prcdemment, trois utilisaient des templates

(x) ; le seul examen de ce voisinage tait suffisant pour dcider de la


ou des conditions dans N26
suppressibilit dun point. Nous avons prouv manuellement que ces trois algorithmes taient
P -simples. Puis en proposant des versions plus puissantes, nous avons montr quils taient P x simples, par consquent la preuve de la prservation de la topologie est effectue par simulation
par ordinateur (encore faut-il actuellement rechercher manuellement un ensemble P adquat).
Remarquons quen posant prcisment P comme tant lensemble des points candidats la suppression, nous pouvons tester entirement par ordinateur si lalgorithme est P x -simple. Si cest
le cas alors lalgorithme prserve la topologie. Sinon, nous ne pouvons conclure directement.
Il semblerait (nous essayons actuellement de le dmontrer) que tout algorithme ne supprimant pas de MNS (cf. section 5.5) et dcidant de la suppressibilit de tout point x par le seul

examen de N26
(x) (resp. dun voisinage V ) soit P x -simple (soit P (V, x)-simple, P (V, x) tant
une gnralisation de lensemble P x au voisinage V ). Si cela est prouv, alors nous pourrons tester si un algorithme prserve la topologie, par simulation par ordinateur, vitant ainsi les preuves
combinatoires difficiles proposes jusquici (cf. les sections 6.5.1, 6.5.2, 6.6.2.1 et 6.7.4.2) ; simulation consistant tester si tous les points pouvant tre supprims par un algorithme donn
sont P (V, x)-simples ( condition que la taille de V rende la simulation ralisable par ordinateur).

152

P -simplicit dalgorithmes et nouveaux algorithmes bass sur les points P -simples

6.9 Conclusion
Dans ce chapitre, avec la seule notion de point P -simple, nous avons montr que les algorithmes de Palgyi et Kuba en 6 et 12 sous-itrations et que celui de Manzanera, et al. prservaient
la topologie, que celui de Ma et celui de Ma et Sonka ne prservaient pas la topologie. Par lintroduction dun nouvel ensemble P x dfini partir dun ensemble P , nous avons propos un
algorithme en 6 sous-itrations supprimant la fois les points retirs par lalgorithme de Gong
et Bertrand et les points retirs par celui de Palgyi et Kuba, tout en prservant les mmes points
terminaux, et un algorithme en 12 sous-itrations dans une version curviligne ou surfacique et
supprimant au moins les points retirs par lalgorithme de Palgyi et Kuba, tout en prservant les
mmes points terminaux. Cela implique galement que ces algorithmes prservent la topologie,
cela peut alors tre considr comme une preuve partiellement automatise.
Nous collaborons actuellement avec le Professeur C.M. Ma afin de proposer de nouveaux algorithmes fortement parallles prservant la topologie, en adoptant lapproche utilisant les points
P x -simples. Avec cette mme technique, une autre tude peut tre ralise afin de proposer un
algorithme supprimant plus de points que celui de Manzanera, et al., ou utilisant un support
moindre et supprimant les mmes points [LB02c].

Troisime partie
Topologie discrte,
et algorithmes parallles de squelettisation
pour images 2D et 3D binaires
et images 2D en niveaux de gris

155
Nous avons tudi des algorithmes de squelettisation dans les deux premires parties de ce
rapport (voir galement les annexes A et B) selon lapproche topologie digitale. Nous avons
pass en revue diffrentes classes existantes pour de tels algorithmes : les algorithmes squentiels (produisant des squelettes mal centrs, un tel processus tant plus long quun processus
parallle), les algorithmes parallles pour lesquels un sous-ensemble de points simples est retir lors dune (sous-)itration donne. Ce processus de suppression pouvant tre ralis selon
les diffrentes faons suivantes : une approche directionnelle (le processus nest pas homogne,
le rsultat dpend de lordre des directions et peut tre mal centr), une approche sous-mailles
(produisant des effets de dentelles), une approche fortement parallle. Pour ces derniers, nous
avons vu prcdemment que deux dentre eux ne prservaient pas la topologie. Nous avons montr que lalgorithme de Manzanera et Bernard prserve la topologie. Celui-l se droule de faon
homogne mais ncessite un support tendu afin de dcider de la suppressibilit dun point ; les
squelettes obtenus sont bien centrs mais peuvent ne pas tre minces. La version corrige des
deux autres algorithmes utilisera galement des considrations directionnelles, ce qui aura pour
consquence des squelettes non fins ou mal centrs.
Rcemment, G. Bertrand a introduit le concept de point n - ou n -simple [Ber99]. Cela nous
a permis de concevoir aisment des schmas simples et gnriques damincissement ou de squelettisation. En adaptant la condition pour un point dtre terminal pour un type donn de squelette,
ces schmas sont valables dans le cas dimages 2D binaires ou en niveaux de gris ou 3D binaires.
En plus davoir des schmas simples de squelettisation, nous avons la proprit remarquable de
pouvoir supprimer en parallle des points n -simples, puis de pouvoir supprimer en parallle des
points n -simples, tout en prservant la topologie. En outre, le processus bas sur la suppression de tels points est indpendant des directions, ce qui a pour consquence des squelettes bien
centrs. Nous avons galement la proprit de pouvoir dcider de la suppressibilit dun point
en examinant un support dau plus 26 points. Nous avons cod les configurations des points 3 simples (pour images 3D) dans des BDD, obtenant ainsi une caractrisation rapide de tels points,
et par consquent, un algorithme efficace. Il est noter galement un effort important afin de
proposer une nouvelle approche du concept de point terminal de surface avec la notion darbre
de la thorie des graphes, ce qui nous a permis dobtenir des squelettes surfaciques satisfaisants.
En contrepartie, toutes ses proprits sont obtenues par le passage dune image dans un ordre
qui ncessite une multiplication de la taille de limage ; mais, cela nimplique pas gnralement
un nombre ditrations, afin dobtenir un squelette dans un ordre, plus important que celui requis
par des algorithmes classiques de la topologie digitale.
Retenons que, dans le cas de la topologie digitale, nous avons examin de nombreux algorithmes. Il nous a sembl intressant de proposer de nouveaux algorithmes utilisant les points
P -simples car nous avions une description prcise des points liminer, contrairement aux algorithmes utilisant des templates, dont lobtention ne nous est gnralement pas dvoile. Mais,
nos algorithmes souffraient des mmes limitations, savoir que le processus utilisait des directions ou un support plus grand et que les dfinitions des points terminaux de surface ntaient pas
satisfaisantes dans tous les cas de figure. Du fait des proprits des ordres, il semble quil sagisse
dun cadre trs prometteur en ce qui concerne la squelettisation parallle ; il semble galement
plus facile de parallliser dautres oprateurs, tels que le filtrage de squelette, la ligne de partage
des eaux, etc.

Chapitre 7
Gnralits
Aprs avoir situ la nouvelle approche utilisant les ordres par rapport aux autres existantes
tudiant des proprits topologiques des images, nous dfinirons quelques notions de base dans
les ordres. Seront vues notamment les notions de point -unipolaire et d-noyau. Cette dernire
notion conduit directement la conception dun algorithme de suppression parallle de points.
Nous donnerons ensuite un ordre associ Z n , qui lorsquil sera driv pour Z 2 ou Z 3 nous permettra de traiter les images 2D (chap. 8) ou 3D (chap. 9). Nous introduisons ensuite les notions
de point n -simple et de point n -simple ; notions provenant de ltude de lhomotopie et de la
simplicit dans les ordres, proposes rcemment dans [Ber99]. De telles dfinitions sont rcursives croises avec celle densemble n-contractible. Elles conduisent directement un processus
parallle de suppression de points. Ces notions seront tudies en dtail dans le cas 2D (chap. 8)
ou 3D (chap. 9).

7.1 Introduction [Ber99]


Diffrentes approches ont t proposes pour ltude des proprits topologiques des images
digitales binaires :
lapproche topologie digitale introduite par Rosenfeld [KR89]. Les lments de Z n sont
lis par des relations dadjacence qui permettent de dfinir la connexit. Il ny a pas de voie
directe afin de construire une topologie qui corresponde cette notion de connexit (voir
[Ber99]). Cest cette approche qui a t dcrite et utilise dans les deux premires parties
de ce rapport.
lapproche espace topologique connexe ordonn ou connected ordered topological space
introduite par Khalimsky [Kha60] [KKM90] [KKM91] [Kop94]. Le plus petit voisinage
de chaque point de Z n diffre dun point un autre. Cette approche permet de retrouver la
structure dune topologie.
lapproche complexe cellulaire. Un objet est vu comme une structure constitue dlments
de diffrentes dimensions, appels cellules. Il est possible de retrouver la structure dune
topologie [Kov89].

158

Gnralits

La topologie utilise dans les deux dernires approches est une topologie dAlexandroff [Ale37],
appele galement topologie discrte. Dans une telle topologie, toute intersection douverts
(c.--d. intersection finie ou non) est un ouvert. Il existe un lien entre les topologies dAlexandroff et les ensembles partiellement ordonns ou ordres ou partially ordered sets (posets, orders). Un ordre est un ensemble sur lequel une relation rflexive, antisymtrique et transitive est
dfinie. Il est possible de dfinir un ordre sur les points dun espace topologique T 0 -sparable
et, rciproquement, un ordre dtermine une topologie dAlexandroff (voir [Ber99] pour plus de
dtails).

7.2 Notions de base


Nous prsentons maintenant quelques notions de topologie discrte, proposes dans [Ber99].
Soit X un ensemble. P(X) dsigne lensemble compos de tous les sous-ensembles de X. Si
S est un sous-ensemble de X, S dsigne le complment de S dans X. Si S est un sous-ensemble
de T , on crit S T . La notation S T signifie S T et S = T . Si est une application
de P(X) dans P(X), le dual de est lapplication de P(X) dans P(X) telle que S X,
(S) = (S).
Soit une relation binaire sur X, c.--d. un sous-ensemble de X X. Linverse de est la
relation binaire {(x, y) X X; (y, x) }. Nous dsignons aussi par lapplication de X
dans P(X) telle que, pour tout x X, (x) = {y X; (x, y) }. Nous dfinissons la relation
binaire  = \ {(x, x); x X}.
Soient x0 et xk , deux lments de X. Un -chemin de x0 xk est une squence x0 , x1 , . . .,
xk dlments de X telle que xi (xi1 ), avec i {1, . . . , k} ; le nombre k est la longueur du
chemin et x0 est son origine.

7.2.1 Ordres et topologie discrte


Un ordre |X| est un couple (X, ) dans lequel X est un ensemble et est une relation dordre
sur X, c.--d. une relation binaire rflexive, antisymtrique et transitive sur X. Un lment de X
est aussi appel un point. Lensemble (x) est appel l-adhrence de x, si y (x) ; on dit
que y est -adhrent x.
Nous notons aussi lapplication de P(X) dans P(X) telle que pour tout sous-ensemble
S de X, (S) = {(x); x S}, (S) est appel l-fermeture de S, (S) est appel lintrieur de S.
Un sous-ensemble S de X est -ferm si S = (S), S est -ouvert si S = (S). Soit
la relation = {(x, y); (y, x) }, est linverse de la relation . Parfois, afin de rappeler
cette notation, nous appellerons galement un ordre tout triplet (X, , ) dans lequel (X, ) est
un ordre comme dfini ci-avant, et est linverse de . Le dual de lordre (X, , ) est lordre
(X, , ).
Notons que (S) = {x; (x) S}.
Preuve : Remarquons dabord que (x) = {y X; (y, x) } = {y X; x (y)} (0 ).
/ (S) x
/ {(y), y S} y S tel que x
Puis, x (S) x (S) x

7.2 Notions de base

159
v1

e1
t1
e3
v3

v2
e2

t2

e5

e4

v4

F IG . 7.1 Figure dillustration de quelques notions de base dans les ordres.

(y) {y S; x (y)} = {y X; x (y)} S 0 (x) S. 


Le mme raisonnement tient pour (S) = {x; (x) S}.
La famille O compose de tous les sous-ensembles -ouverts de X satisfait les conditions
dune famille de sous-ensembles ouverts dune topologie ; cette remarque est galement valable
pour la famille O compose de tous les sous-ensembles -ouverts de X. Notons respectivement
T = (X, O ) et T = (X, O ) ces deux topologies. Ces topologies sont en fait des topologies
discrtes, ou topologies dAlexandroff , c.--d. des topologies telles que toute intersection densembles ouverts est un ouvert [Ale37] (voir galement le thorme de spcialisation dAlexandroff [Ron98]). Les sous-ensembles ferms pour T (resp. T ) sont les sous-ensembles -ferms
(resp. -ferms) comme dfinis ci-avant. L-adhrence (resp. -adhrence) dun point x est le
plus petit voisinage pour la topologie T (resp. T ). Soient (X, ) un ordre et S un sous-ensemble
de X, lordre relatif S est lordre |S| = (S, (S S)), nous notons S = (S S). Dans
la suite de larticle, nous notons = .
Un ordre (X, ) est dnombrable si X est dnombrable. Lordre est localement fini si x
X, (x) est un ensemble fini. Dans la suite, les ordres considrs sont dnombrables et localement finis.
Soit |X| un ordre. Un chemin dans |X| est un -chemin. Nous pouvons voir quun ordre
(X, , ) est connexe pour T (ou pour T ) si et seulement si il est connexe par chemin, i.e. si
pour tout x et y dans X, il existe un chemin de x y [Ber99]. Un lment x de |X| est un point
-terminal si  (x) = .

7.2.2 Illustration de quelques notions gnrales [CBK02]


Nous illustrons quelques notions prcdentes la figure 7.1. Dans cet exemple, nous avons un
ensemble X compos de deux triangles t1 et t2 , de cinq artes e1 , e2 , e3 , e4 et e5 et de quatre points
v1 , v2 , v3 et v4 . Nous dfinissons la relation par : (t1 ) = {t1 , e1 , e2 , e3 , v1 , v2 , v3 }, (t2 ) =
{t2 , e2 , e4 , e5 , v2 , v3 , v4 }, (e1 ) = {e1 , v1 , v2 }, (e2 ) = {e2 , v2 , v3 }, (e3 ) = {e3 , v1 , v3 }, (e4 ) =
{e4 , v3 , v4 }, (e5 ) = {e5 , v2 , v4 }, et i {1, . . . , 4}, (vi ) = {vi }. Considrons alors lordre
(X, ).
Soit S1 = {t1 , e1 , e5 , v2 }. Nous avons (S1 ) = {t1 , e1 , e2 , e3 , e5 , v1 , v2 , v3 , v4 } = S1 , ainsi
S1 nest pas un -ferm. On a (S1 ) = {(x), x S1 } = {t2 , e2 , e3 , e4 , e5 , v1 , v2 , v3 , v4 } et
(S1 ) = {t1 , e1 } = S1 , ainsi S1 nest pas un -ouvert.

160

Gnralits

Posons S2 = (t1 ), S3 = {e2 , e5 , v2 , v3 , v4 } et S4 = {v1 }. Puisque ces sous-ensembles


sont tels que (Si) = Si , pour i {2, 3, 4}, alors ils sont -ferms. Posons S 5 = {t1 }, S6 =
{t1 , t2 , e2 }. Puisque ces sous-ensembles sont tels que (S i ) = Si , pour i {5, 6}, alors ils sont
-ouverts.
Avec (x) = {y X; (y, x) } et = ; nous avons (v2 ) = (v2 ) = {t1 , t2 , e1 , e2 ,
e5 , v2 } ; (e2 ) = {t1 , t2 , e2 } et puisque (e2 ) = {e2 , v2 , v3 } alors (e2 ) = {t1 , t2 , e2 , v2 , v3 } ;
(t1 ) = {t1 } et puisque (t1 ) = {t1 , e1 , e2 , e3 , v1 , v2 , v3 } alors (t1 ) = {t1 , e1 , e2 , e3 , v1 , v2 , v3 }.

7.3 Dfinitions : point -unipolaire, -noyau


Nous introduisons la notion de point -unipolaire (un point -unipolaire peut tre vu comme
un point inessentiel pour la topologie), puis la notion d-noyau.
Dfinitions (point -unipolaire, point -libre, -noyau) : Soient |X| = (X, ) un ordre,
x et y deux points de X. Nous dfinissons , la relation sur X telle que y (x) si et
seulement si y  (x) et  (x)  (y) = . Un point x de X est -unipolaire si (x)
consiste en un seul point. Un lment x est -libre si x est -unipolaire ou sil existe une
squence x0 , . . . , xk , avec xk = x telle que x0 est -unipolaire et xi est i -unipolaire avec
i = (Si Si ), Si = X \ {x0 , . . . , xi1 }, avec i {1, . . . , k}. Un point qui nest pas
-libre est appel un -lien. L-noyau de X est le sous-ensemble de X compos de tous les
-liens de X.
Proprits : Soient |X| = (X, ) un ordre, f un point -unipolaire et x un point de X avec
x = f . Si x est -unipolaire, alors x est S -unipolaire pour S = X \ {f }. Le point x est -libre
si et seulement si x est S -libre pour S = X \ {f }.
Preuve (de la premire proprit, cf. [Ber99]) :
Soit x, un point -unipolaire. Notons x  (resp. f  ) lunique point de (x) (resp. (f )).
Supposons f = x . Alors x S (x). Supposons quil existe un point y, avec y = x  et
y S (x) (dans ce cas, x ne serait pas S -unipolaire, puisque x S (x), et nous avons
x non S -unipolaire sil existe un point y = x  tel que y S (x)) ; et puisque y S (x),
nous avons S (x) S (y) = .
Or y S (x) y S (x) et S (x) S (y) = y  (x) et si  (x)  (y) =
alors y (x) (or x est lunique point de (x) et x = y). Nous devons avoir  (x)
 (y) = , or S (x) S (y) = , cela implique que  (x)  (y) = {f } ; ainsi
f  (x) et  (x)  (f ) = : f devrait appartenir (x), ce qui est impossible
puisque (x) = {x } et f = x . Ainsi x est S -unipolaire,
Supposons f = x . Alors S (x) = {f  } et x est S -unipolaire.

Cette premire proprit peut tre reformule de la faon suivante : soit |X| = (X, ) un
ordre. Si f X est -unipolaire, alors lS -noyau pour S = X \ {f } est prcisment lnoyau. Cela indique une faon dobtenir l-noyau : nous choisissons arbitrairement un point
-unipolaire et nous le supprimons ; nous rptons cette opration jusqu idempotence.

7.4 Ordres associs Z n

161

Remarque : Rappelons que dans le cadre de la topologie digitale, si deux points x et y de


X sont simples pour X, avec X Z n et n {2, 3}, alors cela nimplique pas forcment que x
soit simple pour X \ {y}, ou que y soit simple pour X \ {x} (cf. MNS, sections 2.6.2 et 3.8).

7.4 Ordres associs Z n


Nous proposons maintenant une prsentation de quelques ordres qui peuvent tre associs
Z , ces ordres sont quivalents ceux obtenus dans ltude des espaces topologiques ordonns
connexes introduits par Khalimsky [Kha60] (voir galement [KKM90] [KKM91] [Kop94]).
Soient E un ensemble et E n le produit cartsien de n copies de E. Un lment a de E n
peut tre vu comme une application de {1, . . . , n} dans E, a(i) est la i-ime coordonne de a,
avec i {1, . . . , n}. Si S est un sous-ensemble de E n , la i-ime projection de S est lensemble
S(i) = {a(i); a S}, avec i {1, . . . , n}.
Soit Z, lensemble des entiers relatifs. Nous considrons les familles densembles H 01 , H11 et
1
H , telles que H01 = {{a}; a Z}, H11 = {{a, a + 1}; a Z} et H 1 = H01 H11 .
Un sous-ensemble S de Z n qui est le produit cartsien dexactement m lments de H 11 et de
(n m) lments de H01 est appel un m-cube de Z n . Soit H n lensemble compos de tous les
m-cubes de Z n , m {0, . . . , n}. Un m-cube de Z n est appel un singleton, un intervalle unit,
un carr unit ou un cube unit pour m = 0, 1, 2 ou 3 respectivement.
Notons Z = {a + 1/2; a Z} et Z+ = Z Z. Soit lapplication 1 de H 1 dans Z+ telle
que pour tout x de H 1 , 1 (x) = a si x = {a}, a Z et 1 (x) = a+1/2 si x = {a, a+1}, a Z.
Considrons galement lapplication n de H n dans Z+n telle que pour tout x de H n , la i-ime
coordonne de n (x) est limage de la i-ime coordonne de x par 1 , i.e. [n (x)](i) = 1 [x(i)],
avec i {1, . . . , n}. Si S H n , alors n (S) = {n (x), x S} peut tre vu comme une
reprsentation de S, appele reprsentation tableau [Ber99].
Considrons comme ordre de base associ Z n , lordre (H n , ) avec = , ainsi y (x)
si x y ; rappelons que la relation est une relation dordre partiel.
Notons que la relation utilise dans la section 7.2.2 pour illustrer les concepts d-ouvert et
d-ferm est la relation . Les ordres de base associs Z 2 et Z 3 , ainsi que diffrentes faons
de considrer des objets 2D et 3D dans ces ordres seront dtaills respectivement aux sections
8.2 et 9.2.
n

7.5 Simplicit
Nous introduisons maintenant les dfinitions de point n -simple et de point n -simple, dfinitions rcursives et croises avec celle dordre n-contractible. Elles sont la base des algorithmes
de squelettisation que nous proposons. Nous avons illustr que la seule notion de point unipolaire ne suffisait pas obtenir des algorithmes efficaces damincissement dans le cas dimages
2D (section 8.4.2) ou 3D (section 9.4). Cest la raison pour laquelle la notion de point n -simple

162

Gnralits

a t introduite.
Dfinitions (point n -simple, point n -simple, ordre n-contractile) : Soit |X| = (X, , )
un ordre dnombrable, localement fini et non vide. Lordre |X| est 0-contractile sil est compos
dun unique point. Un point x est n -simple pour |X| si |  (x)| est (n 1)-contractile, n 1.
Lensemble compos de tous les points de X qui sont n -simples pour |X| est not par Xn .
Lordre |X| est n-contractile, n > 0, sil existe une squence X 0 , . . . , X k , avec X 0 = X,
si i est impair, X i = X i1 \ Xi1
si i est pair, pour i {1, . . . , k} et tel que
X i = X i1 \ Xi1
n
n
k
X = {a}, a X.
En fait, la notion de point 2 -simple (resp. 3 -simple) est approprie dans le cas de la squelettisation 2D (resp. 3D). Nous avons dabord propos une caractrisation efficace des points 2 simples (cf. chapitre 8). Cette caractrisation a t utilise afin de caractriser plus rapidement un
point 3 -simple (selon la dfinition propose ici). Puis nous avons cr un BDD stockant toutes
les configurations correspondant un point 3 -simple. Nous avons ainsi une caractrisation efficace des points 3 -simples. Celle-l na besoin dexaminer uniquement que la prsence de points
dans  (x) pour dterminer si x est 3 -simple ou non (voir le chapitre 9 et lannexe C).

7.6 Conclusion
Il est noter que des liens ont t tablis entre les points simples dans Z 3 et les points
3 -simples pour les ordres obtenus partir d-noyaux de sous-ensembles conus partir de
transformations Hit or Miss (voir [BC99]).
Des notions de surface ont t dfinies dans le cadre des ordres et sont compares par rapport celles proposes dans le cadre de la topologie digitale [CBK02]. Nous avons galement
dfini la notion dordre valu afin de traiter des images en niveaux de gris [LB00a], et proposer
des processus dabaissement de points en bnficiant de lapproche parallle (cf. chapitre 10).
Selon cette approche topologie discrtre, des travaux ont galement t raliss, par exemple :
lobtention de lignes de partage des eaux [CB00], le filtrage parallle de squelettes (cf. chapitre
11), une tude de discrtisation [CBK02], la segmentation du cortex crbral partir de donnes
IRM [DC02].

Chapitre 8
Ordre pour images binaires 2D
8.1 Introduction
Nous prsentons ici ltude dalgorithmes de squelettisation dans lordre de base associ
Z (voir galement [LB00b]).
2

8.2 Ordre associ Z 2


Dans cette section, nous dfinissons lordre (H 2 , ) associ Z 2 et nous proposons diffrentes faons de considrer des objets binaires 2D dans cet ordre.

8.2.1 Lordre |H 2 |
Soit Z lensemble des entiers relatifs. Nous considrons les familles densembles H 02 , H12h ,
H12v , H22 et H 2, telles que H02 = {{(i, j)}, i, j Z}, H12h = {{(i, j), (i + 1, j)}, i, j Z},
A2
F1
A1
P1
F2
(a)

(b)

F IG . 8.1 (a) Un sous-ensemble S de H 2 et (b) sa reprsentation tableau.

Ordre pour images binaires 2D

164

(a)

(b)

(c)

(d)

(e)

F IG . 8.2 (a) Un ensemble S de pixels, (b) 1 (S), (c) un sous-ensemble S de Z 2 , (d) 2 (S),
(e) 3 (S).
H12v = {{(i, j), (i, j + 1)}, i, j Z}, H22 = {{(i, j), (i, j + 1), (i + 1, j), (i + 1, j + 1)},
i, j Z}, et H 2 = H02 H12h H12v H22 .
Un sous-ensemble de H02 (resp. H12h , H12v , H22 ) est appel un singleton (resp. un intervalle
horizontal unit, un intervalle vertical unit, un carr unit). En fait, H 2 est une structure 2D qui
est un complexe cellulaire [Kov89].
Notons Z = {a + 1/2; a Z} et Z+ = Z Z.
Soit lapplication de H 2 dans Z+2 telle que x H 2 : (x) = (i, j) si x = {(i, j)},
(x) = (i + 1/2, j) si x = {(i, j), (i + 1, j)}, (x) = (i, j + 1/2) si x = {(i, j), (i, j + 1)}, et
(x) = (i + 1/2, j + 1/2) si x = {(i, j), (i, j + 1), (i + 1, j), (i + 1, j + 1)}, avec i, j Z.
Si S H 2 , (S) = {(x); x S} peut tre vu comme une reprsentation de S, appele
reprsentation tableau [Ber99]. En fait, (H 2 ) est la grille digitale htrogne qui est le produit
de deux copies de la ligne de Khalimsky [KKM90] [KKM91] [Kop94]. partir de maintenant,
nous utiliserons la reprsentation tableau pour illustrer certaines notions. Lordre associ Z 2
est lordre |H 2| =(H 2, ), ainsi y (x) si x y.
Considrons le sous-ensemble S de H 2 de la figure 8.1 (a). Ce sous-ensemble est compos
de deux carrs units, ces deux carrs units contiennent un intervalle horizontal unit, un des
deux carrs contient en plus un intervalle vertical unit, et chacun de ces intervalles contient un
singleton. Les deux carrs units contiennent galement le singleton (transitivit de la relation
). La figure 8.1 (b) montre la reprsentation tableau associe au sous-ensemble S. Nous avons
adopt la convention suivante : un lment de H 02 (resp. H12h , H12v , H22 ) sera reprsent par une
croix (resp. un ovale horizontal, un ovale vertical, un carr) dans la reprsentation tableau.

8.2.2 Objets 2D
Nous allons maintenant proposer diffrentes faons de considrer des objets binaires 2D dans
|H 2 |.
En analyse dimages 2D, un objet est souvent dfini comme un ensemble de pixels. Rappelons
[Kon97] quun pixel dans R2 est le produit cartsien de la forme [i1 , i1 + 1] [i2 , i2 + 1], avec
i1 , i2 Z. Une image binaire bidimensionnelle, ou 2-image, est dfinie comme un ensemble
fini de pixels de R2 . chaque 2-image I est associ un sous-ensemble S de H 2 comme suit :
chaque pixel de I est associ le carr unit de H 2 qui est le produit cartsien de la forme {i1 , i1 +

8.3 Voisinages, chemin, composante connexe dans |H 2|




165


F IG . 8.3 Voisinages dans |H 2 |.


1} {i2 , i2 + 1} ainsi que les lments de H 2 quil contient. Soit 1 une telle transformation
(voir figures 8.2 (a) et (b)). Une autre approche est de considrer un objet 2D, comme un sousensemble de Z 2 . chaque sous-ensemble I de Z 2 est associ un sous-ensemble S de H 2 comme
suit : chaque point de I de coordonnes (i, j) dans Z 2 , est associ le singleton {(i, j)} de H 2
ainsi que les lments de H 2 qui contiennent ce singleton. Soit 2 une telle transformation (voir
figures 8.2 (c) et (d)). Remarquons que ces deux approches multiplient environ par 4 la taille de
limage. Une autre faon consiste associer chaque point p de coordonnes (i, j) dans Z 2 , le
point p de H 2 tel que (p ) = (i/2, j/2). Soit 3 une telle transformation. Celle-l a lavantage
dassocier un seul point de H 2 un point de Z 2 (voir figures 8.2 (c) et (e)) et prserve donc la
taille de limage initiale. Nanmoins, elle a linconvnient de ne pas tre invariante par translation
(cf. section 8.7.2).

8.3 Voisinages, chemin, composante connexe dans |H 2|


Nous prsentons maintenant des notions classiques de topologie transposes aux ordres. Nous
rappelons que = .
Soient S H 2 et x un point de S. Lensemble S (x) est appel le  -voisinage de x dans
S. Si y S (x), nous disons que y est  -voisin de x dans S.
Le  -voisinage et le  -voisinage peuvent tre dfinis de la mme manire. De faon gnrale, nous dirons que deux points sont voisins si un point appartient au  -voisinage de lautre.
La figure 8.3 reprsente les diffrents voisinages possibles (zone dlimite par les pointills) selon le type de point de H 2 considr (colonne de gauche) (voir aussi [Kov89]). Rappelons que
la relation correspond la relation contient (le voisinage  pour un singleton est vide, cet
lment est toujours -terminal) ; par dualit, la relation correspond la relation est contenu

Ordre pour images binaires 2D

166

(a)

(b)

(c)

(d)

(e)

F IG . 8.4 (a) Chemins et composantes connexes, (b) courbes ouvertes, (c) points de courbes,
(d) points extrmits, (e) courbes fermes.
(le voisinage  pour un carr est vide, cet lment est toujours -terminal), et  est la runion
de  et  .
Dfinition (chemin) : Soit S H 2 . Soient x0 et xn deux lments de S. Un chemin dans
lordre |S| de x0 xn est une suite C = x0 , . . . , xn de points de S, telle que xi S (xi1 ) avec
i {1, . . . , n}, avec n > 0. Le nombre n est la longueur du chemin et x0 est son origine.
Dfinition (composante connexe) : Soit S H 2 . Le sous-ensemble S est dit connexe si
tout couple de points de S est reli par un chemin dans |S|. La relation est reli par un chemin dans |S| est une relation dquivalence dont les classes dquivalence sont les composantes
connexes de lordre |S|.
Nous illustrons cette notion dans la figure 8.4 (a). Dans la figure du dessus, il y a une seule
composante connexe (un chemin la parcourant est dessin en pointill), dans la figure du dessous, deux composantes connexes sont prsentes, en effet les deux lments ovales (en gras sur
la figure) ne sont pas voisins.
Dfinition (courbe ouverte simple) : Soit S H 2 . Le sous-ensemble S est une courbe
ouverte simple si cest un ensemble connexe tel que tout point de S a deux voisins dans S, ce
sont les points de courbe (Fig. 8.4 (c)), lexception de deux points qui nont quun voisin dans
S, ce sont les extrmits de courbe (Fig. 8.4 (d)). Nous tendons la dfinition au cas dgnr
suivant : si S est rduit en un point alors S est galement une courbe ouverte simple.
La notion de courbe ouverte simple est illustre sur la figure 8.4 (b), dans lexemple du dessus, llment carr a plus de deux voisins ; si llment ovale (en gras sur la figure) est retir
alors nous obtenons une courbe ouverte simple (cest lexemple du dessous de la mme figure).

8.4 tude de la simplicit dans |H 1| et dans |H 2 |

167

Dfinition (courbe ferme simple) : Soit S H 2 . Le sous-ensemble S est une courbe


ferme simple si cest un ensemble connexe tel que tout point de S a exactement deux voisins x
et y dans S, et tel que x et y ne sont pas voisins.
Trois exemples de courbes fermes simples sont donnes la figure 8.4 (e). Nous proposons
quelques autres dfinitions. Soit S H 2 . Un point x de S est un point isol de S si S (x) est
 2 (x). Nous vrifions facilement que x est un
vide ; cest un point intrieur de S si S (x) = H
point intrieur de S si et seulement si S (x) est une courbe simple ferme.

8.4 tude de la simplicit dans |H 1| et dans |H 2|


la section 7.5, nous avons introduit les dfinitions rcursives croises de point n -simple,
de point n -simple et dordre n-contractile.
Il est intressant de comprendre comment ont t proposes ces dfinitions rcursives. Cest
ce que nous nous proposons dtudier dans cette section travers les tudes successives de la
simplicit dans |H 1 | puis dans |H 2 |.
Rappelons la dfinition dun point -unipolaire et la proprit concernant leur suppression
en parallle, donnes dans la section 7.5 [Ber99].
Dfinition 1 (point -unipolaire) : Soient |X| = (X, ) un ordre, x et y deux points de X.
Soit , la relation sur X telle que y (x) si et seulement si y  (x) et  (x)  (y) =
. Un point x de X est -unipolaire si #[ (x)] = 1, avec #S tant le nombre dlments dun
ensemble S.
Proprit 1 : Soient |X| = (X, ) un ordre, y un point de X -unipolaire et x un point de
X avec x = y. Si x est -unipolaire, alors x est S -unipolaire pour S = X \ {y}.
En dautres termes, les points -unipolaires pour |X| peuvent tre supprims en parallle
(sous-entendu tout en prservant les proprits topologiques de lordre |X|, voir [Ber99]).

8.4.1 tude de la simplicit dans |H 1 |


Soit |H 1 |(= (H 1 , )), lordre de base associ Z, dfini de la mme faon que dans les sections 7.4 et 8.2.1. Les lments de H 1 sont des singletons (les 0-cubes) et des intervalles units
(les 1-cubes) (cf. la section 7.4).
Proprit 2 : Soient S H 1 et x S. Nous avons S (x) = S (x) et S (x) = S (x).
Preuve :
Soit s un singleton de S. Nous avons H1 (s) = (en particulier S (s) = ) alors S (s) = ;
par consquent s nest jamais S -unipolaire.

168

Ordre pour images binaires 2D

Notons dabord que y (x) y  (x) et  (x)  (y).


Dans |S|, un singleton peut tre contenu par aucun, 1 ou 2 intervalle(s) i j :
 soit S (s) = ,
alors S (s) = ,

alors S (s) S (i1 ) = et S (s) = {i1 },
 soit S (s) = {i1 },
 soit S (s) = {i1 , i2 }, alors j {1, 2}, S (s) S (ij ) = et S (s) = {i1 , i2 }.
Soit i un intervalle de S.
Remarquons que  (i) est de la mme forme que  (s) : savoir deux composantes connexes
constitues dun seul lment, tant soit un singleton pour le cas  (i), soit un intervalle pour le
cas  (s). Nous obtenons alors les mmes rsultats que prcdemment, en changeant par ,
et le rle jou par un intervalle dans le cas  (s) par celui dun singleton dans le cas  (i).
Nous dtaillons nanmoins les rsultats :
Dans |H 1 |,  (i) = (en particulier S (i) = ) alors S (i) = ; par consquent i nest
jamais S -unipolaire. Dans |S|, un intervalle peut contenir aucun, 1 ou 2 singleton(s) s j :
alors S (i) = ,
 soit S (i) = ,
alors S (i) S (s1 ) = et S (i) = {s1 },
 soit S (i) = {s1 },
 soit S (i) = {s1 , s2 }, alors j {1, 2}, S (i) S (ij ) = et S (i) = {s1 , s2 }.

Proprit 3 : Soient S H 1 et x S ; x est S -unipolaire ssi #[S (x)] = 1, x est S unipolaire ssi #[S (x)] = 1. Daprs les rsultats de la proposition 2, x ne peut tre -unipolaire
et -unipolaire la fois. Si x est un singleton, il nest jamais -unipolaire, si x est un intervalle,
il nest jamais -unipolaire.
Amorons la rcursivit par la notion dordre 0-contractile.
Dfinition 2 (ordre 0-contractile) : Soit |X| un ordre. |X| est 0-contractile si X est compos dun seul point (i.e. #X = 1).
Nous donnons maintenant une proprit liant un point -unipolaire et un ordre 0-contractile :
Proprit 4 : Soient |X| un ordre et x X. Alors x est -unipolaire ssi | (x)| est 0contractile (cf. la dfinition 1).
La proprit 4 et la proposition 2 donnent :
Proprit 5 : Soient S H 1 et x S ; x est S -unipolaire ssi |S (x)| est 0-contractile.
Continuons la recherche dune dfinition rcursive par la notion de point 1 -simple.
Dfinition 3 (point 1 -simple) : Soit |X| un ordre. Un point x de X est 1 -simple pour |X|
si |  (x)| est 0-contractile.
Nous en dduisons la proprit suivante indiquant lquivalence dans |H 1| entre les points
1 -simples et les points -unipolaires.

8.4 tude de la simplicit dans |H 1| et dans |H 2 |


i1

s1

s3
(a)

s2

169
i2

s1

i1
(b)

F IG . 8.5 Figures utilises dans la discussion sur la simplicit dans |H 1 |.

Proprit 6 : Soient S H 1 et x S ; x est 1 -simple pour |S| ssi x est S -unipolaire ssi
#[S (x)] = 1. Un singleton nest jamais 1 -simple, un intervalle nest jamais 1 -simple.
De la proprit 6 et de la proprit 1, nous dduisons la proprit suivante :
Proprit 7 : Soient S H 1 , x un point 1 -simple pour |S| et y un point de S avec y = x.
Si y est 1 -simple pour |S|, alors y est 1 -simple pour |T |, avec T = S \ {x}. En dautres termes,
les points 1 -simples pour |S| peuvent tre limins en parallle.
Considrons un processus consistant en la suppression en parallle de points -unipolaires.
Ce processus supprime les points i1 et i2 de lobjet de la figure 8.5(a). Nous nous attendons
amincir plus cet objet. Nous remarquons que les singletons s 1 et s2 sont -unipolaires (aprs la
suppression de i1 et i2 ).
Notons quune suppression simultane de points - ou -unipolaires ne prserve pas la topologie. En effet, considrons la figure 8.5(b) ; une telle suppression retirerait lintervalle unipolaire i1 et le singleton -unipolaire s1 , et lobjet disparatrait.
Nous proposons alors un processus consistant en la rptition jusqu stabilit ditrations de
suppression parallle de points -unipolaires alternes avec des itrations de suppression parallle de points -unipolaires.
Lobjet de la figure 8.5(a) est alors rduit en un point : s 3 .
Introduisons maintenant dautres dfinitions que nous utiliserons par la suite :
Dfinition 4 (ordre contractile) : Soit |X| un ordre. Lordre |X| est contractile si X peut
tre rduit en un seul point par la suppression squentielle de points -unipolaires, ou de points
-unipolaires.
Avec la proposition 1, nous obtenons la dfinition suivante :
Dfinition 5 (ordre fortement contractile) : Soit |X| un ordre. Lordre |X| est fortement
contractile si X peut tre rduit en un seul point par la rptition jusqua stabilit des deux itrations suivantes : i) enlever en parallle tous les points -unipolaires, ii) enlever en parallle tous
les points -unipolaires.
Retrouvons notre recherche dune dfinition rcursive par la notion dordre 1-contractile :

170

Ordre pour images binaires 2D

Dfinition 6 (ordre 1-contractile) : Soit |X| un ordre. Lordre |X| est 1-contractile si X
peut tre rduit en un seul point par la rptition jusqua stabilit des deux itrations suivantes : i)
enlever en parallle tous les points 1 -simples, ii) enlever en parallle tous les points 1 -simples.
Dans |H 1 |, nous avons alors la proprit suivante (qui dcoule des proprits 1, 6 et 7 et des
dfinitions 4, 5 et 6) :
Proprit 8 : Soit S H 1 . Lordre |S| est 1-contractile ssi |S| est (fortement) contractile.
8.4.1.1 Rcapitulatif
Soit S H 1 .
Un singleton nest jamais -unipolaire ni 1 -simple. Un intervalle nest jamais -unipolaire
ni 1 -simple. Un singleton s de S est S -unipolaire ssi s est 1 -simple pour |S| ssi #[S (i)] = 1.
Un intervalle i de S est S -unipolaire ssi i est 1 -simple pour |S| ssi #[S (i)] = 1.
Retenons que, dans |H 1|, l1 -simplicit quivaut l-unipolarit.

8.4.2 tude de la simplicit dans |H 2 |


Nous allons mettre en vidence que certaines proprits proposes dans |H 1| ne sont plus
valables dans |H 2 |. Nous allons donner les statuts des diffrents points de |H 2 | (du point de vue
de l-unipolarit, de l-simplicit, etc). Cela nous permettra de retrouver la dfinition dun
point 2 -simple (donne la section 7.5) et de prouver que nous pouvons supprimer en parallle
de tels points.
8.4.2.1 Exemple de points -unipolaires dans |H 2 |
Considrons le sous-ensemble S de la figure 8.1. Les lments A 1 , A2 ne contiennent que
llment P1 et sont -unipolaires. Llment F1 nest pas -unipolaire car ({F1 }) = {A1 , A2 }.
Llment P1 est contenu par les lments A1 ou A2 , qui sont, leur tour, contenus par les lments F1 ou F2 , donc llment P1 ne peut appartenir ni ({F1 }), ni ({F2 }) (cela illustre
la condition que le point y doit satisfaire pour appartenir (x), en effet, il ne doit pas y avoir
de point intermdiaire contenu par le point x et contenant le point y). Le point F 2 est unipolaire car ({F2 }) = {A1 }. Si lon supprime le point A1 , alors le point F1 devient son
tour -unipolaire (pour lordre |X \ {A1 }|), il est donc -libre (voir la dfinition dans la section
7.3). Puis, par les suppressions des points F 1 , F2 et A2 , on obtient lunique lment P 1 , cest
l-noyau de S (voir la dfinition dans la section 7.3).
La recherche de l-noyau conduit directement un processus damincissement.

8.4 tude de la simplicit dans |H 1| et dans |H 2 |

171

8.4.2.2 Statuts des points de |H 2 |


Donnons dabord quelques remarques.
Dans la suite, nous considrons un sous-ensemble S H 2 .
rmq_1 : Cas de l-unipolarit et de l1 -simplicit dun intervalle i de S.
Remarquons que H2 (i) = H1 (i). Nous avons alors les mmes rsultats que dans |H 1|,
savoir : i est 1 -simple pour |S| i est S -unipolaire #[S (i)] = 1 (i.e. ssi lintervalle i
contient un seul singleton de S).
rmq_2 : Cas de la -unipolarit et de la 1 -simplicit dun intervalle i de S.
Rappelons que H1 (i) = et H2 (i) = H1 (i).
Remarquons que H2 (i) est de la mme forme que H2 (i) : deux composantes connexes constitues dun seul lment, tant soit un singleton dans le cas H2 (i) (cf. la remarque rmq_1), soit
un carr ici. Nous avons alors les mmes rsultats que dans la remarque rmq_1, en changeant
par et le rle jou par un singleton par celui dun carr.
Nous dtaillons nanmoins les rsultats :
Dans |S|, i peut tre contenu par aucun, un ou deux carr(s) cj :
 soit S (i) = ,
alors S (i) = ,
alors S (i) S (c1 ) = et S (i) = {c1 },
 soit S (i) = {c1 },

 soit S (i) = {c1 , c2 }, alors j {1, 2}, S (i) S (cj ) = et S (i) = {c1 , c2 }.
Nous avons S (i) = S (i). Par consquent : i est S -unipolaire #[S (i)] = 1 |S (i)| est
0-contractile i est 1 -simple pour |S| (i.e. ssi lintervalle i est contenu par un seul carr de S).
rmq_3 : Cas de l-unipolarit
de l1 -simplicit dun singleton s de S.
 et

|S (s)| non 0-contractile s non 1 -simple pour |S|,
Nous avons  (s) =
S (s) = s non S -unipolaire.
Par consquent, un singleton s nest jamais 1 -simple pour |S|, ni S -unipolaire.
rmq_4 : Cas de la -unipolarit
 et de la 1 -simplicit dun carr c de S.
|S (c)| non 0-contractile c non 1 -simple pour |S|,
Nous avons  (c) =
S (c) = c non S -unipolaire.
Par consquent, un carr c nest jamais 1 -simple pour |S|, ni S -unipolaire.
rmq_5 : Statuts dun intervalle i relativement  (c) dun carr c contenant i.
Soient i un intervalle et c un carr tels que i S, c S et i  (c). Soient T =  (c) et
U = T S.
 Nous avons T (i) = , en fait T (i) = H1 (i) ; par consquent i est non 1 -simple pour |U|
et i est non U -unipolaire.
 T (i) = H2 (i). Nous avons alors les mmes rsultats que dans la remarque rmq_1, i.e. i est
1 -simple pour |U| i est U -unipolaire #[U (i)] = 1. De plus U (i) = S (i), ainsi i est
1 -simple pour |U| i est 1 -simple pour |S| i est S -unipolaire #[S (i)] = 1 (i.e. ssi
lintervalle i contient un seul singleton de S).

172

Ordre pour images binaires 2D

rmq_6 : Statuts dun intervalle i relativement  (s) dun singleton s contenu par i.
Soient i un intervalle et s un singleton tels que i S, s S et i  (s). Soient T =  (s)
et U = T S.
 
|U (i)| non 0-contractile i non 1 -simple pour |U|
 Nous avons T (i) =
U (i) = i non U -unipolaire
 T (i) = H2 (i). Nous avons alors les mmes rsultats que dans la remarque rmq_2, i.e. i est
1 -simple pour |U| i est U -unipolaire #[U (i)] = 1. De plus U (i) = S (i), ainsi i est
1 -simple pour |U| i est 1 -simple pour |S| i est S -unipolaire #[S (i)] = 1 (i.e. ssi
lintervalle i est contenu par un seul carr de S).
rmq_7 : Statuts dun singleton s relativement  (c) dun carr c contenant s.
Soient s un singleton et c un carr tels que s S, c S et s  (c). Soient T =  (c) et
U = T S.
 Remarquons que T (s) est de la mme forme que H1 (s). Par consquent, s est U -unipolaire
#[U (s)] = 1 |U (s)| est 0-contractile s est 1 -simple dans |U|.
 Rappelons que s nest jamais -unipolaire, ni 1 -simple dans |H 2 | (rmq_3), nous avons alors
les mmes rsultats dans |U|.
rmq_8 : Statuts dun carr c relativement  (s) dun singleton s contenu par c.
Soient c un carr et s un singleton tels que c S, s S et c  (s). Soient T =  (s) et
U = T S.
 Remarquons que T (c) est de la mme forme que H1 (s), avec s un singleton. Par consquent,
c est U -unipolaire #[U (c)] = 1 |U (c)| est 0-contractile c est 1 -simple dans |U|.
 Rappelons que c nest jamais -unipolaire, ni 1 -simple dans |H 2 | (rmq_4), nous avons alors
les mmes rsultats dans |U|.
Proprit 9 : Soit S H 2 . Soit c un carr de S. Dans  (c), seuls les intervalles peuvent
tre -unipolaires (ssi ils sont 1 -simples) ; seuls les singletons peuvent tre -unipolaires (ssi ils
sont 1 -simples). De la mme faon, soit s un singleton de S. Dans  (s), seuls les intervalles
peuvent tre -unipolaires (ssi ils sont 1 -simples) ; seuls les carrs peuvent tre -unipolaires
(ssi ils sont 1 -simples).
Preuve :
Soit c un carr de S.
Soient T =  (c) et U = T S.
Rappelons que  (c) est compos uniquement dintervalles et de singletons. Nous avons :
un intervalle i est U -unipolaire i est 1 -simple pour |U| #[U (i)] = 1 (rmq_1
et rmq_5),
un singleton nest ni -unipolaire, ni 1 -simple (rmq_3),
dans T , un intervalle nest ni U -unipolaire, ni 1 -simple pour |U| (rmq_5),
dans T , un singleton s est U -unipolaire s est 1 -simple pour |U| #|U (i)| = 1
(rmq_7).

8.4 tude de la simplicit dans |H 1| et dans |H 2 |

173

Soit s un singleton de S.
Soient T =  (s) et U = T S.
Rappelons que  (s) est compos uniquement dintervalles et de carrs. Nous avons :
un intervalle i est U -unipolaire i est 1 -simple pour |U| #[U (i)] = 1 (rmq_2
et rmq_6),
un carr nest ni -unipolaire, ni 1 -simple (rmq_4),
dans T , un intervalle nest ni U -unipolaire, ni 1 -simple pour |U| (rmq_6),
dans T , un carr c est U -unipolaire c est 1 -simple pour |U| #|U (c)| = 1
(rmq_8).

rmq_9 : Cas d-unipolarit et d1 -simplicit dun carr c.
Soit c S.
 c est 1 -simple pour |S| #[S (c)] = 1 c contient un unique lment e de S.
Dans ce cas, S (c) S (e) = et S (c) = {e}, par consquent c est galement S unipolaire.
 Soit un intervalle i S (c). Alors i est tel que S (c) S (i) = et i S (c). Une
condition ncessaire pour que c soit S -unipolaire est que c contienne au plus un intervalle de S.
 Soit un singleton s S (c). Soit T = S (c) S (s), T peut tre vide ou contenir un ou
deux intervalle(s) ij de S :
soit T = ,
alors s S (c),
alors s
/ S (c) et i1 S (c) (cf. avant),
soit T = {i1 },
soit T = {i1 , i2 }, alors s
/ S (c) et i1 S (c) et i2 S (c) (cf. avant).
 Par consquent, c est S -unipolaire !z S (c) tel que S (c) S (z) = ; deux cas
sont possibles :
soit ! intervalle i S (c) et dans ce cas singleton s S (c) alors s S (i)
(et z = i) (si S (i) = alors S (c) = {i} et c est 1 -simple pour |S|),
soit  intervalle i S (c) et dans ce cas ! singleton s S (c) (i.e. S (c) = {s})
( et z = s) et dans ce cas c est 1 -simple pour |S|.

En rsum,
c est 1 -simple pour |S| si S (c) est soit un singleton, soit un intervalle ; et dans ces cas,
c est S -unipolaire,
c est S -unipolaire et non 1 -simple pour |S| sil contient un unique intervalle et si celui-l
contient un ou deux singletons de S.
Cela montre quil ny a pas quivalence entre l-unipolarit et l1 -simplicit dans |H 2|
(contrairement au cas |H 1 |, cf. la proprit 6, page 169).
rmq_10 : Cas de -unipolarit et de 1 -simplicit dun singleton s.
Ici, un intervalle (resp. un carr) joue le mme rle que celui dun intervalle (resp. un singleton) lors du test de l-unipolarit ou de l 1 -simplicit dun carr (cf. rmq_9).
En dtaillant, cela donne :

174

Ordre pour images binaires 2D

Soit s S.
 s est 1 -simple pour |S| #[S (s)] = 1 s est contenu par un unique lment e de S.
Dans ce cas, S (s) S (e) = et S (s) = {e}, par consquent s est galement S unipolaire.
 Soit un intervalle i S (s). Alors i est tel que S (s) S (i) = et i S (s). Une
condition ncessaire pour que s soit S -unipolaire est que s soit contenu par au plus un intervalle.
 Soit un carr c S (s). Soit T = S (s) S (c), T peut tre vide ou contenir un ou deux
intervalle(s) ij de S :
soit T = ,
alors c S (s),
soit T = {i1 },
alors c
/ S (s) et i1 S (s) (cf. avant),
soit T = {i1 , i2 }, alors c
/ S (s) et i1 S (s) et i2 S (s) (cf. avant).
 Par consquent, s est S -unipolaire !z S (s) tel que S (s) S (z) = ; deux cas
sont possibles :
soit ! intervalle i S (s) et dans ce cas carr c S (s) alors c S (i)
(et z = i) (si S (i) = alors S (s) = {i} et s est 1 -simple pour |S|),
soit  intervalle i S (s) et dans ce cas ! carr c S (s) (i.e. S (s) = {c})
(et z = c) et dans ce cas s est 1 -simple pour |S|.

En rsum,
s est 1 -simple pour |S| si S (s) est soit un carr, soit un intervalle ; et dans ces cas, s est
S -unipolaire,
s est S -unipolaire et non 1 -simple pour |S| sil est contenu par un unique intervalle et si
celui-l est contenu par un ou deux carrs de S.
Cela montre quil ny a pas quivalence entre la -unipolarit et la 1 -simplicit dans |H 2|
(contrairement au cas |H 1 |, cf. la proprit 6).
Des remarques rmq_1, rmq_2, rmq_9 et rmq_10, nous avons :
Proprit 10 : Soit S H 2 ; tout lment 1 -simple (resp. 1 -simple) pour |S| est S unipolaire (resp. S -unipolaire). La rciproque est vraie pour les intervalles, elle est fausse pour
les carrs et les singletons.
Considrons la figure 8.6(a). Dans la figure de gauche, les seuls points -unipolaires sont P 1
et P2 . Un processus consistant en la suppression (itrative ou parallle) des points -unipolaires
produit lobjet dessin droite dans la figure 8.6(a). Ce processus est bloqu par les deux points
P3 et P4 , qui eux sont -unipolaires.
Par ailleurs, la suppression parallle la fois de points - ou -unipolaires peut ne pas prserver la topologie. En effet, dans la figure 8.6(b), le point P 1 est -unipolaire et le point P2 est
-unipolaire. Lobjet disparat par la suppression parallle de points - ou -unipolaires. Nous
devons alors considrer un processus consistant en la rptition alterne des deux tapes suivantes : lune supprime en parallle les points -unipolaires, et lautre supprime en parallle les
points -unipolaires. Ce processus parallle de suppression prserve la topologie (cf. la proprit
1 page 167).

8.4 tude de la simplicit dans |H 1| et dans |H 2 |

175
P1

P4

P2

y
C

P1
P1

P2
(a)

P3

P4

P2
(b)

P3
(c)

x
(d)

F IG . 8.6 Figures utilises dans la discussion sur la simplicit dans |H 2 |.


Toutefois, nous pouvons remarquer que lobjet S constitu de lordre |H 2| priv dun intervalle (objet dessin partiellement, figure 8.6(c)), ne peut pas tre aminci avec ce processus. En
effet, aucun des points de cet objet nest -unipolaire, ou -unipolaire. Remarquons que les carrs de la figure 8.6(c), voisins de lintervalle absent, sont tels que | S (x)| est contractile, ou que
les singletons voisins de lintervalle absent sont tels que | S (x)| est contractile (cf. la dfinition
4, page 169).
Nous proposons alors la dfinition suivante :
Dfinition 7 (point -simple) : Soient S H 2 et x un point de S. Le point x est -simple pour
|S| si |S (x)| est contractile.
Dans lexemple de la figure 8.6(c), les points P1 et P3 sont -simples, et les points P 2 et P4
sont -simples. Un processus consistant en la suppression parallle et alterne de points - ou
-simples permet maintenant damincir cet objet.
rmq_11 : Cas de contractilit de |  (c)| dun carr c.
La proprit 9 montre que |  (c)| (fortement) contractile  (c) peut tre rduit en un
point par la rptition ditrations de suppression (parallle) de points -unipolaires (ici, seuls
les intervalles peuvent ltre) alternes avec des itrations de suppression (parallle) de points
-unipolaires (ici, seuls les singletons peuvent ltre).
Nous avons la proprit suivante :
Proprit 11 : Soient S H 2 et c un carr de S. Alors |S (c)| est (fortement) contractile
S (c) est une courbe ouverte simple.
Preuve :
On suppose que S (c) est une courbe ouverte simple. Si elle est de longueur 1, alors cest un
ensemble (fortement) contractile. Sinon, tous les points appartenant S (c) ont deux voisins
sauf les extrmits qui nen ont quun. Les points extrmits sont les seuls points S - ou S unipolaires. Par la suppression itrative des points S - ou S -unipolaires (c.--d. les extrmits

176

Ordre pour images binaires 2D

de la courbe), on transforme la courbe ouverte simple en une autre courbe ouverte simple (de
longueur infrieure). En rptant cela jusqu stabilit, on aboutit finalement une courbe ouverte
simple de longueur 1. Ainsi S (c) est contractile, et le point c est -simple.
De la forme mme de S (c) (i.e. alternance de singletons et dintervalles), nous voyons que
la suppression des points unipolaires (les extrmits) peut seffectuer en parallle. Ainsi | S (c)|
est fortement contractile.
 Nous pouvons voir de la mme faon que la condition est ncessaire.
En effet, S (c) peut tre vide, tre une courbe ferme simple, ou tre une ou lunion de plusieurs
courbes ouvertes simples. La suppression de points S -unipolaires ou S -unipolaires peut amincir chacune des (ou de la) courbe(s) ouverte(s) simple(s) en un point. Par consquent, S (c) peut
tre rduit en un point si S (c) est une unique courbe ouverte simple. 
rmq_12 : Cas de contractilit de |  (s)| dun singleton s.
De la mme faon que dans la remarque rmq_11 et avec la proprit 9, nous avons la proprit suivante :
Proprit 12 : Soient S H 2 et s un singleton de S. Alors |S (s)| est (fortement) contractile S (c) est une courbe ouverte simple.
Nous en dduisons les deux proprits suivantes :
Proprit 13 : Soient S H 2 et x S ; x est -simple pour |S| ssi S (x) est une courbe
ouverte simple ssi |S (x)| est 1-contractile. De la mme faon, x est -simple pour |S| ssi S (x)
est une courbe ouverte simple.
Preuve : Pour le cas x -simple :
si x est un carr,
voir la proprit 11 concernant le processus de suppression de points unipolaires partir
dune courbe ouverte simple,
et la proprit 9 signifiant lquivalence entre les points -unipolaires (resp. -unipolaires)
et les points 1 -simples (resp. 1 -simples) dans S (x),
si x est un intervalle, nous avons : x est simple pour |S|
|S (x)| est contractile
#[S (x)] = 1 |S (x)| est 1-contractile,
S (x) est une courbe ouverte simple de longueur 1,
si x est un singleton, alors  (x) = .

Proprit 14 : Soient S H 2 , x un point -simple pour |S| et y un point de S avec y = x.
Si y est -simple pour |S|, alors y est -simple pour |T |, avec T = S \ {x}.
Preuve (voir galement la figure 8.6(d)) :
Soient x et y deux points -simples pour |S|. Comme l-simplicit de y pour |S| ne dpend
que de S (y), le seul cas considrer est : x S (y) ; x ne peut tre un singleton car celui-ci
nest jamais -simple, on a alors uniquement le cas o x est un intervalle et y, un lment carr.
Comme x est -simple pour |S|, il doit contenir un unique singleton z de S. Or y tant -simple
pour |S|, S (y) est une courbe ouverte simple de la forme C = x0 , . . . , xn1 , xn avec xn1 = z,

8.4 tude de la simplicit dans |H 1| et dans |H 2 |

177

xn = x et n > 0 (courbe dessine en pointill sur la figure 8.6(d)). Le fait de supprimer x


transforme C en une autre courbe ouverte simple (lexistence est prouve par la prsence de z),
et y est T -simple pour T = S \ {x}. Notons que si la courbe C est telle que x 0 est galement
un intervalle y -simple (le seul autre possible) alors le raisonnement tient galement pour la
suppression parallle de ces deux extrmits de courbe que sont les deux seuls points -simples
de C pour |S|. 
Nous pouvons donc supprimer en parallle des points -simples. Par dualit, on peut supprimer en parallle des points -simples. Cest cette proprit que nous allons exploiter dans
la prochaine section, pour proposer des algorithmes de squelettisation. Nous dfinissons alors
la notion de point 2 -simple (quivalente ici celle de point -simple) et la notion dordre 2contractile (afin de retrouver la rcursivit des dfinitions donnes dans la section 7.5).
Dfinitions 8 (point 2 -simple, ordre 2-contractile) : Soit |X| = (X, , ) un ordre dnombrable, localement fini et non vide. Un point x est 2 -simple pour |X| si | (x)| est 1contractile. Lensemble compos de tous les points de X qui ne sont pas 2 -simples pour |X| est
not par X2 . Lordre |X| est 2-contractile, sil existe une squence X 0 , . . . , X k , avec X 0 = X,
X i = Xi1
si i est impair, X i = Xi1
si i est pair, pour i = 1, . . . , k et tel que Xk = {a}, a X.
2
2

8.4.2.3 Rcapitulatif
Soit S H 2 (voir la figure 8.7).
Statuts dun intervalle. Soit i un intervalle de S.
i est S -unipolaire i est 1 -simple pour |S| #[S (i)] = 1
S (i) est un singleton i est 2 -simple pour |S| (Fig. 8.7 (a)),

si S (i) nest pas un singleton i.e. i ne contient aucun singleton ou i contient deux
singletons alors i nest ni S -unipolaire, ni 1 -simple pour |S|, ni 2 -simple pour |S|
(Fig. 8.7 (b)),
i est S -unipolaire i est 1 -simple pour |S| #[S (i)] = 1
S (i) est un carr i est 2 -simple pour |S| (Fig. 8.7 (c)),

si S (i) nest pas un carr i.e. i nest contenu par aucun carr ou i est contenu par deux
carrs alors i nest ni S -unipolaire, ni 1 -simple pour |S|, ni 2 -simple pour |S| (Fig.
8.7 (d)).
Statuts dun carr. Soit c un carr de S.
c est 1 -simple pour |S| si S (c) est soit un singleton soit un intervalle ; dans ces cas, il
est S -unipolaire et 2 -simple pour |S| (Fig. 8.7 (e)),
c est S -unipolaire et non 1 -simple pour |S| sil contient un unique intervalle et que
celui-l contient un ou deux singletons ; dans ces cas, il est 2 -simple pour |S| (Fig. 8.7
(f )),
c est 2 -simple pour |S| et non S -unipolaire (par consquent non 1 -simple pour |S|)
sil contient une courbe ouverte simple contenant au moins 2 intervalles de S (Fig. 8.7
(g)),

Ordre pour images binaires 2D

178
i

(a)

(b)
i

(c)

(d)

(e)

(f )

(g)

(h)

(i)
s

(k)

s
(j)

(l)

F IG . 8.7 Rcapitulatif des statuts des points de H 2 . Exemples pour un intervalle i : (a) i
-unipolaire et 1 -simple ; (b) i non -unipolaire (donc ni 1 -simple, ni 2 -simple) ; (c) i unipolaire et 1 -simple ; (d) i non -unipolaire (donc ni 1 -simple, ni 2 -simple). Exemples
pour un carr c : (e) c 1 -simple, -unipolaire, 2 -simple ; (f ) c -unipolaire, non 1 -simple,
2 -simple ; (g) c 2 -simple non -unipolaire ; (h) c non 2 -simple. Exemples pour un singleton
s : (i) s 1 -simple, -unipolaire, 2 -simple ; (j) s -unipolaire, non 1 -simple, 2 -simple ; (k) s
2 -simple non -unipolaire ; (l) s non 2 -simple.

8.5 Algorithmes de squelettisation pour images binaires

179

c nest pas 2 -simple pour |S| si S (c) = , si S (c) est une courbe ferme, si S (c)
est constitu de plusieurs courbes ouvertes simples (Fig. 8.7 (h)),
c jamais 1 -simple, ni 2 -simple, ni -unipolaire car  (c) = .
Statuts dun singleton. Soit s un singleton de S.
s est 1 -simple pour |S| si S (c) est soit un carr soit un intervalle ; dans ces cas, il est
S -unipolaire et 2 -simple pour |S| (Fig. 8.7 (i)),
s est S -unipolaire et non 1 -simple pour |S| sil est contenu par un unique intervalle et
que celui-l est contenu par un ou deux carrs ; dans ces cas, il est 2 -simple pour |S|
(Fig. 8.7 (j)),
s est 2 -simple pour |S| et non S -unipolaire (par consquent non 1 -simple pour |S|)
si S (s) est une courbe ouverte simple contenant au moins 2 intervalles de S (Fig. 8.7
(k)),
s nest pas 2 -simple pour |S| si S (s) = , si S (s) est une courbe ferme, si S (s)
est constitu de plusieurs courbes ouvertes simples (Fig. 8.7 (l)),
s jamais 1 -simple, ni 2 -simple, ni -unipolaire car  (s) = .
Introduisons maintenant la notion dordre -quivalent (utilise au chapitre 10) :
Dfinition (ordre -quivalent) : Soient |X| et |Y | deux ordres. Lordre |Y | est (sous) quivalent |X| si X = Y ou si Y peut tre obtenu partir de X par suppressions itratives de
points - ou -simples.
Considrons un sous-ensemble S de H 2 , et le sous-ensemble T de H 2 obtenu partir de S
aprs la suppression en parallle de tous les points -simples de S (rappelons que dans |H 2| les
points -simples sont les points 2 -simples). La proprit 14 implique que |T | est -quivalent
|S|.
8.4.2.4 Conclusion
partir de la seule notion de point -unipolaire et de la proprit de pouvoir supprimer
en parallle de tels points, nous avons dfini une notion plus puissante (pour un processus de
suppression de points) : celle de point 2 -simple ; et avons montr que nous pouvons supprimer
en parallle de tels points.

8.5 Algorithmes de squelettisation pour images binaires


8.5.1 Algorithme de squelettisation ultime
Soit S un sous-ensemble de H 2 . Soit S = {x S; x est 2 -simple pour |S|}, lensemble
des points 2 -simples pour |S|. Dans la suite, nous notons S 0 le sous-ensemble initial S.
Nous proposons un processus damincissement consistant retirer en parallle des points 2 simples, puis retirer en parallle des points 2 -simples, et cela jusqu stabilit. Ce processus
est dcrit par lalgorithme 9.

Ordre pour images binaires 2D

180
S0 = S
Rpter

\ S2i ,
S 2i+1 = S 2i
2i+2
2i+1
S
= S
\ S2i+1 .

Jusqu ce quil ny ait plus de suppression durant 2 sous-itrations successives.


Algorithme 9: Algorithme de squelettisation ultime dans |H 2 |.
Dans le cadre de topologie digitale, un algorithme damincissement produit parfois des rsultats pouvant comporter des points redondants, i.e. des points simples. Ce nest pas le cas avec
notre processus damincissement : le rsultat ne comporte ni point 2 -simple, ni point 2 -simple.
Nous pouvons alors dire que le rsultat est mince i.e. quil ne comporte plus de point que lon
puisse supprimer tout en prservant les proprits topologiques de lobjet.
Cest pour cette raison, que nous introduisons une nouvelle terminologie, qui sera adopte
dans la suite de cette partie.
Un processus dcrit par lalgorithme 9 sappelle algorithme de squelettisation ultime et le
rsultat est appel squelette ultime (voir la terminologie dans la section 8.5.2).

8.5.2 Terminologie [LB00a]


Dans cette section, un point simple est prendre ici au sens de point 2 - ou point 2 -simple.
Nous disons quun objet Y est un squelette dun objet X si Y peut tre obtenu partir de X
par suppression itrative de points simples. Tout algorithme qui fournit un squelette est appel
algorithme de squelettisation. Un squelette ultime est un squelette qui ne contient plus de point
simple. Un algorithme de squelettisation qui produit un squelette ultime est appel algorithme
de squelettisation ultime. Un autre cas spcial de squelette est celui de squelette curviligne dans
lequel tous les points sont soit non simples soit extrmits. Un tel squelette prserve des proprits gomtriques de lobjet initial. Un algorithme de squelettisation qui produit un squelette
curviligne partir dun objet est appel algorithme de squelettisation curviligne.

8.5.3 Algorithme de squelettisation curviligne


Si nous voulons obtenir un squelette curviligne, les points extrmits de courbe doivent tre
prservs durant le processus dcrit prcdemment. Un point x est un point extrmit dans lordre
|S| si S (x) est compos dun unique point. Notons quun point extrmit est soit 2 -simple, soit
2 -simple. Soit Sext , lensemble des points extrmits de |S|.
Nous proposons un processus de squelettisation consistant retirer en parallle des points
2 -simples et non extrmits, puis retirer en parallle des points 2 -simples et non extrmits,
et cela jusqu stabilit. Ce processus est dcrit par lalgorithme 10.
Dans la suite, une itration de suppression parallle de points 2 -simples (resp. 2 -simples)
sera appele une itration PHASE_ (resp. PHASE_) (sans prcision supplmentaire, pour lins-

8.6 Tests de la simplicit


S0 = S
Rpter

181

2i
S 2i+1 = S 2i
\ [S2i Sext
],
2i+1
2i+1
2i+2
2i+1
= S
\ [S Sext ].
S

Jusqu ce quil ny ait plus de suppression durant 2 sous-itrations successives.


Algorithme 10: Algorithme de squelettisation curviligne dans |H 2 |.
tant, concernant les points extrmits).
Considrons lobjet initial S(= S 0 ) reprsent dans la figure 8.8 (a). Les singletons sont ici
reprsents par des cercles plutt que par des croix, et les intervalles sont reprsents par des
rectangles plutt que par des ovales. Nous voulons dabord obtenir un squelette curviligne de
S. La premire sous-itration supprime la couche externe de S, car elle est compose par tous
les points 2 -simples de S (qui sont non extrmits) ; ainsi nous obtenons S 1 (Fig. 8.8 (b)). La
deuxime sous-itration supprime la couche externe de S 1 qui est constitue par tous les points
2 -simples de S 1 (ils sont galement non extrmits) ; ainsi nous obtenons S 2 (Fig. 8.8 (c)).
Notons que les points x1 et x2 sont des points extrmits. Il ny a plus de point 2 - ou 2 -simple
non extrmit. Le processus de squelettisation curviligne sarrte et S 2 est un squelette curviligne
de S. Si nous voulons un squelette ultime de S, aprs les deux premires sous-itrations, nous
obtenons galement le sous-ensemble S 2 (aucun point extrmit napparat dans S 0 ou S 1 ). Dans
la troisime sous-itration de suppression, les points x 1 et x2 sont supprims puisquils sont 2 simples. Nous obtenons S 3 (Fig. 8.8 (d)), et ainsi de suite. Finalement, S 4 est un squelette ultime
de S, puisquun seul point reste et que celui-ci nest ni 2 -simple, ni 2 -simple (Fig. 8.8 (e)).

8.6 Tests de la simplicit


Dans cette section, nous remarquons quil est inutile de considrer tous les points comme
candidats ventuels aux tests de simplicit (premire remarque). Puis nous proposons une caractrisation rapide des points 2 -simples et des points extrmits en minimisant le nombre daccs
aux voisins (deuxime remarque).
Remarque : Un lment carr nest jamais 2 -simple. Il na donc pas tre examin lors
dune sous-itration PHASE_. De la mme faon, un lment croix nest jamais 2 -simple. Il
na pas tre examin lors dune sous-itration PHASE_. Nous examinons donc trois types
dlments sur quatre, durant chaque sous-itration.
Remarque : Soit x, un point pour lequel l2 -simplicit est teste. Les points dans le  voisinage de x sont nomms selon la figure 8.9. Soit S un sous-ensemble de H 2 . Supposons que
les points de S (resp. S) prennent la valeur 1 (resp. 0). Nous avons vu quun point x est
2 -simple si S (x) est une courbe ouverte simple. Nous donnons les remarques suivantes, selon
le type de point x test (voir galement la figure 8.3).
Un intervalle horizontal x est 2 -simple si et seulement si x1 + x2 = 1. Si, de plus, y1 + y2 = 0,

Ordre pour images binaires 2D

182

x1

(a)

(b)

(d)

x2

(c)

(e)

F IG . 8.8
(a) Lobjet initial S = S , (b) S , (c) S : un squelette curviligne de S, (d) S 3 , (e) S 4 : un
squelette ultime de S.
0

le point x est extrmit et doit tre gard lors du calcul du squelette curviligne. Nous obtenons
les mmes rsultats pour lintervalle vertical ( rotation prs). Pour le cas de la 2 -simplicit, il
suffit dchanger le rle de xi et de yi.
Nous voulons maintenant dterminer si un lment carr x est
8 2 -simple (ou par dualit, si
un lment singleton est 2 -simple). Soit le nombre R(x) =
i=1 |zi+1 zi |, avec z9 = z1
(Fig. 8.9). Cette valeur comptabilise le nombre de transitions de 0 1 et de 1 0, lors dun parcours de  (x), dans le sens horaire. En fait R(x) est lquivalent, dans un ordre, du crossingnumber de Rutovitz [Rut66] (voir section 2.5.2). Si R(x) = 2, alors il existe une unique courbe
ouverte simple dans S (x), et le point x est 2 -simple pour |S|. Afin dviter deffectuer le
calcul de ce nombre dans lalgorithme, nous pouvons crer et utiliser une table de consultation
(lookup-table), qui indique pour chaque configuration  (x) (indice dans la table) si elle est
2 -simple ou non pour |S|. En fait, nous avons utilis un graphe de dcision binaire (BDD)
[Bry86], [RM96], qui nous indique si un point est 2 -simple pour |S|, au pire en huit tests (prsence ou non des huit voisins dans S) (cf. lannexe C).
Notons #X le nombre dlments (ou cardinal) de lensemble X. Le carr x est extrmit de
courbe si #S (x) = 1. Dans le cas du squelette curviligne, nous pouvons supprimer un carr
unit x si R(x) = 2 et si #S (x) > 1. De faon duale, soit x un singleton, x est 2 -simple pour
|S| ssi R(x) = 2 et x est extrmit de courbe si #S (x) = 1.
La figure 8.10 rcapitule les conditions quun point doit vrifier pour tre supprim dans
le cas du squelette ultime ou du squelette curviligne. En rsum, nous observons trois types
dlments (sur quatre) pour toute sous-itration. Dans le cas du squelette ultime, nous accdons

8.7 Rsultats et comparaisons


x1

183
x1
z1 z2 z3
x2 y1 y2 z8 z4
x2
y1
z7 z6 z5
y2

z1 z2 z3
z8 z4
z7 z6 z5

F IG . 8.9 Notations utilises dans les voisinages.

Squelette ultime

Squelette curviligne
PHASE_

On retire en parallle
les carrs x
si R(x) = 2
si R(x) = 2
et #S (x) > 1
et les ovales verticaux ou horizontaux
si x1 + x2 = 1
si x1 + x2 = 1
et y1 + y2 1
PHASE_
On retire en parallle
les croix x
si R(x) = 2
si R(x) = 2
et #S (x) > 1
et les ovales verticaux ou horizontaux
si y1 + y2 = 1
si y1 + y2 = 1
et x1 + x2 1
F IG . 8.10 Dtails pour les algorithmes damincissement et de squelettisation.
deux voisins pour les lments ovales et au pire huit voisins pour les carrs ou les singletons.
Dans le cas du squelette curviligne, nous accdons au pire quatre des voisins des lments
ovales et au pire huit voisins pour les carrs ou singletons.
Remarque : Au chapitre 10 (section 10.3), nous introduirons des nombres appels nombres
de connexit, permettant une autre caractrisation des points 2 - ou 2 -simples.

8.7 Rsultats et comparaisons


Nous rappelons dabord diffrentes classes dalgorithmes parallles de squelettisation (par
suppression de points), en indiquant les noms de ceux choisis (dans le rcapitulatif de Hall
[Hal96], voir galement lannexe A), que nous comparons avec les ntres. Nous appelons support, lensemble minimal de points auxquels un algorithme accde pour savoir si un point peut
tre dtruit ou non (par convention, ce point appartient au support). Notre algorithme de squelet-

184

Ordre pour images binaires 2D

tisation curviligne est not LB _ 1 ou LB _3 , selon quil utilise la transformation 1 ou 3 (cf.


section 8.2.2).
Les algorithmes parallles de squelettisation dans Z 2 peuvent tre classs en plusieurs catgories :
- algorithmes fortement parallles : en tout point est appliqu un mme oprateur de rduction,
ici dun support de 11 points (GH _ AFP2 [GH92], GH _ AFP3 [GH92]) ;
- algorithmes base de sous-itrations directionnelles : en tout point est appliqu un oprateur dpendant de litration courante, ici dun support de 9 points (en 4 sous-itrations : ROS
[RK82], en 2 sous-itrations : HSCPN [HSCP87],[Hal89], LW [ZS84],[LW86], GH _ A1 [GH89],
TSIN [Hal96]) ;
- algorithmes base de sous-mailles : un seul oprateur est appliqu aux points dune mme
sous-maille, ici dun support de 9 points (avec 2 sous-mailles : GH _ A2 [GH89]).
Les algorithmes mis en uvre ici pour les comparaisons ont t dtaills dans lannexe A (
lexception de TSIN, voir [Hal96]).
Notre algorithme de squelettisation curviligne est parallle, de type deux sous-itrations, avec
un support de 5 points (resp. 9 points) pour un ovale (resp. un carr (PHASE_) ou un singleton
(PHASE_)). Dans la section 8.6, nous avons remarqu que 3 types de points sur 4 sont examins
lors de chaque sous-itration.
La figure 8.12 montre les rsultats obtenus avec les diffrents algorithmes de squelettisation
appliqus deux images binaires. Pour chaque figure, nous avons indiqu lalgorithme utilis
ainsi que le numro de la sous-itration de la dernire suppression. Les sous-itrations successives sont reprsentes par diffrents niveaux de gris.

8.7.1 Discussion sur 1


Mme si la transformation 1 , utilise par lalgorithme LB _1 , ncessite 4 fois plus de points
que les autres algorithmes, lalgorithme LB _ 1 prsente une complexit du mme ordre que celle
des autres algorithmes (en effet, le nombre de sous-itrations est proche de celui obtenu par les
autres algorithmes ; il est de lordre du rayon de la boule maximale incluse dans lobjet [CM91]).
Les algorithmes classiques de squelettisation dpendent fortement de la premire direction
de suppression, ou de la premire sous-maille choisie, ou dune direction de prservation (par
exemple, la bande suprieure dun ruban horizontal dpaisseur 2 est prserve), ou, dans le
cadre de la morphologie mathmatique, de lordre de rotation dun lment structurant [JC90].
En revanche, notre algorithme naccorde aucune place larbitraire. En effet, avec la transformation 1 , lobjet initial ne comporte pas de point 2 -simple ; le rsultat est alors indpendant
de lordre des sous-itrations (de mme avec lutilisation de 2 , pour laquelle il ny a pas initialement de point 2 -simple). Les proprits intrinsques de lalgorithme LB _ 1 ont pour consquence une squelettisation homogne et la production de squelettes curvilignes minces et bien
centrs. Remarquons galement lapparition de petites branches (partie suprieure de la lettre
A) qui proviennent de lapparition rapide de points extrmits, cela tant d lhomognit
de la suppression. Par ailleurs, elles tmoignent de la forme convexe dune rgion dun objet.

8.7 Rsultats et comparaisons

185

(a) la translation

(b)

lordre
de suppression

F IG . 8.11 Sensibilit de la transformation 3 .


Considrons un objet de Z 2 , constitu de deux pixels partageant une mme arte. Les algorithmes classiques damincissement doivent effectuer un choix afin de pouvoir supprimer lun
des deux points. Un algorithme symtrique (c.--d. qui ralise une squelettisation homogne)
chercherait garder une information entre ces deux pixels ; il faut alors faire intervenir un point
intermdiaire (qui peut symboliser larte commune, par exemple). Un raisonnement similaire
dans le cas du carr de 2 2 pixels, nous amne garder un point central. Nous comprenons
ainsi quil est ncessaire de multiplier par 4 la taille de limage initiale afin de pouvoir envisager une squelettisation homogne. Notre algorithme est donc optimal du point de vue de la
taille mmoire de limage, son objectif tant justement de produire des squelettes minces et bien
centrs.

8.7.2 Discussion sur 3


La transformation 3 est sensible la translation. En effet, considrons lobjet constitu de
deux points en diagonale (Fig. 8.11(a)). Les points sont voisins dans la configuration de gauche,
tandis quils ne le sont pas dans la configuration de droite (translate de celle de gauche), et seule
la configuration de gauche sera modifie par lalgorithme de squelettisation ultime (et rduite en
un point).
Contrairement lalgorithme prcdent utilisant 1 , lalgorithme de squelettisation propos
ici est sensible lordre des sous-itrations de suppression. En effet, considrons lobjet de la
figure 8.11(b). Si la premire sous-itration de suppression est de type PHASE_, lobjet se rduit
au singleton ; si elle est de type PHASE_, lobjet se rduit au carr. Nous nobtenons donc
pas le mme rsultat selon la premire sous-itration de suppression choisie. Remarquons que
le nombre de sous-itrations utilises par lalgorithme de squelettisation curviligne LB _ 3 est
infrieur celui des autres algorithmes sur les exemples prsents (Fig. 8.12). Nanmoins le
squelette prsente plus de petites branches parasites.

186

Ordre pour images binaires 2D

8.8 Conclusions et perspectives


Suite ltude dtaille de lordre (H 2 , ) associ Z 2 , nous avons propos une caractrisation simple et efficace des points 2 -simples, nous permettant de proposer des algorithmes
parallles de squelettisation ultime et curviligne. Ces algorithmes parallles sont de type deux
sous-itrations et ne ncessitent laccs qu 3, 5 ou 9 points pour dcider de la simplicit dun
point.
Par ailleurs, sil utilise une certaine transformation (1 ), notre algorithme de squelettisation
curviligne a la proprit remarquable de produire des squelettes minces et bien dfinis.
notre connaissance, le seul algorithme permettant davoir un squelette (discret) mince et
bien dfini, est celui utilisant la notion de mailles drives [Ber84]. En fait, la structure dordre
peut tre vue comme un cadre permettant de formaliser et denrichir la notion de maille drive,
et permettant notamment lobtention dun squelette ultime mince et bien dfini.

8.8 Conclusions et perspectives

187

OBJET INITIAL

ROS (14)

HSCPN (5)

LW (6)

GH _ A1(9)

TSIN (8)

GH _ A2(5)

GH _ AFP2(5)

GH _ AFP3(5)

LB _3 (4)

OBJET INITIAL

ROS (17)

HSCPN (7)

LW (9)

GH _ A1(13)

TSIN (13)

GH _ A2(7)

GH _ AFP2(7)

GH _ AFP3(7)

LB _3 (5)

LB _1 (8)

LB _1 (11)

F IG . 8.12 Squelettes obtenus par diffrents algorithmes, le numro de la dernire sous-itration


de suppression est indiqu entre parenthses.

Chapitre 9
Ordre pour images binaires 3D
9.1 Introduction
Nous prsentons ltude dalgorithmes de squelettisation dans lordre de base associ Z 3
(voir galement [LB99]).

9.2 Ordre associ Z 3


9.2.1 Lordre |H 3 |
Soit Z lensemble des entiers relatifs. Nous considrons les familles densembles H 01 , H11
et H 1 , telles que H01 = {{a}; a Z}, H11 = {{a, a + 1}; a Z} et H 1 = H01 H11 .
Soit m {0, 1, 2, 3} ; un sous-ensemble S de Z 3 qui est le produit cartsien dexactement m
lments de H11 et de (3 m) lments de H01 est appel un m-cube de Z 3 . Soit H 3 lensemble
compos de tous les m-cubes de Z 3 , m {0, . . . , 3}. Un m-cube de Z 3 est appel un singleton,
F2
C1
F1
I1
P1
I2
(a)

(b)

F IG . 9.1 (a) Un sous-ensemble S de H 3 et (b) sa reprsentation tableau.

Ordre pour images binaires 3D

190

(a)

(b)

(c)

(d)

F IG . 9.2 (a) Un ensemble S de voxels, (b) 1 (S), (c) un sous-ensemble S de Z 3 , (d) 2 (S).
un intervalle unit, un carr unit ou un cube unit pour m = 0, 1, 2 ou 3, respectivement. En
fait, H 3 est une structure 3D qui est un complexe cellulaire [Kov89].
Notons Z = {a + 1/2; a Z} et Z+ = Z Z. Soit lapplication 1 de H 1 dans
Z+ telle que pour tout x de H 1 , 1 (x) = a si x = {a}, a Z et 1 (x) = a + 1/2 si x =
{a, a + 1}, a Z. Considrons galement lapplication 3 de H 3 dans Z+3 telle que pour tout
x de H 3 , la i-ime coordonne de 3 (x) est limage de la i-ime coordonne de x par 1 , i.e.
[3 (x)](i) = 1 [x(i)], avec i {1, 2, 3}. Si S H 3 , alors 3 (S) = {3 (x), x S} peut tre
vu comme une reprsentation de S, appele reprsentation tableau [Ber99]. En fait, 3 (H 3 ) est
la grille digitale htrogne qui est le produit de trois copies de la ligne de Khalimsky [KKM90]
[KKM91] [Kop94].
Considrons que lordre associ Z 3 est lordre |H 3 | = (H 3 , ), avec = , ainsi y (x)
si x y.
La figure 9.1 (a) montre un sous-ensemble S de H 3 . Le sous-ensemble S est compos dun
cube unit, de deux carrs units, dun intervalle unit horizontal, dun intervalle unit vertical et
dun singleton. La figure 9.1 (b) montre le mme sous-ensemble dans sa reprsentation tableau,
avec les conventions suivantes, soit x S : si 3 (x) a ses trois coordonnes dans Z (i.e. si x
est un singleton), alors x sera reprsent par un lment rond ; si 3 (x) a ses trois coordonnes
dans Z (i.e. si x est un cube unit), alors x sera reprsent par un lment cubique ; si 3 (x) a
exactement deux de ses trois coordonnes dans Z (i.e. si x est un intervalle unit), alors x sera
reprsent par un lment ovale et si 3 (x) a exactement deux de ses trois coordonnes dans Z
(i.e. si x est un carr unit), alors x sera reprsent par un lment carr.

9.2.2 Objets 3D
Nous allons maintenant proposer diffrentes faons de considrer des objets binaires 3D dans
|H |. En analyse dimages 3D, un objet est souvent dfini comme un ensemble de voxels. Rappelons [Kon97] quun voxel dans R3 est le produit cartsien de la forme [i1 , i1 + 1] [i2 , i2 +
1] [i3 , i3 + 1], avec i1 , i2 , i3 Z. Une image binaire tridimensionnelle, ou 3-image, est dfinie
comme un ensemble fini de voxels de R3 .
3

9.3 Simplicit et processus parallle damincissement

191

chaque 3-image I est associe un sous-ensemble S de H 3 comme suit : chaque voxel de


I est associ le cube unit de H 3 qui est le produit cartsien de la forme {i1 , i1 + 1} {i2 , i2 +
1} {i3 , i3 + 1}, ainsi que les lments de H 3 quil contient (voir figures 9.2 (a) et (b)). Soit 1
une telle transformation.
Une autre approche est de considrer un objet 3D comme un sous-ensemble de Z 3 . chaque
sous-ensemble I de Z 3 est associ un sous-ensemble S de H 3 comme suit : chaque point de I
de coordonnes (i, j, k) dans Z 3 est associ le singleton {(i, j, k)} de H 3 ainsi que les lments
de H 3 qui contiennent ce singleton. (voir figures 9.2 (c) et (d)). Soit 2 une telle transformation.

9.3 Simplicit et processus parallle damincissement


Les dfinitions de point n -simple et de point n -simple sont rcursives et croises avec celle
dordre n-contractile (voir section 7.5). Elles peuvent tre implmentes par des algorithmes
rcursifs.
Lexamen de l1 -simplicit dun point x est directe, il est suffisant de tester si  (x) est
compos dun unique point. Dans le but de vrifier l n -simplicit dun point x, avec n > 1,
nous considrons  (x) et nous procdons jusqu stabilit avec des tapes alternes de suppression parallle de points n1 -simples (une telle tape est appele une -tape), et dtapes
de suppression parallle de points n1 -simples (une telle tape est appele une -tape). Si,
aprs cette procdure,  (x) est constitu dun seul lment, alors le point x est n -simple.

9.3.1 Caractrisation des points n -simples dans |H 3 |


Dans cette section, nous donnons quelques remarques qui permettent de tester plus efficacement ln -simplicit dans |H 3 |. En fait, ces remarques permettent davoir une caractrisation
non rcursive des points n -simples dans |H 3|.
Tout dabord, nous proposons deux proprits obtenues directement de la dfinition rcursive
dun point n -simple et de celle dordre n-contractile (section 7.5).
Proprits : Si un point est n -simple, alors il est p -simple, avec p n > 0. Si un ordre
est n-contractile, alors il est p-contractile, avec p n 0.
Dans |H 3 |, il est suffisant de tester l3 -simplicit dun point. Supposons quun point x est
p -simple, les proprits prcdentes nous amnent chercher le nombre n minimal partir
duquel x est n -simple, avec 0 < n p 3.
Soit S H 3. En dautres termes, pour un type donn de point x de S, nous voulons connatre
le nombre n pour lequel nous pouvons dcider si x est 3 -simple pour |S|, n 3. Dans la suite,
nous mettons quelques remarques qui permettent de dterminer un tel nombre et damliorer
ainsi le test de l3 -simplicit. Par dualit, nous avons les mmes remarques pour la 3 -simplicit
avec les lments appropris, par exemple nous avons les mmes remarques pour l 3 -simplicit
 3 (x) a la mme forme
dun carr unit x et pour la 3 -simplicit dun intervalle unit y, car H
3 (y).
que H

192

Ordre pour images binaires 3D

Soit S H 3 .

1. Un singleton x est tel que  (x) = . Cet lment nest jamais n -simple, n > 0.
2. Un intervalle unit x est 3 -simple pour |S| si et seulement si x est 1 -simple pour |S|, i.e.
si S (x) est compos dun seul lment. Nous devons seulement tester l 1 -simplicit de
 3 (x) =  2 (x) =  1 (x) et x est 1 -simple pour |S| ssi
ce type dlment. De plus H
H
H

S (x) est compos dun unique singleton.

3. Soit x un carr unit de S. Si S (x) nest compos que dun seul lment alors x est 1 simple pour |S|. Autrement, nous devons tester l 2 -simplicit de x. En fait, si x est un
carr unit, nous avons la proprit suivante : x est 2 -simple si et seulement si S (x) est
une courbe ouverte simple (nous rappelons quune courbe ouverte simple est un ensemble
connexe de points X, tel que tous les points x dans X ont exactement deux lments dans
 (x) (les points de courbe), sauf deux points x dans X qui nont quun seul lment dans
 (x) (les points terminaux de courbe)). En effet, nous pouvons montrer que dans ce cas,
et uniquement dans celui-ci, nous pouvons supprimer itrativement les intervalles units
1 -simples pour |T | et les singletons 1 -simples pour |T | avec T = S (x), et obtenir un
point isol de T (cf. la proprit 11 dans la section 8.4.2). Notons que les rsultats obtenus
 2 (x) =  3 (x) pour un carr unit x.
dans |H 2 | sont valables ici car nous avons H
H

4. Soit x un cube unit de S. De la mme faon, si S (x) nest compos que dun seul lment
alors x est 1 -simple pour |S|. Autrement, nous devons tester l 3 -simplicit du cube unit.
Dans ce cas, nous devons tester l2 -simplicit du ou des carrs units existants qui doivent
tre supprims de  (x) lors dune -tape ; tester l1 -simplicit ou la 1 -simplicit du
ou des intervalles units lors dune -tape ou dune -tape respectivement, sil y en a ;
et la 2 -simplicit du ou des singletons lors dune -tape, sil y en a.

Le test de l3 -simplicit dun intervalle unit ou dun carr unit est directe. Seul le test dun
cube unit est plus compliqu. Les remarques prcdentes permettent de tester l 3 -simplicit
dun cube unit, plus rapidement. De plus, nous pouvons stocker toutes les configurations dun
voisinage produisant des points 3 -simples. Comme le nombre de ces configurations est important, nous utilisons les graphes de dcision binaire (BDD) pour les stocker [Bry86, BRB90]
(cf. lannexe C). Nous pouvons alors dcider en au plus 26 tests (correspondant au nombre de
points ncessaires pour dcrire une configuration) [RM96], si un point est 3 -simple ou non (voir
lannexe C et la section 9.6).

9.3.2 Illustration de l3 -simplicit


Nous vrifions l3 -simplicit dun cube unit x appartenant au sous-ensemble S de H 3 ,
reprsent dans la figure 9.3. Nous avons reprsent S (x) dans la figure 9.3(a), les lments
de S sont reprsents en noir. Nous utilisons les remarques prcdentes lors du test de l 3 simplicit de x pour |S|.
la premire tape, nous supprimons les points 2 -simples pour |S|. Les lments I2 , I3
et I5 contiennent un unique lment : S 1 , S3 et S1 , respectivement. Ainsi, ils sont 1 -simples
pour |S| (donc 2 -simples, comme nous lavons dit prcdemment). Llment F 1 est 2 -simple

9.4 Raisonnement menant la notion de point n -simple


I4

S1
I2
I5
F2

193

S2
F1
F3

I1

S3
I3
(a) 
S (x)

(b) Aprs la premire -tape.

(c) Puis, aprs


la premire tape.

(d) Puis, aprs


la seconde tape.

F IG . 9.3 Test de l3 -simplicit de x.


pour |S| car S (F1 ) est compos dune courbe ouverte simple que nous pouvons dcrire par la
squence : I2 , S1 , I4 , S2 . Notons que F3 nest pas 2 -simple pour |S| car S (F3 ) nest pas une
courbe ouverte simple. Nous pouvons voir que les autres lments ne sont pas 2 -simples pour
|S|. Ainsi, les lments I2 , I3 , I5 et F1 sont supprims en parallle lors de la premire -tape
(Fig. 9.3(b)). Soit |T |, lordre relatif S \ {I2 , I3 , I5 , F1 }. Lors de la deuxime sous-itration
(i.e. la premire -tape), nous supprimons les points 2 -simples pour |T |. Les lments I1 , I4
et S3 sont 1 -simples pour |T |. Llment S2 est 2 -simple pour |T | car T (S2 ) est une courbe
ouverte simple (la squence I4 , F3 ). Nous remarquons que les autres lments ne sont pas 2 simples pour |T |. Ainsi, nous supprimons en parallle les lments I 1 , I4 , S3 et S2 et obtenons
lensemble de la figure 9.3(c). Aprs la deuxime -tape, il ne reste quun seul lment S 1 (Fig.
9.3(d)). Lordre |S (x)| est ainsi 2-contractile ; le point x est alors 3 -simple pour |S|.

9.4 Raisonnement menant la notion de point n -simple


Nous rappelons dabord la notion de point -unipolaire (propose dans un cadre gnral la
section 7.3). Un point -unipolaire peut tre vu comme un point inessentiel pour la topologie.
Nous proposons un processus damincissement bas sur la suppression de points -unipolaires.
Nous montrons quun tel processus namincit pas suffisamment certaines images. Cest la
raison pour laquelle les points n -simples ont t introduits [Ber99]. Cette section ncessite
quelques proprits 2D (donnes la section 8.4) afin de mieux comprendre la rcursivit mise
en jeu dans la dfinition de point n -simple.
Dfinition : Soit |X| = (X, ) un ordre, soient x et y deux points de X. Soit , la relation
sur X telle que y (x) si et seulement si y  (x) et  (x)  (y) = . Un point x de X
est -unipolaire si (x) consiste en un seul point. Un lment x est -libre si x est -unipolaire
ou sil existe une squence x0 , . . . , xk , avec xk = x telle que x0 est -unipolaire et xi est i unipolaire avec i = (Si Si ), Si = X \ {x0 , . . . , xi1 }, i = 1, . . . , k. Un point qui nest
pas -libre est appel un -lien. L-noyau de X est le sous-ensemble de X compos de tous les

Ordre pour images binaires 3D

194

P1

P2

P2
P1

P3

F1
P1
P2
F3
F2
P3

P4
(a)

(b)

(c)

F IG . 9.4 Figures utilises dans la section 9.4.


-liens de X.
Rappelons que lordre de base associ Z 3 est lordre |H 3 | = (H 3 , ), avec =. Soit
S H 3 , et soient x et y deux points de lordre (S, ). Soulignons que y (x) si et seulement
si y x et sil ny a pas de point z de S tel que y z x. Considrons le sous-ensemble S dcrit
la figure 9.1. Les lments F2 et P1 ne contiennent aucun lment ( (F2 ) =  (P1 ) = ),
ainsi F2 et P1 ne sont pas -unipolaires, F2 et P1 sont -terminaux. Llment I1 contient un
unique lment P1 , ainsi I1 est -unipolaire, de la mme faon I2 est -unipolaire.
Llment F1 nest pas -unipolaire car (F1 ) = {I1 , I2 }. Nous observons que P1 nappartient pas (F1 ) cause de llment I1 , car par exemple, P1 I1 F1 . Nous avons
T (F1 ) = {I2 } avec T = S \ {I1 }, ainsi F1 est T -unipolaire ; en dautres termes F1 est unipolaire aprs la suppression de I1 . Comme I1 est -unipolaire, cela signifie que F1 est un
point -libre. Nous pouvons voir que seuls I 1 , I2 et F1 sont des points -libres. Ainsi, l-noyau
de S est compos des lments F2 , C1 et P1 .
Observons que la dfinition dun point -libre conduit un processus damincissement dans
lequel les points -unipolaires sont retirs itrativement. Considrons la figure 9.4(a). Les points
P1 et P2 sont -unipolaires. Si nous les supprimons, il ny a plus de point -unipolaire. Lunique
composante connexe nest pas rduite en un seul point avec un tel processus damincissement
consistant supprimer des points -unipolaires. Les points P 3 et P4 sont -unipolaires. Considrons maintenant la suppression des points - et -unipolaires. Cela nous amne la dfinition
suivante. Soit |X| = (X, ) un ordre. Nous disons que |X| est contractile sil peut tre rduit
en un seul point par suppression itrative de points - ou -unipolaires (cf. la dfinition 4, page
169). Notons que nous devons tester toutes les possibilits darranger les suppressions de points
- ou -unipolaires, afin de dcider si un ordre est contractile ou non.
Rappelons la proprit donne dans [Ber99] (voir section 7.3) concernant la suppression
parallle de points -unipolaires.
Proprit : Soient |X| = (X, ) un ordre, y un point -unipolaire, et x un point de X, avec
x = y. Si x est -unipolaire, alors x est S -unipolaire avec S = X \ {y}.
Nous avons alors la proprit remarquable de pouvoir supprimer en parallle les points -

9.4 Raisonnement menant la notion de point n -simple

195

F IG . 9.5 Reprsentation partielle de H 3 moins un intervalle.


unipolaires dun ordre (sous-entendu, en prservant ses proprits topologiques). Par dualit,
nous pouvons supprimer en parallle les points -unipolaires dun ordre. Notons galement que
la suppression simultane de points - et -unipolaires ne garantit pas la preservation de la
topologie de lobjet. En effet, la figure 9.4(b), le point P 1 est -unipolaire, le point P2 est unipolaire ; la suppression parallle des points - et -unipolaires supprime lobjet compos de
ces deux points. Afin de prserver la topologie, nous devons alterner une tape de suppression
parallle de points -unipolaires et une autre de suppression parallle de points -unipolaires.
Cependant, dans lordre relatif H 3 moins un lment intervalle (reprsent partiellement
Fig. 9.5, en fait, cet objet comporte une cavit), il ny a pas de point - ou -unipolaire. Ainsi,
il nest pas possible damincir cet objet avec un processus supprimant des points - ou unipolaires : la notion de point -unipolaire est limite pour lamincissement. Par consquent,
nous allons chercher une notion plus puissante de simplicit. Nous avions dj tenu un tel raisonnement dans le cas 2D, voir Fig. 8.6(c).
Une premire ide pour surmonter ce problme est de considrer un point x dun ordre |X|
comme -simple pour |X| si |  (x)| est contractile. Dans le dernier exemple (H 3 moins un lment intervalle), dans le voisinage de llment intervalle absent, les carrs sont -simples et
les singletons sont -simples ; ainsi nous pouvons amincir cet objet. Nous pouvons les supprimer, et le processus de suppression continue. Mais, mme cette notion de simplicit nest pas
suffisamment puissante (alors quelle lest dans le cas 2D, voir la section 8.4.2).
Soient un lment cube unit x et un ensemble S tel que S (x) est reprsent la figure
9.4(c) ; en outre, nous considrons que S \ {x} est constitu seulement des points de cette mme
figure (en fait, S est H 3 (x) moins un singleton). Nous testons si x est -simple pour |S|. Nous
pouvons supprimer les trois points -unipolaires P 1 , P2 et P3 . Aprs ces suppressions, il ny a
plus de point - ou -unipolaire. Ainsi, le point x nest pas -simple selon la dfinition propose ci-avant. Mais S (x) est comme une surface ouverte et x devrait tre considr comme
inessentiel du point de vue de la topologie.
Dans la figure 9.4(c), nous pouvons constater que les carrs F1 , F2 et F3 sont 2 -simples
pour |S| ; de plus S (x) se rduit en un point par la rptition jusqu stabilit de suppressions
alternes de points 2 -simples ou 2 -simples : |S (x)| est 2-contractile (voir la dfinition 8 dans
la section 8.4.2). Notons que x nest pas 2 -simple pour |S| car |S (x)| nest pas 1-contractile.
Il nous faut une notion plus puissante pour la suppression de points.

Ordre pour images binaires 3D

196

De mme que nous lavions fait dans la section 8.4.2, nous pouvons alors dfinir la notion de
point 3 -simple :
Dfinition (point 3 -simple) : Soit |X| = (X, , ) un ordre dnombrable, localement fini
et non vide. Un point x est 3 -simple pour |X| si | (x)| est 2-contractile.
Le cube unit x pour lequel S (x) est reprsent la figure 9.4(c) est 3 -simple pour |S|.

9.5 Algorithmes de squelettisation


Nous pouvons supprimer en parallle les points 3 -simples dun sous-ensemble de H 3 tout
en prservant la topologie (cf. [Ber99]). Ainsi, nous proposons un processus de squelettisation
ultime (voir la terminologie dans la section 8.5.2) qui consiste en la rptition, jusqu stabilit,
dune suppression en parallle de points 3 -simples (une telle tape est appele une -sousitration) suivie dune suppression en parallle des points 3 -simples (une telle tape est appele
une -sous-itration). Dans un processus de squelettisation, nous voulons prserver certaines
proprits gomtriques. Certains points simples doivent tre gards durant le processus de suppression. Ces points sont appels points terminaux du squelette.
Si durant le processus, nous gardons des points terminaux de courbe, alors nous obtenons un
squelette curviligne. Si, de plus, nous gardons les points terminaux de surface (dfinis ci-aprs),
alors nous obtenons un squelette surfacique.
Soit S un sous-ensemble de H 3 . Soit S , lensemble compos de tous les points 3 -simples
pour |S|, i.e. S = {x S; x est un point 3 -simple pour |S|}. Dans la suite, nous utilisons S 0
pour noter le sous-ensemble initial S.

9.5.1 Squelette ultime


Nous proposons un algorithme de squelettisation ultime consistant retirer en parallle des
points 3 -simples, puis retirer en parallle des points 3 -simples, et cela jusqu stabilit. Ce
processus est dcrit par lalgorithme 11.
S0 = S
Rpter

S 2i+1 = S 2i \ S2i ,
S 2i+2 = S 2i+1 \ S2i+1 .

Jusqu ce quil ny ait plus de suppression durant 2 sous-itrations successives.


Algorithme 11: Algorithme de squelettisation ultime dans |H 3|.
Nous obtenons un squelette ultime, i.e. un ensemble qui ne contient aucun point 3 - ou 3 simple.

9.5 Algorithmes de squelettisation

(a)

197

(b)

F IG . 9.6 Deux surfaces sintersectant.

9.5.2 Squelette curviligne


Dans la section 9.3, nous avons rappel la dfinition dune courbe ouverte simple. Les points
simples dune courbe ouverte simple sont les points extrmits de cette courbe. Si nous prservons ces points durant le processus de suppression, nous obtenons un squelette curviligne. Soit S
un sous-ensemble de H 3 . Un point x de S est un point terminal de courbe si S (x) est compos
dun unique point. Soit Sptc , lensemble des points terminaux de courbe du sous-ensemble S.
Nous proposons un algorithme de squelettisation curviligne consistant retirer en parallle
des points 3 -simples et non terminaux de courbe, puis retirer en parallle des points 3 -simples
et non terminaux de courbe, et cela jusqu stabilit. Ce processus est dcrit par lalgorithme 12.
S0 = S
Rpter

2i
S 2i+1 = S 2i \ [S2i Sptc
],
2i+1
2i+1
2i+2
2i+1
S
= S
\ [S Sptc
].

Jusqu ce quil ny ait plus de suppression durant 2 sous-itrations successives.


Algorithme 12: Algorithme de squelettisation curviligne dans |H 3 |.
Nous obtenons ainsi un squelette curviligne, i.e. un ensemble qui ne contient aucun point
3 -simple ou 3 -simple non extrmit de courbe.

9.5.3 Squelette surfacique


Nous voulons maintenant prserver des courbes et des surfaces durant le processus damincissement. Diffrentes caractrisations de points terminaux de surface ont dj t proposes dans
Z 3 : lune dentre elles utilise une formule boolenne et compte le nombre de points dans un
octant [GB90], une autre teste de plus la suppressibilit dans des plans dintersection [TF81]. Il
existe des problmes lorsquapparaissent des jonctions de surface, comme la montr C. Pudney
[Pud98]. Par exemple, considrons lobjet (Fig. 9.6 (a)), compos de deux plans sintersectant.

Ordre pour images binaires 3D

198

(a)

(b)

F IG . 9.7 Un contre-exemple pour notre premire caractrisation de point terminal de surface.


Les points simples qui ne sont pas dtects comme points terminaux de surface avec les caractrisations prcdentes sont les deux points terminaux de la ligne dintersection des deux plans. Si
nous les supprimons, les nouveaux points simples qui ne sont pas terminaux de surface sont les
deux voisins des deux points supprims prcdemment. Nous les supprimons et nous rptons
ce processus. Finalement, la ligne dintersection est supprime sauf un de ses points (dans son
centre, le cube en pointill de la figure 9.6 (b)) qui nest pas simple (ou deux points, selon la
parit de la longueur des plans). La jonction est partiellement dtruite. Il est parfois souhaitable
de prserver de telles jonctions de surface. Une caractrisation plus rcente [Pud98] cherche une
correspondance du voisinage dun point test avec diffrentes intersections de plans. Mais un
nouveau problme apparat : des coins ne sont pas supprims, ainsi le rsultat doit tre filtr
[Pud98].
Nous proposons dans ce cadre dordre, une premire approche pour un point terminal de surface.
Dfinition : Soit |X| = (X, ) un ordre. Un point x de X est dit tre un point de bord de
 (x) est une courbe ouverte simple dont la longueur est strictement plus grande que 1.
surface si X
Si nous considrons un point terminal de surface comme tant soit un point terminal de
courbe soit un point de bord de surface, nous ne prservons pas certaines jonctions de surfaces,
comme pour les caractrisations ci-avant. La figure 9.7 (a) montre lobjet initial (qui peut tre
considr comme un quivalent de H 3 de lobjet montr la figure 9.6 (a)), et la figure 9.7 (b)
montre le squelette surfacique selon la caractrisation ci-avant (il est quivalent lobjet montr
la figure 9.6 (b)). La jonction est partiellement dtruite.
 (x) est une courbe ouverte simple. Ainsi, si un
Un point de bord de surface x est tel que X
point x est une extrmit de courbe lintersection de surfaces, alors on peut sattendre ce que
 (x) soit compos de plusieurs courbes ouvertes simples, ce qui constitue un arbre.
X
Nous proposons les caractrisations suivantes dun arbre et dun point terminal de surface.
Dfinition : Soit |X| = (X, ) un ordre. Lensemble X est dit tre un arbre sil peut tre
rduit en un seul point par suppression itrative de points terminaux de courbe. Soit x un point

9.6 Comparaisons et rsultats

199

 (x) est un arbre. Notons que les


de X. Le point x est dit tre un point terminal de surface si X
points terminaux de courbe et les points de bord de surface sont des points terminaux de surface.
Soit Spts lensemble compos de tous les points terminaux de surface du sous-ensemble S,
i.e. Spts = {x S; S (x) est un arbre}.
Nous proposons un algorithme de squelettisation surfacique consistant retirer en parallle des points 3 -simples et non terminaux de surface, puis retirer en parallle des points
3 -simples et non terminaux de surface, et cela jusqu stabilit. Ce processus est dcrit par
lalgorithme 13.
S0 = S
Rpter

2i
],
S 2i+1 = S 2i \ [S2i Spts
2i+1
2i+1
2i+2
2i+1
= S
\ [S Spts
].
S

Jusqu ce quil ny ait plus de suppression durant 2 sous-itrations successives.


Algorithme 13: Algorithme de squelettisation surfacique dans |H 3|.
Nous obtenons ici un squelette surfacique, i.e. un ensemble qui ne contient aucun point 3 simple ou 3 -simple non terminal de surface.
Avec cette caractrisation, la jonction du prcdent objet dcrit la figure 9.7 (a) est entirement prserve dans le squelette surfacique.

9.6 Comparaisons et rsultats


Dans Z 3 , diffrentes stratgies dalgorithmes de squelettisation ont t proposes. Si nous
supprimons itrativement des points simples selon un balayage vido de limage, nous obtenons
un squelette mal centr. Dans Z 2 , la plupart des algorithmes parallles utilise une stratgie directionnelle (Nord, Sud, Est, Ouest), consistant supprimer les points simples et ayant le voisin
selon la direction considre appartenant au complmentaire (voir section A.3.4). Mais, de tels
algorithmes parallles directionnels, tendus dans Z 3 , ne garantissent pas la prservation de la
topologie. Considrons un ruban de deux voxels dpaisseur. Tous les points dun tel objet sont
simples, et il existe une direction selon laquelle tous ces points ont leur voisin selon cette direction, qui appartient au complmentaire ; le ruban disparat lors dune suppression en parallle
des points simples voisins dun point du complmentaire le long de cette direction (cf. section
4.3). Il faut alors supprimer un sous-ensemble de lensemble des points simples dun objet (cf.
section B.2). Une autre stratgie utilise des sous-mailles, mais produit souvent des squelettes dentels (cf. section B.3.1). Une stratgie hybride qui utilise la fois les approches directionnelles et
sous-mailles a aussi t propose [PK98b] (cf. section B.3.2). Une autre approche utilise la transformation de distance, permettant un processus parallle et lobtention de rsultats bien centrs
[Pud98]. Certains auteurs ont tudi les ensembles minimaux de points simples interconnects,

Ordre pour images binaires 3D

200

(a)

(b)

(c)

(d)

(e)

F IG . 9.8 Suppressions successives dans un ruban de 2 3 lments.


pour lesquels la suppression parallle ne prservait pas la topologie. Ces ensembles sont appels
ensembles minimaux non simples (MNS) [Hal92] [Kon95] [Ron86] [Ron88] [Ma94] [Ma93].
Dans le but dobtenir un squelette dpaisseur 1, il faut supprimer certains points dun MNS et
imposer des contraintes directionnelles additionnelles dans le but de choisir les points simples
dun MNS qui doivent tre limins [Ma95] [MS96]. Ce qui amne considrer des conditions directionnelles lintrieur mme dun algorithme fortement parallle (cf. sections B.4.1 et
B.4.2). Une autre technique consiste considrer un ensemble P de points qui sont candidats
une suppression parallle. Cest la stratgie des points P -simples [Ber95a]. Lutilisation de cette
technique nous a permis de construire des algorithmes utilisant la stratgie directionnelle ; les rsultats dpendent alors de lordre choisi des directions selon lequel les points vont tre limins
(cf. chapitre 6).
En fait, il est trs difficile davoir un algorithme simple parallle qui prserve la topologie, qui
produit des squelettes minces et bien centrs, obtenus par un processus homogne de suppression
sans condition directionnelle, et nutilisant quun support de petite taille afin de dterminer si un
point est supprimable ou non. Avec lapproche topologie discrte, nous avons propos de tels
algorithmes, simples, parallles, qui prservent la topologie, utilisant au plus un voisinage 3
33 pour dterminer si un point est supprimable ou non. Les squelettes sont minces (lalgorithme
se termine lorsquil ny a plus de point simple et non extrmit). Ils sont bien centrs, condition
dadopter une transformation multipliant la taille de limage initiale.
Illustrons nos algorithmes de squelettisation sur un simple exemple. Considrons lobjet compos par six voxels dcrivant un ruban 2 3 (Fig. 9.8 (a)). Nous avons reprsent lensemble
associ dans H 3 (Fig. 9.8 (b)), selon la premire transformation 1 dcrite dans la section 9.2.2.
la premire -sous-itration, aucun point nest supprim. la premire -sous-itration, la
couche entire externe est supprime (Fig. 9.8 (c)). Les points simples restants ont une courbe
ouverte simple dans leur voisinage. Ainsi, nous avons obtenu un squelette surfacique. Aprs
une nouvelle -sous-itration, nous obtenons un squelette curviligne, montr la figure 9.8 (d).
Aprs une nouvelle -sous-itration, nous obtenons un squelette ultime, montr la figure 9.8
(e). Le rsultat peut tre considr comme le centre du ruban initial, i.e. la face entre les deux
voxels du milieu du ruban. Nous pouvons voir sur cet exemple, que le processus de suppression

9.7 Conclusion

201

est homogne et que les rsultats sont bien centrs.


Nous donnons quelques rsultats sur dautres objets. Un des objets de la figure 9.9 est inspir
de [SCM97]. La figure 9.10 montre un objet inspir de [Pud98]. Nous pouvons voir de jolis
morceaux de surface dans les squelettes surfaciques pour les objets des figures 9.9 et 9.10. Nous
pouvons comparer avec ceux obtenus dans le cadre utilisant lapproche topologie digitale,
lannexe B. La figure 9.11 montre des objets inspirs de [PK97a] [PK98a]. Sauf pour le dernier
exemple dans cette figure, le squelette ultime, le squelette curviligne et le squelette surfacique
sont les mmes. Nous pouvons voir que tous les rsultats sont bien centrs.
Remarques ( propos de la complexit des algorithmes) : Nous avons indiqu que nous
avions une caractrisation rapide de points 3 - ou 3 -simples, avec lutilisation de diagrammes de
dcision binaire (BDD). De plus, le nombre de points considrer durant le test de la simplicit
dun point diffre dun point un autre. Par exemple, le test de l 3 -simplicit dun carr unit
x exige laccs au plus huit points dans  (x), le test de la 3 -simplicit dun carr unit x
exige laccs au plus deux points dans  (x). En fait, nous pouvons seulement stocker les
configurations 3 -simples dun cube unit dans un BDD (cf. section C.3.4.4), et nous testons
l3 -simplicit des autres types dlments laide des remarques donnes dans la section 9.3.
De plus, dans une -sous-itration, il est inutile de tester l 3 -simplicit dun singleton car cet
lment nest jamais 3 -simple. Par dualit, nous avons la mme remarque pour un cube unit
pendant une -sous-itration.

9.7 Conclusion
Nous avons prsent des algorithmes parallles de squelettisation ultime, curviligne et surfacique. Ces algorithmes utilisent un support de 3 3 3 points, et sont de type deux sousitrations ; celles-l nutilisent pas de direction ni de sous-mailles. Nous avons propos une nouvelle caractrisation de point terminal de surface. Les squelettes surfaciques obtenus sont minces
et bien centrs.

Ordre pour images binaires 3D

202

Objet initial

Squelette ultime

Squelette curviligne

Squelette surfacique

F IG . 9.9 Diffrentes squelettisations.

Objet initial

Squelette curviligne

Squelette surfacique

F IG . 9.10 Squelettisations sur un objet compos de trois L.

9.7 Conclusion

203

Objet initial

Squelette(s)

Objet initial

Squelette(s)

Objet initial

Squelette(s)

Objet initial

Squelette(s)

Objet initial

Squelette(s)

Objet initial

Squelette(s)

F IG . 9.11 Squelettisations sur quelques objets.

Chapitre 10
Ordre pour images 2D en niveaux de gris
Peu dalgorithmes de squelettisation pour images 2D en niveaux de gris ont t proposs
[DR79] [Ros84] [Pal89] [KCM91] [AR96]. Les plus rcents ont t dvelopps en adaptant ceux
dj proposs dans le cadre de la topologie digitale pour images 2D binaires, et en exploitant
linformation du niveau de gris travers des notions proposes dans le cadre de la topologie des
coupes [AR95] [AS98] [BC00]. Notons que dautres oprateurs utilisant la topologie des coupes
ont galement t proposs afin de segmenter des images 2D en niveaux de gris [GBC96] [EB97]
[EBC97] [Eve97] [Arc99] [CBB99].
Dans un premier temps, nous rappelons succinctement quelques notions de base de topologie
digitale pour les images 2D binaires et montrons comment elles ont t tendues aux images 2D
en niveaux de gris menant la topologie des coupes. Cest de cette faon que nous avons tendu
les notions prsentes pour lordre de base associ aux images 2D binaires (chapitre 8) un ordre
de base associ aux images 2D en niveaux de gris (voir galement [LB00a]).

10.1 Rappels sur la topologie des images 2D binaires


Nous rappelons ici quelques notions de base de topologie digitale pour les images 2D binaires
[KR89].
Soit Z lensemble des entiers relatifs. Un point x Z 2 est dfini par le couple (x1 , x2 ),
avec xi Z et i = 1, 2. On considre les deux relations de voisinage 4 et 8 , dfinies de la
faon suivante : pour tout point x Z 2 , 4 (x) = {y Z 2 ; |y1 x1 | + |y2 x2 | 1}, et
8 (x) = {y Z 2 ; max(|y1 x1 |, |y2 x2 |) 1}. Dans la suite, n dsigne un nombre pouvant
prendre la valeur 8 ou 4. On dfinit n (x) = n (x) \ {x}. Le point y est n-adjacent au point
x Z 2 si y n (x). Un n-chemin est une suite de points x0 , . . . , xk avec xi n-adjacent xi1
pour i = 1, . . . , k.
Soit X Z 2 , on note X lensemble complmentaire de X. Deux points x et y de Z 2 sont
dits n-connects dans X sil existe un n-chemin dans X entre ces deux points. Cela dfinit une
relation dquivalence. Les classes dquivalence pour cette relation sont les composantes nconnexes de X. Un objet X Z 2 est dit n-connexe sil est constitu exactement dune seule
composante n-connexe. Lensemble compos de toutes les composantes n-connexes de X et

206

Ordre pour images 2D en niveaux de gris

n-adjacentes au point x est not par Cn [x, X].


Afin davoir une correspondance entre la topologie de X et la topologie de X, nous devons
considrer deux sortes diffrentes dadjacence pour X et pour X, si nous utilisons la n-adjacence
pour X, nous devons utiliser la n-adjacence pour X, avec (n, n) = (8, 4) ou (4, 8).
Soient X Z 2 et x Z 2 , on dfinit les deux nombres topologiques suivants (avec #X, le
cardinal de lensemble X) : Tn (x, X) = #Cn [x, 8 (x) X], et T n (x, X) = #Cn [x, 8 (x) X].
On note T = Tn (x, X) et T = T n (x, X). Un point x X est un point isol si T = 0, un point
de bord si T > 0, un point intrieur si T = 0.
Le point x X est simple (pour X) sil existe une correspondance une--une entre les ncomposantes de X et celles de X \ {x}, et entre les n-composantes de X et celles de X {x}.
La proprit suivante permet de caractriser de faon locale les points simples [Ber94] : x Z 2
est simple pour X Z 2 T = 1 et T = 1.
Soient X, Y Z 2 . Lensemble Y est sous-homotope X si Y = X ou si Y peut tre obtenu
partir de X par une suppression itrative de points simples. Lensemble Y est un noyau (sous-)
homotopique de X si Y est sous-homotope X et sil nexiste plus de point simple pour Y .
Soient X Z 2 et x X, x est un point extrmit (pour X) si #( n (x) X) = 1. Si
X Z 2 reprsente une image binaire, S Z 2 est un squelette de X si S peut tre obtenu
partir de X par une suppression itrative de points simples et non extrmits de X, et en rptant
cette suppression jusqu stabilit.
Notons que certains algorithmes damincissement ou de squelettisation ne produisent pas
toujours des rsultats satisfaisant les dfinitions prcdentes, cela par lapproche quils utilisent
pour slectionner et/ou supprimer les points simples. Il arrive quil reste des points simples dans
le noyau homotopique ou le squelette ; nous obtenons alors des rsultats non minces, avec
des points redondants, c.--d. des points simples dans le cas du noyau homotopique ou des
points simples et non extrmits dans le cas du squelette. Avec notre approche utilisant les
ordres, les rsultats obtenus par nos algorithmes sont minces. Cest la raison pour laquelle nous
avons utilis une nouvelle terminologie, prsente dans la section 8.5.2, afin dviter toute ambigut.

10.2 Topologie des coupes pour les images 2D en niveaux de


gris
Dans cette section, nous rappelons les dfinitions de base et les proprits de la topologie des
coupes [BEC97]. Une image 2D en niveaux de gris peut tre vue comme une application F de
Z 2 dans Z. Pour tout point x Z 2 , F (x) est la valeur en niveaux de gris du point x. On note F ,
lensemble compos de toutes les applications de Z 2 dans Z.
Soit F F , la coupe de F au niveau k est lensemble Fk compos de tous les points x Z 2
tel que F (x) k. Notons quune coupe est un ensemble de points, i.e. une image binaire. Comme
dans le cas binaire, si nous utilisons la n-adjacence pour les coupes F k de F , nous devons utiliser
la n-adjacence pour les ensembles complmentaires F k , avec (n, n) = (4, 8) ou (8, 4). Considrons lapplication F , appele lapplication complmentaire de F . Notons que les ensembles

10.2 Topologie des coupes pour les images 2D en niveaux de gris

207

complmentaires des coupes de F sont les coupes de F . Dans la suite, nous avons choisi n = 8
pour les coupes de F , ainsi nous devons utiliser n = 4 pour les coupes de F . Une composante
connexe non vide X dune coupe Fk de F est un maximum (rgional) pour F si X F k+1 = .
Un ensemble X Z 2 est un minimum (rgional) pour F si cest un maximum (rgional) pour
F .
Intuitivement, nous disons quune transformation sur F prserve la topologie si la topologie
de toutes les coupes de F est prserve. Ainsi, la topologie des coupes pour les images en niveaux
de gris peut tre drive directement de la topologie des images binaires.
Les notions suivantes gnralisent la notion de point simple aux images en niveaux de gris.
Soit F F , le point x Z 2 est destructible (pour F ), si x est simple pour F k , avec k =
F (x). Nous constatons que si la valeur en niveaux de gris dun point destructible est abaisse de
1, la topologie de F est prserve. Soient F F et G F . Lapplication G est sous-homotope
F si G = F ou si G peut tre obtenue partir de F par une slection itrative de points
destructibles et en les abaissant dune valeur de 1.
Soient F F et x Z 2 . Nous dfinissons les deux voisinages suivants : + (x, F ) =
{y 8 (x), F (y) F (x)} et (x, F ) = {y 8 (x), F (y) < F (x)}. Nous dfinissons les deux nombres topologiques suivants : T + (x, F ) = #Cn [x, + (x, F )] et T (x, F ) =
#Cn [x, (x, F )]. Nous notons T + = T + (x, F ), et T = T (x, F ). Ces nombres topologiques nous permettent de caractriser de faon locale un point destructible. Soient F F et
x Z 2 . Le point x est destructible pour F T + = 1 et T = 1.
Notons que dautres voisinages et nombres topologiques ont t dfinis ; ils permettent de
classer les points dune image 2D en niveaux de gris selon 11 classes (voir [GBC96]).

max{F (y), y (x, F )} si (x, F ) = ,

Soit val (x, F ) =


F (x) sinon.
Il est montr que la valeur dun point destructible peut tre abaisse la valeur val (x, F ) tout
en prservant la topologie (dans le cas dun point destructible, (x, F ) = ).
Soient F F et G F . On dit que G est un noyau (sous-) homotopique de F si lapplication
G est sous-homotope F et sil nexiste plus de point destructible pour G. Soient F F et
x Z 2 , x est un point extrmit (pour F ) sil est point extrmit pour lensemble F k avec
k = F (x).
Soit F F , on dit que G F est un squelette de F si G peut tre obtenu partir de F par
une slection itrative de points destructibles et non extrmits puis en les abaissant la valeur
val (x, F ), et en ritrant ce processus jusqu stabilit.
Soulignons que la plupart des algorithmes de squelettisation proposs dans le cadre des
images 2D en niveaux de gris sont une adaptation de ceux employs dans le cadre des images 2D
binaires, ce qui engendre au minimum les mmes inconvnients, savoir que les rsultats obtenus peuvent prsenter des points redondants, quils peuvent dpendre de la premire sous-maille
choisie, de lordre des directions considres [KCM91] [AR95] [AS98] ou utiliser un voisinage
tendu [AR95]. De plus, lordre selon lequel sont slectionns les points destructibles abaisser
a galement une influence sur les rsultats (voir [Eve97] pour plus de dtails). Dans [BC00] a t
ralise une tude concernant le choix des points destructibles abaisser, afin de mieux centrer
les squelettes dimages 2D en niveaux de gris.

Ordre pour images 2D en niveaux de gris

208
4
2
4

4
3(x)
4
(a)

4
2
4

1
0
1

1
1(x)
1
(b)

1
0
1

F IG . 10.1 Exemple de point non destructible.


0
0
1

0
2(x)
1
F

0
3
1

1
1
1

1 1
1 1
1 1
k=0

0
0
1

0 0
1 1
1 1
k=1
(a)

0
0
0

0 0
1 1
0 0
k=2

0
0
0

0 0
0 1
0 0
k=3

0
0
0

0 0
0 0
0 0
k4

0
0
1

0 0
1 3
1 1
G

1
1
1

1 1
1 1
1 1
k=0

0
0
1

0 0
1 1
1 1
k=1
(b)

0
0
0

0 0
0 1
0 0
k=2

0
0
0

0 0
0 1
0 0
k=3

0
0
0

0 0
0 0
0 0
k4

0
0
1

0 0
0 3
1 1
H

1
1
1

1 1
1 1
1 1
k=0

0
0
1

0 0
0 1
1 1
k=1
(c)

0
0
0

0 0
0 1
0 0
k=2

0
0
0

0 0
0 1
0 0
k=3

0
0
0

0 0
0 0
0 0
k4

F IG . 10.2 Exemple de point destructible et discussion propos de la valeur dabaissement.

10.2.1 Discussion propos de la valeur dabaissement dun point destructible


Nous donnons maintenant quelques exemples de configurations dcrivant 8 (x) et correspondant des points x destructibles ou non, puis nous commentons les rsultats obtenus selon la
valeur laquelle nous essayons dabaisser un point destructible.
Considrons F reprsent la figure 10.1 (a). Le point x nest pas destructible pour F , car
x nest pas simple dans sa coupe F3 (Fig. 10.1 (b)) ou plus directement partir de la figure 10.1
(a), nous avons T + (x, F ) = 2 et T (x, F ) = 2.
la figure 10.2 (a) sont reprsentes F , puis diffrentes coupes. Le point x est destructible.
Nous constatons que si la valeur de x est abaisse de 1 (Fig. 10.2 (b)), x prenant alors la valeur
1 = val (x, F ), alors la topologie de chaque coupe est prserve. En fait, si la valeur de x
est abaisse de 2 (Fig. 10.2 (c)) alors la topologie de chaque coupe est encore prserve, mais

10.2 Topologie des coupes pour les images 2D en niveaux de gris

209

4
1
1

4
3(x)
2
F

4
1
1

1 1 1
1 1 1
1 1 1
0k1

1
0
0

1 1
1 0
1 0
k=2
(a)

1
0
0

1 1
1 0
0 0
k=3

1
0
0

1 1
0 0
0 0
k=4

0
0
0

0 0
0 0
0 0
k5

4
1
1

4
2(x)
2
G

4
1
1

1 1 1
1 1 1
1 1 1
0k1

1
0
0

1 1
1 0
1 0
k=2
(b)

1
0
0

1 1
0 0
0 0
k=3

1
0
0

1 1
0 0
0 0
k=4

0
0
0

0 0
0 0
0 0
k5

4
1
1

4
1(x)
2
H

4
1
1

1 1 1
1 1 1
1 1 1
0k1

1
0
0

1 1
0 0
1 0
k=2
(c)

1
0
0

1 1
0 0
0 0
k=3

1
0
0

1 1
0 0
0 0
k=4

0
0
0

0 0
0 0
0 0
k5

F IG . 10.3 Autre exemple de point destructible et discussion propos de la valeur dabaissement.


cela nest gnralement pas vrai. En effet, considrons la configuration de la figure 10.3 (a) dans
laquelle sont reprsentes F , puis diffrentes coupes. Le point x est destructible. Nous constatons
que si la valeur de x est abaisse de 1 (Fig. 10.3 (b)), x prenant alors la valeur 2 = val (x, F ),
alors la topologie de chaque coupe est prserve (voir sur la mme ligne que la figure 10.3 (b)).
Si la valeur de x est abaisse de 2 (Fig. 10.2 (c)) alors la topologie de la coupe F2 nest pas
prserve ; en effet, F2 est compose dune composante connexe de X et de deux composantes
connexes de X, et aprs labaissement de 2 de la valeur de x, la coupe obtenue H2 comporte
deux composantes connexes de X et une composante connexe de X.
Intuitivement, un algorithme efficace consisterait alors abaisser un point destructible le
plus bas possible, dans le but de rduire le nombre total dabaissements effectuer. En fait, il est
difficile de gnraliser cela, tant donn que les rsultats dpendent de lordre de slection des
points dtruire [Eve97] et de lapproche adopte par lalgorithme : directionnelle, sous-mailles,
fortement parallle. Il serait possible, par exemple, dabaisser itrativement en priorit les points
destructibles les plus hauts, et pour un point destructible x (avec k = F (x)), de labaisser un
niveau l tel que soit l = 0, soit l > 0 et pour chaque coupe F i avec i = l, . . . , k, x est simple pour
Fi , mais x nest pas simple pour Fl1 . Ce processus, consistant raliser le test prcdent pour
chaque point abaiss, est coteux ; en revanche la valeur val (x, F ) laquelle on peut abaisser
un point tout en prservant la topologie peut tre dtermine rapidement [GBC96].
la figure 10.4 est propose une configuration pour laquelle les points x et y sont destructibles ; si la valeur de x est abaiss de 1 (i.e 0) alors la topologie des coupes est prserve,
nanmoins y nest plus destructible une fois que x est abaiss (de la mme faon, x devient non

Ordre pour images 2D en niveaux de gris

210
0
0
0
0
0

0
0
1
1
1(y) 1(x)
3
3
0
0
(a)

0
0
0
0
0

F IG . 10.4 Problme pour un abaissement en parallle de points destructibles.


destructible si y est abaiss 0 dabord). En fait, dans cet exemple, nous avons un MNS dans la
coupe de x et y, constitu des deux points simples x et y.
Cela indique la difficult de mettre en uvre un algorithme dabaissement parallle de points
destructibles, simple et efficace. Retenons que la difficult est double pour les images 2D en
niveaux de gris : il faut une stratgie de slection de points, puis une stratgie dabaissement.
tant donn les rsultats satisfaisants obtenus avec les algorithmes parallles de squelettisation
pour les images 2D binaires, proposs dans le cadre des ordres, il nous a sembl intressant de
proposer des algorithmes parallles de squelettisation pour les images 2D en niveaux de gris,
dans le cadre des ordres adapts aux images 2D en niveaux de gris.

10.3 Nombre de connexit dans |H 2|


Au chapitre 8, nous avons trait des points 2 -simples pour les images 2D binaires ; dans
la suite, nous crivons point -simple la place de point 2 -simple. Nous dfinissons au pralable deux nombres de connexit nous permettant de donner une autre caractrisation dun point
-simple dans lordre de base (H 2 , ) associ aux images 2D binaires. Nous adapterons ces
nombres au cas des images 2D en niveaux de gris dans la section 10.5.1.
Soient #S le nombre dlments dun sous-ensemble S de H 2 , et C[S] lensemble des composantes connexes de |S|. Nous dfinissons les deux nombres de connexit suivants : T (x, S) =
#C[ (x) S] et T (x, S) = #C[ (x) S].
Nous avons vu quun point est -simple pour |S| si et seulement si  (x) S est une courbe
ouverte simple ou un point isol (cf. la proprit 13, page 176). Cela implique que  (x) S
est galement une courbe ouverte simple ou un point isol (nous rappelons quun point isol est
un cas particulier de courbe simple ouverte). Cela explique que nous pouvons donner une autre
caractrisation dun point -simple, utilisant ces deux nombres de connexit prcdents.
Proposition : Soient S un sous-ensemble de H 2 et x un point de S. Le point x est -simple
pour |S| si et seulement si T (x, S) = 1 et T (x, S) = 1.
Nous donnons quelques exemples de points qui sont - ou -simples ou non, selon les diffrents types dlments de H 2 (i.e., un carr unit, un intervalle unit, un singleton). Considrons
le sous-ensemble S dcrit la figure 10.5. Nous crivons T pour T (x, S) et T pour T (x, S).
Les points a et e sont -simples (T = T = 1), les autres points ne sont pas -simples. Le point
b est tel que T = 3 et T = 3 ; c est tel que T = 1 et T = 0 ; d est tel que T = 0 et T = 1 ;

10.4 Ordre valu associ aux images 2D en niveaux de gris

211

F IG . 10.5 Quelques points -simples (a, e), non -simples (b d, f k), -simples (f , g), non
-simples (a e, h k).
f est tel que T = 2 et T = 0 ; k est tel que T = 0 et T = 2. Chaque point de lensemble
{g, h, i, j} est tel que  (x) = , ainsi T = 0 et T = 0. Les points f et g sont -simples
(T = T = 1), les autres points ne sont pas -simples. Le point e est tel que T = 2 et T = 0 ;
h est tel que T = 2 et T = 2 ; i est tel que T = 1 et T = 0 ; j est tel que T = 0 et T = 1 ;
k est tel que T = 0 et T = 2. Chaque point de lensemble {a, b, c, d} est tel que  (x) = ,
ainsi T = 0 et T = 0.

10.4 Ordre valu associ aux images 2D en niveaux de gris


Nous introduisons un ordre valu afin de traiter les images 2D en niveaux de gris, selon deux
faons diffrentes de considrer des objets 2D en niveaux de gris.
Dfinition (ordre valu) : Soit |X| = (X, ) un ordre. Soit F une application de X dans Z.
Le triplet (X, , F ) est appel un ordre valu.
Nous choisissons |X| = |H 2| pour traiter les images 2D en niveaux de gris. Maintenant,
nous spcifions F selon deux faons diffrentes de considrer des objets 2D en niveaux de gris
dans un ordre valu (nous adaptons lapproche utilise pour les images 2D binaires, dcrites
dans la section 8.2.2). Une image 2D en niveaux de gris est un couple (I, f ) dans lequel I est un
ensemble de pixels (voir section 8.2.2), et f une application de I dans Z. Pour tout lment p de
I, f (p) est la valeur en niveaux de gris du pixel p.
chaque image 2D en niveaux de gris (I, f ), nous associons lordre valu (X, , F ) de la
faon suivante : chaque pixel p = [i, i + 1] [j, j + 1], nous associons le carr unit p  de H 2 :
{(i, j), (i, j + 1), (i + 1, j), (i + 1, j + 1)} et valu par F (p ) = f (p), ainsi que tous les lments y
de H 2 inclus dans ce carr unit (les valeurs de ces lments y doivent tre prcises). Dans notre
tude, les lments y prennent la valeur F (y) = max{F (z); z  (y) et z est un carr unit
}, i.e. un lment y (singleton ou intervalle) prend la plus grande valeur des carrs le contenant
(voir Fig. 10.6 (a) et (b)). Soit 1 une telle transformation (voir galement [Kov89] [Kov94]).
Une autre faon consiste associer chaque image en niveaux de gris (I, f ), lordre valu
(X, , F ) comme suit : chaque pixel p = [i, i + 1] [j, j + 1], est associ llment p  de H 2
dont les coordonnes sont (i/2, j/2) dans Z+2 et F (p) = f (p) (voir Fig. 10.6 (a) et (c)). Soit 3
une telle transformation.

Ordre pour images 2D en niveaux de gris

212
3

3
2

2
3

0
0

2
1

0
0

(a)

(b)

(c)

F IG . 10.6 (a) Un objet 2D en niveaux de gris (I, f ), (b) 1 ((I, f )), (c) 3 ((I, f )).

10.5 Destructibilit pour les images en niveaux de gris dans


(H 2, , F )
Une image 2D en niveaux de gris peut tre vue comme un relief topographique tel que la
valeur en niveaux de gris dun point corresponde sa hauteur dans ce relief. Une coupe une
hauteur donne est lensemble constitu de tous les points dont la valeur en niveaux de gris est
plus grande ou gale cette hauteur donne (en fait, une coupe est une image binaire). Une
transformation sur une image 2D en niveaux de gris prserve la topologie si la topologie de
chaque coupe est prserve. Cette approche est celle adopte dans le cadre de la topologie digitale
tendue aux images 2D en niveaux de gris, approche connue sous le nom de topologie des
coupes, et que nous avons rappele dans la section 10.2.
Dans le cadre des ordres, nous bnficions du fait que lordre obtenu aprs la suppression
parallle de points - ou -simples dune coupe, est -quivalent lordre initial (voir section 8.4.2.3). De cette faon, nous allons proposer un algorithme parallle de squelettisation
ultime et un algorithme parallle de squelettisation curviligne, pour images 2D en niveaux de
gris, bass sur labaissement parallle de 1 des valeurs des points -destructibles (qui sont
les points -simples dans leur coupe). Dans cette section, aprs une dfinition formelle dun
point -destructible, nous donnons une caractrisation de tels points, en utilisant les nombres de
connexit (pralablement introduits dans le cas binaire dans la section 10.3).

10.5.1 Destructibilit dans (H 2, , F )


Nous introduisons dabord la dfinition dune coupe pour un ordre valu, puis la dfinition
dun point -destructible ou -destructible.
Soit X un sous-ensemble de H 2.
Dfinition (coupe) : Soit (X, , F ) un ordre valu. La coupe de F au niveau k sur X est
lensemble Fk compos de tous les points dans X dont la valeur en niveaux de gris est suprieure
ou gale k, i.e. Fk = {x X; F (x) k} avec k Z.

10.5 Destructibilit pour les images en niveaux de gris dans (H 2 , , F )

213

Nous remarquons quune coupe est un ensemble de points, i.e. une image binaire. Ainsi, nous
pouvons considrer lordre |Fk | relatif la coupe Fk : nous avons lordre binaire |Fk | associ
limage binaire Fk .
La notion suivante gnralise celle dun point -simple pour des images en niveaux de gris,
dans des ordres valus.
Dfinition (point -destructible, point -destructible) : Soient (X, , F ) un ordre valu,
et x X. Le point x est -destructible pour lordre valu (X, , F ) (resp. -destructible), si x
est -simple (resp. -simple) pour lordre |Fk | (lordre relatif la coupe Fk ), avec k = F (x). En
dautres termes, un point x est -destructible si et seulement si  (x) est constitu dune seule
composante connexe de points plus hauts que x et dune seule composante connexe de points
plus bas que x.
Dfinition (nombre de connexit) : Nous dfinissons les deux ensembles suivants : + (x, F ) =
{y  (x); F (y) F (x)} et (x, F ) = {y  (x); F (y) < F (x)}. Nous avons
 (x) Fk = {y  (x); F (y) k}. En prenant k = F (x), nous avons  (x) Fk =
+ (x, F ). De la mme faon,  (x) F k = {y  (x); F (y) < k}. En prenant k = F (x),
nous avons  (x) F k = (x, F ).
Nous dfinissons les deux nombres de connexit suivants :
T+ (x, F ) = #C[ + (x, F )] et T (x, F ) = #C[ (x, F )]. Un point x est -destructible
pour (X, , F ) T (x, Fk ) = 1 et T (x, Fk ) = 1. En prenant k = F (x), nous avons T (x, Fk )
= #C[ (x)Fk ] = #C[ + (x, F )] = T+ (x, F ). De la mme faon, T (x, Fk ) = T (x, F ).
Ainsi, nous proposons la caractrisation suivante dun point -destructible par lutilisation
de ces nombres de connexit.
Proposition : Soient (X, , F ) un ordre valu, et x un point de X. Le point x est destructible pour (X, , F ) si et seulement si T + (x, F ) = 1 et T (x, F ) = 1.
Dfinition (point extrmit) : Soient (X, , F ) un ordre valu, et x un point de X. Le point
x est un point extrmit pour (X, , F ) sil est point extrmit pour lordre |F k | avec k = F (x),
i.e. si #[  (x) Fk ] = 1.
Nous avons  (x) Fk = {y  (x); F (y) k}. Soit + (x, F ) = {y  (x); F (y)
F (x)}. En prenant k = F (x), nous avons  (x) Fk = + (x, F ). Ainsi x est un point extrmit
pour (X, , F ) #[ + (x, F )] = 1. Or un point extrmit pour |X| est soit un point -simple,
soit un point -simple pour |X| (cf. section 8.5.3). Par consquent, si x est un point extrmit
pour |Fk |, alors il est soit un point -simple soit un point -simple pour |F k |, ainsi il est soit un
point -destructible, soit un point -destructible pour (X, , F ).
La figure 10.7 montre quelques exemples de points qui sont - ou -destructibles ou non
(exemples donns uniquement pour les cas de carr unit ou de singleton). Nous crivons T +
pour T+ (x, F ), et T pour T (x, F ). La figure 10.7 (a) montre un point -destructible et
non extrmit. La figure 10.7 (b) montre + (x, F ){x} = ( (x)F2 ){x} pour F de la figure
10.7 (a). Le point x est -destructible pour (X, , F ) car il est -simple pour |F 2 | (Fig. 10.7 (b)),
ou directement partir de la figure 10.7 (a), T+ = 1 et T = 1. De plus, #[ + (x, F )] = 2,
ainsi x nest pas un point extrmit. La figure 10.7 (c) montre un point -destructible et extrmit
(#[+ (x, F )] = 1). La figure 10.7 (e) montre un point non -destructible (T + = 3 et T = 3).
De la mme faon, les figures 10.7 (h) (j) (l) montrent + (x, F ) {x} respectivement pour F

Ordre pour images 2D en niveaux de gris

214

(a)
1

(b)

(g)

2
1

(h)

(c)
1

(i)

(j)

(e)
1

(d)

(f )

(k)

(l)

F IG . 10.7 Exemples de points - ou -destructibles ou non, extrmits ou non : (a) un point


-destructible et non extrmit, (c) un point -destructible et extrmit, (e) un point non destructible, (b) (d) (f ) + (x, F ) {x} (en noir) de (a) (c) (e) respectivement. Exemples de :
(g) un point -destructible et non extrmit, (i) un point -destructible et extrmit, (k) un point
non -destructible, (h) (j) (l) + (x, F ) {x} (en noir) de (g) (i) (k) respectivement.
des figures 10.7 (g) (i) (k) ; et x est un point -destructible et non extrmit dans la figure 10.7
(g) (#[+ (x, F )] = 3) ; x est un point -destructible et extrmit dans la figure 10.7 (i) ; et x est
un point non -destructible dans la figure 10.7 (k) (T + = 2 et T = 2).

10.5.2 quivalence entre les ordres valus dans (H 2, , F )


Nous introduisons dabord les notions dordres valus -quivalents. Puis, nous donnons
une proposition qui nonce que lordre valu, obtenu aprs les abaissements en parallle de 1 des
valeurs des points -destructibles, est -quivalent lordre initial. Dans la section suivante, nous
donnerons un algorithme de squelettisation ultime et un squelette de squelettisation curviligne
pour des images 2D en niveaux de gris, bass sur les abaissements parallles des points - ou
-destructibles.
Dfinition (ordres valus -quivalents) : Soient (X, , F ) et (X, , G) deux ordres valus, X tant un sous-ensemble de H 2 . Lordre (X, , G) est (bas) -quivalent de (X, , F )
si F = G ou si G peut tre obtenu partir de F par la slection itrative dun point - ou
-destructible et par labaissement de sa valeur de 1.
Nous donnons la proposition qui indique quun ordre valu, obtenu aprs les abaissements
en parallle de 1 des valeurs de tous les points -destructibles, est -quivalent lordre initial.
Proposition : Soit (X, , F ) un ordre valu, X tant un sous-ensemble de H 2 . Soit x X
un point -destructible pour (X, , F ). Soit y un point de X avec y = x. Si y est -destructible
pour (X, , F ), alors y est -destructible pour (X, , G) ; (X, , G) tant lordre valu obtenu
aprs labaissement de 1 de la valeur de x.

10.6 Algorithmes de squelettisation pour images 2D en niveaux de gris dans (H 2 , , F )215

Preuve :
Remarquons dabord que lorsque la valeur dun point -destructible est abaisse de 1, seule la
coupe de ce point est modifie. Considrons dans un premier temps que x et y nappartiennent
pas la mme coupe. Labaissement de x naltre pas la coupe de y ; ainsi y est -destructible
pour (X, , G). Considrons maintenant que x et y appartiennent la mme coupe. Comme x et
y sont -destructibles pour (X, , F ), alors ils sont -simples pour |F k |, avec k = F (x) = F (y).
La proprit 14, page 176, garantit que y est -simple pour |G k |, obtenu par la suppression de
x de |Fk | (ralis par labaissement de 1 de x) ; en fait, lordre |Gk | est -quivalent |Fk |. Par
consquent, le point y est -destructible pour (X, , G). 

10.6 Algorithmes de squelettisation pour images 2D en niveaux


de gris dans (H 2, , F )
Nous proposons un algorithme parallle de squelettisation ultime qui consiste en la rptition
jusqu stabilit dune sous-itration dabaissements en parallle de 1 des valeurs de tous les
points -destructibles, suivie dune sous-itration dabaissements en parallle de 1 des valeurs
de tous les points -destructibles. Ce processus est dcrit par lalgorithme 14.
Soit (X, , F ) un ordre valu, X tant un sous-ensemble de H 2 . Notons \ F loprateur
qui consiste en labaissement en parallle de 1 des valeurs de tous les points -destructibles pour
(X, , F ). Nous crivons F 0 = F .
F0 =F
Rpter

F
F

2i+1
2i+2

= \ F 2i ,
= \ F 2i+1 .

Jusqu ce quil ny ait plus dabaissement durant 2 sous-itrations successives.


Algorithme 14: Algorithme de squelettisation ultime dans (H 2 , , F ).
Le rsultat est un squelette ultime (en niveaux de gris) de F , c.--d. un ordre valu nincluant
plus de point - ou -destructible (voir Fig. 10.8 et 10.10 pour des exemples de squelettes ultimes).
De la mme faon, nous proposons un algorithme parallle de squelettisation curviligne qui
abaisse les points -destructibles, puis les points -destructibles, lexception des points destructibles qui sont des points terminaux. Ce processus est dcrit par lalgorithme 15.
Notons \pe F loprateur qui consiste en labaissement en parallle de 1 des valeurs de
tous les points -destructibles pour (X, , F ), except les points destructibles qui sont des points
extrmits pour (X, , F ).

Ordre pour images 2D en niveaux de gris

216
F0 =F
Rpter

F
F

2i+1
2i+2

= \pe F 2i ,
= \pe F 2i+1 .

Jusqu ce quil ny ait plus dabaissement durant 2 sous-itrations successives.


Algorithme 15: Algorithme de squelettisation curviligne dans (H 2 , , F ).
Le rsultat est un squelette curviligne de F (en niveaux de gris) (voir Fig. 10.9 pour des
exemples de squelettes curvilignes).
La figure 10.8 dcrit les sous-itrations successives dabaissement durant lalgorithme de
squelettisation ultime pour limage initiale en niveaux de gris F (= F 0 ) (Fig. 10.8 (a)). La premire sous-itration abaisse les points -destructibles de F 0 , ce sont les points -simples de
|F30 | (tous les points de |F30 |) qui sont abaisss la valeur 2 ; et les points -simples de |F 20| qui
sont abaisss la valeur 1 ; nous obtenons ainsi F 1 (Fig. 10.8 (b)). La seconde sous-itration
abaisse les points -destructibles de F 1 ; ce sont les points -simples de |F 21 | qui sont abaisss
la valeur 1, nous obtenons ainsi F 2 (Fig. 10.8 (c)). La troisime sous-itration abaisse les points
-destructibles de F 2 ; ce sont les points -simples de |F 22 | qui sont abaisss la valeur 1, nous
obtenons ainsi F 3 (Fig. 10.8 (c)). Finalement, il ny a plus de point -, ou -destructible ; F 3 est
alors un squelette ultime de F .
En fait, lobjet initial peut tre vu comme un cratre, dont la ligne de crte a la valeur 4,
entour par un plateau. Le plateau a la valeur constante 0 et la pente du bassin lintrieur du
cratre dcrot de 3 1. Le squelette ultime obtenu est tel que la ligne de crte est garde ; en
effet, tout point de cette ligne de crte nest pas destructible. Nous pouvons voir que le bassin est
transform en une rgion plate de valeur 1. Intuitivement, nous avons aminci symtriquement le
bassin en un plateau.
Remarque : Considrons lordre valu (X, , F ) obtenu partir dune image 2D en niveaux
de gris f , aprs lutilisation de 1 (voir un exemple la figure 10.6 (b)). Tout lment x de X est
tel que (x, F ) = , ainsi T (x, F ) = 0, par consquent il ny a pas de point -destructible
dans X. Les rsultats obtenus par nos algorithmes (aprs lutilisation de 1 ) ne dpendent alors
pas de la premire sous-itration choisie (comme dans le cas binaire dans les ordres, cf. section
8.7.1), contrairement aux approches classiques utilisant la topologie des coupes pour lesquelles
les rsultats dpendent dun ordre selon lequel les points sont slectionns pour tre abaisss
(voir la discussion dans la section 10.2).

10.6 Algorithmes de squelettisation pour images 2D en niveaux de gris dans (H 2 , , F )217

(a)

(b)

(c)

(d)

F IG . 10.8 (a) Limage initiale en niveaux de gris F = F 0 , (b) F 1 , (c) F 2 , (d) F 3 : un squelette
ultime de F .

Ordre pour images 2D en niveaux de gris

218

(a)

(b)

(c)

F IG . 10.9 (a) Objet initial (empreinte digitale partielle), (b) (c) un squelette curviligne de (a),
respectivement avec 3 et 1 .

10.6 Algorithmes de squelettisation pour images 2D en niveaux de gris dans (H 2 , , F )219

(a)

(b)

(c)

F IG . 10.10 (a) Image de section de muscle, (b) (c) un squelette ultime de (a), respectivement
avec 3 et 1 .

220

Ordre pour images 2D en niveaux de gris

10.7 Discussion propos de la valeur dabaissement dun point


-destructible
Nous avons vu dans la section 10.2 que selon lapproche topologie des coupes, la topologie
tait prserve lors de labaissement de 1 des valeurs des points destructibles, et cela de faon
itrative. Nous avons rappel que la topologie tait galement prserve si nous abaissions un
point x destructible pour F la valeur val (x, F ) = max{F (y), y {z 8 (x), F (z) <
F (x)}}. Dans [Arc99], il est montr que certains points destructibles (points crtes) peuvent tre
abaisss itrativement une valeur infrieure val (x, F ), tout en prservant la topologie.
En ce qui concerne notre tude dans un ordre valu, des recherches sont en cours afin de savoir
si labaissement dun point x -destructible pour lordre valu (X, , F ) la valeur val (x, F )
ou val (x, F ) (valeurs dfinies ci-aprs) prserve la topologie, et cela dans le cas dun
abaissement itratif ou parallle, avec les valeurs suivantes : val (x, F ) = max{F (y), y
(x, F )} et val (x, F ) = max{F (y), y (x, F ) et y non -destructible }.
Notons que si x est -destructible, alors (x, F ) = . Remarquons que si x est un intervalle -destructible, alors (x, F ) est compos dun unique singleton z (non -destructible),
et val (x, F ) = val (x, F ) = F (z). Nous constatons galement que si x est un carr destructible, alors il existe au moins y appartenant (x, F ) et y non -destructible.
Nous pouvons remarquer que cette nouvelle proposition, applique sans modification, ne
fonctionne pas selon lapproche topologie des coupes avec tous les algorithmes. En effet, considrons lalgorithme de type 2 sous-mailles, propos par Guo et Hall (GH_A2) [GH89], tudi
dans la section A.4.1 dans le cas binaire, et tendu ici au cas des images 2D en niveaux de gris.
Dans limage reprsente dans le tableau 10.1, les points x et y sont destructibles. Lors de la premire sous-itration de cet algorithme, les points de la premire sous-maille et destructibles sont
abaisss en parallle. Si x est dans la premire sous-maille, alors la variante consistant abaisser
les points destructibles x val (x, F ) (= max{F (y), y {z 8 (x), F (z) < F (x)} et y
non destructible } se bloque ici ; en effet, seul le point y est dessous x mais y est destructible.
255
255
255 255
108 102(x) 96(y) 93
102
102
102 93
75
77
93
89
TAB . 10.1 Contre-exemple pour la variante dabaissement selon lapproche topologie des
coupes.
Avec la version consistant abaisser des points x destructibles la valeur val (x, F ), il
se peut que des points destructibles deviennent extrmits, ce qui peut entraner la cration de
nombreuses barbules c.--d. des blocs minces de points non significatifs (lquivalent selon la
topologie digitale pour images 2D binaires est : (parties de) courbe ouverte simple, voir le chapitre 11). Cela narrive apparamment pas si les points x destructibles sont abaisss la valeur

10.8 Conclusion

221

val (x, F ), mais nous navons pas encore montr que cela prservait la topologie, lorsque de
tels points taient abaisss en parallle. Il semble que ce phnomne se produise galement avec
lapproche topologie des coupes.
Considrons les figures 10.11 et 10.12. En haut de ces figures, un mme objet 2D en niveaux de gris (I, f ) ; 1 ((I, f )) est reprsent aux figures 10.11 (a) et 10.12 (a) (les points non
reprsents sont 0).
la figure 10.11 (resp. 10.12) sont reprsentes les diffrentes sous-itrations de squelettisation si nous imposons lalgorithme de squelettisation curviligne, propos dans la section 10.6,
deffectuer la variante consistant abaisser en parallle les points -destructibles x pour lobjet
courant F , la valeur val (x, F ) (resp. la valeur val (x, F )).
Avec ces deux algorithmes, comme nous lavions remarqu la fin de la section 10.6, la
premire sous-itration nabaisse aucun point et nest pas reprsente de nouveau. Nous avons
les mmes trois premires sous-itrations. Lors de la quatrime sous-itration, qui consiste
abaisser en parallle les points -destructibles des figures 10.11 (c) et 10.12 (c), le point flch
est -destructible et est abaiss 3 dans la figure 10.11 (d), tandis quil est abaiss 2 dans la
figure 10.12 (d), car le point donnant la valeur 3 avec le premier algorithme est lui-mme destructible. Le raisonnement est le mme en ce qui concerne les figures 10.11 (h) et (j), et la
figure 10.12 (f ). Dans la figure 10.11 (f ), le point flch est un point -destructible, mais nest
pas abaiss car il est extrmit. Cest dailleurs ce point qui va donner naissance une barbule,
tandis quavec la variante, ce point va tre abaiss, puis ne sera pas dans le squelette rsultant,
il disparat la figure 10.12 (h). En fait, cet exemple provient dessais sur des images relles
dempreintes digitales, pour lesquelles la premire variante crait un grand nombre de barbules,
non prsentes avec la seconde variante. Laspect en tait alors presque flou.
Il semble intressant dtudier un autre type dalgorithme de squelettisation dans le cadre des
images 2D en niveaux de gris, consistant remplacer la sous-itration dabaissement en parallle
de points -destructibles dans lalgorithme actuellement propos, en une suite de sous-itrations
dabaissement en parallle de points -destructibles x la valeur val (x, F i ), F i tant lobjet
courant, sous-itrations rptes jusqu stabilit (c.--d. jusqu ce quil ny ait plus de point destructible) ; nous procdons de la mme faon pour labaissement des points -destructibles.
En pratique, cette modification entrane moins de barbules sur les quelques exemples tests. Il
reste prouver que la topologie est prserve avec ce processus.

10.8 Conclusion
Nous avons tendu nos travaux raliss dans le cadre des ordres pour images 2D binaires
aux images 2D en niveaux de gris, dfinissant ainsi la notion dordre valu. En utilisant lapproche adopte dans le cadre de la topologie des coupes, nous avons dfini les notions de point
- ou -destructible, et avons propos des algorithmes de squelettisation ultime ou curviligne,
en abaissant de 1 la valeur des points - ou -destructibles. Des recherches sont actuellement
menes sur les valeurs dabaissement de points -destructibles, lorsque labaissement est itratif ou parallle, afin de proposer des algorithmes plus efficaces encore. Lintrt est rel si lon
souhaite tendre ces algorithmes parallles de squelettisation aux images 3D en niveaux de gris.

Ordre pour images 2D en niveaux de gris

222

(d)

(c)

(b)

(a)

(e)

(f )

(g)

(h)

1
1

7
1

3
3

3
3

(i)

3
3

(j)

3
3

(k)

(l)

F IG . 10.11 Cration dune branche qui peut donner lieu des barbules lors de lutilisation de
la premire variante.

10.8 Conclusion

223

(d)

(c)

(b)

(a)

1
2

1
1

(e)

(f )

(g)

(h)

1
1

(i)

7
1

(j)

F IG . 10.12 partir de la mme image que celle de la figure 10.11, ici il ny a pas de branche
pouvant donner lieu des barbules.

224

Ordre pour images 2D en niveaux de gris

Chapitre 11
Filtrage topologique dimages binaires 2D
11.1 Introduction
Dans ce chapitre, nous tudions diffrents moyens damliorer laspect visuel de squelettes
binaires 2D. Certains squelettes comportent des petites branches non significatives de par leur
longueur. Ces branches, que nous souhaitons retirer dun squelette, sont appeles barbules. Dans
le cadre des ordres, nous pouvons supprimer en parallle des points simples, tout en prservant
la topologie. Nous voulons exploiter cette proprit afin de raliser un filtrage parallle des squelettes. En proposant des solutions aux diffrents problmes soulevs, nous allons imposer des
contraintes permettant llaboration dun algorithme de filtrage parallle dimages binaires 2D.
Nous voquerons ensuite son extension directe au cas des images binaires 3D.
Dans la suite, nous appelons point -simple un point 2 -simple (resp. 3 -simple) sil est
considr pour le cas 2D (resp. 3D).

11.2 Principe gnral du filtrage


Nous mettons lhypothse de disposer dun squelette curviligne (voir terminologie la section 8.5.2), en entre de lalgorithme cherch ; le filtrage dun squelette ultime na pas de sens si
nous souhaitons prserver la topologie puisquun squelette ultime ne comporte plus de point -,
ou -simple (tout point est ncessaire afin de conserver la topologie). Nous souhaitons liminer
les barbules de ce squelette curviligne. En fait, les barbules peuvent correspondre des parties
de courbe ouverte simples, ou des ramifications de telles courbes, leur jonction formant ce que
lon appelle un pt. Nous devons alors fournir un paramtre k fixant la longueur maximale des
branches liminer. Afin de faciliter la discussion, nous considrons que limage nest forme
que dune seule composante connexe. En effet, le choix dun paramtre peut tre plus compliqu
si lon considre plusieurs composantes ; des branches de longueur k pouvant tre considres
comme significatives ou non, selon la composante laquelle elles appartiennent.
Le principe, initialement (et naturellement) propos, est constitu de deux tapes :
la premire tape consiste effectuer k sous-itrations de lalgorithme de squelettisation
ultime partir du squelette curviligne initial : avec k = 2p + m (m = 0 si k est pair, m = 1 si k

226

Filtrage topologique dimages binaires 2D

est impair), il sagit alors de p + m sous-itrations de suppression parallle de points -simples,


alternes avec p sous-itrations de suppression parallle de points -simples. Cette tape est appele ltape de squelettisation conditionne (de paramtre k) ; le rsultat de cette premire tape
sera appel le squelette conditionn,
la seconde tape a pour objectif de reconstruire les branches significatives (disparues lors
de la premire tape) en ajoutant des points de faon parallle, tout en vitant la reconstruction
de branches non significatives. Cette tape est alors constitue au plus de k sous-itrations parallles dajout de points. Bien videmment, ce processus devra respecter la topologie. Cette tape
est appele ltape de reconstruction. noter que cela ne correspond pas au sens classique de
reconstruction, savoir retrouver lobjet initial partir du squelette et dautres informations.
Le principe de notre reconstruction va exploiter le fait suivant : les branches non significatives
vont tre limines en premier du squelette initial lors de ltape de squelettisation conditionne,
car leur longueur est infrieure aux branches significatives. En gardant comme information le
numro dtape laquelle un point a t supprim, nous voulons dterminer quelles sont les
branches significatives parmi toutes les branches (ou parties de branches) supprimes lors de la
premire tape, et les reconstruire par un processus de propagation selon cette information et
partir du squelette conditionn.

11.3 Considrations prliminaires pour le filtrage


11.3.1 Contrainte sur k
Nous imposons la k-ime sous-itration de suppression de ltape de squelettisation conditionne dtre effective, c.--d quil y ait rellement suppression lors de cette sous-itration, cela
afin davoir des points tiquets k pour amorcer la propagation dans ltape de reconstruction
(voir les dtails la section 11.3.2).
En pratique, si ce nest pas le cas, lalgorithme de reconstruction affecte k le numro de la
dernire sous-itration effective de suppression.

11.3.2 Points graines et processus de propagation pour la reconstruction


Considrons une courbe ouverte simple et k un entier strictement positif. la fin de k sousitrations de squelettisation conditionne ; le squelette conditionn obtenu est une courbe ouverte
simple (ventuellement rduite en un point) incluse dans celle initiale.
La seule information dont nous disposons est le numro de la sous-itration de squelettisation
conditionne (en fait, k) durant laquelle ont t limins les points voisins des extrmits de la
courbe (ou du point isol) formant le squelette conditionn.
Nous souhaitons recouvrer la courbe initiale (mme si cela navait pas de sens de filtrer
une courbe ouverte simple). Il faut alors propager le processus de reconstruction en ajoutant les
points voisins des extrmits du squelette conditionn (ou du point isol le constituant), puis en
ajoutant les voisins des extrmits de la courbe obtenue la suite de la premire sous-itration
de reconstruction (voisins non encore ajouts pendant la reconstruction), et ainsi de suite.

11.3 Considrations prliminaires pour le filtrage

227

Nous avons alors besoin de points afin damorcer le processus de reconstruction. Nous appelons de tels points des points graines. Daprs ce qui a t dit auparavant, initialement les points
graines sont les points extrmits du squelette conditionn ou le seul point isol le constituant
(nous rappelons que le squelette curviligne en entre du filtrage nest compos que dune seule
composante connexe). Lors dune sous-itration donne de reconstruction, les points ajouts seront les points graines de la sous-itration suivante (si sous-itration, il doit y avoir).

11.3.3 Liens entre les sous-itrations de squelettisation conditionne et les


sous-itrations de reconstruction
Les points supprims lors de la i-ime sous-itration de suppression de ltape de squelettisation conditionne sont affects de la valeur i. Lors de ltape de reconstruction, la propagation
se fait dans le sens contraire : un instant donn, nous ajoutons certains points dtiquette i, puis
nous ajoutons certains points dtiquette i 1, . . . En fait, lensemble des points ajouts lors de
la j-ime sous-itration de reconstruction est inclus dans celui des points supprims lors de la
i-ime sous-itration de squelettisation conditionne ; nous avons ainsi linvariant i + j = k + 1 ;
par consquent j = k i + 1 et j prend alors les valeurs successives de 1 k lorsque i prend les
valeurs successives de k 1.
Considrons un point dtiquette i ajout lors de la j-ime sous-itration de la reconstruction.
Si j et k sont pairs, ou si j et k sont impairs (resp. si j est pair et k est impair, ou si j est impair et
k est pair) alors i est impair (resp. pair), ce qui signifie que le point tait -simple (resp. -simple)
lorsquil a t retir lors de la i-ime sous-itration de squelettisation conditionne.
Cette remarque nintervient en rien actuellement dans le fait dajouter des points dtiquette
i lors de la j-ime tape de reconstruction. Nanmoins, elle aura son importance par la suite,
comme nous le verrons dans la section 11.7.6.

11.3.4 Diffrents tests de la valeur k en pratique


Il existe deux possibilits immdiates : soit nous donnons un paramtre k qui sert la fois
la squelettisation conditionne et la reconstruction (VAR 1 ), soit nous lutilisons uniquement
pour ltape de reconstruction, ltape de squelettisation conditionne tant alors remplace par
une tape de squelettisation ultime (c.--d. produisant un squelette ultime) (VAR 2 ).
Comme nous lavons remarqu auparavant, suite ltape de squelettisation conditionne,
une initialisation fixe des points graines par lequel le processus de reconstruction va se propager.
Ces graines sont les points extrmits (ou point isol) du squelette conditionn (pour VAR 1 ). Avec
la variante VAR2 , nous disposons dun squelette ultime (contenu dans le squelette conditionn,
par construction), qui ne comporte aucun point extrmit (par le processus mme de squelettisation ultime). Il suffit alors de considrer les points dtiquette suprieure k (dans limage
tiquete par les sous-itrations de suppression lors du calcul du squelette ultime) comme des
points du squelette conditionn et de se reporter au cas VAR 1 . Lavantage dadopter VAR2 est de
nexcuter quune seule fois la premire tape de squelettisation et de pouvoir tester plusieurs
valeurs pour le paramtre k pour la reconstruction (bien sr, aprs avoir mis jour les points

228

Filtrage topologique dimages binaires 2D

graines, comme expliqu prcdemment).


Dans la suite, nous ne considrons que la variante VAR 1 .

11.4 Conventions de reprsentation


Nous avons adopt les conventions suivantes. Si une figure reprsente les diffrentes tapes
de la squelettisation conditionne, les points de lobjet final sont reprsents en trait plein et
les points supprims sont reprsents en pointill avec lindication (si ncessaire) du numro de
sous-itration lors de laquelle ils ont t supprims (Repr1). Si une figure reprsente les diffrentes tapes de reconstruction, les points initiaux sont en trait plein et les points ajouts sont en
pointill avec lindication (si ncessaire) du numro de sous-itration de reconstruction lors de
laquelle ils ont t ajouts (Repr2). Une autre reprsentation consiste afficher uniquement le
rsultat final dune ou de plusieurs tapes (Repr3). Parfois des couleurs sont utilises la place
du pointill pour illustrer la propagation des suppressions ou les ajouts parallles de points, en
complment des numros ditration. Ces couleurs sont lies aux points et la sous-itration de
la squelettisation conditionne durant laquelle ils ont t supprims, et permettent de visualiser
plus rapidement quels points ne sont pas ajouts lors de la reconstruction parmi ceux supprims
lors de ltape de squelettisation conditionne correspondante.

11.5 Discussion propos des points supprims lors de la premire tape


En entre de lalgorithme de filtrage, est fourni un squelette curviligne. Nous pouvons nous
demander ce qui se passerait si on effectuait k sous-itrations de suppression parallle de points
- ou -simples et extrmits. Avec k = 2p + m (m = 0 si k est pair, m = 1 si k est impair), il
sagit alors de p + m sous-itrations de suppression parallle de points -simples et extrmits,
alternes avec p sous-itrations de suppression parallle de points -simples et extrmits.
Considrons lobjet de la figure 11.1 (a). la figure 11.1 (b) est montr le rsultat la fin de
la premire tape si celle-l effectue k sous-itrations alternes de suppression parallle de points
-simples et extrmits, ou -simples et extrmits (k = 5). Le processus se propage le long des
courbes ouvertes simples. En revanche, il est bloqu au niveau de la jonction initiale des courbes
ouvertes simples. En effet, ce niveau les points sont - ou -simples mais non extrmits. Le
processus ne se propage alors pas plus loin dans la barbule. Le rsultat de la reconstruction est
reprsent la figure 11.1 (c).
la figure 11.1 (d), est montr le rsultat la fin de la premire tape si celle-l effectue k
sous-itrations de squelettisation ultime, comme nous lavons propos initialement. la figure
11.1 (e), est reprsent le rsultat de la reconstruction : la barbule a t limine. Nous nous
apercevons que la barbule limine dans ce cas, nest pas simplement une partie dune courbe
ouverte simple, elle comporte une jonction de courbes ouvertes simples.
Cet exemple a motiv notre choix de prendre comme premire tape k sous-itrations de
squelettisation ultime.

11.5 Discussion propos des points supprims lors de la premire tape

229

(a)

2
2

2
3

(b)

(c)

2
2

2
3

3
4

3
4

(d)

(e)
F IG . 11.1 Illustration des choix raliss durant la premire tape du filtrage. (a) Objet initial,
(b) rsultat en supprimant des points -simples ou -simples et extrmits (Repr1), (c) reconstruction partir de (b) (Repr2), (d) squelette conditionn (Repr1), (e) reconstruction partir de
(d) (Repr2).

230

Filtrage topologique dimages binaires 2D

11.6 Discussion propos des points graines lors de ltape de


reconstruction
Dans la section 11.3.2, les points graines considrs initialement sont les points extrmits ou
le point isol du squelette conditionn. Lors de la j-ime sous-itration de reconstruction donne,
nous ajoutons les points dtiquette i = k j + 1 (voir section 11.3.3), voisins des points graines
et nappartenant pas encore lobjet reconstruit ; ces points deviendront les points graines de la
prochaine sous-itration de reconstruction (si j < k).
Nous pouvons nous demander ce qui se passerait si plutt que de fixer les points graines pour
la future sous-itration de reconstruction, nous imposons aux points graines dtre les points
extrmits (ou isol) de lobjet reconstruit tel quil est au dbut de la sous-itration en cours.
Considrons lobjet de la figure 11.2. Ltape de squelettisation conditionne (k = 6) aboutit
ne prserver que le carr central, qui devient graine pour la premire sous-itration de reconstruction. Sont alors ajouts les 8 lments de H 2 que le carr contient ; ces points sont non
extrmits ; et le processus de reconstruction sarrte ici, si les graines que lon considre sont
les points isols ou extrmits de la sous-itration de la reconstruction courante.
Si nous considrons initialement comme graines le(s) point(s) isol ou extrmit(s) du squelette conditionn, et si nous ajoutons les points voisins des graines avec la bonne tiquette, et si
ces points deviennent leur tour points graines pour la sous-itration suivante de reconstruction,
nous retrouvons alors lobjet initial de la figure 11.2 (notons tout de mme que de fixer le paramtre k = 6 sur cet exemple nest srement pas judicieux, ici, toutes les branches peuvent tre
considres comme significatives). Cet exemple nous a motiv pour garder ce choix concernant
les points graines lors de ltape de reconstruction. En fait, ce processus, bien que naturel, nest
pas correct. Nous le montrerons un peu plus tard la section 11.7.6.

F IG . 11.2 Illustration des choix raliss durant la seconde tape du filtrage.

11.7 laboration de lalgorithme

231

11.7 laboration de lalgorithme


Nous observons le comportement de lalgorithme actuellement propos. Un dfaut majeur
(la non-prservation de la topologie) sera mis en vidence puis corrig.

11.7.1 Absence de point graine pour ltape de reconstruction

4 3

2 1

(a)

(b)

F IG . 11.3 (a) Squelette conditionn (k = 4) (Repr1), (b) reconstruction (Repr2).


Considrons lobjet de la figure 11.3 (a). Le paramtre k utilis a la valeur 4, cest la longueur de la branche parasite que nous souhaitons liminer. la fin de ltape de squelettisation
conditionne, il ny a pas de point isol ou extrmit. Il ny a alors pas de point graine, et aucun
point ne peut tre ajout lors de ltape de reconstruction (Fig. 11.3 (b)).
La partie reconstruction de lalgorithme doit alors vrifier la prsence de points graines avant
de pouvoir se drouler. Ltape de reconstruction effectue donc au plus k sous-itrations de
reconstruction, mme sil y a rellement eu k sous-itrations effectives de suppression durant
ltape de squelettisation conditionne (cest le cas sur lexemple de la figure 11.3).

11.7.2 limination dune barbule et reconstruction


1
2

(a)

(b)

F IG . 11.4 (a) Squelette conditionn (k = 2) (Repr1), (b) reconstruction (Repr2).


Considrons lexemple de la figure 11.4 (a) (k = 2). La petite barbule de longueur 2 (dans
la partie infrieure droite de lobjet) na pas t reconstruite car elle nest pas voisine dun point
graine (Fig. 11.4 (b)). Les deux autres parties de longueur 2, limines lors de la phase de squelettisation conditionne, ont t reconstruites car elles sont voisines dun point graine. Notons
sur cet exemple, que nous retrouvons la branche de plus grande longueur du squelette initial.

232

Filtrage topologique dimages binaires 2D

11.7.3 Reconstruction dune ramification


1

1
2

2
3
4

(a)

(b)

F IG . 11.5 (a) Squelette conditionn (k = 4) (Repr1), (b) reconstruction (Repr2).


Considrons lexemple de la figure 11.5 (a) (k = 4). Nous avons limin la barbule de
longueur 2, et reconstruit deux branches de longueur 4 dont une se termine par une ramification
compose de deux petites branches de longueur 2 (Fig. 11.5 (b)). En fait, les deux branches de
longueur 2 formant la ramification ont t reconstruites car elles sont voisines dun point graine
lors de la deuxime itration de reconstruction.

11.7.4 Problme au niveau des jonctions de courbes

(a)

(b)

(d)

(c)

(e)

F IG . 11.6 limination des barbules issues dun pt. (a) Squelette conditionn (k = 2) (Repr1),
(b) squelette curviligne (Repr3), (c) reconstruction (Repr2), (d) squelette curviligne du squelette
conditionn (k = 2), (e) reconstruction partir de (d).
Considrons la figure 11.6 (a) (k = 2). Lobjet obtenu (Fig. 11.6 (b)) la fin la squelettisation
conditionne comporte des points simples non extrmits (ce nest ni un squelette curviligne, ni

11.7 laboration de lalgorithme

233

un squelette ultime). Le rsultat de la reconstruction partir de cet objet est reprsent la figure
11.6 (c), et contient encore ces points simples non extrmits. Nous choisissons alors deffectuer
une tape de squelettisation curviligne la fin de la squelettisation conditionne puis de faire la
reconstruction.
Ltape de squelettisation curviligne va liminer les deux carrs ainsi que lintervalle, formant
le pt, car ils sont tous trois -simples et non extrmits (Fig. 11.6 (d)). Finalement, aucune
branche du pt ne va tre reconstruite (Fig. 11.6 (e)). En fait, sur cet exemple, les barbules
de longueur k = 3 ont t limines. Nous aurions obtenu le mme rsultat pour k prenant les
valeurs 3, 4 ou 5.
Sur ce mme objet, le rsultat serait galement le mme, si on dplaait ltape de squelettisation curviligne la fin de celle de reconstruction.

11.7.5 Effet de bord


4

1
2

4
2

c1
x
c2

3
2

4
2

2
3

c3

(a)

(b)

F IG . 11.7 Effet de bord. (a) Squelette conditionn (k = 4) (Repr1), (b) squelette curviligne
et reconstruction (Repr2).
Considrons la figure 11.7 (a) (k = 4). Nous reconstruisons une partie du pt (11.7 (b))
car aprs lajout du singleton x dtiquette i = 4, il y a 3 points candidats c 1 , c2 , et c3 tre
ajouts (de valeur i = 3 et dans le voisinage du singleton x). En fait, ce problme deffet de
bord peut ne pas prserver la topologie. Cest ce que nous constatons dans la section suivante.
Tout cela montre que les problmes lis aux pts sont dlicats ; il semble alors difficile dobtenir
une solution gnrale sadaptant tous les cas possibles.

11.7.6 Prservation de la topologie lors de la reconstruction


Considrons lobjet de la figure 11.8 (a) (k = 4). Une partie du pt va tre limine la suite
de la squelettisation conditionne. Aprs la phase de squelettisation (inutile ici, car il ny a pas de
point redondant dans le squelette conditionn), ltape de reconstruction produit lobjet dessin
la figure 11.8 (b). Nous pouvons constater la cration dune composante connexe du complmentaire, non prsente litration prcdente, et non prsente dans le squelette curviligne initial
de la figure 11.8 (a). Ainsi, la topologie nest pas prserve. En fait, nous constatons la prsence

234

Filtrage topologique dimages binaires 2D


1
2

3
4

4
2

3
2

3
2

3
2
1

4
4

3
2
1

(a)

(b)

4
3

3
2
1

1
1

(c)

(d)

F IG . 11.8 Non prservation de la topologie. (a) Squelette conditionn (k = 4) (Repr1), (b)


squelette curviligne et reconstruction (Repr2), (c) reconstruction par ajout de points simples,
(d) squelette curviligne (sans les points en pointills).

dune courbe ferme matrialise par le cercle violet, dlimitant cette nouvelle composante du
complmentaire ; cest lanalogue dun trou 2D selon lapproche topologie digitale.
Cet exemple montre quen ajoutant des points uniquement selon leur tiquette, la topologie
peut ne pas tre prserve. Une solution est de vrifier si les points ajouts sont - ou -simples,
selon litration courante (voir la section 11.3.3). En faisant cela, nous obtenons lobjet de la
figure 11.8 (c). Nous remarquons, de nouveau, la prsence de points redondants. Nous effectuons
alors une nouvelle tape de squelettisation curviligne et obtenons lobjet de la figure 11.8 (d)
(priv des points en pointill nots ou , indiquant la phase lors de laquelle ces points ont t
supprims, durant 3 sous-itrations successives de suppression).
Remarque : Dans la section 8.4 tait nonce la proprit suivante : la suppression en parallle de points -simples (ou -simples) prserve la topologie. Ici nous utilisons la proprit
duale, savoir, lajout en parallle de points -simples (ou -simples) prserve la topologie (proprit obtenue par passage par le complmentaire). Cela confirme la validit de notre algorithme
de filtrage en raison des oprations mises en uvre et prservant la topologie (squelettisation
curviligne, squelettisation conditionne, reconstruction par ajout parallle de points - ou simples).

11.8 Algorithme de filtrage

235

11.8 Algorithme de filtrage


Lalgorithme de filtrage est dcrit au schma 16.

11.9 Rsultats 2D
Nous prsentons les rsultats du filtrage sur limage lettre A obtenus pour diffrentes valeurs du paramtre k.
Sur la figure 11.9, sont reprsents limage originale (lettre A), un squelette ultime, un
squelette curviligne (aprs utilisation de la transformation 1 , voir section 8.2.2), ainsi que les
rsultats du filtrage selon diffrentes valeurs de k. La figure 11.10 est la reprsentation tableau
de lobjet initial (singleton en bleu, intervalle en gris, carr en vert). Cette figure rcapitule les
diffrentes parties qui sont limines, ainsi que le paramtre utilis pour leur suppression.
Les rsultats semblent satisfaisants, nous observons la reconstruction de certaines branches
pour diffrentes valeurs de k (communes pour la squelettisation conditionne et la reconstruction). Nous observons galement que le filtrage (squelettisation conditionne et reconstruction)
pour le paramtre k 56 donne le squelette ultime du squelette curviligne donn en entre, cest
normal ici car il ny a plus de point graine ce stade, pour cette image ; cela nest pas valable par
exemple pour une courbe ouverte simple (il resterait un point isol qui serait graine).

11.10 Conclusion pour le cas 2D


Tous les cas tudis prcdemment napparaissent peut-tre pas, si le squelette curviligne en
entre de lalgorithme est le rsultat dune squelettisation curviligne partir dun objet initial
aprs les transformations 1 ou 2 (cf. section 8.2.2).
Le principal intrt de la mthode repose sur une suppression parallle de points simples et
une reconstruction par ajout en parallle de points simples, guide par les tiquettes ayant pour
valeur le numro de sous-itration laquelle ils ont t retirs.
la section 11.11, nous cherchons tendre notre tude au cas des images 3D binaires.

11.11 Extension au cas des images binaires 3D


Nous souhaitons maintenant tendre ltude prcdente au cas des images binaires 3D.
Nous supposons disposer en entre de lalgorithme de filtrage dun squelette curviligne ou
surfacique (dans ce dernier cas tous les points simples sont terminaux de surface). Le schma
de lalgorithme de filtrage reste inchang, la seule modification concerne les points graines :
nous considrons comme points graines initialement, les points terminaux de courbe pour les
squelettes curvilignes, et les points terminaux de surface pour les squelettes surfaciques.
Considrons lobjet initial de la figure 11.11 (a), qui est un plan dpaisseur 1 et de largeur
5 ; cet objet est un squelette surfacique. Mme si lobjet ne prsente pas de barbules, nous nous

236

Filtrage topologique dimages binaires 2D

Filtrage(X, k) :
Y = Squelette conditionn(X, k) (voir ci-dessous) puis
Rsultat = Reconstruction(Y, k) (voir ci-dessous)
(avec des phases intermdiaires de squelettisation curviligne,
voir sections 11.7.4 et 11.7.6).

Squelette conditionn(X, k) : (k adquat - voir la section 11.3.1)


S =X
Pour i allant de 1 k faire
Si i est impair alors Y ={y S i1 tel que y est -simple }
Sinon Y ={y S i1 tel que y est -simple }
tiqueter les points de Y i
S i =S i1 \ Y
Fin Pour
Tout point de lobjet initial non tiquet prend la valeur P T _SQUELET T E
0

Reconstruction(Y, k) :
En // Dtection des points graines (point isol ou point(s) extrmit(s))
Si nombre de points graines > 0 alors continuer=V RAI sinon continuer =F AUX
itration=k
Tant que itration> 0 et continuer== V RAI
continuer = F AUX
En // Pour tout point x tel que tiquette(x) == P T _GRAINE
En // Pour tout y  (x) tel que tiquette(y) ==itration
et y - ou -simple pour lobjet au dbut
de la sous-itration, voir section 11.3.3
Faire tiquette(y)=P T _F UT URE_GRAINE et continuer=V RAI
En // P T _GRAINE = P T _SQUELET T E
Si itration== 1 alors En // P T _F UT URE_GRAINE = P T _SQUELET T E
Sinon En // P T _F UT URE_GRAINE = P T _GRAINE
itration = itration1
Fin Tant que
Le rsultat est lensemble des points tiquets P T _SQUELET T E

Notations : = pour laffectation et == pour le test de lgalit.

Algorithme 16: Algorithme de filtrage.

11.11 Extension au cas des images binaires 3D

Objet initial

237

Squelette ultime

Squelette curviligne

Squel. cond. (k = 2)

Rec. (k = 2)

Squel. cond. (k = 7)

Rec. (k = 7)

Squel. cond. (k = 11)

Rec. (k = 11)

Squel. cond. (k = 13)

Rec. (k = 13)

Squel. cond. (k = 51)

Rec. (k = 51)

Squel. cond. (k = 56)

Rec. (k = 56)

F IG . 11.9 Filtrages pour diffrentes valeurs de paramtre k partir du squelette curviligne 2D


de lobjet lettre A (images inverses).
attendons ce quil soit recouvr par lalgorithme de filtrage. Aprs la squelettisation conditionne (k = 3), lobjet obtenu est un squelette curviligne (Fig. 11.11 (b)). Si nous prenons
comme graines les points terminaux de surface, seules les extrmits du squelette curviligne seront considres, et ltape de reconstruction ajoutera deux petits bouts de surface autour des
points extrmits (Fig. 11.11 (c)). La surface initiale nest pas entirement reconstruite.

238

Filtrage topologique dimages binaires 2D

51

56

11

13

F IG . 11.10 Filtrages pour diffrentes valeurs du paramtre k partir du squelette curviligne


2D de lobjet lettre A, et paramtres pour la suppression des parties entoures.

11.11 Extension au cas des images binaires 3D


2

2
2

2
2

2
2

2
2

2
3

2
3

3
3
2

3
3
2

3
2

239

2
1

2
1

2
2

(a)

1
2

(b)

1
2

1
2

2
2

(c)

F IG . 11.11 Effet de bord. (a) Squelette conditionn (k = 3) (Repr1), (b) (Repr3) et (c) reconstruction (les graines tant les points isols ou terminaux de surface) (Repr2).
Si lalgorithme est modifi de faon considrer comme points graines tous les points restants
la suite de ltape de noyau conditionn (c.--d. les points du squelette conditionn), dans ce cas
la surface initiale sera entirement reconstruite. Mais cette approche nest plus cohrente avec
le travail ralis en 2D. En effet, considrons lobjet 3D de la figure 11.12 (a). Dans ltape de
reconstruction, la barbule nest pas reconstruite si nous ne considrons que les points extrmits
comme points graines de notre reconstruction (Fig. 11.12 (c)) (cest galement le rsultat obtenu
pour cet objet considr dans le cas 2D). En revanche, si nous considrons tous les points du
squelette conditionn comme des points graines, la barbule est reconstruite (Fig. 11.12 (d)) (et
on retrouve lobjet initial), et lobjet initial comportant la barbule est retrouv.

(a)

(b)

(c)

(d)

F IG . 11.12 (a) Objet initial, (b) squelette conditionn (k = 2) (Repr3), (c) reconstruction (les
graines tant les points isols ou terminaux de surface) (Repr3) et (d) reconstruction (les graines
tant les points du squelette conditionn) (Repr3).
En fait, dans lexemple de la figure 11.11, nous pouvons considrer que le filtrage dun bout
de plan navait pas de sens, ou que le paramtre ntait pas judicieux ; leffet de bord tant plus
impressionnant dans le cas 3D que dans le cas 2D (voir Fig. 11.7).

240

Filtrage topologique dimages binaires 2D

la figure 11.13, sont reprsents les rsultats des filtrages pour diffrentes valeurs du paramtre k, sur un squelette curviligne 3D. Pour k = 2, une barbule est limine, et pour k 4 une
autre barbule est limine ; le rsultat est ici une courbe ouverte simple.
Aux figures 11.14, 11.15 et 11.16 sont reprsents les rsultats des filtrages pour diffrentes
valeurs du paramtre k, sur un squelette surfacique 3D.
Nous avons galement propos une reprsentation tableau des objets initiaux des figures
11.13 11.16 (singleton en bleu, intervalle en orange, carr en vert, cube en violet).
la figure 11.14, pour k 4, un effet de bord apparat (tout comme dans lexemple de
la figure 11.11) ; pour k 3, lobjet initial est retrouv (ce qui serait le cas de lobjet de la
figure 11.11 pour k 2. la figure 11.15, leffet de bord nest pas prsent pour k 6, et
est prsent pour k 7. Dans le cas k 6, lobjet initial est retrouv ; rien nest filtr, nous
pouvons considrer que toutes les surfaces sont significatives. la figure 11.16 est reprsent
lobjet visage compos dune face, de deux yeux, dun nez et dune bouche. Pour k 2,
lobjet est inchang, pour 3 k 4, les yeux disparaissent, pour 5 k 8, la bouche et le nez
disparaissent leur tour ; nous obtenons alors uniquement un plan propre, correspondant la
face. Pour k 9, nous retrouvons leffet de bord.

11.12 Conclusion pour le cas 3D


Il ny a pas de problme majeur pour le filtrage des squelettes curvilignes 3D, pas plus que
dans le cas 2D.
Dans le cas des squelettes 3D surfaciques, nos rsultats prsentent des effets de bord plus
importants que dans le cas des filtrages de squelettes 2D. En fait, cela est d un mauvais choix
du paramtre k ou des dimensions non ngligeables des parties que nous souhaitons filtrer par
rapport celles que nous souhaitons garder ; les problmes se situent gnralement au niveau des
jonctions de surface. Nanmoins, les rsultats semblent satisfaisants.

11.12 Conclusion pour le cas 3D

241

Objet initial

Objet initial

Squel. cond. (k = 1)

Squel. cond. (k = 2)

Squel. cond. (k = 3)

Squel. cond. (k = 4)

Squel. cond. (k = 5)

Squel. cond. (k = 6)

Squel. cond. (k = 7)

Squel. cond. (k = 8)

Squel. cond. (k = 9)

Rec. (k = 1)

Rec. (k = 2)

Rec. (k 4)

F IG . 11.13 Filtrages et reconstructions pour diffrentes valeurs du paramtre k, objet filaire.

242

Filtrage topologique dimages binaires 2D

Objet initial

Objet initial

Squel. cond. (k = 1)

Squel. cond. (k = 2)

Squel. cond. (k = 3)

Squel. cond. (k = 4)

Squel. cond. (k = 5)

Squel. cond. (k = 6)

Squel. cond. (k = 7)

Squel. cond. (k = 8)

Rec. (k 3)

Rec. (k 4)

Squel. cond. (k = 9)

F IG . 11.14 Filtrages et reconstructions pour diffrentes valeurs du paramtre k, objet plan.

11.12 Conclusion pour le cas 3D

243

Objet initial

Objet initial

Squel. cond. (k = 1)

Squel. cond. (k = 2)

Squel. cond. (k = 3)

Squel. cond. (k = 4)

Squel. cond. (k = 5)

Squel. cond. (k = 6)

Squel. cond. (k = 7)

Squel. cond. (k = 8)

Rec. (k 6)

Rec. (k 7)

Squel. cond. (k = 9)

F IG . 11.15 Filtrages et reconstructions pour diffrentes valeurs du paramtre k, objet pingpong.

244

Filtrage topologique dimages binaires 2D

Objet initial

Objet initial

Squel. cond. (k = 1)

Squel. cond. (k = 2)

Squel. cond. (k = 3)

Squel. cond. (k = 4)

Squel. cond. (k = 5)

Squel. cond. (k = 6)

Squel. cond. (k = 7)

Squel. cond. (k = 8)

Squel. cond. (k = 9)

Rec. (k = 1)

Rec. (k = 2)

Rec. (3 k 4)

Rec. (5 k 8)

Rec. (k 9)

F IG . 11.16 Filtrages et reconstructions pour diffrentes valeurs du paramtre k, objet visage.

11.13 Conclusion gnrale pour le filtrage dimages 2D ou 3D binaires

245

11.13 Conclusion gnrale pour le filtrage dimages 2D ou 3D


binaires
Nous avons propos des filtrages parallles de squelettes curvilignes dimages 2D ou 3D
binaires, et donn quelques rsultats de squelettes surfaciques dimages 3D binaires.
Dans le cas des squelettes curvilignes (2D ou 3D), les problmes mis en vidence se situent au
niveau des jonctions de courbe. En fait, nous liminons des parties de courbes ouvertes simples,
avec un paramtre appropri. Les pts ne sont pas tous limins, auquel cas ils tmoignent
de la gomtrie de lobjet et semblent devoir tre conservs. En gnral, nos rsultats semblent
satisfaisants.
Dans le cas des squelettes 3D surfaciques, nos rsultats semblent prsenter des effets de bord
plus importants que dans le cas de filtrages de squelettes 2D. En fait, cela est d un mauvais
choix du paramtre k ou des dimensions non ngligeables des parties que nous souhaitons
filtrer par rapport celles que nous souhaitons garder : les problmes se situent gnralement au
niveau des jonctions de surface. Nanmoins, les rsultats semblent galement satisfaisants.
Une tude portant sur une segmentation topologique de squelettes curvilignes dimages 3D
binaires [DLPB99a] [DLPB99b] [Dok00] (plus prcisment, du rseau vasculaire du foie) a t
rcemment ralise. Elle considrait lajout de points de faon itrative ; des problmes pouvaient
apparatre concernant les choix des points ajouter. Elle pourrait peut-tre bnficier de notre
tude afin dajouter des points de faon parallle, tout en prservant la topologie, et afin de
saffranchir de certains problmes comme la reconstruction de petites branches parasites, etc.
Cette tude confirme que le cadre des ordres semble prometteur pour la conception dopratuers parallles de traitement dimages.

246

Conclusion

Conclusion et perspectives
Notre contribution principale est divise en deux parties.
La premire est consacre la proposition de nouveaux algorithmes de squelettisation selon
lapproche topologie digitale.
Grce aux notions densemble P x et de point P -simple, nous avons propos des algorithmes
supprimant des points P x -simples, et supprimant plus de points que certains algorithmes dj
existants. Cette dmarche novatrice nous permet daffirmer que nos algorithmes, et ceux existants
desquels ils drivent, prservent bien la topologie ; aucune preuve supplmentaire nest exige
contrairement ceux existants. De plus, contrairement aux algorithmes dj existants supprimant
des points P -simples, nous navons besoin ni de phase prliminaire dtiquetage, ni de lexamen
dun voisinage tendu. Nous avons propos deux algorithmes de type sous-itrations dfinissant clairement les points supprimer, vitant galement lutilisation de templates gnralement
obtenues de faon empirique.
Nous avons galement montr, avec la seule notion de point P -simple, que sur trois algorithmes classiques fortement parallles de squelettisation dimages 3D binaires, un seul prservait rellement la topologie. Actuellement, nous travaillons en collaboration avec lauteur des
deux autres, afin de proposer une version corrige de ses deux algorithmes prservant la topologie.
Un travail important a galement t ralis afin dtudier en dtail, et dimplmenter, quelques algorithmes de squelettisation pour images 2D binaires et une grande partie de ceux proposs pour la squelettisation dimages 3D binaires. Cela nous a permis de mieux comprendre
leur fonctionnement, den reprer galement les limites. En effets, les rsultats obtenus par les
algorithmes classiques dpendent de la premire direction choisie, de la premire sous-maille
choisie, dune prfrence pour une direction de prservation (pour le cas des rubans dpaisseur
2, par exemple, dans les algorithmes fortement parallles). De plus ces algorithmes sont plutt
difficiles mettre en uvre : examen dun voisinage tendu (algorithmes fortement parallles),
lourdeur de lapproche directionnelle (templates, isomtries). En outre, les rsultats ne sont
pas forcment minces et bien centrs, ou prsentent un aspect dentel (cest le cas des squelettes
obtenus par les algorithmes utilisant des sous-mailles). Notons enfin la dfinition empirique de
point terminal de surface qui semble non satisfaisante.
Dans la seconde partie, partir de ltude de lhomotopie dans les ordres rcemment ralise
par Gilles Bertrand, nous avons driv des schmas simples et parallles de squelettisation, et de
faon pouvoir dcider dans un voisinage non tendu de la suppressibilit dun point. laide
dune transformation, multipliant nanmoins la taille de limage, nous obtenons des squelettes
minces, bien centrs. Nos algorithmes exigent un nombre ditrations de suppression du mme
ordre que celui requis par les algorithmes classiques (selon lapproche topologie digitale). Nous
donnons galement une dfinition plus formelle de la notion de point terminal de surface, utilisant
le concept darbre de la thorie des graphes. De plus, ces schmas simples de squelettisation
parallle ont t dclins pour traiter les images 2D, 3D binaires ou 2D en niveaux de gris.
Insistons sur le fait que nos algorithmes de squelettisation proposs selon lapproche topo-

247
logie discrte vitent ainsi les problmes rencontrs au cours de notre tude selon lapproche
topologie digitale.
De nombreux algorithmes de squelettisation, dans le cadre de la topologie digitale, utilisent
la notion de distance et produisent des squelettes bien centrs, mais pas forcment minces. Il
est peut-tre possible dobtenir des rsultats minces et bien centrs de faon parallle avec une
distance dans les ordres et de comparer avec les rsultats obtenus jusqu prsent. Cette notion
de distance pourrait galement nous permettre dapprofondir ltude de filtrage que nous avons
entreprise.
Une tude approfondie concernant les images 2D en niveaux de gris selon lapproche topologie discrte semble une perspective prometteuse, dune part afin de mieux cerner les problmes
concernant la slection en parallle des points et la valeur laquelle ils doivent tre abaisss en
parallle dune faon efficace ; et dautre part, en vue de pouvoir tendre certains de ces rsultats
aux images 3D en niveaux de gris.

Quatrime partie
Annexes

Annexe A
Algorithmes de squelettisation 2D
A.1 Introduction
Dans ce chapitre, nous proposons dtudier quelques algorithmes de squelettisation dimages
binaires 2D.
Pour chacune des classes dalgorithmes mises en vidence au chapitre 4, utilisant une stratgie sous-itrations directionnelles, sous-mailles ou fortement parallle, nous tudions un algorithme (ou plusieurs) y appartenant. Des comparaisons seront faites entre algorithmes de mme
classe ou de classes diffrentes. Nous mettrons en vidence les avantages et inconvnients de
chacune de ces classes. Il est parfois propos des explications permettant de comprendre la
conception dun algorithme B partir dun autre A dune mme classe ; B rsolvant les problmes de A. Enfin, nous proposons une liste de critres permettant dvaluer un algorithme
de squelettisation. Nous avons retenu un certain nombre des algorithmes prsents ici, et nous
donnons les squelettes obtenus par ceux-ci, pour une srie dimages la fin du chapitre.
Notons que la comprhension du fonctionnement des algorithmes pour images 2D permet
de comprendre plus aisment celle des algorithmes dimages binaires 3D, prsents au chapitre
suivant. Retenons que les algorithmes utiliss dans le cadre des images 2D en niveaux de gris
sont une adaptation des algorithmes pour images 2D binaires.
Dans la troisime partie de ce mmoire (section 8.5) a t propos un algorithme de squelettisation dimages 2D binaires selon une approche topologie discrte ; les rsultats obtenus par
cet algorithme ont t compars avec ceux retenus la fin de ce chapitre.

A.2 Notations et reprsentations


A.2.1 Notations
Les voisins dun point central P dune configuration sont dsigns suivant la figure A.1. Le
nombre A(P ) est le nombre de motifs 01 apparaissant dans lensemble ordonn P 1 , P2 , . . . , P8 ,
ensemble constitu des points du 8-voisinage de P . Cest le nombre de composantes 4-connexes
dans le 8-voisinage de P . Le nombre de voisins de P dans lobjet est not par B(P ) ; nous avons

Algorithmes de squelettisation 2D

252
P1
P8
P7

P2
P
P6

P3
P4
P5

F IG . A.1 Dsignation des points voisins de P .


1
0
1

0 1
P 1
1 1
(a)

0
1
0

1 0
P 0
0 0
(b)

F IG . A.2 Illustration de la non-ncessit de A(P ) = 1 pour caractriser des points simples.


B(P ) = P1 + P2 + . . . + P8 , avec Pi = 1 sil sagit dun point de lobjet, ou 0 sil sagit dun
point du complmentaire. Le nombre de composantes 8-connexes dans le 8-voisinage de P est
dnot par C(P ). La condition C(P ) = 1 et la condition P est 4-adjacent au complmentaire
de lobjet caractrisent les points 8-simples.
Nous avons A(P ) = 1 si et seulement si N 8 (P ) a exactement une composante 4-connexe
de X et une composante 4-connexe de X. Puisque quune composante 4-connexe est 8-connexe,
nous avons :
si A(P ) = 1 et P est 4-adjacent X alors P est 4-simple ; la rciproque est fausse (cf. Fig.
A.2 (a), P est 4-simple et A(P ) = 2),
si A(P ) = 1 et P est 4-adjacent X alors P est 8-simple ; la rciproque est fausse (cf. Fig.
A.2 (b), P est 8-simple et A(P ) = 2).
Notons dir(P ), lun des voisins de P selon les 8 directions possibles : Nord Ouest, Nord,
Nord Est, Ouest, Est, Sud Ouest, Sud ou Sud Est. Considrons dir, une direction
parmi Nord, Sud, Est, Ouest, un point P tel que dir(P ) appartient au complmentaire est
appel point de bord dir. Considrons dir, une direction parmi Nord Ouest, Nord Est,
Sud Ouest ou Sud Est, scrivant sous la forme dir1 dir2 , un point P tel que dir(P ),
dir1 (P ) et dir2 (P ) appartiennent au complmentaire est dit coin dir.

A.2.2 Diffrentes reprsentations adoptes


Afin dillustrer les rsultats obtenus par certains algorithmes, nous adoptons les reprsentations suivantes :
REPR1 (image) : objet initial et le squelette obtenu avec lalgorithme considr. En lgende, au dessous du squelette, se trouvent le nom de lalgorithme, et entre parenthses
successivement le nombre total de points retirs, le numro de la dernire (sous-)itration
effective de suppression et le nombre moyen de points supprims par (sous-)itration,
REPR2 (image) : objet initial et certaines ou toutes les (sous-)itrations. Nous reprsentons
en gris, les points supprims jusqu litration (ou sous-itration) considre,

A.3 Algorithmes de squelettisation de type sous-itrations directionnelles

253

REPR3

(image) : objet initial et certaines ou toutes les (sous-)itrations. Nous reprsentons en gris, les points supprims par rapport litration prcdente. Sous chacune des
figures sont indiqus le numro de la (sous-)itration considre (ite = i, pour la i-ime
(sous-)itration) et gnralement, la dernire figure apparaissant, correspond la dernire
(sous-)itration effective de suppression,
REPR4 (texte) : objet initial (ventuellement) et le squelette obtenu avec lalgorithme considr ; une * reprsente un point de lobjet ou du squelette, un chiffre dsigne litration
durant laquelle le point, cette position dans lobjet initial, a t supprim.

A.3 Algorithmes de squelettisation de type sous-itrations directionnelles


Nous examinons dabord trois algorithmes de type 2 sous-itrations, puis un algorithme de
type 4 sous-itrations.

A.3.1 Algorithme de Zhang et Suen - 2 sous-itrations (ZS) [ZS84]


Cest un algorithme parallle de type deux sous-itrations. Le schma est dcrit par lalgorithme 17.
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions suivantes :
2 B(P ) 6
A(P ) = 1
P4 = 0 ou P6 = 0 ou P2 = P8 = 0 (itrations impaires)
P2 = 0 ou P8 = 0 ou P4 = P6 = 0 (itrations paires)

(A.1)
(A.2)
(A.3)
(A.4)

Jusqu ce quil ny ait plus de point supprim durant 2 sous-itrations successives.


Algorithme 17: Algorithme de Zhang et Suen (ZS).
La condition (A.1) permet la prservation des points extrmits (points 8-adjacents un point
de lobjet). Elle est telle que les points supprims sont 4-adjacents au complmentaire et 4adjacents lobjet. La condition (A.2) jointe la condition (A.1) cible alors des points la fois
4-simples et 8-simples. La condition (A.3) sattache retirer les points de bord Est ou Sud et les
coins Nord Ouest. La condition (A.4) sattache retirer les points de bord Nord ou Ouest et
les coins Sud Est.
Sur la figure A.3, sont reprsents les rsultats intermdiaires des diffrentes itrations de
suppression sur lobjet lettre H, la cinquime sous-itration tant la dernire durant laquelle
une suppression a eu lieu. Nous pouvons vrifier que lors des sous-itrations impaires, seuls des
points de bord Est ou Sud et des coins Nord Ouest ont t supprims (Fig. A.3(h), A.3(j),

Algorithmes de squelettisation 2D

254

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

(e) ite=4

(f) ite=5

(g) Objet
initial

(h) ite=1

(i) ite=2

(j) ite=3

(k) ite=4

(l) ite=5

F IG . A.3 Lettre H et tapes de la squelettisation (algorithme ZS) (REPR2 en haut et REPR3


en bas).

A.3(l)) ; et lors des itrations paires, seuls des points Nord ou Ouest et des coins Sud Est ont
t supprims (Fig. A.3(i), A.3(k)).

Malheureusement, cet algorithme comporte des imperfections, releves par H.E. L et P.S.P.
Wang [LW86].
PROB1 : si on considre un petit bruit (Fig. A.4(a)), celui-l peut empcher une squelettisation homogne et tre la cause de la prservation de branches non dsires (Fig.
A.4(f)),
PROB2 : un deuxime problme est la rduction excessive des lignes obliques dpaisseur
2, en 2 points (Fig. A.5),
PROB3 : le troisime problme, et non le moindre, est la disparition de certains motifs :
par exemple, le carr de 2 2 points disparat au bout dune itration. Cette remarque
intervient galement pour des objets de plus grande taille se rduisant, avec cet algorithme,
en un carr de 2 2 points une certaine itration ; et disparaissant alors lors de litration
suivante. Rappelons que cet objet est un 8-MNS (voir section 2.6.2 au chapitre 2).
Remarquons que rien nest dit propos de la connexit de limage considrer. Par rapport la lettre H bruite (Fig. A.4), il faudrait utiliser la (8, 4)-connexit, sinon lobjet serait
dconnect (voir le point le plus en haut et droite) ; nanmoins le problme PROB3 persiste.
Nous avons reprsent le rsultat de la squelettisation de composantes composes de trois points
mutuellement 8-adjacents (qui sont galement des 8-MNS) (Fig. A.6).

A.3 Algorithmes de squelettisation de type sous-itrations directionnelles

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

(e) ite=4

255

(f) ite=5

F IG . A.4 Lettre H bruite et tapes de la squelettisation (algorithme ZS) (REPR2).

* *
* *
* *
* *
* *
* *

2 1
4 3
* 5
5 *
3 4
1 2

F IG . A.5 rosion excessive (algorithme ZS) : cette ligne oblique dpaisseur 2 se rduit en 2
points (REPR 4).

* *
*

* *
*

* 1
1

1 *
1

*
* *

*
* *

1
* 1

1
1 *

F IG . A.6 Diffrents coins et leurs squelettes (algorithme ZS) (REPR 4).

Algorithmes de squelettisation 2D

256

A.3.2 Algorithme de L et Wang - 2 sous-itrations (LW) [LW86]


La condition (A.1) de lalgorithme de Zhang et Suen (ZS) (cf. section A.3.1) est remplace
par la condition (A.5) (voir lalgorithme 18) ; on obtient ainsi lalgorithme de L et Wang (LW).

3 B(P ) 6

(A.5)

Algorithme 18: Algorithme (fragment) de L et Wang (LW) (cette condition remplace la condition (A.1) de lalgorithme de Zhang et Suen (ZS)).
Cet algorithme propose une solution possible au problme PROB2 relev auparavant. Les
points extrmits sont maintenant les points voisins seulement dun ou de deux points 4-adjacents.
Avec cette variante, aucun point des objets des figures A.5 et A.6 nest limin.
Mais pour certains, le fait de ne pas amincir du tout les bandes obliques dpaisseur 2 est galement un problme (PROB4). En fait, une solution acceptable (selon certains auteurs) consiste
rduire un ruban oblique dpaisseur 2 en une ligne oblique. Les deux autres problmes (PROB1
et PROB3) persistent avec cet algorithme.

A.3 Algorithmes de squelettisation de type sous-itrations directionnelles

257

A.3.3 Algorithme de Guo et Hall - 2 sous-itrations (GH_A1) [GH89]


Cest une adaptation de lalgorithme de Zhang et Suen (ZS) (ou de sa variante par L et
Wang (LW), afin de prserver la topologie (le problme PROB3 est alors rsolu) et dobtenir des
courbes plus minces (PROB4) sans rosion excessive (PROB2).
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions suivantes :
C(P ) = 1
2 N(P ) 3

(A.6)
(A.7)

(P2 P3 P5 ) P4 = 0 (itrations impaires)

(A.8)

(P6 P7 P1 ) P8 = 0 (itrations paires)

(A.9)

avec :
N(P ) = Min[N1 (P ), N2(P )]
N1 (P ) = (P1 P2 ) + (P3 P4 ) + (P5 P6 ) + (P7 P8 )
N2 (P ) = (P2 P3 ) + (P4 P5 ) + (P6 P7 ) + (P8 P1 )

(A.10)
(A.11)
(A.12)

Jusqu ce quil ny ait plus de point supprim durant 2 sous-itrations successives.


Algorithme 19: Algorithme de Guo et Hall (GH_A1).
Le schma est dcrit par lalgorithme 19. Le nombre N(P ) (condition (A.10)) est tel que les
points supprims sont 4-adjacents un point du complmentaire. Les points voisins dun seul
point de lobjet ou de deux points de lobjet 4-adjacents ne peuvent alors tre supprims, car
N(P ) = 1 et ils ne vrifient pas la condition (A.7). Les conditions (A.6) et (A.7) ciblent les
points 8-simples. La condition (A.10) permet galement, par exemple, la suppression de points
dans les rubans inclins dpaisseur 2 (Fig. A.7), contrairement lalgorithme LW. La condition
(A.8) cible certains points de bord Nord ou Est. La condition (A.9) cible certains points de bord
Sud ou Ouest.

*
*

*
*

*
*

*
*

*
*

*
1

*
1

*
1

*
1

*
1

F IG . A.7 Ruban oblique dpaisseur 2 et son squelette (algorithme GH_A1) (REPR 4).

Algorithmes de squelettisation 2D

258

A.3.4 Algorithme de Rosenfeld - 4 sous-itrations (ROS) [Ros75] [RK82]


Cest un algorithme parallle de type quatre sous-itrations. Le schma est dcrit par lalgorithme 20.
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions suivantes :
C(P ) = 1
P nest pas un point extrmit
Pi = 0

(A.13)
(A.14)
(A.15)

i prend les valeurs 2, 6, 4, 8, 2, 6, 4, . . . pour les sous-itrations successives


Jusqu ce quil ny ait plus de point supprim durant 4 sous-itrations successives.
Algorithme 20: Algorithme de Rosenfeld (ROS).
La condition (A.13) associe la condition (A.15) permet de cibler les points 8-simples. Cet
algorithme supprime en parallle les points 8-simples non extrmits, qui sont galement points
de bord selon la direction Nord (resp. Sud, Est, Ouest) pour la j-ime sous-itration, avec
j[mod4] valant 1 (resp. 2, 3, 0). Les conditions (A.14) et (A.15) impliquent : 2 B(P ) 7. Se
reporter aux figures A.33 A.40 pour des squelettisations sur diffrents objets. Intuitivement, un
meilleur centrage des squelettes est obtenu par lutilisation de quatre sous-itrations plutt que
deux.

A.4 Algorithmes de squelettisation de type sous-mailles


Dans cette section, nous prsentons un seul algorithme de type sous-mailles, celui de Guo et
Hall (algorithme GH_A2) (section A.4.1). Cet algorithme utilise deux sous-mailles.

A.4.1 Algorithme (GH_A2) [GH89]


Limage est divise en sous-ensembles distincts appels sous-mailles. Les auteurs ont propos un amincissement parallle nutilisant que deux sous-mailles. Limage est divise en deux
sous-mailles selon le motif dun chiquier (voir Fig. A.8). Les sous-mailles sont actives selon
lordre 1, 2, 1, 2, . . .. Seuls les points dune mme sous-maille active peuvent changer de statut.
Le schma est dcrit par lalgorithme 21.
Les conditions (A.16) et (A.17) ciblent prcisment les points 8-simples et la condition
(A.18) prserve les points extrmits de la suppression (points 8-adjacents un seul autre point
de lobjet).
Remarque : Notons que lon peut ne pas obtenir le mme rsultat si lon permute lordre
dactivation des mailles ou lorsque lon considre un translat de lobjet (PROB _SM) (voir ciaprs).

A.4 Algorithmes de squelettisation de type sous-mailles

259

Rpter
Pour chaque sous-maille faire
Supprimer en parallle les points P de lobjet et de la sous-maille active
vrifiant les conditions suivantes :
C(P ) = 1

(A.16)

P est 4-adjacent X
B(p) > 1

(A.17)
(A.18)

Jusqu ce quil ny ait plus de point supprim durant 2 sous-itrations successives.


Algorithme 21: Algorithme de Guo et Hall (GH_A2).
Conformment ce que nous avons vu la section 2.6.2.2, cet algorithme prserve la topologie car les seuls MNS constitus de points diagonaux (seule possibilit pour un ensemble connexe
compos de deux points dune mme sous-maille) sont les composantes connexes constitues de
deux points, et celles-ci sont prserves par la condition (A.18).
1
2
1
.

2
1
2
.

1
2
1
.

2
1
2
.

.
.
.

.
.
.

.
.
.

F IG . A.8 Motif des sous-mailles utilises par lalgorithme GH_A2.

A.4.2 Comparaisons
Quelques comparaisons entre les algorithmes ZS, LW et GH_A2 sur des rubans horizontaux
ou diagonaux nous permettent de dresser certains avantages et inconvnients de lalgorithme
GH_A2.
A.4.2.1 Cas des rubans horizontaux
Soit un ruban horizontal de taille m n (m > n). Les algorithmes ZS ou LW utilisent
n 1 itrations pour squelettiser ce ruban. Une approche compltement parallle ncessiterait
n/2 itrations (q dsigne la partie entire de q), en essayant dobtenir un rsultat mince.
Lalgorithme GH_A2 ncessite un nombre infrieur ou gal n/2 + 1 itrations ; lingalit
large provient de la parit de la largeur n du ruban considr (voir exemples ci-aprs).
Considrons dabord un ruban de largeur 9 et de hauteur 5 (m = 9, n = 5). Si le coin
suprieur est dans la sous-maille 1 (resp. 2), le squelette obtenu est reprsent la figure A.9 (a)
(resp. A.9 (b)) (PROB _SM) (voir galement la figure A.12). Le squelette est obtenu la suite de
3(= n/2 + 1) itrations effectives de suppression.

Algorithmes de squelettisation 2D

260
1
2
1
2
1

2
*
2
*
2

1
2
*
2
1

2
3
*
3
2

1
2
*
2
1

2
3
*
3
2

1
2
*
2
1

2
*
2
*
2

*
1
2
1
*

1
2
1
2
1

1
*
3
*
1

2
3
*
3
2

1
2
*
2
1

(a)

2
3
*
3
2

1
2
*
2
1

2
3
*
3
2

1
*
3
*
1

*
1
2
1
*

(b)

F IG . A.9 Ruban de largeur 9 et de hauteur 5 (n impair) (algorithme GH_A2) (REPR 4).


1
2
1
2
1
*

2
*
2
3
*
1

1
2
*
*
3
2

2
3
*
3
2
1

1
2
3
*
3
2

2
3
*
3
2
1

1
2
*
*
3
2

2
*
2
3
*
1

1
2
1
2
1
*

F IG . A.10 Ruban de largeur 9 et de hauteur 6 (n pair) (algorithme GH_A2) (REPR 4).

Considrons maintenant un ruban de largeur 9 et de hauteur 6 (m = 9, n = 6). Si le coin


suprieur est dans la sous-maille 1, le squelette obtenu est celui de la figure A.10. Si le coin
suprieur est dans la sous-maille 2, le squelette est le symtrique par rapport laxe horizontal
de celui de la figure A.10 (PROB _SM) (voir galement la figure A.12). Le squelette est obtenu
la suite de 3(= n/2) itrations effectives de suppression.
1
2
2
2
1

2
3
4
3
1

2
4
*
3
1

2
4
*
3
1

2
4
*
3
1

2
4
*
3
1

2
4
4
3
1

2
3
3
2
1

1
1
1
1
1

1
2
2
2
2
1

2
3
4
4
3
1

2
4
5
5
3
1

(a)
1
2
2
2
1

2
3
*
3
1

2
4
*
3
1

2
4
*
3
1

(c)

2
4
*
5
3
1

2
4
*
5
3
1

2
4
*
5
3
1

2
4
5
4
3
1

2
3
3
3
2
1

1
1
1
1
1
1

2
4
*
5
3
1

2
4
*
5
3
1

2
4
*
4
3
1

2
3
3
3
2
1

1
1
1
1
1
1

(b)
2
4
*
3
1

2
4
*
3
1

2
4
4
3
1

2
3
3
2
1

1
1
1
1
1

1
2
2
2
2
1

2
3
4
4
3
1

2
4
5
5
3
1

2
4
*
5
3
1

(d)

F IG . A.11 Ruban de largeur 9 et de hauteur 5 (resp. 6) avec lalgorithme ZS (a) (resp. (b)) ou
avec lalgorithme LW (c) (resp. (d)) (REPR 4).

A.4 Algorithmes de squelettisation de type sous-mailles

(a) Objet
initial

(b) ite=1

(c) ite=2

261

(d) ite=3

F IG . A.12 Rubans de largeur 9 et de hauteur 5 (dessus) et 6 (dessous) et tapes de la squelettisation (algorithme GH_A2) (REPR3).

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

(e) ite=4

(f) ite=5

F IG . A.13 Rubans de largeur 9 et de hauteur 5 (dessus) et 6 (dessous) et tapes de la squelettisation (algorithme ZS) (REPR3).

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

(e) ite=4

(f) ite=5

F IG . A.14 Rubans de largeur 9 et de hauteur 5 (dessus) et 6 (dessous) et tapes de la squelettisation (algorithme LW) (REPR3).
Avec les algorithmes ZS et LW, 4(= (n 1)) (resp. 5(= (n 1))) itrations sont requises
pour obtenir un squelette de lobjet de hauteur impaire (n = 5), Fig. A.11 (a) ou (c) (resp. de
largeur paire (n = 6), Fig. A.11 (b) ou (d)) (voir galement les figures A.13 et A.14).

Algorithmes de squelettisation 2D

262
A.4.2.2 Cas des rubans diagonaux

Nous donnons maintenant quelques squelettes de rubans inclins (dpaisseur de parit diffrente) obtenus avec les algorithmes ZS (Fig. A.16 (a) et (b) et Fig. A.18), LW (Fig. A.16 (c)
et (d) et Fig. A.19) et GH_A2 (Fig. A.15 et A.17).
Remarque : Sur ces quelques figures, les algorithmes ZS et LW ncessitent moins de sousitrations pour obtenir un squelette que lalgorithme GH_A2 ; nanmoins le squelette obtenu
nest pas toujours aussi mince que celui obtenu avec lalgorithme GH_A2.
1

*
1

1
*
1

2
*
2
1

1
2
*
2
1

1
1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
2

(a)

*
1

1
*
1

1
*
1

1
*

2
*
2
1

1
2
*
2
1

2
3
*
3
2
1

2
3
*
3
2
1

2
3
*
3
2
1

2
3
*
3
2
1

2
3
*
3
2

2
*
2
1

2
*
2

*
1

(b)

F IG . A.15 Rubans inclins de largeur (a) 5, (b) 6 (algorithme GH_A2) (REPR 4).

A.4.2.3 Cas dun autre ruban inclin


Considrons le ruban inclin de la figure A.20. Linclinaison du ruban (135 degrs) est telle
que tous les points du bord sont dans une mme sous-maille. Sils appartiennent la sous-maille
1, on obtient les trois mmes squelettes avec les algorithmes ZS, LW et GH_A2 (Fig. A.20),
et 5 itrations sont ncessaires lobtention du squelette (voir galement la figure A.21). Si
ces points de bord appartiennent la sous-maille 2, lalgorithme GH_A2 requiert une itration
supplmentaire.
Nous pouvons noter lefficacit (du point de vue du nombre de sous-itrations de suppression)
des algorithmes ZS et LW sur cet objet. En effet, lors dune itration impaire de lun de ces
algorithmes, les points Est ou Sud et les coins Nord Ouest sont retirs ; les points Nord
dun tel ruban sont galement des points Est ou Sud ou Nord Ouest, les points Ouest sont
galement des points Est ou Sud ou NordOuest ; dans une mme itration des points de bord
des quatre directions peuvent alors tre retirs simultanment ; le mme raisonnement est valable
pour des itrations paires. Sur un tel objet, la squelettisation opre par suppression homogne de
couches de points. Le bon centrage du squelette en est une consquence immdiate.

A.4.3 Conclusion
En conclusion, nous pouvons retenir que les squelettes obtenus prsentent gnralement un
aspect dentel (voir les figures A.12 et A.33 A.40). En revanche, et cela est vrai galement en

A.4 Algorithmes de squelettisation de type sous-mailles


1
1

2
1

*
2
1

2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
1

1
*
1

2
1

1
*

*
2
1

2
*
2
1

2
*
*
2
1

263
1
2
*
*
2
1

*
1

*
2
1

2
*
2
1

1
2
*
2
1

(c)

1
2
*
*
2
1

(a)
*

1
2
*
*
2
1

1
2
*
*
2
1

1
2
*
*
1

1
2
*
1

1
*
1

1
*

1
2
*
*
2
1

1
2
*
*
1

1
2
*
1

1
*
1

1
*

(b)
*
1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
2
1

1
2
*
1

*
1

1
*
1

*
2
1

1
*

2
*
2
1

2
*
*
2
1

1
2
*
*
2
1

1
2
*
*
2
1

1
2
*
*
2
1

(d)

F IG . A.16 Rubans inclins de largeur 5 (resp. 6) avec lalgorithme ZS (a) (resp. (b)) ou
avec lalgorithme LW (c) (resp. (d)) (REPR 4).

3D, dune manire gnrale, il est plus facile de montrer quun algorithme oprant par suppression de points simples prserve la topologie sil utilise la technique des sous-mailles (pour un
nombre adquat de sous-mailles, bien dfinies), plutt que sil utilise la stratgie directionnelle
ou sil est fortement parallle.

Algorithmes de squelettisation 2D

264

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

F IG . A.17 Rubans inclins de largeur 5 (dessus) et 6 (dessous) et tapes de la squelettisation


(algorithme GH_A2) (REPR3).

(a) Objet
initial

(b) ite=1

(c) ite=2

F IG . A.18 Rubans inclins de largeur 5 (dessus) et 6 (dessous) et tapes de la squelettisation


(algorithme ZS) (REPR3).

(a) Objet
initial

(b) ite=1

(c) ite=2

F IG . A.19 Rubans inclins de largeur 5 (dessus) et 6 (dessous) et tapes de la squelettisation


(algorithme LW) (REPR3).

A.4 Algorithmes de squelettisation de type sous-mailles

1
2
1

1
2
3
2
1

1
2
3
4
3
2
1

1
2
3
4
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

265

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
*
5
4
3
2
1

1
2
3
4
5
4
3
2
1

1
2
3
4
3
2
1

1
2
3
2
1

1
2
1

F IG . A.20 Ruban inclin (algorithmes ZS, LW, GH_A2) (REPR 4).

(a) Objet
initial

(b) ite=1

(c) ite=2

(d) ite=3

(e) ite=4

(f) ite=5

F IG . A.21 Ruban inclin avec les tapes de squelettisation (algorithmes ZS, LW, GH_A2)
(REPR3).

Algorithmes de squelettisation 2D

266

A.5 Algorithmes fortement parallles


A.5.1 Algorithme de Holt, Stewart, Clint et Perrott (HSCP) [HSCP87]
Cest un algorithme de type fortement parallle, qui ncessite un support de taille 16 points.
Le schma de squelettisation est dcrit par lalgorithme 22. Un point est retir sil vrifie la
condition a) et si ses voisins ne vrifient aucune des trois conditions de la condition b). Certains
des voisins tests dans la condition b) utilisent la condition a), ce qui explique lutilisation dun
support de taille 4 4.
Notons que les conditions (A.19) et (A.20) sont les mmes que les conditions (A.1) et (A.2)
de lalgorithme (ZS), cf. section A.3.1. La condition (A.21) prserve certains points de bord
Ouest dans une bande verticale dpaisseur 2 (Fig. A.22). La condition (A.22) prserve certains
points de bord Nord dans une bande horizontale dpaisseur 2 (Fig. A.22). La condition (A.23)
prserve au moins un point dans un carr 2 2, ce qui est une solution au problme PROB3. En
revanche, le problme PROB2 persiste. En effet, pour lobjet initial ruban oblique dpaisseur 2
(objet gauche, Fig. A.5), le squelette obtenu par cet algorithme est le mme que celui obtenu
avec lalgorithme de Zhang et Suen (Fig. A.5, droite).

Condition a) :
2 B(P ) 6
A(P ) = 1

(A.19)
(A.20)

Condition b) :
P2 = P6 = 1 et P4 a t retenu dans ltape a)
P4 = P8 = 1 et P6 a t retenu dans ltape a)
P4 , P5 , P6 ont t retenus dans ltape a)

(A.21)
(A.22)
(A.23)

Rpter
Supprimer en parallle tout point de lobjet vrifiant la condition a)
sauf ceux qui vrifient au moins lune des trois conditions de la condition b)
Jusqu ce quil ny ait plus de point supprim durant une itration.
Algorithme 22: Algorithme de Holt, Stewart, Clint et Perrott (HSCP).
Les auteurs proposent galement une amlioration de lalgorithme afin dliminer des motifs
spciaux comme celui, par exemple, consistant en un point central entour de 7 points et 4-voisin
dun point du complmentaire de lobjet (dans ce cas B(P ) = 7, A(P ) = 1).

A.5 Algorithmes fortement parallles


*
*
*
*
*

*
*
*
*
*

*
*

*
*

*
*

267

*
*

*
*

*
*

*
*
*
*
1

1
1
1
1
1

*
1

*
1

*
1

*
1

*
1

1
1

F IG . A.22 Rubans horizontaux et verticaux dpaisseur 2 et leurs squelettes (algorithme


HSCP) (REPR 4).
1
1 1
Une variante consiste retirer lun des deux points de la ligne centrale du motif 1,

ce qui constitue un filtrage du squelette, intgr lors du processus de squelettisation.

A.5.2 Algorithme de Hall (HSCPN) [Hal89]


La condition (A.19) de lalgorithme de Holt, et al. (HSCP) est remplace par la condition
(A.24). Cet algorithme est not par HSCPN (voir lalgorithme 23).

3 B(P ) 6

(A.24)

Algorithme 23: Algorithme (fragment) de Hall (HSCPN) (cette condition remplace la condition
(A.19) de lalgorithme (HSCP)).
Cette variante (condition (A.24)) est la mme que celle apporte par L et Wang (condition (A.5)) lalgorithme de Zhang et Suen (condition (A.1)). Elle prserve totalement le ruban
oblique de la figure A.5. Cette variante vite le problme PROB2, cest alors le problme PROB4
qui survient, voir section A.3.2.

A.5.3 Algorithmes de Guo et Hall (GH_AFP) [GH92]


Z. Guo et R.W. Hall ont propos dans [GH92] trois algorithmes fortement parallles. Nous
les dcrivons ici, et montrons succinctement lamlioration apporte par le troisime par rapport
aux deux premiers.

Algorithmes de squelettisation 2D

268
A.5.3.1 Algorithme GH_AFP1

Cest un algorithme fortement parallle utilisant un support de 11 points. Le schma est dcrit
par lalgorithme 24.
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions suivantes :

A(P ) = 1

(A.25)

P est 4-adjacent X
B(P ) > 2
L(P ) = 0

(A.26)
(A.27)
(A.28)

avec L(P ) = [(P2 P6 Q2 ) (P3 P4 P5 ) (P7 P8 P1 )] (P4 P8 Q1 )


et les points Q1 et Q2 sont tels que :
P1 P2 P3
Q1 P8 P P4
P7 P6 P5
Q2
Jusqu ce quil ny ait plus de point supprim durant une itration.
Algorithme 24: Algorithme de Guo et Hall (GH_AFP1).
Soit L(P ) = D(P ) E(P ) avec D(P ) = [(P2 P6 Q2 ) (P3 P4 P5 ) (P7 P8 P1 )] et
E(P ) = P4 P8 Q1 . Si P est un point de bord Est dans un ruban vertical dpaisseur 2, alors
E(P ) = 1 et P est prserv ; si P est un point de bord Nord dans un ruban horizontal, et sil
existe un voisin appartenant lobjet parmi P 3 , P4 et P5 et un voisin appartenant lobjet parmi
P7 , P8 et P1 alors D(P ) = 1 et P est prserv. Cela entrane que la bande Ouest dun ruban
vertical dpaisseur 2 est limine et que la bande Sud dun ruban horizontal dpaisseur 2 est
supprime (voir Fig. A.23). Les rubans diagonaux dpaisseur 2 ne sont pas amincis (PROB4) ;
cela est d aux conditions (A.25) et (A.27) (Fig. A.23).
1
1
1
1
1
1

*
*
*
*
*
*

1 *
1 *

1 * * * * * 1
1 1 1 1 1 1 1

* *
* *
* *
* *
* *

F IG . A.23 Squelettisations avec lalgorithme GH_AFP1 (rubans) (REPR4).

A.5 Algorithmes fortement parallles

269

A.5.3.2 Algorithme GH_AFP2


Cest un algorithme fortement parallle utilisant un support de 11 points. Le schma est dcrit
par lalgorithme 25.
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions suivantes :

A(P ) = 1

(A.29)

P est 4-adjacent X
B(P ) > 2

(A.30)
(A.31)

et le voisinage de P ne satisfait aucun des motifs suivants :


0
1 1
0 0 0
1 P 1 , 0 1 P 0 , 0 1 P 0
1 1 1
1 1
1 1 0
0
0
Jusqu ce quil ny ait plus de point supprim durant une itration.
Algorithme 25: Algorithme de Guo et Hall (GH_AFP2).
Les motifs permettent respectivement de ne pas perdre les rubans horizontaux ou verticaux
dpaisseur 2, ou un carr 2 2. Ici, sexprime le compromis entre pleinement parallle et le
bon centrage du squelette. En effet, une direction de sauvegarde est impose afin de prserver
des points ; par exemple, une ligne de points de bord Nord sera prserve dans les rubans horizontaux dpaisseur 2 (premier motif de la seconde condition) (tout comme dans lalgorithme
GH_AFP1). Cet algorithme namincit pas non plus les rubans diagonaux dpaisseur 2 (PROB4)
(Fig. A.24).
1
1
1
1
1
1

1
*
*
*
*
1

1 *
1 1

1 * * * * * 1
1 1 1 1 1 1 1

* *
* *
* *
* *
* *

F IG . A.24 Squelettisations avec lalgorithme GH_AFP2 (rubans) (REPR4).

Algorithmes de squelettisation 2D

270
A.5.3.3 Algorithme GH_AFP3

Cest un algorithme fortement parallle utilisant un support de 11 points. Le schma est dcrit
par lalgorithme 26.
Rpter
Supprimer en parallle les points P de lobjet vrifiant les conditions de GH_AFP2
ou si le voisinage de P satisfait lun des motifs suivants :
1
0

0 0
P 0 ,
1

0 0
0 P 1
1 0

Jusqu ce quil ny ait plus de point supprim durant une itration.


Algorithme 26: Algorithme de Guo et Hall (GH_AFP3).
Cet algorithme permet lobtention de rsultats plus minces quavec lalgorithme GH_AFP2.
Les rubans obliques dpaisseur 2 sont maintenant amincis (Fig. A.25).
1
1
1
1
1
1

1
*
*
*
*
1

1 *
1 1

1 * * * * * 1
1 1 1 1 1 1 1

1 *
1 *
1 *
1 *
* *

F IG . A.25 Squelettisations avec lalgorithme GH_AFP3 (rubans) (REPR4).

A.5.4 Algorithme de Chin, Wan, Stover et Iverson (CWSI) [CWSI87]


Cest un algorithme de type fortement parallle dun support de 15 points. Le schma est
dcrit par lalgorithme 27. Il est compos de thinning templates ciblant des candidats la suppression auxquelles est ncessaire dadjoindre des restoring templates, afin de ne pas supprimer
des rubans horizontaux ou verticaux dpaisseur 2 (y compris le carr 2 2) (Fig. A.26). Cet
algorithme propose galement deux srie de trimming templates, qui, en quelque sorte, ralisent
un filtrage pendant le processus de suppression de points. La premire srie consiste retirer soit
des points au-dessus ou au-dessous de segments de droites horizontales, soit des points gauche
ou droite de segments de droites verticales. La seconde srie retire des points extrmits de
droites diagonales. Les auteurs prtendent que de telles lignes se rduisent en un point et quil
est impossible de dterminer localement sil sagit de points extrmits de lignes droites ou de
points de lignes inesthtiques. En fait, nous avons remarqu que ces derniers motifs font quune
composante constitue uniquement de deux points diagonaux (ou un objet qui se rduit en une
telle composante, voir la figure A.27) disparat ; la topologie nest alors pas prserve (PROB3).

A.5 Algorithmes fortement parallles

271

Rpter
Supprimer en parallle les points P de lobjet qui vrifient
au moins une des thinning ou trimming templates,
et qui ne vrifient pas une restoring template :

0
1
x

0 0
P 1
1 x
(a)

x
1
x

0
P
1
(e)

0
, 0
0

1 x
x 1 x
x
P 1 , 1 P 1 , 1
1 x
0 0 0
x
(b)
(c)

0
0
0 , 0
x
x

0 x
P 1
1 x
(f )

x
, 0
0

1 0
P 0
1 0
(d)

1 x
x 1 x
P 1 , 1 P 0
0 x
x 0 0
(g)
(h)

Thinning templates

x
0
x

x
P
x

x
1
x

x
x
0 , x
x
x
x

(i)

0 x
P x
1 x
0 x
(j)

Restoring templates

0
0
x

0 0
P 0
1 x
(k)

0
, 0
0

0 x
P 1
0 x
(l)

x
, 0
0

1
x
x 0 0
P
0 , 1 P 0
0
0
x 0 0
(m)
(n)

0
0
1

0 0
0 0 0
0 0 1
1
P 0 , 0 P 0 , 0 P 0 , 0
0 0
0 0 1
0 0 0
0
(o)
(p)
(q)

0 0
P 0
0 0
(r)

Trimming templates
Le symbole x signifie appartient ou non lobjet.
Jusqu ce quil ny ait plus de point supprim durant une itration.
Algorithme 27: Algorithme de Chin, Wan, Stover et Iverson (CWSI).

Algorithmes de squelettisation 2D

272
*
*
*
*
*

*
*
*
*
*

*
*

*
*

*
*

*
*

*
*

*
*

*
*
*
*
*

1
1
1
1
1

*
1

*
1

*
1

*
1

*
1

*
1

F IG . A.26 Rubans horizontal et vertical dpaisseur 2 et leurs squelettes (CWSI) (REPR4).

*
*

*
*

*
*

3
1

3
1

2
1

F IG . A.27 Ruban oblique dpaisseur 2 et les diffrentes itrations pour lobtention du squelette, ici lobjet disparat et la topologie nest pas prserve (CWSI) (REPR4).

A.5.5 Algorithme de Wu et Tsai (WT) [WT92]


Cest un algorithme de type fortement parallle dun support de 15 points. Le schma est
dcrit par lalgorithme 28. Cet algorithme utilise trois sries de templates : la premire permet
lamincissement des rubans horizontaux ou verticaux, la deuxime permet celui des rubans diagonaux, la dernire ralise un filtrage intgr, et permet llimination de bruit apparaissant au
voisinage de morceaux de lignes droites.
Par la suite, nous notons WT, lalgorithme pour lequel ont t mises en uvre seules les
deux premires sries de templates ; et WT2, la version utilisant galement la troisime srie de
templates. Aux figures A.30 et A.31 sont reprsents les rsultats des algorithmes WT et WT2
sur limage du ruban avec du bruit et sur limage lettre A avec du bruit. Malheureusement, le
carr 2 2 nest pas prserv (PROB3), comme la remarqu A. Stewart [Ste94] (cela provient
des motifs (e), (f ), (h), (i)).

*
*

*
*

*
*

*
*

*
*

*
1

*
1

*
1

*
1

*
1

F IG . A.28 Ruban oblique dpaisseur 2 et son squelette (algorithme WT) (REPR 4).

A.5 Algorithmes fortement parallles

273

Rpter
Supprimer en parallle les points P de lobjet qui vrifient
au moins lun des motifs suivants :
1
1
1

1
P
1

y
1
0 , 1
y
y

(a)
x
1
x

0
P
1
(e)

0
0
x

x
, 0
0

0
0
1

1
P
0

1
1
y

y
, 0
y

1
P
1

1
1
1

(b)

1
, 1
1

0 y
P 1
1 1
1 x
(d)

(c)

1 1
0 1 0
x
P 1 , 0 P 1 , 1
0 x
0 0 0
x
(f )
(g)
0 0
P 0
1 1
(k)

x
y
1 , 1
x
1
x

0 0
P 0
0 0
(l)

1
, 0
0

1 x
P 0
0 0
(h)

0
, 0
x

0 x
P 1
1 1
(i)

0
, 0
0

0 0
P 1
1 0
(j)

1
1
0 0 1
P
0 , 0 P 1
0
0
0 0 1
(m)
(n)

Le symbole x signifie appartient ou non lobjet, au moins lun des deux symboles y
apparaissant dans un motif doit tre un point du complmentaire de lobjet.
Jusqu ce quil ny ait plus de point supprim durant une itration.
Algorithme 28: Algorithme de Wu et Tsai (WT).

*
*
*
*
*

*
*
*
*
*

*
*

*
*

*
*

*
*

*
*

*
*

1
*
*
*
1

1
1
1
1
1

1
1

*
1

*
1

*
1

*
1

1
1

F IG . A.29 Rubans horizontal ou vertical dpaisseur 2 et leurs squelettes (algorithme WT)


(REPR 4).

Algorithmes de squelettisation 2D

274

(a) Objet
initial

(b) WT

(c) WT2

F IG . A.30 Ruban bruit. Rsultats, sans et avec les trimming templates (resp. algorithmes WT
et WT2) (REPR2).

(a) Objet
initial

(b) WT

(c) WT2

F IG . A.31 Lettre A bruite. Rsultats, sans et avec les trimming templates (resp. algorithmes
WT et WT2) (REPR2).

A.5.6 Algorithme de Manzanera et Bernard (MB_2D) [BM99][MBPL99c]


Cest un algorithme de type fortement parallle. Le schma est dcrit par lalgorithme 29.
Le support de lalgorithme est de 21 points (en comptant le point central) : il sagit des points
dun carr 5 5 points, except les coins.
la section 6.7.4, nous avons montr que cet algorithme prservait bien la topologie dans
le cas 3D (nous lavons galement vrifi dans le cas 2D). Si P vrifie 0 et non ou si P
vrifie 1 ( ce moment, il ne peut vrifier ), alors P est simple (4- ou 8-simple) et est 4adjacent (cas 0 ) ou 8-adjacent (cas 1 ) un point intrieur (intrieur selon la connexit (8, 4)).
La premire version de lalgorithme [MBPL99b] ne tenait pas compte du motif 1 , et ne retirait
pas les points simples 8-adjacents un point intrieur sils ntaient pas galement 4-adjacents
un point intrieur (non forcment le mme).
Les rubans dpaisseur 2 horizontaux, verticaux ou obliques ne peuvent tre amincis (PROB4).
Il en est de mme des composantes connexes dans un carr unit 2 2 points. la section B.4.3
est tudie la version 3D de cet algorithme.
Considrons un ruban de dimensions m fois n (m > n). Les quatre coins du ruban vrifient
le motif 1 , les autres points de bord vont vrifier le motif 0 (si n > 2). La couche extrieure

va alors tre retire la premire itration, et ainsi de suite. Nous pouvons constater que  n1
2
itrations sont requises pour amincir un tel objet, le squelette obtenu est de largeur 1 (resp. 2) si
le ruban initial est de largeur impaire (resp. paire). Ce processus de squelettisation est isotrope :
une consquence immdiate est le bon centrage des squelettes.
Ici encore, le bon centrage est obtenu au dtriment de lpaisseur du squelette, celui-l pr-

A.5 Algorithmes fortement parallles

275

Rpter
Supprimer en parallle les points P de lobjet vrifiant :
le motif 0 ou le motif 1 , et non le motif
(motifs considrer rotations de 90, 180 ou 270 degrs prs) :
1
1
1

0 P

0
1 , 0

0
P
1

1
1
1
1

1
0

0
P

Jusqu ce quil ny ait plus de point supprim durant une itration.


Algorithme 29: Algorithme de Manzanera et Bernard (MB_2D).
sente des points redondants. Cest le cas par exemple des rubans dpaisseur 2 qui ne sont pas
amincis, comme nous lavons dit ci-avant. Les rsultats obtenus avec cet algorithme sont donns
aux figures A.33 A.40.

A.5.7 Remarques concernant les voisinages tendus mis en jeu par les algorithmes fortement parallles
A.5.7.1 Utilisation dun voisinage tendu
0 0
0 xa
0 xb
0 x
0 0

0 0
x 0
x 0
x 0
0 0
(a)

0 0
0 xa
0 xb
0 xa
0 0

0
xb
x
xb
0
(b)

0
xa
xb
xa
0

0
0
0
0
0

F IG . A.32 Cette figure explique la raison pour laquelle un algorithme fortement parallle
utilise un voisinage tendu afin de supprimer des points, tout en prservant la topologie.
Considrons la figure A.32. La figure A.32 (a) reprsente un ruban dpaisseur 2, tous les
points sont simples. La figure A.32 (b) reprsente un ruban 3 3 points. Si un algorithme supprime les points simples de la figure A.32 (a), alors le ruban disparat et la topologie nest pas
prserve. Mais sil ne sautorise pas retirer de tels points (nots x a ou xb ) alors lobjet de la
figure (b) ne peut tre aminci tant donn que N8 (xa ) et N8 (xb ) sont les mmes pour les objets
des figures (a) et (b).
Afin de distinguer ces deux cas, il faut alors considrer un voisinage tendu.

276

Algorithmes de squelettisation 2D

A.5.7.2 Terminologie employe : distinction entre algorithmes fortement parallles symtrique et non symtrique
La classe des algorithmes fortement parallle est distingue par rapport celle des algorithmes de type sous-itrations (directionnelles et sous-mailles). Cependant, comme nous lavons
vu auparavant, certains algorithmes fortement parallles privilgient des directions de prservation dans les rubans horizontaux ou verticaux, de faon pouvoir les amincir tout en prservant
la topologie. La squelettisation nest alors pas isotrope. Quant lui, lalgorithme de Manzanera
ne privilgie pas de direction, le processus de squelettisation est parfaitement symtrique ; linconvnient principal est la grande taille du support utilis.

A.6 Rsultats et comparaisons


A.6.1 Critres de comparaisons
Nous donnons quelques critres de comparaisons, recenss le long des articles traitant des
algorithmes de squelettisation [CCS95], [GH89], [LS95] :
la prservation de la topologie,
le nombre ditrations (parallel speed) : cest le nombre total ditrations afin dobtenir le
squelette, avec les conventions suivantes : le nombre ditrations tant soit le nombre ditrations excutes par un algorithme fortement parallle, soit le nombre de sous-itrations
pour un algorithmes de type sous-itrations directionnelles, soit le nombre dactivations de
sous-maille pour les algorithmes de type sous-mailles [GH89],
la taille du support : nombre de points examiner pour dcider de la suppressibilit dun
point (pour les algorithmes utilisant des templates, cest le nombre de points mis en jeu
dans ces templates),
le taux de compression : (So Ssquel )/So , avec So le nombre de points de lobjet initial,
Ssquel le nombre de points dans le squelette,
le nombre de points redondants divis par le nombre de points dans le squelette. Un point
redondant est un point du squelette qui nest pas extrmit et dont la suppression ne dconnecte pas le squelette. Le nombre de points redondants est dfini comme le nombre
maximal de points pouvant tre supprims simultanment sans dconnecter le squelette
[GH89], cest une quantit difficile valuer,
le fait de pouvoir recouvrer lobjet initial partir du squelette et dune information supplmentaire, par exemple, les numros ditration durant lesquelles les points voisins du
squelette, ont t supprims. Cette possibilit est connue sous le nom de reconstruction,
le nombre de points retirs la premire itration,
les comparaisons avec des squelettes de rfrence, les dviations entre les squelettes idaux
et obtenus de rubans synthtiques sans bruit ou avec bruit,
la prservation de lallure gnrale (gomtrie) : pas drosion excessive, squelette dpaisseur 1, bon centrage du squelette, immunit aux bruits.
Finalement, les critres de qualit que nous retenons sont par ordre de priorit :
la prservation de la topologie,

A.6 Rsultats et comparaisons

277

le nombre ditrations effectives de suppression,


le nombre total de points supprims,
le nombre moyen de points supprims par itration effective.
Il sagit galement des critres que nous retenons pour le cas des algorithmes 3D.

A.6.2 Rcapitulatif
Nous avons dabord tudi quelques algorithmes de type sous-itrations directionnelles :
en 2 sous-itrations : Zhang et Suen (ZS), L et Wang (LW) (ces deux algorithmes ne
prservent pas la topologie (PROB3)), Guo et Hall (GH_A1),
en 4 sous-itrations : Rosenfeld (ROS). Ce dernier est un des algorithmes les plus connus ;
on rappelle quil met en uvre la technique directionnelle Nord, Sud, Est, Ouest.
Puis, nous avons tudi un algorithme en 2 sous-mailles de Guo et Hall (GH_A2), que nous
avons compar avec quelques algorithmes de type sous-itrations directionnelles pour quelques
objets. Nous avons constat que les rsultats dpendaient de lordre dactivation des sous-mailles
et ntaient pas indpendants par translation de lobjet (PROB _SM). De plus, les squelettes obtenus prsentent un aspect dentel.
Enfin, nous avons trait des algorithmes fortement parallles :
Holt, Stewart, Clint et Perrott (HSCP) dun support de 16 points. Les rubans obliques
dpaisseur 2 sont rduits de faon excessive (PROB2) ; la notion de filtrage intgr au
processus de squelettisation est aborde,
la modification par R.W. Hall (HSCPN) dun support de 16 points. Les bandes obliques
ne sont pas rduites (PROB4),
trois algorithmes par Z. Guo et R.W. Hall :
(GH_AFP1) dun support de 11 points. Les bandes obliques ne sont pas rduites (PROB4),
(GH_AFP2) dun support de 11 points. Les bandes obliques ne sont pas rduites (PROB4),
(GH_AFP3) dun support de 11 points. Les bandes obliques sont rduites.
Chin, Wan, Stover et Iverson (CWSI) dun support de 15 points. La topologie nest pas
prserve (PROB3),
Wu et Tsai (WT) dun support de 15 points. La topologie nest pas prserve (PROB3),
Manzanera et Bernard (MB_2D) support de 21 points. Les rubans dpaisseur 2 horizontaux, verticaux et obliques ne sont pas amincis (PROB4).
Dans la suite, afin de faciliter les comparaisons, nous ne retenons que les algorithmes GH_A1,
ROS, GH_A2, HSCPN, GH_AFP2, GH_AFP3 et MB_2D. Les figures A.33 A.40 prsentent les squelettes obtenus en utilisant ces 7 algorithmes.

A.6.3 Comparaisons
Il est difficile de pouvoir comparer les rsultats de ces algorithmes. Par exemple, lalgorithme ROS et lalgorithme MB_2D retirent tous les deux 222 points de la lettre H (Fig.
A.37). Nanmoins, lalgorithme ROS semble moins efficace : il utilise 12 sous-itrations effectives de suppression tandis que lalgorithme MB_2D nen exige que 3. Considrons maintenant
les rsultats de ces deux algorithmes sur la lettre A (Fig. A.33). Lalgorithme ROS exige 14

278

Algorithmes de squelettisation 2D

sous-itrations effectives, tandis que lalgorithme MB_2D nen exige que 4. Mais ce dernier retire moins de points (464) que le premier (508) ; le squelette obtenu avec MB_2D prsente de
nombreux points redondants (i.e. points simples non terminaux). Il semble plus difficile de parler
defficacit dun algorithme sans prendre en compte le nombre de points supprims.
Sur tous les exemples, on peut sapercevoir de laspect dentel des squelettes avec lalgorithme GH_A2 en 2 sous-mailles (par exemples, Fig. A.36, Fig. A.39 et Fig. A.40).

A.7 Conclusion
Dans ce chapitre, quelques algorithmes parallles de squelettisation dimages 2D binaires ont
t tudis.
Nous avons laiss de ct les algorithmes squentiels (suppression squentielle de point
simple, selon un balayage vido par exemple), qui ne sont gure utiliss du fait de leur lenteur
par rapport aux algorithmes parallles, ou du mauvais centrage des squelettes obtenus. Dautres
algorithmes utilisent des notions de distance ou la morphologie mathmatique. Bien que trs
intressants, nous nen parlons pas dans ce mmoire.
Nous avons propos un ou plusieurs algorithmes pour chacune des trois grandes classes dalgorithmes :
les algorithmes de type sous-itrations directionnelles,
les algorithmes de type sous-mailles,
les algorithmes fortement parallles.
De cette tude, retenons que :
les squelettes obtenus par des algorithmes de type sous-mailles prsentent un aspect dentel,
les squelettes obtenus par des algorithmes de type sous-itrations directionnelles sont dautant mieux centrs que le nombre de directions est lev,
le centrage des squelettes est meilleur avec des algorithmes fortement parallles (tant
donn une squelettisation homogne), en contrepartie ces algorithmes utilisent un plus
grand support pour examiner si un point peut tre supprim ou non (cela afin de prserver
la topologie),
la plupart des algorithmes fortement parallles utilise des directions et le processus de
suppression de points nopre pas de faon symtrique. En contrepartie, lalgorithme de
Manzanera opre de faon isotrope, le squelette obtenu est bien centr mais non forcment
mince.
Retenons galement que cest partir de petits objets synthtiques (et simples, par exemple,
un carr 2 2 points, un ruban dpaisseur 2) qua t mise en vidence la plupart des critres
permettant dvaluer un algorithme de squelettisation.
Le chapitre suivant traite des algorithmes de squelettisation 3D. Les mmes classes dalgorithmes y seront vues. Nous pourrons constater la diffrence de difficult pour comparer ou
tudier les algorithmes 3D, par rapport aux algorithmes 2D. Soulignons quil existe plusieurs centaines dalgorithmes de squelettisation pour images 2D, et moins dune trentaine dalgorithmes
pour images 3D.

A.7 Conclusion

279

OBJET INITIAL

ROS

(508, 14, 36.29)

GH _ AFP2

(500, 5, 100)

GH _ A2

(503, 5, 100.6)

GH _ AFP3

(508, 5, 101.6)

GH _ A1

(509, 9, 56.56)

HSCPN

(502, 5, 100.4)

MB _2D

(464, 4, 116)

F IG . A.33 Squelettisations avec diffrents algorithmes (lettre A) (REPR1).

Algorithmes de squelettisation 2D

280

GH _ A1

OBJET INITIAL

ROS

(246, 10, 24.6)

GH _ AFP2

(238, 3, 79.33)

GH _ A2

GH _ AFP3

(243, 5, 48.6)

(244, 3, 81.33)

(245, 7, 35)

HSCPN

(239, 3, 79.67)

MB _2D

(226, 3, 75.33)

F IG . A.34 Squelettisations avec diffrents algorithmes (lettre A bruite) (REPR1).

A.7 Conclusion

281

OBJET INITIAL

ROS

(1 190, 17, 70)

GH _ AFP2

(1 157, 7, 165.29)

GH _ A2

(1 133, 7, 161.86)

GH _ AFP3

(1 172, 7, 167.43)

GH _ A1

(1 171, 13, 90.08)

HSCPN

(1 157, 7, 165.29)

MB _2D

(1 135, 6, 189.17)

F IG . A.35 Squelettisations avec diffrents algorithmes (divers rubans) (REPR1).

Algorithmes de squelettisation 2D

282

GH _ A1

OBJET INITIAL

ROS

(266, 12, 22.17)

GH _ AFP2

(268, 6, 44.67)

GH _ A2

(248, 6, 41.33)

GH _ AFP3

(269, 6, 44.83)

(268, 12, 22.33)

HSCPN

(267, 6, 44.5)

MB _2D

(251, 5, 50.2)

F IG . A.36 Squelettisations avec diffrents algorithmes (lettre F) (REPR1).

A.7 Conclusion

283

OBJET INITIAL

ROS

(222, 12, 18.5)

GH _ AFP2

(222, 3, 74)

GH _ A2

(212, 5, 42.4)

GH _ AFP3

(222, 3, 74)

GH _ A1

(224, 8, 28)

HSCPN

(222, 3, 74)

MB _2D

(222, 3, 74)

F IG . A.37 Squelettisations avec diffrents algorithmes (lettre H) (REPR1).

Algorithmes de squelettisation 2D

284

OBJET INITIAL

ROS

(220, 12, 18.33)

GH _ AFP2

(220, 3, 73.33)

GH _ A2

GH _ AFP3

(211, 5, 42.2)

(220, 3, 73.33)

GH _ A1

(222, 8, 27.75)

HSCPN

(220, 3, 73.33)

MB _2D

(220, 3, 73.33)

F IG . A.38 Squelettisations avec diffrents algorithmes (lettre H bruite) (REPR1).

A.7 Conclusion

285

GH _ A1

OBJET INITIAL

ROS

(214, 9, 23.78)

GH _ AFP2

(216, 3, 72)

GH _ A2

(206, 3, 68.67)

GH _ AFP3

(216, 3, 72)

HSCPN

(215, 5, 43)

(215, 3, 71.67)

MB _2D

(176, 2, 88)

F IG . A.39 Squelettisations avec diffrents algorithmes (ruban pais) (REPR1).

GH _ A1

OBJET INITIAL

ROS

(218, 9, 24.22)

GH _ AFP2

(220, 3, 73.33)

GH _ A2

GH _ AFP3

(210, 4, 52.5)

(220, 3, 73.33)

(219, 6, 36.5)

HSCPN

MB _2D

(219, 3, 73)

(184, 3, 61.33)

F IG . A.40 Squelettisations avec diffrents algorithmes (ruban pais bruit) (REPR1).

Annexe B
Algorithmes de squelettisation 3D
Dans ce chapitre sont tudis des algorithmes pour images 3D binaires ; algorithmes de type
sous-itrations, sous-mailles ou fortement parallles (cf. chapitre 4).

B.1 Reprsentations et notations utilises


B.1.1 Reprsentations
Nous utilisons les reprsentations suivantes :
R EPR6 : une succession de captures illustrant les rsultats obtenus par les (sous-)itrations
de suppression. Les voxels retirs lors dune (sous-)itration sont reprsents en vert. Sous
lobjet courant, obtenu la fin de la i-ime (sous-)itration de suppression de points sera
indiqu ite = i, suivi entre parenthses du nombre de points supprims durant cette i-ime
(sous-)itration.
R EPR7 : une capture dcran reprsentant les points du squelette par des cubes rouges,
dans lobjet initial en transparence, partir duquel le squelette a t obtenu. Sous une telle
capture, seront nots entre parenthses, respectivement le numro de la dernire (sous)itration effective de suppression, le nombre de points supprims et le nombre moyen de
points supprims par (sous-)itration.

B.1.2 Notations
Le systme de coordonnes est celui de la figure B.1 (a). Notons que lorsquune isomtrie
est utilise dans un article de rfrence, elle est dabord transpose par rapport notre systme
daxes, puis choisie en consquence parmi celles proposes dans lannexe D.
Lorientation utilise est celle donne la figure B.1 (b). partir de ces 6 directions principales : Haut, Bas, Nord, Sud, Est, Ouest, dautres seront utilises par composition, par
exemple Haut Sud Ouest.

288

Algorithmes de squelettisation 3D
z
Haut

1
0
0
1
11111
00000
00000
11111
00000
11111
00000
11111
000
111
00000
11111
000
111
00000
11111
000
111
00000
11111
000
111

1
0
0
1
00
11
0
1
00
11
0
1
00
11
0
1
00
11
0
1
1
0
1
0

11
00
00
11
00
11
00
11
0
1
0
1
1
0
0
1

Nord
x
Ouest

Est
Sud

11
00
00
11
00
11

Bas
y
(a)

(b)

F IG . B.1 (a) Systme de coordonnes et (b) orientation utiliss.

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles


Nous examinons dabord deux algorithmes de type 6 sous-itrations, puis deux algorithmes
de type 12 sous-itrations.

B.2.1 Algorithme de Palgyi et Kuba - 6 sous-itrations (PA K U6) [PK98a]


B.2.1.1 Description
Cet algorithme de type sous-itrations directionnelles permet lobtention de squelettes curvilignes. Il est dcrit par le schma suivant : une itration de suppression de points est constitue de
6 sous-itrations ; chacune dentre elles correspond une des 6 directions de suppression choisies. Pour chacune des sous-itrations, un point est supprim si son voisinage vrifie au moins
lun des motifs dun ensemble de motifs cibles, appels templates par la suite (ensemble dtermin par la direction sous-jacente la sous-itration).
Nous notons F (X, Dir) lopration ralisant la suppression en parallle des points dun objet
X, et vrifiant au moins lune des templates de direction Dir. Le schma de squelettisation est
dcrit par lalgorithme 30. Selon notre implmentation, lopration F (X, Dir) appelle le BDD
obtenu pour la direction Dir.
Un BDD est un outil algorithmique (graphe) codant de faon efficace, les configurations
vrifiant une proprite donne. Un programme recevant ces configurations en entre gnre un
code dcrivant un tel BDD. Ensuite, si une configuration est donne en entre de ce code, alors

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

289

nous pouvons savoir trs rapidement si elle vrifie la proprit sur laquelle a t construit le BDD.
De plus amples dtails concernant la cration et lutilisation des BDD sont donns lannexe C.
Y : image initiale
Rpter
Y = F (Y, Haut) ;
Y = F (Y, Bas) ;
Y = F (Y, Nord) ;
Y = F (Y, Sud) ;
Y = F (Y, Est) ;
Y = F (Y, Ouest) ;
Jusqu ce quil ny ait plus de suppression
durant 6 sous-itrations successives.
Algorithme 30: Algorithme de Palgyi et Kuba en 6 sous-itrations (PA K U6).
Nous devons implmenter les motifs que doit vrifier le voisinage dun point, afin de savoir
si ce point peut tre supprim ou non, et cela pour chacune des directions intrinsques aux sousitrations. Nous avons choisi dutiliser les BDD, pour coder les templates pour chacune des
directions mises en uvre. Les motifs sont donns pour la seule direction Haut et il faut de plus
considrer leurs rotations (90, 180 et 270 degrs) selon laxe Haut Bas. (Fig. B.2). Ce travail
est raliser pour les 6 directions.
la figure B.3 est dcrite la chane de traitement utilise pour lobtention des BDD. Elle se
dcompose selon les trois tapes suivantes :
Les configurations vrifiant les 6 motifs pour la direction Haut sont retenues parmi toutes
les configurations possibles dans un voisinage 3 3 3, puis pour chacune delles les
trois rotations selon laxe Haut Bas sont gnres (en utilisant les isomtries r y (iso32),
ry2 (iso23), ry3 (iso40), voir lannexe D). Nous obtenons ainsi les configurations vrifiant le
Masque Haut.
partir de cet ensemble de configurations (Masque Haut) sont dtermines celles vrifiant les 5 autres sries de masque pour les 5 autres directions Sud, Bas, Nord, Est et
Ouest (par les isomtries rx (iso8), rx2 (iso16), rx3 (iso24), rz (iso1) et rz3 (iso2)).
Puis les codes des BDD correspondant ces configurations sont gnrs (voir lannexe C).
Nous obtenons ainsi une caractrisation efficace des points pouvant tre supprims pour chacune des directions utilises par cet algorithme.
B.2.1.2 Commentaires et rsultats
Les templates Masque Haut sont des configurations de points 26-simples et de bord Haut.
La prsence dau moins un cube noir dans les templates M 1 et M5 vite de supprimer des points
26-simples extrmits. Comme nous lavons dj dit auparavant, si lordre des directions est
chang alors les rsultats peuvent tre diffrents.

290

Algorithmes de squelettisation 3D

M2

M1

M3

M4

M5

M6

F IG . B.2 Masque Haut : Templates utilises par lalgorithme PA K U6. Au moins un point
reprsent par un cube doit appartenir lobjet dans les masques M 1 et M5 .

Configurations
vrifiant
au moins
lun des motifs
M1 M6

rotations
ry , ry2 , ry3

Masque Haut

BDD Haut

Masque Sud

Masque Bas

Masque N ord

Masque Est

Masque Ouest

BDD Sud

BDD Bas

BDD N ord

BDD Est

BDD Ouest

F IG . B.3 Chane de traitement pour obtenir les masques et leurs codes BDD associs (algorithme PA K U6).

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

291

Il y a 705 214 configurations vrifiant les templates reprsentes ; il y en a 2 124 283 avec les
rotations (pour une sous-itration).
Des rsultats de squelettisation curviligne avec lalgorithme PA K U6 sont prsents la figure
B.4. Lobjet constitu de 9 cubes pais (objet P aKu5) comporte des branches se terminant par
un ou deux points. Certaines branches conserves se terminent par un point 6-adjacent un autre,
tandis que dautres branches se terminent par un point diamtralement oppos un autre. Cela
exprime le fait que le processus nest pas isotrope, cest videmment le cas car il dpend de
directions.
la figure B.5 sont reprsentes les 6 premires sous-itrations de suppression, afin dobserver le rle des directions de suppression.
Remarque : Nous avons vrifi avec les points P -simples que cet algorithme prserve la
topologie (cf. section 6.5.2.2). Nous avons propos un algorithme bas sur les points P x -simples,
supprimant au moins les points retirs par cet algorithme tout en prservant les mmes points
extrmits (cf. section 6.5.3) ; nous avons galement compar cet algorithme avec lalgorithme
de Gong et Bertrand (G O B E), prsent la section B.2.2 (cf. section 6.5.4).

292

Algorithmes de squelettisation 3D

P aKu1
(25, 6 055, 242.2)

P aKu2
(25, 8 074, 322.96)

P aKu3
(69, 11 146, 161.54)

P aKu4
(25, 10 065, 402.6)

P aKu5
(22, 4 538, 206.27)

P aKu6
(22, 3 008, 136.73)

F IG . B.4 Squelettisations avec lalgorithme PA K U6 (R EPR7).

ite = 1 (512)

ite = 2 (512)

ite = 3 (448)

ite = 4 (448)

ite = 5 (384)

ite = 6 (384)

F IG . B.5 Dtails des 6 premires sous-itrations de lalgorithme PA K U6 sur lobjet P aKu1


(R EPR6).

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

293

B.2.2 Algorithme de Gong et Bertrand en 6 sous-itrations (G O B E) - [GB90]


Cet algorithme consiste en la rptition jusqu stabilit de 6 sous-itrations directionnelles
Haut, Nord, Est, Bas, Sud, Ouest de suppression parallle de points (selon la connexit
(26, 6)). Il permet lobtention de squelettes surfaciques.
B.2.2.1 Description
Pour une direction , parmi les 6 prcdemment cites, lalgorithme limine en parallle
les points qui vrifient les conditions donnes dans lalgorithme 31 ; voir les notations aprs
lalgorithme et lillustration des conditions la figure B.6.
Conditions directionnelles :

(G1 ) : (x) X,

(G2 ) : (x) X,

(G3 ) : y N6 (x), si y X alors (y) X,


(G4 ) : y N6 (x), z N18 (y) N6 (x),

soit t le seul lment de N6 (z) N6 (y) N18 (x),

si y X et z X et t X alors (t) X.
Notons que dans la condition (G 4 ) : (y) X et (z) X (daprs (G3 )).
Condition boolenne de ne pas tre un point terminal de surface :
n 8 OU (4 n 7 ET (i {1, . . . , 8}, ni = 3));
avec n le nombre de points dans le 26-voisinage de p, ni le nombre de points de lobjet
6-adjacents p dans le i-ime octant du 26-voisinage de p
(un octant tant un bloc de 2 2 2 points, il y en a 8 dans N 26 (p)).
Rpter
Pour = Haut, Nord, Est, Bas, Sud, Ouest
Supprimer en parallle tout point de lobjet, non terminal
vrifiant les conditions directionnelles selon la direction
et qui nest pas un point terminal de surface
Jusqu ce quil ny ait plus de suppression
durant 6 sous-itrations successives.
Algorithme 31: Algorithme de Gong et Bertrand en 6 sous-itrations (G O B E).
Notations : Considrons une direction . La direction oppose sera note .
Nous dsignons par N6 (x) (resp. N18 (x)), les quatre 6-voisins (resp. les quatre 18-voisins) qui

294

Algorithmes de squelettisation 3D

G4

G3
G1

z
x

G2

F IG . B.6 Conditions imposes dans lalgorithme G O B E ( = Haut).


appartiennent la fentre 3 3 perpendiculaire la direction et de point central x (en fait,
N6 (x) = N6 (x) \ {(x), (x)}).
B.2.2.2 Commentaires et rsultats
C. Pudney [Pud98] a remarqu, juste titre, que cet algorithme ne permettait pas la prservation des points simples lintersection de surfaces ; et avec un processus itratif de suppression
de ces points, il peut ne rester quun point dans la jonction initiale (ou deux points, selon la parit de la largeur de la jonction) (cf. section 9.5.3). Nanmoins, les squelettes surfaciques obtenus
proposent un aspect trs satisfaisant.
Nous proposons galement les rsultats obtenus par cet algorithme en remplacant la condition
boolenne de point extrmit, afin dobtenir un squelette curviligne, par la dfinition classique

suivante : un point x est extrmit de courbe sil na quun seul voisin dans N 26
(x) X, cette
variante a t propose par F. Rolland et al. [RCM92].
Note : nous avons choisi la mme squence de directions pour cet algorithme que celle
utilise par lalgorithme de Palgyi, plutt que celle suggre par larticle, afin de rendre plus
aises les comparaisons entre les rsultats obtenus par ces deux algorithmes.
Des rsultats de squelettisation curviligne ou surfacique sont prsents aux figures B.7, B.8
et B.10. Les 6 premires sous-itrations sur lobjet P aKu1 sont dtailles la figure B.9 (ce sont
les mmes 6 premires sous-itrations quavec lalgorithme PA K U6, voir Fig. B.5).
Pour les 4 premiers objets (Fig. B.7), nous obtenons les mmes rsultats (mmes squelettes,
mme nombre ditrations, mme nombre de points supprims) que ceux obtenus avec lalgorithme de Palgyi en 6 sous-itrations (PA K U6) (voir Fig. B.4).
Remarque : Nous avons vrifi avec les points P -simples que cet algorithme prserve la
topologie (cf. section 6.5.1.2). Nous avons propos un algorithme bas sur les points P x -simples,
supprimant au moins les points retirs par cet algorithme tout en prservant les mmes points
extrmits dans sa version curviligne (cf. section 6.5.3) ; nous avons galement compar cet
algorithme avec lalgorithme de Palgyi et Kuba en 6 sous-itrations (PA K U6), prsent la
section B.2.1 (cf. section 6.5.4).

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

(25, 6 055, 242.2)

(25, 8 074, 322.96)

(69, 11 146, 161.54)

(25, 10 065, 402.6)

(23, 4 534, 197.13)

(24, 3 006, 125.25)

F IG . B.7 Squelettisations curvilignes avec lalgorithme G O B E (R EPR7).

(23, 5 961, 259.17)

(23, 7 946, 345.48)

(24, 10 524, 438.5)

(24, 9 894, 412.25)

(20, 4 520, 226)

(20, 2 996, 149.8)

F IG . B.8 Squelettisations surfaciques avec lalgorithme G O B E (R EPR7).

295

296

Algorithmes de squelettisation 3D

ite = 1 (512)

ite = 2 (512)

ite = 3 (448)

ite = 4 (448)

ite = 5 (384)

ite = 6 (384)

F IG . B.9 Dtails des 6 premires sous-itrations de lalgorithme G O B E sur lobjet P aKu1


(R EPR6).

Objet initial

Objet initial

Squelette curviligne
(42, 3 351, 79.79)

Squelette curviligne
(51, 4 203, 82.41)

Squelette surfacique
(122, 3 133, 142.41)

Squelette surfacique
(18, 3 856, 214.22)

F IG . B.10 Autres objets, squelettisations curviligne et surfacique avec lalgorithme G O B E


(R EPR7).

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

297

B.2.3 Algorithme de Palgyi et Kuba - 12 sous-itrations (PA K U12_O LD)


[PK97a] [PK97b]
B.2.3.1 Description
Cet algorithme, de type sous-itrations directionnelles, permet lobtention de squelettes curvilignes . Il utilise 12 sous-itrations, correspondant aux 12 directions suivantes : Haut Sud,
NordEst, BasOuest, HautOuest, SudEst, BasNord, HautNord, SudOuest,
Bas Est, Haut Est, Nord Ouest, Bas Sud. Le principe est le mme que celui prcdemment dcrit la section B.2.1. Le passage du masque Haut-Sud aux 11 autres masques se
ralise par lutilisation des isomtries respectives suivantes : iso34, iso47, iso40, iso33, iso16,
iso23, iso41, iso39, iso32, iso42, iso7 (voir lannexe D).
Le schma est donn par lalgorithme 32 et les templates sont dcrites la figure B.11.
Y : image initiale
Rpter
Y = F (Y, Haut Sud) ;
Y = F (Y, Nord Est) ;
Y = F (Y, Bas Ouest) ;
Y = F (Y, Haut Ouest) ;
Y = F (Y, Sud Est) ;
Y = F (Y, Bas Nord) ;
Y = F (Y, Haut Nord) ;
Y = F (Y, Sud Ouest) ;
Y = F (Y, Bas Est) ;
Y = F (Y, Haut Est) ;
Y = F (Y, Nord Ouest) ;
Y = F (Y, Bas Sud) ;
Jusqu ce quil ny ait plus de suppression
durant 12 sous-itrations successives.
Algorithme 32: Algorithme de Palgyi et Kuba en 12 sous-itrations (PA K U12_O LD).

B.2.3.2 Commentaires et rsultats


Les directions utilises dans lalgorithme correspondent aux 12 couples de 6-voisins non
opposs. Notons que la squence choisie pour lalgorithme est celle donne dans [PK97b] et les
templates sont celles de [PK97a].
Il y a 1 084 669 configurations qui vrifient les templates de la figure B.11.
Nous constatons que laspect gomtrique des squelettes obtenus par cet algorithme est diffrent de celui des squelettes obtenus par lalgorithme PA K U6 (voir Fig. B.4). Les 12 premires
sous-itrations de suppression sur lobjet P aKu5 sont dtailles la figure B.13, en notant pour
chacune delles le nombre de points supprims.

298

Algorithmes de squelettisation 3D

M1

M2

M3

M4

M5

M6

M7

M8

M9

M10

M11

M12

F IG . B.11 Masque Haut Sud : templates utilises pour lalgorithme de squelettisation en


12 sous-itrations de Palgyi et Kuba PA K U12_O LD. Au moins un point reprsent par un cube
noir doit appartenir lobjet dans les masques M 1 M3 . Au moins un point reprsent par
un cube blanc ou un hexagone blanc en perspective doit appartenir au background dans les
masques M4 M8 . Deux points marqus par les cubes bicolores doivent tre diffrents lun de
lautre dans les masques M7 et M8 .

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

P aKu1
(21, 6 087, 289.86)

P aKu2
(21, 8 120, 386.67)

P aKu3
(44, 11 184, 254.18)

P aKu4
(28, 10 117, 361.32)

P aKu5
(11, 4 537, 412.46)

P aKu6
(12, 3 008, 250.67)

299

F IG . B.12 Squelettisations avec lalgorithme PA K U12_O LD (R EPR7).


En le comparant sur ces quelques objets synthtiques (comportant de nombreux axes de
symtrie), nous observons que lalgorithme PA K U12_O LD ncessite moins de sous-itrations
que PA K U6 pour obtenir un squelette sauf pour lobjet P aku4, voir la figure B.4. Pour lobjet
P aKu4, lalgorithme PA K U12_O LD ncessite plus de sous-itrations que lalgorithme PA K U6 ;
il supprime galement plus de points. Cela nimplique pas que le squelette obtenu est moins
pais, nous pouvons simplement constater que le centrage des squelettes nest pas le mme.
Dun point de vue pratique, il ne faut pas oublier que cet algorithme ncessite 12 sous-itrations
conscutives sans suppression afin dobtenir la stabilit (contrairement aux 6 sous-itrations avec
lalgorithme PA K U6), et dans les indications sous les figures, seule la sernire sous-itration effective de suppression est indique. Pour obtenir la dernire sous-itration lors de laquelle se
termine lalgorithme, il faut alors ajouter 12 (resp. 6) au numro de la dernire sous-itration
effective de suppression pour lalgorithme PA K U12_O LD (resp. PA K U6), et on observe que
PA K U6 sarrte avant PA K U12_O LD pour les objets P aKu1, P aKu2 et P aKu4. En fait, une
petite modification, par rapport aux schmas des algorithmes donns par les auteurs, a t apporte afin que les algorithmes prsents ici sarrtent effectivement lors de lobtention de la
stabilit, i.e. lors des 6 ou 12 premires sous-itrations successives sans suppression.
Il sagit du premier algorithme en 12 sous-itrations, propos par Palgyi et Kuba. Rcemment, ces mmes auteurs ont propos un autre algorithme en 12 sous-itrations, permettant lobtention de squelettes curvilignes ou de squelettes surfaciques. Cest celui que nous dtaillons
dans la section B.2.4.

300

Algorithmes de squelettisation 3D

ite = 1 (1 068)

ite = 2 (878)

ite = 3 (702)

ite = 4 (582)

ite = 5 (446)

ite = 6 (324)

ite = 7 (240)

ite = 8 (158)

ite = 9 (90)

ite = 10 (42)

ite = 11 (7)

ite = 12 (0)

F IG . B.13 Dtails des 12 premires sous-itrations de lalgorithme PA K U12_O LD sur lobjet


P aKu5 (R EPR6).

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

301

B.2.4 Algorithme de Palagyi et Kuba - 12 sous-itrations (PA K U12) [PK99]


B.2.4.1 Description
Cet algorithme permet lobtention de squelettes curvilignes ou surfaciques. Le schma est le
mme que celui dcrit par lalgorithme 32, en prenant les templates de la figure B.14 (donnes
selon la direction Haut_Sud). Les 12 directions utilises sont : Haut Sud, Nord Est,
BasOuest, SudEst, HautOuest, BasNord, SudOuest, HautNord, BasEst,
NordOuest, HautEst, BasSud ; les isomtries utilises sont : iso0, iso34, iso47, iso33,
iso40, iso16, iso41, iso23, iso39, iso42, iso32, iso7 (voir lannexe D).
B.2.4.2 Commentaires et rsultats
La caractrisation utilise pour un point terminal de surface est la suivante : un point p X
est terminal de surface si N6 (p) contient au moins une paire de points opposs (par leur direction) et appartenant X. Il y a 1 379 581 (resp. 1 155 072) configurations correspondant des

(x). Sur quelques objets


points simples x non terminaux de courbe (resp. de surface) dans N 26
de rfrence, nous donnons les squelettes curvilignes (Fig. B.16) ou surfaciques (Fig. B.17). Les
rsultats sont du mme ordre quavec lalgorithme PA K U12_OLD (dans le cadre de la squelettisation curviligne). Le rsultat des 12 premires sous-itrations de la squelettisation surfacique
sur lobjet P aKu1 est reprsent figure B.15 : nous pouvons voir apparatre progressivement les
bouts de surface qui seront prservs dans le squelette.
Remarque : Nous avons vrifi avec les points P -simples que cet algorithme prserve la
topologie (cf. section 6.6.2.1). Nous avons propos un algorithme bas sur les points P x -simples,
supprimant au moins les points retirs par cet algorithme tout en prservant les mmes points
extrmits pour une version curviligne (cf. section 6.6.3) ou une version surfacique (cf. section
6.6.5).

302

Algorithmes de squelettisation 3D

T1

T2

T3

T4

T5

T6

T7

T8

T9

T10

T11

T12

T13

T14

F IG . B.14 Masque Haut Sud : templates utilises pour lalgorithme PA K U12. Au moins un
point reprsent par un cube noir doit appartenir lobjet dans les masques T 1 T3 . Au moins
un point reprsent par un cube blanc et un hexagone blanc en perspective doivent appartenir
au background dans les masques T 4 T8 . Deux points marqus par les cubes bicolores doivent
tre diffrents lun de lautre dans les masques T 5 , T6 , T9 , T10 .

B.2 Algorithmes de squelettisation de type sous-itrations directionnelles

ite = 1 (962)

ite = 2 (858)

ite = 3 (760)

ite = 4 (688)

ite = 5 (608)

ite = 6 (508)

ite = 7 (455)

ite = 8 (384)

ite = 9 (317)

ite = 10 (266)

ite = 11 (87)

ite = 12 (0)

303

F IG . B.15 Dtails des 12 premires sous-itrations de squelettisation surfacique de lalgorithme PA K U12 sur lobjet P aKu1 (R EPR6).

304

Algorithmes de squelettisation 3D

(21, 6 088, 289.91)

(21, 8 120, 386.67)

(44, 11 182, 254.14)

(29, 10 117, 348.86)

(11, 4 537, 412.46)

(12, 3 008, 250.67)

F IG . B.16 Squelettisations curvilignes avec lalgorithme PA K U12 (R EPR7).

(11, 5 893, 535.73)

(11, 7 850, 713.64)

(23, 10 792, 469.22)

(21, 9 951, 473.86)

(10, 4 530, 453)

(10, 3 000, 300)

F IG . B.17 Squelettisations surfaciques avec lalgorithme PA K U12 (R EPR7).

B.3 Algorithmes de squelettisation de type sous-mailles

305

B.3 Algorithmes de squelettisation de type sous-mailles


Nous examinons dabord un algorithme utilisant 8 sous-mailles, puis un algorithme de squelettisation hybride mlangeant la fois la stratgie directionnelle et lapproche sous-mailles.

B.3.1 Algorithme de Bertrand et Aktouf (B E A K) [BA94]


Cest un algorithme utilisant la technique des sous-mailles et permettant lobtention de squelettes surfaciques ou curvilignes.
B.3.1.1 Description
Lespace Z 3 est divis en 8 sous-mailles (selon la parit de x + y, y + z et x + y + z, voir
Fig. B.18 (a)). Un ordre dactivation des sous-mailles est fix et chaque point de la sous-maille
active est test. Si ce point est un point de lobjet non tiquet, on regarde sil est point terminal
(au sens du squelette dsir). Si cest le cas, on ltiquette, sinon, sil est simple, il sera supprim
en parallle avec les autres points dtects simples et non terminaux lors de cette sous-itration
(la suppression a lieu en fin de cette sous-itration). Le schma de squelettisation est dcrit par
lalgorithme 33.
Rpter
Pour chaque sous-maille Si faire
En parallle Pour tout x X et appartenant Si et non dj tiquet faire
Si x est terminal alors tiqueter x avec la valeur TERMINAL,
Sinon si x est simple alors tiqueter x avec la valeur SUPPRIMER
En parallle Pour tout x tiquet SUPPRIMER faire
Supprimer x
Jusqu ce quil ny ait plus de suppression durant 8 sous-itrations successives.
Algorithme 33: Algorithme de Bertrand et Aktouf (B E A K).
Les points terminaux sont ici caractriss par les nombres topologiques (voir la section 3.7 et
le tableau 3.7). Soit (m, n) la connexit de limage. Considrons une courbe simple X. Les points
simples sont les extrmits de courbe ; les autres points x sont tels quils ont deux composantes de
lobjet dans leur 26-voisinage, i.e. Tm (x, X) = 2. En marquant les points tels que T m (x, X) =
2 et en empchant de les retirer par la suite (i.e. en les marquant comme TERMINAL) ; la
courbe va tre partiellement prserve ; seules les extrmits vont tre grignotes. De faon
plus gnrale, afin de tenir compte des intersections de courbe, nous considrons comme terminal
pour un squelette curviligne les points x isthmes 1D, i.e. tels que T n (x, X) 2.
Considrons un morceau de plan. Les points simples sont les points du contour, les autres
points x sont tels quils ont deux composantes du complmentaire dans leur 26-voisinage, soit
Tn (x, X) = 2.

306

Algorithmes de squelettisation 3D
5
7
4
6
5
7

7
1
6
7

3
0
2
1
3

3
2
3

5
7
4
6
5

7
6
7

(a)

2
0
3
1
2
0

0
1
1
0

3
0
2
1
3

3
2
3

(b)

2
0
3
1
2

z
x

1
0

F IG . B.18 Mailles pour lalgorithme B E A K : (a) 8 sous-mailles (utilise dans lalgorithme),


(b) 4 sous-mailles (problme, cf. discussion).
De plus, les courbes doivent tre prserves dans un squelette surfacique. De mme, afin de
tenir compte des intersections (de courbe ou de surface), nous considrons comme terminal pour
un squelette surfacique les points x isthmes, i.e. tels que T m (x, X) 2 et Tn (x, X) 2. De la
mme manire, les contours des morceaux de plan peuvent tre grignots (voir Fig. B.19 et les
10 premires sous-itrations la figure B.20).
B.3.1.2 Commentaires et rsultats
Par exemple, pour lobjet du haut de la figure B.19, cet algorithme exige moins ditrations
pour lobtention dun squelette curviligne quavec lalgorithme G O B E, et plus ditrations pour
un squelette surfacique quavec lalgorithme G O B E (voir lobjet du bas de la figure B.10).
Cest une approche diffrente de celles prcdemment exposes en ce qui concerne la prservation de points extrmits. Lapproche habituelle consiste marquer comme extrmits des
points simples vrifiant une certaine condition (gnralement empirique). Ici, nous interdisons
certains points simples dtre supprims lors des itrations ultrieures de suppression.
Lors dune sous-itration de suppression, on ne considre que les points de la sous-maille
active, et cest ce moment que lon tiquette les points terminaux (non encore tiquets) de la
mme sous-maille considre.
Ce problme de grignotage de contour des courbes ou des surfaces a pour consquence
la non-idempotence des squelettes, c.--d. un squelette dun objet dj squelettis peut ne pas
donner ce mme objet.
Notons quune version nutilisant uniquement que 4 sous-mailles (selon la parit de x + y
et y + z, voir Fig. B.18 (b)) ne permet pas de prserver des composantes connexes composes
de deux points diamtralement opposs, si on adapte la mme dfinition de points terminaux.
En effet, ceux-l sont simples et ne sont pas considrs comme points terminaux, ni pour le
squelette curviligne, ni pour le squelette surfacique et ils seront supprims tous les deux lors
dune mme sous-itration car ils appartiennent une mme sous-maille ; la topologie nest alors
pas prserve.
En conclusion, lutilisation des nombres topologiques semble donner de bons rsultats pour
lalgorithme surfacique, malgr le grignotage de certains contours.

B.3 Algorithmes de squelettisation de type sous-mailles

307

Remarque : Voir [Akt97] pour une discussion dune part sur le fait de vrifier quun point
est terminal, seulement condition quil appartienne la maille active ; et dautre part sur une
variante de lalgorithme selon les connexits utilises afin dviter lapparition de barbules.

308

Algorithmes de squelettisation 3D

Objet initial

Noyau homotopique Squelette curviligne Squelette surfacique


(60, 4 266, 71.1)
(37, 4 257, 115.05)
(23, 4 046, 175.91)

Objet initial

Noyau homotopique Squelette curviligne Squelette surfacique


(16, 47, 2.94)
(16, 47, 2.94)
(8, 33, 4.13)

F IG . B.19 Amincissement et squelettisation curvilignes et surfaciques avec lalgorithme B E A K


(R EPR7).

ite = 1 (0)

ite = 2 (6)

ite = 3 (0)

ite = 4 (9)

ite = 5 (0)

ite = 6 (8)

ite = 7 (0)

ite = 8 (10)

F IG . B.20 Dtails des 8 premires sous-itrations de lalgorithme B E A K de squelettisation


surfacique sur lobjet plan (R EPR6).

B.3 Algorithmes de squelettisation de type sous-mailles

309

B.3.2 Algorithme hybride de Palgyi et Kuba (PA K U H) [PK]


B.3.2.1 Description
Palgyi et Kuba ont propos un algorithme hybride utilisant la fois une stratgie directionnelle et la technique des sous-mailles. Plus prcisment, lalgorithme est compos de huit sousitrations de suppressions, une pour chacune des huit directions considres, suivies de deux
sous-itrations de suppressions se droulant alternativement dans lune des deux sous-mailles
choisies.
Notons F (X, Dir) lopration ralisant la suppression en parallle des points dun objet X
et vrifiant au moins lune des templates de direction Dir. Nous notons G(X, Sous maille_z)
lopration ralisant la suppression en parallle des points dun objet X et vrifiant au moins
lune des templates des sous-mailles et telle que ces points appartiennent la sous-maille Sous
maille_z. Le schma est donn par lalgorithme 34.
Y : image initiale
Rpter
/*Partie directionnelle*/
Y = F (Y, Haut Sud Ouest) ;
Y = F (Y, Bas Nord Est) ;
Y = F (Y, Haut Sud Est) ;
Y = F (Y, Bas Nord Ouest) ;
Y = F (Y, Haut Nord Est) ;
Y = F (Y, Bas Sud Ouest) ;
Y = F (Y, Haut Nord Ouest) ;
Y = F (Y, Bas Sud Est) ;
/*Partie sous-mailles*/
Y = G(Y, Sous maille_A) ;
Y = G(Y, Sous maille_B) ;
Jusqu ce quil ny ait plus de suppression
durant 10 sous-itrations successives.
Algorithme 34: Algorithme hybride de Palgyi et Kuba en 8 sous-itrations directionnelles et 2
sous-itrations selon 2 sous-mailles (PA K U H).
Les huit directions sont Haut Sud Ouest, Bas Nord Est, Haut Sud Est,
BasNordOuest, HautNordEst, BasSudOuest, HautNordOuest, Bas
Sud Est (Fig. B.21). Les templates pour la direction Haut Sud Ouest sont reprsentes
la figure B.23. Les templates pour les autres directions sont obtenues respectivement par les
isomtries suivantes : iso21, iso5, iso16, iso23, iso6, iso22, iso7 (voir lannexe D). On note que
6 157 configurations vrifient les templates pour un masque.
Les templates pour une sous-maille, rotations et symtries prs, sont reprsentes la figure
B.24. Les points de la sous-maille Sous_maille_A (resp. Sous_maille_B) sont les points dont
la somme des coordonnes x + y + z est impaire (resp. paire) (voir Fig. B.22).

310

Algorithmes de squelettisation 3D
Haut-Nord-Ouest
Haut-Sud-Ouest

Bas-Nord-Ouest
Bas-Sud-Ouest

Haut-Nord-Est
Haut-Sud-Est

Bas-Nord-Est
Bas-Sud-Est

F IG . B.21 Orientation utilise dans lalgorithme PA K U H.


B.3.2.2 Commentaires et rsultats
Il y a 2 478 086 configurations qui vrifient les templates directionnelles avant isomtries et
18 735 154 configurations qui vrifient les templates avec isomtries.
la figure B.25 sont reprsents les squelettes obtenus par cet algorithme sur 6 objets synthtiques de comparaison des algorithmes PA K U6, PA K U12_O LD, PA K U12 (voir Fig. B.4, B.12 et
B.16). Notons la prsence de barbules dans les squelettes des objets P aKu3 et P aKu4, barbules
non prsentes avec les trois autres algorithmes.
En moyenne, sur ces quelques objets, cet algorithme exige plus de sous-itrations avant dobtenir un squelette quavec les trois algorithmes prcdemment cits et retire un nombre similaire
de points. Nous pouvons galement constat un aspect dentel des squelettes, d lutilisation
des sous-mailles.
Les 10 premires sous-itrations sur deux petits objets sont reprsentes aux figures B.26 et
B.27. Remarquons sur ces exemples, que la plupart des points sont retirs par les deux itrations
se droulant dans les sous-mailles (ite = 9 et ite = 10). Notons galement que le squelette
obtenu diffre dun objet initial et de son translat (mme problme quen 2D, avec les sousmailles).
Par exemple, la figure B.26 est compose de deux objets dont lun est le translat de lautre,
de telle faon que les points similaires de ces deux objets nappartiennent pas la mme sousmaille. Nous pouvons constater laspect rectiligne du squelette de lobjet de gauche et laspect
crnel du squelette de lobjet de droite.
Nous pouvons remarquer que les templates T D 2 et T D3 peuvent tre obtenues partir
de la template T D1 par isomtrie. Il en est de mme pour les templates T D 5 et T D6 ,
obtenues par isomtrie de T D4 , cela dans le but de prserver des symtries.

B.3 Algorithmes de squelettisation de type sous-mailles

B
B

(0, 0, 0) B
A

B
A

B
A

z
A

B
A

A
B

A
B

B
A

311

F IG . B.22 Maille utilise pour lalgorithme hybride PA K U H.

T D1

T D4

T D2

T D5

T D3

T D6

F IG . B.23 Masque Haut Sud Ouest : templates directionnelles utilises pour lalgorithme PA K U H. Au moins un point reprsent par un cube noir doit appartenir lobjet dans les
masques T D1 T D3 . Au moins un point reprsent par un cube blanc doit appartenir au
background dans les masques T D 4 T D6 .

312

Algorithmes de squelettisation 3D

T SM1

T SM2

T SM3

T SM4

T SM5

T SM6

T SM7
F IG . B.24 Templates pour une sous-maille, utilises pour lalgorithme PA K U H. Au moins
un point reprsent par un cube noir doit appartenir lobjet dans les masques T SM 1 et
T SM7 . Au moins un point reprsent par un cube blanc ou un hexagone blanc en perspective
doit appartenir au fond dans les masques T SM 2 et T SM3 .

B.3 Algorithmes de squelettisation de type sous-mailles

313

(39, 6 071, 155.67)

(39, 8 096, 207.59)

(67, 11 157, 166.52)

(56, 10 104, 180.43)

(29, 4 536, 156.41)

(29, 3 008, 103.72)

F IG . B.25 Squelettisations avec lalgorithme PA K U H (R EPR7).

314

Algorithmes de squelettisation 3D

Objet initial

Squelette curviligne
(9, 16, 1.78)

ite = 1 (0)

ite = 2 (2)

ite = 3 (2)

ite = 4 (2)

ite = 5 (0)

ite = 6 (0)

ite = 7 (2)

ite = 8 (0)

ite = 9 (8)

ite = 10 (0)

F IG . B.26 Dtails des 10 premires sous-itrations de lalgorithme PA K U H sur lobjet peigne


(R EPR6).

B.3 Algorithmes de squelettisation de type sous-mailles

315

Objet initial

Squelette curviligne
(10, 67, 6.7)

ite = 1 (12)

ite = 2 (12)

ite = 3 (2)

ite = 4 (2)

ite = 5 (6)

ite = 6 (6)

ite = 7 (0)

ite = 8 (0)

ite = 9 (13)

ite = 10 (14)

F IG . B.27 Dtails des 10 premires sous-itrations de lalgorithme PA K U H sur lobjet


ruban pais (R EPR6).

316

Algorithmes de squelettisation 3D

B.4 Algorithmes fortement parallles


Dans cette section, nous dcrivons trois algorithmes fortement parallles.

B.4.1 Algorithme fortement parallle de Ma (M A) [Ma95]


B.4.1.1 Description
Il sagit dun algorithme fortement parallle permettant lobtention de squelettes surfaciques
utilisant des templates et un support de 30 points (le point central tant compt).
Le schma de squelettisation est dcrit par lalgorithme 35. Un point sera limin sil vrifie
au moins lune des templates T1 , T2 ou T3 , ou lune de ses isomtries (Fig. B.28), sil vrifie
les conditions directionnelles et sil nest pas extrmit, et sil ne vrifie pas la rgle R 1 (voir
lalgorithme 35).

Conditions directionnelles :
Si p est un point de bord Nord, alors Sud(Sud(p)) doit tre un point de lobjet,
si p est un point de bord Est, alors Ouest(Ouest(p)) doit tre un point de lobjet,
si p est un point de bord Haut, alors Bas(Bas(p)) doit tre un point de lobjet.
Rgle R1 :
Supposons que les 4 coins dun carr unit sont candidats la suppression.
Alors le coin dont la somme des coordonnes est la plus petite est prserv
si et seulement si il est non simple aprs la suppression des trois autres coins.
Dfinition utilise pour les points extrmits :
Le point p est un point extrmit si p a exactement un voisin dans son 26-voisinage
ou dans nimporte quel plan 1 3 3.
Rpter
Supprimer en parallle les points de lobjet non extrmits
vrifiant au moins lune des templates T1 , T2 , ou T3 ou lune de ses isomtries,
les conditions directionnelles, et non prservs par la rgle R 1
Jusqu ce quil ny ait plus de suppression durant une itration.
Algorithme 35: Algorithme de Ma (M A).

B.4.1.2 Commentaires et rsultats


Considrons un plan (yz) dpaisseur 1 (voir lorientation la figure B.1 (a)). Les points sur
le contour de ce plan sont prservs car ils sont soit de type Sud ou Nord et nont quun voisin
dans le plan 1 3 3 selon (xz), soit de type Haut ou Bas et nont quun voisin dans le plan

B.4 Algorithmes fortement parallles

T1

317

T2

T3

F IG . B.28 Les templates utilises par lalgorithme M A ( isomtries prs). Au moins un point
reprsent par un cube blanc ou un hexagone blanc en perspective doivent appartenir au complmentaire (dans les templates T1 ou T2 ).
1 3 3 selon (xy). Notons que les 4 coins du plan sont de ces 2 types et nont quun point dans
les plans 1 3 3 selon (xy) ou (xz). Remarquons que les points limins par les templates
sont des points 26-simples. Les autres points du plan ne peuvent tre limins par les templates,
car ils ne sont pas simples. Le plan est ainsi totalement prserv. Dans lalgorithme B E A K, par
exemple, le contour est grignot (cf. section B.3.1.2).
La premire partie de la dfinition dun point extrmit permet la prservation des courbes
dans le squelette, par la prservation des points extrmits de courbe (points avec un seul voisin
dans leur 26-voisinage).
Trois templates sont utilises : le nombre de configurations vrifiant ces templates sont
respectivement 458 752, 294 912, 65 536 pour les templates T1 , T2 , et T3 avant isomtries, et
3 348 992, 3 124 224, 387 200, aprs isomtries.
Nous pouvons constater sur lobjet qui est la jonction de deux plans 1 5 5 selon (xz)
et (yz), que les deux points extrmes de la jonction sont dtruits, car ils ne sont pas extrmits ;
dans le plan 1 3 3 selon (xy) (resp. (yz), (xz)) se trouvent 4 (resp. 5, 5) points ; ces points
vrifient les templates T1 et T3 et ils nappartiennent pas un carr dont les 4 coins ont tre
supprims (ces points ne sont donc pas concerns par la rgle R 1 ). Rappelons que la jonction
de ce mme objet tait partiellement dtruite dans le cas de lalgorithme de Gong et Bertrand
[GB90] (cf. la section B.2.2) ou de lalgorithme de Tsao et Fu [TF81] (cf. [Pud98] et la section
9.5.3).
la figure B.29, sont reprsents les squelettes surfaciques obtenus par cet algorithme sur 4
objets synthtiques.
Remarque : la section 6.7.2, nous avons montr que cet algorithme ne prservait pas la
topologie.

318

Algorithmes de squelettisation 3D

(5, 1468, 293.6)

(5, 2215, 443)

(3, 1665, 555)

(3, 2988, 996)

F IG . B.29 Squelettisation avec lalgorithme M A (R EPR7).

B.4 Algorithmes fortement parallles

319

B.4.2 Algorithme fortement parallle de Ma et Sonka (M A S O) [MS96]


B.4.2.1 Description
Il sagit dun algorithme fortement parallle permettant lobtention de squelettes curvilignes.
Il utilise des templates et un support de 50 points (le point central tant compt).
Les squelettes obtenus peuvent ne pas tre minces. Les auteurs proposent alors une phase pralable de modification de lobjet initial afin de le transformer en objet bien compos. Ils proposent
galement dutiliser une dilatation morphologique pour amliorer laspect du squelette.
Le schma de squelettisation est dcrit par lalgorithme 36. Un point sera limin sil vrifie
au moins une template des 4 classes A, B, C, ou D (Fig. B.32) et sil nest pas extrmit (voir
la dfinition ci-aprs) ; sil vrifie une template de la classe D, il faut de plus tester sa simplicit.
Daprs larticle de rfrence, il est dit que les templates sont inspires du travail de Holt et al.
(rfrence [HSCP87], algorithme dj vu dans la section A.5.1, page 266).
Les dfinitions suivantes sont adoptes afin de caractriser un point extrmit : p est un point
extrmit de ligne si p est 26-adjacent exactement un point de lobjet. Le point p est un point
presque extrmit dune ligne si p est 26-adjacent exactement deux points de lobjet qui sont :
soit [Sud(p) et Est(p)] ou [Sud(p) et Haut(p)] mais non les deux (EXT 1 ),
soit [Nord(p) et Ouest(p)] ou [Haut(p) et Ouest(p)] mais non les deux (EXT 2 ),
soit [Nord(p) et Bas(p)] ou [Est(p) et Bas(p)] mais non les deux (EXT 3 ).
Notons que cette dfinition est ambigu : en effet, si p est exactement 26-adjacent deux
points, les deux conditions de chaque clause sont mutuellement exclusives.
Le point p est un point terminal sil est soit un point extrmit de ligne soit un point presque
extrmit de ligne.
Rpter
Supprimer en parallle les points non terminaux de lobjet
vrifiant au moins une des templates des classes A, B, C ou D
(dans le cas de la classe D, il faut tester la simplicit du point) ;
Jusqu ce quil ny ait plus de suppression durant une itration.
Algorithme 36: Algorithme de Ma et Sonka (M A S O).

B.4.2.2 Commentaires et rsultats


Les squelettes obtenus peuvent ne pas tre minces : nous pouvons constater la prsence de
points redondants dans le squelette de lobjet O de la figure B.31. En effet, considrons lobjet
(plus simple) de la figure B.30. Il y a quatre points 26-simples : A, B, C et D ; ils vrifient
respectivement les templates A1 , A1 , A3 et A5 . Le point A (resp. D) est extrmit car ses voisins
Est(p) et Bas(p) appartiennent lobjet (EXT 3 ) (resp. Haut(p) et Ouest(p) (EXT2 )) ; les points
B et C ne sont pas des points terminaux. Les deux points 26-simples A et D sont prservs,
ce sont alors des points redondants dans le squelette obtenu. Notons galement que le squelette

320

Algorithmes de squelettisation 3D

obtenu nest pas symtrique (un tel rsultat tait attendu car des directions sont privilgies dans
les templates et dans la dfinition de point terminal).
Remarque : la section 6.7.3, nous avons montr que cet algorithme ne prservait pas la
topologie.

(a)

(b)

F IG . B.30 Prsence de points redondants dans un objet - algorithme M A S O : (a) objet initial,
(b) squelette obtenu.

Objet initial

(7, 1 492, 248.67)

Objet initial

(5, 2 515, 503)

Objet initial

(4, 2 020, 505)

Objet intial

(4, 3 138, 784.5)

F IG . B.31 Squelettisation avec lalgorithme M A S O (R EPR7).

B.4 Algorithmes fortement parallles

A1

A2

B1

B2

B7

C1

C7

D1

D7

B8

C2

321

A3

B3

B9

C3

A4

B4

A5

B5

A6

B6

B10

B11

B12

C4

C5

C6

C8

D2

D3

D4

D5

D6

D8

D9

D10

D11

D12

F IG . B.32 Les 4 sries de templates utilises par lalgorithme M A S O. Au moins un point


reprsent par un cube noir doit appartenir lobjet (templates D 1 , D2 , D5 , D6 , D7 ou D12 ).

322

Algorithmes de squelettisation 3D

B.4.3 Algorithme fortement parallle de Manzanera et al. (MB_3D)


[MBPL99c] [MBPL99a]
B.4.3.1 Description
Il sagit dun algorithme fortement parallle permettant lobtention de squelettes surfaciques
et dun support de 81 points (le point central tant compt). Il utilise plus de points que les algorithmes fortement parallles tudis auparavant (cf. sections B.4.1 et B.4.2).
Le schma de squelettisation est dcrit par lalgorithme 37. Un point x est limin sil vrifie
1 , 2 ou 3 ( symtries prs), sauf si son 18-voisinage contient le motif 1 , ou si son 26voisinage contient le motif 2 (Fig. B.33). Considrons une configuration vrifiant 1 ou 2 ou
3 , si de plus son 18-voisinage contient 1 alors le point x appartient au motif (cest lun des
points reprsents), en revanche si son 26-voisinage contient le motif 2 , le point x nest pas
forcment lun des deux points noirs de lobjet, reprsents dans le motif 2 .

F IG . B.33 Un point x est limin sil vrifie 1 , 2 ou 3 , sauf si son 18-voisinage contient le
motif 1 , ou si son 26-voisinage contient le motif 2 .

Rpter
Supprimer en parallle les points P de lobjet, vrifiant
le motif 1 ou le motif 2 ou le motif 3 ,

(P ) ou N26
(P )
et tels que les motifs 1 , 2 ne soient pas inclus resp. dans N18
(motifs considrer rotations de 90 degrs prs) selon les axes Ox, O y et Oz
P tant tel quil ne vrifie pas les motifs 1 et 2 ( rotations de 90 degrs prs)
Jusqu ce quil ny ait plus de suppression durant une itration.
Algorithme 37: Algorithme de Manzanera et Bernard (MB_3D).

B.4.3.2 Commentaires et rsultats


Cet algorithme est lextension directe de la version 2D, tudie dans la section A.5.6. Parmi
les algorithmes que nous avons tudis dans ce chapitre, cest le plus facile implmenter : un

B.5 Conclusion

323

point P est supprim si cest un point simple et voisin dun point intrieur et tel que les motifs

1 et 2 ne soiennt pas inclus respectivement dans N 18


(P ) ou N26
(P ).
Comme aucune direction nintervient dans les motifs (contrairement aux algorithmes de Ma
(section B.4.1) et de Ma et Sonka (section B.4.2) ; plus prcisment des conditions directionnelles
sont imposes dans ces deux algorithmes fortement parallles), alors le processus de squelettisation est homogne (ou isotrope) ; les squelettes obtenus sont alors bien centrs. Nanmoins, et
cest la contrepartie du bon centrage des squelettes, les rubans dpaisseur 2 ne sont pas amincis.
Notons quaucune condition implicite nest impose au niveau des points extrmits ; le processus prserve les courbes et les bouts de surface dpaisseur 1 (car leurs points simples ne peuvent
tre voisins dun point intrieur).
Remarque : la section 6.7.4, nous avons montr que cet algorithme prserve la topologie.

B.5 Conclusion
Nous avons pass en revue diffrents algorithmes des trois classes introduites au chapitre 4,
savoir : les algorithmes de type sous-itrations directionnelles, de type sous-mailles ou fortement
parallles. Nous avons constat que certains algorithmes fournissent des squelettes curvilignes
ou surfaciques ou les deux. Nous avons galement remarqu que les problmes qui apparaissaient
en 2D, existent encore maintenant. Le long de cette tude, nous avons mis en vidence diffrents
autres problmes, tels que le grignotage de contours, une phase pralable dtiquetage.
Dans la deuxime partie de cette thse, aprs avoir rappel le concept de point P -simple
(chap. 5), nous avons propos de nouveaux algorithmes de squelettisation, bass sur la suppression de tels points (chap. 6). Les problmes relevs dans ce chapitre nous ont guids pour
llaboration de ces nouveaux algorithmes. Nous avons compar ces nouveaux algorithmes avec
ceux de Palgyi et Kuba (en 6 et 12 sous-itrations, resp. PA K U6 et PA K U12), celui de Gong et
Bertrand (G O B E) et celui de Manzanera et al. (MB_3D), tudis dans ce chapitre.
Retenons que les auteurs des algorithmes prsents dans ce chapitre ont apport des preuves
difficiles et numratives afin de dmontrer que leurs algorithmes prservaient bien la topologie.
En revanche, lutilisation des points P -simples permet de concevoir des algorithmes de squelettisation, sans avoir besoin de montrer quils prservent la topologie ; ce quils font par la dfinition
mme des points P -simples. Rappelons que nous avons montr, laide des points P -simples,
que lalgorithme fortement parallle de Ma (M A) (cf. section 6.7.2) et que lalgorithme fortement parallle de Ma et Sonka (M A S O) (cf. section 6.7.3) ne prservaient pas la topologie. Nous
avons galement montr que lalgorithme de Manzanera et al. (MB_3D) prservait la topologie
(cf. section 6.7.4.2).
Dans la troisime partie de ce travail, nous avons propos galement des algorithmes de
squelettisation pour images 3D binaires, grce une approche topologie discrte (chapitre 9).
Dans ce cadre, nous avons donn une nouvelle caractrisation de points terminaux de surface (cf.
section 9.5.3).

324

Algorithmes de squelettisation 3D

Annexe C
Graphes de dcision binaire
Une proprit P quun lment x doit satisfaire peut tre dcrite par une fonction boolenne
f : par exemple, la fonction f vaut 1 si llment x vrifie la proprit P et 0 dans le cas contraire
(P pourrait tre la proprit de simplicit dun point, par exemple). La fonction f peut tre
stocke sous la forme dune table de vrit (il faut alors passer en revue toutes les configurations
possibles que peut vrifier llment x et calculer f pour chacune dentre elles, dans le cas o
f nest pas donne explicitement). Nous pouvons galement utiliser une table de consultation
qui sera indice par un nombre codant une configuration (plus prcisment, lensemble des
variables permettant de tester P ou de calculer f quelle que soit la configuration), et telle
que le contenu associ cette configuration indique si elle vrifie la proprit P (i.e. si f (x)
vaut 0 ou 1 pour une configuration x). Prenons le cas dun algorithme de squelettisation. Afin
de dterminer si un point est simple (cela tant faire pour tous les points de limage), plutt
que dexaminer son voisinage et de dterminer si ce point est simple ou non (par parcours de
composantes connexes dans son voisinage par exemple), nous pouvons accder directement la
table de consultation, pralablement calcule pour toutes les configurations possibles ; lindice
de la table correspondant au voisinage du point x.
Deux problmes apparaissent aussitt : la cration de la table et son stockage. Par exemple, si
la proprit P consiste caractriser les points simples en 2D, 2 8 (= 256) configurations (correspondant toutes les configurations dans N 8 (x)) doivent tre gnres, et pour chacune dentre
elles, si le point central x dune telle configuration est simple, alors la valeur 1 est associe la
configuration correspondante (qui reprsente galement lindice dans la table de consultation).
Dans le cas 3D, toujours avec la proprit de simplicit, 2 26 (= 67 108 864) configurations (cor
(x)) doivent tre gnres ; en codant la rponse (0 ou 1) sur 1 bit, la taille de la
repondant N26
table ncessite alors 226 bits (= 8 Mgaoctets) de mmoire pour tre stocke.
Nous prsentons ici la notion de graphe de dcision binaire (Binary Decision Diagrams - ou
BDD). De tels graphes permettent de reprsenter une fonction boolenne de faon trs efficace.
Quelques prcisions concernant leur cration ainsi que quelques proprits, inconvnients et des
exemples dutilisation seront donns. Les BDD se sont rvls tre des outils puissants et indispensables tout au long de ce travail (nous le verrons par la suite sur des exemples de leur mise en
uvre).

326

Graphes de dcision binaire

xi
0

fxi

fxi

F IG . C.1 Dcomposition de Shannon reprsente par un arbre binaire.

C.1 Dfinition
C.1.1 Terminologie gnrale [Bry86]
Les graphes de dcision binaire (Binary Decision Diagrams - BDD) (introduits par C.Y. Lee
[Lee59] et S.B. Akers [Ake78], voir [Bry86]) reprsentent des fonctions boolennes comme des
graphes orients sans cycle dont les nuds correspondent aux variables ncessaires la dfinition
de la fonction (support) et dont les nuds terminaux (feuilles) sont tiquets par les valeurs 0 et 1.
Un graphe de dcision binaire ordonn (Ordered Binary Decision Diagram - OBDD) est un BDD
avec les contraintes que les variables dentre soient ordonnes et que chaque chemin sourcefeuille dans le OBDD visite les variables dentre dans un ordre ascendant. Un graphe de dcision
binaire ordonn rduit (Reduced Ordered Binary Decision Diagram - ROBDD) est un OBDD
dans lequel chaque nud reprsente une fonction logique distincte (pour un ordonnancement
fix, deux ROBDD dune mme fonction sont isomorphes).

C.1.2 Dfinition ([AJCL+00], chap. 2)


Soit f (x1 , x2 , . . . , xn ), une fonction de {0, 1}n dans {0, 1}.
Nous avons i {1, . . . , n}, f (x1 , x2 , . . . , xi1 , xi , xi+1 , . . . , xn ) = xi .f (x1 , x2 , . . . , xi1 , 0, xi+1 , . . . ,
xn ) +xi .f (x1 , x2 , . . . , xi1 , 1, xi+1, . . . , xn ). Les termes f (x1 , x2 , . . . , xi1 , 0, xi+1 , . . . , xn ) et
f (x1 , x2 , . . . , xi1 , 1, xi+1 , . . . , xn ) sont appels les cofacteurs ngatif et positif de f par rapport
la variable xi . Ils sont nots respectivement fx i et fxi . La dcomposition de Shannon sur la
variable xi scrit f = xi .fxi + xi .fxi . Cette dcomposition est unique.
La dcomposition de Shannon peut tre reprsente par un arbre binaire pour lequel la racine
est tiquete par la variable de dcomposition xi , le fils droit par le cofacteur positif (cas o la
variable xi vaut 1, dans la suite ce choix sera matrialis par un trait plein) et le fils gauche par le
cofacteur ngatif (cas o la variable xi vaut 0, dans la suite ce choix sera matrialis par un trait
en pointill) (Fig. C.1).
Si cette dcomposition de Shannon, avec cette reprsentation sur les deux cofacteurs, est

C.2 Obtention dun BDD

327

ritre pour toutes les variables de f , alors nous obtenons un arbre binaire, appel arbre de
Shannon, pour lequel les feuilles sont les constantes 0 et 1, et les nuds sont tiquets par les
variables de la fonction. Un tel arbre est une reprsentation quivalente la table de vrit de la
fonction. Un BDD est un arbre de Shannon dans lequel des contraintes sont imposes (ordre des
variables, rduction des sous-graphes isomorphes), dcrites ultrieurement (section C.2.1.1).
Introduisons maintenant quelques notations : chaque nud non terminal v est tiquet par
une variable var(v) et prsente des arcs dirigs vers deux fils : lo(v) (en pointill) correspondant
au cas pour lequel la variable vaut 0, et hi(v) (en trait continu) correspondant au cas pour lequel
la variable vaut 1. Chaque nud terminal est tiquet 0 ou 1.
La valeur de la fonction pour une configuration donne est dtermine en traant un chemin
de la racine au nud terminal, en suivant les branches indiques par les valeurs affectes aux
variables ; la valeur de la fonction est alors ltiquette du nud terminal.
Une fois quun ordre total sur les variables est fix, puisque la dcomposition de Shannon est
unique, alors la reprsentation sous forme darbre de Shannon est unique ; larbre comporte 2 n 1
nuds ; n tant le nombre de variables. Il existe dans cette reprsentation des redondances. Nous
donnerons les rgles de rduction dans la section C.2.1.1. Le graphe sans redondance est appel
graphe de dcision binaire rduit. Dans le cas o il possde le mme ordre de dcomposition des
variables sur tous ces chemins, on parle de graphe de dcision binaire rduit ordonn (ROBDD).
Un ROBDD est alors canonique. En raison de leur reprsentation canonique, ces graphes rendent
aiss les tests de proprits fonctionnelles comme la satisfaisabilit et lquivalence [Bry86]. La
taille effective du ROBDD dpend de lordre choisi pour les variables (voir paragraphe C.2.2).
Dans la suite, nous ne travaillons quavec des ROBDD, que nous renommons dornavant BDD.

C.2 Obtention dun BDD


C.2.1 Rduction dun BDD
C.2.1.1 Rgles de rduction [Bry92]
En commenant avec nimporte quel arbre binaire satisfaisant une proprit dordonnancement, on peut rduire sa taille en appliquant de faon rpte, les rgles de transformation
suivantes :
Rgle 1 : Supprimer les nuds terminaux dupliqus, liminer tous les nuds terminaux
dune tiquette donne, sauf un, et rediriger tous les arcs allant aux nuds limins vers
celui restant.
Rgle 2 : Supprimer les nuds non terminaux dupliqus. Soient deux nuds non terminaux
u et v tels que var(u) = var(v), lo(u) = lo(v), hi(u) = hi(v), alors liminer lun de ces
deux nuds et rediriger tous les arcs entrant au nud liminer vers le nud restant.
Rgle 3 : Supprimer les tests redondants. Soit un nud non terminal v tel que lo(v) =
hi(v), alors liminer v et rediriger vers lo(v) tous les arcs entrants vers v.

328

Graphes de dcision binaire


x1 x2 x3
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

f
0
0
0
1
0
1
0
1

x1
x2

x2

x3
0

x3
0

x3
1

(a)

x2
x3
0

1
(c)

x1

x2
x3

(b)

x1

x3

x3

x1

x2
x3

x2

x3

x2

x3
0

1
(d)

x3
0

1
(e)

F IG . C.2 (a) Table de vrit de f , (b) arbre de dcision associ. Application des rgles de
rduction sur larbre de Shannon reprsent en (b) : suppression (c) des terminaux dupliqus,
(d) des non-terminaux dupliqus, (e) des tests redondants.
C.2.1.2 Exemple
La figure C.2 illustre une reprsentation de la fonction f (x1 , x2 , x3 ) dfinie par la table de
vrit donne la figure C.2 (a). Pour un BDD, est impos un ordre total (<) sur lensemble
des variables ; et pour tout nud u et quel que soit son fils v non terminal, il est exig que leurs
variables respectives soient telles que var(u) < var(v). Par exemple, sur la figure C.2 (b), lordre
est x1 < x2 < x3 . Les figures C.2 (c), (d), (e) reprsentent successivement lapplication des trois
rgles de rduction. En examinant la figure C.2 (e), nous pouvons alors dcrire la fonction f par
(x1 + x1 .x2 ).x3 ; ce qui est ici une autre formulation de f peut tre vue comme une proprit de
f , i.e. f est quivalente la fonction (x1 + x1 .x2 ).x3 , ce qui nest pas vident directement par la
seule observation de la table de vrit.

C.2.2 Problme de lordonnancement des variables


Le problme pos par le calcul dun ordre qui minimise la taille du graphe est un problme
co NP-complet [Bry86] : nous avons une croissance exponentielle de stockage et de lefficacit
des algorithmes manipulant les BDD selon lordonnacement choisi ([CLR94] chap. 36).

C.2 Obtention dun BDD

329
a1

a1
b1

a2

a2

a2
b1

b2

b1

b2

(a)

1
(b)

F IG . C.3 Reprsentations de BDD pour la fonction f = a 1 .b1 + a2 .b2 selon deux ordonnancements diffrents de variables : (a) a1 < b1 < a2 < b2 , (b) a1 < a2 < b1 < b2 .
Considrons la figure C.3, o est dcrite la formule f = a1 .b1 + a2 .b2 selon deux ordonnancements diffrents. Sur la figure C.3 (a), est reprsent le BDD selon lordonnancement
a1 < b1 < a2 < b2 . Le graphe comporte 4 nuds non terminaux. Sur la figure C.3 (b) est reprsent le BDD selon lordonnancement a1 < a2 < b1 < b2 . Le graphe comporte 6 nuds non
terminaux. En gnralisant 2n variables, le premier ordonnancement a 1 < b1 < a2 < b2 <
. . . < an < bn conduit un graphe de 2n sommets non terminaux ; le second ordonnancement
a1 < a2 < . . . < an < b1 < b2 < . . . < bn mne un graphe de 2(2n 1) sommets non
terminaux (par rcurrence, nous avons un arbre binaire complet sur les n premiers niveaux pour
les variables ai , et nous avons le mme nombre de nuds (non terminaux) pour les variables b i ).
En pratique, lordonnancement est choisi manuellement ou par une heuristique (ou dans notre
cas, par lordonnancement induit par lexpression de la formule boolenne en entre, par exemple
suivant un ordre de balayage vido du voisinage dun point central). On peut noter quil existe
des packages de cration de BDD, qui utilisent un rordonnancement dynamique des variables
(voir [CYB97]).

C.2.3 Autres possibilits dobtention de BDD


Il existe plusieurs faons de concevoir des BDD.
La premire consiste rduire larbre de Shannon, comme on la vu prcdemment. Il est
galement possible de crer un BDD directement partir de la formule boolenne [BRB90], plutt que par rduction de larbre de Shannon. Pour cela, est construit rcursivement le BDD de
faon viter de fabriquer un sous-arbre dj construit. chaque tape de la rcursion, la dcomposition de Shannon est ralise suivant la variable courante et le BDD est construit partir
des cofacteurs positif et ngatif de f , de faon viter de construire deux fois le mme objet
(utilisation dune table adressage dispers hashcode, de rgles de simplification afin darrter la rcusivit, . . . ). La version [BRB90] utilise une information supplmentaire sur les arcs

330

Graphes de dcision binaire

(complement-edge) afin dinverser le rsultat, une table de hachage permettant de maintenir une
forme canonique (par unicit suppression et non-adjonction de sous-graphes isomorphes), et
dun rcuprateur de mmoire (nuds dsallous). Cest le package que nous avons utilis pour
la cration de tous les BDD tout au long de cette thse. Dans [CYB97], se trouvent des dtails
concernant les mthodes de construction rcursives par largeur (breadth-first approach) ou par
profondeur dabord (depth-first approach) ; la premire est telle quelle est plus rapide en termes
daccs mmoire et la seconde propose une faible surcharge de mmoire. En fait dans [CYB97],
les auteurs proposent une construction hybride tirant parti des deux prcdentes mthodes.

C.2.4 Problme de la taille mmoire


Il est difficile destimer le nombre de nuds que comportera le BDD que lon souhaite obtenir. Tout dpend de la fonction considre (et de lordonnancement). Par exemple, peu de configurations vrifiant une proprit P peuvent donner un BDD de faible taille. Nanmoins, plus
de configurations peuvent permettre une meilleure compression. Trop de configurations peuvent
empcher galement une trop grande compression. Cela est un problme, car lobtention dun
BDD associ une proprit nest pas garantie. De plus, dans ce cas, la limitation en mmoire
peut tre ventuellement rsolue pour un autre ordonnancement des variables. En fait, tout au
long de cette thse, sauf dans un cas, nous avons toujours pu obtenir les BDD pour une proprit donne : soit directement, soit indirectement en passant par des BDD intermdiaires (voir
explications C.3.4.4). Nanmoins, il est impossible dobtenir le BDD correspondant aux points
P -simples en 3D (voir chapitre 5), quel que soit lensemble P , car il est impossible dobtenir
la formule boolenne associe. En effet, elle rfrence 26 variables du voisinage, qui peuvent
prendre deux valeurs appartient ou non lobjet et les mmes 26 variables (nommes diffremment) indiquent leur appartenance un ensemble P ; 52 variables sont alors exiges et la
taille de larbre binaire complet comporterait 252 nuds soit 524 288 Gigaoctets, selon le type de
stockage prcdemment expliqu.
Notons quil est possible de construire le BDD de faon dynamique, sans stockage de la
formule boolenne ; cest dailleurs ce qui a t fait pendant cette thse avec le package utilis.
Souvent, nous avons eu recours aux isomtries (voir lannexe D) afin de ne pas passer en revue
toutes les configurations possibles, mais un plus petit nombre (principe du crible dEratosthne
([Sed91]), afin dobtenir un ensemble minimal de configurations).

C.3 Utilisations
Dans cette section, nous donnons quelques exemples dutilisation des BDD, tels que la compression dimages, la synthse logique, etc.

C.3.1 Compression dimages [SB95]


Soit une image binaire 2D. Les variables du BDD sont les coordonnes des pixels de limage,
et les feuilles (valeurs 0 ou 1) sont des carrs noirs ou blancs. Daprs des tests sur quelques

C.3 Utilisations

331
x1

x1 x0
00 01 10 11
00
01
y1 y0
10
11

y1
x0

x1
y1

y1

x0

x0

y0

(a)

y0

(b)

y1
x0

x0
y0

(c)

F IG . C.4 Utilisation dun BDD pour la compression dimages. (a) Image, (b) bintree, (c) BDD.
Les variables x0 , x1 , y0 , y1 dcrivent les coordonnes des points.
images [SB95], le BDD utilise un quart de nuds en moins quavec un bintree (binary quadtree,
structure dcoupant limage), et un quart de mmoire en plus (Fig. C.4). Dans ce mme article,
les BDD sont galement utiliss pour stocker une squence dimage (une racine par image, le
graphe est maintenant une arborescence).

C.3.2 Dans les circuits et outils de synthse logique [Bry86] [CYB97]


C.3.3 Dtermination de points simples [RM96]
Il sagit dobtenir un BDD dont les nuds correspondent aux voisins dun point x ncessaires

(x) dans le cas 3D).


pour dterminer si x est simple ou non (i.e. N 8 (x) dans le cas 2D, et N26
Ces BDD ont servi pour certains algorithmes utilisant la dtection de points simples [Akt97]. Ils
ont galement servi lors de ltude de la segmentation topologique du rseau vasculaire du foie,
tude ralise avec P. Dokldal [DLPB99a] [DLPB99b] [Dok00].

C.3.4 Dans cette thse


C.3.4.1 Obtention en pratique du BDD
Nous fournissons une formule boolenne au programme BDD (le package utilis est celui
dcrit dans [BRB90]), qui cre un arbre (en Postscript). Avec un traducteur Postscript vers C,
nous obtenons un code pouvant tre inclus dans un programme, par exemple un algorithme de
squelettisation. Ce code est une succession de GOTO (branchement avec tiquette) correspondant
aux diffrents nuds et directions de larbre. Cette technique est celle propose par [RM96].
C.3.4.2 Utilisation pour les valeurs des nombres topologiques [Loh97]
Nous avons introduit un codage pour dcrire les couples de valeurs possibles pour les nombres
topologiques. Ce codage a t dcrit par des variables complmentaires. Nous avons modifi la

332

Graphes de dcision binaire

formule boolenne afin quelle tienne compte maintenant de ces variables. Nous rcuprons en
sortie le code du couple de nombres topologiques de la configuration donne en entre. En pratique, avec ce seul code, nous pouvons caractriser certains points de limage (par exemple, les
points de surface, voir la classification la section 3.7). Cela peut tre vu comme une variante de
lutilisation dun BDD pour la compression dimages [SB95] de diffrents niveaux (le code correspondant au niveau de coloration reprsentant un couple de valeurs topologiques). En pratique,
nous avions prlablement calcul un BDD pour chaque valeur des nombres topologiques. Puis
nous avons utilis ces derniers afin de calculer plus rapidement la formule boolenne servant
crer le BDD final.
C.3.4.3 Obtention des MNS en 2D
Lors de la gnration du voisinage 4 3 dun ensemble {p, q} tel que p et q soient simples,
les configurations, telles que p devient non simple aprs que q soit enlev, sont extraites. Le
BDD obtenu partir de ces configurations peut nous permettre de retrouver les motifs donns
par R.W. Hall, dans le cas des MNS (voir section 2.6.2.2). Pour ce mme exemple, nous avons
gnr toutes les configurations de lensemble {p, q} partir du BDD des points simples pour p
et q, cela afin dobtenir les configurations plus rapidement. Ce qui est un gain de temps mineur
dans le cas 2D, est important voire ncessaire dans le cas 3D (voir ci-aprs).
C.3.4.4 Dtermination des points -simples
Dans la troisime partie de ce mmoire, a t donne la dfinition rcursive de points n simples (cf. section 7.5). Dans le cas 3D, et pour n = 3, il est trs long de dterminer directement les points 3 -simples parmi toutes les configurations possibles. La faon la plus efficace de
dterminer les points 3 -simples (et den obtenir un BDD) a alors t de les obtenir partir du
BDD des points 2 -simples (cf. section 9.2).
Nous avons galement propos une notion de point -simple et terminal de surface (cette notion utilise le concept darbre). Nous avons alors utilis le BDD des points 3 -simples afin de ne
retenir que les premiers candidats, partir desquels nous avons test la condition dtre terminal
de surface. Nous avons cr le BDD associ aux points terminaux de surface. Au final, lalgorithme de squelettisation utilise seulement des BDD afin de dtecter les points supprimables.

C.4 Conclusion
En conclusion, un BDD peut tre vu comme un outil prcieux permettant de stocker une formule boolenne sous une forme trs compacte (avantageant la mmoire mise disposition dun
programme les manipulant) mais galement permettant dextraire certaines proprits dcoulant
de celle sur laquelle le BDD a t construit. Cest le cas, lorsque le BDD final nutilise pas une
variable dentre, cela signifie que la formule est indpendante de cette variable (voir la Rgle 3
la section C.2.1.1). De mme, lors de lexamen du rsultat, nous pouvons nous apercevoir que

C.4 Conclusion

333

la prsence de certaines variables amne tout de suite une valeur finale, sans tester les autres variables ; cela permet de donner certaines caractrisations efficaces (par exemple, certains motifs
dans les MNS nutilisent pas toutes les variables, cf. section C.3.4.3).

334

Graphes de dcision binaire

Annexe D
Isomtries
Dans cette annexe, sont rappeles quelques gnralits concernant les isomtries dans Z n ,
n = 1, . . . , 3. Les isomtries dans Z 3 ont t utilises lors de limplmentation des algorithmes
utilisant des templates, gnralement donnes isomtries prs (voir lannexe B). Elles permettent galement dobtenir un ensemble minimal de configurations partir desquelles et par
lutilisation du crible dEratosthne, on retrouve toutes les configurations. Ce qui permet de manipuler de plus petits fichiers de donnes et de tester certaines proprits plus rapidement. Cela
sera expliqu en fin de ce chapitre.

D.1 Isomtries dans Z


O

x1 x

x1

(a)

(b)
F IG . D.1 Isomtries dans Z.

Considrons le repre orthonorm R(O,


i),
i vecteur unitaire selon laxe (Ox). Il y a deux
faons de placer un point x1 distance 1 de O et sur laxe Ox (Fig. D.1). Il y a alors 2 isomtries
dans Z.
Soit
b1 = (1). Les images possibles de
b1 par une isomtrie sont
1 = (1) (correspondant
lidentit, Fig. D.1 (a)) et
2 = (1) (correspondant une symtrie centrale par rapport O,
Fig. D.1 (b)).

336

Isomtries

D.2 Isomtries dans Z 2


Considrons le repre orthonorm R(O,
i,
j),
i (resp.
j) vecteur unitaire selon laxe (Ox)
(resp. (Oy)). Il y a quatre faons de placer un point x1 distance 1 de O, et pour chacune dentre
elles, il y a 2 faons de placer le point x2 distance 1 de O et de manire quil ne soit pas sur le
dans Z 2 .
mme axe que x
1 . Il
y a alors8 isomtries

1
0
Soient
b1 =
et
b2 =
. Les images possibles de
b1 et
b2 par une isomtrie sont parmi
0
1
 
 
 
 
1
0
1
0
,
2 =
,
3 =
,
4 =
.

1 =
0
1
0
1
y
x2
O

y
x1 x

y
x1
x1 x

y
x1
x2 x

x2

x2

x1

(a)

(b)

(c)

(d)

y
x2

x1

(e)

x2 x

x2

x2

x1

x1

(f )

(g)

(h)

F IG . D.2 Isomtries dans Z 2 .


Les 8 matrices suivantes dcrivent les 8 isomtries dessines la figure D.2 :


1 0
0 1
identit
(a)



1 0
0 1
sx
(b)



0 1
1 0
r1 sx
(c)



0 1
1 0
r1
(d)


 
 
 

0 1
0 1
1 0
1 0
1 0
1 0
0 1
0 1
sx r12
r12
r13
sx r1
(e)
(f )
(g)
(h)

D.3 Nombre disomtries dans Z n

337

D.3 Nombre disomtries dans Z n


Pour n = 1, il y a 1 axe et 2 faons de placer un seul point sur cet axe ; soit 2 isomtries,
Pour n = 2, il y a 2 axes et 2 faons de placer le premier point sur chaque axe, et 2 faons
de placer le second point sur laxe restant ; soit 8 isomtries,
Pour n = 3, il y a 3 axes et 2 faons de placer le premier point sur chaque axe, 2 faons de
placer le deuxime point sur chacun des 2 axes restants, et 2 faons de placer le troisime
point sur laxe restant ; soit 48 isomtries.
Plus gnralement, pour n axes (dans Z n , n 1), il y a :
2 n faons de placer le premier point sur les n axes,
.
2 (n 1) faons de placer le deuxime point sur les n 1 axes, ..
2 1 faons de placer le dernier point sur laxe restant.
Soit 2n (n (n 1) . . . 1) = 2n n! isomtries, n! dsignant la factorielle de n.

D.4 Gnration automatique des isomtries de Z n



0
..
.

0

Soit
bi = 1, avec un 1 la i-ime ligne, i = 1, . . . , n.

0
.
..
0
Soient Bn = {
bi , i = 1, . . . , n} et Bn = {
bi , i = 1, . . . , n}. Les images possibles de
bi
(i = 1, . . . , n) par une isomtrie dcrivent Bn Bn = {
i , i = 1, . . . , 2n}, avec
i = bi si
i = 1, . . . , n et
i = bin si i = n + 1, . . . , 2n.
Le schma de programme, dcrit la figure D.3, permet laffichage des matrices des isomtries Mj , avec Mj = (
b 1 ,
b 2 , . . . ,
b n ) et j = 1, . . . , 2n n! (ce schma de programme a t propos
par M. Couprie).

Pour
b 1 de
1
2n faire
Pour
b 2 de
1
2n tel que
b 2 ne soit pas align avec
b 1 faire
..
.
Pour
b n de
1
2n tel que
b n ne soit pas align avec
b 1 , . . . ,
b n1 faire
Afficher (
b  ,
b  , . . . ,
b  )
1

F IG . D.3 Schma de programme (bauche) pour lobtention des matrices des isomtries.

338

Isomtries

x1
|x1 |
..
..
.
.

Soit
x = xi , avec xi {1, 0, 1}, pour i = 1, . . . , n. On dfinit |
x| = |xi | , le
.
.
..
..
|xn |
xn
vecteur form des valeurs absolues des coordonnes de
x et Max(
x) = Max(x1 , x2 , . . . , xn ), la
plus grande coordonne de
x.
Avec ces notations, le schma de programme prcdent peut alors tre rcrit, voir Fig. D.4.

Pour
b 1 de
1
2n faire
Pour
b 2 de
1
2n tel que Max(|
b 1 | + |
b 2 |) = 1 faire
..
.
Pour
b n de
1
2n tel que Max(|
b 1 | + . . . + |
b n |) = 1 faire
Afficher (
b  ,
b  , . . . ,
b  )
1

F IG . D.4 Schma de programme pour lobtention des matrices des isomtries.


Soit Mj = (
b 1 ,
b 2 , . . . ,
b n ), la matrice de la j-ime isomtrie obtenue avec cet algorithme,
avec j = 1, . . . , 2n n!. Limage de
bi par Mj est Mj
bi et donne pour rsultat un vecteur
k de
Bn Bn .
On a
{Mj
bi , i = 1, . . . , n} = {
k , k = 1, . . . , 2n}.
j=1,...,2n n!


1 0
2
Par exemple, dans Z , avec M2 =
la matrice de la symtrie par rapport Ox , et
0 1
 
 
 

0
0

b2 = 0 , le produit M2
b2 = 1 0
qui est le vecteur
4 .
donne
1
1
1
0 1
Remarque : Nous aurions galement pu utiliser le fait que toute isomtrie de Z n scrit de
faon unique comme un produit dune matrice du groupe dordre 2 n des matrices diagonales
coefficients +1 ou 1 et de rang n et dune matrice du groupe symtrique des permutations de
{1, . . . , n} dordre n! [BR74] [Cal84].

D.5 Isomtries dans Z 3


Parmi les 48 isomtries, seules 13 ont t implmentes ; les autres isomtries peuvent tre
retrouves par une composition dau plus 2 de ces 13 isomtries. Les matrices correspondant
ces 48 isomtries sont donnes au tableau D.1. Les 13 isomtries de base retenues sont iso 0 ,
iso1 , iso3 , iso4 , iso5 , iso7 , iso12 , iso19 , iso24 , iso26 , iso28 , iso36 , iso43 . Les 48 isomtries sont
reprsentes la figure D.5 : la premire ligne sont reprsentes successivement iso0 jusqu
iso7 , et ainsi de suite.

D.5 Isomtries dans Z 3

1 0 0
0 1 0
0 0 1
iso
0 = Identit

1 0 0
0 1 0
0 0 1
iso
4 = sxz
0 1 0
1 0 0
0 0 1
iso
xz
8 = rz s
0 1 0
1 0 0
0 0 1
iso
12 = rz
0 1 0
0 0 1
1 0 0
2
rz
iso
16
= ry
0 1 0
0 0 1
1 0 0
ry
iso
20 = sc,xy
1 0 0
0 1 0
0 0 1
iso
24 = syz
1 0 0
0 1 0
0
0 1
= rz2
iso
28

0 1 0
1 0 0
0 0 1
2
= rz r
iso
32
z

0 1 0
1 0 0
0
0 1
=
sc,xy
iso
36

0 1 0
0 0 1
1 0 0
2
iso
40
= ry sc,xy

0 1 0
0
0 1
1 0 0
iso44 = ry ry2

339

1 0 0
0 1 0
0 0 1
iso
1 = sxy

1 0
0
0 1 0
0 0 1
2
iso5 = rx
0 1 0
1 0 0
0 0 1
iso
2
9 = rz rx
0 1 0
1 0
0
0 0 1
iso
xy
13 = rz s
0 1 0
0 0 1
1 0 0
iso
17
= ry sc,yz

0 1 0
0 0 1
1 0
0
iso
=
r

r
21
x
z

1 0 0
0 1 0
0 0 1
iso
25 = ry ry
1 0
0
0 1 0
0
0 1
iso
=
rx2 syz
29

0 1 0
1 0 0
0 0 1
iso
rx2
33
= sc,xy
0 1 0
1 0
0
0
0 1
iso37 = rx2 r
z

0 1 0
0 0 1
1 0 0
iso
41 = sc,xz sc,yz

0 1 0
0
0 1
1 0
0
iso45 = rx sc,xy

1 0 0
0 0 1
0 1 0
iso
xy
2 = rx s
1 0 0
0 0 1
0 1 0
iso
rx2
6 = rx
0 0 1
1 0 0
0 1 0
iso
rx
10 = rz
0 0 1
1 0 0
0 1 0
iso14
c,yz
= rz s
0 0 1
0 1 0
1 0 0
iso
18
xy
= ry s
0 0 1
0 1 0
1 0 0
iso
rx2
22 = ry
1 0 0
0 0 1
0 1 0
2
iso
26 = ry

1 0 0
0
0 1
0 1 0
2
iso
xz
30 = ry s
0 0 1
1 0 0
0 1 0
2
iso
34
= ry sc,xz

0
0 1
1 0 0
0 1 0
iso38= sc,xy
sc,yz
0 0 1
0 1 0
1 0 0
iso
42
= syz sc,xz

0
0 1
0 1 0
1 0 0
iso46 = rz2 sc,xz

TAB . D.1 Les isomtries dans Z 3 .

1 0 0
0 0 1
0 1 0
iso3 = rx
1 0
0
0 0 1
0 1 0
iso
7 = sc,yz

0 0 1
1 0 0
0 1 0
iso
11 = rx sc,xz

0 0 1
1 0
0
0 1 0
iso
rz
15 = ry
0 0 1
0 1 0
1 0 0
iso
19 = ry

0 0 1
0 1 0
1 0
0
iso
=
r

sxz
23
y

1 0 0
0 0 1
0 1 0
iso
27 = rx syz
1 0
0
0
0 1
0 1 0
2
iso
z
31 = rx r
0 0 1
1 0 0
0 1 0
iso
35 = rx ry
0
0 1
1 0
0
0 1 0
iso
39 = ry sc,xy

0 0 1
0 1 0
1 0 0
iso
43 = sc,xz
0
0 1
0 1 0
1 0
0
iso47 = ry rz2

340

Isomtries
z

y
x

b
a

c
c
c

c c

b
c
a

c
a

c c

a
b

b
a

b
a
b

b
b

c c

a
b

c
b

c c
b

c
a

b
c c

a
c

c
a

b
a

c c
a

b
c

b
c

c
c

b
a

b
a

a
c c

b
a

c
a

c
c

c c

a
c

b
a

b
a

F IG . D.5 Isomtries dans Z 3 .

D.6 Ensemble minimal de configurations


D.6.1 Obtention dun ensemble minimal
Nous dcrivons dans cette section la faon de procder afin dobtenir un ensemble minimal
de configurations partir duquel on retrouve lensemble de toutes les configurations possibles
par lapplication des 48 isomtries de Z 3 .
Nous crons un tableau T , chacune de ses cases correspond une configuration et contient
un tmoin t. Initialement, t est mis 0 pour chaque configuration. Chaque case du tableau est
successivement examine :
si le tmoin t de cette case vaut 0 alors on insre la configuration correspondante dans un
fichier rsultat, puis on gnre les configurations correspondant aux 48 isomtries et on

D.6 Ensemble minimal de configurations

341

met le tmoin 1 dans les cases de T correspondant ces isomtries,


si le tmoin vaut 1, cela signifie que la configuration correspondant cette case a dj t
obtenue par isomtrie partir dune configuration actuellement prsente dans le fichier
rsultat.
la sortie de lalgorithme, on obtient un fichier contenant lensemble minimal de configurations. Le procd utilis est celui du crible dEratosthne [Sed91].
Parmi lensemble des 67 108 864 configurations possibles dcrivant un voisinage 3 3 3,
lensemble minimal obtenu comporte 1 426 144 configurations, soit 47.1 fois moins ; valeur infrieure 48, car une configuration donne peut donner une mme image (i.e. une mme configuration) avec des isomtries diffrentes.

D.6.2 Utilisation
Par exemple, pour connatre lensemble des configurations locales correspondant un point
simple, on peut procder des deux faons suivantes :
on retient les configurations correspondant un point simple (avec les nombres topologiques, par exemple) parmi toutes les configurations possibles,
(a) on retient les configurations correspondant un point simple, parmi les configurations
provenant de lensemble minimal retenu la section D.6.1,
(b) puis on gnre les 48 isomtries des configurations retenues en (a).
La seconde faon est autorise car la simplicit est une proprit indpendante dune direction.
De faon plus gnrale, lorsque lon souhaite obtenir lensemble des configurations vrifiant
une proprit donne, nous pouvons procder des deux faons suivantes :
soit la proprit est teste sur toutes les configurations possibles, et celles qui la vrifient
sont retenues, formant ainsi un ensemble A,
soit la proprit est teste sur les configurations de lensemble minimal, et celles qui la
vrifient sont retenues, formant ainsi un ensemble B ; puis les 48 isomtries des configurations de B sont gnres, produisant ainsi un ensemble C (qui est gal A).
La deuxime faon de procder est autorise lorsque la proprit est indpendante des directions
(par exemple, la simplicit dun point). Elle est intressante utiliser lorsque le test de la proprit
sur lensemble de toutes les configurations possibles est plus coteux la fois que le test de la
proprit sur lensemble minimal et la gnration des isomtries des configurations de B.

Bibliographie
[ABP96]

Z. Aktouf, G. Bertrand, and L. Perroton. A 3D-hole closing algorithm. In 6th


International Workshop, DGCI96, pages 3647, 1996.

[AdB89]

C. Arcelli and G. Sanniti di Baja. A one-pass two operation process to detect the
skeletal pixels on the 4-distance transform. IEEE Transactions on Pattern Analysis
and Machine Intelligence, II(4) :411414, 1989.

[AJCL+ 00] P. Amblard, J.-C.Fernandez, F. Lagnier, F. Maraninchi, P. Sicard, and P. Waille.


Architectures logicielles et matrielles. Cours, tudes de cas et exercices corrigs,
chapter 2. 2000.
[Ake78]

S.B. Akers. Binary decision diagrams. IEEE Transaction on Computer, C27(6) :509516, August 1978. (bib. dappui).

[Akt97]

Z. Aktouf. Oprateurs topologiques pour images binaires 3D. PhD thesis, Universit Paris-Sud, 1997.

[Ale37]

P. Alexandroff. Diskrete Rame. Mat. Sbornik 2,, 44(3) :501518, 1937. (bib.
dappui).

[AR95]

C. Arcelli and G. Ramella. Finding grey-skeletons by iterated pixel removal. Image


and Vision Computing, 13(3) :159167, 1995.

[AR96]

C. Arcelli and G. Ramella. Sketching a grey-tone pattern from its distance transform. Pattern Recognition, 29 :20332045, 1996.

[Arc99]

C. Arcelli. Topological changes in grey-tone digital pictures. Pattern Recognition,


32 :10191023, 1999.

[AS98]

C. Arcelli and L. Serino. Parallel lowering of digital pictures by topology preserving operations. In Proceedings Fourteenth International Conference on Pattern
Recognition, pages 16011603, Brisbane, Australia, August 1998.

[BA94]

G. Bertrand and Z. Aktouf. A three-dimensional thinning algorithm using subfields.


In Proceedings SPIE Conference on Vision Geometry III, volume 2356, pages 113
124, 1994.

[BC99]

G. Bertrand and M. Couprie. A model for digital topology. In DGCI99, volume 1568 of Lecture notes in Computer Science, pages 229241. 8th International
Conference on Discrete Geometry for Computer Imagery, Marne-la-Valle, France,
1999.

344

BIBLIOGRAPHIE

[BC00]

F. N. Bezerra and M. Couprie. Reducing anisotropy of topological operators for


grayscale images. In Proceedings of Vision Geometry IX, volume 4117, pages 46
57. SPIE, San Diego, USA, July 2000.

[BEC97]

G. Bertrand, J.-C. Everat, and M. Couprie. Image segmentation through operators


based upon topology. Journal of Electronic Imaging, 6(4) :395405, 1997.

[Ber84]

G. Bertrand. Skeletons in derived grids. In 7th Int. Conf. on Pattern Recognition,


pages 326329, 1984.

[Ber92]

G. Bertrand. Characterization of three-dimensional discrete holes. Technical report,


ESIEE, 1992.

[Ber94]

G. Bertrand. Simple points, topological numbers and geodesic numbers in cubic


grids. Pattern Recognition Letters, 15 :10031011, 1994.

[Ber95a]

G. Bertrand. On P -simple points. Compte Rendu Acadmie des Sciences de Paris,


t. 321(Srie 1) :10771084, 1995.

[Ber95b]

G. Bertrand. P -simple points : A solution for parallel thinning. Lecture Notes


in Computer Science, pages 233242. 5th International Conference on Discrete
Geometry for Computer Imagery, Sept. 1995.

[Ber95c]

G. Bertrand. Sufficient conditions for 3D parallel thinning algorithms. In Proceedings of Vision Geometry IV, volume 2573, pages 5260. Vision Geometry IV,
SPIE, USA, 1995.

[Ber99]

G. Bertrand. New notions for discrete topology. In DGCI99, volume 1568 of


Lecture Notes in Computer Science, pages 218228. 8th International Conference
on Discrete Geometry for Computer Imagery, Marne-la-Valle, France, 1999.

[Blu67]

H. Blum. Models for the Perception of Speech and visual Form, chapter A transformation for extracting new descriptors of shape, pages 362380. MIT Press,
Cambridge, Massachussets, 1967. (bib. dappui).

[BM94]

G. Bertrand and G. Malandain. A new characterization of three-dimensional simple


points. Pattern Recognition Letters, 15 :169175, 1994.

[BM95]

G. Bertrand and G. Malandain. A note on "building skeleton models via 3-D medial surface / axis thinning algorithms". Graphical Models and Image Processing,
57(6) :537538, November 1995.

[BM96]

G. Bertrand and R. Malgouyres. Some topological properties of discrete surfaces.


In Montanvert Miguet and Ubeda, editors, DGCI96, volume 1176 of Lecture Notes
in Computer Science, pages 325336. 6th International Conference on Discrete
Geometry for Computer Imagery, Lyon, France, Nov. 1996.

[BM99]

T. M. Bernard and A. Manzanera. Improved low complexity fully parallel thinning


algorithm. In International Conference on Image Analysis and Processing, Venice,
Italy, Sept 1999.

[BM00]

J. Burguet and R. Malgouyres. Strong thinning and polyhedrization of the surface


of a voxel object. In G. Borgefors, I. Nystrm, and G. Sanniti di Baja, editors,

BIBLIOGRAPHIE

345

DGCI2000, volume 1953 of Lecture Notes in Computer Science, pages 222234.


International Conference on Discrete Geometry for Computer Imagery, Uppsala,
Sweden, 2000.
[Bor84]

G. Borgefors. Distance transformations in arbitrary dimensions. Computer Vision,


Graphics, and Image Processing, 27 :321345, 1984.

[Bor86]

G. Borgefors. Distance transformations in digital images. Computer Vision, Graphics, and Image Processing, 34 :344371, 1986.

[BR74]

A. Bouvier and D. Richard. Groupes. Observation, thorie, pratique. Collection


Formation des enseignants Actualits scientifiques et industrielles, 1371, 1974.
(bib. dappui).

[BRB90]

K.S. Brace, R.L. Rudell, and R.E. Bryant. Efficient implementation of a bdd package. In Proc. of the 27th IEEE Design Automation Conference, pages 4045,
Orlando, Fl., June 1990.

[Bry86]

R.E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE


Transactions on Computer, Vol. C-35(8) :677691, Aug 1986.

[Bry92]

R. E. Bryant. Symbolic boolean manipulation with ordered binary decision diagrams. ACM Computing Surveys, 24(3) :293318, September 1992.

[Cal84]

J. Calais. lments de thorie des groupes. Presses Universitaires de France PUF


Mathmatiques, 1984. (bib. dappui).

[CB00]

M. Couprie and G. Bertrand. Tesselations by connection in orders. In DGCI2000.


9th International Conference on Discrete Geometry for Computer Imagery, Uppsala, Sweden, 2000.

[CBB99]

M. Couprie, F. N. Bezerra, and G. Bertrand. Grayscale image processing using


topological operators. In Proceedings of Vision Geometry VIII, volume 3811, pages
261272. SPIE, Denver, USA, July 1999.

[CBK02]

M. Couprie, G. Bertrand, and Y. Kenmochi. Discretization in 2D and 3D orders.


In DGCI 2002. 10th International Conference on Discrete Geometry for Computer
Imagery, Bordeaux, France, 2002. to appear.

[CCS95]

S.S.O. Choy, C. Sze-Tsan Choy, and W.-C. Siu. Note "new single pass algorithm
for parallel thinning". Computer Vision and Image Understanding, 62(1) :6977,
July 1995.

[CLR94]

T. Cormen, C. Leiserson, and R. Rivest. Introduction lalgorithmique, chapter 2.


The MIT Press, Cambridge, Massachusets, "Introduction to Algorithms", 1994.

[CM91]

J.-M. Chassery and A. Montanvert. Gomtrie discrte en analyse dimages. Trait


des Nouvelles Technologies, srie Images. Hermes Eds., 1991.

[CWSI87]

R.T. Chin, H.-K. Wan, D.L. Stover, and R.D. Iverson. A one-pass thinning algorithm and its parallel implementation. Computer Vision, Graphics and Image
Processing, (40) :3040, 1987.

346
[CYB97]

BIBLIOGRAPHIE

Y.-A. Chen, B. Yang, and R.E. Bryant. Breadth-first with depth-first bdd construction : A hybrid approach. Technical report, CMU-CS-97-120, March 1997.
[DC02]
X. Daragon and M. Couprie. Segmentation du no-cortex crbral depuis des donnes IRM dans le cadre de la topologie des ordres. In RFIA2002, volume 3, pages
809818. Congrs francophone AFRIF-AFIA de Reconnaissances des Formes et
Intelligence Artificielle (RFIA), Angers, France, 2002.
[DLPB99a] P. Dokldal, C. Lohou, L. Perroton, and G. Bertrand. Liver blood vessels extraction
by a 3D topological approach. In Second International Conference on Medical
Image Computing and Computer-Assisted Intervention. MICCAI99, Cambridge,
England, September 1999.
[DLPB99b] P. Dokldal, C. Lohou, L. Perroton, and G. Bertrand. A new thinning algorithm
and its application to extraction of blood vessels. In 1st Conference Modelling
and Simulation in Biology, Medicine and biomedical Engineering, pages 3237.
BioMedSim99, Noisy-le-Grand, France, April 1999.
[Dok00]
P. Dokldal. Grey-Scale Image Segmentation : A topological Approach. PhD thesis,
Universit de Marne-la-Valle, 2000.
[DR79]
C.R. Dyer and A. Rosenfeld. Thinning algorithms for gray-scale pictures. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 1(1) :8889, 1979.
[EB97]
J.-C. Everat and G. Bertrand. New topological operators for segmentation. In
Proceedings of ICIP96, IEEE Signal Processing Society, volume III/III, pages 45
48, Lausanne, Switzerland, 1997.
[EBC97]
J.-C. Everat, G. Bertrand, and M. Couprie. Reconstruction operators for image segmentation. In Proceedings of 3rd International Workshop on Vision Form., IAPR,
Capri, Italy, 1997.
[Eve97]
J.-C. Everat. Topologie des coupes et segmentation dimages par extraction de
minima. PhD thesis, Universit Paris 7, 1997.
[FKVL99] A. Farina, Z.M. Kovcs-Vajna, and A. Leone. Fingerprint minutiae extraction from
skeletonized binary images. Pattern Recognition, pages 877889, 1999. (bib. dappui).
[GB90]
W. Gong and G. Bertrand. A simple parallel 3D thinning algorithm. pages 188190,
Atlantic City, NJ, 1990. International Conference on Pattern Recognition.
[GBC96]
J.-C. Everat G. Bertrand and M. Couprie. Topological approach to image segmentation. In Proceedings of Vision Geometry V, volume 2826, pages 6576. SPIE,
Denver, USA, 1996.
[GH89]
Z. Guo and R.W. Hall. Parallel thinning with two-subiteration algorithms. Comm.
ACM, 32(3) :359373, March 1989.
[GH92]
Z. Guo and R.W. Hall. Fast fully parallel thinning algorithms. CVGIP : Image
Understanding, 55(3) :317328, May 1992.
[Hal89]
R.W. Hall. Fast parallel thinning algorithms : Parallel speed and connectivity preservation. Comm. ACM, 32(1) :124131, January 1989.

BIBLIOGRAPHIE

347

[Hal92]

R.W. Hall. Connectivity preserving parallel operators in 2D and 3D images. In


Proceedings of Vision Geometry, volume 1832, pages 172183. SPIE, USA, 1992.

[Hal96]

R.W. Hall. Topological Algorithms for Digital Image Processing, volume 19


of Machine Intelligence and Pattern Recognition, chapter Parallel ConnectivityPreserving Thinning Algorithms, pages 145179. Elsevier Science B.V., 1996.

[Hil69]

C.J. Hilditch. Linear skeletons from square cupboards. Machine Intelligence, volume 4, pages 403420. Edinburgh Univ. Press, 1969. (bib. dappui).

[HSCP87]

C.M. Holt, A. Stewart, M. Clint, and R.H. Perrott. An improved parallel thinning
algorithm. Comm. ACM, 30(2) :156160, February 1987.

[JC90]

B.-K. Jang and R.T. Chin. Analysis of thinning algorithms using mathematical
morphology. IEEE Trans. of PAMI, 12(6), 1990.

[Jon00]

P.P. Jonker. Morphological operations on 3D and 4D images : From shape primitive


detection to skeletonization. In 9th DGCI, volume 1953 of LNCS, pages 371391,
2000.

[KCM91]

M.K. Kundu, B.B. Chaudhuri, and D. Dutta Majumder. A parallel graytone thinning algorithm. Pattern Recognition Letters, 12 :491496, 1991.

[Kha60]

E. Khalimsky. On topologies on generalized segments. Soviet Math. Dokl., pages


15081511, 1960. (bib. dappui).

[KKM90]

E. Khalimsky, R. Kopperman, and P.R. Meyer. Computer graphics and connected


topologies on finite ordered sets. Topology and its Applications, 36 :117, 1990.

[KKM91]

T.Y. Kong, R. Kopperman, and P.R. Meyer. A topological approach to digital topology. Am. Math. Monthly, 98 :901917, 1991.

[KMW91]

R. Kopperman, P.R. Meyer, and R.G. Wilson. A Jordan surface theorem for threedimensional digital spaces. Discrete Computational Geometry, 6 :155161, 1991.

[Kon93]

T.Y. Kong. On the problem of determining whether a parallel reduction operator for
n-dimensional binary images always preserves topology. In SPIE Vision Geometry
II, volume 2060, pages 6977, 1993.

[Kon95]

T.Y. Kong. On topology preservation in 2-D and 3-D thinning. International Journal of Pattern Recognition and Artificial Intelligence, 9(5) :813844, 1995.

[Kon97]

T.Y. Kong. Topology-preserving deletion of 1s from 2-, 3- and 4-dimensional


binary images. In DGCI97, volume 1347 of Lecture Notes in Computer Science,
pages 318. 7th International Conference on Discrete Geometry for Computer Imagery, Montpellier, France, 1997.

[Kop94]

R. Kopperman. The Khalimsky line as a foundation for digital topology. Shape in


Picture, NATO ASI Series, Series F : Computer and Systems Sciences,, 126 :320,
1994.

[Kov89]

V.A. Kovalevsky. Finite topology as applied to image analysis. Computer Vision,


Graphics and Image Processing, 46 :141161, 1989.

348

BIBLIOGRAPHIE

[Kov94]

V. A. Kovalevsky. Topological foundations of shape analysis. Shape in Picture,


NATO ASI Series, Series F : Computer and Systems Sciences, 126 :2136, 1994.

[KR85]

T.Y. Kong and A.W. Roscoe. Continuous analogs of axiomatized digital surfaces.
Computer Vision Graphics Image Processing, 29 :6086, 1985. (bib. dappui).

[KR89]

T.Y. Kong and A. Rosenfeld. Digital topology : introduction and survey. Computer
Vision, Graphics and Image Processing, 48 :357393, 1989.

[LB]

C. Lohou and G. Bertrand. A 3D 12-subiteration thinning algorithm based on P simple points. submitted to Pattern Recognition Letters.

[LB99]

C. Lohou and G. Bertrand. Poset approach to 3D parallel thinning. In Proceedings


of Vision Geometry VIII, volume 3811, pages 4556. SPIE, Denver, USA, July
1999.

[LB00a]

C. Lohou and G. Bertrand. New parallel thinning algorithms for 2D grayscale


images. In Proceedings of Vision Geometry IX, volume 4117, pages 5869. SPIE,
San Diego, USA, July 2000.

[LB00b]

C. Lohou and G. Bertrand. Nouvel algorithme de squelettisation parallle dimages


binaires 2D. In RFIA2000, volume 1, pages 493504. 12me congrs francophone
AFRIF-AFIA de Reconnaissances des Formes et Intelligence Artificielle (RFIA),
Paris, France, 2000.

[LB01]

C. Lohou and G. Bertrand. A new 3D 12-subiteration thinning algorithm based


on P -simple points. In Sbastien Fourey, Gabor T. Herman, and T. Yung Kong,
editors, IWCIA2001, 8th Int. Workshop on Combinatorial Image Analysis, Aug. 2324, pages 3958, 2001.

[LB02a]

C. Lohou and G. Bertrand. Dtection de la non-validit de deux algorithmes


de squelettisation pour images 3d binaires, par lutilisation des points p-simples.
Congrs loccasion du soixantime anniversaire de Denis Richard, submitted,
2002.

[LB02b]

C. Lohou and G. Bertrand. A new 3D 6-subiteration thinning algorithm based on P simple points. In DGCI 2002. 10th International Conference on Discrete Geometry
for Computer Imagery, Bordeaux, France, 2002. to appear.

[LB02c]

C. Lohou and G. Bertrand. New fully parallel thinning algorithms for 2d and 3d
binary images based on p-simple points. In Proceedings of Vision Geometry XI.
SPIE, Seattle, USA, July 2002. to appear.

[Lee59]

C.Y. Lee. Representation of switching circuits by binary decision programs. Bell


System Technical Journal 38, pages 985999, 1959. (bib. dappui).

[LKC94]

T.-C. Lee, R.L. Kashyap, and C.-N. Chu. Building skeleton models via 3-D medial
surface / axis thinning algorithms. CVGIP : Graphical Models and Image Processing, 56(6) :462478, Nov. 1994.

[Loh97]

C. Lohou. Analyse dimages 3D. Rapport de DEA, Universit de Marne-la-Valle,


1997.

BIBLIOGRAPHIE
[LS95]

349

L. Lam and C.Y. Suen. An evaluation of parallel thinning algorithms for character
recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence,
17(9) :914919, September 1995.
[LVG80]
S. Lobregt, W. Verbeek, and F.C.A. Groen. Three-dimensional skeletonization :
Principle and algorithm. IEEE Trans. Pattern Anal. Mach. Intell., 2 :7577, 1980.
(bib. dappui).
[LW86]
H.E. L and P.S.P. Wang. A comment on "a fast parallel algorithm for digital
patterns". Comm. ACM, 29(3) :239242, March 1986.
[Ma93]
C.M. Ma. Topology preservation in 3D images. SPIE Conference on Vision Geometry II, pages 201207, 1993.
[Ma94]
C.M. Ma. On topology preservation in 3D thinning. Computer Vision, Graphics,
and Image Processing : Image Understanding, 59(3) :328339, May 1994.
[Ma95]
C.M. Ma. A 3D fully parallel thinning algorithm for generating medial faces. Pattern Recognition Letters, 16 :8387, 1995.
[Mal97]
R. Malgouyres. A definition of surfaces of Z 3 , a new 3D discrete Jordan theorem.
Theoretical Computer Science, 186 :141, 1997. (bib. dappui).
[Mar87]
A. Marion. Introduction aux techniques de traitement dimages. Eyrolles, 1987.
[MBA93] G. Malandain, G. Bertrand, and N. Ayache. Toplogical segmentation of discrete
surfaces. International Journal of Computer Vision, 10(2) :183197, 1993.
[MBPL99a] A. Manzanera, T. M. Bernard, F. Prteux, and B. Longuet. Medial faces from a
concise 3D thinning algorithm. In Proceedings ICCV, 1999.
[MBPL99b] A. Manzanera, T. M. Bernard, F. Prteux, and B. Longuet. Ultra-fast skeleton
based on an isotropic fully parallel algorithm. In G. Bertrand, M. Couprie, and
L. Perroton, editors, DGCI99, number 1568 in Lecture Notes in Computer Science,
pages 313324. 8th International Conference DGCI99, Marne-la-Valle, March
1999.
[MBPL99c] A. Manzanera, T. M. Bernard, F. Prteux, and B. Longuet. A unified mathematical
framework for a compact and fully parallel n-D skeletonization procedure. In Proceedings of Vision Geometry VIII, volume 3811, pages 5768. SPIE, Denver, USA,
July 1999.
[MF98]
R. Malgouyres and S. Fourey. Strong surfaces, surface skeletons and image superimposition. In Vision Geometry VII, volume 3454 of SPIE, pages 1627, 1998.
[ML00]
R. Malgouyres and A. Lenoir. Topology preservation within digital surfaces. Graphical Models, 62 :7184, 2000.
[Mor80]
D.G. Morgenthaler. Three-dimensional digital topology : The genus. Technical
Report TR-980, Computer Vision Laboratory, University of Maryland, November
1980.
[Mor81]
D.G. Morgenthaler. Three-dimensional simple points : Serial erosion, parallel thinning, and skeletonization. Technical Report TR-1009, Computer Vision Laboratory, University of Maryland, February 1981.

350

BIBLIOGRAPHIE

[MS96]

C. Min Ma and M. Sonka. A fully parallel 3D thinning algorithm and its applications. Computer Vision and Image Understanding, 64(3) :420433, 1996.

[NA85]

A. Nakamura and K. Aizawa. On the recognition of properties of three-dimensional


pictures. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI7(6) :708713, Nov. 1985.

[Pal89]

S. K. Pal. Fuzzy skeletonization of an image. Pattern Recognition Letters, 10 :17


23, 1989.

[PK]

K. Palgyi and A. Kuba. A hybrid thinning algorithm for 3D medical images.


Journal of Computing and Information Technology, CIT 6, 1998, 2, pages 149164.

[PK97a]

K. Palgyi and A. Kuba. A parallel 12-subiteration 3D thinning algorithm to extract


medial lines. In Proc. 7th International Conference, CAIP97, Lecture Notes in
Computer Science, volume 1296, pages 400407, 1997.

[PK97b]

K. Palgyi and A. Kuba. A thinning algorithm to extract medial lines from 3D


medical images. In Information Processing in Medical Imaging, Proc. 15th International Conference, IPMI97, Lecture Notes in Computer Science, volume 1230,
pages 411416, Berlin, 1997.

[PK98a]

K. Palgyi and A. Kuba. A 3D 6-subiteration thinning algorithm for extracting


medial lines. Pattern recognition Letters, 19 :613627, 1998.

[PK98b]

K. Palgyi and A. Kuba. A hybrid thinning algorithm for 3D medical images.


Journal of Computing and Information Technology, CIT 6(2) :149164, 1998.

[PK99]

K. Palgyi and A. Kuba. A parallel 3D 12-subiteration thinning algorithm. Graphical Models and Image Processing, 61 :199221, 1999.

[PR71]

C.M. Park and A. Rosenfeld. Connectivity and genus in three dimensions. Technical Report TR-156, Computer Science Center, University of Maryland, May 1971.

[Pud98]

C. Pudney. Note : Distance-ordered homotopic thinning : a skeletonization algorithm for 3D digital images. Computer Vision and Image Understanding,
72(3) :404413, December 1998.

[RCM92]

F. Rolland, J.-M. Chassery, and A. Montanvert. 3D medial surfaces and 3D skeletons. Visual Form, pages 443450, 1992. in C.Arcelli et al. editor, Plenum Press,
New York.

[RK82]

A. Rosenfeld and A.C. Kak. Digital Picture Processing, volume 2. Academic


Press, 1982.

[RM96]

L. Robert and G. Malandain. Fast binary image processing using binary decision
diagrams. Technical Report n 3001, pp 1-24, INRIA, Oct 1996.

[Ron86]

C. Ronse. A topological characterization of thinning. Theoretical Computer


Science, 43 :3141, 1986.

[Ron88]

C. Ronse. Minimal test patterns for connectivity preservation in parallel thinning


algorithms for binary digital images. Discrete Applied Mathematics, 21 :6779,
1988.

BIBLIOGRAPHIE

351

[Ron98]

C. Ronse. Set-theoretical algebraic approaches to connectivity in continuous or


digital spaces. Journal of Mathematical Imaging and Vision, 8 :4158, 1998.

[Ros75]

A. Rosenfeld. A characterization of parallel thinning algorithms. Information


Control, 29 :286291, 1975. (bib. dappui).

[Ros84]

A. Rosenfeld. The fuzzy geometry of image subsets. Pattern Recognition Letters,


2 :311317, 1984.

[Rut66]

D. Rutovitz. Pattern recognition. J. Roy. Statist. Soc. Ser. A129, pages 504530,
1966. (bib. dappui).

[SB95]

M. Starkey and R.E. Bryant. Using ordered binary-decision diagram for compressing images and image sequence. Technical report, CMU-CS-95-105, January
1995.

[SCM97]

P.K. Saha, B.B. Chaudhuri, and D. Dutta Majumder. A new shape preserving parallel thinning algorithm for 3D digital images. Pattern Recognition, 30(12) :1939
1955, 1997.

[Sed91]

R. Sedgewick. Algorithmes en langage C. InterEditions, Addison-Wesley Europe,


1991.

[Ser82]

J. Serra. Image Analysis and mathematical morphology. Academic Press, 1982.

[SNK94]

G. Szkely, M. Nf, and Olaf Kbler. Skeletal description of complex 3D shapes


with application to brain anatomy. In DGCI94, pages 169182. 4th International
Conference on Discrete Geometry for Computer Imagery, Grenoble, France, 1994.
(bib. dappui).

[Ste94]

A. Stewart. A one-pass thinning algorithm with interference guards. Pattern Recognition Letters, 15 :825832, August 1994.

[TF81]

Y.F. Tsao and K.S. Fu. A parallel thinning for 3D pictures. Computer Graphics
Image Processing, 17 :315331, 1981.

[TF82]

Y.F. Tsao and K.S. Fu. A general scheme for constructing skeleton models. Inform.
Sci., pages 5387, 1982. (bib. dappui).

[WB00]

Q.J. Wu and J.D. Bourland. Three-dimensional skeletonization for computerassisted treatment planning in radiosurgery. Computerized Medical Imaging and
Graphics, 24 :243251, 2000. (bib. dappui).

[WT92]

R.-Y. Wu and W.-H. Tsai. A new one-pass parallel thinning algorithm for binary
images. Pattern Recognition Letters, 13 :715723, October 1992.

[Xia89]

Y. Xia. Skeletonization via the realization of the fire fronts propagation and extinction in digital binary shapes. IEEE Transactions on Pattern Analysis and Machine
Intelligence, II(10) :10761086, 1989.

[ZS84]

T.Y. Zhang and C.Y. Suen. A fast parallel algorithm for digital patterns. Comm.
ACM, 27(3) :236239, March 1984.

352

BIBLIOGRAPHIE

Dans certaines rfrences, apparat la note : bib. dappui ; cela signifie quil sagit
dune rfrence non possde ou lue partiellement.

Index
P -simple
algorithme, 80
ensemble, 79
point, 79
Tn (x, X)
2D, 31
3D, 58
-adhrence, 158
-ferm, 158
-fermeture, 158
-intrieur, 158
-lien, 160
-noyau, 160
-ouvert, 158
 -voisin, 165
 -voisinage, 165
 , 158
, 160
, 167
-chemin, 158
longueur, 158
origine, 158
adjacence
points adjacents, 12
algorithme
damincissement, 68
de squelettisation, 68, 180
curviligne, 68, 180
surfacique, 68
ultime, 180
fortement parallle, 72
algorithme P -simple, 80
application
homotope, 207
arbre, 198

background, 16
barbules, 220, 225
BDD, 34, 326
OBDD, 326
ROBDD, 326, 327
Binary Decision Diagram, 34
cavit, 16, 19
chemin, 16, 166
longueur, 166
origine, 166
cofacteur, 326
composantes connexes, 166
connexit
composante connexe, 16
de limage, 15
ensemble connexe, 16
objet simplement connexe, 18
points connects, 17
coupe, 206, 212
courbe
ferme, 167
ferme simple, 17
ouverte, 166
ouverte simple, 17
courbe ouverte simple, 192
distance
2D
d4 , d8 , 11
3D
d6 , d26 , 11
Chessboard Distance, 11
City Block Distance, 11
Diamond Distance, 11
Square Distance, 11

354
ensemble
P -simple, 79
fortement homotope, 90
fortement simple, 90
homotope, 90, 206
minimal non simple, 88
simple, 90
ensemble P x , 98
ensemble minimal non simple, 88
2D, 38
3D, 64
ensemble non supprimable, 38
ensemble simple, 88
Euler
caractristique, 44
invariant, 22
Euler-Schaefli
quation, 21
extrmit, 166
fond, 16
fortement homotope
ensemble, 90
fortement simple
ensemble, 90
fully parallel thinning algorithm, 72
genre
2D, 23
du complmentaire, 23
3D, 44
du complmentaire, 45
graphe de dcision binaire, 34
graphes de dcision binaire, 326
rduits, 326
ordonns, 326, 327
Hilditch
nombre, 29
homotope
ensemble, 90
image
(m, n)-image, 15

INDEX
digitale, 9, 15
discrte, 9, 15
Jordan
thorme
dans R2 , 13
dans Z 2 , 18
maillage, 9
carr, 10
cubique, 10
maximum, 207
mince, 180
Minimal Non simple Set
2D, 38
3D, 64
minimum, 207
MNS, 88
2D, 38
3D, 64
nombre
de connexit, 210, 213
topologique, 207
nombre topologique
2D, 31
3D, 58
noyau homotopique, 68, 206, 207
ordre, 158, 158
0-contractile, 162, 168
1-contractile, 170
2-contractile, 177
-quivalent, 179
n-contractile, 162
contractile, 169, 194
dnombrable, 159
dual, 158
fortement contractile, 169
localement fini, 159
relatif, 159
valu, 211
-quivalent, 214
pt, 225

INDEX
parallel speed, 276
pavage, 9
pixel, 9
point, 15
P -simple, 79
P x -simple, 98
-adhrent, 158
-destructible, 213
-terminal, 159
-unipolaire, 160, 167
1 -simple, 168
2 -simple, 177
3 -simple, 196
n -simple, 162
-destructible, 213
2 -simple, 177
3 -simple, 196
n -simple, 162
de bord, 17
de bord de surface, 198
de courbe, 166, 192
destructible, 207
extrmit, 1, 17, 68, 207, 213
de courbe, 68, 166
de surface, 68
graine, 227, 227
intrieur, 17, 167
isol, 17, 167
redondant, 206, 276
simple, 1
2D, 27
3D, 53
terminal, 1, 68
de courbe, 68, 192, 197
de squelette, 196
de surface, 68, 198
voisin, 165
point -simple, 175
points
adjacents, 12, 16
prservation de la topologie
2D, 27
3D, 53

355
reconstruction, 226, 276
relation dordre, 158
reprsentation tableau, 161, 164
Rutovitz
nombre, 29
Shannon
arbre, 327
dcomposition, 326
shrinking algorithm, 68
simple
ensemble, 37, 64, 88, 90
point
2D, 27
3D, 53
simplicit
2D, 27
3D, 53
sous-mailles, 71
squelette, 1, 68, 180, 206, 207
conditionn, 226
curviligne, 68, 180, 197, 216
surfacique, 68, 199
ultime, 180, 215
squelette ultime, 196
squelettisation
conditionne, 226
stratgie
des sous-mailles, 34
directionnelle, 34, 70
fortement parallle, 34, 72
sous-mailles, 71
subfields, 71
subgrids, 71
suppressibilit, 35
forte, 36
templates, 70, 98
tesselle, 9
thinning algorithm, 68
topologie
dAlexandroff, 159
discrte, 159

356
prservation
2D, 27
trou, 19, 44, 45
tunnel, 19
voisin
2D
n-voisin (n = 4 ou 8), 12
3D
n-voisin (n = 6, 18 ou 26), 12
voisinage
2D
N4 , N8 , 12
3D
N6 , N18 , N26 , 12
Nn , 12
n-voisinage, 12
voisinage godsique, 60
voisins
directs, diagonaux, diamtralement opposs, 12
voxel, 10

INDEX

Rsum
Cette thse propose de nouveaux algorithmes de squelettisation dimages 2D et 3D selon deux approches : lapproche topologie digitale et lapproche topologie discrte.
Dans la premire partie, nous rappelons les notions fondamentales de topologie digitale et quelques
algorithmes de squelettisation parmi les plus connus, bass sur la suppression de certains points simples.
Puis, nous proposons une mthodologie permettant la production dalgorithmes de squelettisation fonds
sur la suppression en parallle de points P -simples. De tels algorithmes sont labors de faon ce quils
suppriment au moins les points retirs par un autre algorithme donn. Nous appliquons cette mthodologie
et produisons deux nouveaux algorithmes. Bien que les rsultats semblent satisfaisants, la recherche et la
mise en uvre de tels algorithmes restent difficiles.
Dans la deuxime partie, nous utilisons le cadre mathmatique des ordres. De faon plus directe
quauparavant, nous proposons un algorithme de squelettisation consistant en la rptition de la suppression parallle de points n -simples, puis en la suppression parallle de points n -simples. Nous avons
galement propos des dfinitions originales de points terminaux, nous permettant lobtention de squelettes curvilignes ou surfaciques. Le schma gnral de squelettisation est utilis sur des images 2D, 3D
binaires et 2D en niveaux de gris. Enfin, une tude de filtrage parallle de squelettes est dveloppe.
Mots-cls : algorithmes de squelettisation, simplicit, point simple, point P -simple, point n -simple,
squelette curviligne, squelette surfacique, topologie digitale, ordre, topologie discrte.

Title: Contribution to the topological analysis of images:


study of thinning algorithms for 2D or 3D images,
according to either a digital topology approach or a discrete topology approach.
Abstract
This thesis proposes new thinning algorithms for 2D or 3D images according to two approaches using
either the digital topology or the discrete topology.
In the first part, we recall some fundamental notions of digital topology and several thinning algorithms among the well-known ones, which delete simple points. Then, we propose a methodology to
produce new thinning algorithms based on the parallel deletion of P -simple points. Such algorithms are
conceived in order to they delete at least the points removed by another one given existent thinning algorithm. By applying this methodology, we produce two new algorithms. Although results seem to be
satisfying, the proposal and encoding of new proposed algorithms are not easy.
In the second part, we use the concept of partially order set (or poset). We propose more straightforwardly than before, a thinning algorithm consisting in the repetition of parallel deletion of n -simple
points, followed by the parallel deletion of n -simple points. We also have proposed new definitions of
end points which permit us to obtain either curve skeletons or surface skeletons. The thinning scheme
is used on 2D, 3D binary images, or on 2D grayscale images. At last, a study of a parallel filtering of
skeletons is developped.
Keywords: thinning algorithms, simplicity, simple point, P -simple point, n -simple point, curve skeleton, surface skeleton, digital topology, order, poset, discrete topology.
D ISCIPLINE : Informatique Fondamentale et Applications
Universit de Marne-la-Valle - Laboratoire A2 SI de lESIEE.

Vous aimerez peut-être aussi