Vergleich der OCR-Tools: So wählen Sie das beste Tool für Ihr Projekt aus

Die optische Zeichenerkennung (kurz: OCR) ist die Aufgabe, automatisch Text aus Bildern zu extrahieren. Heutzutage gibt es eine Vielzahl von Tools und Diensten, die einfach zu bedienen sind und diese Aufgabe zu einem Kinderspiel machen. In diesem Blog-Beitrag werde ich vier der beliebtesten Tools vergleichen:

  1. Tesseract OCR
  2. ABBYY FineReader
  3. Google Cloud Vision
  4. Amazon Textract

Ich werde zeigen, wie man sie einsetzt und ihre Stärken und Schwächen anhand ihrer Leistung bei einer Reihe von Aufgaben bewertet. Nachdem Sie diesen Artikel gelesen haben, können Sie ein OCR-Tool auswählen und anwenden, das den Anforderungen Ihres Projekts entspricht.

Beachten Sie, dass wir unseren Fokus auf OCR nur für Dokumentbilder beschränken, im Gegensatz zu Bildern, die nebenbei Text enthalten.

Dies ist kein Dokumentbild.

Schauen wir uns nun die Dokumentbilder an, anhand derer wir die OCR-Engines bewerten.

Unsere Testbilder

Dokumentbilder gibt es in verschiedenen Formen und Qualitäten. Manchmal werden sie gescannt, manchmal werden sie von Handheld-Geräten erfasst. Neben gedrucktem Text können sie auch Handschriften und Strukturelemente wie Kästchen und Tabellen enthalten. Somit sollte das ideale OCR-Tool

  • gut gescannten Text zuverlässig erkennen,
  • robust gegenüber schlechter Bildqualität und Handschrift sein,
  • Informationen zur Formatierung und Struktur des Dokuments ausgeben.

Unter Berücksichtigung dieser Voraussetzungen werden wir die OCR-Tools an den folgenden vier Bildern testen:

Gescannte E-Mail, gescannter handgeschriebener Brief.Vom Smartphone erfasste E-Mail, gescannter Tisch.

Alle Bilder stammen aus einem großen Korpus von Dokumenten der Tabakindustrie. Der dritte wurde gedruckt und dann von einem Smartphone erfasst, wodurch typische Geräusche erzeugt wurden.

Zunächst werden wir untersuchen, wie Tesseract OCR in Bezug auf diese Aufgaben abschneidet.

Tesseract OCR

Das Beste an Tesseract ist, dass es kostenlos und einfach zu bedienen ist. Grundsätzlich handelt es sich um ein Befehlszeilentool, aber es gibt auch einen Python-Wrapper namens pytesseract und den GUI-Frontend gImageReader, sodass Sie den auswählen können, der Ihren Zwecken am besten entspricht.

Die Verwendung des Befehlszeilen-Tools ist so einfach wie

tesseract imagename outputbase [Ausgabeformat]

Wenn wir kein Ausgabeformat angeben, ist der Standard eine Textdatei, die die erkannten Zeichen enthält. Alternativ gibt pdf ein durchsuchbares PDF sowie Hocr- und Alt-XML-Dateien aus, die zusätzliche Informationen wie Zeichenpositionen enthalten (im jeweils gleichnamigen XML-Standard). Weitere optionale Argumente finden Sie hier.

Folgendes findet Tesseract in unseren Testbildern:

Tesseract: gescannte E-Mail, handgeschriebener Brief.Tesseract: Vom Smartphone erfasste E-Mails - überhaupt keine Ausgabe, gescannte Tabelle.

Wie Sie feststellen werden, erkennt Tesseract OCR den Text in der gut gescannten E-Mail ziemlich gut. Wenn es jedoch um den handgeschriebenen Brief und das vom Smartphone erfasste Dokument geht, wird entweder Unsinn oder buchstäblich nichts ausgegeben.

Für die Ausgabe des Tabellenbildes habe ich gImageReader verwendet, das oben erwähnte GUI-Frontend. Es stellt sich heraus, dass Tesseract Begrenzungsrahmen für Bereiche des Bildes ausgibt, die Text enthalten, aber nicht einmal der richtigen Tabellenextraktion nahe kommen. Natürlich können Sie die Ausgabe von Tesseract mit Ihrem eigenen Tabellenextraktionswerkzeug verarbeiten. Unsere Blog-Beiträge über das Anwenden von OCR auf technische Zeichnungen und das Extrahieren von Daten aus Briefen geben eine Vorstellung davon, wie.

ABBYY FineReader

ABBYY bietet eine Reihe von OCR-bezogenen Produkten an. Ich werde die ABBYY Cloud OCR SDK API verwenden. Dieser Cloud-Dienst verwendet die ABBYY FineReader OCR-Engine, die auch lokal installiert werden kann. Im Gegensatz zu Tesseract ist ABBYY Cloud OCR nicht kostenlos (Preisgestaltung).

Wenn Sie lernen möchten, wie Sie die API verwenden, finden Sie in diesen Kurzanleitungen alles, was Sie wissen müssen.

Auch hier haben wir verschiedene Optionen in Bezug auf das OCR-Ausgabeformat. Abgesehen von denen, die auch von Tesseract bereitgestellt werden, können wir ABBYY zusätzlich bitten, XLSX-Tabellen auszugeben. Ich werde diese Option für unser Tabellenbild verwenden.

ABBYY: gescannte E-Mail, handgeschriebener Brief.ABBYY: Vom Smartphone erfasste E-Mail, gescannter Tisch.

ABBYY FineReader hat keine Probleme mit der gut gescannten E-Mail und funktioniert mit dem vom Smartphone erfassten Dokument recht gut. Auf dem handschriftlichen Dokument schlägt dies jedoch vollständig fehl.

Die Haupttugend ist die Tabellenextraktionskapazität: Wie Sie im letzten Bild sehen können, behält die Ausgabe die tabellarische Struktur bei. Ein genauerer Blick auf die XML-Ausgabe zeigt, dass FineReader tatsächlich die Tabellenabschnitte und die einzelnen Zellen erkennt und sogar Details wie den Schriftstil extrahiert (eine Beschreibung des XML-Schemas von ABBYY finden Sie hier).

Google Cloud Vision

Als nächstes folgt Google Cloud Vision, das wir über die API verwenden werden. Genau wie FineReader handelt es sich um einen kostenpflichtigen Service (Preisgestaltung).

Die Verwendung der Cloud Vision-API ist etwas schwieriger als die Verwendung der ABBYY-API oder von Tesseract. Um zu erfahren, wie es funktioniert, finden Sie hier und hier gute Ausgangspunkte.

Wir erhalten folgende Ausgabe:

Google: gescannte E-Mail, handgeschriebener Brief.Google: Vom Smartphone erfasste E-Mail, gescannte Tabelle.

Google macht die gescannte E-Mail gut und erkennt den Text im vom Smartphone erfassten Dokument ähnlich gut wie ABBYY. Es ist jedoch viel besser als Tesseract oder ABBYY, Handschrift zu erkennen, wie das zweite Ergebnis zeigt: immer noch alles andere als perfekt, aber zumindest hat es einige Dinge richtig gemacht. Auf der anderen Seite verarbeitet Google Cloud Vision Tabellen nicht sehr gut: Es extrahiert den Text, aber das war es auch schon.

Tatsächlich ist die ursprüngliche Cloud Vision-Ausgabe eine JSON-Datei, die Informationen zu Zeichenpositionen enthält. Genau wie bei Tesseract könnte man anhand dieser Informationen versuchen, Tabellen zu erkennen, aber auch diese Funktionalität ist nicht integriert.

Beachten Sie, dass es derzeit auch eine Beta-Version von Google Document Understanding AI gibt, die wir zum jetzigen Zeitpunkt noch nicht getestet haben.

Amazon Textract

Unser letzter Kandidat ist auch eine kostenpflichtige Cloud-basierte Lösung (Preisgestaltung).

Zu Testzwecken können Sie Textract bequem mit der Drag-and-Drop-Browseroberfläche verwenden. Für produktionsbereite Anwendungen möchten Sie jedoch wahrscheinlich lieber die bereitgestellte API verwenden.

Über die Browser-Oberfläche werden Textrakte ausgegeben

  • die API-Antwort als JSON-Datei,
  • der Rohtext,
  • erkannte Tabellen in separaten CSV-Dateien,
  • Schlüssel-Wert-Paare (Interpretation der Eingabe als Formular) sowie eine CSV-Datei.

Diese geben uns folgende Ergebnisse:

Amazon: gescannte E-Mail, handgeschriebener Brief.Amazon: Vom Smartphone erfasste E-Mail, gescannter Tisch.

Wie zuvor sieht die E-Mail gut aus, aber anscheinend verarbeitet Textract handgeschriebene Texte nicht sehr gut. Obwohl das vom Smartphone erfasste Dokument auf den ersten Blick in Ordnung aussieht, zeigt eine genauere Betrachtung, dass die OCR von Amazon die Linien verwechselt hat (aufgrund der Krümmung des Dokumentbilds).

Für das tabellarische Dokument zeigen wir nur eine der drei identifizierten Tabellen Textract. Es ist jedoch bereits sichtbar, dass einige Spaltenüberschriften fehlen und einige Zahlen an den falschen Stellen stehen.

Fazit

Diese Tabelle fasst die Ergebnisse unserer Tests zusammen:

Die wichtigsten Imbissbuden in Worten:

  • Wenn Sie mit maschinell geschriebenen und gut gescannten Dokumenten oder PDF-Dateien ohne Metadaten arbeiten, erledigt Tesseract OCR möglicherweise die Aufgabe, obwohl die kommerziellen Dienste zuverlässiger sind.
  • Wenn die Erkennung handgeschriebener Zeichen für Sie wichtig ist, ist Google Cloud Vision ab heute Ihre einzige Option unter den getesteten.
  • Wenn die Bildqualität des Dokuments schlecht ist, leisten sowohl ABBYY FineReader als auch Google Cloud Vision immer noch gute Arbeit.
  • Wenn Sie tabellarische Informationen extrahieren möchten, können Sie ABBYY FineReader auswählen.

Ursprünglich veröffentlicht am 20. Januar 2020 unter https://dida.do.