Filtrage, élagage et combinaison de mémoires de Kohonen pour la
Transcription
Filtrage, élagage et combinaison de mémoires de Kohonen pour la
Filtrage, élagage et combinaison de mémoires de Kohonen pour la reconnaissance en-ligne de caractères Arabes manuscrits. N. Mezghani1 , A. Mitiche1 , et M. Cheriet2 1 Institut National de la Recherche Scientifique Place Bonaventure, 800 de la Gauchetière Ouest, Bureau 6900 Montréal (Québec) H5A 1K6 Canada Tél : (514) 875-1266 Fax : (514) 875-0344 [email protected] [email protected] 2 École de Technologie Supérieure 1100, rue Notre-Dame Ouest Montréal (Québec) H3C 1K3 Canada Tél : (514) 396-8800 Fax : (514) 396-8950 [email protected] Résumé Le but de cette étude est de développer un système de reconnaissance de caractères Arabes manuscrits en-ligne de haute performance. La méthode développée consiste à combiner deux mémoires de Kohonen après leur filtrage et élagage. Les mémoires sont entraı̂nées avec des représentations différentes de caractères, à savoir, les descripteurs de Fourier et les tangentes. La règle de classification favorise la mémoire la plus fiable. Sur une base de données de 7344 échantillons recueillis sans imposer de contraintes aux scripteurs, les taux de reconnaissance atteints sont de l’ordre de 94%, comparés à 86% en reconnaissance par une seule mémoire. Mots clés Réseau de Kohonen, élagage, filtrage, reconnaissance en-ligne, caractères Arabes. 2 1 N. Mezghani, A. Mitiche et M. Cheriet Introduction Les nouvelles modalités de communication homme-machine ont suscité un grand intérêt pour la reconnaissance de l’écriture manuscrite en-ligne. En effet, pour certaines applications, l’utilisation du stylo électronique est plus pertinente que celle du clavier ordinaire. Les études concernant l’écriture Arabe en-ligne sont peu nombreuses en dépit de son importance pratique. Une représentation de caractères en strokes a souvent été utilisée [1,2], en combinaison avec diverses règles de classification, comme la règle des voisins les plus proches [5], et la logique flou [4]. Dans toutes les études antérieures, la validation des méthodes s’est faite sur des bases se données très réduites, souvent recueillies dans des conditions contrôlées. Dans une étude antérieure [7,8], nous avons développé un système de reconnaissance de caractères Arabes manuscrits en-ligne. La représentation utilisée est celle des descripteurs de Fourier calculés sur les signaux x(t) et y(t) correspondant à la position du stylo sur la tablette. Une telle représentation conserve la dynamique du signal manuscrit. La reconnaissance est accomplie par une mémoire de Kohonen entraı̂née sur des données réelles. Les taux de reconnaissance obtenus sont de 86% dans une base de données de 7344 échantillons écrits sans contraintes par 17 scripteurs. Les caractères présentent donc une grande diversité de formes, de tailles et d’orientations. Une analyse approfondie de la matrice de confusion et du contenu des noeuds de la mémoire nous ont motivé à améliorer le système en introduisant les traitements suivants : (i) élagage des “noeuds morts“ (ii) filtrage des “noeuds intrus“ et (iii) combinaison de deux mémoires entraı̂nées sur différentes représentations, à savoir, les descripteurs de Fourier et les tangentes mesurées sur les signaux en-ligne formant les caractères. La méthode développée a conduit à un système avec excellent taux de reconnaissance près 94%. Le contenu de ce papier est organisé comme suit : Dans les section 2 et 3 nous décrivons le système de base et nous résumons les résultats obtenus. Nous expliquons, ensuite dans la section 4, l’élagage et le filtrage des mémoires de Kohonen. Dans la section 5, nous détaillons la combinaison des mémoires. Nous donnons les résultats expérimentaux dans la section 6 et les conclusions subséquemment dans la section 7. 2 Système de base : une mémoire de Kohonen Le réseau de Kohonen est composé de deux couches : une couche d’entrée et une couche de sortie. Les noeuds d’entrée représentés par un vecteur X = (x1 , x2 , .., xI )T de dimension I, sont reliés au J noeuds de sortie par l’intermédiaire de poids Wij . Chaque sortie j peut être donc considérée comme porteuse d’un vecteur image Wj = (W1j , W2j , ..., WIj )t . L’algorithme d’évolution du réseau peut se présenter ainsi : – Initialisation des poids : initialiser (itération 0) les poids Wj0 à de petites valeurs aléatoires, j ∈ [1, J]. – Présentation des données : présenter une donnée en entrée à l’itération n courante, X n = (xn1 , ..., xnI )T , et calculer sa distance à chacun des vecteurs Wjn , j ∈ [1, J]. Filtrage, élagage et combinaison de Mémoires de Kohonen 3 – Sélection du noeud le plus similaire : sélectionner le noeud j ∗ le plus proche de l’entrée : j ∗ = argminj I X (xi (t) − Wij (t))2 (1) i=1 – Mise à jour : mettre à jour les poids selon la formule n n Wijn+1 = Wijn + ²n hj,j n (x − Wij ) ∗ i ∈ [1, I], j ∈ [1, J] (2) ²f n n σf n ||j − j ∗ ||2 ∗ σn = σi ( ) nmax hj,j = exp − ) max (3) n ²i σi 2σn2 Pendant la phase d’entraı̂nement, un vecteur X = (x1 , ..., xI )T est présenté au J noeuds de la mémoire contenant les vecteurs Wj = (w1j , ..., wIJ )T initialisés à des valeurs aléatoires. Les vecteurs de poids de la mémoire sont tous mis à jours selon la relation (2). La mise à ∗ jour des voisins dépend de la fonction d’étendue hj,j [7]. Pendant la phase de classification, on présente un vecteur inconnu X = (x1 , ..., xI )T et on détermine le noeud le plus proche en terme de distance. Le vecteur X portera l’étiquette de la classe du noeud le plus similaire. ²n = ² i ( Les vecteurs d’entrée présentés à la mémoire de Kohonen sont composés des descripteurs de Fourier des signaux x(t) et y(t) après pré-traitement. 3 Système de base : résultats L’alphabet Arabe est composé de 28 lettres provenant de 18 formes distinctes et de points diacritiques. Si on assimile la lettre “Fa“ à la lettre “Qaf“, qui ne se distinguent que par leur position par rapport à la ligne d’écriture (Figure 1), on a 17 formes distinctes. La base de données utilisée comprend 432 échantillons de chaque forme, écrits sans contraintes par 17 scripteurs. La collecte des données est faite avec une tablette graphique “Wacom Graphire“, Seen (F) Kaf (K) Ra (E) Qaf Ya (Q) Dal (D) Fa (J) Waw (P) Ha (C) Ain (I) Ba (B) Tah (H) Alif (A) Sad (G) He (O) Noun (N) Mim (M) Lam (L) Fig. 1. Les 18 Formes de caractères arabes et leurs étiquettes correspondantes avec une résolution de 23 points/cm et une fréquence d’échantillonnage de 100 points/s. Les données enregistrées sont des séquences de de coordonnées (x(t), y(t)) dans le temps. On procède à deux opérations de pré-traitement : lissage et ré-échantillonnage. Le lissage consiste à remplacer les coordonnées d’un point par la moyenne de ses coordonnées et celles de ses voisins. Le ré-échantillonnage permet d’obtenir des points équidistants dans l’espace plutôt que dans le temps, permettant ainsi de représenter tous les caractères par un même nombre de points. Pour tester le système de base [7,8], nous avons divisé la base de données 4 N. Mezghani, A. Mitiche et M. Cheriet en deux ensembles distincts. Le premier comprend 4896 échantillons d’apprentissage et le second 2448 échantillons de test. Les tests ont montré que le nombre optimal de noeuds est de 1600 et que la dimension optimale des vecteurs d’entrées est de 17 composantes. Le taux de reconnaissance obtenu est de 86.56%. Une analyse de la matrice de confusion du système (tableau 1) nous permet de faire deux remarques importantes. En premier lieu, le taux d’erreur est très important pour certains caractères ayant une grande similarité morphologique. Par exemple, la lettre “Del“ est confondue 36% des fois avec la lettre “Ra“. En second lieu, certaines confusions entre des lettres sont absurdes, du fait qu’il n’y ait aucune ressemblance entre ces lettres, par exemple celle entre la lettre “Kaf“ et la lettre “Alif“. Ces types d’erreurs correspondent à des “noeuds intrus“ et des “noeuds morts“ comme nous l’expliquerons dans la prochaine section. Tab. 1. Matrice de confusion dans le système de base A B C D E F G H I J K L M N O P Q 4 A 117 0 4 0 0 15 7 8 7 0 19 2 9 1 3 6 5 B 7 139 0 10 0 0 0 0 0 1 0 0 0 7 0 0 0 C 4 0 134 1 0 0 1 0 0 0 0 0 0 0 0 0 0 D 3 0 0 70 16 0 8 0 0 0 0 2 1 6 6 0 0 E 5 0 0 0 125 0 0 0 0 0 0 0 0 0 0 0 0 F 2 0 0 0 0 128 0 0 0 0 1 0 0 0 0 0 0 G 0 0 1 0 0 0 123 0 0 0 0 0 2 0 0 0 0 H 0 0 2 0 0 0 0 136 0 0 1 0 4 0 0 0 0 I 2 0 0 0 0 0 0 0 137 0 0 0 0 0 0 0 0 J 0 1 0 3 0 0 0 0 0 140 1 0 0 0 1 10 0 K 0 0 0 0 0 0 0 0 0 0 121 0 6 0 3 0 0 L 1 0 0 4 1 0 5 0 0 0 0 138 0 4 0 0 3 M 2 0 0 0 0 1 0 0 0 0 0 0 120 0 0 0 0 N 0 4 0 52 1 0 0 0 0 0 0 2 0 122 3 0 0 O 0 0 2 4 0 0 0 0 0 0 0 0 0 4 107 1 1 P 0 0 1 0 0 0 0 0 0 3 0 0 2 0 21 127 0 Q 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 135 τ (%) 81.25 % 96.52 % 93.05 % 48.61 % 86.80 % 88.88 % 85.41 % 94.44 % 95.13 % 97.22 % 84.02 % 95.83 % 83.33 % 84.72 % 74.30 % 88.19 % 93.75 % Filtrage et élagage de mémoires de Kohonen Une mémoire de Kohonen a une structure particulière. Cette structure lie les neurones et les contraint à respecter une certaine topologie lors de l’apprentissage. Ainsi, des données proches dans l’espace d’entrée sont représentées par des noeuds proches dans la mémoire. Cependant, nous observons certains “noeuds intrus“ ayant des étiquettes isolées . La figure 2 illustre la présence de noeuds isolés étiquetés “A“ dans une région de classe “O“ et “H“. Ces noeuds mal-étiquetés sont dus à des entrées présentant des distorsions importantes. Nous observons également des “noeuds morts“ n’ayant pas d’étiquette. En effet, pendant l’apprentissage, certains noeuds n’ont jamais été atteints par une entrée et par conséquent n’ont pas été identifiés. Nous avons vérifié que les “noeuds intrus“ et “noeuds morts“ sont responsables d’un grand nombre d’erreur, d’où la nécessité de leur filtrage et élagage. Le filtrage consiste à remplacer l’étiquette d’un noeud en tenant compte de celle de ses voisins. L’élagage consiste simplement à supprimer les noeuds morts. Ces deux opérations sont illustrés dans le diagramme de la figure 2. Filtrage, élagage et combinaison de Mémoires de Kohonen AAA ? AAAA HHHH AAAAAAAA HHHHH AAAA HHH ? HHH OOOOOO OOO ? OOO OOOOOOO O A O A O OOOOOO OOO HHHHHHH HH A HH HHHHHH ? : Noeuds morts A : Noeuds intrus AAA AAAA AAAAAAAA AAAA Filtrage et elagage HHHH OOOOOO OOO OOO OOOOOOO O O O O O OOOOOO OOO 5 HHHH HHHHH HHH HHH HHHHHHH HH H HH HHHHHH HHHH Fig. 2. Illustration des “noeuds intrus“ et des “noeuds morts“ dans la mémoire de Kohonen 5 Combinaison de mémoires Nous avons considéré deux mémoires de Kohonen entraı̂nées sur des représentations différentes des caractères : les descripteurs de Fourier et les tangentes mesurées aux points d’échantillonnage après pré-traitement. Ces deux représentations sont complémentaires puisque la première est globale alors que la deuxième est locale. Une fois les deux mémoires entraı̂nées, nous avons adopté une règle de décision qui pour chaque caractère favorise la mémoire la plus fiable. Les tests effectués ont montré que la combinaison a permit d’améliorer considérablement les taux de reconnaissance par rapport au système de base consistant en une seule mémoire. Les deux mémoires sont filtrées et élaguées avant d’être combinées comme illustré à la figure 3. EExtraction des Descripteurs de Fourrier Apprentissage de la 1 ere mémoire Filtrage et élagage Apprentissage Tests Combinaison EExtraction des Tangentes Apprentissage de la 2 eme mémoire Bese de données Filtrage et élagage Taux de reconnaissance Fig. 3. Diagramme du système global 6 Résultats expérimentaux La base de données est séparée en deux ensembles distincts : 4896 échantillons d’apprentissage et 2448 échantillons de test. La première mémoire est composée de 1600 noeuds entraı̂née avec des vecteurs d’entrée de dimension 17 représentant les descripteurs de Fourier. La deuxième mémoire est composée de 1600 noeuds également avec des vecteurs d’entrée de 30 tangentes. Le tableau 2 montre le nombre important de noeuds morts dans les mémoires (22.82% dans l’une et 15% dans l’autre). Le pourcentage des noeuds intrus est relativement faible. Les taux de reconnaissance sont améliorés de l’ordre de 2% après élagage et filtrage (Tableau 3). La combinaison des deux mémoires de Kohonen améliore considérablement les taux de reconnaissance qui s’élève à 93.54%, celui du système de base étant de 86.56%. 6 N. Mezghani, A. Mitiche et M. Cheriet Tab. 2. Nombre des noeuds “intrus“ et “morts“ Noeuds intrus Noeuds morts Noeuds significatifs Descripteurs de Fourier Tangentes 13 17 365 240 1222 1343 Tab. 3. Taux de reconnaissance . Avant élagage et filtrage Après élagage Après Filtrage Combinaison 7 Descripteurs de Fourier 86.56% 88.84% 88.84% 93.54% Tangentes 83.12% 84.92% 85.21% Conclusion Dans cette étude, nous avons développé un système de reconnaissance de caractères Arabes manuscrits de haute performance. La méthode développée consiste à combiner deux mémoires de Kohonen entraı̂nées par des vecteurs de caractéristiques différentes, à savoir les descripteurs de Fourier et les tangentes. Avant d’être combinés, les mémoires de Kohonen ont été filtrées et élaguées des noeuds “morts“ et “intrus“ responsables de confusions importantes. Le système développé permet d’obtenir des taux de reconnaissance de près de 94% dans des tests sur une base de données de 7344 caractères, recueillis sans contraintes sur l’écriture. Références 1. T.S. Al-Sheikh and S.G El-Taweel. Real-time arabic handwritten character recognition. Pattern recognition, 23(12) :1323–1332, 1990. 2. A. M. Alimi. A neuro-fuzzy approch to recognize on -line arabic handwritting. In Proc. of Int. Conf. on Neural Network, volume 3, pages 1397–1400, Aug 1997. 3. A. M. Alimi and O. A. Ghorbel. The analysis of error in an on-line recognition system of arabic handwritten character. In Proc. of ICDAR’95, volume 2, pages 890–893, Aug 1995. 4. F. Bouslama and A. Amin. Pen-based recognition system of arabic character utilizing structural and fuzzy techniques. In Proc. 2 nd International conference on knowledge-based intelligent electronic systems (KES’98), pages 76–85, Adelaide, Australia, 1998. 5. M. S. El-wakil and A. A. Shoukry. On-line recognition of handwritten arabic character recognition. Pattern Recognition, 22(2) :97–105, 1989. 6. F. P. Kuhl and C. R. Giardina. Elliptic fourier features of a closed contour. Computer Vision, Graphics, and Image Processing, 18 :236–258, 1982. 7. N. Mezghani, A. Mitiche, and M. cheriet. On-line recognition of handwritten arabic characters using a kohonen neural network. In Proc. 8th International workshop on frontiers in handwriting recognition : IWFHR’02, pages 490–495, Niagara-on-the-Lake, Canada, 2002. 8. N. Mezghani, A. Mitiche, and M. cheriet. Reconnaissance en-ligne de caractères arabes manuscrits par un rèseau de kohonen. In Proc. Vision Interface 2002, pages 186–191, Calgary, 2002.