Introduction à l’analyse et la
transcription d’images de documents
avec AGORA et RETRO
Jean-Yves RAMEL & Al
Laboratoire Informatique (EA 6300)
2
Organisation du Cours
Plan :
Introduction : Le projet Paradiit et les BVH
Numérisation et pré-traitements (Agora)
Segmentation des éléments de contenus (Agora)
Transcription : Comparaison et reconnaissance de
formes (Retro)
Analyse typographique (Retro)
Bilan
3
Introduction
PARADIIT : contexte et origine du projet
Préservation et accessibilité du patrimoine (ouvrages anciens)
Collaboration avec le CESR of Tours – UMR CNRS Spécialistes de la Renaissance (14e – 16e)
Projet BVH centralisant la numérisation des livres précieux de la
vallée de la Loire et de la Région Centre
Un collaboration pluridisciplinaire forte et de longue date
Spécialistes en analyse d’images de documents
Spécialistes de la littérature ancienne (et début de l’imprimerie) Un projet de numérisation et de mise en ligne
Dans la même ville (Tours) et collaborant depuis 2002
Appel à projet Google « Award in Digital Humanities»
Obtenue en 2011 Renouvelé en 2012
4
Introduction
Contexte et origine du projet
Pourquoi les techniques actuelles ne fonctionnent t’elles pas ?
Documents difficiles à traiter
Dégradations et bruits
Imperfection de la numérisation
Variabilité : Mise en page imprévisible (illustrations, espaces, …)
Manque de données, connaissances
et expériences Polices différentes données d’apprentissage à créer
Langages différents Lexiques, dictionnaires et modèles de
langages à créer
Conséquences
5
Introduction
Idées clés, objectifs et organisation
Idées clés
Analyser et exploiter la redondance de formes présente dans les
images de documents pour mieux les indexer
Un texte, ancien ou pas, est une succession de formes similaires
qui se répètent (texte et graphique)
Objectifs (open-source)
Création d’un ensemble
d’outils et méthodes
interactifs et opérationnels
Extracteur de contenu Analyseur de redondance Outils d’exploitation du
contenu analysé
Génération de nouvelles
6
PaRADIIT
Architecture
Layout + EdC
Analyse de structure et extraction d’EdC
Collaboration
Clusters of EdC
7
Extraction d’élements de contenu
(régions, lignes, mots, CC, …)
Génération de fichiers XML
décrivant la structure des images (1 page = 1 fichier Alto)
Premiere version en 2004 (CESR)
Base Batyr
Bases de lettrines ( + de 24000)
Bases de portraits (+ de 1500)
Voir sur http://www.bvh.univ-tours.fr
Extraction interactive de contenu
Nouvelle Version : User-driven analysis
Analyse de structure Représentation sous forme d’arbres de
d’Elément de Contenu (1 EoC = 1 identifiant unique)
Identification interactive des EoC (caractères, mots, lignes blocs,
illustrations, lettrines, …) à base de règles
J. Y. Ramel, S. Leriche, M. L. Demonet, et S. Busson, « User-driven page layout analysis of historical printed books »,
Extraction interactive de contenu
Modes d’analyse et d’exploitation de la redondance
Analyse de la redondance (Retro)
Quelques rappels pour
partir sur de bonnes
Numérisation de documents
Une image numérique est une représentation
Règle d ’or
Résolution :
Donnée en dpi ou ppi (nb de points par pouce) il définit le
nombre de pixels réels par unité de mesure
Toujours utiliser la résolution la plus élevée possible! C’est à dire
plus d’information…
Tous les systèmes d’analyse de documents numérisés
(reconnaissance
des caractères, des structures, indexation…)
sont sensibles à la
résolution des images
Cours de l’EPU de Tours
-17
Pourquoi quelques pixels sont
importants ?
Parce que la grande majorité des formes que l’on analyse
n’excèdent pas 30 pixels de haut sur 20 pixels de large !
20 à 40% de l’information totale, qui est située sur les
contours intérieurs et extérieurs des formes, est modifiée
aléatoirement par le processus de numérisation
L’absence de quelques pixels transforme l’apparence des
(Pré-)Traitements
Pré-traitement des images limité car :
conserver un maximum d’information
un minimum de modification de la source
Toutefois
:
Correction géométrique
inclinaison, courbure…
Correction des images couleurs et niveaux de gris
Toutes les opérations possible en traitement d’image
Correction des images binaires
Restauration d’images
Cours de l’EPU de Tours
-20
Restauration d’images
Cours de l’EPU de Tours
-24
Binarisation = Segmentation des formes
Une bonne segmentation est déjà une étape
importante pour la reconnaissance !!!!
«
c’est toujours la segmentation qui pose problème
»
Une segmentation est un traitement irréversible car c’est
le résultat d’une interprétation suivant un critère et une
méthode.
Les images non segmentées conservent toute
l’information. Toute segmentation est le produit d’un choix
(méthode + paramètres)
Plusieurs méthodes de segmentation :
suivant la couleur (seuillage)
à partir d’analyse de formes
25
Binarisation par seuillage
C’est la méthode la plus simple et la plus utilisée
Il y a une relation entre les niveaux de gris d’un pixel
et son appartenance ou non à une forme
Seuil global fixe
Seuillage adaptatif
On définit un seuil pour chaque pixel en fonction de son
voisinage
En route …
Fil rouge du cours :Écriture d’un scénario
d’extraction d’EdC (textuels) sur un ouvrage entier
Blocs
Lignes
Mots
Caractères (avec accents, points)
DEMARRAGE : choix du dossier de projet
Un projet AGORA
un dossier
Sous-dossier des images à segmenter
Projet.xml, Scenario.xml
Sous-dossiers des résultats
Alto
Etc.
Data_Agora/Test_Montaigne
A nettoyer
Supprimer tous les repertoires
sauf originalimages
DEMARRAGE (2)
Choix du sous-dossier
des images
OriginalImages
Choix de l’image courante
DEMARRAGE (3)
Prise en main IHM et autre
IHM
Binarisation et extraction des EOC
Création du label « CC »
Misc operations>>Label CC
Extraction des composantes
connexes
Binarisation simple
Seuil = 150
Binarisation de Sauvola
Possible mais lente pour
des grandes pages (> 2
Mpixels)
L1 operations>>Find CC Scenario>>Undo Last
CONTRÔLE VISUEL de la binarisation :
Essais-erreurs + « _CACHE »
Sauvegarde
Sauver le scénario
Analyse de structures et
extraction de contenus
dans les images de
documents anciens
Trouver la fonction de chaque bloc de texte
XML
Elle décrit l'organisation du document, en termes d’objets graphiques (caractères, mots, lignes, blocs, paragraphes, colonnes, images, typographie) et des relations entre ces objets (décomposition hiérarchique, positions absolues et relatives dans la page).
Structure physique
localisation des EdC dans la page
segmentation des
paragraphes
Procédé
Décomposition en éléments d’information caractérisés par le rôle
qu'ils jouent dans le document et spécifie les relations logiques qui
existent entre ces éléments .
Exemple de structure logique en arbre
Structure Logique
cote
dates
provenance
intitulé
intitulé suppl.
Segmentation à base de composantes connexes
Fusion en lignes selon critères géométriques
Approches géométriques
Exploitable que sur des
images peu bruitées
supportant une
Système à base de règles
Projet Européen Meta-e (http://meta-e.aib.uni-linz.ac.at/ ) réalisation du premier système commercial de reconnaissance de structure logique des livres allemand
Analyse interactive d’images
AGORA n’est pas automatique !
Interaction forte avec l’utilisateur
Construction d’un scénario à partir d’une image
Application de ce scénario à toutes les autres images
Scénario
Ensemble d’étapes permettant de construire l’arbre d’EOC
Etape de scénario
Une étape = une opération sur l’arbre d’EOC
Création d’EOC Expansion Insertion
Suppression d’EOC Modification d’EOC
Analyse interactive d’images
Arbre d’EOC : exemple
Père
Fils
Arbre d’EOC initial :
DOC BLOCK LINE WORD CHAR CC CHAR CC CHAR CC WORD CHAR CC CC CHAR CC LINE
WORD CHAR CC
WORD CHAR CC CHAR CC
BLOCK LINE
WORD CHAR CC
WORD
CHAR CC
CHAR CC CC
Analyse interactive d’images
EOC
Possède un label (« type »)
NOISE, CHAR, WORD, LINE, etc.
Possède une liste de caractéristiques (« features »)
Actuellement dans AGORA : 5 features
X, Y Dimensions horizontale et verticale
RangeMapX, RangeMapY Dimensions dans la carte des
plages
ChildNumber Nombre de fils
Chaque feature est un segment
2 nombres « a » et « b » par feature
a
b
Trois types d’actions possibles
Etiquetage, Fusion, Suppression d’EoC 3 niveaux d’opérateurs (novice – expert)
Trois types de critères
Position géographique des EoC Relations de voisinage entre EoC Caractéristiques des EoC
Des scénarios d’analyse
Construits par l’utilisateur En fonction de l’ouvrage et
de ses objectifs
Base de scénarios disponible
Rien de prédéfini
Modèle de documents Eléments de contenus
Extraction interactive de contenu
Expansion de l’EOC « document »
On a déjà créé un nouveau type
d’EOC (CC)
Choix d’un nouveau nom : Label
Creation Ajout d’EOC de type « CC »
Extraction réelle des EOC CC :
Expansion Find CC
Choix de l’EOC père (Document) Choix du label des fils
Paramétrage de la méthode de
création
Résultat de l’expansion + IHM
Elimination du bruit
Bruit = composantes connexes très petites
Création d’un label « NOISE »
Classification des EOC « CC » en EOC « NOISE »
Classification selon la taille
Suppression des EOC « NOISE »
Classification par taille : « pattern »
EOC (a1,b1) < Pattern (a0,b0)
Autres EOC
Classification par taille
Caractères : taille spécifiée
Taille X < 80
Taille Y < 80
Images : tout le reste
Accents : caractères de taille « petite »
IMAGES : « tout le reste »
DOC
CC CC
IMAGES : résultat
Création de lignes de texte
Création d’un label « LINE »
CHAR
LINE
Un EOC LINE aura comme Y =
moyenne des Y fils
Set Feature mode
Fusion Line/CHAR
Line
Contexte = Doc
LINE = LINE + LINE si
alignement Y satisfaisant
Simplification finale
Construction des MOTS
Similaire LINE mais :
Contexte = LINE
On fusionne les CHAR qui sont proches en X
(7 pixels)
Les Etapes :
CHAR
WORD
Fusion
WORD = WORD+WORDsi X satisfaisant
Intersection entre
WORDinters.
en X 1 seul WORDBLOC de texte
Rassemblement de toutes les lignes
Fusion LINE
BLOCK
Un peu compliqué tous ca ?
• Sauvegarde du projet
• Sauvegarde du scenario
• Application du scenario sur un ouvrage complet…
• File
Open Project1.xml
• Analyse des résultats générés
• Mise en place d’Assistants (
work in progress…
)
Exportation des résultats
• Sauvegarde du projet
• Sauvegarde du scenario
Introduction à AGORA
TRANSCRIPTION :
Comparer des formes pour reconnaitre
Comment décrire les objets ?
De manière stable et discriminantes
Choisir les bonnes caractéristiques :
•
De forme ?
•
De couleur ?
•
De texture ?
•
Autre ?
Comparer et reconnaitre des objets
Comment décrire une tomate ?
De manière stable et discriminante
Choisir les bonnes caractéristiques
•
De forme
plutôt arrondie
•
De couleur
plutôt rouge
•
De texture
plutôt lisse
Comparer et reconnaitre des objets
Ces objets sont des tomates …
Mauvais choix des gabarits …
On recommence l’apprentissage….
Comparer et reconnaitre des objets
(caractères)
% traits horizontaux
% traits
centro-verticaux
Cours de l’EPU de Tours
-82
OCR et Transcription
Décrire et comparer des caractères
Word spotting
Utiliser le contexte
Nous avons cherché à reconnaître les objets que par leurs
formes sans tenir compte du contexte
Le contexte est l’information qui permet de modifier notre
compréhension du monde perçu par nos sens
La même forme perçue dans des contextes différents peu être
différemment interprété
Utiliser le contexte
Mot =
entité lexicale
minimale nécessaire à la
compréhension d ’un
texte
La reconnaissance
des caractères doit
intégrer ce contexte
RETRO : Comparaison de formes sans reconnaissance
Analyse de la redondance
Méthode: Extraction et classification (clustering) des formes similaires
Comparaison de formes
Sans a priori ou connaissance sur la sémantique de ces formes
Les contraintes à respecter sont :
Produire des clusters très homogènes Interdire les confusions et
mauvaises classifications
Produire un nombre minimal de clusters
Quelles formes ?
Composantes connexes [Lebourgeois95] Mots [Kluzner&Al2009]
RETRO : Comparaison de formes sans reconnaissance
Analyse de la redondance
Clustering
Méthode de caractérisation des formes
Pixels (NdG ? B&W ?)
Moments géométriques (Zernike)
Méthode de comparaison
Impossible de comparer toutes les formes Choix de la méthode / distance (BIRCH) Représentants de clusters
Temps de calcul et complexité
1 livre = plusieurs jours Parallélisme
Interfaces de gestion du clustering & de vérification des clusters
Lancer Retro
New Project
RetroData\test04\projet01.xml
Clustering
Process Clustering
Load Clusters
View Clusters
RETRO : Comparaison de formes sans reconnaissance
Interfaces de visualisation des fichiers Alto et EoC (Pages)
Interfaces de visualisation des clusters + contexte + création de
modèles typographiques
Interfaces de transcription manuelle (et automatique)
RETRO : Comparaison de formes sans reconnaissance
Classification des polices de caractères de la Renaissance
Etude esthétique de l’imprimerie : L’épaisseur des caractères à
beaucoup évoluer entre le 15e et le 16e
Tri des familles pour identification des polices majeures et mineures
pour mise en évidence des variations de styles
Analyse de la circulation et de l’évolution des matériels
typographiques Interface d’aide à la mesure de corps de
caractères
Base Batyr du CESR
Indexation (par clustering)
des éléments d’illustrations
RETRO
Génération de données
Quel format de stockage (XML + vignettes binaires / couleur) Quelles métadonnées : indexation des caractères (unicode, …)
Amélioration des
OCR (modèles et bases d’apprentissage)
Quelles fontes ? Quels modèles ? Combien d’exemplaires ? Modèles propres (centroides) ou dégradés ?
Données d’apprentissage ou de test ?
Données disponibles sur le site web Paradiit
The 'Gering' Pica-Roman [R80]
Cicéro (1478) (cf. [Vervliet2010] N°55) Garamont's Great Primer Roman [R118]
Gros-romain (1549) (cf. [Vervliet2010] N°119) Vérard Gothic Bâtarde Great Primer Roman
RETRO
Interfaces d’analyse typographique
Création de modèles à partir d’images
Visualisation de base de modèles
Mesure et identification de Fontes
1. Select a page
2. Selection of the frontier (top/bottom for [20], [x], [:]
height), and display of measured values (in pixels and mm)
3. Estimated Body height designation
4. Possibility to export computed information in xml
RETRO : Comparaison de formes sans reconnaissance