Liste des figuresFigure 1: La distance entre signatures de graphe GP, a les graphes non orienté, sans étiquetage, b les graphes orientés, sans étiquetage, c les graphes étiquetés, orien
Trang 1
Mémoire de fin d’étude
Fouille de graphes et Classification de graphes
Application au "Symbol Spotting"
Réalisé par : Nguyen Quoc Toan Responsable du stage : Jean-Marc Ogier
Jean-Christophe Burie Romain Raveaux
Ce stage a été réalisé au département Pascal de Laboratoire Informatique, Image et
Interaction, Université de la Rochelle
La Rochelle, France, Novembre 2009
Trang 2Table des matières
1 Introduction
8 1.1 Problématique
8 1.2 Objectif et contribution du stage
8 1.3 Environnement de stage
8 1.4 Plan du document
8
2 Conceptions
10 2.1 Définition de graphe
10 2.2 Correspondance de Graphe
10 2.3 Graphe de distance
11 2.3.1 Distance d'édition
12 2.3.2 Distance entre signatures de graphe «graph probing
» 15 2.4 Symbol spotting
17
3 Etat de l'art
19 3.1 Les méthodes de construction de graphe
19 3.2 Les methodes de mise en correspondances des graphes
22 3.3 Récaputulation des méthodes
24
4 Une méthode de mise en correspondance de graphes fondée sur l’assignement de graphes
25 4.1 Définition
: Décomposition en sous-graphes 25 4.2 La correspondance de sous-graphes
26 4.3 Le cỏt de fonction (c) pour la correspondance des signatures
26 4.4 Sous graphe de longueur
ι 27 4.5 Construction de matrice de cỏts
28
5 Représentation de l’information contenue dans une image
30 5.1 Constitution de l'ensemble des nœuds
30 5.2 Extraction des composantes connexes
31 5.3 Étiquetage des composantes connexes
31 5.3.1 Extraction de caractéristiques
32 5.3.2 Statistique de la forme
33 5.3.3 Classification non supervisée des caractéristiques morphologiques
35
6 Application
36 6.1 Protocole
36 6.1.1 Test en classification
36 6.1.2 Symbol Spotting
37 6.2 Bases de tests
42 6.2.1 Pour la classification
42 6.2.2 Pour le Symbol Spotting
43 6.3 Résultat
44 6.3.1 Test en classification
44 6.3.2 Symbol Spotting
45 6.4 Complexité algorithmique
51 Symbol spotting
51 Conclusions
53 Références
54
NGUYEN Quoc Toan – Promotion 13 Page 2
Trang 3Je voudrais tout d'abord remercier professeur Jean-Marc Ogier, Jean-Christophe Burie, mes responsables de stage, de m'avoir accueillie au sein de l’équipe du projet ALPAGE du Laboratoire L3i (Laboratoire Informatique, Image et Interaction) de l’Université de la Rochelle
et de m’a donné l’environnement de travail très chaleureuse pendant toute la durée du stage
Je remercie également Romain Raveaux pour ses conseils, son explication très clairement des nouveaux concepts, ses aides, ses commentaires et ses discussions qui ont fait progresser mon travail Je lui suis reconnaissant d’avoir toujours été disponible et agréable
Je voudrais remercier tout le personnel du laboratoire L3I et particulièrement l’équipe du projet ALPAGE pour leur accueil chaleureux
Je voudrais aussi adresser mes sincères remerciements à tous les professeurs de l’IFI pour leurs enseignements et les cours intéressants qu’ils m’ont donné pendant mes études au niveau master
Finalement, je voudrais remercier ma famille, mes parents et mes amis qui sont toujours près de moi et m’ont apporté le courage dans les moments difficiles de ma scolarité
à l’IFI
Trang 4Reconnaissance des symboles est un domaine de recherche visant le développement d'algorithmes et de techniques et il y a une nombreuse méthode de reconnaissance de graphiques ont été développées pour la reconnaissance des symboles graphiques Le problème « Symbole Spotting » est comme la localisation d'un ensemble de régions d'intérêt d'un document image, qui sont susceptibles de contenir une instance d'un certain symbole demandé sans le reconnaître explicitement
Nous présentons donc dans ce mémoire un processus d’extraction et d’organisation de l’information contenue dans une image afin de la structurer sous forme d’un graphe pour tenir compte de la spécificité que contiennent les documents techniques Chaque nœud du graphe représente une composante connexe dans l’image de document, ces nœuds sont étiquetés automatiquement par l’algorithme de clustering « k-Mean » Ce dernier utilise des descripteurs de formes extraits des composantes connexes La relation entre deux composantes connexes est matérialisée dans un graphe de « voisinage » par un arc étiqueté automatiquement en utilisant les relations d'Allen bidimensionnelles ou la distance entre composantes connexes
Nous proposons une méthode de mise en correspondance de graphes fondée sur
l’assignement de graphes de longueur l Nous proposons aussi une définition de graphe de longueur l Le problème de reconnaissance des symboles devient donc de trouver
sous-les sous-graphes sous-les plus similaires au graphe symbole donné en requête Nous extrayons le
graphe de plan en des sous-graphes de longueur l Le résultat de notre application est
ensemble de sous-graphes isomorphisme que la distance entre les sous-graphes et le graphe de symbole est inférieur une valeur seuil
Afin d’évaluer la classification de graphes, nous utilisons un classifieur de type K-NN pour évaluer la performance de notre méthode de mise en correspondance de graphes fondée sur l’assignement de sous-graphes
NGUYEN Quoc Toan – Promotion 13 Page 4
Trang 5Symbol Recognition is a research area for the development of algorithms and techniques, a lot of method of graphics recognition are developed for the recognition of graphic symbols The problem "Symbol Spotting" aims to find the locations of a set of regions interest in a document image, which may contain an instance of a symbol without explicitly recognize
We therefore present in this paper a process for extracting and organizing information in an image to the structure of a graph for the specificity technical documents Each graph node is
a connected component These nodes are labeled automatically by the clustering algorithm
"k-means” We extract the connected components using shape descriptors We use the family of graph "Neighborhood based on k nearest neighbors" to build edges and they are automatically labeled by the Bi-dimensional Allen Algebra or the distance between regions
We propose a method for mapping graph-based assignment of subgraphs of length l We
also propose a definition of subgraph of length l The symbols recognition problem is like to
find subgraphs which are the nearest similar to the graph of symbol We extract the graph of
technical documents in many subgraphs of length l The recognition task consists of finding
all subgraphs isomorphism which the distance between sub-graphs and symbol graphs is less than a certain threshold
To test the classification of graphs based on graph prototypes, we use a K-NN classifier in
order to evaluate our method for mapping graph-based assignment of subgraphs of length l
by the rate of recognition
Trang 6Liste des figures
Figure 1: La distance entre signatures de graphe GP, (a) les graphes non orienté, sans
étiquetage, (b) les graphes orientés, sans étiquetage, (c) les graphes étiquetés, orientés 16
Figure 2: La distance entre deux graphes selon ED et GP, (a) les graphes non orienté, sans étiquetage, (b) les graphes orientés, sans étiquetage, (c) les graphes étiquetés, orientés 17
Figure 3 : Graphiques attribués relationnelle, chaque nœud est comme une ligne segmentée, un arcs établis la relation d’adjection entre deux segmentations (source[14]) 19
Figure 4: Chaque nœud est une région fermée L’arc lie deux régions adjacentes (source[32]) 19
Figure 5: Graphe transaction, source [33] 20
Figure 6: vectorisation de quadrilatères, source [45] 20
Figure 7: La zone influence de quadrilatère et le graphe correspondant, source [45] 21
Figure 8: exemple de construction d’un graphe basé sur les relations topologique, source [35] 21
Figure 9: La décomposition en sous-graphes p1, p2, p3, p4 est des sous-graphes d’extractions de longueur 1 qui associés à chaque nœuds du graphe G 25
Figure 10: à partir deux graphes G1, G2 (a), on extrait des sous-graphes de longueur 1 (a), (b) Le graphe bipartite complet Gem obtenu par P1 et P2 26
Figure 11: (a) un graph G(V, E), à partir du nœud 1, on extrait les sous graphes avec (b)longueur=1, (c)longueur=2 28
Figure 12: un exemple de la correspondance de graphe, (a), (b) les sous-graphes d’extraction de longueur 1, (c) la correspondance de sous-graphe selon distance d’édition (ED) 30
Figure 13: Analyse des composantes connexes 31
Figure 14: Mesure de l'élongation, comme le ratio de la longueur-largeur 33
Figure 15:Graphe des k plus proches voisins (a) les composantes connexes, (b) k=2, (c) k=134 Figure 16: Jeu restreint de relations d'Allen 35
Figure 17: (a) deux composantes connesxes, (b) détermination du système de coordonnées lié aux 35
Figure 18: L’image à gauche : représentation de la distance entre deux composantes connexes, d-max = 39 Le graphe droit obtenu par n = 10 (n est le nombre d’intervalles) 36
Figure 19: La vérité terrain pour un plan 41
Figure 20: Les exemples de lettres A, M, K et Z: l'origine et la déformation des niveaux faible, moyen et élevé (de gauche à droite) 42
Figure 21 : Illustration du composant d’une molécule 43
Figure 22:la comparaison le temps de calcul sur PMDED et PMDGP 45
Figure 23: La courbe de précision, rappel selon la méthode Hu_Dist 47
Figure 24: La courbe de précision, rappel selon la méthode Hu_ Allen 48
Figure 25: La courbe de précision, rappel selon la méthode Shape_Allen 49
Figure 26: La courbe de précision, rappel selon la méthode Shape_Dist 50
Figure 27: Les meilleurs courbes de chaque méthode d'étiquetage 51
NGUYEN Quoc Toan – Promotion 13 Page 6
Trang 7Liste des tableaux
Table 1: Matrice des cỏts de G1, G2 13
Table 2: étape 1 : réduction des lignes 13
Table 3: étape 2 : réductions des colonnes 13
Table 4: étape 3 : déterminer le nombre minimal de lignes sur les lignes, colonnes pour couvrir tous les zéros 14
Table 5: étape 4 : Trouver la cellule de valeur minimum non-couverte par une ligne 14
Table 6: étape 4 : recaler la valeur pour les cellules basées sur cette valeur minimum 14
Table 7: étape 4 : déterminer le nombre minimal de lignes 14
Table 8: étape 5 : déterminer la solution optimale 15
Table 9: le cỏt minimal de G1, G2 15
Table 10 : La matrice de cỏts entre deux graphes G1, G2 29
Table 11: Résumé des données de graphes des caractéristiques 43
Table 12: Les taux de reconnaissance pour deux méthode PMDED et PMDGP 45
Table 13: La valeur moyenne de précision, rappel selon la méthode Hu_Dist 46
Table 14 : La valeur moyenne de précision, rappel selon la méthode Hu_Allen 47
Table 15: La valeur moyenne de précision, rappel selon la méthode Shape_Allen 48
Table 16: La valeur moyenne de précision, rappel selon la méthode Shape_Dist 49
Table 17: La comparaison des méthodes d'étiquetage des noeuds, des arcs 50
Table 18: Comparaison nos résultats avec les résultats de Marçal [51] 51
Trang 81 Introduction
1.1 Problématique
Reconnaissance de symbole est une des applications importantes dans le domaine de la reconnaissance de formes qui est appliqué dans plusieurs domaines comme l'architecture, la cartographie, l'électronique, la mécanique etc En raison des types de documents graphiques sont trop large, chacune d’entre eux possèdent un ensemble caractéristique de symboles propres, il n'est pas facile de trouver une définition précise d'un symbole Dans une manière très générale, un symbole peut être défini comme une entité graphique avec un sens particulier dans le contexte d'un domaine d'application spécifique Il y a un grand nombre d'approches ont été proposées pour la reconnaissance des symboles Chacune d’entres elles possèdent des propriétés qui lui sont propres et ne peut s’appliquer qu’à certains contextes, réunissant certaines conditions
Dans notre cas, nous utilisons la méthode basées sur le graphe pour représenter les images
de documents techniques et de symbole demandé en des graphes Chaque nœud du graphe représente une composante connexe dans l’image de document La relation entre deux composantes connexes est matérialisée dans un graphe de « voisinage » Le problème
de la reconnaissance de symbole est tourné en une question d’isomorphisme de sous graphe, afin de trouver les sous-graphes qui correspondent à des symboles graphiques
1.2 Objectif et contribution du stage
L'objectif de stage est dans un premier temps d'étudier le problème de la correspondance de graphes « Graph Matching », les mesures de calculer la distance entre deux graphes Et puis, nous proposons une méthode de mise en correspondance de graphes fondée sur
l’assignement de sous-graphes de longueur l Ensuite nous construisons un protocole de test
en classifications basé sur les prototypes de graphes en utilisant la méthode K plus proche voisins (K-NN) basé sur notre méthode de mise en correspondance de graphes Enfin, nous créons une application de type reconnaissance de symbole basé sur le graphe pour trouver toutes les localisations d’un symbole dans un plan donné
1.3 Environnement de stage
Ce stage s’intègre dans le contexte d’un projet appelé : « ALPAGE »1 de Laboratoire L3I, Université de La Rochelle, France Ce projet traite des plans cadastraux couleurs de l’espace urbain parisien suivant différentes époques, allant du 14 ème au 19 ème siècle en intégrant réellement la dimension spatiale Les travaux de ce projet ont concernant les domaines telles que la vision par ordinateur, la géométrie, l’archéologie et reconnaissance des formes La contribution du stage est une nouvelle approche dans le domaine de reconnaissance de forme basé sur le graphe
1.4 Plan du document
Le reste du document est organisé de la manière suivante
La deuxième partie, nous présentons des conceptions fondamentales Dans la troisième partie, nous présentons un état de l’art des méthodes à base de graphe pour la
reconnaissance des symboles graphiques Alors, la quatrième partie présente une nouvelle méthode de mise en correspondance de graphes fondée sur l’assignement de sous-graphe
de longueur l en utilisant la matrice de cỏts La cinquième partie fournit la façon de
construire un graphe basé sur l’information contenue dans une image, dans ce chapitre nous proposons des méthodes d’étiquetage des nœuds et des arcs pour avoir des types de
graphe différent Dans la sixième partie, nous présentons la contribution de notre stage à
1http://alpageproject.free.fr
NGUYEN Quoc Toan – Promotion 13 Page 8
Trang 9construire deux protocoles : Test en classification et Symbol Spotting, nous présentons aussi
la méthode d’évaluation que nous avons utilisée pour notre système, ainsi que les résultats obtenus La dernière partie présente la conclusion, ainsi que les perspectives
Trang 10µ : V → L V : la fonction d’étiquetage de nœud
ξ : E → L E : la fonction d’étiquetage d’arcs
2.2 Correspondance de Graphe
Les graphes constituent un mode de représentation fréquemment utilisé dans le domaine des sciences et technologies de l'information qui permettent à la description de données structurées Un graphe G est un ensemble V de nœuds et un ensemble E d'arcs, G = (V, E) Les outils de classification supervisée sont de plus en plus nécessaires dans de nombreuses applications telles que la reconnaissance des formes [1], laCBR (Case Based Reasoning) [2], l’analyse des composantes chimiques [3], …Pour lancer le sujet de la mise
en correspondance de graphe « graph matching », nous rappelons qu'il existe une étude approfondie sur les techniques de la correspondance de graphes apparues au cours de ces
30 dernières années dans [4]
Dans le cas du problème de reconnaissance des formes, étant donné deux graphes : le graphe de modèle GM et le graphe de données GD, la procédure de comparaison implique
de vérifier si ils sont similaires ou non De manière générale, nous pouvons représenter le problème de la correspondance de graphe comme suit : Etant donné deux graphes GM = (VM, EM) et GD = (VD, ED), avec | VM | = | VD |, le problème est de trouver une fonction de
correspondance f: VD → VM, tel que (u, v) ∈ ED Si et seulement si (f (u), f (v)) ∈ EM
Lorsqu’une telle fonction de correspondance f existe, nous somme en présente d’un
isomorphisme, et GD est dit d'être isomorphe à GM et ce type s’appelle « correspondance exacte » D'autre part, le terme « inexact » appliquée aux problèmes de la correspondance
de graphe, indique qu'il n'est pas possible de trouver un isomorphisme entre les deux graphiques C'est le cas lorsque le nombre de sommets ou le nombre d’arcssont différents à
la fois dans le graphe modèle et graphe de données Dans ce cas là, on peut trouver la meilleure correspondance entre eux en trouvant une correspondance non-bijective entre le graphe de données et le graphe de modèle
Le problème de la correspondance de graphe a été prouvé être le NP-complet [5] Lorsque
le nombre de nœuds dans les deux graphes sont différents, le problème de la correspondance de graphe devient plus difficile que dans le cas de la correspondance de graphe exact De même, la complexité du problème de sous-graphe inexact est équivalente
à la complexité du problème de la plus grand sous graphe commun, qui est aussi connu pour être NP-complet Plusieurs techniques ont été proposées pour résoudre ce problème, par exemple, la relaxation probabiliste, l'algorithme EM [6], [7], les réseaux de neurones [8], [9], des arbres de décision [10] et un algorithme génétique [11], [12]
Toutes les méthodes énoncées antérieurement ont comme point commun l'utilisation d'un algorithme d'optimisation pour adapter un graphe dans un autre et une fonction « qualité » pour mesure la bonne similarité entre deux graphes Cette fonction est conçue en tenant
compte du cỏt pour faire la correspondance V D → V M Les auteurs sont convaincus qu‘une correspondance convenable doit conduire à une distance entre graphe précise Selon cette hypothèse, le problème est tourné en une question de distance entre graphes De plus, ce point de vue sur le problème de la correspondance de graphe permettra de lancer un banc
de tests sur notre approche et de fournir une étude comparative
NGUYEN Quoc Toan – Promotion 13 Page 10
Trang 112.3 Graphe de distance
Dans cette section, nous présentons une étude de différentes mesures permettant de comparer des graphes Cette étude, prenant en considération les contraintes de cỏt de calcul, permet de justifier notre orientation vers une mesure basée sur les signatures de graphe
Une mesure de dissimilarité (ou indice de dissimilarité) d est une fonction à valeur numérique permettant de mesurer le lien entre des individus d'un même ensemble X Le lien est
d'autant plus fort que la mesure de dissimilarité est faible
( x y ≥
Unicité :
y x y
x
Symétrie :
) , ( ) ,
( x y d y x
Les mesures de dissimilarité peuvent être transformées en mesure de similarité en inversant
la relation d'ordre (par exemple s(x, y) = k − d(x, y) ó k est une constante) Une métrique est une mesure de dissimilarité qui respecte l'inégalité triangulaire (4)
) , ( ) , ( ) ,
( x y d x z d z y
Les pseudo-métriques sont un autre type de fonctions permettant de comparer des objets
Elles respectent les propriétés de non-négativité, de symétrie et l'inégalité triangulaire mais
ne respectent pas nécessairement la propriété d'unicité
Des pseudo-métriques peuvent être obtenues par des transformations qui, appliquées à des mesures de dissimilarité, respectent la relation d'ordre
Ainsi, par exemple, si d(x, y) est une mesure de dissimilarité, alors D(x, y) définie par
1 ) , ( 1
) , ( ) ,
+
=
y x d
y x d y
x
L'inégalité triangulaire est une propriété souvent exploitée pour optimiser la recherche de similarité dans les espaces métriques [13] [14], avec des applications directes en classification par k-NN [15] ou en recherche d'information
Lorsque les objets à comparer sont des graphes, la propriété d'unicité transforme l'égalité en
isomorphisme et peut donc s'énoncer de la façon suivante : une fonction f de deux graphes G1 et G2 respecte la propriété d'unicité si f (G 1 , G 2 ) = 0 est équitant à G 1 est isomorphe à G 2
La recherche d'isomorphisme entre graphes est réputée être un problème NP-complet Cependant, la définition d'une mesure de dissimilarité dont la complexité la rend computationnelement manipulable permettrait de rendre plus simple la recherche d'isomorphisme En d'autres termes, la propriété d'unicité rend équivalente la complexité de
la recherche d'isomorphisme et celle du calcul de dissimilarité
Trang 122.3.1 Distance d'édition
La distance d'édition ed est une mesure de dissimilarité pour comparer des graphes qui
représente la séquence d'opérations élémentaires de cỏt minimum pour transformer un graphe en un autre graphique par les opérations élémentaires de l'insertion, de la suppression et de la substitution de nœuds ou d'arcs Sous certaines conditions concernant
le cỏt des opérations élémentaires décrites dans [16], la distance d'édition entre graphes est une métrique
En pratique, le cỏt des opérations élémentaires est dépendant de l'application Leur détermination est en général effectuée soit par expertise humaine ou, plus rigoureusement, par apprentissage artificiel comme cela est proposé dans [17]
En revanche, le calcul de la distance d'édition est réalisé par programmation dynamique et à
de ce fait, une complexité exponentielle dans le pire des cas, ceci interdit son usage pour la recherche de plus proches voisins dans de grandes bases de données
Une autre possibilité permettant d'évaluer la proximité entre objets complexes (ensembles, séquences, graphes, .) pour comparer des objets ou des graphes
Le coefficient de correspondance mc est la mesure la plus simple répondant à cette
définition et permettant de comparer des objets complexes o1et o2
2 1
2 1
o o
o o
mc
∨
∧
C'est en se basant sur ce concept que des mesures de dissimilarité exploitant le plus grand
sous-graphe commun (mcs) ont été proposées :
) , max(
, ( 1
) ,
(
2 1
2 1 2
1
G G
G G mcs G
G
2 1 2
1
2 1 2
1
, (
, ( 1
) ,
(
G G mcs G
G
G G mcs G
G
d
− +
−
Dans les formules précédentes, |G| représente la taille du graphe G qui peut s'agir d'une combinaison linéaire du nombre de nœuds et du nombre d'arcs du graphe G Et mcs(G1,G2) est le plus grand sous-graphe commun aux graphes G 1 et G 2, ce qui signifie que ce sous-graphe ne peut être étendu à un autre sous-graphe commun par quelque addition de nœud
ou d'arc que se soit
La distance d'édition est liée au plus grand sous-graphe commun par la relation donnée par l'équation
2 1 2
1 2
Tant que le cỏt des fonctions associées à la distance d’édition qui respecté les conditions
présentées dans [16] Cela signifie que la façon de calculer la taille de mcs de deux graphes
peuvent être utilisés pour calculer la distance d’édition le vice-versa Ainsi, les deux calculs ont la même complexité algorithmique En raison de la difficulté à appliquer ces mesures car leur complexité, plusieurs approches reposant sur des approximations ont été proposées dans [19] Trois autres groupes de techniques peuvent être employées pour évaluer la similitude graphique, la théorie des graphes spectraux [19], les méthodes probabilistes [20]
ou des méthodes d'optimisation combinatoire [21], [22]
NGUYEN Quoc Toan – Promotion 13 Page 12
Trang 13Parmi elles, [22] a proposé une méthode d'optimisation combinatoire offrant une distance basée sur la mise en correspondance des arcs Cette méthode approxime le maintien topologique, induit par l'isomorphisme, par la recherche d'une mise en correspondance entre les ensembles d'arcs de chacun des deux graphes en minimisant l’appariement de ces ensembles.
Kriegel et Schưnauer [22] montrent que, pour les graphes étiquetés, la distance de mise en correspondance d'arcs respecte les propriétés de non-négativité (1), de symétrie (3) et l'inégalité triangulaire (4) Récemment, Riesen et al proposait dans [24], une approximation pour calculer la distance d’édition de graphes Dans ce travail, la correspondance de deux graphes s’appuie sur l’appariement d’un graphe bipartite
La matrice des cỏts pour les correspondants des étiquettes des nœuds différents qui sert d'entrée pour l'algorithme hongrois [23] qui traite alors la matrice des cỏts d'association des
nœuds et fournit la distance d'association des nœuds de G 1 et G 2 comme étant le cỏt de la
meilleure association avec une complexité en O(n 3 ) dans le pire des cas, avec n le plus
grand nombre d'arcs
Voici les étapes de la méthode hongroise qui traite la matrice des cỏts pour trouver le cỏt
de la meilleure association des nœuds, nous proposons que deux graphes G 1 , G 2 avec les
distances entre des nœuds de G 1 et G 2 sont comme dans le tableau 1
Table 1: Matrice des cỏts de G 1, G 2
Étape 1: Réduction des lignes : créer une nouvelle matrice des cỏts en choisissant le cỏt
minimal sur chaque ligne et en le soustrayant de chaque cỏt sur la ligne
Table 2: étape 1 : réduction des lignes
Étape 2 : Réduction des colonnes : créer une nouvelle matrice des cỏts en choisissant le
cỏt minimal dans chaque colonne et en le soustrayant de chaque cỏt dans la colonne
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
Trang 14Étape 3: Déterminer le nombre minimal de lignes nécessaires sur les lignes et les colonnes
pour couvrir tous les zéros Si ce nombre est égal au nombre de lignes (ou colonnes), la matrice est réduite; aller à l’étape 5 Si ce nombre est inférieur au nombre de lignes (ou colonnes), aller à l’étape 4
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
- Trouver la cellule de valeur minimum non-couverte par une ligne
- Soustraire cette valeur de toutes les cellules non-couvertes
- Ajouter cette valeur aux cellules situées à l’intersection de deux lignes
- Retourner à l’étape 3
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
Table 5: étape 4 : Trouver la cellule de valeur minimum non-couverte par une ligne
Valeur minimum est 1
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
Table 6: étape 4 : recaler la valeur pour les cellules basées sur cette valeur minimum
Soustraire toutes les cellules non-couvertes par la valeur 1, Ajouter les cellules situées à l’intersection de deux lignes par valeur 1
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
Table 7: étape 4 : déterminer le nombre minimal de lignes
Maintenant, le nombre minimal de lignes est de 4, Donc, on passe à l’étape 5
NGUYEN Quoc Toan – Promotion 13 Page
14
Trang 15Étape 5 : Déterminer la solution optimale
G1Nœud 1 Nœud 2 Nœud 3 Nœud 4G2
Table 8: étape 5 : déterminer la solution optimale
Nœud 4, Nœud 1 ne pourrait pas être choisi car l’affectation de «O» ne serait pas de cỏt minimal
Résultat:
Nœud 1 Nœud 2 10Nœud 2 Nœud 3 10Nœud 3 Nœud 1 15Nœud 4 Nœud 4 13
Table 9: le cỏt minimal de G 1, G 2
Donc le cỏt de la meilleure association des nœuds de G 1 et G 2 est 48
2.3.2 Distance entre signatures de graphe «graph probing »
Une technique plus rapide pour évaluer la similarité des graphes consiste à extraire une description des graphes sous forme de vecteur de caractéristiques Cette représentation, appelée signature de graphe, proposée par [25], qui peut traiter des graphes contenant des centaines de milliers de nœuds et d'arcs en un temps linéaire Cette représentation permet
de décrire des graphes étiquetés et orientés
Si G est un graphe étiqueté et orienté dont les étiquettes d'arcs appartiennent à l'ensemble
fini {l 1 , l 2 , , l a} de taille a, alors on appelle structure d'arc d'un nœud donné le 2a-uplet
d'entiers non négatifs {x 1 , , x a , y 1 , , y a } tel que le nœud possède exactement xi arcs
entrants étiquetés l i , et y j arcs sortants étiquetés lj Dans ce contexte, deux types de
signatures sont définies :
- Probe1(G) : un vecteur dont qui rassemble les nombres de sommets partageant
la même structure d’arcs, pour toutes les structures d'arcs rencontrées dans le graphe
- Probe2(G) : un vecteur dont chaque composante est associé à une étiquette d'arc
qui représentant le nombre d'arcs ayant à une étiquette li
Trang 16Figure 1: La distance entre signatures de graphe GP, (a) les graphes non orienté, sans étiquetage, (b) les
graphes orientés, sans étiquetage, (c) les graphes étiquetés, orientés
À partir de ces signatures et en se basant sur la norme L1, la distance entre signatures de graphe « GP » (entre deux graphes G1, G2) est définie par :
GP (G 1 ,G 2 ) = L1(Probe1(G 1 ), Probe1(G 2 )) +L1(Probe2(G 1 ), Probe2(G 2 ))
La distance entre signatures de graphe ne respecte que la non-négativité, la symétrie, et
l'inégalité triangulaire, mais pas l'unicité En d'autres mots, GP est une pseudo-métrique et
deux graphes non isomorphes peuvent avoir les mêmes signatures
D'autre part, Lopresti et Wilfong [25] présentent une relation intéressante liant la distance d'édition et la distance entre signatures de graphe À un facteur 4 près, la distance entre signatures de graphe est un minorant de la distance d'édition quels que soient les graphes à comparer
NGUYEN Quoc Toan – Promotion 13 Page 16
Trang 17Figure 2: La distance entre deux graphes selon ED et GP, (a) les graphes non orienté, sans étiquetage, (b)
les graphes orientés, sans étiquetage, (c) les graphes étiquetés, orientés
Dans ce contexte, la topologie du graphe peut être en partie ignorée par compter le nombre d'occurrences d'un ensemble de sous graphes (du nom d'empreintes digitales ou signatures dans des contextes différents) de chaque graphe et de décrire les objets à comparer en tant que vecteurs
A partir de l'idée originale dans [22] et [24], le cỏt minimum correspondant entre deux ensembles d’éléments, les auteurs ont étendu ce modèle à des sous graphes, des objets plus complexes et plus discriminants
2.4 Symbol spotting
En générale, le problème « Symbole Spotting » peut être défini comme la localisation d'un ensemble de régions d'intérêt d'un document image, qui sont susceptibles de contenir une instance d'un certain symbole demandé sans le reconnaỵtre explicitement On parle alors de localisation de symboles en contexte, ce terme s’oppose directement à la reconnaissance de symboles pré-segmentés La reconnaissance de symbole est plus que jamais un problème qui est discuté dans la communauté scientifique [26] Il y a un grand nombre d'approches ont été proposées pour la reconnaissance des symboles Parmi ces méthodes, on distinguera celles fondées sur des descripteurs de formes [27-29] Ils sont plutơt calculés sur le contour
de l’objet ou sur l'ensemble de l'objet Ils sont robustes contre le bruit et les occlusions, mais
le document doit être clairement segmenté, ce qui est un problème, car les symboles sont souvent intégrés à d'autres couches graphiques
D'autres approches se basent sur la structure avec l’utilisation de graphe [30-35] Parmi les structures de données, les graphes sont généralement adaptés à la représentation des symboles autorisant la restitution de la topologie des symboles Fréquemment, un symbole est décomposé en un ensemble de segments (ou de composantes connexes) et cet ensemble d’éléments et leur relations spatiales entre ces composants sont représentés par
un graphe relationnel [voir section 5] Le problème « Symbole Spotting » est maintenant
Trang 18tourné en une question de mise en correspondance de graphes « Graph Matching » et dépend dela manière de la construction de graphe.
Dans notre cas, nous proposons une méthode de type structurel pour la représentation des symboles, c’est-à-dire, chaque nœud représente une composante connexe et il a été étiqueté automatiquement par un algorithme de « clustering » appliqué sur un jeu de descripteur de forme et les arcs représentent les relations spatiales entre des composantes connexes (nous utilisons deux types d’étiquetage des arcs : les relations d'Allen bidimensionnelles et les distances entre deux régions)
NGUYEN Quoc Toan – Promotion 13 Page 18
Trang 193 Etat de l'art
3.1 Les méthodes de construction de graphe
De nombreuses méthodes de reconnaissance de graphiques ont été développées pour la reconnaissance des symboles graphiques, Ces approches sont catégorisées en plusieurs familles : 2D HMM [36], Pixels Caractéristiques [37-38], à base de graphe [30-35], Signature structurelle [39-40], Représentation hiérarchies de symbole [41-42] Dans cette partie, nous abordons les méthodes à base de graphe pour la reconnaissance des symboles graphiques.D’abord, en 1996, B T Messmer and H Bunke [31] proposent de representerles symboles
et les dessins par des graphiques attribués relationnelle Les nœuds présentent les lignes segmentées qui sont étiquetées par ses longueurs et les arcs établis entre les nœuds signalent une relation d'adjacence entre les segmentations Un arc est étiqueté par l’angle entre deux segments
Figure 3 : Graphiques attribués relationnelle, chaque nœud est comme une ligne segmentée, un arcs
établis la relation d’adjection entre deux segmentations (source[14])
Josep Liadós et al présentent dans [32] une méthode en utilisant des graphes d'adjacence
de régions (RAG) Dans ce cas, les auteurs utilisent des primitives de haut niveau extraits à
la suite d’un processus de segmentation Une région fermée est identifiée à partir d’un prototype de symbole qui est utilisé comme un nœud du graphe L’arc lie deux régions adjacentes Le nœud est étiqueté en utilisant un descripteur de forme appliqué à la frontière
de la région concernée (chain code) L’arc est étiqueté par une chaîne commune entre deux régions adjacentes Une information sur la longueur et l’orientation de la région est aussi intégrée dans le graphe
Figure 4: Chaque nœud est une région fermée L’arc lie deux régions adjacentes (source[32])
Trang 20Dans l’article [33], les auteurs ont proposé un autre type pour créer des graphes, chaque nœud est comme une composante connexe Sur chaque composante connexe ils extraient les caractéristiques de la rotation et de la translation invariante fonctionnalités basées sur des moments de Zernike [43] Les nœuds étiquettent automatiquement par l’algorithme de clustering « k-medoids clustering » [44] basé des données de ces caractéristiques Pour construire des arcs, ils utilisent la famille de graphe « Voisinage basé sur un seuil de distance », c’est-à-dire chaque couple de points (centres de boîte englobant de composante connexe) se situant à une distance inférieure à un seuil t est liée par un arc dans le graphe associé.
Figure 5: Graphe transaction, source [33]
Selon Rashid Jalal Qureshi et al [35] proposent une approche qui lie une méthode structurelle et une méthode basée sur la capture des relations topologiques entre les graphiques primitives Après l’étape prétraitement on obtient une vectorisation en quadrilatères qui représentent des lignes dans un dessin
Figure 6: vectorisation de quadrilatères, source [45]
Chaque nœud du graphe correspond à un quadrilatère Chaque quadrilatère a des
caractéristiques comme la longueur (l) de l'axe médian, les angles des deux vecteurs (v1, v2), la largeur de chaque côté (w1, w2) et une zone d'influence Tous les arcs sont
NGUYEN Quoc Toan – Promotion 13 Page 20
Trang 21également associés à une étiquette en représentant le type de la relation topologique jonction, S-jonction, jonction en T, X-intersection ou P-parallélisme) qui existe entre les deux quadrilatères voisins.
(L-Figure 7: La zone influence de quadrilatère et le graphe correspondant, source [45]
Et voici un exemple de construction d’un graphe à base cette approche
Figure 8: exemple de construction d’un graphe basé sur les relations topologique, source [35]
Trang 223.2 Les methodes de mise en correspondances des graphes
La fonction de cỏt pour des opérations d’éditionestdéfinie comme suit :
- Le cỏt de substitution d’un angle α 1 à un angle α 2 est (α 1 – α 2)2
- Le cỏt d’insertion d’un arc avec un angle α 1 entre deux lignes avec la distance d
Cette approche trouve des sous-graphes isomorphes tolérant à l’erreur entre le graphe model et le graphe d’entrée L'isomorphisme est calculé en fonction du cỏt minimum de séquence d’édition pour transformer un RAG dans l'autre en définissant trois fonctions de cỏt :
d’entrée), noté que rM → rI Le cỏt de cette opération est calculée en fonction de la chaỵne
de modifier la distance entre deux chaines
Le cỏt de changement de structure (Shift cost) : pour mesurer la préservation de la
structure d’inter région
Le cỏt d’échelle (scaling) : pour préserver le facteur d'échelle lorsque d’une nouvelle
région est intégrée dans la mise en correspondance
L’avantage de cette approche est capable d’effectuer la correspondance entre les graphes dégradés en un temps de calcul proche du polynomial malgré que la complexité théorique reste exponentielle On peut trouver la solution en quelques secondes pour les modèles graphiques à moins de 10 régions et la contribution des graphes avec quelques centaines de régions
L’approche de Ramel
L'idée principale de cette méthode est de détecter les parties du graphique qui peuvent correspondre à des symboles sans connaissance sur le type du document De tels nœuds et les arcs constituent le symbole de germe «symbol seeds » Ensuite, les germes seront analysés et regroupées pour générer des sous-graphes qui correspondent potentiellement à des symboles dans le document image
Pour comparer deux graphes étiquetés avec des attributs numériques sur les nœuds et des arcs, ils proposent de calculer le score de similarité entre deux graphes (Mp) :
NGUYEN Quoc Toan – Promotion 13 Page 22
Trang 23∆
− +
l j j k
i i j
m i
de symbole; Les symboles sont souvent composées de segments parallèles; Un symbole est rarement liée à de plus de 3 autres segments; La plus courte des boucles sont souvent correspondant à des symboles) [page 4, 33] pour construire le système de la reconnaissance de symbole graphique Il fonctionne bien seulement avec des documents graphiques : circuits électroniques, la logique des diagrammes et des cartes d'architecture Les documents contenant des symboles qui ne respectent pas ces hypothèses ne peuvent pas être analysées à l'aide du système proposé
L’approche de Barbu
Cette approche utilise l'algorithme FSG [50] pour rechercher des sous-graphes fréquents Ces sous-graphes fréquents sont ensuite exploités pour construire une représentation des images de document à base de sacs de symboles
Il définie une distance permettant de comparer ces représentations Considérons deux images de documents A et B dont les représentations sont A = (a1, a2, , at) et B = (b1, b2, , bt) ó t est le nombre total de symboles du lexique constitué par l'étape de recherche des sous-graphes fréquents La mesure d (A, B) définie par
b a B
A d
1
2 1
Ses travaux proposent une nouvelle approche pour la classification et l'indexation d'images
de document Cette approche utilise des techniques de fouille de données pour l'extraction
de connaissances
Les résultats sont assez bon et montrent également montré l'approche permettait de réaliser une indexation des images à partir des symboles présents, alors même que ces symboles sont connectés à d'autres éléments
Notre approche
Notre approche propose un autre type pour construire des graphes : « Voisinage basé sur k plus proches voisins» Chaque nœud est comme une composante connexe Sur chaque composante connexe nous extrayons des caractéristiques basées sur les moments de Hu et Shape Statistiques Les nœuds étiquettent automatiquement par l’algorithme de clustering
« k-Mean » basé des données de ces caractéristiques Les arcs sont étiquetés automatiquement par les relations d'Allen bidimensionnelles ou la distance entre des
Trang 24régions Le problème reconnaissance de symbole est tourné en une question d’isomorphisme de sous graphe, afin de trouver les sous-graphes qui correspondent à des
symboles graphiques Nous extrayons le graphe de plan en des sous-graphes de longueur l
Le résultat de notre application est ensemble de sous-graphes isomorphe en fonction de la distance entre les sous-graphes et le graphe de symbole requête (si la distance est inférieur une valeur seuil) Nous proposons une méthode de mise en correspondance de graphes
fondée sur l’assignement de sous-graphes de longueur l pour calculer la distance entre deux
graphes « voir la section suivante »
L’avantage de notre : L'utilisation des moments de Hu et Shapes statistiques assurent que deux composantes connexes (nœuds) situé dans le plan et le symbole sont même morphologies ce qui doit être même étiquetage (à corriger cette phrase grammatiquement)
De plus, l’étiquetage des arcs basé sur les relations d'Allen bi-dimensionnelles adaptées pour maintenir une invariance de la représentation aux transformations d'image
3.3 Récaputulation des méthodes
Approche étiquetage
Application specifique Complexité
segmentations
- l’angle entre deux
segmentations
- cỏt d’édition : substitution, insertion, fusion le dessin Sous-linéaire
- chaỵne commun entre deux régions adjacentes
trois fonctions
de cỏt : Substitution, Shift cost, le cỏt d’échelle
dessinés à la main Exponentielle
- sans étiquetage
score de similarité entre deux graphes
circuits électroniques,
la logique des diagrammes
et des cartes d'architecture
Exponentielle
Barbu - quadrilatères
- relation d'adjacence
- relation topologique (L-jonction, S-jonction, jonction
en T, intersection ou P-parallélisme)
X-mesure de similarité basée sur le cosinus des deux représentations
Electronique, schémas d'architecture, cartes
- les relations d'Allen bidimensionnelles
ou la distance entre des régions
méthode de mise en correspondance
de graphes fondée sur l’assignement
de graphes basée sur la
sous-« distance
Document techniques, schémas d'architecture
n1.n2
- n1 est le nombre de composantes connexes
- n2 est le nombre de nœuds des sous-graphes
NGUYEN Quoc Toan – Promotion 13 Page 24
Trang 25d’édition » PMDED et basée sur le « Graphe Probing » PMDGP
En conclusion, dans cette partie, nous avons présenté des exemples de familles de graphes qui sont dépendante du contexte dans lequel elles sont utilisées Donc chaque représentation est dédiée à une application particulière, il n'est pas possible de créer une application dans le cas général De plus, la façon d’établir relations spatiales entre ces composants est différente, dans les cas de [31][35], les arcs établis entre les nœuds signalent une relations topologiques entre les primitives graphiques, et [34] basé sur un seuil
de distance ou bien comme dans notre approche, le graphe est fondée sur un « Voisinage basé sur k plus proches voisins» Dans la section suivante nous allons aborder le problème
de la correspondance de graphes fondée sur l’assignement de sous-graphes
4 Une méthode de mise en correspondance de graphes fondée sur l’assignement de sous-graphes
4.1 Définition : Décomposition en sous-graphes
Figure 9: La décomposition en sous-graphes p1, p2, p3, p4 est des sous-graphes d’extractions de
longueur 1 qui associés à chaque nœuds du graphe G
Soit G est un graphe attribué et ses étiquettes d'arcs appartiennent à l'ensemble fini {l 1 , l 2 , ,
l a } P est un ensemble de sous-graphes d’extractions de longeur l qui est associés à chaque nœud du graphe G Un sous graphe p est défini comme une paire <V i , H i >, ó H i est l’ensemble des arcs ó leurs sommets terminés correspondants à partir d’un sommet racine
V ri
Dans ce sens, un sous-graphe représente une information locale, une structure « étoile » d’un nœud racine La correspondance de ces sous-graphes devrait conduire à un rapprochement de la correspondance de graphe Le sous-graphe d'extraction se fait par
Trang 26l'analyse de graphe qui est réalisable dans le temps linéaire par l’utilisation de la matrice d'adjacence Le sous-graphe de décomposition est illustré à la figure 9
4.2 La correspondance de sous-graphes
Soit G1 (V 1 , E 1 ) et G 2 (V 2 , E 2 ) deux graphiques attribués Sans perte de généralité, nous supposons que |P 1 | ≥ |P 2| (P1 et P2 sont des ensembles de sous-graphes d’extractions de
longeur l qui est associés à chaque nœud du graphe G 1 et G 2) Le graphe bipartite complet
G em (V em = P 1∪ P 2 ∪∆, P 1 × (P2 ∪∆)), ó ∆ représente une valeur vide de sous graphe La
correspondance de sous graphes entre G 1 et G 2 sont définis comme la correspondance
maximale de G em On définit la distance entre G 1 et G 2 , noté par PMD (G 1 , G 2) qui est le cỏt
minimum pour apparier les sous-graphes de G 1 et G 2 en respectant la fonction de cỏt c (voir
section 4.3) Cet assignement optimal induit une correspondance univalente des sommets
entre G 1 et G 2, telles que la fonction PMD: P1×(P2∪∆) →ℜ+
0 minimise le cỏt de la correspondance entre des sous graphes L’approximation se situe sur le fait que les sous-graphes appariés ne prennent en compte qu’une information locale, restreinte aux voisinages des nœuds.La mise en correspondance des nœuds est seulement contrainte par l'hypothèse de voisinage « proche » imposées par la notion de sous-graphes Un exemple
de la correspondance de graphes est proposé en la figure 10
Figure 10: à partir deux graphes G 1 , G 2 (a), on extrait des sous-graphes de longueur 1 (a), (b) Le graphe
bipartite complet G em obtenu par P 1 et P 2
4.3 Le cỏt de fonction (c) pour la correspondance des signatures
Soit p 1 , p 2 sont deux sous-graphes, la fonction de cỏt peut être exprimée comme la somme
des opérations de modifier pour changer p 1 en p 2 Dans le contexte spécifique de graphes de longueur 1, la distance d’édition est appliquée sur des arbres contenant des
sous-symboliques En conséquence, l'ensemble des chemins d’édition en transformant p 1 en p 2
est relativement restreint Lorsque la distance d’édition de graphe est connue pour être
NP-NGUYEN Quoc Toan – Promotion 13 Page 26
Trang 27complet, son application à des sous-graphes de longueur 1 est applicable en temps linéaire
en fonction de la cardinalité |p| La distance d’édition est une métrique, et la fonction de cỏt
p e e
d p p c
, , ( 2
1 2
(
2 1
Avec γ (p1,p2)désignant l'ensemble des chemins d’édition pour transformer p 1 en p 2 , et edit désigne la fonction de cỏt associée aux opérations de modification (e i)
4.4 Sous graphe de longueur ι
Soit n1 est un nœud du graphe G = (V, E),
Le sous graphe G’(V’, E’) de longueur ι est obtenu à partir du nœud n1 par opération d’extraction soit :
n1 ∈ E
V’ = {v | DEPTH (v, n1) < ι} avec DEPTH est la profondeur de v et n1
E’ = {(v1, v2) | v1, v2 ∈ V’
v1, v2 ∈ V, (v1,v2) ∈ E
Output: a List of sub-graphs (SG)
for all nodes of G(n1)
Trang 28)) ( '
( min
'
' G Extraction G
l
G G
=
=
4.5 Construction de matrice de cỏts
Dans [24], la matrice de cỏts est définie par l’énumération des cỏts de toutes les
opérations d'édition possible entre les nœuds de G 1 , G 2 Soit G 1 = (V 1 , E 1 , µ 1 , ξ 1) est le
graphe de source et G 2 = (V 2 , E 2 , µ 2 , ξ 2 ) est le graphe d’objectif avec V 1 = (u 1 , , u n ) et V 2 =
(v 1 , , v m ) respectivement La matrice de cỏt C est définie comme :
Matrice 1 : La matrice de cỏt C
NGUYEN Quoc Toan – Promotion 13 Page 28