pdf - Technische Universität München

Werbung
Technische Universität
München
Fakultät für Informatik
Forschungs- und Lehreinheit Informatik IX
Filterung im Frequenzraum: Fouriertransformation
Proseminar: Grundlagen Bildverarbeitung / Bildverstehen
Michael Dengler
Betreuer:
Suat Gedikli
Abgabetermin: 23. Januar 2007
Inhaltsverzeichnis
1 Einleitung und Motivation
2
2 Die Fouriertransformation
2.1 Fourieranalyse . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Die diskrete Fouriertransformation (DFT) . . . . . . . . . . .
2.2.1 Bildrepräsentation . . . . . . . . . . . . . . . . . . . .
2.2.2 Herleitung der eindimensionalen Fouriertransformation
2.2.3 Bezug zur Fourierreihe . . . . . . . . . . . . . . . . . .
2.2.4 Die zweidimensionale Fouriertransformation . . . . . .
2.3 Eigenschaften der Fouriertransformation . . . . . . . . . . . .
2.3.1 Allgemeine Eigenschaften . . . . . . . . . . . . . . . .
2.3.2 Frequenz und Richtung . . . . . . . . . . . . . . . . .
2.3.3 Amplitude und Phase . . . . . . . . . . . . . . . . . .
2.3.4 Mittelwert . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5 Separabilität . . . . . . . . . . . . . . . . . . . . . . .
2.4 Die schnelle Fouriertransformation (FFT) . . . . . . . . . . .
2.5 Anwendungen der Fouriertransformation . . . . . . . . . . . .
2.5.1 Faltung . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2 Korrelation . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
4
6
7
8
8
8
9
9
10
11
12
12
13
3 Fazit und Ausblick
14
4 Literaturverzeichnis
15
1
1 Einleitung und Motivation
Im Rahmen des Proseminars Grundlagen Bildverarbeitung / Bildverstehen wurde bereits die
Faltung als wichtige Operation zum Filtern von Bildern vorgestellt. Dazu wird ein ein Bild im
Ortsraum als Folge von Dirac-Impulsen aufgefasst. Ist die Impuls- bzw. Punktantwort eines
Filters bekannt, kann das gefilterte Bild durch Faltung der Bildfunktion mit der Impulsantwort
bestimmt werden.
Oft ist diese Berechnung aber umständlich oder zu aufwändig. Will man beispielsweise ein Bild
von einem sinusförmigen Störsignal befreien, muss man Amplitude, Phase und Frequenz der
Störung kennen, um das Filter im Ortsraum berechnen zu können. Viel einfacher wäre es, wenn
statt der Repräsentation eines Bildes als Folge von Grauwerten eine alternative Darstellung als
Überlagerung verschiedener Schwingungen existieren würde. Jede Schwingung entspricht dann
einer Grauwertschwankung. Auf diese Weise könnte die störende Schwingung lokalisiert und
entfernt werden. (vgl. Tönnies05 [5, S. 64])
Welche Schwingungen in einem Bild enthalten sind, entnimmt man dem Frequenzraum. Die
Fouriertransformation und inverse Fouriertransformation überführen ein Bild vom Ortsraum in
den Frequenzraum und wieder zurück.
Es wird sich herausstellen, dass die komplexe Operation der Faltung im Ortsraum mit einer einfachen Multiplikation im Frequenzraum korrespondiert. Mit der schnellen Fouriertransformation
existiert ein Algorithmus, der den Berechnungsaufwand für die Faltung erheblich senkt.
2
2 Die Fouriertransformation
2.1 Fourieranalyse
Bereits Anfang des 19. Jahrhunderts behauptete der französische Mathematiker Jean Baptiste
Joseph Fourier, dass sich jede periodische Funktion als Linearkombination von Sinus- und Kosinusschwingungen darstellen ließe. Aus der Theorie entwickelte sich die Fourieranalysis, welche
heute in zahlreichen ingenieur-und naturwissenschaftlichen Gebieten Anwendung findet. Sie beschreibt die Entwicklung einer periodischen Funktion f (t) mit Periodendauer T als Fourierreihe.
(vgl. Meyberg99 [4, S. 285])
Z
∞
a0 X
2
f (t) =
+
(an · cos(nωt) + bn · sin(nωt)) mit an =
f (t) · cos(nωt) dt
(2.1)
2
T T
n=1
Z
2
und bn =
f (t) · sin(nωt) dt
T T
(vgl. Wikipedia [7])
Abbildung 2.1: Annäherung einer Rechteckschwingung durch ihre Fourierreihe
a0
,
2
die Grundschwingung a1 · cos(ωt) + b1 · sin(ωt) und ihre Oberschwingungen zerlegt werden.
Eine periodische Funktion kann also in einen Gleichanteil
Mit der Euler-Formel eiφ = cos(φ) + i sin(φ) lässt sich die Reihe kompakter schreiben.
f (t) =
∞
X
n=−∞
cn e
inωt
1
mit cn =
T
Z
f (t)e−inωt dt
T
3
(2.2)
2 Die Fouriertransformation
Wobei für die Umrechnung zwischen den Koeffizienten gilt:
1
1
1
c0 = a0 , cn = (an − ibn ) , c−n = (an + ibn )
2
2
2
a0 = 2c0 , an = cn + c−n ,
bn = i (cn − c−n )
(2.3)
(vgl. Meyberg99 [4, S. 288])
Für die reellen Koeffizienten an und bn sowie für die komplexen Koeffizienten cn ergeben sich
einige interessante Eigenschaften.
Ist f (t) eine ungerade Funktion, also f (t) = −f (−t), und integriert man in Gleichung 2.1 von
−T
T
2 bis 2 folgt an = 0, weil der Kosinus eine gerade Funktion ist. Entsprechend verschwinden
die bn für gerade Funktionen f , weil der Sinus eine ungerade Funktion ist.
Damit folgt aus der Umrechnungsformel 2.3 direkt, dass die Koeffizienten cn für gerade Funktionen f reell und für ungerade Funktionen rein imaginär sind.
Insbesondere gilt immer: f reell =⇒ an bn ∈ R ⇐⇒ c−n = c−n . (vgl. Meyberg99 [4, S. 297])
Für reelle Funktionen sind also nur die Hälfte der cn zu berechnen, der andere Teil ergibt sich
durch komplexe Konjugation.
2.2 Die diskrete Fouriertransformation (DFT)
2.2.1 Bildrepräsentation
Eine Funktion mit endlichem und diskretem Definitionsbereich kann entweder durch eine Abbildungsvorschrift oder durch Angabe der Funktionswerte an den einzelnen Stellen definiert
werden.
Beispiel
• Abbildungsvorschrift: f (n) = n2 , n = 0, . . . , N − 1
• Angabe der Funktionswerte: f (n) = (0, 1, 4, 9, . . . , (N − 1)2 )
(vgl. Tönnies05 [5, S. 67])
Weil für die Helligkeitsverteilung eines Bildes in der Regel kein Bildungsgesetz vorliegt, ist die
zweite Variante in der Bildverarbeitung die gebräuchliche. Bilder sind endlich und digitale Bilder
zusätzlich abgetastet (diskreter Definitionsbereich) und quantisiert (diskreter Wertebereich).
Eine Bildfunktion bzw. ein Bild kann also durch Angabe der Helligkeitswerte an den einzelnen
Bildpunkten (Pixel) repräsentiert werden. Die Helligkeitswerte der Pixel sind über den Zeilenindex m und Spaltenindex n in einer M × N Matrix f angeordnet. (m, n) 7→ f (m, n)
2.2.2 Herleitung der eindimensionalen Fouriertransformation
Die folgende Herleitung kommt alleine mit Mitteln der linearen Algebra aus. Sie ist hauptsächlich
einem Wikipedia-Artikel [6] entnommen und sehr elegant, weil sie nicht, wie viele andere Herangehensweisen, die kontinuierliche Fouriertransformation diskretisiert.
4
2 Die Fouriertransformation
Vereinfacht soll ein digitales Bild mit m Zeilen und n Spalten als Vektor
f = (f0 , . . . , fN −1 ) ∈ CN der Länge N = m · n aufgefasst werden, in dem die Zeilen der
Helligkeitsmatrix hintereinander eingereiht sind. Die Komponenten des Vektors enthalten die
Helligkeitswerte der jeweiligen Pixel. (vgl. Tönnies05 [5, S. 68])
Anmerkung: Die Werte der Pixel sind natürlich keine echten komplexen Zahlen, sondern z. B.
f (n) ∈ [0, 255]. Dennoch sind es komplexe Zahlen mit nicht vorhandenem Imaginärteil.
Dieser Helligkeitsvektor kann jetzt auch in eine andere Basis des CN , in diesem Fall die Fourierbasis, transformiert werden.
Die Fourierbasis wird mit Hilfe von Potenzen der N-ten Einheitswurzel wN = exp i 2π
N gebil
(un)
2π
N
det. Die Vektoren bu ∈ C mit bu (n) = wN = exp iun N , u, n = 0, . . . , N − 1 bilden eine
orthogonale Basis des CN bezüglich des Skalarprodukts
hx, yi =
N −1
1 X
xk ȳk .
N
k=0
ȳk bezeichnet die konjugiert komplexe Zahl.
Beispiel: Für N = 4 ist w4 = exp[i 2π
4 ] = i und die Basisvektoren lauten:

 
1
1
 1   i
 ,
 1   −1
1
−i
 
 
1
1
  −1   −i
,
 
  1  ,  −1
−1
i


.

Die Basisvektoren sind zueinander orthogonal, weil für ihr Skalarprodukt gilt:
(
N −1
1 u=v
1 X (u−v)n
wN
= δu,v =
hbu , bv i =
N
0 u 6= v
n=0
(vgl. Wikipedia [6])
(u−v)
Beweis: Für u = v ist jeder der N Summanden 1, für u 6= v ist z := wN
eine von 1 verschieN
dene N -te Einheitswurzel, also z = 1 und es folgt mit der geometrischen Summenformel:
N
−1
X
(u−v)n
wN
= 1 + z + z 2 · · · + z N −1 =
n=0
zN − 1
=0
z−1
(vgl. Meyberg99 [4, S. 328])
Der Vektor f = (f0 , . . . , fN −1 ) ∈ CN kann also als Linearkombination der Fourier-Basisvektoren
dargestellt werden.
f=
N
−1
X
λ u bu
u=0
Da die Fourier-Basisvektoren bu mit dem definierten Skalarprodukt eine orthonormale Basis
bilden, ist die Bestimmung der Koeffizienten λu besonders einfach. Mit der Linearitätseigenschaft
5
2 Die Fouriertransformation
des Skalarproduktes gilt nämlich:
N
−1
X
hf, bu i = h
λ v bv , b u i =
v=0
N
−1
X
λv hbv , bu i =
N
−1
X
v=0
λv δv,u = λu .
v=0
Die Vektor f kann insgesamt geschrieben werden als:
f (n) =
N
−1
X
λu · bu (n) =
u=0
N
−1
X
u=0
2π
λu · exp iun
N
N −1
1 X
2π
mit λu = hf, bu i =
f (n) · exp −iun
N
N
n=0
Setzt man F (u) := λu und zieht den Faktor
aus Tönnies05 [5, S. 72].
F (u) =
N
−1
X
n=0
1
N
aus dem Skalarprodukt, erhält man die Formeln
N −1
2π
1 X
2π
f (n) · exp −iun
und f (n) =
F (u) · exp iun
N
N
N
(2.4)
u=0
Die Funktion F (u) heißt Fouriertransformierte der Funktion f (n). Die Werte von F (u) sind in
der Regel echte komplexe Zahlen. Auf die Eigenschaften der Fouriertransformierten bezüglich
der Ortsfunktion f (n) wird noch eingegangen.
2.2.3 Bezug zur Fourierreihe
In Gleichung
2.4 wird die Funktion f (n) aus Produkten zweier komplexer Zahlen F (u) und
2π
exp iun N zusammengesetzt. Sie wird deshalb auch Synthesegleichung oder inverse Fouriertransformation genannt. Über die Analysegleichung werden die komplexen Koeffizienten F (u)
ermittelt. Die einzelnen Produkte, die f zusammensetzen, sind also von der Form:
F (u) · eix = Aeiφ eix = Aei(x+φ) = A [cos(x + φ) + i sin(x + φ)]
(vgl. Tönnies05 [5, S. 72])
Die erste Gemeinsamkeit mit der Fourierreihe besteht darin, dass die Funktion f (n) aus Schwingungen zusammengesetzt wird, wobei Amplitude A und Phase φ elegant in einer komplexen Zahl
F (u) kodiert sind. Der Imaginärteil der Schwingung darf dabei nicht stören. Während bei der
Fourierreihe die negativen komplexen Koeffizienten c−n die konjugiert Komplexen der positiven
waren, liegt das Symmetriezentrum jetzt bei N/2. Es gilt nämlich:
2π
2π
2π
2π
exp −i(N − u)n
= exp [−in2π] · exp iun
= 1 · exp iun
= exp −iun
(2.5)
N
N
N
N
Damit ist auch F (N − u) = F (u). Jede komplexe Welle hat daher ein konjugiert komplexes
Pendant:
F (u) · e−ix = Ae−i(x+φ) = A [cos(x + φ) − i sin(x + φ)]
6
2 Die Fouriertransformation
Die imaginären Komponenten verschwinden also bei Addition des konjugierten Gegenstücks und
mit Hilfe der Additionstheoreme erhält man folgende Darstellung für die einzelnen Schwingungen:
2A cos(x + φ) = a · cos(x) + b · sin(x)
Hieraus wird der enge Zusammenhang zwischen der diskreten Fouriertransformation und der
Fourierreihenentwicklung klar. Wegen dem diskreten und endlichen Definitionsbereich werden
die Integrale aus Gleichung 2.2 zu Summen und die Summationsgrenzen endlich.
2.2.4 Die zweidimensionale Fouriertransformation
Die Vereinfachung, dass die Zeilen der Helligkeitsmatrix in einen einzigen Vektor geschrieben
werden, soll jetzt aufgehoben werden. Schöner wäre es, für die transformierte Funktion F (u)
auch eine zweidimensionale Darstellung F (u, v) zu erhalten.
Abbildung 2.2: Beschreibung einer zweidimensionale Welle durch die Wellenlänge λ, Wellenzahlvektor ~k und Phase φ. (vgl. Jähne02 [3, S. 42])
Dazu geht man für die Basisvektoren zu zweidimensionalen Wellen der Form A cos(~k~x + φ) über
(Abb. 2.2). Der Vektor ~k = (k1 , k2 ) heißt Wellenzahlvektor und gibt die Richtung der Welle an.
Sein Betrag entspricht der Frequenz der Welle. (vgl. Jähne02 [3, S. 42])
2πv
Mit dem Wellenzahlvektor ~k = 2πu
lauten die Basisvektoren für die zweidimensionale
M
N
Fouriertransformation:
h
um vn i
m
m
2πu
2πv
2πu
2πv
bu,v (n, m) = cos
+
·
+
i
sin
·
=
exp
i2π
M
N
M
N
n
n
M
N
Als Formeln für die diskrete zweidimensionale Fouriertransformation ergeben sich für Hin- und
Rücktransformation:
F (u, v) =
M
−1 N
−1
X
X
h
um vn i
f (m, n) exp −i2π
+
M
N
m=0 n=0
M
−1 N
−1
X
X
1
f (m, n) =
MN
(2.6)
h
F (u, v) exp i2π
um
vn i
+
M
N
u=0 v=0
(vgl. Tönnies05 [5, S. 74])
7
2 Die Fouriertransformation
2.3 Eigenschaften der Fouriertransformation
2.3.1 Allgemeine Eigenschaften
Im Folgenden werden einige wichtige Eigenschaften der Fouriertransformation genannt. Viele wurden bereits im Zusammenhang mit der Umrechnungsformel 2.3 für die FourierreihenKoeffizienten deutlich.
• Periodizität: Wegen der Periodizität der Einheitswurzeln gilt:
F (u, v) = F (u + kM, v + lN ).
• Symmetrie: F (−u, −v) = F (u, v)
• Faltung:[f ∗ g] ⇐⇒ [F · G]
• f gerade ⇐⇒ F gerade
• f ungerade ⇐⇒ F ungerade
• f reell und gerade ⇐⇒ F reell und gerade
• f reell und ungerade ⇐⇒ F imaginär und ungerade (vgl. Jähne02 [3, S. 50])
Insbesondere ist das Amplitudenspektrum, also |F (u, v)| für reelle Funktionen f gerade. Zur Definition von geraden und ungeraden Funktionen F (u, v) werden negative Indizes −u, −v benötigt.
Das ist jedoch kein Problem, weil wegen der Periodizität F (−u, −v) = F (M − u, N − v) gilt
und so zu der bereits in Formel 2.5 festgestellten Symmetrie führt. (vgl. Jähne02 [3, S. 51]) In
Beispielbildern von Fouriertransformationen befindet sich der Ursprung (0, 0) deshalb oft in der
Mitte des Bildes. Die Symmetrieeigenschaft ist von großem Nutzen, weil nur die Hälfte aller
Werte berechnet werden muss. Sie ist andererseits auch nicht erstaunlich, da komplexe Zahlen
die Information von zwei reellen Zahlen enthalten (vgl. Tönnies05 [5, S. 76]) und damit ein
fouriertransformiertes Bild gleich viel Speicherplatz wie sein Original benötigt.
2.3.2 Frequenz und Richtung
Wie bereits erwähnt, zerlegt die zweidimensionale Fouriertransformation ein Bild in zweidimensionale Wellen. Sie berechnet komplexe Zahlen F (u, v), wobei der Vektor (u, v) die Richtung der
zugehörigen Welle im Ortsraum angibt und der Betrag des Vektors ihrer Frequenz entspricht.
Abbildung 2.3 zeigt die Fouriertransformation eines einfachen Streifenbildes. Das Maximum in
der linken Hälfte des Amplitudenspektrums ist der Betrag einer komplexen Zahl F (u, v). Der
Vektor vom Ursprung (0, 0) in der Bildmitte zum Maximum (u, v) gibt die Richtung der Welle
an, die das periodische Streifenmuster erzeugt. Das Maximum in der rechten Hälfte stammt vom
konjugiert komplexen Wert |F (−u, −v)| = |F (u, v)|. Es ist einleuchtend, dass eine Rotation im
Ortsbereich zur gleichen Rotation des Amplitudenspektrums führt. (vgl. Tönnies05 [5, S. 83])
8
2 Die Fouriertransformation
(a) einfaches Bild mit diagonalen Streifen
(b) Fouriertransformation des Bildes (Amplitudenspektrum)
Abbildung 2.3: Der Vektor von der Mitte des Amplitudenspektrums zum linken Maximum gibt
die Richtung der Welle an
2.3.3 Amplitude und Phase
Komplexe Zahlen F(u,v) können mit der Euler-Formel auch folgendermaßen geschrieben werden:
F (u, v) = |F (u, v)| · eiφ .
Der Winkel φ heißt Phase und berechnet sich über den inversen Tangens vom Verhältnis des
Imaginärteils zum Realteil. Die Amplitude |F (u, v)| gibt die Intensität der durch die Welle repräsentierten Grauwertschwankung an. Würden vor der Rücktransformation z.B. die Beträge
|F (u, v)| halbiert werden, wäre das Ergebnis ein halb so helles Bild. (vgl. Tönnies05 [5, S. 79])
Die Position der Welle ist über die Phase bestimmt. Eine Translation im Ortsraum führt deshalb zu einer Veränderung der Phasen, wohingegen die Amplituden unberührt bleiben. Weil
komplexe Zahlen schwer darzustellen sind, wird die Fouriertransformation eines Bildes getrennt
als Amplitudenspektrum und Phasenspektrum gezeigt. Oft begnügt man sich auch mit dem
Amplitudenspektrum. Für die Rücktransformation des Bildes muss sowohl Amplituden- und
Phaseninformation vorhanden sein.
Es stellt sich noch die Frage, welche Information dominiert, also einen größeren Einfluss
bei der Rücktransformation hat. Dazu macht Jähne [3] einen interessanten Versuch. Vor der
Rücktransformation zweier Bilder werden Amplituden- und Phaseninformation vertauscht (Abb.
2.4). Die resultierenden Bilder verraten, dass die Phaseninformation dominiert. Die Bilder nehmen jeweils die Struktur des Bildes an von dem die Phaseninformation stammt.
2.3.4 Mittelwert
In der Fouriertransformierten des Streifenbildes (Abb. 2.3) befindet sich noch ein drittes Maximum in der Bildmitte bzw. im Ursprung (0, 0). Es kann als mittlerer Grauwertanteil des
9
2 Die Fouriertransformation
Abbildung 2.4: Bedeutung von Amplituden- und Phaseninformation für die Rücktransformation. Bild c
setzt sich aus der Amplitudeninformation von Bild a und Phase von Bild b zusammen.
Bild d wird aus Amplitude von b und Phase von a zusammengesetzt. (vgl. Jähne02 [3,
S. 58])
Bildes aufgefasst werden. Ähnlich dem Gleichanteil der Fourierreihe wird der Wert F (0, 0) als
DC-Komponente (vgl. Tönnies05 [5, S. 73]) bezeichnet und ist eine reelle Zahl.
2.3.5 Separabilität
Mit der angegebenen Formel für die zweidimensionale Fouriertransformation 2.6 wäre der Aufwand zur Berechnung der Fouriertransformation eines Bildes mit N 2 Pixeln O(N 4 ). Die Basisvektoren der zweidimensionalen Fouriertransformation sind aber separabel:
h
um i
h
vn i
h
um vn i
exp i2π
+
= exp i2π
· exp i2π
M
N
M
N
Im Falle eines quadratischen Bildes ist M = N und die Transformationsformel lautet mit Hilfe
der Separabilitätseigenschaft:
NX
!
−1
N −1
1 X
2π
2π
exp −i um
f (m, n) exp −i vn
(2.7)
F (u, v) = 2
N
N
N
m=0
n=0
(vgl. Tönnies05 [5, S. 76])
Die Fouriertransformation kann also auf zwei eindimensionale Transformationen (Spalten- und
Zeilentransformation) zurückgeführt werden, wenn die Transformation in der Klammer in einem
Feld H(m, v) zwischengespeichert wird. (vgl. Abmayr S. 94 [1]) Der Berechnungsaufwand sinkt
auf O(2N 3 ) = O(N 3 ). (vgl. Tönnies05 [5, S. 76])
10
2 Die Fouriertransformation
2.4 Die schnelle Fouriertransformation (FFT)
Eine Möglichkeit, die Berechnung weiter zu beschleunigen, bietet die schnelle Fouriertransformation. Die FFT (englisch: fast Fourier transform) ist ein Divide-and-Conquer Algorithmus und
arbeitet deshalb am besten mit Bildern der Größe N ×N , wobei N eine Zweierpotenz ist. Die hier
vorgestellte Variante ist den Büchern Tönnies05 [5] und Gonzales92 [2] entnommen. Aufgrund
der Separierbarkeit der Fouriertransformation genügt es den Algorithmus für den eindimensionalen Fall zu definieren. Die eindimensionale DFT lautet unter Zuhilfenahme der Definition der
N-ten Einheitswurzeln wN aus Abschnitt 2.2.2:
F (u) =
N −1
1 X
(un)
f (n)wN
N
n=0
Da N eine Zweierpotenz ist, kann die Transformation mit der Substitution K := N/2 in zwei
halb so lange Summen aufgeteilt werden:
!
K−1
K−1
1 1 X
1 X
(2un)
u(2n+1)
F (u) =
f (2n)w2K +
f (2n + 1)w2K
2 K
K
n=0
n=0
(2un)
Weil sich die 2 aus Zähler und Nenner kürzen lässt, gilt w2K
1
F (u) =
2
K−1
K−1
1 X
1 X
(un)
(un) (u)
f (2n)wK +
f (2n + 1)wK w2K
K
K
n=0
(un)
= wK
und es folgt:
!
n=0
Nennt man die Transformation der geraden Indizes Feven (u) und die der ungeraden Fodd (u)
erhält man folgende Darstellung:
F (u) =
1
(u)
Feven (u) + Fodd (u)w2K
2
Das Ziel ist es aber, die Fouriertransformation in zwei halb so lange Transformationen aufzuteilen. Wegen der Periodizitätseigenschaft gilt zusätzlich:
(u+K)
wK
(u)
= wK
(u+K)
und w2K
(u)
= −w2K
(vgl. Gonzales92 [2, S. 121])
Um die Werte für u = K, . . . , N − 1 zu berechnen kann man also die von u = 0, . . . , K − 1
benutzen.
1
1
(u+K)
(u)
Feven (u + K) + Fodd (u + K)w2K
=
Feven (u) − Fodd (u)w2K
F (u + K) =
2
2
Die DFT wurde in zwei Transformationen der Länge N/2, eine für gerade und eine für ungerade
Indizes n, aufgeteilt. Insgesamt ergibt sich für die schnelle Fouriertransformation der Länge
N ein Aufwand von O(N log N ) (vgl. Jähne02 [3, S. 69]). Wird die zweidimensionale DFT
zuerst auf allen Spalten und anschließend auf den Zeilen ausgeführt (siehe Formel 2.7), kann die
Komplexität mit der FFT von O(N 3 ) auf O(2N 2 log N ) = O(N 2 log N ) gesenkt werden.
11
2 Die Fouriertransformation
2.5 Anwendungen der Fouriertransformation
2.5.1 Faltung
Es wurde bereits darauf hingewiesen, dass sich die wichtige Faltungsoperation zum Filtern von
Bildern im Ortsbereich, mit Hilfe der Fouriertransformation viel leichter durchführen lässt. Die
eindimensionale Faltung zweier Funktionen f und g ist definiert als:
[f ∗ g] (n) =
∞
X
f (k)g(n − k).
k=−∞
Es gilt folgende Beziehung:
FT([f ∗ g] (n)) = F (u) · G(u)
Eine Faltung im Ortsbereich entspricht also einer Multiplikation im Frequenzbereich. Diese wichtige Eigenschaft gilt auch für mehrdimensionale Funktionen:
FT([f (m, n) ∗ g(m, n)] (n)) = F (u, v) · G(u, v)
(2.8)
Anschaulich bedeutet eine Faltung die Verschiebung einer gespiegelten Filtermaske über das
Bild. Folglich ergibt sich ein Problem, wenn die Faltungsmaske über den Rand des Bildes hinausreicht. Keine gute Lösung ist die zyklische Faltung, bei der das Bild an den Rändern periodisch
wiederholt wird. Streng genommen entspricht nur die zyklische Faltung einer Multiplikation im
Fourierraum. (vgl. Jähne02 [3, S. 110])
Nimmt man an, dass die Faltungsmaske außerhalb eines Kernbereichs gleich null ist und das Bild
einen schwarzen Rand mit dem Radius des Faltungskerns hat, wird das Resultat der Faltung
ebenfalls einen schwarzen Trauerrand haben. (vgl. Tönnies05 [5, S. 84])
Eine dritte Möglichkeit besteht darin, das Bild im Randbereich einfach unverändert zu lassen,
weil die Bildfunktion nicht über den Bildrand hinausgeht und deshalb dort die Faltungsoperation
nicht definiert ist.
Jedoch liefert keine der drei diskutierten Methoden ein optimales Faltungergebnis nahe dem
Bildrand. (vgl. Jähne02 [3, S. 110])
Trotz des Aufwandes für Hin- und Rücktransformation kann die FFT den Faltungsprozess erheblich beschleunigen. Der Aufwand für beide Transformationen und Multiplikation im Frequenzbereich beträgt:
O(2N 2 log N + N 2 ) = O(N 2 log N )
Verglichen mit dem Aufwand der Faltung im Ortsbereich mit einem Faltungskern der Größe
K × K von O(K 2 · N 2 ) bringt die Fouriertransformation in den meisten Fällen (log N < K 2 )
eine Performanzsteigerung mit sich. (vgl. Tönnies05 [5, S. 85])
12
2 Die Fouriertransformation
2.5.2 Korrelation
Eine mit der Faltung verwandte Operation ist die Korrelation, die dazu dient Ähnlichkeiten zwischen Bildern festzustellen. Ihr liegt die Überlegung zugrunde, dass sich Grauwertschwankungen
ähnlicher Bilder, also Abweichungen vom Mittelwert, gleich verhalten.
Die folgenden Definitionen und Formeln sind hauptsächlich dem Buch Tönnies05 [5] entnommen.
Zunächst wird die Kovarianz zwischen zwei Bildern f und g folgendermaßen definiert:
σf,g
N −1 M −1
1 X X
(f (m, n) − f (m, n))(g(m, n) − g(m, n))
=
MN
n=0 m=0
Weicht f vom Mittelwert f an den gleichen Stellen und mit dem selben Vorzeichen wie g vom
Mittelwert g ab, wird die Kovarianz sehr hoch sein. Ist die Kovarianz vom Betrag her niedrig, heben sich die Grauwertschwankungen auf und es besteht folglich wenig Ähnlichkeit. Ein
invertiertes Bild hat mit seinem Original eine hohe negative Kovarianz.
Um festzustellen ob ein bestimmtes Muster g in einem Bild f enthalten ist, wird das Muster g
mit einem Verschiebevektor (m, n) über das Bild verschoben und die Kovarianz für alle Werte
(m, n) berechnet. (vgl. Tönnies05 [5, S. 87])
Die Funktion
[f ◦ g](m, n) =
M
−1 N
−1
X
X
(f (i + m, j + n) − f )(g(i, j) − g)
i=0 j=0
wird Kreuzkorrelation genannt. Trifft man die Übereinkunft, dass der Mittelwert g null ist,
vereinfacht sich die Funktion zu:
[f ◦ g](m, n) =
M
−1 N
−1
X
X
f (i + m, j + n)g(i, j)
i=0 j=0
Das Ergebnis sieht der Faltung bereits sehr ähnlich. Spiegelt man f zusätzlich, ergibt sich mit
f 0 (i, j) := f (−i, −j):
0
[f ◦ g](m, n) =
M
−1 N
−1
X
X
f (−i − m, −j − n)g(i, j) = [f ∗ g](−m, −n)
i=0 j=0
Die Korrelation zwischen f und g entspricht also einer Faltung des Spiegelbildes von f mit der
Funktion g.
Zusammen erhält man mit der Symmetrie- und Faltungseigenschaft aus Abschnitt 2.3.1 der
Fouriertransformation die Formel aus Tönnies05 [5]:
FT([f ◦ g](m, n)) = FT([f (−i, −j) ∗ g(i, j)](−m, −n)) = F (u, v) · G(u, v) = F (u, v) · G(u, v)
Die Korrelation im Ortsraum korrespondiert analog zur Faltung wieder mit einer Multiplikation
im Frequenzraum, wobei die Fouriertransformierte des Musters g komplex konjugiert wird.
13
3 Fazit und Ausblick
Neben der Fouriertransformation existieren noch weitere orthogonale Funktionstransformationen. Die Wavelet-Transformation zerlegt ein Bild in sogenannte Wavelets (engl. “kleine Wellen”),
die zeitlich begrenzt sind. Damit lässt sich im Gegensatz zur Fouriertransformation auch eine
Aussage über das zeitliche Auftreten einzelner Wellen machen.
Die diskrete Kosinustransformation bedient sich Kosinuswellen als Basisfunktionen, deren Frequenzen auch halbzahlige Vielfache der Grundfrequenz (2π/N ) sein können, womit der Frequenzraum im Unterschied zur Fouriertransformation reell ist. Anwendung findet die Waveletund diskrete Kosinustransformation vor allem in der Bildkompression.
Erst seit schnelle Algorithmen wie die FFT existieren, ist die Berechnung der Fouriertransformation überhaupt erst interessant geworden.
14
4 Literaturverzeichnis
[1] Abmayr, Wolfgang: Einführung in die digitale Bildverarbeitung. Teubner, 1994.
[2] Gonzales, Rafael C.: Digital image processing. Addison-Wesley, 1992.
[3] Jähne, Bernd: Digitale Bildverarbeitung. Springer, fünfte Auflage, 2002.
[4] Kurt Meyberg, Peter Vachenauer: Höhere Mathematik 2. Springer, 1999.
[5] Tönnies, Klaus D.: Grundlagen der Bildverarbeitung. Pearson Studium, 2005.
[6] Wikipedia: Diskrete Fourier-Transformation — Wikipedia, Die freie Enzyklopädie, 2006.
[Online; Stand 12. Dezember 2006].
[7] Wikipedia: Fourierreihe — Wikipedia, Die freie Enzyklopädie, 2006. [Online; Stand 30.
Dezember 2006].
15
Herunterladen