Extraction d’information des pdf avec CERMINE

http://cermine.ceon.pl/cermine/about.html

http://cermine.ceon.pl/cermine/about.html

CERMINE (Content ExtRactor and MINEr)  est une bibliothèque Java (GitHub) et un web service (http://cermine.ceon.pl/index.html) permettant d’extraire des meta-données  et du contenu depuis des PDF d’articles scientifiques créés numériquement.

Le système analyse le contenu du PDF et tente d’extraire des informations telles que le titre de l’article, le journal dans lequel il a été publié, la bibliographie (volume, pages, etc.), les auteurs et leurs affiliations, les mots-clés, le résumé…

Pour l’instant à l’étape de prototype, le projet reste expérimental mais très intéressant. Le code source étant disponible sur Github et le web service permet de tester le programme directement avec ses propres documents !

J’ai découvert cette technique lors de la conférence internationale DAS (Document Analysis System)

Référence :

Dominika Tkaczyk, Pawel Szostek, Piotr Jan Dendek, Mateusz Fedoryszak and Lukasz Bolikowski. CERMINE – automatic extraction of metadata and references from scientific literature. In 11th IAPR International Workshop on Document Analysis Systems, 2014.

Combiner le texte et l’image pour améliorer la reconnaissance de documents

Les documents peuvent avoir un contenu très varié : un roman, un article scientifique, une facture, un formulaire, une lettre, un ticket de metro, de restaurant… Ces documents peuvent contenir du texte, des tableaux, des logos, des illustrations, ils peuvent également être tordus, pliés, taché, etc.

La technique la plus classique, et certainement la plus performante, est d’appliquer un OCR (lecture optique de caractères) sur l’image du document pour en extraire le texte, puis de comparer ce texte aux textes d’autres documents pour savoir si deux documents sont similaires.

Cependant, les techniques d’OCR fonctionnent beaucoup moins bien sur les tickets (de métro, restaurants, …) car ils sont petits, l’encre effacé et ils sont parfois tordus ou pliés. Certaine facture peuvent être aussi complexe car le contenu change complétement mais le logo reste similaire. Dans ce cas, les techniques de traitement d’image fonctionnent mieux.

La problématique est alors de trouver un moyen de combiner les techniques basées sur le texte et celles basées sur l’image pour que le document soit bien reconnu dans tout les cas. Cette combinaison est très complexe à faire car on souhaite privilégier le texte de temps en temps et l’image d’autres fois mais on ne sait pas à l’avance quelle techniques va fonctionner. Si on essaye de combiner les caractéristique avant (fusion précoce) de reconnaitre ou après (fusion tardive) les performance sont intermédiaire entre celles que l’on aurait eu en utilisant que le texte ou que l’image.

Combi

L’astuce est d’utiliser une combinaison tardive par apprentissage supervisé. L’apprentissage permet au système de comprendre dans quel cas il doit privilégier l’image et dans quel cas il doit privilégier le texte. Grâce à cette méthode les performances globale de reconnaissance sont améliorés.

Cette méthode à été publié dans la conférence DAS 2014, vous pouvez retrouver l’article sur HAL, le dépot d’article scientifique en ligne.

Présentation oral CIFED 2014

Demain débutera les conférences CORIA (COnférence en Recherche d’Information et Applications) et CIFED (Colloque International Francophone sur l’Écrit et le Document) qui sont cette année organisées simultanément à Nancy.

Cet événement est appelé la Semaine du Document Numérique et de la Recherche d’Information (SDNRI) et rassemble les communautés francophones en recherche d’information et analyse de l’écrit et des documents numérisés.

cifed14

Crédit photo : Muzzamil Luqman

A cette occasion je présenterai mes travaux de recherche que j’effectue à Gestform en tant que responsable R&D, portant sur la combinaison de caractéristiques texte et image pour améliorer les performances de classification. Ces travaux ont été effectués en partenariat avec Nicholas Journet et Jean-Philippe Domenger, tous deux chercheurs au LaBRI (Laboratoire Bordelais de Recherche en Informatique).

Vous pouvez trouver dans le lien qui suit un aperçu de la présentation orale que je vais donner demain après-midi lors de cette conférence :  cifed14Oral

Reconnaissance d’images de document

Mise en correspondance de deux images de document

La problématique de la reconnaissance de d’image de document peut s’avérer complexe car elle nécessite dans certain cas d’être robuste en translation, en rotation et en zoom. Il peut également arriver que les documents soient dégradé (bruit, taches, coupures, etc).

Les techniques basées sur l’utilisation de points d’intérêt telles que SIFT ou SURF sont couramment utilisées dans le domaine des images naturel. J’ai travaillé sur une extension de cette méthode afin de reconnaitre rapidement des modèles de document donnés par un utilisateur tel qu’une carte d’identité, un passeport, un ticket de train, etc.

La méthode est simple et extensible à de nombreux autres images de document, elle se décompose en 4 principales étapes :

  1. Extraction de points d’intérêt. (SURF)
  2. Description des points. (SURF)
  3. Mise en correspondance des points de l’image recherché avec ceux de l’image requête. (FLANN)
  4. Estimation d’une transformation à 4 paramètres. (RANSAC)

Les choix technologiques entre parenthèses seront dans le futur changés par de nouveaux algorithmes plus performants ou plus adaptés au contexte.

Le détail de la technique peut être trouvé dans la publication faite à CIFED 2012: Reconnaissance et Extraction de Pièces d’identité.

Redresser une image de document

Un pré-traitement très utile une analyse d’image de document consiste à détecter l’orientation du document puis à le redresser (on parle de deskew ou de skew estimation en anglais).

Document droit et tourné (1)

Pour faire cela plusieurs méthodes existent mais il faut savoir que les principales techniques seront efficace sur des documents contenant du texte et pourront être perturbées si des photos ou des lignes sont présentes sur le document. On peut simplement enlever les grandes composantes connexes ou sélectionner les composantes susceptibles d’être du texte.

Les deux méthodes les plus simples et les plus couramment utilisées sont : le profil de projection horizontal et la détection de ligne avec Hough. Elle sont appliquées à un document binarisé (noir et blanc).

Le profil de projection horizontal.

La méthode consiste à calculer pour chaque ligne horizontale de pixels, le nombre de pixel noir. Cela constitue un histogramme.
On fait ensuite tourner le document d’un angle et on re-calcul un nouvel histogramme.
L’histogramme ayant les plus grand pics est l’histogramme correspondant à une feuille horizontal. On peut alors en déduire l’ange le rotation.
Plus on souhaitera tester de valeurs d’angles différentes plus la méthode sera longue.

Profil de projection (1)

Hough

On peut utiliser Hough sur les centre des composantes connexes, ou sur les pixels. Généralement on n’utilise pas tout les pixels de l’image mais seulement les pixels noir qui ont un pixel blanc en dessous d’eux, le but étant d’utiliser la ligne de pied des caractères. Pour plus de précision sur Hough on pourra se référer à cet article.

Les autres techniques

Boris Epshtein [2] de chez Google a publié un papier à la conférence ICDAR  en 2011 basé sur l’utilisation des espaces interligne.

Bibliographie

[1] Document image skew detection: Survey and annotated bibliography, Hull J.J., SERIES IN MACHINE PERCEPTION AND ARTIFICIAL INTELLIGENCE, volume 29, pages 40–66, 1998, WORLD SCIENTIFIC PUBLISHING.

[2] Determining Document Skew Using Inter-Line Spaces, Epshtein, B., Document Analysis and Recognition (ICDAR), 2011 International Conference on, pages 27–31, 2011, IEEE.