Faltungsoperation an einer 7×7-Matrix mit einem 3×3-Kernel
  1. In der Mathematik ist die Faltung eine Operation, die an zwei Funktionen (f und g) durchgeführt wird, um eine dritte Funktion zu erzeugen. Die Faltung ist eine der wichtigsten Operationen in der Signal- und Bildverarbeitung. Sie kann in 1D (z.B. Sprachverarbeitung), 2D (z.B. Bildverarbeitung) oder 3D (Videoverarbeitung) durchgeführt werden.
  2. In der Bildverarbeitung ist die Faltung der Prozess der Umwandlung eines Bildes durch Anwendung eines Kerns auf jedes Pixel und seine lokalen Nachbarn im gesamten Bild. Der Kernel ist eine Matrix von Werten, deren Größe und Werte den Transformationseffekt des Faltungsprozesses bestimmen.
  3. Der Faltungsprozess umfasst folgende Schritte. (1) Die Kernel-Matrix wird über jedes Pixel des Bildes gelegt (wobei sichergestellt wird, dass sich der gesamte Kernel innerhalb des Bildes befindet), und jeder Wert des Kernels wird mit dem entsprechenden Pixel, über dem er sich befindet, multipliziert. (2) Anschließend werden die multiplizierten Werte summiert und der resultierende Wert als neuer Wert des mittleren Pixels zurückgegeben. (3) Dieser Vorgang wird über das gesamte Bild wiederholt.
  4. Wie in der Abbildung zu sehen, wird ein 3×3-Kernel über ein 7×7-Quellbild gefaltet. Das mittlere Element des Kerns wird über dem Quellpixel platziert. Das Quellpixel wird dann durch eine gewichtete Summe aus sich selbst und den umgebenden Pixeln ersetzt. Die Ausgabe wird im Zielpixelwert platziert. In diesem Beispiel haben wir an der ersten Position 0 im Quellpixel und 4 im Kernel. 4×0 ist 0. Wenn wir dann zum nächsten Pixel gehen, haben wir 0 und 0 an beiden Stellen. 0x0 ist 0. Dann wieder 0x0 ist 0. Als Nächstes haben wir in der Mitte eine 1 im Quellbild und eine 0 an der entsprechenden Stelle des Kernels. 0x1 ist 0. Dann wieder 0x1 ist 0. Dann ist 0x0 0 und 0x1 ist 0 und an der letzten Position ist es -4×2, was -8 ist. Wenn wir nun alle diese Ergebnisse zusammenzählen, erhalten wir -8 als Antwort, also ist das Ergebnis dieser Faltungsoperation -8. Dieses Ergebnis wird im Zielbild aktualisiert.
  5. Das Ergebnis des Faltungsprozesses ändert sich mit den sich ändernden Kernelwerten. Der unten gezeigte Identitäts-Kernel zum Beispiel hat, wenn er durch Faltung auf ein Bild angewendet wird, keine Auswirkungen auf das resultierende Bild. Jedes Pixel behält seinen ursprünglichen Wert, wie in der folgenden Abbildung dargestellt.

Identity Kernel

Ursprüngliches Bild (links) und Bild nach Anwendung eines Identitätsfilters der Größe 3×3 (rechts)

Ein solcher Schärfungskern, der durch Faltung auf ein Bild angewendet wird, auf ein Bild durch Faltung angewendet wird, hat einen Schärfeeffekt auf das resultierende Bild. Die genauen Werte können für unterschiedliche Schärfegrade angepasst werden, wie in der folgenden Abbildung gezeigt.

Kern schärfen

Ursprüngliches Bild (links) und Bild nach Anwendung des Scharfzeichnungsfilters der Größe 3×3 (rechts)

Der Gaußsche Unschärfe-Kernel wie dieser, wenn er durch Faltung auf ein Bild angewendet wird, wendet einen Gaußschen Unschärfeeffekt auf das resultierende Bild an.

Gaußscher Unschärfe-Kernel

Ursprüngliches Bild (links) und Bild nach Anwendung des Unschärfefilters der Größe 7×7 (rechts)

So wie die Werte des Kernels für verschiedene Ebenen von Effekten variiert werden können, kann auch die Größe des Kernels verändert werden, um die Wirkung der Faltung zu beeinflussen.Indem man die Größe der Kernel-Matrix erhöht, wird die räumliche Lokalisierung, die den resultierenden Wert jedes Pixels beeinflusst, verstärkt, da Pixel aus größerer Entfernung in die Gleichung einbezogen werden. Es gibt noch viele weitere Kernel, die in der Bildverarbeitung verwendet werden, wie z. B. Kantenerkennung, Prägung, Drehung usw.

6. Die Faltung ist das Schlüsselkonzept in Convolutional Neural Networks. Convolutional Neural Networks (CNN) sind eine Art von Deep Neural Network. Ein CNN besteht aus einer Faltungsschicht, einer Pooling-Schicht und einer vollständig verknüpften Schicht (Fully-Connected Layer). In der Faltungsschicht wendet ein CNN die Faltung auf seine Eingaben an und verwendet dabei eine Kernelmatrix, die es durch Training kalibriert. Aus diesem Grund sind CNNs sehr gut für den Merkmalsabgleich in Bildern und die Objektklassifizierung geeignet. Die Parameter der Faltungsschicht bestehen aus einer Reihe von lernbaren Kerneln. Jeder Kernel ist eine kleine Matrix, die sich über die gesamte Tiefe des Eingabevolumens erstreckt. Während des Vorwärtsdurchlaufs wird jeder Kern über die Breite und Höhe des Eingabebildes gefaltet und Punktprodukte zwischen den Pixelwerten der Quelle und des Kerns an den entsprechenden Positionen berechnet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.