OCR … pré traitement insufisant

Salut,
J’ai un petit paquet d’image de pas trop mauvaise qualité tiré d’une vidéo contenant du texte parfaitement lisible a l’œil mais que je n’arrive pas a extraire via l’OCR tesserac.
J’ai trouvé un script basé sur imageMagic qui est censé améliorer la lisibilité des images pour les OCR mais ça ne donne pas grand chose entre mes mains. Il y a quelques paramètres à ajuster et je n’ai pas l’impression de trouver les bon réglages.
Le truc c’est que en passant par une GUI windows propriétaire (TopOCR) de cet OCR et en appliquant un filtre maison («MagnifyX2») j’obtiens des résultats tout a fait correcte. J’ai même repris l’image «améliorée» par ce soft et fait passé à la main l’OCR et il me ressort les même résultats. Le truc c’est que je sais qu’il double la taille de l’image et la passe en nuance de gris, mais à part ça je ne sais pas et ça doit se jouer a pas grand chose.
Donc je sais que c’est le pré-traitement qui me fait défaut pour automatiser toute ma chaîne de reconnaissance.

Donc si certain ont une idée, ou des compétences (je peux transmettre les images) pour me faire avancer ça serais sympa.

Bonjour Mimoza, je ne sais pas si ceci t’aideras : dans l’antique système mac qui amorce aussi pour cet ordinateur il y a un OCR ( je ne me souviens plus du nom, mais ce n’est pas HP ) couplé aux logiciels HP d"impression. Eh bien, il refuse de fonctionner si je suis déconnecté de l’internet. Je vois un message : En application de la législation sur le droit d’auteur il ne vous est pas possible d’exécuter ce logiciel en étant déconnecté d’Internet. Cela me donne l’impression que les OCR sont chatouilleux en ce qui concerne les licences, le droit d’auteur pour fonctionner.

Je te rassure la vidéo est bien de moi et l’OCR fonctionne très bien en mode déconnecté.

ma vidéo » images » Magnify X2 de topOCR » tesserac (via gimagereader) » texte correctement reconnue
» script imageMagic » tesserac (via gimagereader) » texte incompréhensible

Selon nos souvenirs, pour l’avoir pratiqué par le passé , tesseract est ce qui donnait les meilleurs résultats. Toutefois, nous croyons nous souvenir que le choix de la locale servant de base de dictionnaire de tesseract avait une grande importance à l’heure de reconnaitre du texte présentant des particularités comme accents^À, trémas,¨, cédilles ç, tildes ñ, æ ø …

tesseract-ocr.googlecode.com/sv … act.1.html

[code]
-l lang

The language to use. If none is specified, English is assumed. Multiple languages may be specified, separated by plus characters. Tesseract uses 3-character ISO 639-2 language codes. (See LANGUAGES)[/code] 

Si on ne le précise pas, English is assumed , le texte sera traité comme de l’anglais, ASCII , 0-9 A-Z plat sans accents.
Les caractères non-reconnus apparaissaient comme [strike]de la merdRe en barre »ł¶ŧ←[/strike].

[code] LANGUAGES

There are currently language packs available for the following languages:

ara (Arabic), aze (Azerbauijani), bul (Bulgarian), cat (Catalan), ces (Czech), chi_sim (Simplified Chinese), chi_tra (Traditional Chinese), chr (Cherokee), dan (Danish), dan-frak (Danish (Fraktur)), deu (German), ell (Greek), eng (English), enm (Old English), epo (Esperanto), est (Estonian), fin (Finnish), fra (French), frm (Old French), glg (Galician), heb (Hebrew), hin (Hindi), hrv (Croation), hun (Hungarian), ind (Indonesian), ita (Italian), jpn (Japanese), kor (Korean), lav (Latvian), lit (Lithuanian), nld (Dutch), nor (Norwegian), pol (Polish), por (Portuguese), ron (Romanian), rus (Russian), slk (Slovakian), slv (Slovenian), sqi (Albanian), spa (Spanish), srp (Serbian), swe (Swedish), tam (Tamil), tel (Telugu), tgl (Tagalog), tha (Thai), tur (Turkish), ukr (Ukrainian), vie (Vietnamese)[/code]

Nous supposons que grayscale, nuance de gris est le point clé. Tesseract ne doit pas être capable de reconnaître du texte en couleurs. Doubler la taille de l’image sans retravailler l’original, sans (re)scanner l’image, nous semble un artifice décoratif…

Quel est le format des images traitées par le script à base d’imagemagick (convert) ?
Nous croyons nous souvenir que les images grayscale à l’extension ppm étaient mieux acceptées par tesseract.

Salut désolé de répondre aussi tard.
Pour la langue j’y ai bien fait attention donc ce n’est pas vraiment le problème.
Pour mieux illustrer mon pb je vous met les différentes images, le texte juste en dessous est celui obtenue en passant pas ImageReader qui utilise Tesseract:

  • Celle d’origine :
    Texte obtenue :[quote]
    n mama-Mmmmnumwnm mm… mmD-I’knln‘l
    mm: 3 Im
    A» Mummidlncm-relnmywlywmmemyolmum’r
    a) Mywum ynu 1…,
    c) my.an vwmnwnuunummmmmn
    m m-Awm-mlwm: Mum-mnuonummemuamv
    a mmmmnnmvmmmm-meamw
    F) WWII-DEEMMMIW’;[/quote]

  • Celle retraité par TopOCR et la fonction Magnify :
    Texte obtenue :[quote]

  1. Which three qnestlone are answered by el Development Team members at the Dally Scrum?
    Choose 3 answers.
    A) What impediments are in my way or in the way of the team?
    B) Why were you late?
    C) What work did I do yesterday to help the team achieve its goal?
    D) What work am lgolng to do today to help the team achieve l8 goal?
    E) How many hours did I spend on the project yesterday}
    F) How is the Sprint proceeding?[/quote]

Voilà si vous avez d’autres questions ou une solution je suis dispo :smiley:

Je pense avoir une nouvelle piste :

Des algo de “dépixélisation” d’images et c’est peut être bien cela qui est utilisé …

Display d’imagemagick propose un menu [mono]magnify[/mono]. L’effet de [mono]magnify X[/mono] est celui de la loupe grossissant X fois. Tout comme display, gimp devrait pouvoir le faire en quelques clics. Il devrait être possible d’obtenir ces effets en ligne de commande grâce à convert.
Display et convert proviennent d’imagemagick. Display affiche les images, [mono]convert[/mono] les traite, les convertit.

Tests convert

Ces options demandent à être affinées, mieux testées voire à être remplacées par de meilleures.
Options resize avec un pourcentage tout droit sorti du pifomètre, grayscale, gris + method également sortie du pifométrique vist de naz qui aide à interprèter les manuels abscons (nous avons listé les méthodes par la commande [mono]convert -list [strike]method[/strike][/mono] non pas method, [mono]convert -list intensity[/mono]…).

Résultat :

[quote]

  1. Which three meettom are answered by al Developmem Team members at the Daily Scrum?

Choose 3 answers.

A) What impediments are in my way or in the way of the team?

8 ) Why were you late?

C) What work did I do yesterday to hetp the team oohieve its goal?

  1. What work am I going to do today to help the team achieve Its goal?
    El How many hows did I spend on the project yesterday?

F) How is the Sprint proceeding?[/quote]

Pas trop mal, demande toutefois relecture(s).

Merci beaucoup pour cette première avancée !!! :041
Oui je savais que ImageMagic pouvait m’aider à ce niveau, j’avais même trouvé un script censé faire de l’amélioration d’image pour les OCR (voir ici), mais je n’arrivait pas a avoir un résultat convenable avec.
Je vais continuer dans ce sens :023

Juste pour comparaison voilà ce que ta ligne de commande donne comme résultat comparé a ce que donne le ,traitement de TopOCR

TopOCR

Convert

Il y a une différence notable mais en ajustant d’autres paramètre a convert je devrais pouvoir obtenir un résultat similaire voir supérieur !

C’est bon j’ai trouvé comment faire et avoir un résultat légèrement meilleur.
La méthode d’agrandissement est un filtre Lanczos et en fouillant un peu le manuel de ImageMagic la méthode “distort Resize” semble être a privilégier.

Du coup mon traitement de l’image se fait avec la ligne suivante :

Je vais encore un peu voir s’il n’y a pas moyen d’améliorer tout cela et qu’un autre filtre donne de meilleur résultats.