Académique Documents
Professionnel Documents
Culture Documents
These Lohou
These Lohou
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 :
Christian
Rmy
Didier
Gilles
Antoine
Ronse
Prsident, Rapporteur
Malgouyres
Rapporteur
Arqus
Examinateur
Bertrand
Examinateur
Manzanera
Examinateur
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 . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
2.6
2.7
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
67
67
68
68
68
68
4.3
4.4
4.5
v
.
.
.
.
.
.
.
.
.
.
.
.
69
69
73
73
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
6.6
6.7
. 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
6.8
6.9
vii
141
143
143
143
145
145
146
151
152
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
157
157
158
158
159
160
161
161
162
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
163
163
163
163
164
165
167
167
170
170
170
171
177
179
179
179
180
180
181
viii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
183
184
185
186
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
225
225
225
226
226
226
. 227
. 227
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
.
.
.
.
.
.
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
xi
B.4.1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
316
316
316
319
319
319
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
322
322
322
323
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10
11
11
13
14
14
15
16
17
18
19
.
.
.
.
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
46
48
48
48
49
50
52
54
xiv
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
5.1
5.2
5.3
5.4
5.5
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
xv
132
133
134
136
136
138
140
142
144
146
146
147
148
150
150
7.1
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
8.9
8.10
8.11
8.12
9.1
9.2
9.3
9.4
9.5
9.6
9.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
163
164
165
166
169
175
178
182
183
183
185
187
xvi
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
200
202
202
203
.
.
.
.
.
.
.
.
.
.
.
.
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
. . .
pour
. . .
. . .
. . .
. . . . . . . . .
caractriser des
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. 252
. 252
. 254
. 255
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
xviii
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 24
. 25
. 32
. 33
. 33
. 39
. 39
.
.
.
.
51
52
57
59
. 62
. 62
. 64
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
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
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).
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).
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.
10
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.2 Distances
11
j
(a)
0
0
0
0
(b)
0
1
0
0
0
0
0
0
(c)
0 1
0 0 0 0 1
0 0 0 0 0
0 0 1
(b)
(a)
0
1
1
0
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
i=1
Distances 3D
Soient x(x1 , x2 , x3 ) et y(y1 , y2, y3 ) Z 3 ,
d6 (x, y) =
3
|yi xi |,
i=1
12
Voisinages 3D
Soit x Z 3 ,
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)).
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)
14
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
15
16
(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.
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).
18
p1
p0
p2 p
3
p4
p1
p2
p0
p4
p5
(a)
p5
(b)
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
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.
(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)
(2.3)
(2.4)
(2.5)
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)
(2.7)
Lquation (2.7) nous permet de dterminer le genre du complment dun objet, partir du
genre de lobjet.
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#
(2.8)
E = 4#1 #2
(2.9)
# = #1
(2.10)
(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
(2.12)
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
(2.13)
# = #1
(2.14)
(qu. (2.6))
#1 #2 + #4
(2.15)
(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
(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.
(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
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.16)
(2.17)
Genre 2D et simplicit
28
p
p
(a)
(b)
(c)
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.
Genre 2D et simplicit
30
(a)
(b)
(d)
(e)
(g)
(c)
(f )
(h)
(i)
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
Genre 2D et simplicit
32
O1
O2
O3
Quantits
O4
O5
O6
(8, 4)
(4, 8)
(8, 4)
(4, 8)
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 ?
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.
(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).
34
Genre 2D et simplicit
(a)
35
(b)
(2.18)
Cn (W ) = Cn (W D)
(2.19)
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)).
(a)
(b)
37
(c)
(d)
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).
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)
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
45
(3.3)
=
=
=
=
(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
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).
47
(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]
Genre 3D et simplicit
48
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)).
Genre 3D et simplicit
50
O1
O3
O5
O2
O4
O6
(c) Dcomposition en octants
F IG . 3.6 Dcomposition en octants dun objet constitu dune composante connexe et dun trou
(pour le calcul du genre).
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
#[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]
=
=
=
=
=
24
24
24
72
8
53
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)
(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
{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)
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
(H([S N26 (p)] {p}) = 0, H(S N26 (p)) = 1 et H(S N26 (p)) = 1) et galement
(p)
O(S N26 (p)) = 1) ; cela entraine que la caractristique dEuler ne change pas dans S N26
55
F IG . 3.9 Point non 26-simple, mais caractris comme tel par Lobregt, Verbeek et Groen.
(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),
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
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
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.
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
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
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
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 ;
p
(a)
p
(b)
(c)
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)
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
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
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].
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)
3.9 Conclusion
65
(a)
(b)
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
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.
70
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
73
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
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.
Points P -simples
80
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 )
(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
81
(a)
(b)
(c)
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.
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
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,
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]).
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
85
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.
88
Points P -simples
(5.7)
(5.8)
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.
N26
(x), une fois que P est connu.
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.
91
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.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
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)
(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.
97
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
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).
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 .
100
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
101
102
103
(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
104
105
106
M1
M2
M4
M3
M5
M6
Pour M1 : y N26
(x) X, y est 26-adjacent (x) R (rmq2 ).
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 ).
(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
sinon, y N26
(x) X, on a y N (x) N ((x)) et y est 26-adjacent (x) R
(rmq2 ).
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) 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
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}.
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).
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
(a)
(b)
(c)
(d)
(e)
(f )
(g)
(h)
(i)
(j)
(k)
(l)
(m)
(n)
(o)
(p)
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
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.
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
4 772 095
2 124 283
GOBE
PA K U6
4 423 259
P1x - SIMPLE
P2x - SIMPLE
6 129 527
21 194 234
115
9 916 926
PA K U6
GOBE
17 467 394
P1x - SIMPLE
P2x - SIMPLE
23 721 982
25 985 118
F IG . 6.10 Rcapitulatif : itration (comparaisons algorithmes G O B E, PA K U6 et L O B E).
116
Objet initial
16 2 256
16 2 256
Objet initial
54 4 251
45 4 248
Objet initial
73 163 874
117
118
T1
T2
T3
T4
T5
T6
T7
T8
T9
T10
T11
T12
T13
T14
119
p18
(a)
MR1
MR2
(b)
MR3
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
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) :
Si
y N26 (x) X, y est 26-adjacent au moins un point de S, alors
T26 (x, R) = 1, cest la condition (C1 )
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
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
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
124
(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 =
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
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 .
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
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
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 :
MR1
129
MR2
MR3
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
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).
131
7 212 036
23 814 994
P1x - SIMPLE
P2x - SIMPLE
19 327 098
P3x - SIMPLE
25 985 118
PK _ C
11 268 606
F IG . 6.22 Rcapitulatif : itration (version squelette curviligne).
132
T1
T2
T7
T8
T9
T10
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
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
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
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).
136
3 304 497
1 228 800
P3x - SIMPLE
P2x - SIMPLE
1 155 072
PK _ S
15 257 520
9 986 048
P2x - SIMPLE
P3x - SIMPLE
9 101 312
PK _ S
16 252 928
F IG . 6.27 Rcapitulatif : itration (version squelette surfacique).
137
: 25 985 144
: 25 985 118
: 16 252 928
138
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).
139
140
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.
T1
T2
T3
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 :
doit appartenir X,
doit appartenir X,
doit appartenir X.
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
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)
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.
144
q1
q1
u
(a)
s
p1
s
p1
(b)
145
146
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
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)
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.
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 )
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
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)
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.
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
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).
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).
159
v1
e1
t1
e3
v3
v2
e2
t2
e5
e4
v4
160
Gnralits
161
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.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)
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 +
165
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).
167
168
s1
s3
(a)
s2
169
i2
s1
i1
(b)
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
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.
171
172
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).
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
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).
175
P1
P4
P2
y
C
P1
P1
P2
(a)
P3
P4
P2
(b)
P3
(c)
x
(d)
176
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,
177
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)),
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.
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.
180
S0 = S
Rpter
\ S2i ,
S 2i+1 = S 2i
2i+2
2i+1
S
= S
\ S2i+1 .
181
2i
S 2i+1 = S 2i
\ [S2i Sext
],
2i+1
2i+1
2i+2
2i+1
= S
\ [S Sext ].
S
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
183
x1
z1 z2 z3
x2 y1 y2 z8 z4
x2
y1
z7 z6 z5
y2
z1 z2 z3
z8 z4
z7 z6 z5
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.
184
185
(a) la translation
(b)
lordre
de suppression
186
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)
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]).
(b)
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
191
192
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).
S1
I2
I5
F2
193
S2
F1
F3
I1
S3
I3
(a)
S (x)
194
P1
P2
P2
P1
P3
F1
P1
P2
F3
F2
P3
P4
(a)
(b)
(c)
195
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|.
S 2i+1 = S 2i \ S2i ,
S 2i+2 = S 2i+1 \ S2i+1 .
(a)
197
(b)
2i
S 2i+1 = S 2i \ [S2i Sptc
],
2i+1
2i+1
2i+2
2i+1
S
= S
\ [S Sptc
].
198
(a)
(b)
199
2i
],
S 2i+1 = S 2i \ [S2i Spts
2i+1
2i+1
2i+2
2i+1
= S
\ [S Spts
].
S
200
(a)
(b)
(c)
(d)
(e)
9.7 Conclusion
201
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.
202
Objet initial
Squelette ultime
Squelette curviligne
Squelette surfacique
Objet initial
Squelette curviligne
Squelette surfacique
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)
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]).
206
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 ) = ,
208
4
2
4
4
3(x)
4
(a)
4
2
4
1
0
1
1
1(x)
1
(b)
1
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
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
210
0
0
0
0
0
0
0
1
1
1(y) 1(x)
3
3
0
0
(a)
0
0
0
0
0
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.
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 )).
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
214
(a)
1
(b)
(g)
2
1
(h)
(c)
1
(i)
(j)
(e)
1
(d)
(f )
(k)
(l)
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).
F
F
2i+1
2i+2
= \ F 2i ,
= \ F 2i+1 .
216
F0 =F
Rpter
F
F
2i+1
2i+2
= \pe F 2i ,
= \pe F 2i+1 .
(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 .
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 .
(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
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.
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
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).
226
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).
228
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
231
4 3
2 1
(a)
(b)
(a)
(b)
232
1
2
2
3
4
(a)
(b)
(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
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.
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.
234
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)
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).
235
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).
236
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).
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
Objet initial
237
Squelette ultime
Squelette curviligne
Squel. cond. (k = 2)
Rec. (k = 2)
Squel. cond. (k = 7)
Rec. (k = 7)
Rec. (k = 11)
Rec. (k = 13)
Rec. (k = 51)
Rec. (k = 56)
238
51
56
11
13
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
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.
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)
242
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)
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)
244
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)
245
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.
Algorithmes de squelettisation 2D
252
P1
P8
P7
P2
P
P6
P3
P4
P5
0 1
P 1
1 1
(a)
0
1
0
1 0
P 0
0 0
(b)
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.1)
(A.2)
(A.3)
(A.4)
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
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) Objet
initial
(b) ite=1
(c) ite=2
(d) ite=3
(e) ite=4
255
(f) ite=5
* *
* *
* *
* *
* *
* *
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 *
Algorithmes de squelettisation 2D
256
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.
257
(A.6)
(A.7)
(A.8)
(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)
*
*
*
*
*
*
*
*
*
*
*
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.13)
(A.14)
(A.15)
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)
2
1
2
.
1
2
1
.
2
1
2
.
.
.
.
.
.
.
.
.
.
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)
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
*
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) 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.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
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
(a) Objet
initial
(b) ite=1
(c) ite=2
(a) Objet
initial
(b) ite=1
(c) ite=2
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
(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
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).
*
*
*
*
*
*
*
*
*
*
*
267
*
*
*
*
*
*
*
*
*
*
1
1
1
1
1
1
*
1
*
1
*
1
*
1
*
1
1
1
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.
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)
*
*
*
*
*
*
1 *
1 *
1 * * * * * 1
1 1 1 1 1 1 1
* *
* *
* *
* *
* *
269
A(P ) = 1
(A.29)
P est 4-adjacent X
B(P ) > 2
(A.30)
(A.31)
1
*
*
*
*
1
1 *
1 1
1 * * * * * 1
1 1 1 1 1 1 1
* *
* *
* *
* *
* *
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
1
*
*
*
*
1
1 *
1 1
1 * * * * * 1
1 1 1 1 1 1 1
1 *
1 *
1 *
1 *
* *
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
*
*
*
*
*
*
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).
*
*
*
*
*
*
*
*
*
*
*
1
*
1
*
1
*
1
*
1
F IG . A.28 Ruban oblique dpaisseur 2 et son squelette (algorithme WT) (REPR 4).
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
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).
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
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.
277
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
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)
Algorithmes de squelettisation 2D
280
GH _ A1
OBJET INITIAL
ROS
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)
A.7 Conclusion
281
OBJET INITIAL
ROS
GH _ AFP2
(1 157, 7, 165.29)
GH _ A2
(1 133, 7, 161.86)
GH _ AFP3
(1 172, 7, 167.43)
GH _ A1
HSCPN
(1 157, 7, 165.29)
MB _2D
(1 135, 6, 189.17)
Algorithmes de squelettisation 2D
282
GH _ A1
OBJET INITIAL
ROS
GH _ AFP2
(268, 6, 44.67)
GH _ A2
(248, 6, 41.33)
GH _ AFP3
(269, 6, 44.83)
HSCPN
(267, 6, 44.5)
MB _2D
(251, 5, 50.2)
A.7 Conclusion
283
OBJET INITIAL
ROS
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)
Algorithmes de squelettisation 2D
284
OBJET INITIAL
ROS
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)
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)
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)
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.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)
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).
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)
ite = 1 (512)
ite = 2 (512)
ite = 3 (448)
ite = 4 (448)
ite = 5 (384)
ite = 6 (384)
293
(G1 ) : (x) X,
(G2 ) : (x) 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
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).
295
296
Algorithmes de squelettisation 3D
ite = 1 (512)
ite = 2 (512)
ite = 3 (448)
ite = 4 (448)
ite = 5 (384)
ite = 6 (384)
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)
297
298
Algorithmes de squelettisation 3D
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
M12
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
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)
301
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 .
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
305
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
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
Objet initial
ite = 1 (0)
ite = 2 (6)
ite = 3 (0)
ite = 4 (9)
ite = 5 (0)
ite = 6 (8)
ite = 7 (0)
ite = 8 (10)
309
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
B
B
(0, 0, 0) B
A
B
A
B
A
z
A
B
A
A
B
A
B
B
A
311
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 .
313
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)
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)
316
Algorithmes de squelettisation 3D
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).
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
319
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
Objet initial
Objet initial
Objet intial
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
322
Algorithmes de squelettisation 3D
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.5 Conclusion
323
point P est supprim si cest un point simple et voisin dun point intrieur et tel que les motifs
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
xi
0
fxi
fxi
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).
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.
328
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.
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]).
330
(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.3 Utilisations
Dans cette section, nous donnons quelques exemples dutilisation des BDD, tels que la compression dimages, la synthse logique, etc.
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).
332
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
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.
x1 x
x1
(a)
(b)
F IG . D.1 Isomtries dans Z.
336
Isomtries
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)
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)
337
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
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].
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
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
341
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]
[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.
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]
[AR96]
C. Arcelli and G. Ramella. Sketching a grey-tone pattern from its distance transform. Pattern Recognition, 29 :20332045, 1996.
[Arc99]
[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]
[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]
[BEC97]
[Ber84]
[Ber92]
[Ber94]
[Ber95a]
[Ber95b]
[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]
[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]
[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]
[BM99]
[BM00]
BIBLIOGRAPHIE
345
[Bor86]
G. Borgefors. Distance transformations in digital images. Computer Vision, Graphics, and Image Processing, 34 :344371, 1986.
[BR74]
[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]
[Bry92]
R. E. Bryant. Symbolic boolean manipulation with ordered binary decision diagrams. ACM Computing Surveys, 24(3) :293318, September 1992.
[Cal84]
[CB00]
[CBB99]
[CBK02]
[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]
[CM91]
[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]
[Hal96]
[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]
[KCM91]
M.K. Kundu, B.B. Chaudhuri, and D. Dutta Majumder. A parallel graytone thinning algorithm. Pattern Recognition Letters, 12 :491496, 1991.
[Kha60]
[KKM90]
[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]
[Kop94]
[Kov89]
348
BIBLIOGRAPHIE
[Kov94]
[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]
[LB00a]
[LB00b]
[LB01]
[LB02a]
[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]
[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]
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]
[Pal89]
[PK]
[PK97a]
[PK97b]
[PK98a]
[PK98b]
[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]
[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]
[Ron88]
BIBLIOGRAPHIE
351
[Ron98]
[Ros75]
[Ros84]
[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]
[Ser82]
[SNK94]
[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.