• Aucun résultat trouvé

Recherche de l’assignement optimal des segments

4.2 Patrons Structurels Flous pour la repr´esentation de symboles

4.2.3 Exploitation des PSF

4.2.3.3 Recherche de l’assignement optimal des segments

Les points de segmentation potentiels qui ont ´et´e d´efinis au paragraphe pr´ec´edent par l’application des mod`eles spatiaux d´efinissent une suite de N ´el´ements indivisibles S|xy = s1...sN. La mise en correspondance de ces ´el´ements avec les composants du psf

impose la r´esolution d’un probl`eme d’optimisation combinatoire. Il s’agit de trouver σ∗, le meilleur assignement possible des N segments vers les n composants (le terme d’assignement est utilis´e abusivement, car comme nous l’avons pr´esent´e `a la section 4.2.2.2, la fonction σ peut ˆetre non couvrante et incompl`ete). Les assignements sont ´evalu´es par la fonction d’ad´equation s dont le calcul a ´et´e sch´ematis´e `a la figure 4.9.

Nous proposons de r´esoudre le probl`eme combinatoire par un algorithme bien connu de s´eparation et ´evaluation (aussi souvent appel´e en anglais : branch and bound ). Le principe de l’algorithme est de construire l’arbre des assignements possibles progressivement, en ´eli- minant dynamiquement certaines branches dont on peut affirmer qu’elles ne conduisent pas `

a la meilleure solution. Le calcul d’une fonction d’´evaluation (fonction de bounding) permet d’estimer une borne sup´erieure sur le score qu’il est possible d’atteindre dans chaque branche inexplor´ee. Si le r´esultat de cette estimation optimiste de l’exploration d’une branche est moins bon que le score d’une solution r´eelle d´ej`a trouv´ee, l’exploration de toute la branche peut ˆetre abandonn´ee. La phase de s´eparation (ou branching) consiste `a subdiviser le pro- bl`eme d’assignement en sous-probl`emes, c’est-`a-dire `a compl´eter un assignement partiel avec une nouvelle association (trac´e, composant).

Fonction de bounding La fonction de score que l’on cherche `a optimiser est le r´esultat global s(S, T , rx, rx, σi) d´etermin´e par le m´ecanisme de fusion complet (voir la figure 4.9).

La fonction de bounding doit v´erifier les conditions suivantes : 

   

g(Hi)as(S, T , (rx, rx), Hi∗) pour tout nœud Hi de l’arbre

g(Hi) = s(S, T , (rx, rx), Hi) pour toute feuille Hi de l’arbre

g(Hi)ag(Hj) si Hj est le nœud p`ere de Hi,

avec Hi∗ le meilleur assignement possible obtenu dans le sous-arbre de Hi. La fonction g

estime donc une borne sup´erieure du score s qu’il est possible d’atteindre en explorant la branche port´ee par un assignement partiel Hi. Supposons qu’`a un moment donn´e de

l’exploration de l’arbre, on a d´ej`a trouv´e une solution admissible σ1 dont le score vaut

s1 = s(S, T , (rx, rx), σ1). Si pour un nœud Hi dont le sous-arbre n’a pas encore ´et´e explor´e,

on a g(Hi) < s1, alors on sait que l’exploration du sous-arbre de Hi peut ˆetre ´evit´ee.

La fonction de bounding doit constituer un bon compromis entre la pr´ecision de l’es- timation qu’elle fournit et le coˆut de son calcul. Si elle est trop grossi`ere, elle sera moins efficace et ne permettra pas d’´elaguer de grandes parties de l’arbre de recherche. A l’inverse, si elle est tr`es pr´ecise, son calcul risque de g´en´erer une complexit´e ´elev´ee.

Le probl`eme est donc de construire, `a partir d’un assignement partiel Hi, un majorant

simple et aussi proche que possible du score du meilleur assignement complet Hi∗ au sens de la fonction de fusion globale pr´esent´ee au paragraphe 4.2.2.2. On se sert du fait que l’op´erateur de combinaison⊗ est monotone vis-`a-vis de l’ordre total ≺a d´efini par (4.12),

c’est-`a-dire :

∀a, b, c ∈ L, a ≺ab => a⊗ c ≺a b⊗ c. (4.16)

De la mˆeme fa¸con, on peut exploiter la propri´et´e suivante pour l’op´erateur• :

∀a, b ∈ L, λ ∈ R, a ≺ab => λ• a ≺aλ• b. (4.17)

Ces propri´et´es garantissent que la recherche d’un majorant global pour s(S, T , (rx, rx), Hi∗)

peut se limiter `a majorer chacun de ses termes dans le calcul de la fusion globale (d´ecrit au paragraphe 4.2.2.2). Pour un assignement partiel Hi = {i1.., im,−1.. − 1}, les m premiers

´el´ements de trac´es sont d´ej`a assign´es `a des composants du psf. Les N−m ´el´ements restants `a assigner sont attribu´es au composant pour lequel leur score d’ad´equation de positionnement est le meilleur. Toutefois, si ce score est inf´erieur `a la constante de p´enalisation c0 pour

un trac´e r´esiduel, le trac´e n’est pas assign´e. Le score de fusion globale est major´e en ne tenant pas compte des p´enalisations pour les ´el´ements non assign´es, ni pour les mod`eles non couverts (le poids de ces ´el´ements dans la fusion est revers´e vers le composant ayant le meilleur score si). Enfin, tous les scores d’´etendue E sont major´es par leur valeur maximale

th´eorique, c’est-`a-dire le score bipolaire < 1; 0 >. Ceci retarde l’´evaluation des scores E uniquement aux feuilles de l’arbre, lorsque l’assignement Hi est compl`etement d´efini. La

raison de ce choix est que les scores E ne sont pas additifs : cela signifie que l’on ne peut pas donner un bon estimateur de E({Si, Sj}) `a partir de E({Si}). En revanche, les scores

effectifs des positionnements et des ´etendues des r´ef´erences comme des rva sont utilis´es dans tous les calculs de g(Hi), puisqu’ils ne d´ependent pas de l’assignement σ cherch´e.

Finalement, pour l’´evaluation d’une feuille de l’arbre, la fonction g est ´equivalente `a la mise en œuvre de la fusion globale.

Recherche d’une solution initiale La performance de l’algorithme d´epend en partie de sa capacit´e `a d´efinir une bonne solution initiale σ0. Dans le cas particulier de la recon-

naissance de symboles par psf, l’algorithme est d´eroul´e successivement sur diff´erents choix de r´ef´erences rx, ry et sur diff´erents prototypes de psf (pour la recherche du meilleur score

global de correspondance). Le score de la meilleure solution trouv´ee pour tous les choix de r´ef´erences et tous les psf est connu et l’algorithme se contente donc d’explorer les branches de l’arbre potentiellement meilleures que cette meilleure solution. De ce fait, on dispose `a

toutes les ex´ecutions de l’algorithme (sauf la premi`ere) d’un score faisable de bonne qualit´e. Par ailleurs, une partie du calcul de g repose sur les informations des scores des r´ef´erences qui sont d´ej`a connus avant le d´eroulement de l’algorithme. Ces ´el´ements participent donc `

a l’´elagage des branches de l’arbre. En particulier un score de r´ef´erences tr`es faible peut conduire rapidement `a ´elaguer de grandes parties de l’arbre, voire tout l’arbre (c’est alors un rejet implicite de ce choix de r´ef´erences).

4.2.3.4 Synth`ese

La strat´egie de recherche de la meilleure segmentation d’un symbole par rapport `a un psf permet de mettre en œuvre la formalisation du calcul pr´esent´e `a la section4.2.2. Les points essentiels de cette mise en œuvre r´esident dans la m´ethode originale consistant `a guider les hypoth`eses de segmentation des trac´es `a partir des mod`eles de leur positionnement qui sont d´evelopp´es sur les hypoth`eses de r´ef´erences choisies. Cette segmentation se fait donc en fonction du mod`ele appris et en respectant la forme particuli`ere des r´ef´erences du symbole. Le guidage de la segmentation s’appuie aussi sur une vision globale de la structure du symbole, par opposition aux m´ethodes de d´etection de points singuliers qui sont plus locales. Il en d´ecoule une capacit´e `a d´etecter des points de segmentation ind´etectables par l’analyse de forme du trac´e. La fonction d’assignement des segments permet d’associer diff´erents segments au mˆeme composant d’un psf, ce qui autorise par exemple la gestion de trac´es en pointill´es. Par ailleurs, une souplesse est introduite afin de tol´erer le calcul de scores de correspondance mˆeme en l’absence de certains composants ou en pr´esence d’´el´ements surnum´eraires.