• Aucun résultat trouvé

2. Des outils pour la reconnaissance de texte et de symboles

2.3. U N NOUVEAU MODELE DE REPRESENTATION DES FORMES BASE SUR LA T RANSFORMEE DE F OURIER

2.3.6. Algorithmes de mise en œuvre

La section précédente a mis en évidence le fait que les propriétés de la TFM présentent des caractéristiques intéressantes pour la représentation d’une forme indépendamment de sa position, de sa taille et de son orientation. Afin d’illustrer l’implémentation de cette TFM dans le cadre de notre problème d’analyse de document, nous proposons dans cette partie l’ensemble des algorithmes développés pour la mise en œuvre de la théorie. Nous développons dans ce cadre de manière séparée deux modes de fonctionnement de notre outil de détection/reconnaissance de formes. Dans une première partie, nous abordons l’implémentation de la TFM pour la reconnaissance des formes isolées, parfaitement segmentées. Puis, dans un second temps, nous développons l’implémentation du « mode filtrage » qui vise la détection et la reconnaissance de formes connectées entre-elles ou connectées à d’autres parties graphiques du document. Enfin, dans un troisième paragraphe, nous présentons l’algorithme d’estimation des paramètres de similitudes des formes.

2.3.6.1. Algorithme d’extraction des IFM sur des formes isolées

Dans ce paragraphe, nous exposons l’algorithme développé afin d’extraire les invariants de Fourier Mellin d’une forme préalablement isolée, en exploitant les équations (83), (86) et (87). Si théoriquement l’extraction de ces invariants peut se faire à partir d’une image en niveaux de gris, nous ne l’avons appliquée dans le cadre de l’application France Telecom qu’à des images binaires pour les raisons que nous avons évoquées dans l’étude de la bibliographie. L’algorithme suivant est donc appliqué à une image préalablement binarisée, en utilisant le principe décrit dans [Adam 2000a].

Les entrées de l’algorithme sont les suivantes :

• L’imagette binaire d’une forme connexe isolée. Cette imagette n’a aucune contrainte de taille. Néanmoins, seuls seront pris en compte les pixels d’une fenêtre de dimension TailleMasque *

TailleMasque

• La valeur des pixels correspondant à la forme et au fond

• Les intervalles de variations des paramètres de la TFM (P et Q), permettant la définition de l’ensemble A donné en (89).

Le choix de P et de Q engendrera le calcul de 2PQ+P+Q+1 filtres, chacun d’eux générant un descripteur complexe. De ce fait, compte tenu de l’absence d’intérêt des valeurs If(0 , σ)qui vaut 1 et de la partie imaginaire de If(1 , σ) qui vaut 0, le modèle extrait sera donc constitué de 4PQ+2P+2Q-1

valeurs réelles comprises entre –1.0 et 1.0. Cela impliquera, en terme de complexité, un nombre d’opérations élémentaires (multiplication de complexes) de (2PQ+P+Q+1)r2, où r vaut TailleMasque.

DEBUT

Calcul des filtres hp,q de Fourier Mellin (équation (87)) avec les P et Q choisis. Extraction de la masse connexe

Calcul du centre de gravité de la forme – nous utilisons pour ce faire une technique basée sur les histogrammes de projection (cf. 2.2.3.3) –

Recopie de la forme dans une imagette de taille TailleMasque, de manière à centrer Cg sur le centre de l’image

Pour Chacun des filtres faire Début

SOMME=0

Pour chacun des pixels de l’image faire Début (Calcul des descripteurs)

Si le pixel est de la forme alors Début

Ajouter le coefficient correspondant du filtre à SOMME

Fin

Stocker SOMME dans la liste de descripteurs correspondant à la forme

Fin Fin

Recherche des valeurs Mf(0,σ) et Mf(1,σ)

Pour Chacun des filtres faire Début

Calculer les parties réelles et imaginaires de If(p , q) par (83)

Fin FIN

Algorithme 1 : Algorithme d’extraction des invariants de Fourier Mellin sur une forme binaire isolée

L’ensemble des résultats concernant les formes isolées qui seront présentés dans le chapitre suivant sera issu de l’application de cet algorithme.

2.3.6.2. Algorithme d’extraction des IFM sur des images quelconques

Dans l’Algorithme 1, la TFM est appliquée au centre de gravité de la forme (en tant que CdD). Cette technique est parfaitement adaptée à la modélisation de formes bien conditionnées (c’est-à-dire déconnectées de toute autre forme), puisque le calcul des coordonnées du centre de gravité est alors facile. Ce n’est pas le cas pour des formes connectées puisque le centre de gravité de deux formes collées n’a plus de sens. Dans un tel cas de figure, la modélisation de la forme passe alors par un calcul de modèle de Fourier Mellin en chacun des pixels de l’imagette, qui seront tous considérés comme des centres de gravité potentiels. Ce principe se rapprochant d’un filtrage des pixels candidats, nous appellerons ce principe « mode filtrage » dans la suite de ce mémoire. En fait, la bonne faculté de détection de cet opérateur est principalement due à la décroissance du module des filtres hp,q(.,.)

lorsque la distance au centre de gravité augmente : dans la plupart des configurations où les caractères et symboles sont connectés les uns aux autres, ce problème se produit uniquement au voisinage de l’enveloppe externe de la forme. Dans de tels cas, la contribution d’une autre forme connectée sur le calcul appliqué au centre de gravité de la forme courante est minimale, et n’affecte donc pas trop le processus de la classification. Notons que l’approche correspondant à l’algorithme suivant n’est pas uniquement applicable au traitement de formes collées, mais aussi au traitement de texture pouvant

apparaître dans différentes orientations. Les résultats présentés dans [Ravichandran 1995] illustrent une telle application, avec par exemple l’impressionnante reconnaissance de textures correspondant à la peau d’un zèbre.

Pour appliquer la TFM sans utiliser de CdD particulier, il est nécessaire d’avoir recours à un produit de convolution entre l’image et l’ensemble des filtres de Fourier Mellin (équations (86) et (87)). Ce procédé entraîne un coût de calcul rédhibitoire. Or, il est bien connu qu’un produit de convolution dans le domaine spatial équivaut strictement à un produit dans le domaine spectral. Par un calcul de transformée de Fourier rapide (connu sous le nom de FFT : Fast Fourier Transform), il est donc possible de s’affranchir de ce problème de complexité en transformant le calcul du produit de convolution par un simple produit, en ayant au préalable appliqué la FFT à l’image. Néanmoins, les filtres hp,q(.,.) et l’image n’ayant pas les mêmes tailles, il est donc nécessaire de « réarranger » les

données. De plus la FFT implique des contraintes concernant la taille des images qui doit être une puissance de 2. Les transformations appliquées aux images et aux filtres, qui ne sont pas d’ordre théorique mais du domaine de l’implémentation, sont présentées après l’algorithme, en Figure 2.15 et Figure 2.16.

Les paramètres de cet algorithme sont l’imagette et les intervalles de variations des paramètres de la TFM (les valeurs de P et Q)

DEBUT

Calcul des filtres hp,q de Fourier Mellin (équation (87)) avec les P et Q choisis. Réarrangement de l’image suivant la Figure 2.16

Application de la FFT à l’image

Pour Chacun des filtres faire Début

Réarrangement du filtre suivant la Figure 2.15 Application de la FFT au filtre réarrangé

Produit complexe de la TF de l’image et de la TF du filtre

Fin

Récupération des Mf(p,q) dans le tableau résultant des produits

Calcul des invariants If(p,q) suivant le même procédé que dans Algorithme 1 Réarrangement de l’image de façon à revenir à sa taille originale

Retourner un tableau tridimensionnel contenant 2PQ+P+Q-2 invariants par pixel de l’image

FIN

Algorithme 2 : Algorithme d’extraction des invariants de Fourier Mellin sur une imagette quelconque

Concernant le réarrangement des filtres et de l’image pour l’utilisation de la FFT, l’approche suivante est utilisée. Soient L et H la largeur et la hauteur de l’image, et T la taille des filtres, valant 2rmax+1

(86). Notons alors Lm (respectivement Hm) la première puissance de 2 supérieure à L (respectivement

H), les figures suivantes montrent les étapes du réarrangement des filtres et de l’image afin de pouvoir

Figure 2.15 : Schéma de principe du réarrangement des filtres de FM

Figure 2.16 : Schéma de principe du réarrangement de l’image

Les résultats que nous présentons par la suite en ce qui concerne les formes connectées sont issus de l’application de cette algorithmique.

2.3.6.3. Algorithme de calcul des paramètres de mouvement

En 2.3.5, nous avons montré qu’il était possible d’estimer l’orientation d’une forme (voir équation (96)), en disposant des Mg(p,q) issus de celle-ci ainsi que des Mf(p,q) de la même forme dans une

position de référence (horizontale par exemple). Néanmoins, nous avons vu qu’une telle estimation passait par l’optimisation d’un critère quadratique. Malheureusement, il s’avère que la mise en œuvre

2*Hm Lm T T A B C D D C B A

Réarrangement d’un filtre

L H

2*Hm

Lm L

L’image dont on veut extraire le modèle

Réarrangement de l’image

H

numérique de la TFM par application de (87) rend ce critère non convexe : il existe plusieurs minima locaux, comme en témoigne la Figure 2.17 qui correspond à l’erreur quadratique entre forme de référence (lettre « A » à gauche « E » à droite) et une forme de même taille et tournée de 100 degrés vers la gauche.

Figure 2.17 : Deux illustrations de la non convexité du critère Ef,g(αβ) défini en (95)

Du fait de cette évidente non convexité, il est nécessaire d’adopter une méthode d’optimisation s’affranchissant de ce problème. Cette méthode ne doit pas être basée sur un calcul de gradient. Quatre types d’approches pouvaient donc être utilisés :

• Les méthodes énumératives, qui consistent à examiner les valeurs prises par la fonction en chacun des points de l’espace un par un. Bien que la simplicité de telles procédures soit attirante, celles-ci doivent ici, comme dans la majeure partie des problèmes d’optimisation, être abandonnées à cause de la taille de l’espace des possibilités.

• Les méthodes basées sur des combinaisons de plusieurs solutions, qui optimisent par des essais-erreurs en calculant des combinaisons linéaires des coordonnées des différents points afin de faire évoluer ces points vers la bonne solution. C’est par exemple le cas de la méthode du simplex qui se révèle souvent efficace, mais aussi très lente.

• Les méthodes aléatoires, qui explorent aléatoirement l’espace des solutions et mémorisent le meilleur élément. De telles approches sont peu robustes et manquent d’efficacité dans la plupart des cas.

• Les méthodes dites pseudo-aléatoires, qui utilisent le hasard, au même titre que les méthodes aléatoires, mais sous contrôle du but à atteindre et non de manière totalement désordonnée. Les deux méthodes de cette catégorie sont le recuit simulé et les algorithmes génétiques.

Parmi ces choix, nous avons opté pour deux techniques issues de deux catégories d’approches différentes : la méthode du simplex, issue des travaux de Nelder et Mead [Nelder 1965] pour la robustesse que la littérature lui accorde, et les algorithmes génétiques [Goldberg 1989] qui sont plus rapides mais qui n’assurent pas l’obtention de la bonne solution. Une description de ces approches est donnée en Annexe A. Notons que dans le cas de la méthode du simplex, nous avons utilisé les outils des Numerical Recipes, alors que dans le cas des algorithmes génétiques, nous avons utilisé une bibliothèque générique développée par notre équipe [Adam 1999a]. Quelle que soit la méthode d’optimisation utilisée, l’algorithme d’estimation des paramètres de mouvement est le même. Ses paramètres sont les suivants :

• Les intervalles de variations des paramètres de la TFM (les valeurs de P et Q) • L’étiquette de la forme dont les paramètres de mouvement sont estimés.

• Une base contenant les descripteurs de Fourier Mellin (les Mf(p,q)) issus de la même forme dans

une position de référence.

• Les descripteurs de Fourier Mellin de la forme dont les paramètres de mouvement vont être estimés.

A partir de ces paramètres, l’algorithme d’estimation des paramètres de mouvement consiste simplement à appeler l’une des deux méthodes d’optimisation, en évaluant les fonctions par (95). Notons toutefois que pour chacune des méthodes d’optimisation, plusieurs paramètres sont à régler ; nous n’avons pas poussé les investigations dans ce domaine.