Der Begriff der Erosion bezeichnet primär das Abtragen von Gestein und Böden durch die äußere Einwirkung von Wasser und Luft. Jedoch findet sich die Erosion auch in der mathematischen Morphologie wieder und bildet eine Basisoperation in der morphologischen Bildverarbeitung.

Warum sollten wir unser Augenmerk nun auf die Erosion und Bildverarbeitung werfen und wie können wir diese nutzen, um minimale Anforderungen an rechtsgültige Dokumente zu überprüfen? In diesem Blogbeitrag machen wir einen Ausflug in die Welt der Morphologie und finden heraus, ob sich gefälschte oder unvollständige Dokumente in unserem Bestand befinden.

Download und Öffnen der Beispieldatei

Für das hier beschriebene Beispiel verwende ich einen KNIME-Workflow. Damit Sie mein Beispiel nachvollziehen und es selbst auszuprobieren können, laden Sie sich den Workflow herunter.

Damit Sie die Datei öffnen können, benötigen Sie die KNIME Analytics Platform. Diese können Sie sich hier kostenlos herunterladen.

Dokument mit Unterschrift
Siegel/Stempel und Unterschrift sind ein valides Merkmal für die Echtheit eines Dokuments.

Es ist ein übliches Vorgehen, dass Dokumente, die per E-Mail oder auf dem postalischen Weg in einem Unternehmen eintreffen, digitalisiert und weiterverarbeitet werden. Wir haben diese Phase bereits durchlaufen und möchten maschinell prüfen, ob ein Dokument eine Unterschrift und einen Stempel (oder Siegel) trägt.

Nach und nach werden die Pixelwerte abgetragen.

Der Vorgang der Erosion

Die Erosion erkennt schwarze Flächen in der Grafik. Wenn diese Flächen z.B. Buchstaben sind, die sich klar von ihren Nachbarbuchstaben abgrenzen, dann wird in mehreren Schritten jeder Buchstabe „von außen nach innen“ abgetragen. Um jeden Buchstaben breitet sich die weiße Farbe aus und entfernt kleine schwarze Flächen.

Dazu reduzieren wir im Laufe dieses Prozesses unsere Eingabedaten auf ein minimales Maß an relevanten Merkmalen. In diesem Sinne benötigen wir keine Buchstaben, Wörter oder gar Farben. Die drei Farbkanäle (Rot, Grün, Blau) werden auf einen Farbkanal, den der Graustufen, projiziert und jeder Pixel wird in ein Zahlenformat überführt und normalisiert, indem man den jeweiligen Pixelwert z.B. durch 255 dividiert. Die 255 spielt hierbei die gängigste Größe, da der RGB-Farbraum durch jeweils 255 Abstufungen definiert wird.

Damit die wichtigen, zu vergleichenden Flächen nicht verschwinden, werden diese mit etwas Farbe wieder aufgefüllt.

Die Erosion nimmt gleichartig, auch innerhalb der weißen Flächen des Stempels, zu. Also können potenziell auch wichtige Ränder entfernt werden und der Stempel würde dann vielleicht nicht mehr aus nur einem Stück bestehen. Es bleiben z.B. nur noch zwei getrennte Umrandungen. Damit würde der Stempel nicht mehr als „groß genug“ erkannt und damit entfernt werden. Also füllt man alle Flächen, die von einer durchgängigen Linie eingeschlossen sind, wieder mit etwas Farbe und sichert damit, dass diese Komponente auch eine ausreichende Größe behält, um nicht mit erodiert zu werden.

Im nächsten Schritt wird aus der Graustufengrafik ein Binärbild gemacht. Ein Binärbild ist nichts anderes als ein Schwarz-Weiß-Bild mit einer binären Ausprägung der Farbwelt. Es gibt nur Schwarz oder Weiß. Aus diesem Grund sind Dokumente ideal für dieses Vorgehen, weil nur sehr wenig Vorverarbeitung notwendig ist, um eine solche Analyse durchzuführen.

Jetzt kommt die Erosion ins Spiel. Bei der Erosion von Binärbildern trägt man nach und nach schwarze Elemente der Grafik ab und ersetzt sie pixelweise durch weiße Pixel, so dass man manchmal nur eine Abgrenzung der einzelnen Elemente z.B. Buchstaben erreichen kann, aber in unserem Fall durch mehrere Iterationsschritte das vollständige Abtragen von jedem Buchstaben. Das funktioniert sehr gut, da jeder Buchstabe in der Regel nur wenige Pixel dick ist und somit schnell verschwindet. Größere Fragmente der Grafik leiden zwar unter der Erosion und verlieren teilweise stark an Schärfe, gehen aber durch ihre Größe nicht verloren. Durch die Erosion können so aber in größeren Fragmenten Löcher entstehen, die wir wieder auffüllen möchten, um hinterher eine Analyse der Zusammenhangskomponenten durchzuführen.

Die Zusammenhangskomponente als Echtheitsmerkmal

Der ein oder andere kennt den Begriff der Zusammenhangskomponente aus dem Studium der Mathematik oder Informatik, z.B. im Zusammenhang mit der Graphentheorie oder Suchalgorithmen. Eine Zusammenhangskomponente bildet damit ein größtmöglich zusammenhängendes Fragment unserer Grafik, dass nicht weiter zu trennen ist. In diesem Fall sind das Unterschrift und Stempel. Unterschrift und Stempel bilden die größten verbleibenden Fragmente. Nach einer Filterung nach einer bestimmten Mindestgröße an Pixeln innerhalb der Zusammenhangskomponenten der Grafik, sind diese beiden auch die verbleibenden Elemente.

Die Unterschrift bildet mit dem Stempel zusammen die größten verbleibenden Fragmente.

Je nach Anwendungsfall könnten wir hier stoppen, weil uns die Information über die Anzahl an verbleibenden Fragmenten ausreicht, um zu erkennen, dass eventuell zu wenige dieser Elemente vorhanden sind. Stempel – aber keine Unterschrift, Unterschrift – aber kein Stempel. Alleine über die Anzahl der verbliebenen Zusammenhangskomponenten haben wir bereits genug Informationen über die Vollständigkeit des Dokuments erhalten.

Weiterführende Analysen mithilfe von künstlichen Neuronalen Netzwerken (kNN)

Diese Vorverarbeitung bietet aber auch einen Ausgangspunkt für weitere Analysen. Durch weitere Tranformationen könnten wir Unterschrift und Stempel in ein geeignetes Inputformat  eines künstlichen Neuronalen Netzwerkes überführen.

Die Berechnungen mit Neuronalen Netzwerken benötigen große Rechenleistung. Darum ist es umso wichtiger die Eingabedaten so detailliert wie nötig, aber so klein wie möglich, zu halten. Ein Scan einer DIN A4 Seite mit 300 DPI hat 2.480 × 3.508 = 8.699.840 Pixel und damit ~ 8 Millionen Features, die analysiert werden müssen. Dies ist kaum praktikabel und ist auch nicht nötig, denn oft reichen wenige Merkmale aus, um ein bestimmtes Merkmal in einer Grafik zu identifizieren. Also reduziert man so ein Dokument auf die relevanten Teile (Stempel/Unterschrift) und hat nur noch eine Grafik mit ~ 10.000 Pixeln. Und damit 0,1 % der ursprünglichen Information. Wenn nur noch Stempel und Unterschrift übrig sind, werden die Farbwerte in jedem verbleibenden Pixel in Integer-/Floatzahlen umgerechnet und können vom Neuronalen Netzwerk für die Klassifikation genutzt werden.

Künstliche Neuronale Netzwerke trainieren

Damit ein künstliches Neuronales Netzwerk erkennt, ob der Stempel oder die Unterschrift den üblichen Vorgaben entspricht und keine Fälschung ist, muss das Netzwerk zunächst mit den Informationen „gefüttert“ werden. In diesem Beispiel müssen wir daher zunächst eine Sammlung an originalen Stempeln und Unterschriften zusammenstellen und ihnen eine eindeutige Klasse (z.B. StempelBuchhaltungStempelLieferantA, StempelVorstand) geben. Dann führen wir die oben beschriebene Vorverarbeitung durch und trainieren damit ein Model, dass auf diesen Trainingsdaten lernt, zu welcher Klasse ein gegebener Stempel oder eine Unterschrift gehört.

Jetzt können wir eine unbekannte Grafik nehmen, diese genauso vorverarbeiten und so ein Stempelsegment mit dem gerade trainierten Model überprüfen.

Wenn die unbekannte Grafik mit dem antrainierten Stempel oder den Unterschriften in dem Neuronalen Netzwerk übereinstimmt, gibt das Neuronale Netzwerk mit einer hohen Wahrscheinlichkeit die korrekte Klasse an. Gibt es keine Übereinstimmung oder ist etwas an dem Stempel oder der Unterschrift verdächtig, kann das Neuronale Netzwerk keine der bekannten Klassen zuordnen. Diese Zuordnungen werden immer mit einer gewissen Sicherheit angegeben, also „XY gehört zu 21 % zu Klasse 1, zu 34 % zu Klasse 2“. Je niedriger diese Wahrscheinlichkeit ist, desto unwahrscheinlicher ist es, dass der Stempel oder die Unterschrift den Vorgaben entsprechen.

Daraus können wir schließen, dass hier etwas nicht stimmt, dieser Stempel oder die Unterschrift dort nicht hingehört oder das Neuronale Netzwerk dieses Element nicht kennt, weil es auf bestimmte vorgegebene Grafiken trainiert wurde.

Das Verfahren der Dokumentenprüfung mit einem künstlichen Neuronalen Netzwerk bietet uns somit einen weiteren Sicherungsmechanismus zur einfachen Überprüfung unserer Datenbestände.

Sie haben immer noch nicht genug
von Machine Learning, AI und Internal Audit?

Mit unserem Newsletter erhalten Sie alle zwei Wochen

  • aktuelle Artikel und Whitepaper,
  • unsere Kategorien "schon gewusst?" und "was uns gerade inspiriert"
  • und die aktuellen Termine unserer Audinare.

Was erhalten wir dafür?

  • Die Chance Sie von uns und unserem Know-how zu überzeugen.