Intern
Zentrum für Philologie und Digitalität "Kallimachos"

Calamari

Die Open Source OCR-Engine Calamari verwendet einen CNN/LSTM-basierten Ansatz, der es erlaubt ganze Zeilenbilder zu verarbeiten und somit nicht mehr auf die Zerlegung in einzelne Glyphen angewiesen ist. Dies hat erhebliche Vorteile, da die aufwendige und fehleranfällige Aufspaltung in einzelne Glyphen entfällt, die Erkennungsgenauigkeit gesteigert und die Erzeugung von Trainingmaterial erheblich erleichtert wird, da lediglich komplette Zeilen transkribiert werden müssen.

Calamari basiert auf der OCRopus Toolbox, wurde jedoch erheblich erweitert. Die verwendeten tiefen Neuronalen Netze (Deep Learning) erlauben eine erheblich höhere Erkennungsgenauigkeit als die flachen Vorgänger. Zudem wurden zahlreiche genauigkeitssteigernde Maßnahmen integriert, wie Pretraining, konfidenzbasiertes Voting und Datenaugmentierung.

Die Implementierung erfolgte in Python3, für die maschinellen Lernverfahren kommt das TensorFlow Framework zum Einsatz. Calamari unterstützt die Anwendung auf leistungsstarken Grafikkarten, was gerade beim Training zu erheblichen Geschwindigkeitsvorteilen im Vergleich zu der Anwendung auf der CPU führt. Die flexible API sowie die Schnittstellen zu komplexen und weit verbreiteten OCR-Datenformaten wie PAGE oder ABBYY XML erlauben eine direkte Einbindung in bestehende und zukünftige OCR Workflows. So ist Calamari ist eines der Kern-Submodule in OCR4all.

Zur Nachverfolgung der Weiterentwicklung und für Verbesserungsvorschläge verweisen wir auf GitHub.

Related Publications

Wick, C., Reul, C., Puppe, F.: Calamari - A High-Performance Tensorflow-based Deep Learning Package for Optical Character Recognition. In: Digital Humanities Quarterly 14,2 (2020). URL

Wick, C., Reul, C., Puppe, F.: Comparison of OCR Accuracy on Early Printed Books using the Open Source Engines Calamari and OCRopus. In: JLCL Special Issue on Automatic Text and Layout Recognition 33,1 (2018), 79-96. URL