• Aucun résultat trouvé

Algorithmes à balayage dépendant des données pour la LPE

2.3 Algorithmes et architectures à ot de données simple pour le calcul de la LPE

2.3.6 Algorithmes à balayage dépendant des données pour la LPE

Les algorithmes parallèles et récursifs pour la LPE ne convergent pas en un nombre d'ité-rations xe. Nous savons que, dans le cas d'un algorithme par le d'attente, les points non susceptibles de se propager ne sont pas traités.

Inondation par le d'attente

Le processus d'inondation implique deux niveaux de traitement: horizontal et vertical. (Vincent, 1990) présente un algorithme de traitement par le d'attente qui reprend ces deux étapes. Dans un premier temps, les pixels de l'image sont triés en fonction de leur niveau de gris. On propage ensuite les marqueurs selon le processus d'inondation proprement dit. Suppo-sons que l'eau soit arrivée au niveau

h

. Les bassins versants

BV

h(

f

) sont connus. Les points du masque géodésique

T

h+1(

f

) sont déterminés au moyen du tri préliminaire. Les zones d'inuence de

BV

h(

f

) dans

T

h+1(

f

) sont alors évaluées à partir d'un parcours en largeur d'abord qui utilise un algorithme à base de le d'attente.

Les minima qui apparaissent au niveau

h

+ 1 ne peuvent être pris en compte puisqu'ils correspondent à des composantes connexes du masque qui n'ont pas été marquées par des niveaux inférieurs. (Vincent, 1990) propose un dernier passage pour détecter ces structures.

Le processus de calcul de la GIZ et de recherche de nouveaux minima est itéré de

h

min à

h

max. Le traitement global a une complexité de

O

(

N

), puisque chaque étape est en

O

(

N

). Sur une machine conventionnelle donnée, cet algorithme peut s'avérer plus de cent fois plus rapide que les autres du fait que les points non pertinents ne sont pas parcourus. Il donne également lieu à une LPE bien placée (Vincent, 1990) et son usage se transpose facilement d'une trame à une autre.

Inondation par les d'attente hiérarchisées

Lors de la description du processus d'inondation, nous avons évoqué les deux niveaux de priorité qu'il faisait apparaître: priorité verticale et horizontale. Ces deux niveaux correspondent aux deux distances nécessaires au calcul de la LPE. La priorité verticale est liée à la notion de gradient, donc de distance topographique. Quant à la priorité horizontale, elle provient de la distance dans les plateaux, donc de la distance géodésique aux bords des plateaux. Le processus d'inondation nous enseigne que les GIZ, donc la distance géodésique, doivent être évaluées avant de passer au niveau suivant. La priorité horizontale est donc prioritaire sur la priorité verticale. L'algorithme de Vincent utilise une le d'attente pour décrire la priorité horizontale (distance dans les plateaux). L'étape de tri préliminaire résout le problème de la priorité verticale. Lorsque l'on cherche à implanter un phénomène mettant en jeu plusieurs niveaux de priorité, on peut utiliser une le d'attente à niveaux de priorité multiples, voir par exemple (BerliouxetBizard, 1988). (Meyer, 1991) propose d'utiliser une le d'attente à deux niveaux de priorité appelée File d'Attente Hiérarchique (FAH) dans le cas du calcul de la LPE. Le premier niveau de priorité est associé à la distance géodésique dans les plateaux, le second à la priorité verticale. Son principe, résumé par la gure 2.21, est le suivant:

 on créé une le d'attente pour chaque niveau de gris;

 chaque le d'attente est dotée d'un indice égal au niveau de gris lui correspondant;  pendant l'étape d'initialisation, on insère un point dans la le correspondant à son niveau

de gris;

 lors d'un prélèvement (phase de propagation), le point qui sortira de la FAH sera le point prioritaire de la le d'attente non vide d'indice le plus faible, appelée le prioritaire;  si la le prioritaire est vide, on la détruit (nous verrons plus loin l'intérêt de cette

destruc-tion);

 durant la phase de propagation, un point sera inséré dans la le correspondant à son niveau de gris dans l'image, sauf si cette le a été détruite. Dans ce cas, le point sera inséré dans la le prioritaire courante sans recréer de le.

2 0 1 3 4 5 p

p

prélèvement_FAH () 2 0 1 3 4 5 p insertion_FAH (p,2)

2.3. Algorithmes et architectures à ot de données simple pour le calcul de la LPE 65 Les accès à une FAH dièrent donc légèrement de ceux à une le d'attente classique, comme le montre le tableau 2.2.

Tab.2.2  Accès à une le simple ou hiérarchisée.

Opération File simple (FIFO) FAH

Insertion de p(x,y) insertion_le (p) insertion_FAH (p,i) (dans la le d'indice

i

)

Prélèvement de p

p

prélèvement_le ()

p

prélèvement_FAH ()

File vide le_vide le_vide (i)

FAH vide - FAH_vide

Destruction de la - destruction_le (

i

min)

le prioritaire d'indice

i

min

L'algorithme 6 décrit la construction des BV à l'aide d'une FAH. La LPE produite sera d'épaisseur nulle (Meyer, 1991). (Meyer, 1991) propose également un algorithme générant une LPE explicite que nous ne détaillerons pas ici.

Algorithme 6

Calcul de la LPE par FAH

3 f: image de départ

3 g: image des marqueurs initiaux étiquetés

3 f et g de même taille

Phase 1: recherche des points source

pour tout p

(

x;y

)2D

faire

sig

(

p

)6= 0et9

q

2N(

p

) :

g

(

q

) = 0

alors

insertion_FAH (p,f(p))

n si

n pour

Phase 2: propagation

tant que

: FAH_vide

faire

p

prélèvement_FAH ()

pour tout q

2N(

p

)

faire

si g

(

q

) = 0

alors

insertion_FAH (q,

max

(

f

(

q

)

;i

min))

g

(

q

)

g

(

p

)

n si

n pour

si

le_vide (

i

min)

alors

destruction_le (

i

min)

n si

n tant que

Il convient de faire quelques remarques sur cet algorithme. Dans la phase de recherche des points source, tous les marqueurs servent à initialiser la FAH, quel que soit leur niveau dans

f

. La propagation commence comme si tous les marqueurs se situaient à l'altitude minimale et que l'on avait percé un trou en ces points. Il n'y a donc pas lieu de rechercher de nouveaux marqueurs en cours de propagation. Une deuxième remarque concerne le choix de marqueurs arbitraires. Prenons l'exemple de l'image de la gure 2.22.

BV1 BV2

c

Fig.2.22  Changement d'homotopie implicite par FAH.

Supposons que

BV

1 ait été initialement marqué dans

g

alors que

BV

2ne l'a pas été. Lorsque l'eau arrive au point col

c

,

c

est extrait de la FAH. Les voisins de

c

dans

BV

2 vont être insérés dans la FAH. Ces points sont d'altitude strictement inférieure au niveau prioritaire courant

i

min =

f

(

c

). En eet, les niveaux inférieurs à

f

(

c

) ont déjà été examinés et les les relatives à ces niveaux détruites. Les points de

BV

2 seront donc insérés dans la le de niveau

f

(

c

) puisque

8

p

2

BV

2,

max

(

f

(

p

)

;i

min =

max

(

f

(

p

)

;f

(

c

)) =

f

(

c

).

BV

2 va ainsi être inondé comme si tous ses points avaient été de niveau

f

(

c

) (cf. ligne pointillée sur la gure). L'algorithme de LPE par FAH se déroule, de ce fait, comme si le relief avait subi un changement d'homotopie au préalable, sans que celui-ci ait été explicitement eectué. Nous avons vu dans le chapitre 1 que le changement d'homotopie correspond à une reconstruction négative. La destruction des les relatives aux niveaux déjà traités nous permet de gagner le temps nécessaire au calcul de cette reconstruction.

Voyons maintenant l'inuence, dans un cas critique, de la destruction des les vides sur le positionnement de la LPE. Imaginons un BV non marqué dont les bords droits et gauches sont à la même altitude (cf. gure 2.23). Lorsque l'eau atteint le niveau de

c

1et de

c

2, les points

c

1et

c

2se trouvent dans la le prioritaire. Le point

c

1fait entrer son voisin

v

1;1dans cette le, puis

c

2

y fait entrer

v

2;1. Ensuite,

v

1;1 fait entrer

v

1;2 et

v

2;1 introduit

v

2;2. On assiste à une propagation alternée entre la gauche et la droite jusqu'à ce que les ots se rejoignent au centre du BV: la LPE est bien placée. Si l'on avait reconstruit une le de niveau

f

(

v

1;1) lors de l'insertion de

v

1;1, tout le BV aurait été envahi par le marqueur issu de

c

1. Là encore, la destruction des les vides assure le bon placement de la LPE.

Intégration par recherche des chemins de coûts minimaux

F. Meyer (Meyer, 1993) propose de calculer la LPE par recherche de chemins de coûts minimaux dans un graphe, dont les arcs sont valués par la distance topographique

d

f(

p;q

). Nous avons déjà vu cette approche dans le cas de l'algorithme séquentiel à balayages réguliers pour la LPE par intégration. Comme nous l'avons fait pour la distance classique, nous pouvons nous servir d'un algorithme à balayage dépendant des données pour le calcul de ces chemins minimaux par l'algorithme de Moore-Dijskra (algorithme 4). Cette technique revient à appliquer un

2.3. Algorithmes et architectures à ot de données simple pour le calcul de la LPE 67 c2 c1 v2,2v2,1 c2 LPE c1 c2 v1,1 v1,1 v2,1 v2,1 v1,2 v1,1v1,2

Fig. 2.23  LPE située dans un creux non marqué.

algorithme à balayage optimisé au cas du calcul de la LPE par intégration. Dans le cas de la distance topographique, les coûts

l

(

u

p;q) sont susceptibles de prendre des valeurs variées. En vue de déterminer l'arc de coût minimal, (Meijster etRoerdink, 1996) proposent une hiérarchie basée sur la distance topographique. Ils associent une le par distance topographique qui aura une priorité d'autant plus grande que la distance sera faible. Les points dans une même le sont les points des plateaux qui, comme vu précédemment, seront atteints par le front de propagation dans l'ordre des distances croissantes aux bords des plateaux. C'est-à-dire que chaque le, dans la le hiérarchisée, sera de type FIFO. Un algorithme par le simple peut également être envisagé dans le cas des fonctions semi-complètes inférieurement. On pourra se reporter à (Moga, 1997).

2.3.7 Conclusion

Nous venons de présenter les algorithmes qui pourront servir d'outils pour le calcul de la LPE. Ces approches algorithmiques reposent sur une LPE dénie comme la ligne séparant les eaux, issues des minima de l'image, inondant un relief topographique. Elles mettent clairement en évidence deux niveaux de traitement: les traitements intra-niveaux (distance dans les plateaux) et la récurrence inter-niveaux (distance topographique).

Trois types d'algorithmes ont été envisagés: parallèles, séquentiels à balayage régulier et récursifs à balayage dépendant des données. L'algorithme d'inondation parallèle basé sur des épaississements successifs est le plus lent sur machine conventionnelle, bien qu'une architecture dédiée à la morphologie mathématique (PIMM1) eectue ce traitement en quelques dizaines de secondes pour une image 512512. On observe une nette accélération lors du passage à un algorithme séquentiel pour le calcul de la LPE par intégration (Meyer, 1994). Lemonnier

(Lemonnier, 1996) a proposé récemment une architecture, dédiée à cet algorithme, qui pré-sente des temps de traitement inférieurs à la seconde. (Vincent, 1990) puis (Meyer, 1991) ont présenté des algorithmes à balayage optimisé dépendant des données, basés sur l'utilisation respective de les d'attente simples ou hiérarchisées pour le calcul de la LPE par inondation. Ces algorithmes sont plus performants que les précédents sur machines conventionnelles. Une pre-mière version de machine dédiée a été proposée par (Noguet, 1994) et (Noguet et al., 1995). (Klein etLemonnier, 1995) proposent une machine articulée autour d'un Digital Signal Pro-cessor (DSP). Nous y reviendrons ultérieurement. Enn, les algorithmes à balayage dépendant des données pour le calcul du plus court chemin ont été présentés.