Rauschunterdrückung in der Theorie & Praxis Florian Kramer Urs Pricking Seminar Simulation und Bildanalyse in Java Universität Ulm, Abteilungen SAI & Stochastik 4
Übersicht Motivation Arten von Rauschen 3 Eigenschaften von Glättungsfiltern 4 Lineare Filter 5 Nichtlineare Filter 6 Bilateraler Filter 7 Literatur Florian Kramer, Urs Pricking
Motivation Rauschunterdrückung: Entfernen von Störungen (Noise), bei Erhalt möglichst aller ursprünglichen, signifikanten Bildeigenschaften Originalbild Originalbild, beschädigt Florian Kramer, Urs Pricking 3
Motivation Originalbild Beschädigtes Bild gefiltert Florian Kramer, Urs Pricking 4
Arten von Rauschen Gaußsches Rauschen: Rauschen als additive Abweichung mit Erwartungswert : G G + N N, mit ~ Ν, σ Weißes Rauschen: Neuer Grauwert des Pixels ist nicht mit dem ursprünglichen Wert des Pixel korreliert Spezialfall: Salt and Pepper Rauschen (binäres Rauschen) Florian Kramer, Urs Pricking 5
Arten von Rauschen Gaußsches Rauschen Salt and Pepper Rauschen Florian Kramer, Urs Pricking 6
3 Eigenschaften von Glättungsfiltern Was ist ein Filter? Ein Filter ist definiert über eine Nachbarschaftsoperation N: g ( x) g( x) : Wert des N M N : beliebiger ({ g( x )}, ( x x ) M ) Pixels an Position x Nachbarschaftsoperator : kompaktes Gebiet mit Bezugspunkt (Maske) Beispiel: [ [ 3] ] N [ 6 ] g(x) g ( x) + + 3 Florian Kramer, Urs Pricking 7
3 Eigenschaften von Glättungsfiltern a) Verschiebungsinvarianz Objekte behalten Position b) Erhaltung des Mittelwertes Erhaltung des Bildmittelwertes c) Monotonie Kleine Strukturen dürfen nicht verbleiben, wenn größere verschwinden d) Isotropie Glättung richtungsunabhängig Florian Kramer, Urs Pricking 8
-DEMO - Vorführung: Verschiebungsinvarianz verletzt: Objekt verschiebt sich Mittelwert wird nicht erhalten: Bild wird heller Florian Kramer, Urs Pricking 9
4 Lineare Filter - Rechteckfilter Rechteckfilter: Mittelung der Pixel-Werte in einem kleinen Bereich Addition der Pixel-Werte und Division durch die Anzahl der Pixel der Maske Durch Skalierung Erhalt des Mittelwertes Beispiel: x3 Rechtecksfilter (-dimensional) R 3 [ ] Florian Kramer, Urs Pricking
Florian Kramer, Urs Pricking 4 Lineare Filter Rechteckfilter dimensional Filteroperation angewandt auf ein Bild: 8 3 3 7 3 5 ) ( + + g x 7 ) ( x g [ ] 8 3 5 37 39 4 4 4 4 4 5 9 7 5 5 [ ]
Florian Kramer, Urs Pricking 4 Lineare Filter Rechteckfilter dimensional Schneller Algorithmus: Nur 3 Rechenoperationen pro Bildpunkt, unabhängig von der Filtergröße: ( ) p m g p m g g g p g g p m m p m p m m m + + + + + + :Alter Wertdes Pixelsan Position : Größe der Filtermaske Neuer Wertdes Pixelsan Position : ' '
Florian Kramer, Urs Pricking 3 4 Lineare Filter Rechteckfilter dimensional -D Rechteckfilter: Beispiel: 3x3 Filter Schneller Algorithmus: Maske separierbar (Symmetrie) 9 R [ ] y R x R R 3 3 9
4 Lineare Filter Rechteckfilter Laufzeitanalyse Laufzeitanalyse (d-dimensionale Maske mit Länge (p+)) Nicht separiert: ( p + ) d (( p + ) d - Multiplikationen ) - Additionen Separiert (d h entlang der Achsen in eindimensionale Masken zerlegt): d ( p d (( p + ) - + ) ) Multiplikationen - Additionen Florian Kramer, Urs Pricking 4
43 Lineare Filter Rechteckfilter Zusammenfassung Vorteile: Gute Rauschunterdrückung bei Gaußschem Rauschen Schnelle Berechnung im -dimensionalen Fall Schnelle Berechnung im mehrdimensionalen Fall, da Maske symmetrisch (Separierbarkeit) Nachteile: Rauschunterdrückung auf Kosten der Detailauflösung Kanten werden geglättet Monotonieeigenschaft nicht erfüllt Florian Kramer, Urs Pricking 5
Florian Kramer, Urs Pricking 6 43 Lineare Filter Rechteckfilter Zusammenfassung Fehlende Monotonieeigenschaft [ ] 3 [ ] 3 3 3 3 3 3 3 3 3 3 3 3 3
43 Lineare Filter Rechteckfilter Zusammenfassung Florian Kramer, Urs Pricking 7
4 Lineare Filter - Binomialfilter Binomialfilter: Stärkere Gewichtung der Pixelwerte zur Maskenmitte hin gemäß der Binomialverteilung Einfachste Glättungsmaske: B [ ] Betrachtung gerader Masken p-mal hintereinander: p B 3 BB B p p mal 4 4444444 3 [ ] [ ] [ ] p mal Florian Kramer, Urs Pricking 8
4 Lineare Filter - Binomialfilter dimensional Beispiele (-dimensional): B B 4 8 6 56 [ 4 6 4 ] [ 8 8 56 7 56 8 8 ] Berechnung der Masken nach dem Pascalschen Dreieck: Florian Kramer, Urs Pricking 9
Florian Kramer, Urs Pricking 4 Lineare Filter Binomialfilter -dimensional D-Binomialfilter (analog zu D-Rechtecksfilter): [ ] 4 4 B x B y B
4 Lineare Filter Rechteckfilter Laufzeitanalyse Laufzeitanalyse (d-dimensionale Maske mit Länge (p+)) Nicht separiert: ( p + ) d (( p + ) d - Multiplikationen ) - Additionen Separiert (d h Zerlegung in Elementarmasken B): Multiplikationen als Shift - Operationen d (( p + ) ) - Additionen Florian Kramer, Urs Pricking
43 Lineare Filter Binomialfilter Zusammenfassung Vorteile: Erfüllung der Monotonieeigenschaft Gute Unterdrückung von Gaußschem Rauschen Schneller Algorithmus Nachteile: Schlechte Detailauflösung Kantenglättung Schlechte Unterdrückung von Salt-and-Pepper Rauschen Florian Kramer, Urs Pricking
43 Lineare Filter Binomialfilter Zusammenfassung Florian Kramer, Urs Pricking 3
Florian Kramer, Urs Pricking 4 43 Lineare Filter - Mehrschrittmittelung Mehrschrittmittelung: Mittelung weiter voneinander entfernter Pixel (Geschwindigkeitsvorteil) Am effizientesten sind Mehrschrittmasken entlang der Achsen (Separierbarkeit) Beispiel (-dimensional): [ ] 4 6 4 4 y x B B
43 Lineare Filter - Mehrschrittmittelung Problem: Verlust der Filtereigenschaft für größere Strukturen (Monotonie) > Kaskadierte Mehrschritt-Binomialfilterung, zb Verdoppelung der Schrittweite: p p B 444 L B B B B s x 8x 4x 44 x 3 x s mal p p p Florian Kramer, Urs Pricking 5
5 Nichtlineare Filter - Medianfilter Medianfilter: Medianfilter: Sortierung der Grauwerte innerhalb der Maske nach Ihrer Größe und Selektion des mittleren Pixels bzgl Ihrer Ordnung (Median) Medianfilter ist Rangordnungsfilter Rangordnungsfilter (rank value filter): Operationen zur Kombination benachbarter Pixel: Vergleichen und Selektieren Florian Kramer, Urs Pricking 6
5 Nichtlineare Filter - Medianfilter Beispiel (x3 Medianfilter): g( x) 3 g ( x) Median (,3,7) 3 M M M [ [ 3 7 ] 8 9 ] [ 3 7 8 9 ] g( x) g ( x) Median (,,4) 4 [ [ 4] 5 6 ] [ 4 5 5 6 ] g ( x) g ( x) Median (,,9) [ [ 9] 9 9 ] [ 9 9 9 ] Florian Kramer, Urs Pricking 7
5 Nichtlineare Filter - Medianfilter - Zusammenfassung Vorteile: Monoton ansteigende Rampen werden erhalten Ausreißer (binäres Rauschen) werden eliminiert Konstante Nachbarschaften und Kanten sind Fixpunkte Bei einzelnen gestörten Pixel reicht bereits ein 3x3 Medianfilter Konzept erweiterbar: Minimum- und Maximumfilter Florian Kramer, Urs Pricking 8
5 Nichtlineare Filter - Medianfilter - Zusammenfassung Nachteile: Schlechte Rauschunterdrückung von Gaußschem Rauschen Bei wiederholter Anwendung bleiben nur konstante Bereiche und Kanten zurück Florian Kramer, Urs Pricking 9
5 Nichtlineare Filter - Gewichtete Mittelung Gewichtete Mittelung: Jeder Bildpunkt geht mit einem gewissen Wichtungsfaktor in die Berechnung ein Definition: G ' H H ( W G ) W H - beliebige Faltungsmaske G - das zu bearbeitende Bild W - das Bild, das die Wichtungsfaktoren enthält Florian Kramer, Urs Pricking 3
5 Nichtlineare Filter - Gewichtete Mittelung Beispiel: Gewichtete Mittelung Rechteckfilter Florian Kramer, Urs Pricking 3
5 Nichtlineare Filter - Gewichtete Mittelung - Zusammenfassung Vorteile: Berücksichtigung von variierenden statistischen Fehlern der Pixel Flexibilität, da die Gewichtung beliebig gewählt werden kann Nachteile: Rechenaufwand Wahl eines passenden Wichtungsbildes Florian Kramer, Urs Pricking 3
53 Nichtlineare Filter - Steuerbare Mittelung Steuerbare Mittelung: Die Maske wird abhängig von der lokalen Bildstruktur gemacht Einstellbare Filter besitzen frei justierbare Parameter wie Glättungsgrad oder Glättungsrichtung, über die sich die Filterung steuern lässt Ineffizient (Rechenaufwand) Alternative: - Berechnung eines Satzes gefilterter Bilder aus einer Basis von Filtern und dem ursprünglichen Bild - Interpolation dieser Bilder unter Verwendung von justierbaren Parametern Florian Kramer, Urs Pricking 33
53 Nichtlineare Filter - Steuerbare Mittelung In Operatornotation: P H( α) f p ( α) H p H p f p - p p - te Filter ( α) - skalare Interpolationsfunktion des Steuerparametersα Probleme: - Existenz einer Filterbasis - Beziehung zwischen H p α und f p Florian Kramer, Urs Pricking 34
-DEMO - Wirkung von linearen und nicht-linearen Filtern bzgl beschädigten Bildern (Lineare vs Medianfilter) (Min, Maxfilter Erosion, Dilatation ) Gauß schem Rauschen (Lineare vs Medianfilter) Salt and Pepper (Lineare vs Medianfilter) Kantenerhaltung (Lineare vs Medianfilter) Zugabe (siehe Vortrag letztes Semester) Kantenextraktion (horizontal, vertikal, beide Richtungen) Florian Kramer, Urs Pricking 35
6 Bilateraler Filter Bilateraler Filter: Glättung von Bildern bei Erhalt der Kanten (Objekterkennung) Bevorzugung naher und ähnlicher Pixel bei der Gewichtung (domain and range filtering) Gute Anwendbarkeit auf Graustufen- und Farbbilder Florian Kramer, Urs Pricking 36
6 Bilateraler Filter Domain Filter dimensional Klassischer Bildbereich-Filter (domain filter, allgemeiner und stetiger Fall): h( x) k mit d ( x) ( x) f ( ξ ) c( ξ, x) dξ c( ξ, x) dξ h( x) : Neuer Wert des Pixels an Position x k d k d ( x) : Normierungsfaktor für Pixel x f ( ξ ) : Alter Wert des Pixels an Position ξ c( ξ, x) : Abstandsfunktionswert für x und ξ Florian Kramer, Urs Pricking 37
6 Bilateraler Filter Range Filter dimensional Bildwerte-Filter (range filter, allgemeiner und stetiger Fall): h( x) k r ( x) f ( ξ ) s( f ( ξ ), f ( x)) dξ mit k r ( x) s( f ( ξ ), f ( x)) dξ h( x) : Neuer Wert des Pixels an Position x k r ( x) : Normierungsfaktor für Pixel x f ( ξ ) : Alter Wert des Pixels an Position ξ s( f ( ξ ), f ( x)) : Abstandsfunktionswert für f ( x) und f ( ξ ) Florian Kramer, Urs Pricking 38
6 Bilateraler Filter dimensional Bilateraler Filter (domain and range filtering, allgemeiner und stetiger Fall): h( x) k mit k( x) f ( ξ ) : Alter Wert s( f ( ξ ), f ( x) f ( ξ ) c( ξ, x) s( c( ξ, x) s( f ( ξ ), f ( x)) dξ f ( ξ ), f ( x)) dξ h( x) : Neuer Wert des Pixels an Position x k( x) : Normierungsfaktor für Pixel x des Pixels an Position ξ ( x)) : Abstandsfunktionswert für f ( x) und f ( ξ ) c( ξ, x) : Abstandsfunktionswert für x und ξ Florian Kramer, Urs Pricking 39
6 Bilateraler Filter - Konzept Beispiel: Graustufenbild mit Graustufen - Kante gestört mit Gausschem Rauschen mit σ Pixel c( ξ, x) s( f ( ξ ), f ( x)) für eine 3x3 Maske Ergebnis des Bilateralen Filters Florian Kramer, Urs Pricking 4
Florian Kramer, Urs Pricking 4 6 Bilateraler Filter - Gewichtungsfunktionen Gewichtungsfunktionen: Prinzipiell frei wählbar Beispiel: Gaußscher Fall euklidischer Abstand ) ( ), (, ), ( euklidischer Abstand ), (, ), ( )) ( ), ( ( ), ( f f f e x s x x e x c r d x f f x d Φ Φ Φ δ δ ξ ξ ξ ξ σ ξ δ σ ξ
6 Bilateraler Filter - Gewichtungsfunktionen Eigenschaften: σ r σ d und können passend (frei) gewählt werden Domain-Filter ist verschiebungsinvariant Range-Filter ist verschiebungsinvariant Florian Kramer, Urs Pricking 4
63 Bilateraler Filter - Experimente mit Graustufenbildern Glättung feiner Strukturen: > Datenreduktion bei Erhalt essentieller Eigenschaften Bilateraler Filter Originalbild Originalbild, gefiltert Florian Kramer, Urs Pricking 43
63 Bilateraler Filter - Experimente mit Graustufenbildern Florian Kramer, Urs Pricking 44
63 Bilateraler Filter - Experimente mit Graustufenbildern Bilateraler Filter, σ d 3, σ 5 r Bilateraler Filter Bilateraler Filter Florian Kramer, Urs Pricking 45
63 Bilateraler Filter - Experimente mit Graustufenbildern Laufzeitanalyse: Rechenoperationen: Doppelter Berechnungsaufwand (Domain und Range) wie bei nicht separierbaren klassischen Domain-Filtern (zb Rechtecksfilter) der gleichen Größe Verbesserung Gauß scher Fall: Berechnung aller Werte der Rangefunktion im voraus (n+ Differenzwerte bei n-graustufenbild) Florian Kramer, Urs Pricking 46
64 Bilateraler Filter - Experimente mit Farbbildern Problem mit Farbbildern: Entstehung unerwünschter Farben bei der Glättung von Kanten bei traditionellen Filtern b) a) c) a) Linearer Filter b) Bilateraler Filter (Separierung der Bänder) c) Bilateraler Filter (Abstandsfunkt ion im CIE Bereich) Florian Kramer, Urs Pricking 47
64 Bilateraler Filter - Experimente mit Farbbildern Iterative Bilaterale Filterung: x 5x Florian Kramer, Urs Pricking 48
65 Bilateraler Filter - Zusammenfassung Vorteile: Vereinigt positive Eigenschaften von linearen und nichtlinearen Filtern Gewichtungsfunktionen frei wählbar und deren Parameter auf das gegebene Bild justierbar Nachteile: Gleicher Komplexitätsgrad wie nicht separierbare Standard Filter Florian Kramer, Urs Pricking 49
-DEMO 3 - Vorführung: Glättung bei Erhaltung der Kanten am Beispiel von Graustufen und Farbbildern: Lineare, Nicht-Lineare vs Bilaterale Filter Florian Kramer, Urs Pricking 5
7 Literatur B Jähne, Digital Image Processing,, Springer Verlag C Tomasi and R Manduchi, Bilateral Filtering for Gray and Color Images, Proceedings of the 998 IEEE International Conference on Computer Vision, Bombay, India, 998 Florian Kramer, Urs Pricking 5
ENDE Vielen Dank für Ihre Aufmerksamkeit! Florian Kramer, Urs Pricking 5