Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le...

19
Comment Optimiser la Qualité OCR Nicolas Vouhé Resp. Avant-Vente - Support ABBYY France, Juin 2011

Transcript of Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le...

Page 1: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Comment Optimiser la Qualité OCR

Nicolas VouhéResp. Avant-Vente - Support

ABBYY France,Juin 2011

Page 2: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Agenda

Différents aspects de la qualité OCR?

Qualité d’image pour OCRParamètres de numérisationPré-Traitement d’image

Analyse de LayoutDocument Analyzers

Paramétrer la Reconnaissance de TexteTypes de TexteGabarit Utilisateur (user pattern)LanguesDictionnairesAPI pour le VOTING

ABBYY France – SDK Event – Paris 2011

Page 3: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Modèle Objet de FineReader Engine

ABBYY France – SDK Event – Paris 2011

Page 4: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Qu’est-ce que la qualité OCR?

Analyse de la structure du document (texte, code barre et blocs image)

Taux de reconnaissance du texte

Synthèse du document (police, taille et style, hyperlinks, etc.)

Rétention de la structure pour l’export (position des objets et coordonnées)

Questions:

Pourquoi optimiser?Quoi optimiser?

ABBYY France – SDK Event – Paris 2011

Page 5: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Quand Optimiser?

Y a-t-il quelque chose à optimiser?

ABBYY France – SDK Event – Paris 2011

OCR

Page 6: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Quand Optimiser?

Non. Nothing comes from nothing.

ABBYY France – SDK Event – Paris 2011

OCR

Page 7: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Qualité d’image pour OCRParamètres de numérisation – Comprendre la résolution

Résolution – le nombre de pixel distincts dans chaque dimension de l’image

Interpolation d’image (re-sampling) – le nombre de pixel change sur l’image

ABBYY France – SDK Event – Paris 2011

Etape RésolutionTaille de l’Image

Pixel Pouce

Avant la numérisation

Après la numérisation

96 dpi 200 dpiTaille d‘impressionconstante

Page 8: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Qualité d’image pour OCRParamètres de numérisation

Résolution de numérisation300 dpi – Textes classiques (taille de police >= 10 pt)400-600 dpi – Textes de petite taille (taille de police <= 9)

Quel mode de couleur?N&B– documents de bonne qualitéNiveau de gris – qualité intermédiare et pauvreColor – si la couleur est nécessaire à l’export

luminosité

ABBYY France – SDK Event – Paris 2011

– convenable pour la reconnaissance– trop élevée, l’information disparait et les caractères sont trop clairs

– trop basse, les caractères sont collés entre eux

Page 9: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Qualité d’image pour OCRPré-traitement d’image– suppression des distortions

Nouvelle binarisation et algorithmes de pré-traitement dans la V10

ABBYY France – SDK Event – Paris 2011

Correction d’inclinaisonautomatique

Séparation de page Redressement des lignes

Cropping

Filtrage de couleurs

Rotation Automatique

Page 10: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Analyse de LayoutsUtilisation de Document Analyzers (DA)

Analyse de document précise – Meilleure qualité de reconnaissance

General document analyzerExtracts text, tables, graphics (pictures), barcodes & patch codes,lines (separators)

Document analyzer for full-text indexingExtracts text, tables, graphics (pictures), barcodes & patch codes,lines (separators) and text inside of pictures and diagrams

Document analyzer for invoice processing (small fonts)Extracts text, tables as plain text, barcodes & patch codes,lines (separators), text inside of pictures and diagrams

ABBYY France – SDK Event – Paris 2011

Page 11: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Qualité d’image pour OCRReconnaissance de Code Barre

Séparation des codes barres du reste du texte

La hauteur du code barre doit être plus haut que le double de la hauteur du texte environnant

La longueur du code barre doit être supérieur à sahauteur

La largeur de la plus fine barre doit être >= 3-5 pixels

Ne pas utiliser de compression avec perte comme le JPEG

Si possible, ne pas incliner les codes barre

ABBYY France – SDK Event – Paris 2011

Page 12: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Définir les types de texte

Définir un type de texte

Typographic

Typewriter

Matrix

Manuscrit

Index

ABBYY France – SDK Event – Paris 2011

OCR A

OCR B

E13B

CMC-7

Gothic

Type de Texte– L’art des modèles de caractères utilisés pendant la reconnaissance

Page 13: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Reconnaissance de Caractères – Pattern Training

Quand faire un training et utiliser un pattern défini par l’utilisateur?Texte avec des polices décoratives

Texte avec des caractères inhabituels (i.e. symboles mathématiques)Texte ayant une très faible qualité d’impression

Pattern training pourCaractères uniquesligatures (caractères “collés” entre eux)

ABBYY France – SDK Event – Paris 2011

Page 14: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Reconnaissance de contexte– Utilisation des langues

Reconnaissance de la langue– Une combinaison d’ensembles de lettres et de dictionnaires optionnels, qui peuvent être utilisés lors de la reconnaissance

198 langages de reconnaissance pre-définis (integrés)Langages Non-hieroglyphique ou hieroglyphiqueLangage formés (i.e. languages de programmation)

Reconnaissance Multi-langages (pas plus de 3-5 à la fois)

Langages de reconnaissance personnaliséslanguages

Auto-détection du langage par caractère

ABBYY France – SDK Event – Paris 2011

Page 15: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Reconnaissance du contexte– utilisation des langages CJK

Langages de reconnaissance Hieroglyphiques pre-définisChinois SimplifiéchinoisTraditionelJaponaisCoréenCoréen (Hangul)

Reconnaissance de direction CJK (automatique, vertical, horizontal)

Reconnaissance multi-langages HieroglyphiquesCombinaisons de langages hieroglyohiquesCombinaison de langages hieroglyphiques et non-hieroglyphiques

ABBYY France – SDK Event – Paris 2011

Page 16: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Reconnaissance de contexte– Travailler avec les dictionnaires

Pourquoi utiliser les dictionnaires?Bruits et artefacts suite à la numérisationDocuments imprimés avec une faible qualitéEffets de perte lors du pré-taitement

ABBYY France – SDK Event – Paris 2011

Original Image

Résultat

– Pas de dictionnaire

Résultat

– Dictionary

ImageOriginal – Pas de dictionnaire

Résultat

– Dictionary

Résultat

Page 17: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

Reconnaissance de contexte– Travailler avec les dictionnaires

De multiples types de dictionnairesDictionnaires Standards – Dictionnaires integré et extensibles (ensemble de fichiers binaires)

*.amd, *.amm, *.amt or *.ame files

Dictionnaires Utilisateur – Votre propre dictionnaire au contenu pré-défini (fichiers binaires)

Dictionnaires basés sur des Expressions Régulières –i.e. Expression régulière pour les e-mails :

Dictionnaires externes– Interface de programmation pour la création des types de dictionnaires (Données en mémoires ou ressources externes i.e. bases de données)

ABBYY France – SDK Event – Paris 2011

Page 18: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Paramétrer la Reconnaissance de Texte

API de Voting – Variantes de reconnaissance

Qu’est ce que l’API “Voting”?

Interface de programmation, qui fournit un accès aux différentes hypothèses pour chaque caractère ou mot reconnu avec le poid correspondant

Variantes de Reconnaissance (hypothèses)Variantes de reconnaissance pour chaque mot, avec le score de confianceVariantes pour chaque caractère, avec son poids

Quand l’utilisation desvairantes de reconnaissance peut-elle être utile?

Plusieurs moteur de reconnaissance utilisésRésultats de reconnaissance différentsVérification des résultats par des algorithmes propres oucontre des bases de données

ABBYY France – SDK Event – Paris 2011

Page 19: Comment Optimiser la Qualité OCR - ABBYYevent:09_optimiser_la... · 2015-06-16 · API pour le VOTING ABBYY France – SDK Event – Paris 2011. Modèle Objet de FineReader Engine

Des questions?

Merci de votre attention!

ABBYY France – SDK Event – Paris 2011