Spectral Graph Matching for Printed Tifinagh Character

Transcription

Spectral Graph Matching for Printed Tifinagh Character
Reconnaissance des caractères Tifinagh Imprimés par une Description Structurelle
Y.OUADID, B.MINAOUI, M.FAKIR
Department of Computer Science, Faculty of Science and Technology Laboratory of Information Processing and Decision and Support
Beni-Mellal, USMS, Morocco
[email protected], [email protected],[email protected]
Abstract
Dans cet article, un système de reconnaissance des caractères tifinagh imprimés est présenté. Il est divisé en trois
étapes principales: prétraitement, extraction de caractéristiques et classification. Dans la phase de prétraitement, la qualité de
l’image est améliorée en utilisant les fonctions de binarisation, normalisation et squelletisation. Dans la phase d’extraction de
caractérisitques, le squelètte du caractère est divisé en plusieurs segements et representé par un graphe dont les nœuds
representent les points singuliers et les arrêtes representent les segments du caractère. En phase de classificaion, l’algorithme
d’appariement spectral est utilisé pour comparer les graphes. Ceux-ci representent les caractères générés à partir des images
de la base de donnéesIRCAM. Des résultats experimentaux sont atteints en utilisant 3267 caractères aléatoires pour tester
l’efficacité. Le système montre de bons résultats en terme de précision.
Mots-clés: Reconnaissance Optique des Caractères, Appariement des graphes, Appariement spectral, Caractères
Tifinagh, Descripteurs Structurelles.
I.
INTRODUCTION
La langue amazighe est parlée aujourd'hui par environ 14 millions de personnes, principalement dans le Maghreb.
L’écriture amazighe est normalement écrite de gauche à droite et verticalement de haut en bas, c’est une écriture non cursive
ce qui simplifie la segmentation des caractères dans une image de texte amazighe. La figure 1, illustre les caractères tifinagh
adoptés par l'IRCAM.
Le système de reconnaissance optique des caractères est un outil qui facilite l'interaction homme-machine. C’est la
procédure qui convertit une image de texte en un document texte modifiablepar l’ordinateur ou un matériel similaire. Il est
utilisé dans plusieurs domaines où le travail est basé sur les documents texte, principalement dans le bureau à des fins
d'indexation ou d'archivage automatique des documents par exemple. De nombreuses recherches ont été concentrées dans la
création d'un système de reconnaissance optique des caractères chinois [1] et arabe [2], en particulier les caractères latins. En
revanche, la reconnaissance des caractères Tifinagh, reste moins explorée.
Figure 1. Caractères Tifinagh
Les récentes approches proposées pour la reconnaissance des caractères Tifinagh impriméssont basées généralement
sur l’hybridation de plusieurs descripteurs [3,4], classifieurs [5,6], ou les deux [7] ; ce qui donne de très bonnes résultats en
terme de taux de reconnaissance. En contrepartie, combiner plusieurs descritpeurs/classifieurs augmente considérablement la
complixité du système. Autre systèmes intérressant ont été proposé, Fakir et al. [8] ont présenté un systèmequi se base sur
l’utilisation des variétés riemanniennes et la classification par SVM (Machine à Vecteurs de Support). Gounane et al. [9] ont
proposé deux systèmes pour comparer deux méthodes de classification non supervisée, les cartes auto adaptatives et les kplus proches voisins. Pour minimiser le taux d’erreur, le bigram a été utilisé [10]. Dans une nouvelle approche, Es-saady et
al. [11] ont proposé un système basé sur l’histogramme vertical et horizontal pour extraire le vercteur caracteristique à fin de
l’introduire dans les Modèles de Markov Caché. Une approche similaire a été proposé par Amrouch et al. [12] dont ils ont
utilisé une séquence de vecteur caractéristique directionnelle. El Ayachi et al. [13] ont proposé un système de reconnaissance
basé sur la représentation des caractères par un code brèle. Récemment, nous avons proposé des systèmes de reconnaissance
basés sur la représentation structurelle des caractères tifinagh. Il s’agit de la représentation par graphes. Dans une première
approche, [14] nous avons utilisé la représentation par les matrices d’incidence puis une comparaisons matricielle exacte. Le
système été très rapide mais faible contre le changement de taille et de fonte. Dans une deuxième approche, [15] nous avons
proposé un système basé sur l’extraction des points singuliers par la méthode de Harris, puis nous avons représenté ces points
et leurs connectivités par un graphe. Ensuite, nous avons comparé ces graphes par une méthode d’appariemment spectral ce
qui a donné des résultats satisfaisants. Cependant la méthode de Harris est légérement vulnérable au changement de taille.
Cela produit un nombre de points d’inflexion plus que ce qu’on désire.
Dans ce travail, nous proposons un système de reconnaissance de caractères, basé sur une approche structurelle qui
est les graphes. Pour une meilleur représentation par graphe, un algorithme d’extraction des points singuliers, précisemment
les points d’inflexion a été proposé.Ce système est composé de trois phases principales : Praitrétement, Extraction des
caractéristiquesstructurelles et classification (Figure 2).
L’organisation du reste de cet article est comme suit : dans la section 2, la phase de prétraitement du caractère est
décrite. La section 3, traite la phase d’extraction des caractéristiques structurelles. La section 4, s’occupe de la phase de
classification et enfin, dans la dernière section des résultats experimentaux sont discutés.
Acquisition de l’image
Prétraitement
1.
2.
3.
Binarisation
Normalisation
Squelettisation
Extraction des caractéristiques
1.
2.
Segmentation
Représentation par graphes
Classification
1.
Méthode spectral d’appariement
Décision
Figure 2. Système de reconnaissance de caractère Tifinagh
II.
PRETRAITEMENT
Le prétraitement vise à réduire le nombre de données en gardant que les informations pertinentes. Figure 3 illustre
un exemple de processus de prétraitement d’un caractère Tifinagh.
Nous avons procédé par la binarisation en utilisant la bien connue méthode Otsu [19].Le caractère est ensuite
normaliséen éliminant le vide entre ces bordures et celles de l’image. L’histogramme horizontal est scanné verticalement et
l’histogramme vertical est scanné horizontalement pour détecter les coins du caractère.
Le squelette du caractère est extrait en utilisant la méthode de Zhang-Suen [16]. C’est un algorithme
d’amincissement parallèle en deux itérationspour éliminer les pixels qui n’appartiennent pas au squelette du caractère.
Cependant, dans certains cas, l’algorithme produit des squelettes d’épaisseur de deux pixels dans certains endroits. Ainsi,
dans le cas du caractère numéro 25, le cercle remplit est éliminé entièrement. Pour remédier à ces problèmes nous avons
proposé les solutions suivantes :
1. Appliquer la squelettisation sur les composants connexes au lieu de l’appliquer sur l’image entière. Cela nous permet de
traiter le cas des composants qui sont éliminés après l’amincissement.
2. Lisser le squelette en éliminant les pixels qui n’affectent pas la connectivité et la topologie du caractère. Il s’agit de traiter
les pixels dont le nombre de voisinage et le nombre des transactions 01 est différent.
(a)
(b)
(c)
(d)
Figure 3. Exemple processus de prétraitement des caractère Tifinagh, (a) Image Original monochrome, (b) Normalisation,
(c) Squelettisation, (d) Lissage du squelette
III.
EXTRACTION DES CARACTERISITQUES STRUCTURELLES
Le but de cette étape est de fournir une description synthétique du caractère. En utilisant l'approche structurelle, qui
est la représentation graphique. Nous avons proposé un algorithme pour diviser le squelette du caractère en plusieurs lignes.
A. Extraction des points singuliers
Afin de diviser correctement le squelette du caractère en plusieurs lignes, nous avons commencé par extraire les
points clés primaires qui sont les points d’intersection et les points d’extrimités. Il s’agit des pixels dont le nombre de
transaction de zero (0) à un (1) dans les voisinages est égale à 1 (point extrémité) ou supérieur à 2 (point d’intersection).
Figure 4.(b) illustre un exemple d’extraction des points extrémitéset d’intersection. Dans le cas des caractères cerculaire,
comme le caractère 1, on n’aura pas de points d’intersection ni d’extrémité. Pour remidier à ce problème, un point est ajouté
comme points singulier (celle du coin haut à gauche).
L'étape suivante consiste à trouver des points d’inflexion. Tout d’abord, Nous avonsextrait les segments entre les
points clés primaires (voir figure 4.(c)), cela va nous permettre d'analyser chaque segment séparément et décider si un point
d’inflexion est nécessaire ou non. Nous avons proposé un critère qui permet de classer les segments en deux types de forme
géométrique simple : ligne et arc. Il s’agit de calculer la longueur du segment D par rapport à la longueur de la ligne d qui
relie les deux extrémités du segment.Dans notre cas, le seuil qui détermine le type de la forme du segment est 0.2.
D−d
≥ 0.2 le segment est un arc
D
D−d
< 0.2 𝑙𝑒 𝑠𝑒𝑔𝑚𝑒𝑛𝑡 𝑒𝑠𝑡 𝑢𝑛𝑒 𝑙𝑖𝑔𝑛𝑒
D
(1)
Lorsqu'un arc est détecté, la distance orthogonale entre les éléments du segment et la ligne droite est calculée.
L'élément qui possède la distance perpendiculaire maximale est désigné comme un point d’inflexion. Chaque fois un point est
ajouté dans un segment, deux nouveaux segmentsremplacent l'ancien segment dans la liste des segments. L'algorithme utilisé
pour l'extraction des points est lesuivant :
1. Extraire les points d’intersections et pointsd’extrémité.
2. Extraire les segments reliant ces points.
3.
4.
5.
6.
Pour chaque segment, vérifier si c’est un arc ou ligne.
Pour chaque arc designer le pixel qui a la plus grande distance orthogonale comme un point singulier.
Mettre à jour la liste des segments.
Tant qu’il y a un segment de type arc répéter l’étape 3 à 5.
(a)
(b)
(f)
(e)
(c)
(d)
Figure 4. Exemple du processus d’extraction des caractéristiques structurelles d’un caractère Tifinagh, (a) squelette du
caractère, (b) points d’intersections et d’extremité, (c) segmentation du caractère basé sur les points primaires,
(d) points d’inflexion, (e) points singuliers, (f) representation du caractère par graphe
B. Représentation graphique
De nombreux travaux sur la reconnaissance de formes par la représentation graphique ont été réalisés [17]. Ils sont
tous d'accord sur le fait que la conversion d'une image en un graphe est une étape très importante. Le graphe doit représenter
les caractéristiques de la lettre dans une large mesure.
Un graphe est une représentation mathématique formelle d'un ensemble d'objets et de leurs relations. Chaque objet
est appelé un sommet. Les relations entre les objets sont appelées arrêtes. Plus formellement, nous définissons un graphe G
comme une paire ordonnée de G = (V, E) où V est un ensemble de sommets, E est un ensemble d'arrêtes qui définissent la
connectivité entre une paire de sommets.
La matrice d'adjacence est une façon de représenter les graphes. Il s’agit d’une matrice carrée binaire AM où le
nombre de sommets | V | est sa taille. L'entrée dans la ligne i et la colonne j est non nul si et seulement si l’arrête (i, j) est dans
le graphe ce qui signifie :
𝐴𝑀 𝑖, 𝑗 = 1, 𝑠𝑜𝑚𝑚𝑒𝑡 𝑖 𝑒𝑡 𝑗 𝑠𝑜𝑛𝑡 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠 𝑝𝑎𝑟 𝑢𝑛𝑒 𝑎𝑟𝑟ê𝑡𝑒
𝐴𝑀 𝑖, 𝑗 = 0, 𝑠𝑜𝑚𝑚𝑒𝑡 𝑖 𝑒𝑡 𝑗 𝑛𝑒 𝑠𝑜𝑛𝑡 𝑝𝑎𝑠 𝑐𝑜𝑛𝑛𝑒𝑐𝑡é𝑠
(2)
Dans notre cas, nous avons travaillé sur les graphes non orientés dont la direction des arrêtes n’est pas importante.
Cette représentation est rapide et compacte. Cependant, il existe une redondance d’information lorsqu’on travaille avec les
graphes non orientés.
Après la segmentation du caractère, les caractéristiques extraites seront représentées par un graphe non orienté, où
les nœuds représentent les points singuliers et les arrêtes représentent les segments reliant ces points par paire. L'algorithme
de construction graphique est procédé comme suit :
1.
2.
3.
Soit𝐴𝑀une matrice d’adjacence de taille 𝑛 × 𝑛.Dont n est le nombre des points singuliers.
Pour chaque segment, 4 informations sont extraites : premier point singulier, second points, orientation 𝑂(calculé
à l’aide des fonctions existante dans MATLAB) du segment, longueur 𝐿 du segment.
En se basant sur ces informations, la matrice d’adjacence est construite tell que :
AM i, j = ω, point clé i est connecté au point clé j
AM i, j = 0, else
𝜔 =2×𝐿+𝑂
Tel que,
(3)
(4)
Figure 5illustre un exemple de représentation matricielle et graphique du caractère Yaḍ.
0
0
0
45
0
0
0
0
0
0
59
0
0
0
0
0
0
59
45
0
0
0
85
84
0
59
0
85
0
0
0
0
59
84
0
0
(b)
(a)
Figure 5. Représentation structurelle du caractère Yaḍ: (a) Matrice d’adjacence, (b): Représentation graphique
IV.
CLASSIFICATION
A. Appariemment des graphes
La méthode spectrale utilisée [18] vise à trouver un accord cohérent entre deux ensembles de caractéristiques P (P
contient 𝒏𝑷 élément) et Q (Q contient 𝒏𝑸 élément). Elle est généralement utilisée pour trouver le composant principal dans
un graphe. Ceci est réalisé en créant la matrice d’adjacence M, où les sommets représentent l'attribution potentielle (𝒂 =
(𝒊, 𝒊′), et 𝒊 ∈ 𝑷 𝒊′ ∈ 𝑸) entre deux points singuliers et les arrêtes représentent le degré de ressemblance entre ces affectations.
Ils sont représentés par un poidpositif si deux paires d’affectations sont convenable, autrement une valeur nulle est assignée.
Dans notre cas, nous avons utilisé une mappage un-à-un de correspondance (au lieu de un à plusieurs). Ce qui signifie qu’un
point singulier du premier set est assigné à un seulpoint à partir du deuxième set. Cette représentation prend en compte la
géométrie du caractère et le degré de similarité entre les segments et les points singuliers. En observant la matrice
d’adjacence M, nous pouvons extraire les propriétés spectrales qui peuvent nous aider à déterminer à quel point une paire de
caractéristiques est reliée au regroupement principal. Nous continuons de rejeter la correspondance avec une faible
association jusqu'à ce que nous atteignions le mappage un-à-un de la correspondance. La procédure pour construire la matrice
M est la suivante :
Étant donné C un ensemble de paires où 𝒂 = (𝒊, 𝒊′) ∈ 𝑪. Il contient toutes les affectations possibles qui respectent
lemappage par correspondance un-à-un (une caractéristique de P est assignée au plus à une caractéristique de Q). Pour
mesurer l'accord entre les deux caractéristiques de P et Q, une liste L est considéré comme le score associé pour chaque
affectation candidat 𝒂 ∈ 𝑪 et une affinité associée pour chaque paire d’affectation (a, b) où 𝒃 ∈ 𝑪. Sur la base de cette liste,
nous stockons ces scores sur la matrice 𝑴 comme suit :
 Les entrées diagonales de M contiennent le score d'affectation individuelle 𝑎 ∈ 𝐶.
 Les autres entrées contiennent le score de paires d’affectation (a, b) telle que𝑏 ∈ 𝐶.
Puisque nous avons utilisé les points d'intérêt comme caractéristiques, toutes les paires d’affectation sont des
candidats. Maintenant, le problème de la correspondance est réduit à trouver le cluster C qui maximise le score inter cluster.
S=
a,b∈C
M(a, b) = x T Mx
(5)
𝑥 est un vecteur binaire tel que :
x a = 1 if a ∈ C
x a = 0 if a ∉ C
(6)
Pour trouver le meilleur cluster𝑪∗ , nous devons trouver le vecteur binaire 𝒙∗ qui maximise le score 𝑺. Plus grand est
le score, meilleur est la similarité entre les caractères.
x ∗ = argmax(x T Mx)
(7)
Nous avons appliqué la méthode en suivant l’algorithme décrit comme suit :
1. Construire la matrice symétrique et positive M.
2. Initialiser L par toutes les affectations possibles et x comme un vecteur nul.
3. Trouver a∗ = argmaxa∈L (x ∗ a ), tel que x ∗ est le vecteur propre principal de M.
4. Si x ∗ a∗ = 0 retourner la solution x. Si non, soit x a∗ = 1 et retirer a∗ de L.
5. Supprimer toutes les affectations qui sont en conflit avec a∗ (correspondance un-à-un).
6. si L est vide retourner la solution x. Si non, retourner à l’étape 3 et 4.
V. RESULTATS ET DISCUSSION
Des résultats sont obtenus à partir des expériences sur la base IRCAM composé de 3300 images différentes en style
d’écriture et de taille. Dans la phase de prétraitement, la méthode d’histogramme pour la normalisation ainsi l’algorithme de
Zhang-Suen pour la squelettisation sont utilisés. La figure 6, illustre le temps moyen écoulé pour le prétraitement de chaque
caractère tifinagh. Le niveau de bruit dans la base de donnée IRCAM est en niveau bas/moyen, du coup on n’a pas senti le
besoin d’utiliser une méthode de réduction de bruit car la méthode d’Otsu est largement suffisante pour ce niveau de bruit.
Dans la phase d’extraction des caractéristiques structurelles, chaque caractère est représenté en se basant sur les
points singuliers extraits. Notre objectif est de représenter un caractère par le minimum possible des points singuliers. Le
tableau 1 illustre le nombre de points désiré pour chaque caractère. En utilisant l’algorithme proposé, nous avons réussi à
avoir des résultats satisfaisants sans sacrifier le temps d’exécution. La figure 7& 8, illustrent le nombre de points singuliers
,extraits pour chaque caractère, comparé avec le nombre de points désiré,et le temps écoulé pour les extraires.
Dans la phase de classification, nous avons adopté une méthode d’appariement spectral des graphes. Il s’agit de
calculer les propriétés spectrales de la matrice d’adjacence qui représente la similarité entre deux graphes. Pour mettre en
valeur notre système, nous l’avons comparé avec d’autres systèmes réalisés dans notre laboratoire. Le tableau 2 illustre la
précision et le temps d’exécution obtenus et comparés avec les résultats obtenuspar d’autres systèmes. Concernant le taux
d’erreur, un peu près de 22 sur 3267 images de caractèressontmal classifiées. La plupart des cas sont relatifs au caractère 01
et 22, mais lorsqu’on analyse la base de donnée IRCAM,on remarque que c’est difficile pour l’œil humaine de différencier
entre le caractère 01 en grand taille avec le caractère 22 en petite taille.
Tableau1: Nombre de points singuliers désirés pour chaque caractère
Yab
Yag
Yagw
Yad
Yaḍ
Yey
Yef
Yak
Yakw
Yah
Yaḥ
4
5
7
11
3
6
10
8
5
9
5
4
Yal
Yam
Yan
Yar
Yaṛ
Yaᵹ
Yas
Yaṣ
Yat
6
4
2
4
7
5
6
7
5
Yu
8
Yac
9
Yaᶓ
Yax
Yaq
Yi
Yaj
5
7
5
6
Yaṭ
Yaw
Yay
Yaz
Yaẓ
9
4
4
8
11
100
90
80
70
60
50
40
30
20
10
0
Ya
Yab
Yag
Yagw
Yad
Yaḍ
Yey
Yef
Yak
Yakw
Yah
Yaḥ
Yaᶓ
Yax
Yaq
Yi
Yaj
Yal
Yam
Yan
Yu
Yar
Yaṛ
Yaᵹ
Yas
Yaṣ
Yac
Yat
Yaṭ
Yaw
Yay
Yaz
Yaẓ
Temps d'execution (ms)
Ya
Nom du caractère
Figure 6. Temps d’execution par caractère dans la phase de prétraitement
6
Ya
Yab
Yag
Yagw
Yad
Yaḍ
Yey
Yef
Yak
Yakw
Yah
Yaḥ
Yaᶓ
Yax
Yaq
Yi
Yaj
Yal
Yam
Yan
Yu
Yar
Yaṛ
Yaᵹ
Yas
Yaṣ
Yac
Yat
Yaṭ
Yaw
Yay
Yaz
Yaẓ
Mpyenne des nombres de points
14
12
10
8
6
4
2
0
Nom du caractère
Méthode proposé
Nombre de points singulier désirer
25
20
15
10
5
0
Ya
Yab
Yag
Yagw
Yad
Yaḍ
Yey
Yef
Yak
Yakw
Yah
Yaḥ
Yaᶓ
Yax
Yaq
Yi
Yaj
Yal
Yam
Yan
Yu
Yar
Yaṛ
Yaᵹ
Yas
Yaṣ
Yac
Yat
Yaṭ
Yaw
Yay
Yaz
Yaẓ
Temps d'execution en (ms)
Figure 7. Comparaison des points singuliers obtenus avec ceux désirables
Nom du caractère
Figure 8. Temps d’execution d’extraction des caractéristiques
Tableau2 :Comparaison des systèmes de reconnaissance des caractères tifinagh
Descripteur
Méthode structurelle
proposée
Descripteur Gist
Moments de
Legendre
Classifieur
Appariementspectral
des graphes
Réseauxbayésiens
Réseaux de
neurone
multicouche
Taux de reconnaissance (%)
99
98
81
Taux d’erreur (%)
1
2
19
Temps d’exécution(sec)
3200
5912.676
28 154.28
Système de
reconnaissance
VI.
CONCLUSTION
Dans cetravail, nous avons présenté un système rapide et précis pour la reconnaissance des caractères Tifinagh. IL
est basé sur la mise en correspondance des graphes via une méthode d’appariement spectral efficace. Cette méthode utilise
les propriétés spectrales de la matrice d'affinité pour calculer le score de similarité entre les graphes. Chaque graphe
représente les caractéristiques structurelles du caractère qui sont les points singuliers et leurs connectivités. Les résultats des
expériencesréalisés montrent que la plupart des caractères sont reconnus sans compromettre le temps d’exécution. Dans les
travaux futurs, nous envisagerons appliquer le système sur l’écriture manuscrite tifinagh avec une plus grande base de
données et niveau plus élevé de bruit pour rendre le système plus fiable.
VII. REFERENCES
[1] S Mansi, G B Jethava. (2013). A Literature Review On Hand Written character Recognition. Indian Streams Research
Journal. Vol-3, issue –2.
[2] M LLorigo, V Govindaraju. (2006). Offline Arabic handwriting recognition: a survey. IEEE Transactions on Pattern
Analysis and Machine Intelligence.28(5), 712-724.
[3] M Oujaoura, B Minaoui and M Fakir. (2013). Walsh, Texture and GIST Descriptors with Bayesian Networks for
Recognition of Tifinagh Characters. International Journal of Computer Applications. Volume 81, No.12.
[4] R El Ayachi, M Fakir, B Bouikhalene. (2012). Transformation de Fourier et moments invariants appliqués à la
reconnaissance des caractères Tifinaghe. e-TI - la revue électronique des technologies d'information. Number 6.
[5] O Bencharef, M Fakir, B Minaoui and B Bouikhalene. (2011). Tifinagh Character Recognition Using Geodesic Distances,
Decision Trees & Neural Networks. (IJACSA) International Journal of Advanced Computer Science and Applications,
Special Issue on Artificial Intelligence.
[6] B El Kessab, C Daoui, K Moro, B Bouikhalene and M Fakir. (2011). Recognition of Handwritten Tifinagh Characters
Using a Multilayer Neural Networks and Hidden Markov Model. Global Journal of Computer Science and Technology.
Volume 11, Issue 15, Version 1.0.
[7] M Oujaoura, B Minaoui, M Fakir and O Bencharef. (2014). Recognition of Isolated Printed Tifinagh Characters.
International Journal of Computer Applications. Volume 85, No 1.
[8] M Fakir, O Bencharef, B Bouikhalene and B Minaoui. (2011). Tifinagh Character Recognition Using Riemannian Metric,
SVM & Neural Networks. International Journal of Advances in Science and Technology. Vol 2, No 6.
[9] S Gounane, M Fakir and B Bouikhalene. (2011). Recognition of Tifinagh Characters Using Self Organizing Map and
Fuzzy K-Nearest Neighbor. Global Journal of Computer Science and Technology. Volume 11, Issue 15.
[10] S Gounane, M Fakir and B Bouikhalene. (2013). Handwritten Tifinagh Text Recognition Using Fuzzy K-NN and Bigram Language Model. IJACSA Special Issue on Selected Papers from Third international symposium on Automatic
Amazighe processing (SITACAM’ 13). Beni Mellal.
[11] Y Es-Saady, M Amrouch, A Rachidi, M El Yassa and D Mammass. (2012). Réalisation d’un OCR pour l’écriture
Amazighe imprimée. 5th International Conference on ICT for Amazigh.
[12] M Amrouch, Y Es-saady, A Rachidi and M El Yassa and D Mammass. (2012). Handwritten Amazighe Character
Recognition System Based on Continuous HMMs and Directional Features. International Journal of Modern Engineering
Research (IJMER). Vol 2, Issue 2. Pages 436-441.
[13] R El Ayachi, M Oujaoura, M Fakir and B Minaoui. (2014). Code Braille et la reconnaissance d’un document écrit en
Tifinagh, The International Conference on Information and Communication Technologies for the Amazigh (TICAM).
Rabat.
[14] Y Ouadid, B Minaoui, M Fakir, O.Abouelala. (2014). New Approach of Tifinagh Character Recognition using Graph
Matching, The International Conference on Information and Communication Technologies for the Amazigh (TICAM).
Rabat.
[15] Y Ouadid,B Minaoui,M Fakir. (2016). Spectral Graph Matching for Printed Tifinagh Character. 13th International
Conference on Computer Graphics, Imaging and Visualization (CGiV). Beni Mellal.
[16] T Y Zhang, C Y Suen. (1984). A Fast Parallel Algorithm for Thinning Digital Patterns. Communications of the ACM.
Volume 27, Number 3.
[17] M Vento, (2015). A long trip in the charming world of graphs for Pattern Recognition, The Journal of the Pattern
Recognition Society,Volume 48, Issue 2, Pages 291–301.
[18] M Leordeanu, M Hebert. (2005). A spectral technique for correspondence problems using pairwise constraints,
International Conference of Computer Vision(ICCV'05) Volume 1 (Vol. 2, pp. 1482-1489). IEEE.
[19] Nobuyuki Otsu (1979). "A threshold selection method from gray-level histograms". IEEE Trans. Sys., Man., Cyber. 9
(1): 62–66