Glättungsfilter Rauschen Und Verz PDF

Title Glättungsfilter Rauschen Und Verz
Course Informationstechnik
Institution Fachhochschule Aachen
Pages 24
File Size 830.1 KB
File Type PDF
Total Downloads 116
Total Views 150

Summary

Zusammenfassung...


Description

Glättungsfilter, Rauschen und Verzerrungen

Schlüsselwörter

Additives weißes gaußsches Rauschen („additive white Gaussian noise“) · Bewegungsverzerrungen („motion blur“) · Bildregion („region of interest“) · lineare Bildverzerrung („blur“) · Binomialfilter („binomial filter“) · empirischer Mittelwert („arithmetic mean“) · Gauß-Filter („Gaussian filter“) · Glättungsfilter („smoothing filter“) · Mittelungsfilter („averaging filter“) · Mittelungslänge · Pseudozufallszahl („pseudo random number“) · Rauschen („noise“) · Rauschsignalgenerator („noise generator“) · Rechteckfilter („box filter“) · SNR („signal-to-noise ratio“) · Speckle-Rauschen („speckle noise“) · Tiefpassfilter („lowpass filter“) · Weichzeichnen („bluring“) · Verzerrungsoperator („point spread function“)

In der Bildverarbeitung werden häufig LSI-Filter („linear shift-invariant“) mit relativ einfachen Filtermasken eingesetzt. Ihr Vorteil besteht nicht nur in der geringen Komplexität des Filteralgorithmus, sondern auch in ihrer theoretischen Fundierung, die den gezielten Entwurf und die Interpretation der Ergebnisse erleichtert. Dieses Kapitel stellt beispielhaft einige ausgewählte LSI-Filter und ihren Einsatz gegen Rauschen und Verzerrungen in Bildern vor.

Glättungsfilter Stellt man sich die Grauwerte eines Bildes als Gebirge aufgetragen vor, ist es Aufgabe der Glättungsfilter Unebenheiten auszugleichen.

Rechteckfilter Einfache zweidimensionale Mittelungsfilter lassen sich aus dem eindimensionalen Rechteckfilter ableiten, wenn Separierbarkeit zugrunde gelegt wird. Wir beginnen deshalb mit dem eindimensionalen Rechteckfilter der Länge N. Es liefert am Filterausgang den gleitenden Mittelwert zum Eingangssignal. Pro Ausgangswert werden jeweils N aufeinanderfolgende Eingangswerte addiert und durch N geteilt. Ist das Eingangssignal konstant, wird so die Konstante ausgegeben. Durch Mittelung wird das Eingangssignal geglättet, weshalb man auch von einem Glättungsfilter spricht. Ebenfalls verwendet wird der Begriff Tiefpass (filter), was im Zusammenhang mit seinem Frequenzgang in Kap. 10 noch deutlich wird. Für die praktische Anwendung wird die Impulsantwort benötigt. Mit dem Zeilenvektor der Impulsantwort des eindimensionalen Rechteckfilters der Länge N

R =

1

N

··

1 N ·

N - mal

1 �

·1 ��



gewinnt man durch das dyadische Produkt, das heißt Spaltenvektor mal Zeilenvektor, den Faltungskern des zweidimensionalen Rechteckfilters. T 2R N = 1R N · 1 R N

Da hier der Faltungskern isotrop ist, stimmt er mit der Filtermaske überein. Im Beispiel der eindimensionalen Mittelungslänge von drei, ergibt sich der Faltungskern der Dimension 3 × 3 zu = 3 1

2 R

R

·

3 T R

= 13

1 9

1 · 1 ·



1

1



=9

111

111 · 111

111

.

Hier ist auch die Normbedingung für Mittelungsfilter erfüllt: Die Impulsantwort (Faltungskern) eines Mittelungsfilters h[n1, n2] ist nichtnegativ und die Summe aller Koeffizienten ist gleich eins. H[N1, N2] ≥ 0

∀ N 1, N 2

und

H[N1, N2] = 1 N1

N2

Dies gilt ebenso für die Filtermaske. Damit ist bei der Verarbeitung von Grauwertbildern im uint8-Format sichergestellt, dass kein Überlauf in der Zahlendarstellung stattfindet. Man beachte das reelle Zahlenformat der Filterkoeffizienten. MATLAB führt die Berechnung des Filterbefehls imfilter(I,h,'conv') im Gleitkommaformat Binary-64 (double) durch und passt erst das Ergebnis an den Datentyp des Bildes an (Kap. 4).

Binomialfilter Um eine gute Unterdrückung des Bildrauschens zu erreichen, sind Filtermasken erforderlich, die hinreichend viele Bildelemente in die Mittelung einschließen. Jedoch können dann Kanten im Bild verwischt und Bilddetails ausgelöscht werden. Man spricht von einer Weichzeichnung. Aus diesem Grund ist es wichtig, nach Mittelungsfiltern zu suchen, die einen guten Kompromiss zwischen hoher Rauschsignalunterdrückung und geringer Weichzeichnung liefern. Eine verbreitete Art derartiger Mittelungsfiltern ist das parametrisierbare Binomialfilter.

Eindimensionales Binomialfilter Zur Herleitung der Faltungskerne bzw. Filtermasken der Binomialfilter beginnen wir bei der einfachsten Mittelung, der Mittelung zweier benachbarter Bildelemente. Die Impulsantwort des einfachsten eindimensionalen Binomialfilters ist 1 B1[N] =

2

· {1, 1}.

Soll die Mittelung ausgedehnt werden, wird der Mittelungsoperator nochmals eingesetzt. Und weil es sich um LSI-Systeme handelt, kann das im Prinzip beliebig oft wieder-holt werden. So entsteht die Kaskade aus i einfachen Mittelungsfiltern in Abb. 5.1. Der Hintereinanderschaltung der Filter entspricht die Faltung der Impulsantworten. BI[N] = B1[N] ∗ · · · ∗ B1[N] (I−1) - mal falten

Führt man die Faltungen sukzessive aus, so entstehen Impulsantworten, deren Elemente gleich den Elementen des pascalschen Dreiecks in Tab. 5.1 sind. Für die praktische Anwendung sind vor allem die ungeraden Längen von Interesse. Im Beispiel entnehmen wir aus Tab. 5.1 die Impulsantwort des Binomialfilters der Länge 5, d. h. der (Filter-) Ordnung 4. In der Vektorschreibweise resultiert

b1[n]

x[n]

b1[n]

b1[n]

y[n]

i-mal Abb. 5.1  Kaskade aus einfachen Mittelungsfiltern

Tab. 5.1  Dimensionierungsparameter für eindimensionale Binomialfilter i-ter Ordnung Varianza

Ordnung 0

Skalierungsfaktor 1

Pascalsches Dreieck 1

1

2−1

11

1/4

2

2−2

121

1/2

3

2−3 2−4

1331

3/4

14641

1

2−5 2−6

15101051

5/4

1615201561

3/2

2−7 2−8

172135352171

7/4

18285670562881

2

4 5 6 7 8

0

1 1

B=

16

·

14641 . Während sich beim Rechteckfilter die Mittelungslänge unmittelbar angeben lässt, weil alle Elemente gleich gewichtet werden, ist es beim Binomialfilter sinnvoller von einer effektiven Mittelungslänge zu sprechen, also einem wesentlichen Bereich. Dessen Bestimmung unterstützt die Normal-Approximation der Binomialverteilung (Bronstein et al. 1999). Mit zunehmender Ordnung nähert sich die Binomialverteilung der Normalverteilung (Satz v. Moivre-Laplace), also die Impulsantwort des Binomialfilters einer diskretisierten gaußschen Glockenkurve, deren Breite üblicherweise durch die Standardabweichung σ abgeschätzt wird. Deshalb wird in Tab. 5.1 zusätzlich die 4

2

Varianz σ angegeben (Jähne 2012, S. 342), um einen Vergleich mit den Gauß-Filtern in Abschn. 5.1.3 zu ermöglich. Zweidimensionale Binomialfilter Das zweidimensionale Binomialfilter wird separierbar konstruiert. Wegen der dadurch entstehenden Symmetrie gibt es keine Vorzugsrichtung, es ist isotrop. Das zweidimensionale Binomialfilter i-ter Ordnung resultiert somit aus dem dyadischen Produkt des Vektors der Impulsantwort des eindimensionalen Binomialfilters i-ter Ordnung. Im Beispiel des Binomialfilters 4. Ordnung ergibt sich aus Tab. 5.1 der Faltungskern 2B 4 = 1B 4

T

· 1B4 = 256 1

1 4 6 41 · 4 16 24 16 4 . 4

16 24 16

4

24 36 24

1 4 6

41

Ein MATLAB-Programm zur Berechnung der Filtermaske des Binomialfilters i-ter Ordnung zeigt Programm 5.1. Die Filtermasken sind alle isotrop und normiert. Programm 5.1 Binomialfilter function [mask,sig2] = binomial_fmask(ord) % compute filter mask of binomial filter % % % % %

function m = binomial_fmask(ord) ord : filter order mask : filter mask sig2 : variance (effective 1-dim. width) binomial_fmask * mw * 2018-11-19

b1 = [1,1]; b = b1; for k=1:ord-1 b = conv(b,b1); end

% filter mask mask = b'*b; mask = mask/2^(2*ord); % variance x = linspace(0,ord,ord+1); m = sum(x.*b)/2^ord; sig2 = sum((x.^2).*b)/2^ord - m^2; return

Gauß-Filter Eine weitere wichtige Familie von parametrisierbaren Glättungsfiltern liefert das GaußFilter. Neben der Unterdrückung von Bildrauschen wird es in der Bildbearbeitung häufig als Weichzeichner benutzt. Das Gauß-Filter leitet sich aus der bivariaten, rotationssymmetrischen gaußschen Glockenkurve in Abb. 5.2 ab. F (X1, X2) =

2π σ2

1

· exp −

2 +σ 2 2

X

1

2

X

2

· · Wegen der Rotationssymmetrie ist das Gauß-Filter separierbar. Demzufolge bietet sich eine Konstruktion über das dyadische Produkt mit der Impulsantwort des eindimensionalen Gauß-Filters an. Dies erfordert zunächst die Diskretisierung der gaußschen Glockenkurve. Die Vorgehensweise entspricht der impulsinvarianten Transformation in der eindimensionalen digitalen Signalverarbeitung.

Abb. 5.2  Impulsantwort zum Gauß-Filter (bv_grv_1.m, fspecial('gaussian',21,4))

2

Die Varianz σ des Gauß-Filters wird so eingestellt, dass sich die gewünschte effektive Mittelungslänge ergibt. Die Größe der Filtermaske sollte so gewählt werden, dass die Maskenelemente am Rand genügend klein sind. In der Literatur werden unterschiedliche, aber im Ergebnis ähnliche Empfehlungen gegeben. Zum Beispiel, dass die Maske den Bereich ±3 · 2 · σ abdeckt, oder dass alle Werte innerhalb der Maske größer oder gleich 1 % des Maximalwerts sind. Nach Tönnies (2005 , S. 172) kann die Maskengröße N × N mit der Formel N = 2 · ⌈3 · σ ⌉ + 1 abgeschätzt werden (GaußKlammer, Aufrundungsfunktion). Dabei ist N stets ungerade, womit sich praktischerweise ein zentrales Maskenelement ergibt. Für die Filterung mit dem Gauß-Filter stellt MATLAB den Befehl imgaussfilt bereit. Er übernimmt beide Aufgaben, die Berechnung der Maske und die Ausführung der Filterung. Demgemäß lang ist die Liste der optionalen Parameter. Für die Maske kann die Standardabweichung σ (sigma) und die Maskengröße (Filtersize) eingestellt werden. Standardmäßig verwendet MATLAB σ = 0,5 und eine quadratische Maske mit N = 2 · ⌈2 · σ ⌉ + 1. Die Filterung selbst entspricht dem Befehl imfilter in Kap. 4. (Zusätzlich kann über die Option FilterDomain auch eine Filterung im Frequenzbereich gewählt werden [Kap. 10].) Übung 5.1 Gauß-Filtermaske a)\ Entwerfen Sie mit dem Befehl fspecial ein zweidimensionales Gauß-Filter mit der Maskengröße 5 × 5 (nach MATLAB Standardvorgabe). Welche Varianz hat die Filtermaske? Welche Eigenschaften der Filtermaske können Sie anhand der Zahlenwerte erkennen? b)\Da die Impulsantwort des Gauß-Filters separierbar ist, stellen Sie die eindimensionale Impulsantwort zur Lösung in a) im Stabdiagramm (stem) dar. c)\ Vergleichen Sie die Maske des Gauß-Filters mit der des Binomialfilters gleicher Größe. Übung 5.2 Weichzeichnen mit dem Gauß-Filter Wenden Sie das Gauß-Filter (imgaussfilt) für die Parameterwerte σ gleich 1, 2 und 3 als Weichzeichner auf das Bild vorderrad an. Vergleichen Sie die Ergebnisbilder und achten Sie dabei auf die Kanten im Bild. Einen Bildausschnitt vor und nach der Weich-zeichnung zeigt Abb. 5.3.

Filterung ausgewählter Bildregionen In manchen Anwendungen ist es von Interesse nur Bereiche eines Bildes zu filtern. MATLAB unterstützt das mit speziellen Befehlen, wie roipoly und roifilt2. Dabei wird zuerst die interessierende Bildregion (ROI, „region of interest“) beispielsweise

Original

Gaussian filter (3)

Abb. 5.3  Weichzeichnen mit einem Gauß-Filter mit σ = 3 (bv_grv_2.m, vorderrad.jpg)

durch ein Polygon eingegrenzt, um danach die Filterung selektiv auf die eingegrenzte Bildregion anzuwenden. Rmask = roipoly(I); % mask region of interest J = roifilt2(fmask,I,Rmask); % filtering region of interest

MATLAB besitzt mehrere Befehle zur interaktiven Auswahl einer Bildregion (imfreehand, impoly, imrect, imellipse). Speziell mit dem Befehl imfreehand lassen sich Bildregionen via Maus-Bewegungen festlegen. Ein Beispiel der Anwendung im Kontext zeigt Programm 5.2. Programm 5.2 Filterung einer Bildregion mit Freihandmaske (Programmausschnitt) % ROI mask and filtering hndl_I = imshow(I); % create handle of the image object roi = imfreehand; % create ROI using mouse key pos = wait(roi); % wait until ROI creation is finished Rmask = createMask(roi,hndl_I); % black and white mask for ROI I = roifilt2(fmask,I,Rmask); % filtering of ROI

Übung 5.3 Filtern und Füllen einer Bildregion a)\ In der Übung sollen Teile der Schrift im Bild hsfd weich gezeichnet werden. Benutzen Sie ein Binomialfilter. Beachten Sie, um bei der gegebenen hohen Bildauflösung eine deutlich erkennbare Wirkung zu erzielen, sollten Sie eine hinreichend große Filtermaske verwenden. Ergänzen Sie Programm 5.2 entsprechend.

b)\Wiederholen Sie a) für eine elliptische (kreisförmige) Bildregion. c)\ Ein spezieller Befehl zur Interpolation einer Bildregion von ihren Rändern her ist regionfill. Wenden Sie den Befehl interaktiv an, um im Bild hsdf den Durchbruch zu schließen oder das Logo zu löschen.

Quiz 5.1

Ergänzen Sie die Textlücken sinngemäß. 1.\ Die Impulsantwort des eindimensionalen Binomialfilters 2. Ordnung ist ___. 2.\ Zweidimensionale Binomialfilter und Gauß-Filter sind ___ und ___. 3.\ Zweidimensionale Binomialfilter und Gauß-Filter werden mittels des ___ Produkts konstruiert. 4.\ Die Maske des zweidimensionalen Binomialfilters i-ter Ordnung berechnet sich aus dem Vektor der eindimensionalen Impulsantwort 1bi gemäß ___. 5.\ Die Summe der Maskenelemente eines normierten Mittelungsfilters ergibt ___. 6.\ Binomialfilter und Gauß-Filter eignen sich zum ___ der Bilddetails. 7.\ Es werden Binomialfilter mit ___ Ordnung bevorzugt, weil sie den Maximalwert genau im Zentrum der Maske aufweisen. 8.\ Gauß-Filter werden nach der bekannten ___ konstruiert. 9.\ Gauß-Filter benutzt man in der Bildbearbeitung häufig zum ___. 10.\ Gauß-Filter werden durch ___ und ___ parametrisiert. 11.\ Mittelungsfilter werden auch ___ genannt. 12.\ Durch die Normbedingung sind bei der Anwendung von Mittelungsfiltern ___ ausgeschlossen. 13.\ Das Akronym ROI steht für ___. 14.\ Das ROI-Konzept im MATLAB unterstützt die ___ Bildverarbeitung. 15.\ Mit dem Befehl ___ kann die Filterung auf Bildregionen eingegrenzt werden. 16.\ Mit roifill lassen sich interaktiv Bildbereiche ___.

Unterdrückung von Bildrauschen durch Glättungsfilter In der Bildverarbeitung wird Rauschen unter verschiedenen Gesichtspunkten betrachtet. Stellt man die Bilderfassung in den Mittelpunkt, entstehen Bildstörungen durch physikalische Phänomene und technische Unzulänglichkeiten, wie beispiels-weise Photonenrauschen, thermisches Rauschen, Ausleserauschen, Verstärkerrauschen, Quantisierungsrauschen oder Rauschen an Inhomogenitäten der Sensoren. Störungen können im Allgemeinen signalunabhängig, aber auch korreliert und beispielsweise multi-plikativ mit dem „eigentlichen“ Bild verknüpft sein.

5

Bildrauschen

Bei modernen Digitalkameras und ausreichender Beleuchtung können die genannten Störungen meist vernachlässigt werden. Im Folgenden soll zunächst der Fall des additiven Störprozesses in Abb. 5.4 betrachtet werden. Dabei wird häufig ein zweidimensionaler, unkorrelierter und normalverteilter Störprozess dem ungestörten Bild überlagert. Im Falle des unkorrelierten Störprozesses spricht man von weißem Rauschen (Kap. 10). SNR Zur quantitativen Beurteilung der Störung wird, wie in der Nachrichtentechnik, das Verhältnis der Leistungen von (Nachrichten/Nutz-)Signal und Störsignal verwendet, kurz SNR („signal-to-noise ratio“) genannt. In der Bildverarbeitung liegt bereits mit dem Signal, dem Grauwert, physikalisch gesehen eine Leistungsgröße vor, nämlich die 2

Beleuchtungsstärke in W/m . Die Grauwerte sind (idealerweise) proportional zur Stärke der von den Sensorelementen eingefangenen Strahlung. Daher auch die synonyme Verwendung von Intensität („intensity“) und Grauwert („grey level“). In der Bildverarbeitung liegt oft nur ein einzelnes Bild vor, so dass alle Größen aus einem Bild zu schätzen sind. Mit dem (empirischen) Mittelwert der Intensität, der Grauwerte im Bild, N1−1 N2 −1

1

X[N , N ]

·

1 2 I0 = N1· N2 N1=0 N 2=0 und der Standardabweichung σ des Rauschens wird das mittlere SNR („average“) definiert

SNRavg =

I0

.

σ

Rauschen Originales

Verrauschtes

Bildsignal

Bildsignal

Abb. 5.4  Modell der Bildstörung durch additives Rauschen (Bildausschnitt vorderrad)

Über die Standardabweichung ist dabei eine passende Modellannahme zu treffen. Alternativ ist auch der Bezug auf den Maximalwert der Intensität verbreitet

Imax = max (X[N1, N2]) N1, N2

mit SNRmax =

Imax

.

σ

Das SNR kann sich gegebenenfalls auch auf Bildausschnitte beziehen AWGN Im Falle eines weißen normalverteilten Störprozesses sind die Elemente unabhängig und 2

2

N(0,σ )-verteilt. Die mittlere Leistung ist durch die Varianz σ gegeben. In der Bildverarbeitung ist jedoch wegen der Bilddatenformate Vorsicht geboten. Besonders im uint8-Format können sich Zahlenbereichsüberschreitungen mit Boden- und Deckeneffekten einstellen, was das AWGN-Modell und die SNR-Rechnung kompromittieren kann. Das Problem illustriert Abb. 5.5. Darin wird ein einheitlich graues Bild mit dem Grau-wert 128 und der Größe 100 × 100 durch den Befehl imnoise mit AWGN überlagert. Für zwei Einstellungen der Varianz sind die gestörten Bilder und die Histogramme (imhist) der Grauwerte zu sehen. Geschätzt wurden auch die Mittelwerte (mean2) und die Standardabweichungen (std2) der Grauwerte. (Mit dem Stichprobenumfang von 10.000 Pixel können die Ergebnisse für die beabsichtigten qualitativen Aussagen als zuverlässig angesehen werden.) In der oberen Bildreihe ist im Histogramm die Form der gaußschen Glock en-kurve deutlich zu erkennen. Zugrunde lag die Standardeinstellung der Rausch-quelle imnoise('gaussian',0,.01). Die Standardabweichung der Grauwerte (σ) beträgt circa 25,4, so dass bei der Addition des Rauschens störende Zahlenbereichsüberschreitungen kaum vorkommen. Man beachte insbesondere den Zusammenhang zwischen der geschätzten Standardabweichung und dem Varianzparameter des MATLAB-Befehls (0.01 ) für das Bilddatenformat uint8. Es gilt 25,4 ≈ 255 · 0, 01 = 25, 5 = σ. Bei vierfacher Varianz der Rauschstörung erhöht sich die Standardabweichung theoretisch um den Faktor zwei. Die Schätzung in der unteren Bildreihe bestätigt dies mit ungefähr 50,6. Es zeigen sich jetzt Boden- und Deckeneffekte. Und es kommt zu vermehrten Zahlenbereichsüberläufen, die in die Grauwerte 0 und 255 münden. Um dies deutlich zu machen, sind im Histogramm die Häufigkeiten an den Rändern hervorgehoben. In den gestörten Bildern macht sich die Zunahme der Störung als zunehmende „Körnigkeit“ bemerkbar.

Histogram

Noisy image (0.01)

Frequency

200 =128,

150

=25.41

100 50 0 0

100

200

Intensity Histogram

Noisy image (0.04)

Frequency

200 150

=128.3, =50.57

100 50 0

0

100

200

Intensity Abb. 5.5  AWGN-gestörte Bilder mit Histogrammen der Grauwerte (Bildgröße 100×100, Bilddatenformat unit8, imnoise mit Varianz 0,01 bzw. 0,04, bv_grv_4.m)

Übung 5.4 Bildrauschen mit AWGN a)\ Bestimmen Sie die mittlere Intensität, die Standardabweichung sowie das Histogramm der Grauwer...


Similar Free PDFs