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.
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.
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.
Google verwendete 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], ist aber seit 2018 nicht mehr aktiv an der Weiterentwicklung von Tesseract beteiligt. Diese wird seitdem von einer kleinen Gruppe von Hauptentwicklern und vielen Beiträgen einzelner Entwickler getragen.[11]
Ende 2020 stellte das Internet Archive die automatisierte Texterkennung von ABBYY FineReader auf Tesseract um[14] und verarbeitet damit mehr als 2 Millionen Seiten pro Tag.[15]
Anwendung
Tesseract wird nach den unter Unix üblichen Konventionen auch unter Windows von der Kommandozeile aus gesteuert und hat folgendes Format:[16]
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.[17]
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.[18] Auch durchsuchbare PDF-Dateien lassen sich mit dieser Version direkt erzeugen.[19]
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.[20]
Allerdings benutzt OCRopus ab Version 0.4 standardmäßig ein eigenes Zeichenerkennungsmodul basierend auf neuronalen Netzen[21]. 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][22][23][24][25] Installationsprogramme für Windows gibt es von mehreren Anbietern.[26]
Tesseract dient u. a. bei folgenden Programmen als Basis der Texterkennung:
Apache Tika verwendet Tesseract, um Text in Bilddateien zu finden.[27]
bitfarm-Archiv benutzt im gleichnamigen Open-Source DMS Tesseract zusammen mit MySQL für eine schnelle Volltextsuche mit Positionsmarkierung in eingescannten Dokumenten.[28]
capella-scan ist eine kommerzielle Software, die Scans von Partituren verarbeitet und dabei Texte mit Hilfe von Tesseract erkennt.[29]
iText pdfOCR erkennt Text in gescannten PDF-Dateien.[30]
PDF24 Creator ist ein Windows-Programm zum Erzeugen von PDF-Dateien.[31]
VueScan ist eine Software zum Scannen und zur Rohdaten-Bildbearbeitung, die Tesseract zur Texterkennung (OCR) verwendet.[32]
Ray Smith: Tesseract OCR Engine. (PDF) Vortrag über die Geschichte von Tesseract, OSCON 2007. Google Inc., 2007, archiviert vom Original (nicht mehr online verfügbar) am 19. August 2016; abgerufen am 22. Februar 2020 (englisch).
↑ abErik 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. Band2. IEEE, September 2007, S.629–633 (englisch, github.com [PDF]).