+ Gedruckte vs. handgeschriebene Textzeilen - automatisch getrennt

Das Transkribus-Team arbeitet mit dem Pattern-Recognition-Team der Universität Erlangen-Nürnberg (ebenfalls Mitglied von READ-COOP SCE) zusammen und die Kollegen waren so nett, ein interessantes Experiment zu machen: ihren Klassifikator zur automatischen Unterscheidung von gedruckten und handgeschriebenen Textzeilen zu trainieren. Es gibt hauptsächlich zwei Anwendungsfälle: (1) zur Verbesserung der Erkennungsergebnisse, wenn bestimmte HTR-Modelle auf bestimmte Schrifttypen angewendet werden. Wir haben jedoch die Erfahrung gemacht, dass die HTR-Engines intern in der Regel recht gut mit einer großen Anzahl von Schriften umgehen können, so dass der tatsächliche Nutzen möglicherweise nicht so hoch ist, wie man erwartet. (2) um handschriftliche Zeilen in gedruckten Büchern zu finden. Wenn z.B. berühmte Personen in ihren privaten Büchern Notizen gemacht haben, wird das unten beschriebene Werkzeug diese mit erstaunlicher Genauigkeit finden!

Der folgende Text wurde von Matthias Seuret und Vincent Christlein von der Pattern Recognition Team und für diesen Beitrag leicht angepasst:

Die Schwierigkeit bei der Klassifizierung von Textzeilen als gedruckt oder handschriftlich liegt nicht so sehr in der Verwendung der Faltungsneuronalen Netze (CNN) oder dem Design ihrer Architektur, sondern in der Erfassung und Aufbereitung der Daten. In der Tat sind moderne künstliche neuronale Netze (ANN) heute in der Lage, mit hochkomplexen Daten umzugehen (wie z. B. ImageNet, das 90 verschiedene Hunderassen zur Unterscheidung enthält), und für eine große Vielfalt von Aufgaben reicht es aus, dem ANN genügend Beispiele zu präsentieren, damit es eine angemessene Genauigkeit erreicht.

Es ist zu beachten, dass ANNs (und andere Systeme der künstlichen Intelligenz) durch die Daten, mit denen sie trainiert werden, extrem verzerrt werden. Aus diesem Grund sollten die Trainingsdaten sorgfältig ausgewählt werden, um sicherzustellen, dass die Aufgabe am einfachsten durch die richtige Klassifizierung der Bilder gelöst werden kann. Wenn zum Beispiel alle (oder die meisten) handgeschriebenen Textzeilen auf einem gelblichen Papier sind, während gedrucktes Material auf weißem Papier ist, dann wird das ANN einfach lernen, gelb von weiß zu trennen, und wird antworten, dass jede Textzeile auf gelblichem Papier handgeschrieben ist. Natürlich kann ein ANN verschiedene andere unerwünschte Dateneigenschaften lernen, wie z. B. die Bildauflösung und -qualität, die Textur des Papiers oder die Farbe oder den Kontrast der Tinte. Daher ist es von größter Bedeutung, Trainingsdaten zu verwenden, die denen, mit denen das ANN zu tun haben wird, so ähnlich wie möglich sind.

Das System, das wir für diese Aufgabe entwickelt haben, basiert auf dem (gedruckten) Schriftgruppenklassifikator, der für das OCR-D-Projekt (http://www.ocr-d.de/). Es besteht aus einem DenseNet-121, das in einige Utility-Klassen verpackt ist, und wurde für die binäre Klassifikation von handgeschriebenem und gedrucktem Text angepasst. Das DenseNet-121 ist ein faltbares neuronales Netz mit 121 Schichten, von denen die meisten in 4 Blöcken dicht verbunden sind. Es hat jedoch eine relativ geringe Anzahl von Parametern für ein Netzwerk seiner Größe und benötigt daher weniger Daten zum Trainieren als Architekturen mit mehr Parametern.

Schema für maschinelles Lernen für gedruckte vs. handschriftliche Textzeilen

Textzeilen werden auf zwei Arten vorverarbeitet. Erstens werden sie alle auf eine Höhe von 150 Pixel verkleinert, und ihr Seitenverhältnis bleibt erhalten. Dies ist für das ANN hilfreich, da es nicht lernen muss, mit einer großen Vielfalt von Textgrößen umzugehen. Zweitens werden Methoden zur Datenanreicherung auf die Trainingsbilder angewendet. Das bedeutet, dass einige kleine Modifikationen, wie z. B. Scherungen oder Farbtonänderungen, auf die Trainingsbilder angewendet werden, wenn sie dem neuronalen Netzwerk während des Trainings gezeigt werden. Das Ziel ist es, dass das Netzwerk lernt, diese Veränderungen zu ignorieren und mit ungesehenen Daten zu arbeiten.

Wir haben unser Netzwerk auf Textzeilen trainiert, die aus zwei verschiedenen Quellen stammen. Ungefähr 40'000 gedruckte Textzeilen wurden automatisch aus dem Datensatz extrahiert, der in "Dataset of Pages from Early Printed Books with Multiple Font Groups" (https://doi.org/10.5281/zenodo.3366685), und 9'577 handschriftliche Proben, die von READ bereitgestellt wurden. Außerdem wurden 1'562 Textzeilen aus jeder Klasse zu Testzwecken verwendet - keine davon stammte von einer Seite, die für die Trainingsdaten verwendet wurde. Während unser Netzwerk bei den Testdaten eine Klassifikationsgenauigkeit von 97,5% erreichte, muss man bedenken, dass dies nur für diese spezifischen Daten gilt. Der Quellcode unserer Methode und des trainierten CNN sowie der Code, mit dem jeder das CNN auf einfache Weise auf seinen eigenen Daten nachtrainieren kann, ist unter der folgenden Adresse verfügbar: https://github.com/seuretm/printed-vs-handwritten

Hinweis: Wenn Sie Interesse haben, Trainingsdaten für diesen Zweck in Transkribus zu erstellen, können Sie die Funktion "Structural Tagging" nutzen und Zeilen in Ihren Dokumenten als "handschriftlich" oder "gedruckt" markieren. Der eigentliche Klassifikator muss außerhalb von Transkribus laufen, allerdings sind wir bei starker Unterstützung durch die Anwendergemeinde gerne bereit, das Tool auch in die Transkribus-Plattform einzubinden.

DIESEN ARTIKEL TEILEN

Neueste Beiträge

November 17, 2022
Transkribus
Wir freuen uns sehr, Ihnen mitteilen zu können, dass wir gestern 100.000 Nutzer auf der Transkribus-Plattform erreicht haben! Trotz unserer jahrelangen, sehr ...
August 12, 2022
Erkennung von handgeschriebenem Text
Hatten Sie schon einmal Probleme, die Handschrift einer anderen Person zu lesen? Vielleicht beruhigt es Sie zu wissen, dass es nicht nur Menschen sind, die ...
22. Juli 2022
Uncategorized
Die neueste Version von Transkribus Lite ist da und bringt eine Reihe von neuen Funktionen. Hier sind die wichtigsten ...