Tesseract (Software)
Tesseract ist eine freie Software zur Texterkennung. Schwerpunkt ist die Erkennung von Textzeichen bzw. Textzeilen, aber auch die Zerlegung eines Textes in Textblöcke (Layoutanalyse) kann Tesseract übernehmen. Zur Verbesserung der Erkennungsraten verwendet Tesseract Sprachmodelle wie beispielsweise Wörterbücher.
Tesseract | |
---|---|
Basisdaten | |
Entwickler | Ray Smith, Google LLC, HP Inc., University of Nevada, Las Vegas |
Aktuelle Version | 5.0.1[1] (7. Januar 2022) |
Betriebssystem | GNU/Linux, Microsoft Windows[2], macOS[2], BSD-Betriebssystem[2], GNU/Hurd[2], Android[2], iOS[2], Plattformunabhängig |
Programmiersprache | C++[3] |
Kategorie | Texterkennung |
Lizenz | Apache-Lizenz, Version 2.0[2][4] |
deutschsprachig | ja |
github.com/tesseract-ocr |
Für weit mehr als 100 Sprachen und Sprachvarianten sind bereits Texterkennungsdaten in Zusatzmodulen vorhanden. Tesseract unterstützt dabei nicht nur lateinische Antiqua-Schriften, sondern auch Fraktur-Schrift, Devanagari (indische Schrift), chinesische, arabische, griechische, hebräische, kyrillische und weitere Schriften.[5][6]
Geschichte
Ursprünglich wurde die Software zwischen 1984 und 1994 bei Hewlett-Packard für deren Scanner entwickelt, dort aber nie in einem Produkt verwendet.[7] Aus einem Test der University of Nevada, Las Vegas (UNLV) ging sie 1995 als einer der drei präzisesten Testkandidaten hervor. Nach dem Ausstieg von HP aus dem OCR-Markt lag die Entwicklung weitgehend brach, bis der Code 2005 an das Information Science Research Institute der UNLV übergeben wurde. Hier wurde festgestellt, dass der ehemalige Entwickler Ray Smith mittlerweile bei Google arbeitete. Nach einer Nachfrage bei Google, ob Interesse an dem Code bestünde, nahm sich Google des Quelltextes an, brachte ihn auf einen aktuellen Stand und gab ihn noch im selben Jahr unter der Apache-Lizenz über SourceForge frei.
Dies bedeutete in der Welt der freien Software einen großen Qualitätssprung im Bereich der Texterkennung. Das Projekt migrierte von SourceForge auf Googles eigene Software-Entwickler-Plattform Google Code, wo es unter Betreuung von Google weiterentwickelt wurde. Seit 2015 findet die Weiterentwicklung auf GitHub statt.[8]
Seit 2006 wurde das Programm als Grundlage von Google Books weiterentwickelt. Ab Version 3.0 vom September 2010 können Ergebnisse direkt in das hOCR-Format ausgegeben werden und es wurde ein neues Modul zur Analyse der Seitengestaltung eingeführt.
Das Projekt tesseractindic widmete sich der Aufgabe, das Programm mit Sprachen aus der indischen Sprachenfamilie verwendbar zu machen.[9] Diese Sprachen werden seit Tesseract 3.01 unterstützt.
In der Version 3.02 vom 28. Oktober 2012 wurde u. a. die Erkennung arabischer und hebräischer Texte im bidirektionalen Modus eingeführt.
Ende 2016 führte Tesseract ein neuronales Netz zur Texterkennung ein. Version 4 unterstützt diese neue Methode, kann aber auch weiterhin mit dem Mustervergleich der Vorgängerversionen arbeiten.
Seit Dezember 2018 kann Tesseract die OCR-Ergebnisse im standardisierten ALTO-Format ausgeben.
Google verwendet nach eigener Aussage Tesseract für die Texterkennung auf mobilen Geräten und in Videos sowie bei der Erkennung von Spam in E-Mail-Bildern.[10]
Ende 2020 stellte das Internet Archive die automatisierte Texterkennung von ABBYY FineReader auf Tesseract um[11] und verarbeitet damit mehr als 2 Millionen Seiten pro Tag.[12]
Anwendung
Tesseract wird nach den unter Unix üblichen Konventionen auch unter Windows von der Kommandozeile aus gesteuert und hat folgendes Format:[13]
tesseract imagename outputbase [-l lang] [--oem ocrenginemode] [--psm pagesegmode] [configfiles...]
Tesseract liest das Bild im Tagged Image File Format (TIFF) ein und gibt den Text in die Ausgabedatei weiter. Ältere Versionen von Tesseract hatten keine eigene Layoutanalyse, waren also auf externe Software wie beispielsweise OCRopus angewiesen, um Textspalten auf einzelne Bilddateien zu verteilen. Aktuelle Versionen nutzen die Programmbibliothek Leptonica für die Analyse der Seitengestaltung, aber auch für die direkte Verarbeitung aller gängigen Bildformate.[14]
Eine automatisierte Verarbeitung lässt sich zum Beispiel mit ImageMagick verwirklichen.
Tesseract kann ab Version 3 die Scan-Ergebnisse im hOCR-Format speichern, wodurch die Seitengestaltung erhalten bleibt.[15] Auch durchsuchbare PDF-Dateien lassen sich mit dieser Version direkt erzeugen.[16]
Es existiert eine Reihe Software, die Tesseract als Backend einbindet. Tesseract kann als Zeichenerkennungsmodul in OCRopus verwendet werden, das zusätzlich noch Analyse der Dokumentgliederung und statistische Sprachmodelle bietet.[17] Allerdings benutzt OCRopus ab Version 0.4 standardmäßig ein eigenes Zeichenerkennungsmodul basierend auf neuronalen Netzen[18]. In früheren Versionen wurde Tesseract als Standardmodul in OCRopus verwendet. Neben weiteren möglichen Backends kann es in der Desktop-OCR-Lösung OCRFeeder zur Zeichenerkennung genutzt werden. Mittels hocr2pdf dient es zum Beispiel in dem Linux-basierten Dokumentenmanagement-System Archivista der Erzeugung einer Text-Schicht zu rastergraphischen Abbildern eingescannter Papierdokumente, um diese maschinell durchsuchbar zu machen.
Verfügbarkeit
Tesseract wird als freie Software auch im Quelltext unter den Bedingungen von Version 2.0 der Apache-Lizenz (Apache Software License, ASL) verbreitet. In praktisch allen gängigen Linux-Distributionen kann es direkt aus den Standard-Paketquellen installiert werden.[6][19][20][21][22][23] Installationsprogramme für Windows gibt es von mehreren Anbietern.[24]
Tesseract dient u. a. bei folgenden Programmen als Basis der Texterkennung:
- (a9t9) Free OCR ist ein Open-Source-Tesseract-Frontend (GPL) für Windows.[25]
- Apache Tika verwendet Tesseract, um Text in Bilddateien zu finden.[26]
- Audiveris ist ein Open-Source-Programm zur Notenerkennung und verwendet Tesseract dabei zur Erkennung von Partiturtexten[27]
- capella-scan ist eine kommerzielle Software, die Scans von Partituren verarbeitet und dabei Texte mit Hilfe von Tesseract erkennt.[28]
- Capture2Text ist ein Utility, das schnell einen Text vom Bildschirmfoto erkennt.[29]
- ecoDMS ist ein kommerzielles Dokumentenmanagementsystem für Windows, Linux und macOS.[30]
- FreeOCR für Windows liegt als Version 5.4 (März 2015) vor.[31]
- gImageReader ist ein freies graphisches Frontend und läuft auf Linux und Windows.[32]
- gscan2pdf ein Dokumenten-Scanprogramm unter Linux.[33]
- iText pdfOCR erkennt Text in gescannten PDF-Dateien.[34]
- k2pdfopt ist ein plattformunabhängiges Open-Source-Programm, das PDF-Dateien für E-Reader optimiert. Es kann einen tesseract-basierten OCR Layer über eine gescannte PDF-Datei legen. Die MS-Windows-Version bietet eine GUI.[35]
- Nextcloud OCR ist eine freie Erweiterung für Nextcloud und ermöglicht Texterkennung für alle Bild- und PDF-Dateien[36]
- OCRmyPDF fügt zu bereits existierenden gescannten PDF einen Textlayer mit Hilfe von Tesseract hinzu.[37]
- Office Manager Pro ist ein kommerzielles Dokumentenmanagementsystem für Windows.[38]
- PDF24 Creator ist ein Windows-Programm zum Erzeugen von PDF-Dateien.[39]
- PDFScanner ist ein Programm zum Scannen von Dokumenten auf Macs.[40]
- Tesseract Studio .Net ist ein weiteres Open-Source-Tesseract-Frontend für Windows.[41]
- Tesseract.js ist eine Portierung von Tesseract in JavaScript, die mit Hilfe von Emscripten erstellt wurde.[42]
- TesseractOCR Mac macht es auch für macOS verfügbar.[43]
- Text Fairy ist eine Android-App, die Text in Bildern erkennt und auch vorlesen kann.[44]
- VietOCR ist ein Open-Source-GUI-Frontend (Apache-Lizenz) für Tesseract und läuft auf Linux, macOS, Windows und weiteren Betriebssystemen.[45]
- YAGF ist eines von mehreren Frontends, die unter Linux verwendet werden können.[46]
Siehe auch
Weblinks
- Ray Smith: Tesseract OCR Engine. (PDF) Vortrag über die Geschichte von Tesseract, OSCON 2007. (Nicht mehr online verfügbar.) Google Inc., 2007, archiviert vom Original am 19. August 2016 (englisch).
- Kurzanleitung zur Texterkennung mit Tesseract
Einzelnachweise
- github.com.
- In: Free Software Directory.
- The tesseract-ocr Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
- www.isri.unlv.edu.
- tesseract-ocr/tessdata_best: Best (most accurate) trained LSTM models (englisch) GitHub. 15. September 2017. Abgerufen am 25. September 2017.
- Erik Bärwaldt: Buchstabensalat. Texterkennung mit Tesseract. In: LinuxUser. Nr. 5. Linux New Media AG, 8. April 2011.
- Ray Smith: An Overview of the Tesseract OCR Engine. In: Ninth International Conference on Document Analysis and Recognition. ICDAR 2007. Band 2. IEEE, September 2007, S. 629–633 (englisch, github.com [PDF]).
- Tesseract moved to github.com (englisch) Google Groups. 14. Juni 2015. Abgerufen am 20. März 2018.
- Tesseractindic (englisch) GitHub. 27. November 2009. Abgerufen am 19. April 2016.
- Tesseract OCR (englisch) Google Open Source. Abgerufen am 12. Januar 2017.
- Merlijn Wajer: OCR at the Internet Archive with Tesseract and hOCR (englisch) Internet Archive. Abgerufen am 15. August 2021.
- Merlijn Wajer: Internet Archive OCR Stack in 2021 (englisch) Internet Archive. Abgerufen am 23. August 2021.
- Running Tesseract (englisch) GitHub. Abgerufen am 12. November 2018.
- Selected papers on image processing and image analysis (englisch) 7. Juli 2007. Abgerufen am 19. April 2016.
- Adnan Vatandas: Tesseract 3 und hOCR. Oktober 2010. Abgerufen am 28. Oktober 2010.
- Tesseract Wiki. Abgerufen am 7. November 2015.
- ocropus - Google Code. Archiviert vom Original am 14. Mai 2008. Abgerufen am 19. April 2016.
- OCRopus doesn’t even link with Tesseract by default. 17. August 2009. Abgerufen am 19. April 2016.
- Debian - Informationen über Paket tesseract-ocr in sid. Abgerufen am 19. April 2016.
- Debian-Paketsuche. Abgerufen am 19. April 2016.
- Package tesseract (englisch) Abgerufen am 19. April 2016.
- openSUSE-Paketsuche. Abgerufen am 19. April 2016.
- Mandriva Linux. Mandriva S. A.. Archiviert vom Original am 16. Juli 2012.
- Downloads (englisch) In: Tesseract documentation. GitHub. Abgerufen am 2. Februar 2021.
- Tesseract OCR Software GUI (englisch) Abgerufen am 19. April 2016.
- TikaOCR. Apache Tika. 26. März 2019. Abgerufen am 2. Dezember 2019.
- Audiveris documentation. GitHub, abgerufen am 9. Januar 2022 (englisch).
- Neuerungen von capella-scan. capella-Software AG. Abgerufen am 24. November 2021.
- Capture2Text (englisch) SourceForge. 15. Januar 2016. Abgerufen am 19. April 2016.
- ecoDMS Funktionsumfang. ecoDMS GmbH. Archiviert vom Original am 11. Juni 2016. Abgerufen am 19. April 2016.
- FreeOCR (englisch) Abgerufen am 19. April 2016.
- gImageReader (englisch) GitHub. Abgerufen am 19. April 2016.
- gscan2pdf-2.1.4. Abgerufen am 14. September 2018.
- pdfOCR. iText Group, abgerufen am 10. November 2021.
- K2pdfopt (englisch) 9. April 2016. Abgerufen am 19. April 2016.
- janis91/ocr: Nextcloud OCR (optical character recoginition) processing for images and PDF (englisch) GitHub. Abgerufen am 25. September 2017.
- jbarlow83: OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched: jbarlow83/OCRmyPDF. 3. Dezember 2019, abgerufen am 3. Dezember 2019.
- Office Manager Benutzerhandbuch. Softwarebüro Krekeler. Abgerufen am 19. April 2016.
- PDF Creator Changelog. geek software GmbH, abgerufen am 18. Februar 2021.
- Felix Rotthowe: PDFScanner (englisch) Abgerufen am 19. April 2016.
- Tesseract Studio .Net: A free Windows graphical interface to the Tesseract 4.0 OCR engine. (englisch) Abgerufen am 28. Januar 2018.
- Tesseract.js (englisch) Abgerufen am 17. November 2019.
- Tesseract Mac (englisch) MalcolmHardie Solutions Ltd.. Abgerufen am 19. April 2016.
- Android OCR App (englisch) GitHub. Abgerufen am 17. Februar 2021.
- VietOCR (englisch) Abgerufen am 2. Oktober 2019.
- YAGF (englisch) SourceForge. 24. Februar 2016. Abgerufen am 19. April 2016.