3.10.1. Begleitblatt und Aufgabenstellung: Optical Character Recognition (OCR)

3.10.1.1. Softwaretechnologien und computerlinguistische Methoden der Software-Infrastruktur um die FinderApp WiTTFind

3.10.1.2. Florian Landes, Marcel Eisterhues


3.10.1.3. Was ist OCR?

OCR (Optical Character Recognition) bezeichnet die automatische Erkennung von hand- oder maschinengeschriebenen Wörtern oder Zeichen und deren Übersetzung in ein vom Computer lesbares Dateiformat (txt, HTML, XML, …). Eine vielzahl von verfügbaren OCR-Anwendungen in Kombination mit zugehörigen Trainingsdaten, z.B. für eine gewisse Sprache oder Font, bieten schwerpunktartige Lösungen für die meisten Probleme der Texterkennung.


3.10.1.4. Anwendung von OCR in WiTTFind

In der Finder-App WiTTFind werden die Bildausschnitte der Manu- oder Typoskripte zusammen mit den Treffern einer Suche angezeigt. Dieser Ausschnitt zeigt immer den kompletten Textblock, in dem das Ergebnis vorkommt.

Mit einer Reihe von Werkzeugen werden die Positionen von eben diesen Textblöcken auf einer Seite gesucht, wobei die OCR-Anwendung Tesseract im Mittelpunkt steht. Voraussetzung hierfür ist eine Transkriptionsdatei, in der die Anzahl der Blöcke pro Seite, so wie der tatsächlich geschriebene Inhalt der Blöcke definiert ist. Die gefundenen Koordinaten werden anschließend in den Koordinatenkorrektor geladen, in welchem die Ergebnisse angezeigt und händisch nachkorrigiert werden können.

Zum aktuellen Zeitpunkt verwenden wir die OCR also nicht mit dem Ziel einzelne Wörter oder Zeichen auszulesen, sondern zur Segmentierung von Seiten.


3.10.1.5. Aufgabe im Workshop: Texterkennung von Beispielbildern mit Tesseract

3.10.1.5.1. Vorbereitung

  • Docker (https://www.docker.com/get-started) herunterladen, installieren und anmelden (Für die meisten Aufgaben des Workshops erforderlich).

  • Einen Ordner auf Ihrem PC anlegen, z.B. im Home-Verzeichnis oder Desktop. Der Name ist beliebig.

  • Testbild auf folgender Seite herunterladen: http://php.cip.ifi.lmu.de/~landes/

  • Das Bild in den zuvor angelegten Ordner verschieben.


3.10.1.5.2. Docker starten

Um den Docker-Container zu starten, welcher Tesseract beinhaltet, muss folgender Befehl in Ihrem Terminal ausgeführt werden:

docker run -it -v “$HOME/Desktop/mount_test:/home/work” tesseractshadow/tesseract4re /bin/bash

  • Der angegebene absolute Pfad muss durch den Pfad ersetzt werden, der auf den Ordner mit den heruntergeladenen Beispieldaten zeigt.

  • home/work ist das aktuelle Arbeitsverzeichnis beim Starten des Containers, es muss also nich mehr navigiert werden.

  • Da Tesseract über die Kommandozeile ausgeführt wird, starten wir in dem Container eine bash: bin/bash


3.10.1.5.3. Aufgabe: Texterkennung von Typoskripten mit Tesseract

Zunächst versuchen wir mit der OCR-Software eine von Ludwig Wittgenstein geschriebene Typoskript-Seite auszulesen und den erkannten Text in einer .txt-Datei zu speichern. Dazu rufen wir in unserem Docker-Containter folgenden Befehl auf:

tesseract testbild.jpg output_file -l deu

  • testbild.jpg verweist auf die Eingabe-Bilddatei in Ihrem Arbeitsverzeichnis.

  • output_file ist der Name der Ausgabedatei (Diese wird eine .txt-Datei sein).

  • -l deu gibt an, dass es sich um einen deutschsprachigen Text handelt. Tesseract greift dann für die Erkennung auf deutsche Trainingsdaten zu.

Hinweis: Wie in dem Vortrag beschrieben, sind viele Vorbereitungsschritte nötig, um eine optimale Texterkennung zu ermöglichen (Zuschneiden, Binarisieren, …). Der Einfachheit halber verwenden wir hier die Ausgangsdateien. Die erkannten Texte können also noch deutlich präziser werden.

  • Öffnen Sie die Textdatei auf Ihrem PC und vergleichen Sie diese mit der Bilddatei.

  • Wo hat die OCR-Software die größten Schwierigkeiten bei der Texterkennung?

3.10.1.5.4. Zusatzaufgabe: Erkennung von handgeschriebenen Texten

Es scheint klar zu sein, dass Tesseract Probleme haben wird, Wittgenstein’s Handschrift auf den Manuskripten zu erkennen, allerdings ist es möglich, mit einer sauberen Handschrift und Druckschrift akkurate Ergebnisse zu erhalten. Dies wollen wir in dieser Aufgabe probieren.

  • Schreiben Sie auf einem leeren Blatt Papier ein paar Sätze.

  • Fotografieren Sie dieses mit Ihrem Smartphone ab.

  • Schicken Sie das Bild per Mail an Ihren PC.

  • Speichern Sie das Bild in dem selben Ordner wie in der letzten Aufgabe.

  • Lassen Sie mit Tesseract den Text erkennen.

Beste Ergebnisse können wie folgt erzielt werden:

  • Verwenden Sie einen schwarzen Stift.

  • Schreiben Sie auf einem weißen Blatt ohne Linien.

  • Schreiben Sie möglichst gerade.

  • Schreiben Sie die Buchstaben möglichst in der gleichen größe.

  • Versuchen Sie auf dem Foto das ganze Blatt zu beinhalten, aber nichts umliegendes.

  • Fotografieren Sie das Blatt möglichst gerade ab. Auf vielen Smartphonen können Bilder nachräglich gedreht werden.