Technik
Tesseract und andere OCR-Engines im Vergleich
Wie Tesseract, LSTM-Netze und kommerzielle OCR-Engines funktionieren und wo ihre jeweiligen Stärken und Grenzen liegen.
Inhalt
OCR hat in den vergangenen dreißig Jahren eine erhebliche technische Entwicklung durchgemacht. Von regelbasierten Mustererkennungssystemen der 1990er Jahre bis zu neuronalen Netzen der Gegenwart hat sich die Erkennungsgenauigkeit dramatisch verbessert. Tesseract ist dabei das meistverbreitete Open-Source-System und bildet die technische Grundlage vieler kommerzieller Lösungen.
Was Tesseract ist und wie es entstand
Tesseract wurde ursprünglich in den 1980er Jahren von Hewlett-Packard entwickelt. Google übernahm die Engine 2006 und veröffentlichte sie als Open Source. Seit Version 4 (2018) integriert Tesseract ein LSTM-basiertes (Long Short-Term Memory) neuronales Netz, das die Erkennungsgenauigkeit gegenüber dem klassischen Verfahren deutlich steigert.
Das System ist in C++ geschrieben und über Bindings in zahlreichen Programmiersprachen einsetzbar, unter anderem in Python, Java und JavaScript. Die Sprachunterstützung umfasst über 100 Sprachen, die als separate Trainingsmodelle herunterladbar sind.
Klassische OCR vs. LSTM
Das klassische Tesseract-Verfahren (Legacy-Modus, Engine-Mode 0) arbeitet auf Basis von Zeichensegmentierung. Das Bild wird in einzelne Zeichen zerlegt, die dann mit gespeicherten Referenzmustern verglichen werden. Dieser Ansatz ist schnell, reagiert aber empfindlich auf Variationen in Schriftart, Größe und Druckqualität.
Das LSTM-Modell (Engine-Mode 1) betrachtet Text als Sequenz und berücksichtigt den Kontext umliegender Zeichen. Statt einzelne Buchstaben isoliert zu erkennen, verarbeitet es Wortbilder als Ganzes und nutzt die statistische Wahrscheinlichkeit von Buchstabenfolgen. Das verbessert besonders die Erkennung von kursiv gedrucktem Text, verschmolzenen Buchstaben und unbekannten Schriftarten.
Engine-Mode 3 kombiniert beide Ansätze und ist für viele Anwendungsfälle die robusteste Wahl.
Tesseract trainieren
Ein entscheidender Vorteil von Tesseract ist die Möglichkeit, eigene Erkennungsmodelle zu trainieren. Für spezialisierte Schriftarten, historische Drucktypen oder Dokumente mit ungewöhnlichem Layout kann ein eigenes Trainingsset erstellt werden.
Der Trainingsprozess erfordert annotierte Beispielbilder, aus denen das System lernt, welche Pixelformen welchen Zeichen entsprechen. Werkzeuge wie jTessBoxEditor erleichtern die Erstellung solcher Trainingssets. Das Training ist zeitaufwendig, aber für Nischenanwendungen oft unverzichtbar.
Alternativen zu Tesseract
EasyOCR ist eine Python-Bibliothek auf Basis von PyTorch, die besonders bei schlechter Bildqualität und handgeschriebenen Texten gute Ergebnisse liefert. Die Sprachunterstützung ist umfangreich, und das System ist ohne aufwendige Konfiguration einsatzbereit.
PaddleOCR stammt vom chinesischen Unternehmen Baidu und ist besonders für chinesischen Text und gemischte Dokumente optimiert. Es nutzt moderne Deep-Learning-Architekturen und liefert für viele Dokumenttypen höhere Erkennungsraten als Tesseract.
DocTR (Document Text Recognition) von Mindee ist ein modernes Framework, das auf Transformer-Architekturen setzt. Es erkennt nicht nur Text, sondern auch Dokumentlayouts, Tabellen und strukturierte Felder.
Kommerzielle Systeme wie Amazon Textract, Google Cloud Vision OCR oder Microsoft Azure Computer Vision bieten höhere Erkennungsraten besonders für komplexe Dokumente und Handschriften, sind aber kostenpflichtig und senden Dokumente an externe Server.
Vorverarbeitung als wichtiger Faktor
Unabhängig von der verwendeten Engine gilt: Bildqualität ist entscheidend. Tesseract selbst bietet nur begrenzte interne Bildvorverarbeitung. In der Praxis wird deshalb oft eine separate Vorverarbeitungskette vorgeschaltet:
- OpenCV für Bildnormalisierung, Deskewing und Kontrastanpassung
- Pillow (Python Imaging Library) für einfache Transformationen
- ScanTailor für Buchscans mit komplexen Layouts
Das Tool auf dieser Seite übernimmt die Vorverarbeitung intern, sodass der Upload direkt aus dem Browser ohne zusätzliche Softwareinstallation funktioniert.
Ausgabeformate
Tesseract unterstützt verschiedene Ausgabeformate je nach Anwendungsfall:
- txt: Einfacher Text ohne Formatierung
- hOCR: HTML-Format mit Positionsdaten für jedes Wort
- PDF: Durchsuchbares PDF mit unsichtbarer Textschicht über dem Originalbild
- TSV: Tabellarische Ausgabe mit Koordinaten und Konfidenzwerten
- ALTO XML: Standard für Bibliotheks- und Archivdigitalisierung
Für die meisten Nutzungsszenarien reicht das einfache Text-Format. Wer jedoch ein durchsuchbares PDF erzeugen möchte, wählt das PDF-Ausgabeformat, das das Originalbild beibehält und den erkannten Text als unsichtbare Schicht darüber legt.
Grenzen aktueller Systeme
Trotz aller Fortschritte gibt es Bereiche, in denen auch gute OCR-Systeme versagen:
Handschrift bleibt schwierig, insbesondere wenn sie individuell und nicht normiert ist. Mathematische Formeln mit ihrer spezifischen zweidimensionalen Struktur sind für sequenzbasierte Systeme eine besondere Herausforderung. Tabellen mit komplexen Verschachtelungen werden oft falsch strukturiert ausgegeben. Dokumente mit Wasserzeichen oder farbigem Hintergrund senken die Erkennungsrate ebenfalls.
Für all diese Fälle helfen spezialisierte Modelle mehr als allgemeine Verbesserungen. Die Wahl der richtigen Engine für den jeweiligen Dokumenttyp entscheidet am Ende über die Qualität des Ergebnisses.
Häufige Fragen
Ist Tesseract die beste OCR-Engine?
Tesseract ist eine der leistungsstärksten Open-Source-OCR-Engines und für die meisten Standardfälle sehr gut geeignet. Für spezialisierte Anforderungen wie handgeschriebene Texte oder besondere Layouts können kommerzielle Alternativen oder trainierte Spezialsysteme besser abschneiden.
Wie lange dauert eine Texterkennung mit Tesseract?
Die Erkennungszeit hängt von der Bildgröße, der Auflösung und der gewählten Engine ab. Ein typisches DIN-A4-Dokument bei 300 dpi wird in einer bis drei Sekunden verarbeitet. Der LSTM-Modus ist langsamer als der klassische Modus, liefert aber in der Regel bessere Ergebnisse.
Quellen
- Ray Smith: An Overview of the Tesseract OCR Engine, ICDAR 2007
- Tesseract OCR Dokumentation auf GitHub (tesseract-ocr/tesseract)
Über die Autorenschaft
Mateusz Viola
Betreiber und redaktionelle Verantwortung bild-zu-text-ocr.de
Themengebiet: Mathematik, Kalenderrechnung, Schaltjahre, Statistik und ISO 8601
Mehr über Mateusz Viola →Verwandte Artikel
Grundlagen
Was ist OCR? Grundlagen der Texterkennung einfach erklärt
OCR steht für Optical Character Recognition und wandelt gedruckten oder getippten Text in digitale Zeichen um. Dieser Ratgeber erklärt, wie die Technologie funktioniert und wo sie eingesetzt wird.
Lesezeit 6 Min.
Anleitung
Text aus Bild extrahieren: Schritt für Schritt erklärt
Wie man Text aus einem Foto, Screenshot oder gescannten Dokument herausholt, erklärt dieser Ratgeber anhand konkreter Schritte, inklusive Tipps zur Bildvorbereitung.
Lesezeit 5 Min.
Praxis
OCR-Genauigkeit verbessern: Bildqualität und Kontrast optimieren
Mit einfachen Maßnahmen lässt sich die Erkennungsrate von OCR-Software deutlich steigern. Dieser Ratgeber zeigt, welche Faktoren die Genauigkeit beeinflussen und wie man Bilder optimal vorbereitet.
Lesezeit 6 Min.