Wie Texterkennung aus Kunst Perl macht

Aus Farbklecksen wird Programmcode: Friday-fun mit der OCR-Bibliothek Tesseract

Florian Roos

© Shutterstock / alanadesign

Unter Google-Mitarbeitern entspann sich auf Twitter ein Gespräch darüber, ob man mit an die Wand geschmierter Farbe wohl validen Perl-Code erzeugen könnte. Ein Teilnehmer der Konversation ging dieser Frage nach, mit Hilfe der quelloffenen OCR-Bibliothek Tesseract.

Ausgangspunkt des Experiments von Colin McMillen (Software-Engineer, ehemals Google) war die Frage „Ist es möglich, Farbe an die Wand zu spritzen, ohne validen Perl-Code zu erzeugen?“. Um dieser Frage nachzugehen, wurden von Pinterest 100 Bilder, die unter dem Suchbegriff „paint splatter wallpaper“ gefunden wurden, heruntergeladen und durch eine OCR-Bibliothek ausgelesen. Bilder mit offensichtlich lesbaren Texten oder Wasserzeichen wurden nicht berücksichtigt.

 

Quelle: Twitter

 

Was ist Tesseract?

Das Spaßprojekt hat einen durchaus ernsten Hintergrund. Es demonstriert die Fähigkeiten der OCR-Bibliothek Tesseract. Das Kürzel OCR steht für Optical Character Recognition, es geht also um die optische Erkennung von Schriftzeichen. Mit solchen Technologien lassen sich Texte und Textstücke in gescannten Dokumenten oder in Bildern bzw. Fotos lesbar machen.

Tesseract ist eine quelloffene OCR-Bibliothek. Sie bietet zwei Ansätze zur Erkennung von Schriftzeichen. Neben einer konventionellen Herangehensweise auf Grundlage von Zeichen-Mustern wird auch eine OCR-Engine auf Grundlage eines neuronalen Netzwerks (LSTM) angeboten. Eine Kombination beider Methoden ist ebenfalls möglich. Zusätzlich stehen mehrere Modi zur Page-Segmentation zur Verfügung, die mit den OCR-Ansätzen kombiniert werden können. Tesseract unterstützt UTF-8-Unicode.

Tesseract kann trainiert werden, um Unterstützung für neue Sprachen zu erreichen. Unter den verschiedenen Ausgabeformaten für erkannte Texte finden sich unter anderem Klartext und PDF. Gegenwärtig besitzt Tesseract kein offizielles GUI, es stehen jedoch GUIs von Thirdparty-Entwicklern zur Verfügung. Die aktuelle Version der Bibliothek geht auf Entwicklungen bei HP zwischen 1985 und 1994 zurück, 2006 übernahm Google das Projekt.

Methodik und Ergebnis

Doch zurück zum Farbexperiment von Colin McMillen. Wie ging es aus?

Um möglichst viele Ergebnisse zu erhalten, wurden die beiden OCR-Ansätze von Tesseract sowie die Kombination daraus mit vier immer gleichen Page-Segmentation-Methoden auf die Bilder angewendet. Dies begründet McMillan mit der Unklarheit darüber, welche OCR-Engine in Verbindung mit welcher Page-Segmentation letztlich die besten Resultate liefern würde.

Insgesamt konnte aus 93% der getesteten Bilder zulässiger Perl-Code erstellt werden. Allerdings betont McMillan, dass diese Programme allesamt langweilig seien und scheinbar bei Ausführung nichts tun. Nachdem er die Programme durch eval() geschickt hatte und ausdruckte, stellten sich die Programme häufig als Integer-Literale heraus. Letztlich kommt McMillan zu dem Schluss, dass es möglich ist, Farbe an die Wand zu schmieren, ohne dass dabei zulässiger Perl-Code entsteht. In seinem Test galt dies für 7% der getesteten Farbklecks-Bilder..

Quelle: Colinm.org

Die OCR-Bibliothek Tesseract ist Open Source und steht unter Apache-2.0-Lizenz. Details zu diesem Projekt können dem Tesseract-Repository auf GitHub entnommen werden. Das vollständige Paper von Colin McMillen inklusive aller Details seiner Untersuchung steht online zur Verfügung.

Verwandte Themen:

Geschrieben von
Florian Roos
Florian Roos
Florian Roos ist Redakteur für Software & Support Media. Er hat Politikwissenschaft an der Technischen Universität Darmstadt studiert und erste redaktionelle Erfahrungen in den Bereichen Games und Consumer-Hardware gesammelt.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: