OCR sur les systèmes Linux [fermé]

14

J'ai toujours trouvé que la technologie OCR était en retard sur les systèmes open source. J'ai également regardé le projet Ocropus depuis ses débuts. J'ai essayé ce que j'ai entendu dire que c'était le meilleur moteur d'OCR disponible pour Linux, Tesseract , et je l'ai trouvé cruellement manquant pour les documents commerciaux. Existe-t-il d'autres implémentations OCR plus prometteuses? Qu'en est-il de l'objectif encore plus optimiste d'interprétation de l'écriture manuscrite? Qu'est-ce qui est possible sur les systèmes * nix dans ce domaine?

jjclarkson
la source
1
Doit-il être migré vers des softwarerecs?
Jeff Schaller
@Jeff probablement pas, étant donné qu'il a presque sept ans. Beaucoup de choses se sont passées depuis lors. Certains en OCR ... ;-)
roaima

Réponses:

4

Tesseract

En 2018, le meilleur logiciel OCR open source disponible est Tesseract 4 (beta) avec son nouveau modèle OCR de réseau neuronal LSTM . Ses performances OCR sont bien meilleures que le modèle OCR précédent utilisé dans la version 3.

Exemple (produire un fichier PDF output.pdfavec une couche de texte pour un document allemand numérisé):

$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf

Imprimez le texte reconnu sur stdout:

$ tesseract --oem 1 -l deu page page-0001.png stdout

Liste des langues installées:

$ tesseract --list-langs

La prise en charge de nombreuses langues / scripts est disponible sous la forme d'un ensemble de données téléchargeables , par exemple il existe même un ensemble de données pour Fraktur.

Avec le nouveau modèle LSTM, Tesseract s'inspire du projet de recherche OCRopus .

La version 3 de Tesseract fonctionne relativement mal même sur des images d'entrée de bonne qualité, c'est-à-dire qu'elle détecte souvent à tort des caractères uniques dans des pixels de poussière (en dehors de tout contexte textuel) et introduit facilement des erreurs de caractère unique dans des mots bien connus.

Cunéiforme

Les performances de l'OCR cunéiforme ne sont pas si mauvaises, mais elles ne sont pas activement maintenues (dernière version en 2011, version 1.1) et se bloquent facilement et ont d'autres problèmes:

  • Erreurs de segmentation avec divers packages et versions
  • son algorithme de mise en page est simplement cassé, c'est-à-dire que dans les documents à une colonne, les paragraphes sont souvent mélangés de manière aléatoire
  • il ne fait pas d'erreur sur des options inconnues

Vous pouvez désactiver l'algorithme de mise en page comme ceci:

$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001

( -lspécifie la langue du document source)

ocrad

$ ocrad -F utf8 image-0001

Le texte est imprimé par défaut sur stdout.

Dans un document commercial, il manquait un mot souligné, ce qui n'était pas le cas de cunéiforme / tesseract / gocr.

gocr

$ gocr image-0001

Le texte est imprimé par défaut sur stdout.

Matériel

Sane prend très bien en charge de nombreux scanners à alimentation automatique de documents (ADF), par exemple ceux d' Avision et de Fujitsu .

Inclus avec Sane est le scanimageprogramme en ligne de commande que vous pouvez utiliser pour construire des pipelines de scan scriptés (cf. par exemple mon adf2pdf.pyscript).

maxschlepzig
la source
J'ai essayé Cuneiform. Cela fonctionne bien si vous devez reconnaître l'image numérisée (pas les photos). J'ai utilisé Yagf comme interface graphique.
Sergei
3

J'ai trouvé une question similaire sur StackOverflow et le SDK OCR Asprise , l'un des produits commerciaux liés , dispose d'une version Linux.

Larry Smithmier
la source
Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien de référence. Les réponses de lien uniquement peuvent devenir invalides si la page liée change. - De l'avis
Thomas
1
@Thomas le lien est la seule réponse possible car le lien pointe vers un outil spécifique comme demandé par l'OP. Toutes les réponses liées aux liens ne sont pas toutes mauvaises. Cela donne le nom d'un logiciel spécifique et un lien vers sa page Web. Même si le lien se brise, vous devriez toujours pouvoir le trouver à partir du nom.
terdon
1

Il existe peu d'outils de ligne de commande OCR populaires:

  • Tesseract ( ReadMe , FAQ ) (Python)

    Également disponible pour: Tesseract .NET , Tesseract iOS

    Un moteur OCR qui a été développé chez HP Labs entre 1985 et 1995 ... et maintenant chez Google. Tesseract est probablement le moteur OCR open source le plus précis disponible.

    Usage:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    Exemple: rendre la recherche PDF existante (OCR) via la ligne de commande / script

  • GOCR

    Reconnaissance de caractères open source. Il convertit les images numérisées de texte en fichiers texte. GOCR peut être utilisé avec différents frontaux, ce qui facilite le portage vers différents OS et architectures. Il peut ouvrir de nombreux formats d'image différents et sa qualité s'est améliorée au quotidien.

  • OCRopus ™ ( FAQ ) (écrit en Python, NumPy et SciPy)

    Système OCR axé sur l'utilisation de l'apprentissage automatique à grande échelle pour résoudre les problèmes dans l'analyse de documents, comprenant une analyse de mise en page enfichable, une reconnaissance de caractères enfichable, une modélisation statistique du langage naturel et des capacités multilingues.

    Le moteur OCRopus est basé sur deux projets de recherche: un outil de reconnaissance d'écriture manuscrite hautes performances développé au milieu des années 90 et déployé par le US Census Bureau, et de nouvelles méthodes d'analyse de mise en page hautes performances.

    OCRopus est un développement sponsorisé par Google et initialement destiné aux efforts de conversion de documents à haut débit et à volume élevé. Nous nous attendons à ce qu'il soit également un excellent système OCR pour de nombreuses autres applications.

  • Tessnet2 (Open source, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract est un moteur OCR open source C ++. Tessnet2 est un assemblage .NET qui expose des méthodes très simples pour effectuer l'OCR. Tessnet2 est sous licence Apache 2 (comme tesseract), ce qui signifie que vous pouvez l'utiliser comme vous le souhaitez, inclus dans les produits commerciaux.

Autre déjà suggéré: ABBYY CLI OCR pour Linux , Asprise OCR .

Lisez aussi:

Pour une liste plus complète, consultez: Liste des logiciels de reconnaissance optique de caractères sur Wikipedia.

Kenorb
la source
0

... L'OCR est bien plus que "la reconnaissance de caractères". Gestion des images, prétraitement - analyse de page / mise en page pour trouver les textes, images, tableaux ou codes-barres. Pour la reconnaissance, vous devez gérer différentes polices, tailles et langues. Ceci est important car pour obtenir de bons résultats, vous devez utiliser des dictionnaires et des définitions de langue. Enfin, les gens attendent plus d'options d'exportation que le texte (par exemple, XML, RTF ou PDF interrogeable). Il existe des options commerciales pour les SDK, mais elles ne sont pas bon marché et gratuites.

Récemment, j'ai trouvé un OCR CLI pour Linux d'ABBYY . Il y a un essai gratuit de 100 pages.

tshepang
la source
0

Si vous avez un budget, je recommande fortement ABBYY FineReader Engine CLI pour Linux . Notre entreprise l'utilise dans notre application Web depuis un an et nous prévoyons de renouveler la licence. Très bonne qualité de reconnaissance, interface en ligne de commande, reconnaissance dans de nombreuses langues.

minaev
la source
2
Ce produit a déjà été mentionné dans une réponse antérieure . Veuillez ne pas dupliquer les réponses!
David Foerster