05.10.2013 Aufrufe

Zusammenfassung Digi- tale Bildverarbeitung

Zusammenfassung Digi- tale Bildverarbeitung

Zusammenfassung Digi- tale Bildverarbeitung

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

<strong>Zusammenfassung</strong> <strong>Digi</strong><strong>tale</strong><br />

<strong>Bildverarbeitung</strong><br />

1. Einführung<br />

Geschichtliches:<br />

Ab den 1920ern: Bartlane Cable Picture Transmission<br />

mit ca. 5 Graustufen, Übertragung eines Bildes<br />

von New York nach London in ausreichender<br />

Druckqualität in 3 Stunden<br />

(Erst) ab den 1960ern: Wissenschaftliche Disziplin<br />

durch Weltraumprogramm<br />

Anwendungen: Medizin (Röntgenbilder), Fotografie<br />

(Störungen entfernen), Vermessung der Erde,<br />

etc.<br />

Schritte bei der <strong>Bildverarbeitung</strong>:<br />

Image Acquisition Bilderfassung mit Sensor. Aktiv<br />

(Messung der Reflektionen ausgestrahlter Wellen)<br />

oder passiv (ausschließlich Messung von<br />

Wellen von Objekten des Sichtbereichs)<br />

Image Enhancement<br />

Image Restauration<br />

Color Image Processing<br />

Wavelets and Multiresolution Processing<br />

Compression<br />

Morphological Processing<br />

Segmentation Einteilen des Bildes in überlappende<br />

oder nicht-überlappende Teile<br />

Representation & Description Segmente und Bilder<br />

werden weiter manipuliert, um den Inhalt<br />

der Bilder so zu charakterisieren, dass Erkennung<br />

und Interpretation unterstützt werden<br />

Object Recognition Der eigentlich Seh-Teil der<br />

Verarbeitung. Herstellung semantischer Informationen.<br />

Wellenlängen des Lichtes:<br />

400 - 420 nm Violett 575 - 585 nm Gelb<br />

420 - 490 nm Blau 585 - 650 nm Orange<br />

490 - 575 nm Grün 650 - 750 nm Rot<br />

Farbmodelle: RGB, CMY(K), HIS (Hue-<br />

Intensity-Saturation, als Zylinder), HLS (Hue-<br />

Luminance-Saturation, als Doppelkegel), HSV<br />

(Hue-Saturation-Value, als Kegel)<br />

Menschlicher<br />

Sehsinn:<br />

Zäpfchen: Teil<br />

des menschlichen<br />

Auges zur Wahrnehmung<br />

von<br />

Farbe<br />

Stäbchen: Wahrnehmung<br />

von<br />

Helligkeit<br />

Mach-Band-Effekt:<br />

Sinnesphänomen;<br />

an Grenze zwischen<br />

heller und dunklen Fläche erscheint auf<br />

heller Seite ein schmales Band, welches noch heller<br />

ist. Entsprechend auf der dunklen Seite.<br />

2. Rasterung und Quantisierung<br />

Darstellung eines Bildes als 2-stellige Funktion f :<br />

M × N −→]0, ∞[, wobei M := {1, . . . , m}, N resp.<br />

Aufteilung in Beleuchtungs- und Reflektionskompontenten<br />

I : M×N −→]0, ∞[, J : M×N −→]0, 1[.<br />

Es gelte dabei f = I · J.<br />

I gibt den Grauwert eines Pixels an.<br />

Aliasing: Allgemeine Definition: Alias-Effekte sind<br />

durch die Verletzung des Abtasttheorems (siehe<br />

nachfolgenden Absatz) auftretende Fehler beim<br />

Abtasten von Signalen.<br />

Auswirkungen bei der <strong>Bildverarbeitung</strong>: Moiré-<br />

Muster, Treppeneffekte an harten Kanten, Verschwinden<br />

von Strukturen, die dünner als 1 Pixel<br />

sind, etc.<br />

(Nyquist-Shannon’sches) Abtasttheorem: Ein kontinuierliches<br />

Signal mit einer Maximalfrequenz<br />

fmax muss mit einer Frequenz größer als 2 · fmax<br />

abgetastet werden, damit man aus dem so erhaltenen<br />

zeitdiskreten Signal das Ursprungssignal ohne<br />

Informationsverlust wieder rekonstruieren kann.<br />

Anti-Aliasing: Entweder feinere Auflösung bei Rasterung<br />

wählen: Jede Struktur durch mindestens 2<br />

Bildpunkte repräsentieren oder durch Verwischung<br />

das Auge täuschen<br />

Ortsbereich: Bildpunkte ↔ Frequenzbereich: enthaltenen<br />

Frequenzen<br />

(Umwandlung mittels Spektralanalyse)<br />

1


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

3. Fourier Transformation<br />

Transformationen werden oftmals dazu eingesetzt,<br />

Probleme zu vereinfachen – indem etwa die Komplexität<br />

der zur Problemlösung verwendeten Algorithmen<br />

gesenkt wird. Beispiel: Multiplikation/Division<br />

mittels Logarithmentafeln. Transformation<br />

des Problems f(a, b) = a · b auf eine Addition<br />

(+ Hin- und Rücltransformation): exp(ln(a) +<br />

ln(b)).<br />

Aus der Analysis ist bekannt, dass eine über<br />

] − ∞, ∞[ stückweise stetige, stückweise monotone<br />

sowie T -periodische Funktion f : −→ als Summe<br />

von Sinus und Cosinus-Funktionen dargestellt<br />

werden kann:<br />

f(x) = a0<br />

2 +<br />

∞<br />

k=1<br />

ak cos( 2π<br />

T kx) + bn sin( 2π<br />

T kx)<br />

(1)<br />

Durch Umformen und Ausnutzen von Additionstheoremen<br />

erhält man, dass sich f auch in komplexer<br />

Form schreiben lässt:<br />

f(x) =<br />

ck = 1<br />

T<br />

∞<br />

k=−∞<br />

T/2<br />

ck exp(i 2π<br />

kx), mit (2)<br />

T<br />

−T/2<br />

f(t) exp(−i 2π<br />

kt)dt ∈ (3)<br />

T<br />

Definiere nun die sogenannte Fourier-Transformation<br />

(FT) F{f(x)}, sofern sie für ganz existiert.<br />

Im Folgenden setzen wir immer limx→±∞ = 0 voraus,<br />

da dies hinreichend für die Existenz ist – allerdings<br />

nicht unbedingt notwendig).<br />

F (u) :=<br />

∞<br />

−∞<br />

f(t) exp(−i2πut)dt (4)<br />

Zur Verallgemeinerung auf den Fall, dass f nichtperiodisch<br />

ist, gehe T → ∞. Damit folgt:<br />

T · ck = F ( k<br />

) (5)<br />

T<br />

Erweitere nun (2) mit T/T :<br />

2<br />

f(x) =<br />

∞<br />

k=−∞<br />

T ck exp(i 2π 1<br />

kx)<br />

T T<br />

(6)<br />

Da 1<br />

T<br />

für T → ∞ infinitesimal klein wird, ersetze<br />

im Folgenden:<br />

1<br />

T<br />

→ du, k<br />

T<br />

Erhalte durch T → ∞:<br />

f(x) =<br />

∞<br />

−∞<br />

k<br />

→ u, F ( ) → F (u) (7)<br />

T<br />

F (u) exp(i2πux)du (8)<br />

Folglich lässt sich jede beliebige über ] − ∞, ∞[<br />

stückweise stetige, stückweise monotone Funktion<br />

f, deren FT wie oben beschrieben exitsiert,<br />

als unendliche Summe bzgl. der Basis B :=<br />

{exp(−i2πux) | u ∈ } darstellen. Dass B<br />

tatsächlich Basis ist, folgt aus der Orthogonalität<br />

zweier Elemente exp(−i2πu1x) und exp(−i2πu2x)<br />

für u1 = u2 bzgl. des Skalarprodukts fg auf<br />

der Menge aller komplexwertigen Funktionen, d. h.<br />

f, g : → .<br />

Bemerkungen: i) Die Def. von F in (4) ist also<br />

nichts anderes als das Skalarprodukt zwischen der<br />

Funktion f und dem entsprechenden Basisvektor<br />

u → exp(−i2πut). (Vgl. den Anschauungsraum, in<br />

dem wir beim Basiswechsel für die Koordinatenbestimmung<br />

ebenfalls das Skalarprodukt eines Vektors<br />

mit den neuen Basisvektoren bilden würden.)<br />

ii) Das u in der Definition von F wird Frequenzvariable<br />

genannt.<br />

Da F im Allgemeinen eine komplexe Funktion ist,<br />

teilt man auf: F (u) = R(u) + iI(u)<br />

Als Polarform von F ergibt sich:<br />

F (u) = |F (u)| exp(i · Φ(u)), mit (9)<br />

|F | = R2 + I2 −1 I<br />

, Φ = tan<br />

R<br />

|F (u)| heißt Fourier-Spektrum, |F (u)| 2<br />

Leistungsspektrum von f und Φ(u) der Phasenwinkel.<br />

Eigenschaften der Fourier-Transformation:<br />

Linearität:<br />

F{af(x) + bg(x)} = aF (u) + bG(u) (10)<br />

Änderung der Skalierung im Ortsbereich:<br />

F{f(ax)} = 1<br />

F (u ) (11)<br />

a a


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

Verschiebung im Ortsbereich ändert nur die<br />

Phase:<br />

Ableitung:<br />

F{f(x − a)} = F (u) exp(i2πua) (12)<br />

F{ dn<br />

dx n f(x)} = (i2πu)n F (u) (13)<br />

Integral des Leistungsspektrums:<br />

∞<br />

−∞<br />

|f(x)| 2 dx =<br />

∞<br />

−∞<br />

Symmetrieeigenschaften:<br />

f reell =⇒ F (−x) = F (x)<br />

f imaginär =⇒ F (−x) = −F (x)<br />

f gerade, d. h. f(−x) = f(x)<br />

=⇒ F (−x) = F (x)<br />

f ungerade, d. h. f(−x) = −f(x)<br />

=⇒ F (−x) = −F (x)<br />

Für den zweidimensionalen Fall:<br />

|F (u)| 2 du (14)<br />

F{f(u, v)} = F (u, v) (15)<br />

=<br />

=<br />

∞ ∞<br />

−∞<br />

∞<br />

−∞<br />

−∞<br />

f(s, t) exp(−i2π(us + vt))dsdt<br />

∞<br />

f(s, t) exp(−i2πus)ds ·<br />

−∞<br />

exp(−i2πvt))dt<br />

(Separabilität von F )<br />

(16)<br />

(17)<br />

gelten die gleichen Eigenschaften wie im eindimensionalen.<br />

Zustätzlich: Wird f(x, y) um den Winkel<br />

θ gedreht, so auch F{f(x, y)} = F (u, v).<br />

Für die praktische Anwendbarkeit benötigen wir<br />

die diskrete Fourier-Transformation (DFT). Eine<br />

kontinuierliche Funktion f(x) mit FT F (u) werde<br />

dazu diskretisiert, d. h. auf N äquidistanten Intervallen<br />

[0, ∆x] = [x0, x1], . . . , [xN−1, xN] approximiert<br />

durch die Treppenfunktion g(x) mit FT<br />

G(u). (OBdA setzen wir hier voraus, dass x0 =<br />

0, ggf. wäre ansonsten noch eine Verschiebung<br />

notwendig.) Der Kehrwert von ∆x ist dabei die<br />

(Abtast-)frequenz.<br />

g(x) :=<br />

<br />

f(xi) wenn x ∈ [xi, xi+1[<br />

0 sonst<br />

(18)<br />

Nach Nyquist’schem Abstasttheorem ist die höchste<br />

darstellbare Frequenz bei einer Abtastrate von<br />

1<br />

∆ (also einem Abtastinterval von ∆) gerade ν∆ :=<br />

1<br />

2∆ .<br />

Folglich betrachten wir nur Frequenzen innerhalb<br />

des Intervals [−ν∆x, +ν∆x] mit äquidistanter Zerlegung<br />

(also mit Abstand ∆u = 2ν∆x 1<br />

N = N∆x ):<br />

u0 < · · · < uN.<br />

Es kann nun approximiert werden:<br />

F (un) =<br />

∞<br />

−∞<br />

≈ G(un) = ∆x<br />

= ∆x<br />

N−1 <br />

k=0<br />

f(t) exp(−i2πunt)dt<br />

N−1 <br />

k=0<br />

g(k∆x) exp(−i2πunk∆x)<br />

g(k∆x) exp(−i2πk( n<br />

N<br />

da un∆x = (− 1<br />

2∆x<br />

− 1<br />

2 ))<br />

+ n<br />

)∆x<br />

N∆x<br />

(19)<br />

Da die Abbildung n → G(un) (bei entsprechender<br />

Fortsetzung der un) N-periodisch ist, wird aus<br />

praktischen Gründen die DFT H von g(x) jedoch<br />

zwischen 0 und ν∆x als n-elementige Folge definiert.<br />

Zudem wird ∆x = 1 gewählt. (Bei einer beliebigen<br />

Funktion würden wir die DFT auf einer Skalierung<br />

vornehmen, welche die Abtastpunkte auf<br />

einen Abstand von 1 abbildet.) Zusammen mit etwas<br />

geänderter Skalierung ( 1<br />

N steht nun bei der<br />

Hintransformation) und gn := g(n∆x) = g(n) folgt:<br />

Gn := 1<br />

N−1 <br />

gk exp(−i2πk<br />

N<br />

n<br />

) (20)<br />

N<br />

<br />

N−1<br />

gn =<br />

k=0<br />

k=0<br />

Gk exp(i2πk n<br />

) (21)<br />

N<br />

Bemerkungen: Einsetzen von (21) in (20) ergibt<br />

Gn<br />

= 1<br />

N<br />

N−1 <br />

k=0<br />

= 1<br />

N−1 <br />

N<br />

N−1 <br />

l=0<br />

N−1 <br />

Gl exp(i2πl k<br />

n<br />

) exp(−i2πk<br />

N N )<br />

exp(i2π(l − n) k<br />

N )<br />

Gl<br />

l=0 k=0<br />

<br />

N wenn l = n,<br />

sonst 0 wg. (23)<br />

<br />

= Gn<br />

(22)<br />

Man sieht also, dass das Produkt der konstanten<br />

Vorfaktoren 1<br />

N ergeben muss. Die Aufteilung ist<br />

prinzipiell willkürlich möglich.<br />

3


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

Sei w := exp(i2π(l − n) 1 ). Es gilt: w ist N-te Ein-<br />

N<br />

heitswurzel (Gruppeneigenschaft), und exp(i2π(l −<br />

n) k<br />

N ) = wk , da k ∈ . Folglich:<br />

N−1 <br />

k=0<br />

w k = wN − 1<br />

w − 1<br />

= 0 (23)<br />

Die Erweiterung auf den 2-dimensionalen Fall erfolgt<br />

analog zur kontinuierlichen FT. Es gelten die<br />

für die kontinuierliche FT oben genannten Eigenschaften.<br />

Durchschnitt f einer 2-dimensionalen diskreten<br />

Funktion f(x, y):<br />

f(x, y) = 1<br />

MN<br />

M−1 <br />

x=0<br />

N−1 <br />

y=0<br />

f(x, y)<br />

= F (0, 0) (durch Einsetzen)<br />

(24)<br />

Die Faltung zweier Funktionen f, g ist definiert im<br />

Eindimsionalen (25) und 2-Dimensionalen (26):<br />

(f ∗ g)(x) =<br />

(f ∗ g)(x, y) =<br />

∞<br />

−∞<br />

∞ ∞<br />

−∞<br />

f(t)g(x − t)dt (25)<br />

−∞<br />

f(s, t)(x − s, y − t)dsdt<br />

Faltungstheorem (Convolution Theorem):<br />

(26)<br />

F{(f ∗ g)(x)} = F (u) · G(u) (27)<br />

F{f(x) · g(x)} = (F ∗ G)(u) (28)<br />

Faltung im diskreten Fall, f, g : → , beide Nperiodisch<br />

(2-dimensionaler Fall analog):<br />

(f ∗ g)(x) =<br />

N−1 <br />

i=0<br />

f(i)g(x − i) (29)<br />

Der Dirac-Impuls δ(x − a) eine Distribution, die<br />

über ihr Integral definiert ist. Für eine beliebige<br />

Funktion f(x) muss gelten:<br />

∞<br />

−∞<br />

∞<br />

−∞<br />

f(x)δ(x − a)dx = f(a) (30)<br />

a+t<br />

δ(x − a)dx = lim<br />

t→0<br />

Im 2-Dimensionalen analog.<br />

4<br />

a−t<br />

δ(x − a)dx = 1<br />

(31)<br />

Die Fast Fourier-Transformation (FFT). Im Folgenden<br />

sei WN = exp(−i2π/N) primitive N-te<br />

Einheitswurzel. N sei der Form N = 2 m = 2M,<br />

m, M ∈ . Nach (20) folgt ((fn) sei Folge von<br />

Funktionswerten im Orts- (Fn) im Frequenzbereich):<br />

<br />

Fn = 1<br />

2M−1<br />

fkW<br />

2M<br />

k=0<br />

nk<br />

2M<br />

= 1<br />

M−1<br />

1 <br />

2 M<br />

k=0<br />

+ 1<br />

M−1 <br />

M<br />

= 1<br />

1<br />

2 M<br />

k=0<br />

M−1 <br />

f2kW n(2k)<br />

2M<br />

f2k+1W n(2k+1) <br />

2M<br />

f2kW nk<br />

M<br />

<br />

k=0<br />

<br />

=:F<br />

<br />

(even)<br />

n<br />

+ 1<br />

M<br />

M−1 <br />

f2k+1W nk<br />

M W n 2M<br />

<br />

k=0<br />

<br />

=:F<br />

<br />

(odd)<br />

n<br />

(da W n2k<br />

2M = W nk<br />

M )<br />

<br />

(32)<br />

(33)<br />

= 1 (even)<br />

(F n + F<br />

2 (odd)<br />

n W n 2M) (34)<br />

Das Divide & Conquer-Prinzip werde entsprechend<br />

fortgeführt... Laufzeitverbesserung von N 2 (mit<br />

” normalem“ naivem Ansatz) auf N log 2 N.<br />

4. Punktoperationen<br />

Punktoperationen verändern die Pixel unabhängig<br />

von den Nachbarpixeln: Operation T auf einen Pixel<br />

an Position (x, y) und altem Grauwert r. Neuer<br />

Grauwert s = T (g, x, y), falls nur von Grauwert<br />

abhängig (oft), dann s = T (r).<br />

(Nachbarschaftsoperationen – siehe nächstes Kapitel<br />

– berücksichtigen umliegende Pixel.)<br />

Beispiele für Punktoperationen:<br />

Negativ<br />

Exponential-Transformation ( ” Gamma Korrektur“):<br />

T (r) = cr γ oder T (r) = c(r + ɛ) γ<br />

Operationen über mehrere Bilder: Bspw.<br />

Durchschnittbildung<br />

Maße für Qualität eines Bildes:


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

Mittlerer Grauwert<br />

Γ := 1<br />

MN<br />

M−1 <br />

x=0<br />

N−1 <br />

y=0<br />

f(x, y) (35)<br />

Varianz Mittlere quadratische Abweichung:<br />

Λ := 1<br />

MN<br />

M−1 <br />

x=0<br />

N−1 <br />

(f(x, y) − Γ) 2<br />

y=0<br />

(36)<br />

Histogramm Bildet einen Grauwert g auf die Anzahl<br />

Pixel mit diesem Grauwert r ab: r →<br />

|{(x, y) | f(x, y) = r}|. Wenn normiert (also<br />

durch MN geteilt), entspricht das Histogramm<br />

einer Wahrscheinlichkeitsverteilung<br />

über den Grauwert eines zufällig gewählten Pixels.<br />

Grauwertpofil Grauwerte entlang einer Linie, d. h.<br />

Zuordnung Position → Grauwert<br />

Histogramm Einebnung: Betrachte eine stetige<br />

(streng) montonon steigende (und damit bijektive)<br />

Punktoperation s = T (r), deren Inverse T −1 ebenfalls<br />

monton steigt. Zur Einfachheit sei T : [0, 1] →<br />

[0, 1]. Mit pr, ps seien im Folgenden die Wahrscheinlichkeitsdichten<br />

bezeichnet für die Zufallsvariable<br />

R, S = T (R), die den Grauwert eines zufällig ausgewählten<br />

Pixels vor bzw. nach der Transformation<br />

T angeben. Es folgt:<br />

b<br />

Pr(T (a) ≤ S < T (b)) = pr(r)dr<br />

T (b)<br />

a<br />

= pr(T<br />

T (a)<br />

−1 (s))(T −1 ) ′ (s)ds (Subst.)<br />

=⇒ps(s) = d<br />

Pr(S < s)<br />

ds<br />

(Def. der Dichte)<br />

=pr(T −1 (s))(T −1 ) ′ (s) = pr(r) dr<br />

ds<br />

(37)<br />

Für die Einebnung gewünscht ist ps(s) = 1 für 0 ≤<br />

s ≤ 1 (und 0 sonst). Definiere:<br />

r<br />

s = T (r) := pr(t)dt (0 ≤ r ≤ 1) (38)<br />

Hiermit folgt:<br />

pr(r) = ds<br />

dr<br />

0<br />

= (dr<br />

ds )−1<br />

(39)<br />

ps(s) = pr(r) 1<br />

= 1 (40)<br />

pr(r)<br />

Die Einebnung im diskreten Fall (es stehen k Graustufen<br />

r0, . . . , rk zur Verfügung): nj bezeichne die<br />

Anzahl der Pixel mit Grauwert rj, N die Gesamtpixelzahl.<br />

Es gelten (analog zu (38)) folgende Definitionen:<br />

pr(rj) := nj<br />

N<br />

sk = T (rk) :=<br />

(41)<br />

k<br />

pr(rj) (42)<br />

j=0<br />

5. Filteroperationen<br />

<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong> 5. Filteroperationen<br />

Darstellung":=;H:8>=;:E67B Nachbarschaft:<br />

25 June, 2004<br />

Pixel an Stelle x,y<br />

Direkte Nachbarn – 4er Nachbarschaft<br />

Indirekte Nachbarn<br />

8er Nachbarschaft<br />

Grafische Darstellung<br />

einer Faltung: Multi- Page 4<br />

plizieren,Aufsummieren, Zentrumspixel ersetzen<br />

Einige Filter:<br />

Boxcar: 1<br />

9 ·<br />

Gauss: 1<br />

8 ·<br />

1 1 1<br />

1 1 1<br />

1 1 1<br />

0 1 0<br />

1 4 1<br />

0 1 0<br />

<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong><br />

!"#$%&'#()*+,*-./%&0+&"<br />

!"#$%&'#()*+,*-./%&0+&"<br />

12345678*98:4;?*$5:@


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

Sobel:<br />

Laplace:<br />

−1 −2 −1<br />

0 0 0<br />

1 2 1<br />

0 1 0<br />

1 −4 1<br />

0 1 0<br />

oder<br />

1 1 1<br />

1 −8 1<br />

1 1 1<br />

(mit Diag.)<br />

Erste partielle Ableitungen eines Bildes f(x, y)<br />

(Gradient):<br />

∇f(x, y) =<br />

<br />

∂f<br />

∂x<br />

∂f =<br />

∂y<br />

<br />

f(x + 1, y) − f(x, y)<br />

f(x, y + 1) − f(x, y)<br />

(45)<br />

Der Gradient zeigt in die Richtung des maximalen<br />

Anstiegs von f.<br />

Zweite partielle Ableitungen ( ∂2 f<br />

∂y 2 analog):<br />

∂ 2 f<br />

∂x 2 = f(x + 1, y) − f(x, y) −<br />

f(x, y) − f(x − 1, y) <br />

=f(x + 1, y) − 2f(x, y) + f(x − 1, y)<br />

(46)<br />

Dies entspricht dem Laplace-Filter.<br />

1 1 1<br />

Laplace mit 1 −8 1 entspricht ebenfalls einem<br />

1 1 1<br />

Unscharf Maskieren, d. h. Kantenverstärktest Bild<br />

= c · Originalbild − geglättetes Bild.<br />

Der Filterkern summiert sich auf 1 bei einem<br />

Glättungsfilter, um die Skalierung der Grauwerte<br />

zu behalten, und summiert sich auf 0 bei einer Kantenerkennung,<br />

so dass bei Filterung über ein homogenes<br />

Bild das Ergebnis 0 bleibt (keine Kanten).<br />

Ergebnisse: 1. Ableitung erzeugt dickere Kanten, 2.<br />

Ableitung dünnere. Insb. die 2. Ableitung verstärkt<br />

Rauschen stark durch ” ringing“, ” double edges“<br />

Ein Tiefpassfilter lässt nur ” niedrige“ Frequenzen<br />

durch, um so Störungen mit hohen Frequenzen<br />

zu eliminieren. Dies ist intuitiv im Frequenzbereich<br />

möglich: Sei F (u, v) die Transformation eines<br />

Bildes f(x, y). Gesucht ist nun ein H(u, v), so<br />

dass die Rücktransformation g(x, y) von G(u, v) =<br />

H(u, v)F (u, v) ein entstörtes (weichgezeichnetes)<br />

Bild ergibt. Ideal wäre also (im kontinuierlichen<br />

Fall), wenn sämtliche Frequenzpaare (u, v), deren<br />

6<br />

(absolutes) geometrisches Mittel größer einer bestimmten<br />

Frequenz D0 ist, ausgefiltert werden:<br />

D(u, v) := u2 + v2 <br />

(47)<br />

H(u, v) =<br />

1<br />

0<br />

wenn D(u, v) ≤ D0<br />

sonst<br />

(48)<br />

Der Butterworth Filter hat im Unterschied keinen<br />

scharfen Abschnitt:<br />

1<br />

H(u, v) =<br />

1 + D(u,v) (49)<br />

2n<br />

D0<br />

Hochpassfilter ist analog definiert – im idealen Fall<br />

bspw. H ′ (u, v) := 1 − H(u, v).<br />

Homomorphic Filtering: Ein Bild f(x, y) kann aus<br />

zwei Komponenten zusammengesetzt gedacht werden:<br />

f(x, y) = ι(x, y) · ρ(x, y), wobei 0 < ι < ∞ die<br />

Beleuchtung angibt, 0 < ρ < 1 die Reflektion. Da<br />

die FT bzgl. der Multiplikation nicht strukturverträglich<br />

ist (allerdings bzgl. der Addition) und es<br />

manchmal wünschenswert ist, auf beiden Komponenten<br />

separat zu arbeiten, kann das Filterergebnis<br />

g(x, y) wie folgt folgt gewonnen werden:<br />

z(x, y) := ln f(x, y)<br />

F{f ′ (x, y)}<br />

<br />

:=Z(u,v)<br />

= ln ι(x, y) + ln ρ(x, y)<br />

= F{ι(x, y)}<br />

<br />

:=I(u,v)<br />

+ F{ρ(x, y)}<br />

<br />

:=R(u,v)<br />

Es werde nun der Filter H(u, v) angewandt:<br />

g(x, y) = exp(F −1 {H(u, v)Z(u, v)})<br />

= exp(F −1 {H(u, v)I(u, v)}+<br />

F −1 {H(u, v)R(u, v)})<br />

= exp(F −1 {H(u, v)Z(u, v)})·<br />

exp(F −1 {H(u, v)R(u, v)})<br />

(50)<br />

(51)<br />

(52)<br />

Zusammenfassend: f(x, y) → ln → FFT →<br />

H(u, v) · ⋆ → FFT −1 → exp → g(x, y)<br />

6. Restauration<br />

Restaurierung<br />

Modell im Orts- und Fourier-Bereich:<br />

g(x, y) = f(x, y)<br />

<br />

∗ h(x, y)<br />

<br />

+ n(x, y)<br />

<br />

Originalbild Degradierung<br />

” noise term“<br />

(53)<br />

G(u, v) =F (u, v)H(u, v) + N(u, v) (54)


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

Inverse Filtering, Näherung für Original:<br />

ˆF<br />

G(u, v) N(u, v)<br />

(u, v) = −<br />

H(u, v) H(u, v)<br />

(55)<br />

Problematisch beim Inverse Filtering sind Fälle, in<br />

denen H(u, v) sehr kleine Werte annimmt (oder –<br />

schlimmer noch – sogar ganz verschwindet).<br />

Der Least Mean Square (LMS) Filter, wobei<br />

Sf (u, v) und Sn(u, v) das Leistungssprektrum von<br />

fe bzw. ne darstellen (den für die diskrete Faltung<br />

mit 0en erweiterten Funktionen f und n):<br />

ˆF (u, v) =<br />

H(u, v)<br />

|H(u, v)| 2 + γ( Sn(u, v)<br />

Sf (u, v) )<br />

<br />

=:k<br />

· G(u, v)<br />

(56)<br />

Wenn Sn und Sf unbekannt, so muss k selbst bestimmt<br />

werden.<br />

Der LMS für γ = 1 heißt Wiener Filter. Für ihn<br />

gilt: E[(f(x, y) − ˆ f(x, y)) 2 beitung 6. Restaurieren / Segmentieren / Pyramiden<br />

rauwertberechnung!<br />

] wird minimal.<br />

t neighbor Geometrische (zero-order Verzerrung interpolation) - Nächste<br />

arschaft<br />

spatial transformation<br />

(x,y)<br />

Gray-level transformation<br />

( xˆ<br />

, yˆ<br />

)<br />

nearest neighbor<br />

Neue Grauwertberechnung: Nearest Neighbor oder<br />

bilineare Interpolation. Faustregel: Backward<br />

”<br />

re Interpolation oder kubische Interpolation<br />

ard mapping” mapping“ sinnvoller als “forward forward mapping“.<br />

” mapping”<br />

Segmentierung<br />

!"#$%&'#()*+,*-./%&0+&"<br />

!"#$%&'#()*+,*-./%&0+&"<br />

12345678*98:4;?*$5:@


<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />

Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />

Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />

Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />

(lossy) Kodierungen: Pyramidenebenen weglassen,<br />

im YIC-Farbmodell nur die Helligkeit mit voller<br />

Auflösung, im RGB Würfel Farbwerte neu quantisieren,<br />

bei der Cosinus-Transformation nur die<br />

” wichtigen“ Werte speichern<br />

Schema für Kodierung (Verlust tritt beim Quantizer<br />

auf):<br />

f(x, y) → Mapper → Quantizer →<br />

Symbol encoder → Channel<br />

Dekodierung: Channel → Symbol decoder →<br />

Inverse Mapper → ˆ f(x, y)<br />

Schema beim JPEG: Mapper transformiert<br />

von RGB in Helligkeitsmodell (hier kann Verlust<br />

auftreten) und nimmt diskrete Cosinus-<br />

Transformation (DCT) vor, Quantizer kann<br />

Auflösung der DCT-Werte vergröbern, Symbol encoder<br />

benutzt Huffman und Lauflängen-Codierung<br />

<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong> 7. Kompression<br />

Rechts: DCT Komponenten<br />

geordnet nach Frequenz. Bei<br />

JPEG werden die Werte<br />

<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong><br />

nach Wichtigkeit“ quanti-<br />

7. Kompression<br />

”<br />

siert. Die Folge der Komponenten<br />

links oben wird<br />

für alle 8 × 8-Matrizen Huffman<br />

kodiert. Die jeweils anderen<br />

Komponenten werden geordnet nach Frequenzen<br />

(also in Pfeilrichtung) abgespeichert und<br />

Lauflängen-kodiert (es treten viele 0en auf).<br />

DCT Komponenten geordnet<br />

nach Frequenzen<br />

25 June, 2004<br />

Wavelet-Komprimierung: Zerlegung des Bildes<br />

in eine Skalierung und 3 Wavelets (horizontal,<br />

vertikal, diagonal). Verlustfreie Rekonstruktion<br />

möglich, wenn keine Quantisierung vorgenommen<br />

wurde. Eignung für Pyramiden:<br />

5 June, 2004<br />

8<br />

Page 31<br />

Quantisierung<br />

Das Auge reagiert nicht<br />

gleich auf unterschiedliche Frequenzen.<br />

Deshalb werden die Zahlen<br />

nach „Wichtigkeit“ quantisiert.<br />

Komponenten von weniger wichtigen<br />

Frequenzen werden dabei gröber<br />

quantisiert als von wichtigen<br />

Frequenzen. Es wird meist auf die<br />

Konstruktion der<br />

DWT der Ebene<br />

j aus der Ebene<br />

nächste ganze Zahlen gerundet.<br />

j+1<br />

Page 25<br />

!"#$%&'#()*+,*-./%&0+&"<br />

!"#$%&'#()*+,*-./%&0+&"<br />

12345678*98:4;?*$5:@

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!