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, orient
Trang 1Mé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
1 1 Problématique
1.2Objectif et contribution du stage
1.3Environnement de stage
1 4 Plan du document
2 Conceptions
2.1Définition de graphe
2.2Correspondance de Graphe
2.3Graphe de distance
2.3.1Distance d'édition
2 3.2 Distance entre signatures de graphe «graph probing »
3 2 4 Symbol spotting
Etat de l'art
3.1Les méthodes de construction de graphe
3.2Les methodes de mise en correspondances des graphes
4 3.3Récaputulation des méthodes
Une méthode de mise en correspondance de graphes fondée sur l’assignement de .
graphes 4 1 Définition : Décomposition en sous-graphes
4.2La correspondance de sous-graphes
4.3Le cỏt de fonction (c) pour la correspondance des signatures
4.4Sous graphe de longueur ι .
5 4.5Construction de matrice de cỏts
Représentation de l’information contenue dans une image
5.1Constitution de l'ensemble des nœuds
5.2Extraction des composantes connexes
5.3 Étiquetage des composantes connexes
5.3.1Extraction de caractéristiques
5.3.2Statistique de la forme
5 3.3 Classification non supervisée des caractéristiques morphologiques
5 4 Organisation de l’information : Construction d’un Graphe de voisinage
5.4.1Relations d'Allen bidimensionnelles
6 5.4.2Intervalle basé sur les distances entre deux régions
Application
6 1 Protocole
6 1.1 Test en classification
6 1.2 Symbol Spotting
6.2Bases de tests
6 2.1 Pour la classification
6.2.2Pour le Symbol Spotting
6 3 Résultat
6.3.1Test en classification
6 3.2 Symbol Spotting
6 4 Complexité algorithmique
Symbol spotting
Conclusions
Références
Trang 3Je voudrais tout d'abord remercier professeur Jean-Marc Ogier, Jean-Christophe Burie, mesresponsables de stage, de m'avoir accueillie au sein de l’équipe du projet ALPAGE duLaboratoire 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 clairementdes nouveaux concepts, ses aides, ses commentaires et ses discussions qui ont faitprogresser 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 duprojet ALPAGE pour leur accueil chaleureux
Je voudrais aussi adresser mes l’IFI
pour leurs enseignements et mes
études au niveau master
sincères remerciements à tous les professeurs de les cours intéressants qu’ils m’ont donné pendant
Finalement, je voudrais remercier ma famille, mes parents et mes amis qui sont toujoursprè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éveloppementd'algorithmes et de techniques et il y a une nombreuse méthode de reconnaissance degraphiques ont été développées pour la reconnaissance des symboles graphiques Leproblème « Symbole Spotting » est comme la localisation d'un ensemble de régions d'intérêtd'un document image, qui sont susceptibles de contenir une instance d'un certain symboledemandé sans le reconnaître explicitement
Nous présentons donc dans ce mémoire un processus d’extraction et d’organisation del’information contenue dans une image afin de la structurer sous forme d’un graphe pourtenir compte de la spécificité que contiennent les documents techniques Chaque nœud dugraphe 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 desdescripteurs de formes extraits des composantes connexes La relation entre deuxcomposantes 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 entrecomposantes 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 legraphe 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 surl’assignement de sous-graphes
Trang 5Symbol Recognition is a research area for the development of algorithms and techniques, alot 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 adocument 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 animage 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 thefamily of graph "Neighborhood based on k nearest neighbors" to build edges and they areautomatically 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 isless 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
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 lareconnaissance de formes qui est appliqué dans plusieurs domaines comme l'architecture, lacartographie, l'électronique, la mécanique etc En raison des types de documents graphiquessont trop large, chacune d’entre eux possèdent un ensemble caractéristique de symbolespropres, il n'est pas facile de trouver une définition précise d'un symbole Dans une manièretrès générale, un symbole peut être défini comme une entité graphique avec un sensparticulier dans le contexte d'un domaine d'application spécifique Il y a un grand nombred'approches ont été proposées pour la reconnaissance des symboles Chacune d’entreselles possèdent des propriétés qui lui sont propres et ne peut s’appliquer qu’à certainscontextes, 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 graphereprésente une composante connexe dans l’image de document La relation entre deuxcomposantes connexes est matérialisée dans un graphe de « voisinage » Le problème de lareconnaissance 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 degraphes « Graph Matching », les mesures de calculer la distance entre deux graphes Etpuis, 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 prochevoisins (K-NN) basé sur notre méthode de mise en correspondance de graphes Enfin, nouscréons une application de type reconnaissance de symbole basé sur le graphe pour trouvertoutes 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 del’espace urbain parisien suivant différentes époques, allant du 14 ème au 19 ème siècle enintégrant réellement la dimension spatiale Les travaux de ce projet ont concernant lesdomaines telles que la vision par ordinateur, la géométrie, l’archéologie et reconnaissancedes formes La contribution du stage est une nouvelle approche dans le domaine dereconnaissance 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èmepartie, 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 nousproposons 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 à
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 domainedes sciences et technologies de l'information qui permettent à la description de donnéesstructuré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], la CBR (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 étudeapprofondie 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 : legraphe de modèle GM et le graphe de données GD, la procédure de comparaison implique devérifier si ils sont similaires ou non De manière générale, nous pouvons représenter leproblè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 « correspondanceexacte » 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 deuxgraphiques C'est le cas lorsque le nombre de sommets ou le nombre d’arcs sont différents à
la fois dans le graphe modèle et graphe de données Dans ce cas là, on peut trouver lameilleure correspondance entre eux en trouvant une correspondance non-bijective entre legraphe 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 lenombre 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 Demê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, parexemple, 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'unalgorithme 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‘unecorrespondance convenable doit conduire à une distance entre graphe précise Selon cettehypothèse, le problème est tourné en une question de distance entre graphes De plus, cepoint 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
Trang 112.3 Graphe de distance
Dans cette section, nous présentons une étude de différentes mesures permettant decomparer des graphes Cette étude, prenant en considération les contraintes de cỏt decalcul, permet de justifier notre orientation vers une mesure basée sur les signatures degraphe
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
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étriqueest une mesure de dissimilarité qui respecte l'inégalité triangulaire (4)
d (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 à desmesures 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
D(x, y) =
L'inégalité triangulaire est une propriété souvent exploitée pour optimiser la recherche desimilarité dans les espaces métriques [13] [14], avec des applications directes enclassification 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 rendcomputationnelement manipulable permettrait de rendre plus simple la recherched'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 ungraphe en un autre graphique par les opérations élémentaires de l'insertion, de lasuppression 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 graphesest une métrique
En pratique, le cỏt des opérations élémentaires est dépendant de l'application Leurdé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 larecherche 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 o1 et o2
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 :
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 parl'équation
ed (G1,G2 ) =
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 calculsont la même complexité algorithmique En raison de la difficulté à appliquer ces mesures carleur complexité, plusieurs approches reposant sur des approximations ont été proposéesdans [19] Trois autres groupes de techniques peuvent être employées pour évaluer lasimilitude graphique, la théorie des graphes spectraux [19], les méthodes probabilistes [20]
ou des méthodes d'optimisation combinatoire [21], [22]
Trang 13NGUYEN Quoc Toan – Promotion 13 Page 12
Trang 14Parmi 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
Nœud 1
Nœud 3 Nœud 4
É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
Nœud 1
Nœud 3 Nœud 4
É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
Nœud 1
Nœud 3Nœud 4Réduit de
Table 3: étape 2 : réductions des colonnes
Trang 15NGUYEN Quoc Toan – Promotion 13 Page 13
Trang 16É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), lamatrice est réduite; aller à l’étape 5 Si ce nombre est inférieur au nombre de lignes (oucolonnes), aller à l’étape 4
Nœud 1
Nœud 3Nœud 4Réduit de
Table 4: étape 3 : déterminer le nombre minimal de lignes sur les lignes, colonnes pour couvrir tous les
zéros
Dans ce cas, le nombre minimal de lignes est de 3 Donc, on va à l’étape 4
Étape 4:
- 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
Nœud 1
Nœud 3Nœud 4
Table 5: étape 4 : Trouver la cellule de valeur minimum non-couverte par une ligne
Valeur minimum est 1
Nœud 1G2
Nœud 2Nœud 3Nœud 4
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
Nœud 1G2
Nœud 2Nœud 3Nœud 4
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
Étape 5 : Déterminer la solution optimale
Trang 17Donc 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 unedescription 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 descentaines 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 legraphe
- 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 18Figure 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 distanced'édition et la distance entre signatures de graphe À un facteur 4 près, la distance entresignatures de graphe est un minorant de la distance d'édition quels que soient les graphes àcomparer
GP (G 1 , G 2 ) ≤ 4.ED (G 1 , G 2 )
Trang 19Figure 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 nombred'occurrences d'un ensemble de sous graphes (du nom d'empreintes digitales ou signaturesdans des contextes différents) de chaque graphe et de décrire les objets à comparer en tantque vecteurs
A partir de l'idée originale dans [22] et [24], le cỏt minimum correspondant entre deuxensembles d’éléments, les auteurs ont étendu ce modèle à des sous graphes, des objetsplus 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'unensemble de régions d'intérêt d'un document image, qui sont susceptibles de contenir uneinstance d'un certain symbole demandé sans le reconnaỵtre explicitement On parle alors delocalisation de symboles en contexte, ce terme s’oppose directement à la reconnaissance desymboles pré-segmentés La reconnaissance de symbole est plus que jamais un problèmequi 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 distingueracelles 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 sontsouvent intégrés à d'autres couches graphiques
D'autres approches se basent sur la structure avec l’utilisation de graphe [30-35] Parmi lesstructures de données, les graphes sont généralement adaptés à la représentation dessymboles autorisant la restitution de la topologie des symboles Fréquemment, un symboleest décomposé en un ensemble de segments (ou de composantes connexes) et cetensemble 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 20tourné en une question de mise en correspondance de graphes « Graph Matching » etdépend de la manière de la construction de graphe.
Dans notre cas, nous proposons une méthode de type structurel pour la représentation dessymboles, 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 dedescripteur de forme et les arcs représentent les relations spatiales entre des composantesconnexes (nous utilisons deux types d’étiquetage des arcs : les relations d'Allenbidimensionnelles et les distances entre deux régions)
Trang 213 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 lareconnaissance des symboles graphiques, Ces approches sont catégorisées en plusieursfamilles : 2D HMM [36], Pixels Caractéristiques [37-38], à base de graphe [30-35], Signaturestructurelle [39-40], Représentation hiérarchies de symbole [41-42] Dans cette partie, nousabordons 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 representer les symboles
et les dessins par des graphiques attribués relationnelle Les nœuds présentent les lignessegmentées qui sont étiquetées par ses longueurs et les arcs établis entre les nœudssignalent une relation d'adjacence entre les segmentations Un arc est étiqueté par l’angleentre 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’unprototype de symbole qui est utilisé comme un nœud du graphe L’arc lie deux régionsadjacentes 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 deuxrégions adjacentes Une information sur la longueur et l’orientation de la région est aussiinté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 22Dans l’article [33], les auteurs ont proposé un autre type pour créer des graphes, chaquenœud est comme une composante connexe Sur chaque composante connexe ils extraientles caractéristiques de la rotation et de la translation invariante fonctionnalités basées surdes moments de Zernike [43] Les nœuds étiquettent automatiquement par l’algorithme declustering « k-medoids clustering » [44] basé des données de ces caractéristiques Pourconstruire des arcs, ils utilisent la famille de graphe « Voisinage basé sur un seuil dedistance », c’est-à-dire chaque couple de points (centres de boîte englobant de composanteconnexe) se situant à une distance inférieure à un seuil t est liée par un arc dans le grapheassocié.
Figure 5: Graphe transaction, source [33]
Selon Rashid Jalal Qureshi et al [35] proposent une approche qui lie une méthodestructurelle et une méthode basée sur la capture des relations topologiques entre lesgraphiques primitives Après l’étape prétraitement on obtient une vectorisation enquadrilatè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
Trang 23é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 deuxquadrilatè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 243.2 Les methodes de mise en correspondances des graphes
La fonction de cỏt pour des opérations d’édition est dé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
L’approche de Josep Liadĩs
Cette approche trouve des sous-graphes isomorphes tolérant à l’erreur entre le graphemodel et le graphe d’entrée L'isomorphisme est calculé en fonction du cỏt minimum deséquence d’édition pour transformer un RAG dans l'autre en définissant trois fonctions decỏt :
Le cỏt de substitution : substitution d'un noeud rM (région modèle) par un nœud rI (région
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 graphesdégradés en un temps de calcul proche du polynomial malgré que la complexité théoriquereste exponentielle On peut trouver la solution en quelques secondes pour les modèlesgraphiques à moins de 10 régions et la contribution des graphes avec quelques centaines derégions
L’approche de Ramel
L'idée principale de cette méthode est de détecter les parties du graphique qui peuventcorrespondre à des symboles sans connaissance sur le type du document De tels nœuds etles arcs constituent le symbole de germe «symbol seeds » Ensuite, les germes serontanalysé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 desarcs, ils proposent de calculer le score de similarité entre deux graphes (Mp) :
Trang 25de symbole; Les symboles sont souvent composées de segments parallèles; Un symbole estrarement liée à de plus de 3 autres segments; La plus courte des boucles sont souventcorrespondant à 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 Lesdocuments 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 desimages de document à base de sacs de symboles
Il définie une distance permettant de comparer ces représentations Considérons deuximages 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
d ( A, B ) =
Représente une mesure de similarité basée sur le cosinus des deux représentations Eneffet, lorsque les vecteurs des représentations de A et B ont la même orientation, ce quisignifie que les poids de chacun des symboles sont proportionnels, alors d (A, B) = 1 Àl'inverse, lorsque d(A,B) = 0, comme les poids sont positifs ou nuls, cela signifie que les deuxdocuments ne partagent aucun symbole en commun
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éaliserune indexation des images à partir des symboles présents, alors même que ces symbolessont connectés à d'autres éléments
Notre approche
Notre approche propose un autre type pour construire des graphes : « Voisinage basé sur kplus proches voisins» Chaque nœud est comme une composante connexe Sur chaquecomposante connexe nous extrayons des caractéristiques basées sur les moments de Hu etShape 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ésautomatiquement par les relations d'Allen bidimensionnelles ou la distance entre des
Trang 26ré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
étiquetageNœud
- lignessegmentées
Bunke
- Longueurs
de lingesegmenté
moments deZernike
Barbu
quadrilatères
Trang 27-Notre - composante
- desmoments de
Hu, Shapesstatistique
Trang 28d’édition »PMDED et baséesur le « GrapheProbing »PMDGP
En conclusion, dans cette partie, nous avons présenté des exemples de familles de graphesqui sont dépendante du contexte dans lequel elles sont utilisées Donc chaquereprésentation est dédiée à une application particulière, il n'est pas possible de créer uneapplication dans le cas général De plus, la façon d’établir relations spatiales entre cescomposants est différente, dans les cas de [31][35], les arcs établis entre les nœudssignalent 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 « Voisinagebasé 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 estl’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 à unrapprochement de la correspondance de graphe Le sous-graphe d'extraction se fait par
Trang 29l'analyse de graphe qui est réalisable dans le temps linéaire par l’utilisation de la matriced'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 lacorrespondance 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 auxvoisinages des nœuds La mise en correspondance des nœuds est seulement contrainte parl'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
Trang 30complet, 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
c est définie comme suit
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)
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 :
Input: Graph representation of a graphic document (G), extract length ι
Output: a List of sub-graphs (SG)
for all nodes of G(n1)
Trang 31Par exemple:
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
La valeur longueur est trouvée automatiquement à partir de graphe de requête, Dans la figure 11,
la longueur minimale égale à 2, c’est-à-dire le sous graphe G’ obtenu par opération
d’extraction de longueur ι est également du super graphe G Pour faire ça, on extrait legraphe G en les longueurs ι= 1 |V|, on obtient l’ensemble de sous graphe G’1,i, G’2,i, …, G’| V|,i, i = 1 |V|
l = min (G' = Extraction(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
Trang 32Où c i,j désigne le cỏt d'un nœud de substitution, c i,ε représente le cỏt de suppression d'un
nœud c (u i → ε), et c ε,j désigne le cỏt d'insertion d’un nœud c (ε → v j ) Enfin, une étape
supplémentaire est indispensable pour tenir compte des arcs associés aux nœuds Une
extension de la matrice des cỏts est nécessaire Pour chaque entité c i,j, c'est-à-dire à
chaque la substitution d’un nœud, on additionne au cỏt de la substitution d'un nœud c (u i →
v j ) le montant minimal des couts des opérations d’édition sur les arcs L'entité c i,ε, dénote lecỏt de la suppression d'un nœud, et le cỏt de la suppression de tous les arcs adjacents de
u i est ajoutée, enfin l'entité c ε,j, dénote le cỏt de l’insertion d'un nœud, et le cỏt de toutes
les insertions des arcs adjacents de v j est ajouté Cette définition dépend de la méthode
"distance d’édition", car l'idée était de proposer une approximation de la distance d’édition
Au contraire, dans notre approche, la matrice de cỏt C’ est une matrice de taille m×n.
Matrice 2: La matrice de cỏt C'
Avec c' i, j désigne le cỏt entre les deux signatures De cette façon, la matrice de cỏtobtenue à la taille plus petite (que celle de la matrice définie dans la matric 1) et d'autre part,comme la signature est définie comme un sous-graphe de la longueur "1", n’importe qu’elledistance entre arbre ou graphe peut être utilisée comme mesure de similarité [46], [16], afin
de construire la matrice de cỏt Notre méthode ne s’appuie pas strictement sur la distanced’édition, on peut utiliser n’importe qu’elle distance entre graphe pour construire lacorrespondance de graphe Dans le [24], les auteurs proposent une approximation de ladistance d’édition Dans le but de mettre en évidence cette différence de principe, unedistance entre sous-graphes fondée sur le « Graph Probing » est aussi évaluée Nousnoterons, PMDED et PMDGP, respectivement une correspondance de sous-graphe basée sur
la « distance d’édition » et basée sur le « Graphe Probing » Quand on parle de PMD sansspécification, nous nous référerons, indépendamment de la fonction de cỏt (c) en coursd'utilisation
Voici un exemple de calculer la correspondance de sous-graphe en représentant la matrice
de cỏts Soit deux graphe G1 avec V 1 = ( I, F, I)), et G 2 , V 2 = (L, 3, I) est comme dans la figure 12 Nous extrayons les sous-graphes de longueur « 1 » pour les graphes G 1 , G 2 Nous
signons que (L) est un sous-graphe de G 2 ce qui obtenue par opération d’extraction de nœud(L) Ensuite nous construisons la matrice de cỏts en calculant la distance d’édition entre les
sous-graphes de G 1 , G 2 comme dans tableau 10
Table 10 : La matrice de cỏts entre deux graphes G 1 , G 2
(I) (F) (I)
Puis nous utilisons l'algorithme hongrois avec les données entrées est cette matrice de cỏts
pour trouver le cỏt de la meilleure association entre des sous-graphes de G 1 et G 2