Die Faltung (Convolution) ist ein mathematischer Operator, der in der Bildverarbeitung verwendet wird, um verschiedene Operationen durchzuführen. In der diskreten Faltung wird eine Filtermaske über das Bild geschoben, wobei jeder Pixelwert durch das gewichtete Mittel der umliegenden Pixel ersetzt wird.
Wichtige Punkte zur Faltung
- Filtermaske:
- Wahl abhängig von der spezifischen Aufgabe.
- Maskengröße:
- Beeinflusst den analysierten Bereich bei der Faltung.
- Schrittweite (Stride):
- Legt fest, wie viele Pixel die Filtermaske pro Schritt bewegt.
- Padding:
- Vermeidet Informationsverlust an Bildrändern durch Hinzufügen von Randpixeln.
Funktionsweise der Faltung
- Filtermaske: Eine kleine Matrix (z. B. 3x3 oder 5x5), deren Werte die Art der Transformation bestimmen.
- Bildmatrix: Das Eingabebild, dargestellt als Matrix von Pixelwerten.
- Faltungsprozess:
- Die Filtermaske wird schrittweise über das Bild bewegt.
- Für jede Position der Maske wird eine Multiplikation zwischen den Maskenwerten und den entsprechenden Pixelwerten des Bildes durchgeführt.
- Die Ergebnisse werden aufsummiert, um den neuen Pixelwert an der aktuellen Position im Ausgabebild zu berechnen.
Bildverarbeitung per Faltung
Mittelwertfilter
- verwendet eine Filtermaske, bei der ==alle Werte gleich sind und sich zu 1 summieren.
- → so werden die Pixel durch den Mittelwert seiner Nachbar erstztzt.
- z.B. Filtermaske ist -Matrix, bei der alle Werte sind.
Effekt
: Glättung des Bildes und Reduktion von Rauschen.
Kantenerkennungsfilter
- Verwendet eine Feltermaske, die Kanten im Bild hervorhebt.
Operation | Filtermaske |
---|---|
1:1 Filter | |
Kantenerkennung (horizontal) | |
Kantenerkennung (vertikal) | |
Schärfen | |
Verwischen (Mittelwertfilter) |
Max Pooling
Max-Pooling ist eine Technik, die in Convolutional Neural Networks (CNNs) nach den Convolutional Layern angewendet wird, um die Merkmalsinvarianz zu erhöhen, die Dimensionen zu reduzieren und die Robustheit gegenüber Rauschen zu verbessern.
Funktionsweise:
- Fenster: Ein Fenster (typischerweise 2x2 Pixel) wird über die Eingabedaten verschoben.
- Maximale Auswahl: Anstelle einer Matrixmultiplikation wie bei der Faltung wählt Max-Pooling den maximalen Wert innerhalb des Fensters aus.
- Erzeugung des Ausgabebilds: Dieser maximale Wert wird zu einem einzelnen Pixel im neuen, gepoolten Ausgabebild.
- Stride: Das Fenster wird mit einer bestimmten Schrittweite (Stride, typischerweise 2 Pixel) verschoben, sodass sich die Fenster nicht überlappen.
- Ergebnis: Durch diese Vorgehensweise wird die räumliche Auflösung des Bildes reduziert, wodurch die Anzahl der zu verarbeitenden Parameter und Berechnungen im Netzwerk sinkt.

Max Pooling in Python
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Input, Dense, MaxPooling2D, Conv2D, Flatten
...
model.add(Conv2D(10, kernel_size=(3, 3), activation="relu"))
model.add(MaxPooling2D(pool_size=(2, 2))) ## <--- MaxPoooling
...
Vorteile von Max Pooling
- Effiziente Merkmalsextraktion:
- Erkennt spezifische Merkmale wie Kanten, Texturen oder Formen.
- Positionsinvarianz:
- Merkmale werden unabhängig von ihrer Position im Bild erkannt.
- Parallele Verarbeitung:
- Gut parallelisierbar und effizient auf GPUs ausführbar.
Anwendung von Faltungen in Convolutional Neural Networks (CNNs)
- Merkmalsextraktion:
- CNNs lernen und extrahieren Merkmale in Bildern automatisch durch Faltungen.
- Erlernen von Filtermasken:
- Optimale Filtermasken werden während des Trainings erlernt.
- Einsatzgebiete:
- Bildklassifizierung, Objekterkennung und weitere Bildverarbeitungsaufgaben.
Quiz zur Bildverarbeitung per Faltung
Frage 1: Was ist der Hauptzweck einer Faltung (Convolution) in der Bildverarbeitung?
a) Farben invertieren.
b) Bilder vergrößern.
c) Spezifische Bildeigenschaften hervorheben.
d) Bilder komprimieren.Lösung
c) Spezifische Bildeigenschaften hervorheben.
Frage 2: Welches mathematische Konzept liegt der Faltung in der Bildverarbeitung zugrunde?
a) Fourier-Transformation
b) Matrizenmultiplikation
c) Diskrete Faltung
d) DifferenzialrechnungLösung
c) Diskrete Faltung
Frage 3: Wie wird eine Filtermaske bei der Faltung auf ein Bild angewandt?
a) Die Maske wird mit dem Bild multipliziert.
b) Die Maske wird pixelweise über das Bild geschoben und die Werte werden gemittelt.
c) Die Maske wird an den Bildrändern gespiegelt.
d) Die Maske wird zur Berechnung der Farbwerte jedes Pixels verwendet.Lösung
b) Die Maske wird pixelweise über das Bild geschoben und die Werte werden gemittelt.
Frage 4: Nennen Sie drei typische Anwendungen der Faltung in der Bildverarbeitung.
a) Kantenerkennung
b) Schärfen von Bildern
c) Rauschunterdrückung
d) FarbanpassungLösung
a), b), c)
Frage 5: Wie verändert sich die Größe eines Bildes in der Regel nach Anwendung einer Faltung?
a) Das Bild wird größer.
b) Das Bild wird kleiner.
c) Die Bildgröße bleibt gleich.
d) Das hängt von der Art des Filters ab.Lösung
b) Das Bild wird kleiner.
Frage 6: Was ist der Zweck von Padding in Convolutional Neural Networks (CNNs)?
a) Die Rechenleistung erhöhen
b) Informationsverlust an den Bildrändern vermeiden
c) Die Anzahl der Farbkanäle reduzieren
d) Die Konvergenz des Netzes beschleunigenLösung
b) Informationsverlust an den Bildrändern vermeiden.
Frage 7: Was ist die Funktion von Max Pooling in CNNs?
a) Den Kontrast des Bildes erhöhen
b) Die wichtigsten Merkmale eines Bildes extrahieren
c) Die Bildauflösung reduzieren
d) Rauschen im Bild entfernenLösung
b) Die wichtigsten Merkmale eines Bildes extrahieren.
Quizfragen zum Thema Max-Pooling
Frage 1: Was ist die Grundidee hinter einem Convolutional Layer in der Bildverarbeitung?
a) Er berechnet den Durchschnitt aller Pixelwerte.
b) Er sortiert die Pixel nach ihrer Helligkeit.
c) Er versucht Kanten und andere Merkmale im Bild zu erkennen.
d) Er vergrößert das Bild.Lösung
c) Er versucht Kanten und andere Merkmale im Bild zu erkennen.
Frage 2: Wozu dient ein Max-Pooling Layer?
a) Er macht das Bild schärfer.
b) Er reduziert die Farbtiefe des Bildes.
c) Er macht das Netz robuster und schneller, da die genaue Position von Merkmalen weniger wichtig wird.
d) Er trainiert das Netz schneller.Lösung
c) Er macht das Netz robuster und schneller, da die genaue Position von Merkmalen weniger wichtig wird.
Frage 3: Wie funktioniert Max-Pooling?
a) Es berechnet den Mittelwert aller Pixel in einem bestimmten Bereich.
b) Es wählt den größten Wert aus einem bestimmten Bereich des Bildes aus.
c) Es multipliziert die Pixelwerte mit einer Filtermaske.
d) Es vertauscht die Pixel im Bild zufällig.Lösung
b) Es wählt den größten Wert aus einem bestimmten Bereich des Bildes aus.
Frage 4: Welche Vorteile hat Max-Pooling in CNNs?
a) Es erhöht die Genauigkeit des Netzes.
b) Es beschleunigt das Training des Netzes.
c) Es reduziert den Speicherbedarf des Netzes.
d) Alle oben genannten Vorteile.Lösung
d) Alle oben genannten Vorteile.
Frage 5: Was ist typischerweise die Größe des Fensters, das beim Max-Pooling verwendet wird?
a) 1x1 Pixel
b) 2x2 Pixel
c) 3x3 Pixel
d) 4x4 PixelLösung
b) 2x2 Pixel.