• Keine Ergebnisse gefunden

Einführung Bildverarbeitung

N/A
N/A
Protected

Academic year: 2022

Aktie "Einführung Bildverarbeitung"

Copied!
153
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Einführung Bildverarbeitung

D. Schlesinger () Einführung Bildverarbeitung 1 / 8

(2)

Was sind Bilder?

D. Schlesinger () Einführung Bildverarbeitung 2 / 8

(3)

Was sind Bilder?

Bilder sindVektoren.

„Ähnliche“ Vektoren entsprechen nicht unbedingt „ähnlichen“ Bildern.

„Ähnliche“ Bilder entsprechen nicht unbedingt „ähnlichen“ Vektoren.

Beispiele: Verschiebung, andere geometrische Transformationen, Farbtransformationen ...

⇒Bei Bildern ist die Räumliche Anordnung der Elemente extrem wichtig – geht aber meist verloren.

D. Schlesinger () Einführung Bildverarbeitung 3 / 8

(4)

Was sind Bilder?

Bilder sindMatrizen.

Was bedeuten z.B. die Eigenwerte, die Determinante?

Kann man Bilder wie Matrizen multiplizieren?

⇒typische Operationen und Eigenschaften sind nutzlos.

Bilder sindGraphen.

Pixel sind Knoten, 4- (oder 8- oder komplizierter) Nachbarschaftstruktur.

Ohne Weiteres zu eingeschränkt (nur Gitter)→attributierte, gelabelte Graphen etc.

Wird eher für höhere Stufen der Verarbeitung (bei Computer Vision) verwendet Bilder sindFunktionen(Abbildungen).

Sind sie z.B. konvex, stetig, differenzierbar? Wie sind sie zu spezifizieren?

Bilder sindBilder

Bildverarbeitung – wie geht man damit um.

D. Schlesinger () Einführung Bildverarbeitung 4 / 8

(5)

Themen

1. Menschliches Sehen (0.5 DS – eher zum Spaß) 2. Lineare Filterung, Morphologische Operationen (2 DS)

Effiziente Algorithmen (Übungsaufgaben) 3. Diffusion Filters: „Bilder sind Funktionen“

4. Fourier-Transformation (Klassik) 5. Besondere Punkte, Bildmerkmale

mit Hinblick auf Erkennung (Computer Vision) 6. Momente, Hauptkomponentenanalyse, Clustering 7. Diskrete und Kontinuierliche Energieminimierung (2 DS)

Am Beispiel der Entrauschung 8. Kameramodelle, 3D-Geometrie 9. Anwendungsbeispiel: Stereo

2, 5, 7 und 8 zusammen in einer Anwendung

D. Schlesinger () Einführung Bildverarbeitung 5 / 8

(6)

Voraussetzungen

„Solides mathematisches Grundlagenwissen“. Was heißt das?

Beispiele – man muss zumindest verstehen, worum es geht:

ln

Y

i

f(xi) =

X

i

lnf(xi)

min

x f(x) =−max

x

−f(x)

arg min

x

f(x) = arg min

x

lnf(x) min

x

X

y

f(x,y)≥

X

y

min

x f(x,y)

n

X

i=1

ailnxi→max

x

s.t.xi≥0,

X

i

xi= 1

xiai

Konkret: Geometrie (sin, cos), Lineare Algebra (Vektoren, Matrizen, SVD), Funktionen (Ableitungen, Gradienten, Integrale, Reihen) ...

D. Schlesinger () Einführung Bildverarbeitung 6 / 8

(7)

Übungen

Freier Besuch – Konsultationen

Übungsaufgaben: alles, was mit BV/ME zu tun hat, Aufgabenkatalog (später, im Laufe), eigene Aufgaben sind willkommen

Abschluss: Punktesystem – 1-3 Punkte/Aufgabe, 4 Punkte insgesamt, Gruppen bis max. 3 Leute möglich

Umgebungen: Linux(Windows), C/C++, Qt, OpenCV (siehe Beispiele aufwww. ...) Abgabe: Kommentierte Quelltexte, ggf. Dokumentation und/oder Ausarbeitung, Einleitung zum Kompilieren/Aufrufen/Ein- und Ausgabe

Per E-Mail anDmytro.Shlezinger@tu-dresden.de

D. Schlesinger () Einführung Bildverarbeitung 7 / 8

(8)

Organisatorisches

Vorlesungsscripte, Folien, Aufgaben, Info:

http://www1.inf.tu-dresden.de/∼ds24/lehre/bvme_ss_2012/bvme_ss_2012.html Abschluss:

mündliche Prüfung (Fachgebiete 8 SWS, Vertiefungsgebiete 12 SWS) Mit Übungen – 4 SWS, ohne – 2 SWS

Literatur:

– David A. Forsyth, Jean Ponce: ”Computer vision – A modern approach”

– Klaus D. Tönnies: ”Grundlagen der Bildverarbeitung”

– Internet, Google, Wikipedia ...

– Papers ...

Kommentare, Wünsche, Kritik sind willkommen (auch anonym via Mail-Formular).

D. Schlesinger () Einführung Bildverarbeitung 8 / 8

(9)

Bildverarbeitung: Das menschliche Sehen

D. Schlesinger () BV: Das menschliche Sehen 1 / 8

(10)

Hierarchie der Verarbeitung

Die Verarbeitung ist hierarchisch aufgebaut Die Sehnerven tauschen in der Sehkreuzung (chiasma opticum) die Hälfte der Nervenfasern, so dass die linken Gesichtshälften zur rechten Hemisphäre projizieren und umgekehrt Erhaltung der Topologie in früheren Schichten Rückkopplung!!!

D. Schlesinger () BV: Das menschliche Sehen 2 / 8

(11)

Das Auge

Die Netzhaut enthält unterschiedliche Sensortypen:

Zäpfchen (Farben, 6 Mio.) und Stäbchen (Grauwerte, 120 Mio.)

Licht muss zuerst die Neuronenschicht durchqueren bevor es auf die Fotosensoren trifft (Glättung), nur in der fovea centralis werden diese unmittelbar von den Lichtstrahlen getroffen

Retina→Ganglienzellen (1 Mio.)→Sehnerv→...

Wahrnehmung der Farben Räumliche Auflösung Sakkaden

D. Schlesinger () BV: Das menschliche Sehen 3 / 8

(12)

Wahrnehmung der Farben

Was ist Licht? – Spektrum, d.h. eine Funktion der Wellenlänge Menge aller Spektren ist unendlichdimensional!!!

Spektrale Auflösung des Auges ist relativ schlecht, weil∞ →3 (Projektion) – nureineFarbe an einem bestimmten Ort.

D. Schlesinger () BV: Das menschliche Sehen 4 / 8

(13)

Räumliche Auflösung

.

D. Schlesinger () BV: Das menschliche Sehen 5 / 8

(14)

Räumliche Auflösung

In Fovea ist die Dichte viel höher

Die Information ist im Auge durch Ganglienzellen bereits vorverarbeitet (Vergleiche: 3072×2304=7MPixel→2.4 MB RGB JPEG-Bild verlustfrei) Kein Standbild, sondern „Video“

Abtasten der Szene mittels Sakkaden

D. Schlesinger () BV: Das menschliche Sehen 6 / 8

(15)

Sakkaden

Augenbewegungen wechseln sich mit Fixationsperioden ab. Bei konjugierten Augenbewe- gungen bewegen sich die Augen nie gleichmäßig, sondern springen in Sakkaden (von ca.

15-100 ms Dauer) von einem Fixationspunkt zum nächsten, große Sakkaden werden oft von Kopfbewegungen begleitet. Sakkaden werden durch Konturen oder Stellen geführt, die für die Bedeutung des Gesehenen besonders wichtig sind (z.B. Augen, Mund).

D. Schlesinger () BV: Das menschliche Sehen 7 / 8

(16)

Optische Täuschungen

Gibt es optische Täuschungen in Computer Vision?

Ja – schlecht gestellte Probleme.

D. Schlesinger () BV: Das menschliche Sehen 8 / 8

(17)

Bildverarbeitung: Filterung

D. Schlesinger () Bildverarbeitung: Filterung 1 / 17

(18)

Allgemeines

Klassische Anwendung: Entrauschung

(Fast) jeder Filter basiert auf einem Modell (Annahme): Signal + Rauschen

Pipeline: Modell→Aufgabe→Lösung→Algorithmus (Programm) – Mittelwertfilter: Modell→...→Lösung

– Medianfilter: Aufgabe→Lösung – Paar andere Filter, Beispiele – Lineare Filterung: Algorithmen

D. Schlesinger () Bildverarbeitung: Filterung 2 / 17

(19)

Mittelwertfilter

D⊂Z2– Definitionsbereich (Gitter),r – Pixelr= (i,j),rD Bild ist eine Funktionx:DC (Farbraum),xr – Farbe des Pixelsr Seiydas „Ideale“ Signal (nicht verrauscht) und

xdas verrauschte Signal (Beobachtung) Aufgabe: Man siehtx, man berechney.

Rauschmodell – Gaussche Wahrscheinlichkeitsverteilung für Abweichungen der Farben p(xr|yr) =N(xr;yr, σ)∼exp

h

−kxryrk22

i

Weitere Annahme – Pixel sind von einander unabhängig verrauscht:

p(x|y)

Y

r

exp

h

−kxryrk22

i

Aufgabe nach dem Maximum Likelihood Prinzip:p(y|x) =p(y)p(x|y)/p(x)→maxy

Ohne zusätzlicher Annahmen überp(y) ist die Lösung trivial:yr=xr für aller Eine Annahme über das Signalyist notwendig!!!

D. Schlesinger () Bildverarbeitung: Filterung 3 / 17

(20)

Mittelwertfilter

Annahme:

In einer kleinen UmgebungW(r)⊂Deines Pixelsr isty(fast) konstant –yr

ML:

Y

r0∈W(r)

exp

h

−kxr0yrk22

i

→max

yr

ln ... : F(yr) =

X

r0

kxr0yrk2→min

yr

Ableiten: ∂F

∂yr

=

X

r0

(xr0yr) =

X

r0

xr0− |W| ·yr= 0

yr= 1

|W|

X

r0

xr0 (Mittelwert)

D. Schlesinger () Bildverarbeitung: Filterung 4 / 17

(21)

Median Filter

Andere Zielfunktion – entspricht einem anderen Rauschmodell (Einfachheit halberC=R– Grauwertbild):

F(yr) =

X

r0

|xr0yr| →min

yr

Problem: nicht differenzierbar. Gute Neuigkeit – konvex.

(Ableitung an der Tafel).

Lösung – Medianfilter.

D. Schlesinger () Bildverarbeitung: Filterung 5 / 17

(22)

Vergleich: Gaussches Rauschen

(a) Original (b) Verrauscht

(c) Gaussche Glättung (d) Medianfilter

D. Schlesinger () Bildverarbeitung: Filterung 6 / 17

(23)

Vergleich: „Salz und Pfeffer“ Rauschen

In manchen Pixeln ist der Farbwert zufällig gesetzt (gleichwahrscheinlich)

(e) Original (f) Verrauscht

(g) Gaussche Glättung (h) Medianfilter

D. Schlesinger () Bildverarbeitung: Filterung 7 / 17

(24)

Eine „andere“ Aufgabe

Glättung des Hintergrunds verbessert die räumliche Wahrnehmung der Szene

(Xue Bai, Guillermo Sapiro)

Umgekehrte Aufgabe: Rekonstruiere 3D aus Unschärfe.

Konsequenz: Die Filter liefern keine “Antworten“,

sie geben ein lokales Maß für die höheren Stufen der Verarbeitung.

D. Schlesinger () Bildverarbeitung: Filterung 8 / 17

(25)

Noch paar andere Aufgaben

Faltung:

yr =

X

r0

xr0·gr0−r

mit der Maskeg:Z2→R Beispiel – Mittelwert:

gr =

n

1/|W| wenn rW(0)

0 sonst.

Welche weitere Masken sind denkbar (nützlich, wofür etc.)?

– Etwas „zartere“ Glättungen, z.B. mit dem Gausschen Kern:gr ∼exp

−krk2/2σ2

– Kontrasterhöhung:grα·1I(0)−β·exp

−krk2/2σ2

(Unsharp Mask)

– Kantendetektoren, etc.

D. Schlesinger () Bildverarbeitung: Filterung 9 / 17

(26)

Eine ganz andere Aufgabe

„Salz und Pfeffer“ Rauschen mit 90%

Lokale Filterung ist offensichtlich kaum hilfreich

Explizite Modellierung des Signals ist notwendig (in diesem Fall – MRF)

Das Modell entspricht dem Bild „exakt“. Dies macht genaue Rekonstruktion möglich.

D. Schlesinger () Bildverarbeitung: Filterung 10 / 17

(27)

Fazit

Explizite Annahmen über das Signal (lokale Eigenschaften) – lokale Filterung Signal wird durch seine Autokorrelationen beschrieben – Wiener Filter

Signal ist die Überlagerung der Signale bestimmter Frequenzen – Fourier Analyse Signal wird durch eine Differentialgleichung beschrieben – Variationelle Ansätze Explizite Modellierung statistischer Abhängigkeiten zwischen den Pixelwerten – MRF u.s.w.

Die Eigenschaften des Signals

(das Modell, die Annahmen, die Art der zu lösenden Aufgabe etc.) sind ausschlaggebend für die Wahl des Filters.

D. Schlesinger () Bildverarbeitung: Filterung 11 / 17

(28)

Lineare Filterung – Algorithmen

Eindimensional:r∈N

Beispiel: Mittelwertfilteryr=|W|1

r+w

P

r0=r−w

xr0 (|W|= 2w+ 1)

Naiver Algorithmus (direkt nach der Formel):

for r= 0 bis n sum= 0

for r0=rw bis r+w sum=sum+xr0

yr =sum/|W| Zeitkomplexität:n· |W|

D. Schlesinger () Bildverarbeitung: Filterung 12 / 17

(29)

Lineare Filterung – Algorithmen

Idee: (Bildchen)

r+w

X

r0=r−w

xr0=

r+w

X

r0=0

xr0

r−w−1

X

r0=0

xr0 = ˜xr+wx˜r−w−1

Besserer Algorithmus:

Berechne ˜xr für alle r:

for r= 0 bis n

˜

xr = ˜xr−1+xr

Berechne yr: for r= 0 bis n

yr = (˜xr+wx˜r−w−1)/|W| Zeitkomplexität:n

D. Schlesinger () Bildverarbeitung: Filterung 13 / 17

(30)

Lineare Filterung – Algorithmen

Verallgemeinerung auf 2D:

Verwendung des „Integralbildes“ ˜x Berechne ˜xr:

for (i,j) = (0,0) bis (m,n) (zeilenweise)

˜

xr = ˜xi,j−1+ ˜xi−1,jx˜i−1,j−1+xr

Berechne yr:

for (i,j) = (0,0) bis (m,n) yr = (˜xi+w,j+w−˜xi−w,j+w

˜

xi+w,j−w+ ˜xi−w,j−w)/|W|

+ -

- +

D. Schlesinger () Bildverarbeitung: Filterung 14 / 17

(31)

Lineare Filterung – Algorithmen

Ein etwas komplizierteres Beispiel (wieder 1D, Bildchen):

yr =

r

X

r0=r−w

(w−r+r0xr0

Man überlege, ob sichyr+1aus demyr effizient berechnen lässt:

yr+1 =

r+1

X

r0=r+1−w

(w−r−1 +r0xr0

=

r+1

X

r0=r+1−w

(w−r+r0xr0

r+1

X

r0=r+1−w

xr0

=

r

X

r0=r−w

(w−r+r0xr0+w·xr+1

r

X

r0=r−w

xr0

= yr+w·xr+1−¯xr

¯

xr kann mit linearer Zeitkomplexität berechnet werden (Mittelwertfilter)

⇒die gesamte Zeitkomplexität ist linear.

D. Schlesinger () Bildverarbeitung: Filterung 15 / 17

(32)

Lineare Filterung – Algorithmen

Faltungen allgemein:

y=xg yi=

X

j=−∞

xi−j·gj

Eigenschaften:

– sind kommutativ, d.h.xg=gx;

– sind assoziativ, d.h. (x∗g1)∗g2=x∗(g1g2);

– sind distributiv mit „+“, d.h.x∗(g1+g2) =xg1+xg2. Identische Faltung (ändert das Signal nicht):gjI= 1I(j= 0) Inverse Faltungen:gg−1=gI

Beispiel (j= 0 ist fett gekennzeichnet):

gdiff = [. . . ,0,0,0,1,−1,0, . . .] Differential Operator gint = [. . . ,0,0,0,1, 1,1, . . .] Integral Operator

D. Schlesinger () Bildverarbeitung: Filterung 16 / 17

(33)

Lineare Filterung – Algorithmen

Der Trick zur effizienten Berechnung basiert auf der folgenden Umwandlung:

xg=xgIg=xgintgdiffg= (x∗gint)∗(g∗gdiff) oder sogar mehr

xg= (x∗gint. . .gint)∗(g∗gdiff. . .gdiff) Die Faltungxgintbraucht lineare Zeitkomplexität,

mit ˜g=ggdiff. . .gdiff (Vorberechnung) wird erreicht, dass ˜gschwach besetzt ist.

D. Schlesinger () Bildverarbeitung: Filterung 17 / 17

(34)

Bildverarbeitung: Morphologische Filterung

D. Schlesinger () BV: Morphologische Filterung 1 / 8

(35)

Dilation und Erosion

Zunächst für binäre Bilderx:D→ {0,1}

UND (Erosion): yr =

V

r0∈W(r)

xr0 y=x W

ODER (Dilation): yr =

W

r0∈W(r)

xr0 y=xW Wwird „Strukturelement“ genannt (Kreis, Rechteck usw.)

(a) Original (b) Verrauscht

(c) Erosion (d) Dilation

D. Schlesinger () BV: Morphologische Filterung 2 / 8

(36)

Opening und Closing

Opening:xW= (x W)W

Closing:xW= (x⊕W) W

(nicht kommutativ)

D. Schlesinger () BV: Morphologische Filterung 3 / 8

(37)

Erweiterung auf Grau(Farb)wertbilder

Erosion:yr= min

r0∈W(r)xr0

Dilation:yr= max

r0∈W(r)

xr0

RGB – zum Beispiel Getrennt für R, G und B (andere Varianten auch möglich)

(m) Original (n) Verrauscht

(o) min (p) max (q) max (r) min

D. Schlesinger () BV: Morphologische Filterung 4 / 8

(38)

1D-min-Algorithmus

Aufgabe in 1D:yr= r+Wmin

r0=r−Wxr0

Naiver Algorithmus: laut der Formel – probiere alleWElemente und wähle das minimale.

Zeitkomplexität –O(nW)

Die Idee zur Beschleunigung:

– Aktualisiere die „geordnete“ Menge der Werte [xr0...].

– In jedem Schritt soll ein Element aus der Menge entfernt werden und ein Element hinzugefügt werden.

– Nutze die Datenstrukturen, die es erlauben diese zwei Operationen inO(lnW) durchzuführen.

⇒Zeitkomplexität –O(nlnW)

(Erklärung an der Tafel)

D. Schlesinger () BV: Morphologische Filterung 5 / 8

(39)

Verallgemeinerung

StrukturelementW⊂R2 wird durch Strukturfunktionw:R2→Rersetzt:

Erosion:yr= min

r0∈Ω xr0+w(rr0)

Das Vorige ist ein Spezialfall:

w(x) =

n

0 wenn xW

∞ sonst.

Vergleiche mit der linearen Filterungyr =

P

r0

xr0·g(rr0) Ist dasselbe bis auf die verwendeten Operationen.

⇒Morphologische Filterung ist „lineare Filterung im (min,+) Semiring“.

(z.B. die Erosion entspricht dem Mittelwertfilter)

D. Schlesinger () BV: Morphologische Filterung 6 / 8

(40)

Separierbare (lineare) Filter

(Achtung!!! – etwas andere Bezeichnungen)

Sei eine Maskeg(i,j) als Produktg1(i)·g2(j) darstellbar.

Beispiel: Gaussche Glättung

g(i,j)∼exp[−(i2+j2)/2σ2] = exp[−i2/2σ2]·exp[−j2/2σ2] =g1(i)·g2(j) Die Faltungxg:

X

ij

x(i,j)·g1(i)·g2(j) =

X

i

g1(i)·

hX

j

x(i,j)·g2(j)

i

=

X

i

g1(i)·˜x(i)

xg=x∗(g1g2) = (x∗g1)∗g2

SeiW ein Fenster der Größem×m. Zeitkomplexität:O(m2)→O(m).

Mittelwertfilter ist separierbar, viele andere auch, z.B. Gaussche Glättung.

min-Filter ist auch „separierbar“, d.h. die Zeitkomplexität in 2D istO(nlnW), Median – leider nicht.

D. Schlesinger () BV: Morphologische Filterung 7 / 8

(41)

Box-Filter

Die sequenzielle Anwendung der Mittelfilter approximiert die Gaussche Glättung.

(basiert auf Central Limit Theorem)

xgGauss≈(((x∗gM)∗gM). . .)gM

Zeitkomplexität:

O(nW)→O(nm) mitm die Anzahl der Anwendung von Mittelwertfilter (5-6 Mal).

D. Schlesinger () BV: Morphologische Filterung 8 / 8

(42)

Bildverarbeitung: Fourier-Transformation

D. Schlesinger () BV: Fourier-Transformation 1 / 16

(43)

Allgemeines

Bilder sind keine Vektoren.

Bilder sind Funktionenx:DC(Menge der Pixel in die Menge der Farbwerte).

Allerdings kann man eine Funktion auch als ein Vektor verstehen (darstellen).

Zum Beispiel:

eine Funktionf(x),x∈R,f(x)∈R, d.h.f :R→Rist ein Vektor imR

Somit kann man mit den Funktionen alles machen, was man mit Vektoren machen kann:

addieren, multiplizieren, Skalarprodukt etc.

Beispiel:

Skalarprodukt zweier Funktionen ist (bis auf paar Details) der Korellationskoeffizient.

Man kann über Funktionsräume sprechen, Basisfunktionen, zu einander orthogonale Funktionen, linear unabhängige Funktionen etc.

Konsequenz: Bilder sind mehr als Vektoren, Vektoren sind sie aber auch.

D. Schlesinger () BV: Fourier-Transformation 2 / 16

(44)

Allgemeines

Die Aufgabe – zerlege einen Vektorx∈Rn auf seine „Komponenten“ in einem Basis x=

X

i

vi·λi,

mit den Basisvektorenvi∈Rn und den Koeffizientenλi∈R. Äquivalent – löse ein lineares Gleichungssystemx=V·λmitλ∈Rn Wichtig (Eigenschaften des Basis):

– Die Basisvektoren sollen den Raum aufspannen, d.h. eine solche Zerlegung existiert für allex.

– Die Vektoren sind linear unabhängig, d.h. ein Vektorvi lässt sich nicht als eine lineare Kombination anderer Vektorenvj darstellen – die Zerlegung einesxist dann eindeutig.

Spezialfall – orthonormierter Basis:

– allevi sind zu einander orthogonal, d.h.hvi,vji= 0 füri6=j.

– allevi haben dieselbe Länge (= 1), d.h.hvi,vii= 1.

Dann gilt:λi=hx,vii.

D. Schlesinger () BV: Fourier-Transformation 3 / 16

(45)

Allgemeines

Übergang zu Funktionen:

Der Funktionsraum ist unendlichdimensional→

→unendlich viele Basisfunktionenvi(x), d.h.v(x,y) (yersetzti) sowie

→eine kontinuierliche Funktionλ(y).

Die Aufgabe ist, eine gegeben Funktionf(x) auf Basisfunktionen zu zerlegen:

f(x) =

Z

y

v(x,y)λ(y)dy

Orthonormierter Basis heißt:

– Orthogonal:

Z

x

v(x,y0)v(x,y00)dx= 0 für alley06=y00. – Normiert:

Z

x

v(x,y)v(x,y)dx=const für alley.

Dann gilt:

λ(y) = „hi“ =

Z

x

f(x)v(x,y)dx

D. Schlesinger () BV: Fourier-Transformation 4 / 16

(46)

Fourier-Transformation

Funktionsraum:

alle periodische Funktionen mit der Periode 2π, d.hf(x) =f(x+k·2π),k∈Z.

Basisfunktionen: sin(kx) und cos(kx),k= 0, . . . ,∞ Eigenschaften:

– orthonormiert (trivial),

– spannen den Funktionsraum auf (Jean Baptiste Joseph Fourier, 1822) Zerlegung:

f(x) = a0

2 +

X

k=1

akcos(kx) +bksin(kx)

mit

a0= 1/π

Z

0

f(x)dx

ak= 1/π

Z

0

f(x) cos(kx)dx

bk= 1/π

Z

0

f(x) sin(kx)dx

D. Schlesinger () BV: Fourier-Transformation 5 / 16

(47)

Fourier-Transformation

Ersetzt man

P

1

durch

kmax

P

1

, so wird die Ausgangsfunktionf(x) approximiert.

D. Schlesinger () BV: Fourier-Transformation 6 / 16

(48)

Fourier-Transformation

Komplexe Schreibweise:

Grundlage – Euler Identität:

eikx = cos(kx) +i·sin(kx) e−ikx = cos(kx)−i·sin(kx) Zerlegung:

f(x) =

X

k=−∞

ckeikx

Koeffizienten:

ck= 1 2π

Z

0

f(x)e−ikxdx=

(

a0/2 k= 0 1/2·(akibk) k>0 1/2·(a−k+ib−k) k<0

D. Schlesinger () BV: Fourier-Transformation 7 / 16

(49)

Fourier-Transformation

Erweiterung auf beliebige periodische Signale: cos(kx)→cos(2πkxT ) Erweiterung auf nichtperiodische Signale (GrenzübergangT→ ∞)

→die Koeffizienten werden kontinuierlich

→die Reihec0,c1, . . .wird zur komplexen Funktion reellwertiges Argumentes F(u) =R(u) +I(u)

Amplitudenspektrum:

|F(u)|=

p

R2(u) +I2(u) Phasenspektrum:

φ(u) = tan−1 I(u) R(u)

D. Schlesinger () BV: Fourier-Transformation 8 / 16

(50)

Fourier-Transformation

2D Diskrete Fourier-Transformation:

F(u,v) = 1 MN ·

M−1

X

x=0 N−1

X

y=0

f(x,y)e−i2π(xu/M+yv/N)

mitM undN – Breite und Höhe,xundy– Bildkoordinaten,uundv– Frequenzen.

Inverse dazu:

f(x,y) =

M−1

X

u=0 N−1

X

v=0

F(u,v)ei2π(xu/M+yv/N)

D. Schlesinger () BV: Fourier-Transformation 9 / 16

(51)

Fourier-Transformation

Beispiele – charakteristische Amplitudenspektren:

D. Schlesinger () BV: Fourier-Transformation 10 / 16

(52)

Fourier-Transformation

Beispiele – Amplitude vs. Phase:

D. Schlesinger () BV: Fourier-Transformation 11 / 16

(53)

Fourier-Transformation

Beispiele – Richtungen:

D. Schlesinger () BV: Fourier-Transformation 12 / 16

(54)

Fourier-Transformation

Beispiele – Erkennung der Richtung:

D. Schlesinger () BV: Fourier-Transformation 13 / 16

(55)

Faltungstheorem

F[f∗g] =F[f]· F[g]

F– Operator (Fourier-Transformation),

F(v) =F[f] – das Abbild der Funktionf im Fourier-Raum.

Beweis:

f(x) =F−1[F(v)] =

Z

−∞

F(v)e2πivxdv, g(x) = ... analog

fg=

Z

−∞

g(x0)f(x−x0)dx0=

=

Z

−∞

g(x0

h Z

−∞

F(v)e2πiv(x−x0)dv

i

dx0=

=

Z

−∞

F(v)·

h Z

−∞

g(x0)e−2πivx0dx0

i

e2πivxdv=

=

Z

−∞

F(v)·G(v)e2πivxdv=F−1[F(v)·G(v)]

⇒ F[f∗g] =F[f]· F[g]

D. Schlesinger () BV: Fourier-Transformation 14 / 16

(56)

Faltungstheorem

Konsequenz 1:

Eine Faltungfgkann durchfg=F−1[F(v)·G(v)] implementiert werden.

Zeitkomplexität –O(nlogn).

Konsequenz 2:

Jeder Filter hat seine Spektralcharakteristika im Fourier-Raum

→Spektralanalyse,

→Entwicklung der Filter mit bestimmten Spektralcharakteristika.

D. Schlesinger () BV: Fourier-Transformation 15 / 16

(57)

Andere Transformationen

Die Bilder sagen„Wo“, aber nicht„Was“.

Die Spektren sagen„Was“, aber nicht„Wo“.

Windowed Fourier-Transformation, Schnelle Fourier-Transformation (FFT – nur schnell) Cosine Transformation (1D, Diskret, DCT-II):

F(u) =

N−1

X

x=0

f(x)·cos

h

π

N x+1 2

u

i

Wavelet Transformation (1D, Kontinuierlich):

F(a,b)

Z

−∞

f(x)·ψ xb a

dx

mit der „Mutter“-Funktionψ(·)

(z.B. „Complex mexican hat wavelet“ etc.).

D. Schlesinger () BV: Fourier-Transformation 16 / 16

(58)

Bildverarbeitung: Diffusion Filters

D. Schlesinger () Bildverarbeitung: Diffusion Filters 1 / 10

(59)

Diffusion – Idee

Motiviert durch physikalische Prozesse – Ausgleich der Konzentration eines Stoffes.

Konzentration ist eine Funktion im Raum d.h.

u:Rn→R, oft zum Beispielu:R3→Rin der Physik.

Räumlicher Gradientder Konzentration∇u= (∂x∂u

1,∂x∂u

2, . . .) verursacht

„flux“j:Rn→Rn (Massbewegung, Vektorfeld) – Ficksches Gesetz:

j=−D· ∇u,

Dist eine positiv definite symmetrische Matrix –Diffusion Tensor.

Aus der Erhaltung der Masse folgt (tist die Zeit)

∂u

∂t =−divj= div(D· ∇u) mitDivergenz: divj(x) =∂j∂x1(x)

1 +∂j∂x2(x)

2 +. . .

D. Schlesinger () Bildverarbeitung: Diffusion Filters 2 / 10

(60)

Diffusion für Bilder

Das Bild wird als initiale Verteilung der Konzentration interpretiert:

u(x,y,t= 0) =I(x,y)

Das „Bild“ wird entsprechend ∂u/∂t= div(D∇u) mit der Zeit geändert.

Diffusion TensorDsteuert die Entwicklung der Verteilung der Konzentration in Zeit.

Fälle nachD:

skalar → isotropisch

allgemein → anisotropisch

unabhängig vonu → linear abhängig vonu → nichtlinear

⇒Alle vier Varianten möglich.

D. Schlesinger () Bildverarbeitung: Diffusion Filters 3 / 10

(61)

Lineare Isotropische Diffusion

Diffusion Tensor ist eine Konstante, d.h.D=c·1I (1I ist die Einheitsmatrix):

u(x,0) =I(x), ∂u

∂t = div(c· ∇u) =c· 4u mit demLaplace Operator4u= div(∇u) = ∂u2

∂x∂x+∂y∂y∂u2. Fragen:u(x,∞) = ? Stationär?

4u= 0 beit→ ∞ ⇒u(x,∞) = ? (Linear, Bilinear ... )

Das hängt voncund von Regularisierung am Rand ab. In meist der Fälle – Glättung.

Der einfachste Fall (Homogene Diffusion):Dist die Einheitsmatrix (oderc= 1).

Es existiert die analytische Lösung:

u(x,t) = (G2tI)(x)

d.h. Faltung des AusgangsbildesI mit dem Gausschen Glättungskern mitσ=√ 2t

D. Schlesinger () Bildverarbeitung: Diffusion Filters 4 / 10

(62)

Finite Differenzen

Diskretisiere (Homogene Diffusion)

∂u(x,u,t)

∂t = ∂u(x,y,t)2

∂x∂x +∂u(x,y,t)2

∂x∂x Ableitungen (kontinuierlich)→Differenzen (diskret):

∂u(x,u,t)

∂t =u(x,y,t+τ)u(x,y,t)

τ +O(τ)

∂u(x,y,t)2

∂x∂x =u(x+h,y,t)−2u(x,y,t) +u(x−h,y,t)

h2 +O(h2)

∂u(x,y,t)2

∂y∂y =u(x,y+h,t)−2u(x,y,t) +u(x,y−h,t)

h2 +O(h2)

τist der Zeitschritt,h– räumliche Auflösung.

O(·) werden vernachlässigt, alles wird zusammengesetzt und nachu(x,y,t+τ) umgestellt:

u(x,y,t+τ) =

1−4τ h2

u(x,y,t) + τ

h2 u(x+1,y,t) +u(x−1,y,t) +u(x,y+1,t) +u(x,y−1,t)

Explizites Schema: die neuen Werte werden direkt aus den alten berechnet.

Stabil, wenn alle „Gewichte“ nichtnegativ, d.h. hτ21

4.

D. Schlesinger () Bildverarbeitung: Diffusion Filters 5 / 10

(63)

Finite Differenzen

Implizites Schema: Divergenzen für dennächstenZeitpunkt werden verwendet u(x,y,t+τ) =

1−4τ h2

u(x,y,t) + τ

h2 u(x+1,y,t) +u(x−1,y,t) +u(x,y+1,t) +u(x,y−1,t)

wird zu

u(x,y,t+τ) =u(x,y,t)+

τ

h2 u(x+1,y,t+τ) +u(x−1,y,t+τ) +u(x,y+1,t) +u(x,y−1,t+τ)−4u(x,y,t+τ)

Die neuen Werte können nicht direkt berechnet werden, sondern es entsteht ein System linearer Gleichungen.

Sehr groß – so viel Gleichungen wie viel Pixel, dafür aber dünn besetzt

⇒spezielle iterative Methoden (Jakobi ...).

Explizit: instabil, schnell

Implizit: stabil, langsam (in jedem Zeitpunkt ein System lösen)

D. Schlesinger () Bildverarbeitung: Diffusion Filters 6 / 10

(64)

Lineare Isotropische Diffusion

Die Idee – bei Anwesenheit der Kanten weniger glätten c· 4u≡c(x,y,I)· 4u mitc(x,y,I) vorberechnet aus dem Bild.

Sehr oftc(x,y,I) = g(|∇I(x,y)|2) – eine positive fallende Funktion (Diffusivität) der quadratischen Länge des Bildgradienten.

D. Schlesinger () Bildverarbeitung: Diffusion Filters 7 / 10

(65)

Nichtlineare Isotropische Diffusion

Die Idee – Kanten sind besser im entrauschten Bild (unbekannt)

∂u

∂t = div(g(|∇I|2)∇u) wird zu ∂u

∂t = div(g(|∇u|2)∇u) Spezialfall – TV-flow:∂u/∂t= div(|∇u|∇u)

– Keine weitere Kontrastparameter

– Stückweise konstante Grauwertverläufe – Segmentierung ähnlich Problem:∞bei|∇u|= 0→Regularisierungg(s2) = √1

s2

(a) Verrauschtes Ausgangsbild (b) Gaussche Glättung (c) Nichtlineare Diffusion

Implizites Schema führt zum SystemnichtlinearerGleichungen in jedem Zeitpunkt.

D. Schlesinger () Bildverarbeitung: Diffusion Filters 8 / 10

(66)

Shock Filter

Die Idee: „dilation“ in der Nähe des Maximums und „erosion“ in der Nähe des Minimums

∂u

∂t =−sign(4u)· |∇u|

D. Schlesinger () Bildverarbeitung: Diffusion Filters 9 / 10

(67)

Shock Filter

D. Schlesinger () Bildverarbeitung: Diffusion Filters 10 / 10

(68)

Bildverarbeitung: Kontinuierliche Energieminimierung

D. Schlesinger BV: Kontinuierliche Energieminimierung() 1 / 9

(69)

Idee

Statt zu sagen, wie die Lösung geändert werden muss (explizite Algorithmus, Diffusion), werden die erwünschten Eigenschaften der Lösung explizit formuliert.

Die Ausprägungen eines Objektes werden durch Abbildungen repräsentiert.

Beispiele:

„Menge der Pixel“→„Menge der Farben“(alles diskret).

„Menge der Pixel“→„Kontinuierlicher Grauwertbereich“.

Eigenschaften des Modells werden mittels „Energie“ dargestellt – Funktion, die „ungünstige“ Abbildungen bestraft.

Die Aufgebe wird zu einem Optimierungsproblem – suche nach der günstigsten Abbildung.

Fälle:

Definitionsbereich: kontinuierlich –R2 diskret – Menge der PixelR Wertebereich: kontinuierlich –R diskret – z.B. [0. . .255]

Heute: Wertebereich kontinuierlich, Beispiel – Entrauschen (denoising).

D. Schlesinger BV: Kontinuierliche Energieminimierung() 2 / 9

(70)

Diskreter Definitionsbereich

R∈Z2– die Pixelmenge,ER2– die Nachbarschaftstruktur (z.B. 4-Nachbarschaft) x:R→Z– das Ausgangsbild,y:R→R– die gesuchte Abbildung (das restaurierte Bild).

EnergieE:R|R|→Rbesteht (normalerweise) aus zwei Teilen:

1) Der Daten-Term:

Ed(y) =

X

r∈R

(xryr)2 (entspricht Gausschem Rauschen).

2) Der Modell-Term:

Em(y) =

X

rr0∈E

(yryr0)2

Annahme: der rekonstruierte Grauwertverlauf (die Abbildungy) soll glatt sein Die Optimierungsaufgabe:

y= arg min

y

Ed(y) +αEm(y)

D. Schlesinger BV: Kontinuierliche Energieminimierung() 3 / 9

(71)

Diskreter Definitionsbereich

Lösungsweg – Ableitungen Nullsetzen:

∂yr

hX

r∈R

(xryr)2+α

X

rr0∈E

(yryr0)2

i

=

yrxr+α

X

r0:rr0∈E

(yry0r) = 0

(1 + 4α)yijαyij−1αyij+1αyi−1jαyi+1j=xij ∀i,j System linearer Gleichungen mirn=|R|Variablen undnGleichungen:

A·y=x mit

y= (y1,y2, . . . ,yn)∈Rn– die Lösung, x= (x1,x2, . . . ,xn)∈Zn– das Ausgangsbild,

ak= 1 + 4α,akl=−αwenn die entsprechenden Pixel benachbart sind, sonst 0.

Das System kann bezüglichymithilfe Standardmethoden

(Gaussche Eliminierung,LU-Dekomposition,Ainvertieren usw.) gelöst werden – das ist aber leider sehr Zeitaufwendig (nur im 1D-Fall effizient).

(Merke: online/offline Varianten).

D. Schlesinger BV: Kontinuierliche Energieminimierung() 4 / 9

(72)

Diskreter Definitionsbereich

Die MatrixAist schwach besetzt→iterative Methoden.

Jacobi Methode:

Man zerlegeA=D+M mit einer diagonalen MatrixM:

Ay=x ⇔ (D+M)y=xDy=xMyy=D−1(x−My) y(k+1)=D−1(x−My(k))

Vorteile: extrem einfach, parallelisierbar

Nachteile: immer noch zu langsam, konvergiert nur beik→ ∞, konvergiert nur wenn die Matrix streng diagonal dominant ist, d.h.|aii|>

P

j6=i|aij|, was glücklicherweise für das Beispiel gerade der Fall ist.

Andere Algorithmen:

Gauss-Seidel, Successive Over-relaxation (schneller), Konjugierte Gradienten (bessere Konvergenz), Multigrid Methoden (viel schneller aber komplizierter) etc.

Das obige Beispiel ist sehr einfach – quadratische Energie⇒lineare Gleichungssystem.

Probleme wenn nicht differenzierbar, nicht konvex etc.

D. Schlesinger BV: Kontinuierliche Energieminimierung() 5 / 9

(73)

Kontinuierlicher Definitionsbereich

Definitionsbereich wird zuR⊂R2,

die Abbildungy:R2→Rist somit eine Funktion, Die Energie wird zum EnergiefunktionalE:R→R.

„Calculus of Variations“, Variationelle Ansätze.

Beispiel – das Entrauschen:

E(y) =

Z

R

h

y(r)x(r)

2

+α|∇y(r)|2

i

dr→min

y

Gâteaux Ableitungen entlang „Richtungen“h:R2→R (Richtungsableitungen im Funktionsraum):

∂Eh(y)

∂y = lim

ε→0

E(y+εh)E(y)

ε = dE(y+εh)

ε=0

Euler-Lagrange Gleichungen:

im Optimum sind alle Gâteaux Ableitungen (d.h. für alleh) Null.

D. Schlesinger BV: Kontinuierliche Energieminimierung() 6 / 9

(74)

Kontinuierlicher Definitionsbereich

d

Z

R

h

(y+εhx)2+α|∇(y+εh)|2

i

dr

ε=0

= // koordinatenweise inR2

d

Z

R

h

(y+εhx)2+α

∂r1

(y+εh)

2

+α

∂r2

(y+εh)

2

i

dr

ε=0

=

2

Z

R

h

(y+εhx)h+α

∂r1

(y+εh)∂h

∂r1

+α

∂r2

(y+εh)∂h

∂r2

i

dr

ε=0

=

2

Z

R

h

(y−x)h+α ∂y

∂r1

∂h

∂r1

+α ∂y

∂r2

∂h

∂r2

i

dr= // partielle Integration

2

Z

R

h

(y−x)hα 2y

∂r12h

α 2y

∂r22h

i

dr+. . .(Grenzeffekte) =

2

Z

R

(y−xα4y)h dr+. . .(Grenzeffekte) = 0 ∀h

D. Schlesinger BV: Kontinuierliche Energieminimierung() 7 / 9

(75)

Kontinuierlicher Definitionsbereich

yxα4y= 0 ∀r∈R , und für die Grenzen ∂hn,∇yi

∂R = 0

Relation zum Fall diskretes Definitionsbereiches:

Diskretisiert man die Bedingungen und schreibt sie für alle Pixel (i,j) auf, d.h.

yi,jxi,jα (yi−1,j−2yi,j+yi+1,j) + (yi,j−1−2yi,j+yi,j+1)

= 0 so entsteht dasselbe lineare Gleichungssystem wie beim diskreten Definitionsbereich:

yi,j(1 + 4α)−αyi−1,jαyi+1,jαyi,j−1αyi,j+1=xi,j ∀(i,j).

Relation zur Diffusion:

(Anti)Gradient Verfahren zur Minimierung der EnergieE(y):

y(t+1)=y(t)∂E(y)

∂y =y(t)+α4y+ (x−y) Vergleiche mit der linearen isotropischen Diffusion:

u(t+1)=u(t)+∂u

∂t =u(t)+c4u

D. Schlesinger BV: Kontinuierliche Energieminimierung() 8 / 9

(76)

Kontinuierlicher Definitionsbereich

Erweiterungen (kompakte Schreibweise):

E(y) =

Z

R

h

(y−x)2+αΨ(|∇y|2)

i

dr→min

y

mit einem Regularisator Ψ:

Ψ(s2) =s2 – Tikhonov

Ψ(s2) =

s2 – Total Variation

Ψ(s2) = 1−λ2exp(−s2

λ2) – Perona-Malik Ψ(s2) =

n

0 wenn s2= 0

1 else – Potts-Modell

Euler-Lagrange Gleichungen:

div Ψ0(|∇y|2)∇y

yx α = 0

D. Schlesinger BV: Kontinuierliche Energieminimierung() 9 / 9

(77)

Bildverarbeitung: Diskrete Energieminimierung

D. Schlesinger () BV: Diskrete Energieminimierung 1 / 11

(78)

Entrauschung → Segmentierung

Beide Definitionsbereich und Wertebereich sind diskret.

R∈Z2– die Pixelmenge,ER2– die Nachbarschaftstruktur (z.B. 4-Nachbarschaft) x :R →Z– das Ausgangsbild,y :RK – die gesuchte Abbildung (das restaurierte Bild).kKrepräsentiert den „wahren“ Grauwert (Label).

Die Energieminimierung:

y= arg min

y

Ed(y) +αEm(y)

z.B. arg min

y

hX

r∈R

(xryr)2+α

X

rr0∈E

(yryr0)2

i

Farben→semantische Bedeutungen (Werte eines Merkmals)...

Die Menge der Pixel ist auf „sinnvolle“ Teilmengen zu partitionieren.

D. Schlesinger () BV: Diskrete Energieminimierung 2 / 11

(79)

Segmentierung

Original

A possible segmentation

r r r r

r r

Data terms Compactness terms

Penalty Zero

k= 3: Shadow k= 2: Forest k= 1: Field

Dissimilarity measure Observed features

y= arg min

y

hX

r

qr(yr) +

X

rr0

grr0(yr,yr0)

i

D. Schlesinger () BV: Diskrete Energieminimierung 3 / 11

(80)

Iterated Conditional Modes

y= arg min

y

hX

r

qr(yr) +

X

rr0

grr0(yr,yr0)

i

Die Idee: wähle (lokal) immer wieder das energetisch günstigste Label bei fixiertem Rest [Besag, 1986].

Wiederhole oft für aller: yr= arg min

k

h

qr(k) +

X

r0:rr0∈E

grr0(k,yr0)

i

(ME: synchrone Dynamik in Hopfield-Netzen)

+ Extrem einfach, parallelisierbar.

− „Koordinatenweise“ Optimierung

→konvergiert nicht zum globalen Optimum selbst bei einfachen Modellen.

D. Schlesinger () BV: Diskrete Energieminimierung 4 / 11

(81)

Iterated Conditional Modes

Erweiterung: fixiere nicht alle Variablen bis auf eine, sondern nur eine Teilmenge so, das der Rest einfach optimierbar ist (zum Beispiel eine Kette oder ein Baum).

Für Bilder – Zeilenweise/Spaltenweise Optimierung.

→durch Dynamische Programmierung exakt und effizient lösbar.

D. Schlesinger () BV: Diskrete Energieminimierung 5 / 11

(82)

Äquivalente Transformationen (Reparametrisierung)

Zwei AufgabenA= (q,g) undA0= (q0,g0) sind zu einanderäquivalent, wenn

hX

r

qr(yr) +

X

rr0

grr0(yr,yr0)

i

=

hX

r

qr0(yr) +

X

rr0

g0rr0(yr,yr0)

i

für alle Labellingsygilt.

A(A) – Äquivalenzklasse (alle zuAäquivalenten Aufgaben).

ÄquivalenteTransformationen:

Φ = ϕr(k)∀r,k, ϕrr0(k), ∀rr0,k

ϕr(k) +

X

r0:rr0∈E

ϕrr0(k) = 0 ∀r,k

D. Schlesinger () BV: Diskrete Energieminimierung 6 / 11

Referenzen

ÄHNLICHE DOKUMENTE

Die Wasserhaushaltssimulation der BZE II-Punkte ergibt für viele Standorte unter den heutigen Klimabedingungen der Periode 1981 bis 2010 Grundwasserneubildungsraten von vielfach

Die Wasserhaushaltssimulation der BZE II-Punkte ergibt für viele Standorte bereits unter den heutigen Klimabedingungen der Periode 1981 bis 2010 Grundwasserneubildungsraten von

Insbesondere die Tieflandstandorte in Ost- niedersachsen und im Hügelland würden in Zukunft im Mittel der Jahre 2041 bis 2070 eine deutlich geringere Grundwasserneu- bildung

[r]

Schließlich sollen Sie ja wissen, von wo aus Sie starten und wie die einzelnen Aspekte, die für Ihre weitere berufliche Entwicklung relevant sind, miteinander im Zusammenhang

2.1 Standortbestimmung: Haben Sie klare Vorstellungen und Ziele über Ihre berufliche

Söder: Es geht mir um mehr Regionalität, um die Stärkung des Arztes als freien Beruf und um eine zukunftssichere Spitzenmedizin für alle.. Die bayerischen Ärztinnen und Ärzte

Da das gelbe und das kleine violette Dreieck ähnlich sind (gleiche Winkel) und beide Dreiecke bei einer nur kleinen Verschiebung in etwa ähnlich zum rechtwinkligen Drei- eck ABC,