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.