Warum die Binarisierung im Preprocessing von Dokumenten eine wichtige Rolle für die OCR-Performance spielt
Warum brauchen wir Binarisierung?
Bei Gini verarbeiten wir in jeder Stunde Tausende von Dokumentenbildern. Die fotografierten Dokumente weisen eine große Vielfalt an Formaten und Stilen auf. Einige Dokumente sind mit Blitzlicht fotografiert, andere sind durch einen Schatten beeinträchtigt. Einige sind scharf und klar, andere unscharf und verschwommen. Einige verwenden bunte Farben, andere sind auf nicht weißem Papier gedruckt. All diese Faktoren wirken sich negativ auf die OCR-Leistung (Optical Character Recognition) und die anschließende Informationsextraktion aus. Je nach Lichtverhältnissen kann die Tinte auf manchen Dokumenten heller erscheinen als das (weiße) Papier auf anderen. Erinner dich einmal an die berühmte Schachbrettschatten-Täuschung: ob Du es glaubst oder nicht – im folgenden Bild haben die Quadrate A und B die gleiche Farbe.
Ist globales Thresholding gut genug?
Um die Auswirkungen der oben erwähnten visuellen Artefakte zu minimieren, werden die Dokumente in der Regel binarisiert bevor die OCR ausgeführt wird, also in einen Zustand überführt in welchem ein Pixel nur entweder die Farbe schwarz oder weiß annehmen kann. Dies hilft der OCR, sich auf die wichtigen Informationen zu konzentrieren, da die Binarisierung alles herausfiltert, was nicht mit der Informationsextraktion zusammenhängt. Eine der einfachsten Binarisierungsmethoden ist die globale Schwellenwertbildung (global thresholding), bei der alle Pixel, die dunkler als eine bestimmte Schwellenfarbe sind, als Tinte betrachtet werden. Angesichts der großen Vielfalt an Dokumentenstilen und Erfassungsbedingungen ist es jedoch wahrscheinlich, dass der einfache globale Schwellenwertansatz unbrauchbare Ergebnisse liefert. Wie in Abbildung 2 dargestellt, kann ein einziger Binarisierungsschwellenwert für einige Teile eines Bildes zu aggressiv und für andere zu schwach sein.
Adaptive Binarisierung
Glücklicherweise sind einige Ansätze in der Lage, die lokalen visuellen Merkmale von Dokumentenbildern zu berücksichtigen und den Schwellenwert entsprechend anzupassen. Einer der klassischen Schwellenwertansätze in der Bildverarbeitung ist die sogenannte Sauvola-Methode. Dabei wird der Schwellenwert für jedes Pixel einzeln berechnet, wobei die durchschnittliche Beleuchtung und der Kontrast in der (nahen) Umgebung des betreffenden Pixels berücksichtigt werden. Dies führt zu wesentlich präziseren und robusteren Binarisierungsergebnissen, wie in Abbildung 3 dargestellt.
Auch wenn der Sauvola-Algorithmus in der Dokumentenverarbeitung weit verbreitet ist, hat er doch erhebliche Einschränkungen. Bevor man den Algorithmus anwendet, sollte man sich nämlich folgende Fragen stellen:
- Wie groß sollte die Pixelumgebung sein? Eine bestimmte Größe eignet sich vielleicht für Dokumententitel, kann aber für Fußnoten, die mit viel kleineren Schriftarten geschrieben sind, zu groß sein.
- Wie wirkt sich der lokale Kontrast auf den Schwellenwert aus? Mit anderen Worten: Wie viel dunkler (im Verhältnis zum Hintergrund) sollte ein Pixel sein, damit es als Tinte und nicht als Schatten, Rauschen oder sonstiges Foto-Artefakt angesehen wird?
Bei der Standard-Sauvola-Methode werden diese Fragen durch eine Reihe von Parametern gesteuert. Unterschiedliche Dokumenttypen und Lichtverhältnisse erfordern jedoch unterschiedliche Parametereinstellungen, um ein optimales Ergebnis zu erzielen. Und was ist mit unscharfen Pixeln, fehlender Tinte und Kamerarauschen?
Deep-Learning-basierte Binarisierung und automatische Datengenerierung
Unser Ziel ist es, die Flexibilität der Sauvola-Methode auf eine noch anpassungsfähigere Weise zu nutzen. Zu diesem Zweck konzentrieren wir uns auf die adaptive Abstimmung der oben genannten Hyperparameter für jedes Pixel. Der Ansatz basiert auf der SauvolaNet-Architektur, einer CNN-basierten Lösung, die die Hyper-Parameter lokal schätzt. Wir sind einige Schritte weiter gegangen und haben die SauvolaNet-Architektur um einen adaptiven Farbraumkonverter, ein Nachbearbeitungsmodul mit Restumgehung und ein Restaurationsteilnetz zur Berücksichtigung defekter und/oder fehlender Pixel (z. B. fehlende Tinte) erweitert.
Wie bei jedem überwachten maschinellen Lernansatz sind auch bei unserer Binarisierung die Daten der Schlüsselfaktor. Das manuelle Labeln von Binarisierungskarten ist eine mühsame Arbeit und stellt einen unwirtschaftlichen Aufwand dar, um einen Datensatz mit einer sinnvollen Größe aufzubauen. Daher haben wir einen alternativen Ansatz gewählt. Zu diesem Zweck haben wir einen automatischen Generator für Dokumente und die entsprechenden Binarisierungskarten (Ground Truth) entwickelt. Der Generator füllt die Dokumente mit gefälschten Daten und wendet verschiedene visuelle Augmentierungstechniken an, um ein realistisches Aussehen zu erreichen. Ausschnitte aus diesen künstlich erzeugten Dokumenten und die entsprechenden Binarisierungskarten sind in Abbildung 4 dargestellt.
Unsere Ergebnisse
Und wie sehen unsere Ergebnisse aus? Ein Vergleich unseres Ansatzes mit dem Sauvola-Schwellenwertverfahren ist in Abbildung 5 dargestellt. Unser Binarisierungsansatz ist robuster und genauer und steigert die Leistung der Informationsextraktion um bis zu 9 % im Vergleich zum klassischen Sauvola-Schwellwertverfahren.
Originalbild | Sauvola-Schwellenwertmethode | Unsere Lösung |
Eine angemessene Vorverarbeitung von Dokumenten spielt eine Schlüsselrolle bei der Informationsextraktion. Wenn es gelingt, alle irrelevanten Informationen aus dem Bild zu entfernen, können wir die OCR-Leistung erheblich steigern. An dieser Stelle kommt unsere Binarisierungslösung ins Spiel und bereitet das Bild für die anschließende Verarbeitung in unserer Fotoüberweisungslösung vor. Die Aufnahme eines guten und sauberen Bildes eines Dokuments erfordert einige Zeit und Mühe. Dank unserer Binarisierungslösung können die User unserer Fotoüberweisung diese Zeit mit etwas anderem verbringen :-)
. . .
Wenn Du Spaß daran hast, Herausforderungen des Machine Learnings wie diese zu meistern, solltest Du Dir unsere offenen Stellen ansehen. Wir sind immer auf der Suche nach exzellenten Entwicklern, die sich uns anschließen möchten!
Wir bei Gini möchten mit unseren Beiträgen, Artikeln, Leitfäden, Whitepaper und Pressemitteilungen alle Menschen erreichen. Deshalb betonen wir, dass sowohl weibliche, männliche als auch anderweitige Geschlechteridentitäten dabei ausdrücklich angesprochen werden. Sämtliche Personenbezeichnungen beziehen sich auf alle Geschlechter, auch dann, wenn in Inhalten das generische Maskulinum genutzt wird.