• Aucun résultat trouvé

Algorithmes à balayage optimisé

2.2 Classes d'architectures et d'algorithmes

2.2.6 Algorithmes à balayage optimisé

c,8(

p

) (a) et N ,

c,8(

p

) (b) pour l'implantation séquen-tielle.

Algorithme 3

TD séquentielle 1:

répéter

2:

pour toutp

(

x;y

)2D en mode vidéo

faire

3:

d

(

x;y

) =V (k;l)2

+(

d

(

x

+

k; y

+

l

) +

c

(

k;l

)) 4:

n pour

5:

pour toutp

(

x;y

)2D en mode anti-vidéo

faire

6:

d

(

x;y

) =V (i;j)2

,(

d

(

x

+

k; y

+

l

) +

c

(

k;l

)) 7:

n pour

8:

jusqu'à

l'idempotence

dans le cas où l'objet de départ est ponctuel. Une passe vidéo suivie d'une passe anti-vidéo sut au calcul de la TD dans le cas séquentiel, ceci quelle que soit la taille de l'image pour cet exemple. (Rutovitz, 1978) a montré qu'une passe vidéo suivie d'une passe anti-vidéo étaient susantes dans un domaine super-convexe: lorsque les chemins de longueurs minimales sont contenus dans le domaine. Si l'on utilise, par exemple, la distance

d

c,8, un rectangle horizontal n'est pas super-convexe. Par contre, un carré dont les bords sont à 45o de ceux de l'image est super-convexe. (Piper et Granum, 1987) montrent que l'algorithme ne converge pas en deux passes dans le cas plus général des objets convexes. Dans ce cas, le nombre de passes est inconnu et dépend de la complexité des objets de l'image. C'est le cas le la gure 2.10.

Fig. 2.10  Exemple d'une image convexe, mais non super-convexe pour laquelle le nombre de passes est supérieur à 2.

2.2.6 Algorithmes à balayage optimisé

De nouveaux types de balayages ont récemment fait leur apparition en morphologie ma-thématique: les balayages dépendant des données. Ils sont issus de la recherche d'algorithmes ecaces sur machines conventionnelles. Lors du balayage en mode prédéterminé, on constate que de nombreux points sont balayés alors qu'ils n'apportent aucune information sur le traite-ment en cours. Il s'agit des points qui ne subiront pas de modications à l'itération courante. Bien que cette diculté soit partiellement surmontée dans le cas des algorithmes séquentiels, ce phénomène s'amplie lorsque les objets sont non convexes, enroulés, déchiquetés,

:::

(voir

par exemple gure 2.11). Pour augmenter le taux des points susceptibles d'être modiés par rapport aux points parcourus, on recourt à un balayage optimisé qui suit le front de propagation des données. Cette analyse a débouché sur deux techniques: les algorithmes à base de lacets (Schmitt, 1989) et ceux à base de les d'attente (Piper et Granum, 1987; Verwer et al., 1989;Vincent, 1990).

Fig. 2.11  Exemple d'une image nécessitant un grand nombre de balayages. En résumé, les techniques à base de lacets sont fondées sur trois étapes:

1. détection et suivi de contour des objets à transformer;

2. codage des contours (du type chaîne de Freeman (Freeman, 1961));

3. transformation de chaîne selon une règle de réécriture basée sur l'opérateur à réaliser. L'inconvénient de cette méthode tient au codage et aux lois de réécriture des lacets, la réécriture des chaînes étant une opération délicate à implanter de manière câblée. D'un point de vue plus fondamental, cette réécriture exige de la trame qu'elle vérie la loi de Jordan digitale. Elle ne peut donc être adaptée en trame carrée (cf. annexe B).

Une autre méthode repose sur un parcours optimisé d'un graphe an de résoudre le problème de recherche de coût minimal évoqué plus haut. Pour calculer le coût associé à un noeud

p

, il faut avoir calculé les coûts associés aux noeuds le séparant d'un noeud de coût connu. Il est donc inutile d'inspecter le noeud

p

alors que les coûts des noeuds intermédiaires sont inconnus. Pour inspecter uniquement les points susceptibles d'être réactualisés, on recourt à un parcours en largeur d'abord. L'algorithme deMoore-Dijskra (algorithme 4) (Moore, 1957;Dijskra, 1959) est basé sur cette idée.

En théorie des graphes (GondranetMinoux, 1985), il existe une technique très répandue pour la mise en ÷uvre d'un parcours en largeur d'abord. Elle consiste en l'utilisation d'une le d'attente de noeuds du graphe, d'où l'appellation d'algorithme par le d'attente. Une le d'attente est une structure de stockage ordonnée dans laquelle l'accès aux données est déterminé par une relation d'ordre. Dans notre cas, nous nous intéresserons aux les d'attente de type premier entré/premier sorti (First In First Out (FIFO)), illustrées par la gure 2.12.

L'exemple de la TD peut se transposer à un algorithme à base de les d'attente (cf. algo-rithme 5). (PiperetGranum, 1987) proposent un algorithme de calcul de la TD qui s'appuie sur un tel parcours en largeur d'abord. (Verweret al., 1989) proposent un algorithme amélioré où les points ne sont traités qu'une seule fois en utilisant une le par coût1.

1. On remarquera qu'avec la distance city-blockouchessboard, les coûts sont tous égaux à 1. Seule une le est utilisée et l'algorithme de (Verweret al., 1989) est analogue à celui de (PiperetGranum, 1987)

2.2. Classes d architectures et d algorithmes 53

Algorithme 4

Algorithme deMoore-Dijskra pour le calcul des chemins minimaux

3 D: domaine de l'image

3

S

: ensemble des points objets Phase 1: initialisation

pour tout p

2D

faire

sip

2

S alors



(

p

) 0

sinon si p

2N(

p

0) et

p

0 2

S alors



(

p

)

l

(

u

p0;p)

sinon



(

p

) +1

n si

n pour

Phase 2: propagation

tant que S

c 6=;

faire

sélectionner

p

2

S

c tel que



(

p

) =V

q2Sc



(

p

)

S

c

S

c,f

p

g

pour tout q

2N(

p

)\

S

c

faire



(

q

) =

min

(



(

q

)

;

(

p

)+

l

(

u

p;q))

n pour

n tant que

p

p

prélèvement_le () p insertion_le (p)

Fig. 2.12  Mécanisme d'une le d'attente.

Dans l'algorithme 5, nous supposons que les coûts entre voisins sont identiques et égaux à 1. Dans ce cas, une seule le d'attente est nécessaire. La phase 1 constitue la phase de détection des points à propager et l'initialisation du processus de propagation, par mémorisation des points initiaux dans la le d'attente. La propagation proprement dite constitue la deuxième phase. Elle a pour résultat l'ajout de couches successives à l'ensemble de départ sans parcourir de points non susceptibles d'être mis à jour, ceci quelle que soit la forme des objets à analyser. Remarquons que l'assignation

f

(

q

)

f

(

p

)+1 montre que le résultat est écrit directement dans l'image de départ. Cet algorithme peut être qualié, de ce fait, d'algorithme séquentiel. D'autre part, la mémorisation (ligne 13) montre que les points qui seront extraits de la le (ligne 10) dépendent du test de la ligne 12. En ce sens, le parcours de l'image dépend des données. On parlera donc d'algorithme récursif à parcours dépendant des données, ou data driven. La portée

Algorithme 5

TD par le d'attente 1: Phase 1 (détection des points sources) 2:

pour tout p

(

x;y

)2D

faire

3:

sif

(

p

) = 1et9

p

0 2N(

p

) :

f

(

p

) = 0

alors

4: insertion_le (p) 5:

f

(

p

) 2 6:

n si

7:

n pour

8: Phase 2 (propagation en largeur d'abord) 9:

tant que

:le_vide

faire

10:

p

(

x;y

) prélèvement_le () 11:

pour tout q

2N(

p

)

faire

12:

sif

(

q

) = 0

alors

13: insertion_le (q) 14:

f

(

q

)

f

(

p

) + 1 15:

n si

16:

n pour

17:

n tant que

des algorithmes par le d'attente est plus générale que celle des algorithmes à base de lacets, car les premiers s'adaptent à n'importe quel type de trame.

On peut montrer1 qu'un tel algorithme converge en

O

(

M

) où

M

est le nombre d'arêtes du graphe (

M

=

card

(

G

)). Dans le cas général, cet algorithme peut être lent. Dans celui des graphes qui nous intéressent, le nombre d'arêtes est limité. En

K

-connexité, le nombre d'arcs d'un graphe ayant

N

2 noeuds est

M

= K2

N

2. L'algorithme de parcours de l'image en largeur d'abord est donc

O

(

N

2).

2.2.7 Conclusion

Nous avons décrit les grandes classes d'algorithmes dont nous disposons pour la morphologie mathématique. Les principaux algorithmes qui nous intéressent sont les algorithmes parallèles et séquentiels à balayage prédéni (typiquement vidéo), et les algorithmes séquentiels à balayage dépendant des données. Ceux utilisant un balayage prédéni convergent en un nombre d'itéra-tions indéterminé dans le cas général. Quant à ceux qui mettent à prot un parcours optimisé, ils convergent rapidement puisque les points ne sont traités qu'une seule fois. On pourra retenir, dans le cas de la TD:

 balayage indépendant des données - convergence dépendant des données;  balayage dépendant des données - convergence indépendante des données.

Dans l'absolu, il est impossible de déterminer leur ecacité respective qui dépend de l'architec-ture sur laquelle ils sont portés. Nous pouvons cependant les comparer lorsque ces algorithmes sont utilisés sur une machine conventionnelle: les algorithmes à balayage dépendant des données sont alors les plus rapides. (Vincent, 1991b) dresse un tableau comparatif de ces approches en prenant en compte d'autres critères. Les conclusions auxquelles il aboutit sont résumées par le tableau 2.1. Ainsi, un algorithme parallèle n'est pas rapide sur machine conventionnelle, alors que son implantation matérielle est aisée, etc.