OCR-Software: Wie funktioniert die digitale Texterkennung?

Seit Google im Jahr 2006 die Entwicklung der quelloffenen Tesseract-Engine von Hewlett-Packard übernahm, hat die computergestützte Texterkennung große Fortschritte gemacht. Doch wie funktioniert OCR genau? Und wie lassen sich damit bessere Ergebnisse erzielen?

app store

Wie wird OCR-Software verwendet?

Was als Unterstützung für Menschen mit Sehschwäche begann, ist nun aus der Prozessautomatisierung nicht mehr wegzudenken: OCR, kurz für optical character recognition (optische Zeichenerkennung), ist eine Technologie zur Erfassung von gedrucktem (teils auch handgeschriebenem) Text auf gescannten Dokumenten. Der Text wird in ein maschinenlesbares Format umgewandelt und kann anschließend per Computer weiterverarbeitet werden. 

Die Fähigkeit zur Konvertierung von Papierdokumenten in maschinenlesbaren Text hat aber nicht nur die Digitalisierung ganzer Bibliotheken für nachfolgende Generationen ermöglicht. Kommerziell erleichtert OCR auch Dateneingabe, maschinelle Übersetzung, Data-Mining und viele andere Prozesse in unterschiedlichsten Branchen.

Der Banken- und der Versicherungssektor profitieren besonders von OCR-Texterkennungssoftware, da deren Arbeitsabläufe größtenteils auf Papierdokumenten aufbauen. Antragsformulare, Kundenstammsätze, Überweisungsaufträge, Belege, Kontoauszüge, Versicherungsscheine, … All diese Dokumente können digitalisiert werden, um Daten schnell zugänglich zu speichern, die Menge an Papierakten zu reduzieren und durch die manuelle Verarbeitung verursachte Fehler zu vermeiden.

Arten der Software-basierten Texterkennung

Die Abkürzung OCR wird oft als Oberbegriff für verschiedene Arten der Verarbeitung durch Texterkennungssoftware verwendet. Jedoch gibt es mehrere unterschiedliche Ansätze:

  • Optical character recognition (OCR im engeren Sinn): Erkennung von einzelnen gedruckten Zeichen
  • Optical word recognition (OWR): Erkennung von ganzen gedruckten Wörtern
  • Intelligent character recognition (ICR): Erkennung von einzelnen gedruckten oder handgeschriebenen Zeichen, nutzt Machine Learning
  • Intelligent word recognition (IWR): Erkennung von ganzen gedruckten oder handgeschriebenen Wörtern, nutzt Machine Learning

Anfangs gab es es lediglich kommerzielle OCR-Programme, doch heutzutage stehen auch Open-Source-Engines zur Verfügung. Tesseract OCR ist der bekannteste Vertreter und zählt auf GitHub 45.000 Sterne. Mit Version 4 wurden neuronale Netzwerke in die Engine integriert, um eine schnellere und präzisere Erkennung zu ermöglichen. 

Seitdem funktioniert die digitale Texterkennung noch reibungsloser, sodass man leicht vergisst, wie viele Zwischenschritte die Konvertierung von Text in Daten umfasst.

So funktioniert OCR-Software

Bevor die Texterkennung beginnen kann, muss das Ausgangsdokument binarisiert werden, d. h. die Farbtiefe wird auf Schwarz-Weiß reduziert. Das Ziel ist ein maximaler Kontrast zwischen Text und Hintergrund. 

Die meisten Scans enthalten allerdings störende Bildartefakte, die durch Staub oder bei der Datenkomprimierung entstehen. Diese sollten durch die Wahl eines geeigneten Binarisierungsschwellwerts möglichst entfernt werden. Fällt der Schwellwert zu hoch aus, verlieren die Zeichen ihre Konturen, ist er jedoch zu niedrig, bleiben die Bildartefakte bestehen und stören die Texterkennung. Ein beliebter Algorithmus zur Bestimmung eines geeigneten Binarisierungswerts ist die Otsu-Methode.

Nach der Binarisierung zeichnet die OCR-Software Umrisslinien um die Zeichen und erzeugt dadurch sogenannte connected components. Diese werden in Zeilen angeordnet und danach anhand der Leerräume auf einzelne Wörter heruntergebrochen. Die einzelnen Zeichen werden schließlich mittels matrix matching oder feature extraction ihren digitalen Entsprechungen zugeordnet. Während beim ersten Ansatz ein Vergleich mit Zeichen verschiedener Fonts stattfindet, werden beim zweiten topologische Merkmale der Schrift betrachtet, z. B. Öffnungen und Überschneidungen. So besteht der Buchstabe “H” immer aus zwei vertikalen Linien, die ungefähr mittig von einer horizontalen Linie geschnitten werden. Aufgrund dieser Vorgehensweise funktioniert feature extraction mit einer breiteren Auswahl an Schriftarten.

OCR-Nachbearbeitung

Nachdem der Texts des Ausgangsbilds mithilfe einer OCR-Engine wie Tesseract in Rohdaten umgewandelt wurde, können diese weiterverarbeitet werden. Häufig ist das Ziel eine Datei, deren Aussehen dem ursprünglichen Dokument möglichst nahekommt. So ist es etwa möglich, den erfassten Text als unsichtbare Ebene über eine PDF-Version der ursprünglichen Bilddatei zu legen. Damit wird das Aussehen des Dokuments beibehalten, der Text lässt sich aber nun durchsuchen und markieren. 

Soll das Dokument anschließend noch bearbeitet werden, eignen sich andere Herangehensweisen besser, beispielsweise das Erstellen einer Word-Datei, welche die Formatierung des ursprünglichen Scans nachbildet.

Wie erreicht man mit OCR die besten Ergebnisse?

Hochwertiger Input ist der wichtigste Faktor, um ein möglichst gutes Ergebnis bei der OCR-Texterkennung zu erreichen. Falls möglich, sollte man einen Flachbett-Scanner mit einer sauberen Scan-Fläche verwenden und das Dokument mit mindestens 300 dpi einscannen. Auch die Wahl eines leistungsfähigen OCR-Tools, das vor der Texterkennung geeignete Bildfilter anwendet, ist von großer Bedeutung. 

Angesichts der hohen Qualität heutiger Smartphone-Kameras kann auch ein Foto des Dokuments ausreichend sein. Mit entsprechender OCR-Software können hier Ergebnisse mit über 99% Genauigkeit erzielt werden, was eine effektive automatische Weiterverarbeitung ermöglicht. Das Scanbot Data Capture SDK ergänzt die erprobte Tesseract-Engine mit vielfältigen Aufbereitungsmethoden und Deep-Learning-Algorithmen. Damit können Sie jedes Smartphone oder Tablet mit leistungsfähigen OCR-Funktionen ausstatten.

Wenn Sie an Texterkennung zur Optimierung Ihrer Unternehmensabläufe interessiert sind, kontaktieren Sie gerne unsere Lösungsexpert:innen!

Bereit zum Ausprobieren?

Das Hinzufügen unserer kostenlosen Testversion zu Ihrer App ist ganz einfach. Laden Sie das Scanbot SDK jetzt herunter und entdecken Sie die Möglichkeiten der mobilen Datenerfassung.