• Aucun résultat trouvé

6.2 Les graphes d’attributs

6.2.1 Définition

6.2.2.1 Graphes primaires . . . . 91 6.2.2.2 Graphes d’arêtes . . . . 92 6.2.3 Similarités entre éléments . . . . 92

6.3 Apprentissage par appariement de graphes . . . . 93

6.3.1 Appariement exact et inexact de graphes . . . . 93 6.3.2 Méthodes globales d’appariement . . . . 94 6.3.2.1 Construction du graphe d’association . . . . 95 6.3.2.2 Recherche de cliques maximales . . . . 95 6.3.2.3 Application aux graphes d’attributs, fonction objectif . . . . 96 6.3.3 Méthodes locales d’appariement . . . . 96 6.3.3.1 L’algorithme de relaxation floue . . . . 96 6.3.3.2 L’assignement gradué . . . . 99 6.3.4 Appariements des arêtes . . . 102

6.4 Principe de reconnaissance . . . 103

6.4.1 Les graphes aléatoires . . . 103 6.4.2 Appariement . . . 104 6.4.3 Décision . . . 105

La reconnaissance de structures telles que celles définies précédemment est un problème assez déli-cat qui devient vite très coûteux en temps de calcul. Par rapport aux méthodes statistiques numériques, la reconnaissance se fait maintenant à deux niveaux. Il faut d’une part mesurer la similarité des structures et d’autre part mesurer la similarité des composantes primitives et ce bien souvent avec des formalismes différents. De nombreuses méthodes peuvent être dérivées suivant le type de structures utilisées et la nature des caractéristiques associées aux primitives. Les deux principales familles sont les approches syntaxiques ([Bri99]) qui se dérivent de manière stochastique avec les modèles markoviens et les ap-proches à base de mise en correspondance de graphes ou apap-proches graphiques ([Bun00]).

Les approches syntaxiques reposent sur la théorie des langages dont les modèles remontent aux an-nées 50 et les développements de CHOMSKY([Cho56]). Les formes sont codées par des mots utilisant un alphabet dont chaque terme représente un élément de la forme à décrire. Chaque classe de formes est alors définie par un ensemble de règles syntaxiques, ou grammaire, définissant les mots acceptables. Le choix de l’alphabet et de la grammaire, qui, ensemble, forment un langage, incombe à des méthodes d’inférence relativement délicates à mettre en oeuvre. La reconnaissance formelle d’une forme à partir d’un langage se fait ensuite à l’aide d’automates. FUest un des précurseurs de l’emploi de ce formalisme en reconnaissance de formes ([Fu82]). Le formalisme purement déterministe des langages syntaxiques étant peu aproprié à la reconnaissance de formes, les règles ont évolué vers des formes floues et proba-bilistes pour donner naissance aux grammaires floues et stochastiques ([dlH05] publié récemment dans un numéro spécial sur l’inférence grammaticale de la revue Pattern Recognition).

Les approches stochastiques reposent le plus souvent sur des modèles markoviens. Suivant la des-cription, trois modèles sont adaptables, les modèles1D ou chaînes de Markov, les modèles pseudo-2D

ou modèles planaires et les modèles2D ou champs de Markov ([BS97]). Chaque élément de la

descrip-tion structurelle est un site associé à une variable aléatoire. Le caractère, ou champ des observables, est la réalisation du vecteur aléatoire réunissant chaque variable de site. L’objectif est d’estimer le champ des étiquettes associées à chaque site à partir du champ des observables. Le cadre markovien permet l’utilisation d’une notion de voisinage entre sites pour estimer la probabilité des champs aléatoires.

Les approches graphiques reposent, elles, sur des techniques combinatoires pour mesurer la ressem-blance entre graphes. Là encore, pour donner plus de souplesse aux modèles et permettre la reconnais-sance d’informations bruitées, des approches floues ([PB02]) et bayésiennes ([CKP95]) ont été dérivées. Utilisant des graphes d’attributs, notre schéma de reconnaissance se place dans la catégorie des mé-thodes graphiques. Il repose sur un apprentissage et une reconnaissance basés sur l’appariement de graphes. C’est ce que nous expliquerons dans la première partie de ce chapitre. Nous décrirons dans une seconde partie la méthode de construction des graphes d’attributs utilisés. Ensuite nous aborderons la problématique de l’appariement de graphes et détaillerons les algorithmes que nous avons mis en place dans notre phase d’apprentissage. Enfin nous expliquerons notre système de reconnaissance probabiliste.

6.1 Positionnement du problème

Le problème de la reconnaissance graphique par appariement de graphes, comme nous le verrons dans la suite de ce chapitre, est un problème relativement complexe qui nécessite une définition pré-cise du cadre de recherche. Il y a, comme pour la reconnaissance statistique, deux étapes à différen-cier qui sont l’apprentissage ou classification supervisée et la reconnaissance à proprement parler. Alors que l’apprentissage va consister à schématiser l’ensemble des éléments d’une classe par une structure « moyenne » munie d’un ensemble d’attributs résumant ceux des graphes de la classe, la reconnaissance revient à mesurer une similarité entre un graphe et les éléments « moyens » de la phase précédente. Quand la base est peu fournie, la reconnaissance peut consister à mesurer la similarité du graphe inconnu avec tous les éléments de la base puis à utiliser une règle des k plus proches voisins pour se replacer dans un cadre bayésien classique. Malheureusement les appariements de graphes sont souvent couteux en temps de calcul et cette approche devient vite prohibitive.

Notre étude s’intègre dans le cadre de la reconnaissance générique de caractères. Même si ce cadre est ambitieux, il n’en reste pas moins que nous ne pouvons pas, a priori, avoir de connaissance sur le type de caractères à reconnaître, nous n’avons pas de modèle au sens strict. En revanche, nous possédons une base de caractères connus plus ou moins proches de ceux que nous voulons reconnaître. Trouver une structure « représentative » pour une classe à partir de la base d’apprentissage n’est donc pas un gage

de bonne reconnaissance mais à l’inverse, comme nous l’avons dit précédemment, conserver tous les graphes appris pour la reconnaissance n’est pas une solution.

La recherche de graphes « représentatifs » a été abordée par JIANG ET COLL. ([JMB01]) qui pro-posent le graphe médian généralisé d’un ensemble de graphes. Il s’agit du graphe le plus proche de tous les autres graphes de la classe au sens d’une fonction de distance inter-graphe. La distance structurelle proposée est une distance d’édition basée sur une fonction de coût de transformation d’un graphe à un autre à partir de six opérations : la supression, l’insertion et la substitution ceci appliqué sur les nœuds et les arêtes. BUNKE([Bun97]) montre par ailleurs que sous certaines conditions sur la fonction de coût, la distance d’édition est directement liée à la cardinalité du sous-graphe commun maximum.

Cependant, la distance d’édition est, dans la définition de JIANG et BUNKE ([Bun97], [JMB01]), basée uniquement sur la structure. Pour prendre en compte la nature des attributs il faut redéfinir la fonc-tion de coût à partir d’une mesure de similarité entre attributs. La relafonc-tion établie avec la cardinalité du sous-graphe commun maximum n’est alors plus valable.

Avec des graphes d’attributs, le graphe médian peut être vu comme le graphe le plus proche de tous les éléments de la classe au sens d’une métrique basée sur un appariement. Dans ce cas la mesure de similarité englobe les erreurs issues de l’appariement. La recherche du graphe médian, en plus d’être ex-trêment coûteuse puisqu’elle suppose l’appariement deux à deux de tous les graphes de la base, introduit une imprécision qui, cumulée avec celle de la reconnaissance, peut être préjudiciable au système.

Comment alors justifier le choix d’une structure « représentative » pour chaque classe ? Si nous par-tons de l’hypothèse restrictive consistant à présupposer que les bases d’apprentissage ne sont constituées que de caractères bien segmentés et bien étiquetés, les variations intra-classe ne sont alors dues qu’aux différences de scripteurs et de périodes. Qu’est-ce qui fait, dans ce cas, que nous pouvons associer la même étiquette à des caractères aussi différents que ceux de la figure 6.1 ? Cet exemple montre que la notion de structure médiane n’a pas beaucoup de sens dans notre cas. Nous devons accorder plus d’im-portance à l’appariement de primitives semblables qu’à la cohérence structurelle de la classe. Qui plus est, cet exemple met en évidence la limite des approches structurelles qui ne peuvent pas apporter une réponse unique au problème de la reconnaissance. C’est pourquoi il est, a priori, préférable de les utiliser en complément d’une reconnaissance statistique. Nous ne pouvons pas admettre non plus un double éti-quetage de la classe basé sur un critère de rejet. Ce serait prendre le risque d’avoir autant de sous-classes que de scripteurs ou au moins de périodes historiques (impliquant une différence de structuration des lettres). Le surcoût calculatoire pour la phase de reconnaissance ne serait pas négligeable.

image structure image structure

FIGURE6.1 – Exemples de caractèresltirés de la base GrAnc (Annexe A page 155) avec les structures associées

Partant de ces constatations, nous avons choisi de conserver comme modèle de classe, la structure la moins contraignante. Or, en terme d’appariement, la structure la moins contraignante est celle qui contient le moins de nœuds. Le modèle d’une classe sera donc le graphe de plus petit ordre avec un ajustement possible par retour d’expertise en cas de mauvaise classification.

A partir de ces modèles les deux étapes du système de reconnaissance se décomposent ainsi. En premier lieu, l’apprentissage (figure 6.2) va consister à associer à chaque primitive et relation du modèle un ensemble d’observations provenant de la base d’apprentissage. Pour ce faire, nous utiliserons des techniques d’appariement approximatif de graphes. En second lieu, à partir des observations sur chaque élément du graphe modèle, un modèle probabiliste est construit qui permet de formaliser la reconnais-sance.

Eléments de la classe

contenus dans la base Graphe Modèle

Modèle probabiliste Appariements avec le

graphe modèle.

Construction du modèle probabiliste.

FIGURE6.2 – Principe de l’apprentissage

6.2 Les graphes d’attributs

6.2.1 Définition

Les graphes d’attributs ont été introduits en reconnaissance de formes par TSAI ET FU ([TF83]). Par définition, les nœuds des graphes représentent les primitives tandis que les arêtes expriment leurs relations. Dans le cas des graphes que nous avons appelés primaires, les primitives sont donc les points singuliers du squelette et dans le cas des graphes que nous avons appelés d’arêtes, il s’agira des seg-ments primitifs. Chaque nœud du graphe prend ses attributs dans l’ensembleZ = {zi|i = 1, ..., I}

où chaque attribut zi va prendre ses valeurs dans l’ensemble Si = {sij|j = 1, ..., Ji}. L’ensemble Lv = {(zi, sij)|i = 1, ..., I; j = 1, ..., Ji} est l’ensemble des couples de valeurs possibles pour les

primitives. Une primitive valide est alors un sous-ensemble deLv dans lequel chaque attribut ne peut apparaître qu’une seule fois. SiΠ est l’ensemble de toutes ces primitives valides, chaque nœud est

repré-senté par un élément deΠ.

De manière similaire, pour les arêtes, l’ensemble des attributs possibles est appelé F = {fi|i = 1, ..., I} dans lequel chaque fi peut prendre ses valeurs dans Ti = {tij|j = 1, ..., J

i}. L’ensemble La={(fi, tij)|i = 1, ..., I; j = 1, ..., Ji} est l’ensemble des couples de valeurs possibles pour les

rela-tions. Une relation valide est alors un sous-ensemble deLadans lequel chaque attribut ne peut apparaître qu’une seule fois. L’ensemble de toutes les relations valides est notéΘ.

Un graphe d’attributs se définit formellement de la manière suivante :

Définition 25 (Graphe d’attributs ou GA) un graphe d’attributGa sur L ={Lv, La} avec une structure graphiqueG = (N, A), est une paire ordonnée (V, E) où V = (N, σ) est appelé un ensemble de nœuds

φ ρ

FIGURE6.3 – Attributs géométriques liés aux nœuds des graphes primaires - nœud 5 (ρ, φ).

attribués etE = (A, δ) est appelé un ensemble d’arêtes attribuées. Les applications σ : N → Π et δ : A→ Θ sont appelées respectivement interpréteurs de nœuds et d’arêtes.

Nous pouvons, dans notre cas, introduire deux simplifications de notation. Tout d’abord, comme nous allons le voir par la suite, nos attributs sont continus à valeurs réelles sur[0, 1] ce qui implique que Si = Ti= [0, 1]. Ensuite, il est souvent intéressant d’exprimer toutes les valeurs des attributs d’un même

élément par un vecteur. Nous noterons αale vecteur des valeurs des attributs du nœuda et βable vecteur des valeurs des attributs de l’arête(a, b).