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