• Aucun résultat trouvé

Algorithme séquentiel pour la LPE par intégration

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

2.3.5 Algorithme séquentiel pour la LPE par intégration

Nous savons, depuis la n des années 60 (RosenfeldetPfaltz, 1966), que les algorithmes séquentiels sont plus performants que leurs équivalents parallèles sur machine conventionnelle.

Friedlander (Friedlander, 1987; Friedlander, 1989) propose un algorithme séquentiel pour le calcul de la LPE. Il recherche l'ensemble des points pouvant être atteints à partir d'un chemin jamais descendant partant d'un minimum. Cet algorithme repose sur la notion de échage d'une image, proposée parMaisonneuve(Maisonneuve, 1982), qui consiste à créer un graphe orienté représentant les trajectoires opposées au parcours d'une goutte d'eau tombant sur un relief.

À partir des données image, construisons le graphe orienté au moyen de la règle suivante: soit

p

un point de l'image (

p

2 D) prenant la valeur

f

(

p

) et

q

un voisin de

p

(

q

2 N(

p

)) de valeur

f

(

q

), on construit un arc de

p

vers

q

ssi:

f

(

q

)

> f

(

p

). Le graphe ainsi formé est appelé échage ou graphe de échage. Un exemple en est donné par la gure 2.18 Ce graphe présente un certain nombre de propriétés remarquables:

 il donne une information sur les chemins ascendants dans l'image (choix du sens de l'in-égalité);

 il ne présente pas de boucle (choix de l'inégalité stricte);

 les points ne sont pas tous connectés, en particulier les points à l'intérieur d'un plateau (choix de l'inégalité stricte), ne sont ni écheurs, ni échés.

L'algorithme de Friedlanderrevient à construire les BV relatifs aux minima régionaux en parcourant le échage. Les BV ainsi obtenus sont séparés par la LPE épaisse (ZPE) que nous

2.3. Algorithmes et architectures à ot de données simple pour le calcul de la LPE 61 2 0 4 2 3 6 6 6 6 6 6 6 4 3 8 8 8 8 3 3 5 1 1 2 6

Fig. 2.18  Graphe de échage.

avons déjà évoquée plus haut. En eet, les points des plateaux n'étant ni écheurs, ni échés, ils ne participent pas à la propagation. En calculant les zones d'inuence des BV à l'intérieur de ces plateaux, on obtient la LPE.

Cet algorithme, quoique rapide, présente l'inconvénient de conduire à une LPE mal posi-tionnée. Il arrive même qu'elle ne soit pas située sur une ligne de crête (Beucher, 1990a). Il y a une double raison à cette défaillance: dans l'algorithme de Friedlander, les étiquettes des minima sont synchrones (toutes les sources commencent à se propager en même temps). D'autre part, la propagation se déroule à vitesse constante, c'est-à-dire qu'à un instant donné, le nombre de èches parcourues à partir de chaque minimum est identique. Dans le processus d'inonda-tion, par contre, l'eau monte niveau après niveau, si bien qu'un BV peut ne pas se propager pendant un certain temps en attendant que les autres BV atteignent son niveau. C'est en fait la notion de pente qui est perdue dans l'algorithme de Friedlander. La présence d'une èche indique la direction et le sens du gradient, mais pas sa norme. Ce échage est insusant pour la construction de la LPE exacte.

Pour introduire la norme du gradient dans le échage, (Beucher, 1990a) propose de valuer les arêtes par la diérence d'altitude de leurs extrémités:

f

(

q

),

f

(

p

). Cette expression est celle du gradient lorsqu'on suppose que la longueur des arêtes est égale à 1 (cas de la trame hexagonale). Dans le cas général, on a: f(q),f(p)

d(q;p) . Beucher met ainsi en évidence une nouvelle métrique basée sur le gradient. Il propose alors un algorithme dans lequel on parcourt le graphe éché an de trouver des points candidats pour la LPE d'après la conguration de leur voisinage. Ces points servent ensuite à la construction itérative de la LPE de proche en proche. Cette procédure nécessite des accès séquentiels, aléatoires et récursifs aux données.

(Meyer, 1994) propose une technique qui repose également sur le échage, mais ne nécessite qu'un accès régulier aux données. Nous avons vu, dans le cas continu, que pour des fonctions semi-complètes inférieurement, on peut dénir une distance d'après l'information de plus forte pente par:

d

f(

p;q

) = ^ 2,p;q Z k ,! r

f

(

(

h

))k

dh

(2.15)

Dans le cas discret, l'information de pente est donnée par la valeur des coûts associés aux èches. On peut ainsi dénir la distance topographique (Meyer, 1994) par:

d

f(

p;q

) = ^ 2,p;q X i _ q2N(pi) 

f

(

p

i),

f

(

q

)

d

(

p

i

;q

) 

d

(

p

i,1

;p

i) (2.16) Cette distance ne permet pas de traiter le cas des plateaux. En ajoutant un échage à l'intérieur des plateaux selon la distance géodésique aux bords descendants, on obtient un graphe dans

lequel tous les noeuds sont échés, même lorsque l'image contient des plateaux (cf. gure 2.19). Cette étape est appelée complétude du graphe de échage1. Nous la devons à F.Meyer (dans (Serra, 1988)).

Fig.2.19  Complétude du graphe de échage.

Une autre technique de résolution du problème des plateaux consiste en une modication du relief de manière à créer de légères pentes sur les plateaux. L'image ainsi transformée est une version digitale d'une fonction semi-complète inférieurement, elle ne contient pas de plateaux en dehors de ses minima. (Bleau et al., 1992) mettent en ÷uvre cette technique qui exige de créer des niveaux intermédiaires entre ceux de l'espace de quantication, comme le montre l'exemple de la gure 2.20. Dans ce cas, on est amené à manipuler des valeurs de pixels ayant une dynamique élévée déterminée par la plus grande distance possible entre deux points quelconques d'une image selon la métrique choisie.

Fig. 2.20  Transformation préalable du relief.

Une fois le graphe de échage constitué, la construction des BV se résume à la recherche du chemin le plus court au sens de

d

f entre un point

p

et les minima régionaux de l'image (cf. chapitre 1). Tous les points le long d'un tel chemin reçoivent l'étiquette du minimum en question. (Meyer, 1994) avance l'idée d'utiliser l'algorithme deBerge que nous avons décrit dans le cas de la TD. Ici, les coûts sont xés par la distance topographique

d

f.

Il propose, comme nous l'avons vu pour la TD, l'utilisation de balayage vidéo et anti-vidéo qui sont bien adaptés à des implantations matérielles. Rappelons que l'ordre de parcours des points n'est pas important pour cet algorithme. Il se prête donc bien à une implantation séquentielle et est, de ce fait, adapté aux architectures classiques mettant en ÷uvre des balayages vidéos et anti-vidéos.

Cette méthode utilise nécessairement l'ensemble des minima régionaux comme sources d'inon-dation. Eectivement, le échage ne met en évidence que les chemins ascendants et monotones issus des minima. Un creux qui ne serait pas marqué ne pourrait être traité convenablement. Pour utiliser un marquage quelconque, il faudra eectuer un changement d'homotopie du relief au préalable, comme il est expliqué au chapitre 1 (cf. gure 1.15).

1. Cette appellation peut prêter à confusion puisque l'opération de complétude ne conduit pas à un graphe complet.

2.3. Algorithmes et architectures à ot de données simple pour le calcul de la LPE 63 (Lemonnier, 1996) propose une architecture spécique, PIMM10, pour le calcul de la LPE au moyen de cet algorithme séquentiel. Voici les principales tâches qu'elle réalise:

 changement d'homotopie par reconstruction;  échage des pentes maximales;

 distance géodésique dans les plateaux;

 échage des pentes de l'image des distances géodésiques;  union des échages (complétude);

 propagation des marqueurs dans le graphe éché.

Le changement d'homotopie, la TD géodésique et la propagation des marqueurs sont implan-tés de manière récursive par une unité de traitement commune. Le échage des équi-niveaux et celui des pentes maximales sont réalisés par deux unités de calcul distinctes basées sur un algo-rithme parallèle. L'image est balayée en mode vidéo et anti-vidéo pour toutes ces opérations.

Le nombre de passes nécessaires au calcul de la LPE par un algorithme de ce type n'est pas déterminé, puisque dépendant des données. (Lemonnier, 1996) avance un nombre indicatif typique de l'ordre de 30 passes. On peut en déduire que le temps de traitement pour une image de taille 512512 est de l'ordre de 800 ms à 10 Mhz, qui est la cadence de traitement de l'émulateur de PIMM10. Un tel circuit travaillant à 40 Mhz, fréquence envisagée pour l'ASIC PIMM10, mettrait 200 ms pour ce même traitement. La complexité de ce circuit est de 60 000 portes et 9 ko de mémoire FIFO.