approche multi-niveaux pour la recherche de texte par l...

14
Approche multi-niveaux pour la recherche de texte par l’exemple dans les images de documents historiques Frédéric Rayar Partha Pratim Roy Jean-Yves Ramel Université François Rabelais de Tours Laboratoire d’Informatique 64 Avenue Jean Portalis 37200 Tours {frederic.rayar, partha.roy, jean-yves.ramel}@univ-tours.fr RÉSUMÉ. Dans cet article, nous présentons un système d’indexation et de recherche par l’exemple dans les documents, adapté aux images de documents historiques dégradés. Les textes présents dans les documents sont encodés en séquences de primitives, provenant de deux dic- tionnaires (codebook), qui correspondent à deux niveaux d’analyse différents. L’un exploite les informations provenant des composantes connexes. Le second, plus fin, utilise les glyphes. Un glyphe est un caractère ou un morceau de caractère. Lors de la recherche, une stratégie multi- niveaux est exploitée. Le premier niveau et sa description plus grossière des textes est d’abord utilisé. Puis, la recherche peut être affinée si nécessaire, à l’aide du second niveau de primi- tive. Une méthode de comparaison de chaînes de caractères est ensuite exploitée, et permet de réduire le temps de réponse des recherches de manière significative. Les expérimentations, menées sur des données provenant de divers documents historiques, présentent des temps de réponse très prometteurs, ainsi que des résultats pertinents en présence de dégradation. ABSTRACT. In this paper, we present a system to index and retrieve text in degraded historical im- age documents. During indexation, images text parts are encoded into sequences of primitives, obtained from two different codebooks. A coarse one use connected components information, and a fine one, take advantage of glyph primitives. A glyph consists of a single character or a part of a character. During the retrieval, a coarse-to-fine strategy is exploited. The coarse code- book is used first, and then, if necessary, the finer codebook, by exploiting coarse search pre- determined hypothetical locations. Then, an approximate string matching algorithm is applied to find similar words, allowing the response time to be considerably reduced. Experimental evaluation on various datasets, gathered from historical books of different scripts, demonstrate promising speed and good accuracy in presence of degradation. MOTS-CLÉS : Repérage de Mots, Recherche de Textes, Documents Historiques, Glyphe KEYWORDS: Word Spotting, Text Retrieval, Historical Documents, Glyph Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

Upload: others

Post on 03-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherchede texte par l’exemple dans les images dedocuments historiques

Frédéric Rayar — Partha Pratim Roy — Jean-Yves Ramel

Université François Rabelais de ToursLaboratoire d’Informatique64 Avenue Jean Portalis37200 Tours

{frederic.rayar, partha.roy, jean-yves.ramel}@univ-tours.fr

RÉSUMÉ. Dans cet article, nous présentons un système d’indexation et de recherche parl’exemple dans les documents, adapté aux images de documents historiques dégradés. Les textesprésents dans les documents sont encodés en séquences de primitives, provenant de deux dic-tionnaires (codebook), qui correspondent à deux niveaux d’analyse différents. L’un exploite lesinformations provenant des composantes connexes. Le second, plus fin, utilise les glyphes. Unglyphe est un caractère ou un morceau de caractère. Lors de la recherche, une stratégie multi-niveaux est exploitée. Le premier niveau et sa description plus grossière des textes est d’abordutilisé. Puis, la recherche peut être affinée si nécessaire, à l’aide du second niveau de primi-tive. Une méthode de comparaison de chaînes de caractères est ensuite exploitée, et permetde réduire le temps de réponse des recherches de manière significative. Les expérimentations,menées sur des données provenant de divers documents historiques, présentent des temps deréponse très prometteurs, ainsi que des résultats pertinents en présence de dégradation.

ABSTRACT. In this paper, we present a system to index and retrieve text in degraded historical im-age documents. During indexation, images text parts are encoded into sequences of primitives,obtained from two different codebooks. A coarse one use connected components information,and a fine one, take advantage of glyph primitives. A glyph consists of a single character or apart of a character. During the retrieval, a coarse-to-fine strategy is exploited. The coarse code-book is used first, and then, if necessary, the finer codebook, by exploiting coarse search pre-determined hypothetical locations. Then, an approximate string matching algorithm is appliedto find similar words, allowing the response time to be considerably reduced. Experimentalevaluation on various datasets, gathered from historical books of different scripts, demonstratepromising speed and good accuracy in presence of degradation.

MOTS-CLÉS : Repérage de Mots, Recherche de Textes, Documents Historiques, Glyphe

KEYWORDS: Word Spotting, Text Retrieval, Historical Documents, Glyph

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

Page 2: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

1. Introduction

Avec l’essor d’Internet et des nouveaux services du Web, les Bibliothèquesnumériques et les Centres d’archives ont progressivement porté un intérêt croissantpour la numérisation en masse et la transcription de documents historiques. Outreun objectif évident de préservation du patrimoine culturel, ces instituts souhaitentrendre accessible ces documents de grande valeur à un plus large public. La recherched’information dans ces documents dépend de la qualité de la transcription. Orles transcriptions automatiques, résultats fournis par les différents systèmes deReconnaissance Optique de Caractères (OCR) du marché actuel ne sont pas oupeu satisfaisants. En effet, les systèmes d’OCR classiques font preuve de faiblesperformances, quand ils sont confrontés à des images souvent très dégradées par levieillissement du papier, les déformations du papier, etc.

Le Repérage de mots (Word Spotting) (Marinai et al., 2003, Rath et al., 2003)propose une approche alternative à l’indexation et la recherche dans des documents.Cette technique ne cherche pas à reconnaître chaque caractère : des occurences demots spécifiques sont localisés par comparaison d’images, évitant ainsi la tâchedifficile de la segmentation d’un mot en caractères. Le résultat est fourni sous formed’une liste de régions similaires à l’image requête, triée selon le taux de similarité parrapport au mot recherché. La comparaison est effectuée le plus souvent en exploitantune description de la forme du mot, généralement en considérant un ensemble decaractéristiques globales, extraites de l’image du mot.

Ainsi, plusieurs méthodes existantes de Repérage de mots reposent sur unesegmentation exacte en mots ou en Composants Connexes (CC). Rath et Manmatha(Rath et al., 2003) utilisent le profil de la projection verticale et les profils desfrontières hautes et basses du mot, puis exploitent l’algorithme du Dynamic TimeWarping (DTW) comme distance afin de comparer les différents mots. Leydier etal. (Leydier et al., 2009) utilisent, pour leur part, une distance élastique qualifiéede cohésive. Généralement, des caractéristiques concernant la forme du mot sontutilisées pour représenter les mots dans des documents imprimés. Lu et al. (Lu etal., 2008) proposent, quant à eux, une méthode de recherche reposant sur un jeu decaractéristiques topologiques (parties basses et hautes des caractères, trous, etc). Desméthodes de Repérage de mots, sans segmentation préalable des documentss ontété proposées, par Gatos et Pratikakis (Gatos et al., 2009), ou plus récemment parRusiñol et al. (Rusiñol et al., 2011), mais celles-ci restent assez coûteuses en tempslors des recherches.

La Figure 1 présente un exemple de document illustrant ces problèmes. Dans lesdocuments anciens, l’espacement entre caractères et entre mots n’est pas uniforme,augmentant ainsi la difficulté de segmentation du texte en mots et en caractères.Ces segmentations sont souvent imparfaites à cause des dégradations de l’image,

Page 3: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

des caractères qui se touchent ou qui sont brisés, ce qui nuit aux performances dela recherche. Il est à noter que le document contient aussi des mots de systèmesd’écriture autre que l’alphabet latin. Ainsi, les méthodes de Repérage de mots sedoivent d’être suffisamment robustes pour s’adapter aux problèmes de segmentationen mots et en caractères, mais aussi indépendantes du système d’écriture.

Figure 1. Extrait d’un document historique illustrant (a) L’espacement irrégulierentre les mots qui empêche une bonne segmentation. (b) Les difficultés de regrouperdes caractères dans un mot dues à de grand espaces entre caractères. (c) La présencede mots d’un système d’écriture différent de celui du document.

En présence de documents imprimés, le codage de la forme est souvent utilisépour encoder les mots (Lu et al., 2008). En s’inspirant de cette idée, nous proposonsune méthode de recherche de textes dans des images de documents historiques quiexploite la segmentation en primitives proposée dans (Roy et al., 2011). L’étude decet article se place dans la continuité du premier travail, avec une reformulation desstratégies d’indexation et de recherche, pour améliorer les temps de réponse lors de larecherche. Une approche multi-niveaux est exploitée, avec deux niveaux d’analyse.Lors de la phase d’indexation, les textes présents dans les documents sont encodésen séquences de primitives, provenant de deux dictionnaires, qui correspondent auxdeux niveaux d’analyse. L’un exploite les informations provenant des composantesconnexes. Le second, plus fin, utilise les glyphes. Un glyphe est un caractère ou un

Page 4: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

morceau de caractère. Durant la phase de recherche, les deux séquences de primitivescorrespondant à l’image requête sont générées. Puis, une méthode de comparaisonapproximative de chaînes de caractères est exploitée à deux niveaux, afin de retrouverles textes similaires à la requête. Dans un premier temps, la recherche est menée dansle premier index lié aux composantes connexes, puis, si nécessaire dans le secondindex, en exploitant les candidats potentiels prédéterminés lors de la première passede recherche.

La méthode proposée est générique et peut être appliquée à divers systèmesd’écriture, puisqu’elle s’appuie sur le vocabulaire d’un dictionnaire dynamique,adapté lors de l’encodage des textes. Les principales contributions de cet article sontl’utilisation de primitives de type glyphe, granularité plus fine que le mot ou les CC,ainsi que la stratégie multi-niveaux d’indexation et de recherche. L’avantage de cetteapproche est une recherche efficace, qui utilise un niveau de description des textes,adapté selon la complexité du texte et sa dégradation (caractères brisés ou qui setouchent, etc). En outre, l’utilisation d’une méthode de comparaison approximativede chaînes de caractères, permet d’obtenir de très bons temps de réponse, tout enadmettant une certaine tolérance face au bruit. De plus, une segmentation exacte destextes en mots n’est plus nécessaire : une segmentation en lignes est suffisante pourdéterminer l’emplacement exact d’un mot requête dans une mise en page complexe.

La suite de cet article est présentée de la manière suivante : la section 2 présentel’approche utilisée lors de la phase d’indexation. La section 3 détaille le principede recherche et la stratégie multi-niveaux utilisée. Les expérimentations, menéessur différentes collections de documents, sont présentées dans la section 4. Enfin, lasection 5 conclut l’article.

2. Indexation du texte

Dans la méthode d’indexation proposée, la séparation texte/image des documents,ainsi que la segmentation en lignes des textes sont des prérequis. Nous avons utilisépour ces tâches AGORA (Ramel et al., 2007), un outil d’analyse de mise en pageet de segmentation de textes, qui se révèle performant pour l’analyse de documentshistoriques. AGORA permet ainsi d’obtenir une segmentation des documents en blocsde textes, puis en lignes.

2.1. Extraction des primitives

La méthode d’indexation proposée repose sur la description des textes à l’aide dedictionnaires de primitives. L’idée est qu’une chaîne de caractères peut être décritepar un ensemble fini de primitives connues. Nous avons utilisé deux primitives dans

Page 5: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

notre approche : les composantes connexes (CC) et les glyphes. Une composanteconnexe correspond à une forme décrite par des pixels connexes. Un glyphe peutêtre une CC ou un morceau de CC, selon la forme de cette dernière. Dans la suite del’article, le terme " primitive " se référera indifféremment aux CC et aux glyphes.

Afin d’obtenir ces primitives, une segmentation en CC de l’image de la ligne detexte est effectuée. Chacune des CC est ensuite segmentée en glyphes en utilisantles informations relatives à son arrière-plan. Afin d’isoler l’arrière-plan d’une CC, leconcept de réservoir d’eau (water reservoir (Pal et al., 2003)) est utilisé. L’expressionréservoir d’eau est une métaphore pour illustrer la région concave d’une CC. Le prin-cipe peut se visualiser de la manière suivante : si de l’eau est versée depuis un bordde la composante, les régions concaves de l’arrière-plan de la composante où l’eaustagnera seront considérées comme les réservoirs de la composante. Pour la suite del’article, les termes de réservoir haut (respectivement bas, orienté vers la droite etorienté vers la gauche), se référeront aux réservoirs obtenus quand de l’eau est ver-sée depuis le haut (respectivement le bas, la droite et la gauche) de la composante.Il a été observé que les caractères qui se touchent ont une influence moindre sur lesréservoirs orientés vers la droite et vers la gauche. Aussi, il a été décidé d’extraire uni-quement les réservoirs haut et bas. La Figure 2 présente une CC, ainsi que les glyphescorrespondantes.

Figure 2. Deux types de primitives : Composante Connexe et Glyphe.

La méthode produit les glyphes à partir des CC. Aussi, certains caractères (e.g. ’i’,’á’, ’é’, etc.) composés de plusieurs CC sur l’axe vertical, seront segmentés en plu-sieurs glyphes. Afin de pallier ce phénomène, une vérification sur le chevauchementhorizontal des composantes est effectuée, et ces dernières sont fusionnées au besoin(Roy et al., 2011). La Figure 3 présente un mot segmenté en glyphes.

Figure 3. L’image d’un mot et sa segmentation en glyphes.

Page 6: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

2.2. Génération des dictionnaires de primitives

Dans ce travail, deux dictionnaires de primitives ont été générés. Le premier cor-respond aux primitives de type CC, le second, aux primitives de type glyphe. La gé-nération d’un dictionnaire de primitives est réalisée durant une phase d’apprentissage.Les primitives sont extraites depuis un ensemble de documents d’apprentissage. Puis,un clustering non supervisé est effectué, de manière incrémentale, sur cet ensemblede primitives extraites. Les représentants des classes obtenues seront les éléments quicomposeront le dictionnaire. La similarité (S) entre deux primitives A et B est mesu-rée par comparaison de modèles (template matching), pixel à pixel et en utilisant lamesure suivante :

S(A,B) =

∑h−1y=0

∑w−1x=0 A(x, y)B(x, y)√∑h−1

y=0

∑w−1x=0 A(x, y)2

√∑h−1y=0

∑w−1x=0 B(x, y)2

où, A(x, y) = A(x, y)− A et B(x, y) = B(x, y)− B.A, B sont les moyennes des valeurs des pixels. h and w sont les valeurs normaliséesde la hauteur et largeur d’une primitive.

La taille du dictionnaire dépend bien évidemment de l’hétérogénéité des formesdes primitives dans les données d’apprentissage, ainsi que du nombre de documentsfournis lors de cet apprentissage. Dans notre implémentation, les dictionnaires sontgénérés à partir de 20% de l’ensemble des documents étudiés.

2.3. Indexation des documents

Une fois le dictionnaire créé à partir des données d’apprentissage, il peut êtreutilisé pour indexer l’ensemble des lignes contenues dans les zones de texte du livre.Afin de réaliser cette tâche, un label unique est assigné à chacune des primitivesdu dictionnaire. Soit Li ∈ Lm = {L1, L2, . . . , Lm}, les labels assignées à chaqueprimitives du dictionnaire. Soit S, une ligne de texte représentée par la séquencede primitives h1h2 . . . hl, où l est le nombre de primitives composant S. Chaqueprimitive hi est comparée, à l’aide de la mesure de similarité S, à toutes les primitivesdu dictionnaire, et le label de la primitive du dictionnaire la plus similaire à hi

lui est assigné. Ainsi, une ligne de texte S sera représentée par la suite de labelsLh1Lh2 . . . Lhl, où Lhi est le label de hi.

Une primitive n’est pas forcément toujours assignée au même représentant dudictionnaire. Ce phénomène est du à la présence de bruit, qui influe durant de lacomparaison de modèles. Afin de pallier ce problème, lors de la comparaison d’uneprimitive à celles présentes dans le dictionnaire, ces dernières sont ordonnées suivantla mesure de similarité S. Les c plus proches voisines sont conservées et stockéesdans l’index. Dans les expérimentations, la valeur c = 3 a été utilisée. La Figure 4

Page 7: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

détaille le schéma d’indexation utilisé dans notre approche.

Figure 4. Schéma d’indexation.

Durant la première passe, l’ensemble des lignes de textes présentes dans lesdocuments étudiés, est encodé en séquences de primitives, avec le processus détailléprécédemment. Pour chaque document, un fichier index permet de stocker lescoordonnées des rectangles englobant (bounding box) de chaque ligne du document,ainsi que les abscisses des primitives extraites, afin d’avoir une correspondance entrela séquence de primitives et les coordonnées sur l’image 2D. Ces informations serontexploitées durant l’affichage des résultats de la recherche.

Afin d’améliorer les temps de réponses durant une recherche, une seconde passed’indexation est effectuée. Dans cette étape, un fichier index est crée pour chaqueprimitive du dictionnaire considéré. Chacun de ces fichiers indexera l’ensemble despositions où apparait la primitive associée dans les documents étudiés.

Dans notre approche à deux niveaux, les index concernant les CC et les glyphessont générés.

3. Recherche de textes

Soit Q, le texte recherché dans la collection de documents. Deux approches sontenvisageables pour obtenir les résultats de la recherche. L’une, exploitant un seul typede primitive (CC ou glyphe), la seconde, multi-niveaux, exploitant une combinaisonintelligente des CC et des glyphes. Ces deux approches seront décrites ci-dessous.Dans les deux cas, nous ramenons le problème à une recherche de chaînes de carac-tères, aussi, l’ASM (Approximate String Matching) (Hall et al., 1980) a été utilisédans notre étude. Il s’agit d’un algorithme de comparaison approximative de chaînesde caractères permettant de comparer deux chaînes Q et S, de longueurs différentes.L’ensemble des sous-chaînes du texte S, qui ont au plus k erreurs (caractères nonsimilaires) par rapport au mot Q, est ainsi déterminé. Il est à noter que pour k = 0, ils’agit d’un simple algorithme de détection de sous-chaînes. L’ASM a été adapté afin

Page 8: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

de gérer les c candidates associées à chaque primitive.

3.1. Recherche basée sur une seule primitive

Q est dans un premier temps segmenté en primitives, suivant le processus détaillédans la section 2.1. Puis, pour chacune des primitives extraites, les élements les plussimilaires du dictionnaire sont déterminés. Q est alors représenté par une suite delabels Lq1Lq2 . . . Lqt, où Lqi ∈ Lm et t est le nombre de primitives de Q. Suivant lemême raisonnement que lors de l’indexation, les c plus proches voisines sont stockéespour chaque primitive. Q est ainsi décrit en primitives du dictionnaire.La première passe de la phase d’indexation nous a fourni les transcriptions des textesprésents dans les documents, en séquences de primitives du dictionnaire. Aussi,l’objectif est désormais de trouver les lignes indexées, qui contiennent la mêmeséquence de primitives que Q.Afin d’accélérer le temps de recherche, un filtrage est d’abord effectué sur l’ensembledes lignes de textes des documents. Les primitives de la requête Q et les fichiers de laseconde passe d’indexation sont utilisés pour déterminer un sous-ensemble de lignescandidates. Ce sous-ensemble est donné en entrée à l’ASM, qui va déterminer lesrésultats de la recherche.

3.2. Recherche basée sur une combinaison des primitives

Pour améliorer les performances de la recherche de textes, une approche multi-niveaux, exploitant une combinaison des primitives, a été utilisée. Dans un premiertemps, une recherche classique, basée CC, est lancée. Si les résultats obtenus en sortiede l’ASM ne sont pas satisfaisants (erreur k supérieur à un seuil Td1), les informa-tions a priori sur les candidats sont exploitées à un niveau plus fin. La signature deQ en glyphe est générée, et les transcriptions en glyphes des lignes candidates sontrécupérées. Ces données sont fournies en entrée de l’ASM, afin de vérifier la réelle(in)validité des candidats.La Figure 5 présente le schéma de la recherche multi-niveaux proposée. Lors de nosexpérimentations, les valeurs des seuils Td1 et Td2 ont été déterminées empiriquement,et ont été fixées à Tlen/4, où Tlen est la longueur de la chaîne Q.

4. Expérimentations et résultats

Le Centre d’Études Supérieures de la Renaissance (CESR) de Tours a créé en2002 les Bibliothèques Virtuelles Humanistes (BVH, 2002), contenant les versionsnumérisées de nombreux documents. Leur collection de livres historiques compte plusde 3000 entrées datant du milieu du XIVe siècle au début du XVIIe siècle. Une quantité

Page 9: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

Figure 5. Schéma de recherche de textes multi-niveaux.

non négligeable de ces documents est d’ores et déjà numérisée ou photographiée. Lefrançais et le latin sont majoritairement présents dans ces documents. La Figure 1présente une page provenant de l’un des documents numérisés par le CESR.

Le système d’indexation et de recherche a été testé sur des extraits de deux livresde leur collection : "Essais - Livre I" de Montaigne et “La mendicité spirituelle". Lesrésultats suivants ont été obtenus avec la recherche multi-niveaux, et sont présentésde la manière suivante : l’image du texte sélectionné comme requête apparait dansla première ligne, suivie des trois meilleures réponses obtenues, permettant de jugerles performances qualitatives du système. C’est la valeur renvoyée par la méthode decomparaison approximative de chaînes de caractères qui est utilisée afin d’ordonnerles résultats.

La Figure 6 présente les résultats obtenus pour des requêtes présentant divers dé-gradations, souvent présentes dans les images de documents historiques, tels que del’encre qui a coulé, des caractères qui se touchent, ou encore des caractères brisés.L’utilisation des glyphes, primitives plus fines, ainsi que l’approche multi-niveauxpermet au système d’être robuste à ce type de difficultés.

Bien que le texte présent dans “Essais - Livre I" de Montaigne présente diversesdégradations, une segmentation du texte en mots reste envisageable, avec des résultatsacceptables (mais pas parfaits). Ce n’est pas le cas de tous les documents historiques.La Figure 7 présente un résultat de recherche effectué dans le livre “La mendicitéspirituelle". L’espace entre les mots n’est pas régulier dans ce livre, aussi, obtenirune parfaite segmentation en mots, semble très difficilement envisageable. Ainsi, la

Page 10: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

(a)

(b)

(c)

Figure 6. Résultats obtenus pour des requêtes contenant (a) de l’encre qui a coulé,(b) des caractères qui se touchent, (c) des caractères brisés.

segmentation en lignes de notre approche semble suffisante et pertinente face à cegenre de document.

Figure 7. Recherche effectuée dans un livre où la segmentation en mots semble diffi-cile.

La génération de dictionnaire adapté à une collection permet à la méthode propo-sée d’être générique et appliquée à divers systèmes d’écriture. La Figure 8 présentedes résultats obtenus sur des corpus hindi et bengali. Les images des tests ont été

Page 11: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

collectées depuis des journaux et scannées en 200 dpi. Le système a été utilisé sanseffectuer aucun changement quelconque de paramètre, et de résultats très prometteursont été obtenus. Le système utilisant une méthode approximative lors de la comparai-son de chaîne de caractère, il tolère des résultats présentant en son sein des primitivessupplémentaires (3e résultat de la Figure 7(b)). Cette tolérance permet d’obtenir desrésultats pertinents en présence de ce type de système d’écriture.

(a)

(b)

Figure 8. Résultats obtenus pour des documents en (a) hindi et (b) bengali.

Des expérimentations ont été menées afin d’évaluer de manière quantitative lesperformances du système. Le livre “Essais - Livre I" a été utilisé pour effectuer cestests, ce choix ayant été motivé par le fait qu’une vérité terrain manuelle pouvait êtrefournie par le CESR. Un sous ensemble de 78 pages du livre a été sélectionné. Lasegmentation en lignes a été réalisée à l’aide d’AGORA. Cependant, toutes les lignesextraites ne sont pas pertinentes (e.g. lignes doubles, caractères isolés). Aussi, unfiltrage a été effectué avec des contraintes sur les dimensions des lignes. Au final,1579 lignes ont été considérées pertinentes et indexées pour cette expérimentation.

Les mesures de rappel (R) et de précision (P) ont été utilisées pour juger lesrésultats. La précision mesure la capacité du système à fournir des réponses perti-nentes parmi les résultats trouvés. Le rappel mesure, quant à lui, le ratio de réponsespertinentes trouvées par rapport à l’ensemble des résultats à trouver. 5 images demots ont été utilisées et soumises aux 3 approches de recherches : (a) la recherche ne

Page 12: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

considérant que les CC, (b) la recherche ne considérant que les glyphes, et enfin (c)l’approche multi-niveaux, considérant une combinaison des CC et des glyphes. LaFigure 9 présente les 5 requêtes considérées et les courbes P-R obtenues.

La lecture des courbes montre que l’approche multi-niveaux obtient de meilleursrésultats que les approches ne considérant qu’une primitive. Le système retrouveaisément jusqu’à 72% des résultats pertinents avec une précision de 100% lorsqu’ilexploite la combinaison des CC et des glyphes. Lorsque cette combinaison estexploitée, les résultats obtenus sont ordonnés en tenant compte des distances obtenuespour les deux types de primitives, ce qui permet de faire remonter les meilleursrésultats. Il est à noter que l’approche orientée CC a de meilleurs résultats quel’approche orientée glyphe dans ce corpus. Ceci est en partie lié au fait qu’en utilisantles glyphes, une sur-segmentation des textes affecte les résultats de l’ASM.

L’une des principales contributions de l’approche multi-niveaux présentée est larapidité avec laquelle les réponses sont proposées lors d’une requête en ligne. Lesexpérimentations présentées ont toutes été effectuées sur un PC avec un processeur detype i5 à 2.53Ghz et 4G de RAM. Le tableau 1 présente les temps de réponse moyen,pour des requêtes de longueurs variées : (a) petite (<5 lettres), (b) moyenne (5 à 10lettres) et (c) grande (plus de 10 lettres et groupe de mots). Pour chacune des requêtes,la recherche a été répétée plusieurs fois, et le temps de réponse moyen a été calculé.Une moyenne de 1 à 2 secondes pour une recherche de mot est observée. Les temps deréponse mesurés lors de précédents travaux (Roy et al., 2011), étaient de 5 secondes.L’optimisation et la parallélisation du code de notre système n’a pas encore été réalisé,aussi, les temps de réponses lors d’une recherche peuvent encore être améliorés.

Tableau 1. Temps de réponse moyenne obtenu avec l’approche multi-niveaux.Image requête Temps (en ms)

(a) 1237

(b) 2514

(c) 4537

5. Conclusion

Cet article présente une méthode robuste et rapide de Repérage de textes pour lesdocuments historiques numérisés.

Page 13: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Approche multi-niveaux pour la recherche de texte par l’exemple

(a)

(b)

Figure 9. Les requêtes utilisées (a) et les courbes P-R moyennes obtenues (b).

L’indexation des textes présents dans les documents étudiés est réalisée à l’aide dedictionnaires de primitives, adaptés aux documents suscités, aussi notre méthode estrendu générique et indépendante du système d’écriture.La méthode proposée se contente d’une segmentation en lignes du texte, et permetainsi de se passer de la segmentation du texte en mots, étape très complexe et souventimparfaite. La qualité des réponses fournies par le système lors d’une recherche estainsi améliorée.L’utilisation des glyphes, primitives de granularité fine, combinés aux composantesconnexes dans une approche multi-niveaux permet d’améliorer la robustesse du sys-tème, en présence d’images dégradées et contenant des caractères qui se touchent ouqui sont brisés. La recherche effective étant effectuée par comparaison de chaînes de

Page 14: Approche multi-niveaux pour la recherche de texte par l ...frederic.rayar.free.fr/data/papers/CIFED2012 - F.RAYAR - Paper.pdfFrédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel morceau

Frédéric Rayar, Partha Pratim Roy & Jean-Yves Ramel

caractères, les temps de réponses obtenus lors d’une recherche en ligne sont très pro-metteurs et peuvent encore être réduits.Il est envisagé d’extrapoler l’ensemble de ces travaux pour les intégrer dans un sys-tème de transcription et d’OCR.

Remerciements

Ce travail a pu être réalisé grâce au support du Google Digital Humanities Re-search Awards (2010) accordé au Laboratoire d’Informatique de Tours (équipe RFAI),ainsi que du programme AAP de l’Université François Rabelais de Tours (2010-2011).

6. Bibliographie

BVH, « Les Bibliothèques Virtuelles Humanistes », http ://www.bvh.univ-tours.fr/index.htm,2002.

Gatos B., Pratikakis I., « Segmentation-free Word Spotting in Historical Printed Documents »,Proceedings of International Conference on Document Analysis and Recognition, p. 271-275, 2009.

Hall P. A. V., Dowling G. R., « Approximate String Matching », ACM Computing Surveys, vol.12, p. 381-402, December, 1980.

Leydier Y., Oujia A., LeBourgeois F., Emptoz H., « Towards an omnilingual word retrievalsystem for ancient manuscripts », Pattern Recognition, vol. 42, p. 2089-2105, 2009.

Lu S., Linlin L., Tan C. L., « Document Image Retrieval through Word Shape Coding », IEEETransactions on Pattern Analysis and Machine Intelligence, vol. 30, p. 1913-1918, 2008.

Marinai S., Marino E., Soda G., « Indexing and retrieval of words in old documents », Pro-ceedings of International Conference on Document Analysis and Recognition, Washington,DC, USA, p. 223, 2003.

Pal U., Belaid A., Choisy C., « Touching numeral segmentation using water reservoir concept »,Pattern Recognition Lettersp. 261-272, 2003.

Ramel J.-Y., Leriche S., Demonet M. L., Busson S., « User-driven page layout analysis ofhistorical printed books », International Journal on Document Analysis and Recognition,vol. 9, n˚ 2-4, p. 243-261, 2007.

Rath T. M., Manmatha R., « Word Image Matching Using Dynamic Time Warping », Procee-dings of Conference on Computer Vision and Pattern Recognition, vol. 2, p. 521-527, 2003.

Roy P. P., Ramel J., Ragot N., « Word Retrieval in Historical Document using Character-Primitives », In Proceedings of International Conference on Document Analysis and Re-cognition, p. 678-682, 2011.

Rusiñol M., Aldavert D., Toledo R., Lladós J., « Browsing Heterogeneous Document Collec-tions by a Segmentation-free Word Spotting Method. », Proceedings of International Confe-rence on Document Analysis and Recognition, p. 63-67, 2011.