# 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.
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.

## 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. 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.
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. 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.
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., 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.
Seit Dezember 2018 kann Tesseract die OCR-Ergebnisse im standardisierten ALTO-Format ausgeben. Dieses Format ist insbesondere für Archive und Bibliotheken relevant, die Archivgut und historische Drucke nach den DFG-Praxisregeln Digitalisierung veröffentlichen möchten. Mit Förderung durch die Deutsche Forschungsgemeinschaft im Rahmen des Projektes OCR-D arbeitet die Universitätsbibliothek Mannheim seit 2018 daran, Tesseract für den Einsatz in der Retrodigitalisierung tauglich zu machen.
Ende 2020 stellte das Internet Archive die automatisierte Texterkennung von ABBYY FineReader auf Tesseract um und verarbeitet damit mehr als 2 Millionen Seiten pro Tag.

## Anwendung

Tesseract wird nach den unter Unix üblichen Konventionen auch unter Windows von der Kommandozeile aus gesteuert und hat folgendes Format:
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.
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. Auch durchsuchbare PDF-Dateien lassen sich mit dieser Version direkt erzeugen.
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. Allerdings benutzt OCRopus ab Version 0.4 standardmäßig ein eigenes Zeichenerkennungsmodul basierend auf neuronalen Netzen. 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. Installationsprogramme für Windows gibt es von mehreren Anbietern.
Tesseract dient u. a. bei folgenden Programmen als Basis der Texterkennung:
* Apache Tika verwendet Tesseract, um Text in Bilddateien zu finden.
* bitfarm-Archiv benutzt im gleichnamigen Open-Source DMS Tesseract zusammen mit MySQL für eine schnelle Volltextsuche mit Positionsmarkierung in eingescannten Dokumenten.
* capella-scan ist eine kommerzielle Software, die Scans von Partituren verarbeitet und dabei Texte mit Hilfe von Tesseract erkennt.
* iText pdfOCR erkennt Text in gescannten PDF-Dateien.
* PDF24 Creator ist ein Windows-Programm zum Erzeugen von PDF-Dateien.
* VueScan ist eine Software zum Scannen und zur Rohdaten-Bildbearbeitung, die Tesseract zur Texterkennung (OCR) verwendet.