• Aucun résultat trouvé

Il est possible de catégoriser les filigranes par rapport au nombre de régions fermées que ceux-ci possèdent (figure 5.9). Les régions des images de cette figure sont mises en évidences par des niveaux de gris dis-tinct. La région du fond, en blanc, n’est pas considérée comme étant une région appartenant au filigrane. Par exemple, le filigrane de la figure 5.9.a contient donc quatre régions. Les filigranes ne possédant que peu de

ré-gions sont plutôt des filigranes anciens et symbolisent des formes som-maires: cercles, cœurs, losanges, etc. (figure 5.9.a). Les filigranes ayant beaucoup de petites régions sont plus complexes (aigles à double têtes, ar-moiries, etc.) et généralement de date de fabrication plus récente (figure 5.9.c).

L’algorithme permettant de calculer le nombre total de régions que possède un filigrane a été développé sous la plate-forme de travail KBVi-sion. La première opération consiste à compléter les contours qui pos-sèdent des discontinuités. Pour cela, l’algorithme détaillé dans le paragraphe 4-7 est utilisé. Les différentes régions sont alors extraites de l’image (l’algorithme est détaillé à la figure 5.10) et sauvegardées dans une structure informatique (tokenset) permettant leur manipulation aisée.

Le nombre de régions que possèdent les filigranes permet de répartir ceux-ci en plusieurs grandes catégories. Cette catégorisation est cepen-dant trop grossière pour permettre de caractériser de manière unique un filigrane donné. Elle permet d’effectuer un tri grossier et d’éliminer les fi-ligranes inadéquats en préalable à une recherche ultérieure. D’autres pri-mitives devront être utilisées sur le sous-ensemble de filigranes résultant de ce tri préliminaire.

Figure 5.9: Exemples de filigranes où les régions ont été extraites.

(a) (b) (c) (d)

La position des régions est un critère plus sélectif pour la différencia-tion des filigranes [105]. La posidifférencia-tion d’une région Ri(x,y) I(x,y) est dé-terminée en prenant son centre de gravité :

avec Ri(x,y)=1 si (x,y)Ri, 0 sinon.

Pour différencier deux régions, la mesure de distance entre deux régions R1 et R2 est définie en prenant la distance euclidienne entre leurs centroïdes:

Les centroïdes des régions peuvent être efficacement indexés en utili-sant une structure de type quad-tree (paragraphe 3-3) sur les valeurs

comme illustré pour quelques régions à la figure 5.11.

Les arbres Q fournissent des accès très rapides pour les données de type point et la construction de la structure est relativement aisée. Une re-quête sur la position d’une région consiste donc à traverser l’arbre d’in-dexation jusqu’à la page de donnée adéquate puis d’effectuer une

Figure 5.10: Algorithme permettant d’extraire les différentes régions d’une image et de les sauvegarder dans un fichier de tokenset.

cr_Fili Get_Region

Tâche permettant de segmenter une image en régions.

Effectue 2 dilatations en connectivité 4. Permet de supprimer les toutes petites régions.

Labellise une image suivant les régions (de connectivité 4).

MorphOps RegLabIm

Création des structures représentant les régions dans un fichier de tokenset.

TksFeat

Supprimer les régions dont l’aire couvre moins de 20 pixels et la région représentant le fond.

FilterTks

recherche exhaustive sur tous les points contenu dans la page qui mini-mise la distance entre la région du modèle RM et celles de la base Ri:

Le centre des régions ne suffit pas à définir complètement la localisa-tion spatiale des régions. Les régions sont aussi indexées par rapport à leur Rectangle Minimum Englobant (REM) qui est le plus petit rectangle (ali-gné verticalement) qui englobe totalement la région. Les REMs des ré-gions sont indexés en utilisant un arbre-R. Cette structure est bien adaptée à la gestion dynamique des rectangles (paragraphe 3-5) et est implémen-tée dans le logiciel de gestion de bases de données que nous utilisons [140]. Une requête spatiale peut ainsi spécifier un rectangle de recherche.

Le résultat sont les régions dont les REMs sont inclus, intersectent ou en-globent ce rectangle.

Deux facteurs visuellement importants pour différencier différentes régions sont leur taille en terme de superficie et leur extension spatiale.

Pour cela, deux nouvelles mesures sont définies.

L’aire entre deux régions est la première mesure utilisée et calcule simplement la différence en valeur absolue de leur aire:

Figure 5.11: Représentation d’un arbre Q pour la gestion des centres de gravités des régions composant les filigranes. Seulement cinq filigranes ont été utilisés pour créer cet arbre d’indexation, avec un nombre maximal d’éléments par cellule de quatre.

DR1MRi

DM R1 i

minRi D˜M R1 i

=

DR21R2 = aireR1aireR2

L’extension spatiale est calculée en prenant la longueur du contour de la région:

Pour retrouver une région à une position précise, la requête doit cal-culer les trois distances entre la région du modèle RM et toutes les régions de toutes les images de la base de données Rij avec i=1..N et j=1..Mi où N est le nombre d’images de la base de données et Mi est le nombre de ré-gions total pour l’image Ii(x,y):

Les paramètres permettent d’attribuer plus d’importance à un paramètre plutôt qu’à un autre. Sans l’utilisation d’index spatiaux, tel que les arbres Q, il y aurait régions à comparer avec le modèle.

Lors d’une requête sur une seule région, celle-ci serait du type:

"Trouver la région située en (xM,yM), ayant une su-perficie de aireM et ayant un périmètre de longueur pM". Les trois distances (k=1..3) sont calculées séparément et l’in-tersection des ensembles des régions possédant simultanément les trois caractéristiques spécifiées sont sélectionnées. Celles minimisant la dis-tance D sont finalement gardées.

DR1R2

3 = périmètreR1périmètreR2

DRMRij 1DRMRij

1 2DRMRij

2 3DRMRij

+ + 3

=

i0..1

Mi

i 1= N

Figure 5.12: Distance utilisée pour calculer la différence de position entre deux régions, basée sur leurs centres de gravité.

DR11R2

CxR1CyR1

CxR2CyR2

DR11R2

DRkMRi

Pour une requête portant sur plusieurs régions (RM1,..,RMk), on prend alors l’intersection. L’image possédant k régions les plus semblables au modèle est déterminée par:

Les variables permettent d’attribuer un poids d’importance diffé-rente à chacune des régions. Cette mesure de distance permet ainsi de re-trouver une ou des régions de tailles et de positions données dans un repaire absolu. Au lieu de retourner l’image minimisant cette formule, on retourne toutes les images Ii dont la valeur est en dessous d’un certain seuil.

La position relative des régions les unes par rapport aux autres, four-nit des informations complémentaires sur la structure globale du filigrane.

Pour cela, un système de coordonnées normalisées est créé {O, 1, 2} où O=origine et { 1, 2} est un repère normé non orthogonal. Les trois ré-gions les plus grandes en surface sont sélectionnées pour former le sys-tème de coordonnées. Le centre de gravité de la plus grande région est défini comme étant l’origine O. Les deux vecteurs 1 et 2 partant de l’origine et arrivant sur les centres de gravité des deux autres régions for-ment le système de coordonnées { 1, 2} (figure 5.13.a). Après normali-sation 1= 1/|| 1|| et 2= 2/|| 2|| des deux vecteurs ainsi créés, ceux-ci forment le système de coordonnées normalisées (figure 5.13.b). Le centre de toutes les autres régions est ensuite défini par rapport à ce système. La figure 5.13.c représente l’ensemble des centres de gravité de toutes les ré-gions pour tous les filigranes. Les trois zones qui sont visuellement moins denses de coordonnées (0,0), (1,0) et (0,1) sont la position de l’origine, du vecteur 1 et 2. Cela signifie simplement qu’il ne peut pas y avoir de ré-gions proches des trois plus importantes réré-gions.