• Aucun résultat trouvé

L'objectif de cet attribut est de remplacer le diamètre géodésique par une mesure similaire et ayant une complexité algorithmique plus faible. Nous décrivons premièrement les algorithmes permettant de calculer le diamètre géodésique présent dans la littérature, puis nous introduirons ce nouvel attribut.

5.4.1 Description des algorithmes pour le calcul du diamètre géodésique

L'approche directe, pour le calcul du diamètre géodésique d'un objet X, consiste à réaliser des propagations. Une propagation consiste à calculer, à partir d'un pixel x de l'objet, lx(X). En réalisant

une propagation à partir de tous les pixels du bord de l'objet, on pourra alors obtenir la valeur du diamètre géodésique. La complexité de cet algorithme est élevée et dépend à la fois de la surface ainsi que du nombre de pixels du bord de l'objet. On remarque qu'il y a de nombreuses propagations inutiles amenant à une implémentation inecace. Schmitt [201] prouva qu'il était susant de considérer seulement un sous ensemble des pixels du bord comme point de départ pour une propagation. Malgré l'apport considérable de cet algorithme, il reste néanmoins trop de propagations superues.

Lantuéjoul et Maisonneuve ont créé un algorithme parallèle pour le calcul du diamètre géodésique sur une grille hexagonale [116]. Soit X une composante simplement connexe et Y l'ensemble des points du bord de l'objet. En utilisant une propagation particulière dans la grille hexagonale et à partir des points de Y , l'algorithme fournit le résultat en une unique propagation. Cependant, cet algorithme ne peut traiter que des composantes connexes simplement connectés, puisque le front de propagation tournera inniment autours de ses trous. Cette caractéristique rend cet algorithme inadéquat pour notre application.

Parra-Denis, dans [177], commence par calculer la fonction distance dans l'objet, puis réalise des dilatations conditionnelles à X an de repérer les points maxima qui sont des extrémités de l'objet. Enn, à partir de chacune de ces extrémités, une propagation géodésique est réalisée pour obtenir le diamètre géodésique. Avec cet algorithme, la complexité est élevé : O(n2) avec n le nombre de pixels

de la composante connexe. L'analyse de la complexité sera donnée plus en détail dans la section5.8.2. Ces méthodes ne nous permettent pas de calculer rapidement le diamètre géodésique et nous pro- posons une méthode très ecace pour réaliser un calcul approché de cet attribut : le diamètre bary- centrique.

5.4 Un nouvel attribut géodésique : le diamètre barycentrique

5.4.2 Distance géodésique itérée

Pour tous les points de x ∈ X, pouvons nous calculer la longueur lx(X)du plus grand arc géodésique

en une seule propagation en partant de x ? Est ce que cette valeur peut remplacer Lg(X) ? Est-ce une bonne approximation ? Comment choisir le point de départ x ?

Considérons l'arc géodésique maximal de X. Soient y1 et y2 ses extrémités. La distance géodésique

entre ces deux points est égale à Lg(X) = dX(y1,y2). Etant donné que la distance géodésique est une

distance [116], l'inégalité triangulaire s'applique et on a pour tout x ∈ X :

dX(y1, y2) ≤ dX(y1, x) + dX(x, y2). (5.14)

De plus, par dénition, lx(X)est à la fois plus grand ou égal à dX(y1, x)et à dX(x, y2) tout en étant

plus petit que Lg(X). On obtient :

Lg(X) ≥ lx(X) ≥

Lg(X)

2 . (5.15)

Aussi, l'erreur relative (Lg(X) − lx(X))/L(X) que l'on commet lorsque l'on approxime Lg(X) par

lx(X)est toujours inférieure à 50%. Pour améliorer cette approximation, nous pouvons réaliser d'autres

propagations en partant cette fois ci d'un des points les plus éloignés de x avec la distance géodésique. Soit Y ⊂ X, cet ensemble de points :

Y = {y | y ∈ X, dX(x,y) = lx(X)}. (5.16)

On peut donc introduire la distance géodésique maximale itérée partant du point initial x : l2x(X) = sup

y∈Y

ly(X). (5.17)

On peut montrer facilement que :

Lg(X) ≥ l2x(X) ≥ lx(X) ≥

Lg(X)

2 , (5.18)

et que plus généralement ln

x(X)converge, ∀n ∈ Z+ (avec n est le nombre d'itérations) :

Lg(X) ≥ lnx(X) ≥ ln−1x (X) ≥ Lg(X)

2 . (5.19)

Néanmoins, la limite de cette suite n'est pas forcément égale à Lg(X) mais on note qu'en pratique, la convergence est très rapide et qu'aller au delà de l2

x(X) n'est pas intéressant. Sur ce point précis,

une analyse plus précise est donnée à la n de cette section. La gure 5.4fournit un exemple où l2 x(X)

est une approximation bien plus précise du diamètre géodésique que lx(X) et où d'autres itérations

n'augmentent pas la précision de cette approximation. Dans les tests qui suivent, on utilisera l2

x(X)comme approximation du diamètre géodésique. Il reste

cependant à choisir x, le point initial de la première propagation.

5.4.3 Choix du point de départ

Le choix du point x ∈ X a une inuence sur la qualité de l'approximation obtenue. Pour le montrer, nous avons mis en place une série de tests, et plusieurs stratégies ont été testées.

B

(a) Image initiale

lcc

y

cc

(b) Première propa- gation

lcc

y

2 (c) Seconde propaga- tion

Figure 5.4  Illustration de l'apport de l2

x(X) par rapport à lx1(X) sur un objet X quelconque. Le

point B de l'image (a) est le barycentre de la composante connexe et le point de départ, x, correspond au point le plus éloigné de B avec une distance euclidienne. La première propagation donne lx, suivie

de la seconde propagation en partant de y, qui fournit une bien meilleure approximation du diamètre géodésique : l2

x.

Description des diérentes stratégies

Le choix de x peut être réalisé de plusieurs façons diérentes :

 Lorsque x est choisit comme le point le plus éloigné du barycentre de l'objet X, on obtient ce que l'on appelle le diamètre barycentrique, noté LgBarF ar(X). On remarque que le barycentre de cet

objet n'appartient pas forcément à X et par conséquent, on utilise la distance euclidienne pour trouver les points les plus éloignés du barycentre. En partant d'un de ces points, on suppose qu'il sera placé près de l'une des extrémités de X (ce ne sera pas forcement le cas pour des objets non convexes).

 De la même manière, au lieu de choisir le point le plus éloigné du barycentre, on peut choisir le point le plus proche (avec toujours une distance euclidienne). On obtient une autre approximation de L(X) : LgBarN ear(X).

 Le barycentre n'est pas forcément inclus dans l'objet et pour remédier à cela, on peut utiliser un des points correspondant au centre géodésique. Cependant, trouver cet ensemble de points est tout aussi complexe que la recherche du diamètre géodésique. Par conséquent, on calcule une carte de distance à l'intérieur de l'objet pour prendre le pixel le plus éloigné d'un des bords. On obtient respectivement deux mesures associées à ce point LgCentreN ear et LgCentreF ar (en

choisissant le point le plus proche ou le plus éloigné).

 Enn, le point de départ x sera le premier pixel de l'objet trouvé avec un balayage ligne par ligne de l'image. On note la mesure associée LgRandom.

Ces cinq mesures peuvent donc être utilisées pour calculer une approximation du diamètre géodé- sique avec seulement deux propagations. Pour ces stratégies, on calcule les erreurs relatives moyennes sur de nombreux objets binaires répartis en six bases de données.

Description des bases de données

Pour avoir une bonne estimation des erreurs moyennes pour chaque méthode, il est nécessaire d'avoir un nombre important d'objets à notre disposition. On utilise donc six bases de données diérentes dont cinq sont constituées d'objets générés aléatoirement :

5.4 Un nouvel attribut géodésique : le diamètre barycentrique

(a) Objets convexes (b) Agrégation de pixels

(c) Agrégation de disques (d) Marches aléatoires

(e) Bruit de Perlin (e) Base de donnée MPEG7

Figure 5.5  Illustration de cinq objets binaires pour chaque méthode.

 Objets convexes : Un nombre aléatoire de points est généré (entre 10 et 100) puis ils sont placés aléatoirement dans l'espace. L'enveloppe convexe de ces points forme un objet convexe.  Agrégation de pixels : Cette méthode est utilisée pour générer des objets denses et irréguliers

sur les bords. L'ensemble est initialisé à un unique point et à chaque itération, on ajoute aléatoi- rement un des pixels appartenant au voisinage de cette forme. On répète ce processus un nombre aléatoire de fois.

 Agrégation de disques : Cette méthode fonctionne comme la méthode Agrégation de pixels sauf qu'à chaque itération, on ajoute un disque ayant un rayon aléatoire (compris entre 5 et 40 pixels) au lieu d'un unique pixel. On obtient des objets complexes.

 Marches aléatoires : on commence par choisir la taille d'un disque que l'on place dans l'image. Puis nous utilisons un algorithme des marches aléatoires pour simuler un mouvement Brownien et un objet complexe.

 Bruit de Perlin : Le bruit de Perlin [182] permet de construire une texture procédurale dont l'apparence est facilement contrôlable et multi-échelles. En seuillant cette texture et en conservant la plus grande composante connexe de l'image, on obtient des objets très tortueux.

 Base de données MPEG71 : cette base de données classique regroupe 1400 objets binaires.

Nous générons 10000 objets binaires par méthode, pour obtenir un total de 51400 objets. Pour illustrer la forme et la variabilité de ces objets, cinq réalisations sont présentées et regroupées dans la gure

5.5.