66
Computergrafik 2: Fourier-Transformation Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz [email protected] MHCI Lab, LMU München Folien teilweise von Andreas Butz, sowie von Klaus D. Tönnies (Grundlagen der Bildverarbeitung. Pearson Studium, 2005)

Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

  • Upload
    lekiet

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2: Fourier-Transformation

Prof. Dr. Michael Rohs, Dipl.-Inform. Sven Kratz [email protected]

MHCI Lab, LMU München

Folien teilweise von Andreas Butz, sowie von Klaus D. Tönnies (Grundlagen der Bildverarbeitung. Pearson Studium, 2005)

Page 2: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 2 Rohs / Kratz, LMU München

Themen heute

•  Fourier-Transformation –  Grundidee –  Konstruktion der Fourier-Basis –  Phase und Amplitude –  Eigenschaften der FT –  Konvolution und Korrelation im Frequenzraum –  Schnelle Fourier-Transformation (FFT)

Page 3: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 3 Rohs / Kratz, LMU München

Motivation

•  Manche Operationen sind im Ortsraum (d.h. auf den Pixeln des Bildes) schwer

–  Herausfiltern bestimmter Frequenzen –  Beseitigung störender Details –  Konvolution, Korrelation –  Frequenzraum als „Labor“ zur Entwicklung von Filtern

•  Idee: übertrage Bild in einen Raum, in dem diese Operationen leichter sind

–  z.B. Zerlegung des Bildes in Frequenzen –  Rückweg muss möglich sein! –  Verschiedene Möglichkeiten, gleiches Prinzip

Page 4: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 4 Rohs / Kratz, LMU München

Beispiel: Artefakte entfernen

© R. C. Gonzalez & R. E. Woods, Digital Image Processing

Page 5: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 5 Rohs / Kratz, LMU München

Motivation

•  Bisher: Darstellung des Bildes im Ortsraum durch den Grauwert an einem bestimmten Ort

•  Jetzt: Darstellung im Frequenzraum durch cos und sin Funktionen verschiedener Frequenzen

•  Eindeutige und vollständige Darstellung in beiden Räumen

Fourier-Transformation

inverse Fourier-Transformation

Ortsraum Frequenzraum

Page 6: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 6 Rohs / Kratz, LMU München

Fourier

•  Jean Baptiste Joseph Fourier (1768-1830)

•  Französischer Physiker und Mathematiker

•  Erfinder der Fourier-Transformation

Jean Baptiste Joseph Fourier Quelle: www.genealogy.ams.org

Joseph Louis Lagrange

Advisor

Leonhard Euler

Advisor

Johann Bernoulli

Advisor

Page 7: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 7 Rohs / Kratz, LMU München

Fourier-Transformation: Grundidee

Beschreibe beliebige Funktion als gewichtete Summe periodischer Grundfunktionen (Basisfunktionen) mit unterschiedlicher Frequenz

Page 8: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 8 Rohs / Kratz, LMU München

Parameter Periodischer Grundfunktionen

•  A Amplitude: Intensität des Signals •  φ Phase: Verschiebung zum Ursprung

•  Frequenz zeitlich f(t) Frequenz räumlich f(x) T Periodendauer [s] λ Wellenlänge [m] f Frequenz f = 1/T [1/s=Hz] f Raumfrequenz f=1/λ [1/m] ω Kreisfrequenz ω=2πf k Wellenzahl k = 2π/λ

y(x) = Asin(2! f x +" )

φ

T bzw. λ

A

y

x

Page 9: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 9 Rohs / Kratz, LMU München

f (x), x = 0..1

f (x) !cos("2! x)

Originalfunktion

cos(!2! x)sin(!2! x)

f (x) !sin("2! x)

Abtastungsfunktionen

Ergebnis (f*sin und f*cos)

Funktion mit sin und cos multiplizieren

Page 10: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 10 Rohs / Kratz, LMU München

sin(!2! 4x)f (x) "sin(!2! 4x)

Fsin (4) = f (x)sin(...)dx!#

#

$ = 0

sin(!2!5x)f (x) "sin(!2!5x)

Fsin (5) = f (x)sin(...)dx!#

#

$ > 0

sin(!2!2x)f (x) "sin(!2!2x)

Fsin (2) = f (x)sin(...)dx!#

#

$ = 0

sin(!2!3x)f (x) "sin(!2!3x)

Fsin (3) = f (x)sin(...)dx!#

#

$ > 0

sin(!2! x)f (x) "sin(!2! x)

Fsin (1) = f (x)sin(...)dx!#

#

$ > 0

f (x)

Page 11: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 11 Rohs / Kratz, LMU München

cos(!2! 4x)f (x) "cos(!2! 4x)

Fcos (4) = f (x) "cos(...)dx!#

#

$ = 0

f (x)

cos(!2!5x)f (x) "cos(!2!5x)

Fcos (5) = f (x) "cos(...)dx!#

#

$ = 0

cos(!2!2x)f (x) "cos(!2!2x)

Fcos (2) = f (x) "cos(...)dx!#

#

$ = 0

cos(!2!3x)f (x) "cos(!2!3x)

Fcos (3) = f (x) "cos(...)dx!#

#

$ = 0

cos(!2! x)f (x) "cos(!2! x)

Fcos (1) = f (x) "cos(...)dx!#

#

$ = 0

Page 12: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 12 Rohs / Kratz, LMU München

Fouriers Theorem

Jede beliebige periodische Funktion lässt sich darstellen als Summe von sin und cos Funktionen unterschiedlicher Frequenzen.

•  Ist die Funktion nicht periodisch, aber auf einen bestimmten Definitionsbereich beschränkt, so kann man diesen Bereich einfach kopieren (periodisch fortsetzen) und hat damit wieder eine periodische Funktion.

•  Die Zeilen und Spalten eines Bildes kann man als nichtperiodische diskrete Funktionen auffassen. Man kann also auch ein Bild Fourier-transformieren.

Page 13: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 13 Rohs / Kratz, LMU München

kontinuierliche Fourier-Transformation

•  Transformation vom Ortsraum in den Frequenzraum

•  Transformation vom Frequenzraum in den Ortsraum

F(u) = f (x)e!2!ixu dx!"

"

#

f (x) = F(u)e2!ixu du!"

"

#

Re

Im

cos φ sin φ φ

z = a+bi = reiφ

1 -1

-1

1

a

b r

Page 14: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 14 Rohs / Kratz, LMU München

Ist ein Bild eine periodische Funktion?

Page 15: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 15 Rohs / Kratz, LMU München

Ist ein Bild eine periodische Funktion?

•  Zunächst: Betrachtung der periodischen Fortführung einer Zeile

λ (N Pixel) λ (N Pixel) λ (N Pixel) λ (N Pixel) λ (N Pixel)

Page 16: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 16 Rohs / Kratz, LMU München

f (x), x = 0..1

real( f (x) !e"i2! x )

Originalfunktion

real(e!i2! x ) = cos(!2! x)imag(e!i2! x ) = sin(!2! x)

imag( f (x) !e"i2! x )

Gewichtungsfunktionen

Ergebnis (f*sin und f*cos)

Beispiel: F(1) = ...

F(1) = f (x) !e"i2! x dx"#

#

$ , F(1) > 0

Page 17: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 17 Rohs / Kratz, LMU München

f (x), x = 0..1

real( f (x) !e"i2! 2 x )

Originalfunktion

real(e!i2! 2 x ) = cos(!2!2x)imag(e!i2! 2 x ) = sin(!2!2x)

imag( f (x) !e"i2! 2 x )

Gewichtungsfunktionen

Ergebnis (f*sin und f*cos)

Beispiel: F(2) = ...

F(2) = f (x) !e"i2! 2 x dx"#

#

$ , F(2) = 0

Page 18: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 18 Rohs / Kratz, LMU München

e!i2! 4x

f (x) "e!i2! 4x

F(4) = f (x)e!i2! 4x dx!#

#

$ = 0

f (x)

e!i2! 5x

f (x) "e!i2! 5x

F(5) = f (x) "e!i2! 5x dx!#

#

$ > 0

e!i2! 2 x

f (x) "e!i2! 2 x

F(2) = f (x) "e!i2! 2 x dx!#

#

$ = 0

e!i2! 3x

f (x) "e!i2! 3x

F(3) = f (x) "e!i2! 3x dx!#

#

$ > 0

e!i2! x

f (x)e!i2! x

F(1) = f (x) "e!i2! x dx!#

#

$ > 0

Page 19: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 19 Rohs / Kratz, LMU München

Fourier-Transformation: Eigenschaften

•  Transformation: verändert eine Funktion nicht, sondern stellt sie nur anders dar

•  Transformation ist umkehrbar à inverse Fourier-Transformation

•  Analog zum Basiswechsel in der Vektorrechnung

Page 20: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 20 Rohs / Kratz, LMU München

Exkurs: Vektorrechnung

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

100

,010

,001

bilden eine Basis b1 des R3 sind paarweise orthogonal haben Länge 1

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟⎟

⎜⎜⎜⎜

−⎟⎟⎟⎟

⎜⎜⎜⎜

100

,02/12/1

,02/12/1

bilden ebenfalls eine Basis b2 des R3 sind ebenfalls paarweise orthogonal Haben ebenfalls Länge 1

⎟⎟⎟⎟

⎜⎜⎜⎜

10002/12/102/12/1 Ist orthogonal und normiert

(d.h. MT = M-1) Ist Basiswechselmatrix von b1 nach b2

Page 21: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 21 Rohs / Kratz, LMU München

Basiswechsel

•  Sei V ein n-dimensionaler Vektorraum über Körper K mit Basen B={b1, ..., bn} und B‘={b‘1, ..., b‘n}

•  Darstellung der Vektoren von B in B‘:

•  Darstellung des Vektors v in B:

•  Darstellung des Vektors v in B‘:

bj = aijbi 'i=1

n

!

v = xibii=1

n

!

v = xi 'bi 'i=1

n

!

v = x jbjj=1

n

! = x j aijbi 'i=1

n

!j=1

n

! = x jaijij=1

n

!"

#$$

%

&''bi '

i=1

n

! = cibi 'i=1

n

! = xi 'bi 'i=1

n

!

Page 22: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 22 Rohs / Kratz, LMU München

Basiswechsel

•  Also: mit

•  in Matrix-Notation:

xi ' = x jaijij=1

n

!

x1 '!xn '

!

"

####

$

%

&&&&=

a11 " a1n! # !an1 " ann

!

"

####

$

%

&&&&

x1!xn

!

"

####

$

%

&&&&

v = x jbjj=1

n

! = x j aijbi 'i=1

n

!j=1

n

! = x jaijij=1

n

!"

#$$

%

&''bi '

i=1

n

! = cibi 'i=1

n

! = xi 'bi 'i=1

n

!

bj = aijbi 'i=1

n

!

Page 23: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 23 Rohs / Kratz, LMU München

Anschaulich: Basisvektoren eines Bildes

•  Wahl anderer Basisvektoren è Transformation mittels Basiswechsel

•  Basiswechselmatrix vom Rang der Pixelanzahl

1 0 0 0 = 1 * 1 0 1 0

0 1 0 0 + 0 *

0 0 1 0 + 1 *

0 0 0 1 + 0 *

bilden eine Basis des R4 sind paarweise orthogonal haben Länge 1

Page 24: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 24 Rohs / Kratz, LMU München

Orthogonale Funktionen

•  Seien f1 und f2 Funktionen, die an N Stellen abgetastet sind (also N-dim. Vektoren)

•  f1 und f2 sind orthogonal, falls gilt:

•  D.h. das Skalarprodukt der zugehörigen Vektoren ist 0

•  N paarweise orthogonale Funktionen f1 … fN bilden damit eine orthogonale Basis des N-dim. Raums

•  Transformationen zwischen orthogonalen Basen sind immer umkehrbar

0)()(* 1

0 2121 ==∑−

=

N

kkfkfff

Page 25: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 25 Rohs / Kratz, LMU München

Orthogonale Funktionen

Page 26: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 26 Rohs / Kratz, LMU München

Orthogonale Funktionstransformationen

•  Betrachte abgetastete Funktionen wie Vektoren •  Finde neue geeignete orthogonalen Basis

•  Üblicherweise Basisfunktionen, die Bedeutung bzgl. der betrachteten Eigenschaft haben

–  Fourier-Basis: komplexe, periodische Funktionen – Kosinusbasis: Kosinusfunktionen

•  Transformiere Bild in diese Basis

•  Bearbeite es dort

•  Transformiere zurück

xAy =

yAx 1−=

Page 27: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 27 Rohs / Kratz, LMU München

Fourierbasis (1. Versuch, nur cos)

•  Ausgangspunkt: Bildzeile mit N Pixeln

•  1. Versuch: wähle N Kosinusfunktionen

•  Beispiel nächste Folie: N = 5 –  Problem: abgetastete Funktionswerte gleich für i=1 und i=4

sowie i = 2 und i = 3 –  also keine Basis der Dimension N = 5 –  Vektoren spannen nur 3-dim. Untervektorraum auf

cos 0 ! 2!N

"

#$

%

&', cos 1!

2!N

"

#$

%

&', cos 2 !

2!N

"

#$

%

&', ..., cos (N (1) ! 2!

N"

#$

%

&'

Page 28: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 28 Rohs / Kratz, LMU München

1.0 1.0 1.0 1.0 1.0

1.0 0.3 -0.8 -0.8 0.3

1.0 -0.8 0.3 0.3 -0.8

1.0 -0.8 0.3 0.3 -0.8

1.0 0.3 -0.8 -0.8 0.3

1.0 1.0 1.0 1.0 1.0

1.0 0.3 -0.8 -0.8 0.3

1.0 -0.8 0.3 0.3 -0.8

0*2π/5

1*2π/5

2*2π/5

3*2π/5

4*2π/5

5*2π/5

6*2π/5

7*2π/5

Page 29: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 29 Rohs / Kratz, LMU München

Fourierbasis (1. Versuch, nur cos)

•  N=5, ui = 1, uj = 4 = N – uj •  Problem: falls ui = N – uj ist, sind die Abtastungen gleich •  è nur N/2 Funktionen verfügbar, keine Basis •  Siehe auch Shannon-Nyquist Theorem, Aliasing

Page 30: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 30 Rohs / Kratz, LMU München

Fourierbasis (1. Versuch, nur cos)

N = 4

Page 31: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 31 Rohs / Kratz, LMU München

1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0

1.0 0.3 -0.8 -0.8 0.3 0.0 1.0 0.6 -0.6 -1.0

1.0 -0.8 0.3 0.3 -0.8 0.0 0.6 -1.0 1.0 -0.6

1.0 -0.8 0.3 0.3 -0.8 0.0 -0.6 1.0 -1.0 0.6

1.0 0.3 -0.8 -0.8 0.3 0.0 -1.0 -0.6 0.6 1.0

1.0 1.0 1.0 1.0 1.0 0.0 0.0 0.0 0.0 0.0

1.0 0.3 -0.8 -0.8 0.3 0.0 1.0 0.6 -0.6 -1.0

1.0 -0.8 0.3 0.3 -0.8 0.0 0.6 -1.0 1.0 -0.6

0*2π/5

1*2π/5

2*2π/5

3*2π/5

4*2π/5

5*2π/5

6*2π/5

7*2π/5

cos: sin:

cos: sin:

cos: sin:

cos: sin:

cos: sin:

cos: sin:

cos: sin:

cos: sin:

Page 32: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 32 Rohs / Kratz, LMU München

Basisfunktionspaare (cos, sin)

N = 4

Page 33: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 33 Rohs / Kratz, LMU München

Erinnerung: komplexe Zahlen

•  Im Bereich der reellen Zahlen gibt es keine Lösung für x² = -1

–  Einführung der imaginären Zahlen –  i: Lösung der Gleichung x² = -1

•  Die Gruppe der reellen und imaginären Zahlen nennt man komplexe Zahlen

•  Komplexe Zahl z: z = a + i b, wobei a und b reell sind

Page 34: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 34 Rohs / Kratz, LMU München

Erinnerung: komplexe Zahlen

Imaginäre Achse

Reelle Achse

Imaginärteil i*b

Realteil a z

r

))sin()(cos( θθθ ⋅+=⋅=+= ireribaz i

θ

Page 35: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 35 Rohs / Kratz, LMU München

Komplexe periodische Funktionen

Page 36: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 36 Rohs / Kratz, LMU München

Komplexes Skalarprodukt

•  Skalarprodukt zweier Vektoren mit komplexen Elementen

•  Zu x = a + ib komplex- konjugierte Zahl ist x* = a - ib

!x •!b = xi ! yi

* =i=0

N"1

# Re(xi )+ i Im(xi )( ) Re(yi )" i Im(yi )( )i=0

N"1

#

Page 37: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 37 Rohs / Kratz, LMU München

Fourierbasis (2. Versuch, komplexe Fn.)

•  2. Versuch: wähle komplexe Funktionen

•  Wobei u ein ganzzahliges Vielfaches von u0 = 2π/N

•  à N verschiedene Funktionen

•  Ist eine Basis

)sin()cos( uniunf +=

Page 38: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 38 Rohs / Kratz, LMU München

Repräsentation als Exponentialfunktion

αααα iixxi eeexix ==+++ + )()sin()cos(

Page 39: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 39 Rohs / Kratz, LMU München

1D-Basisfunktionen

1 0 1 0

b0 (n) = [(1, 0), (1, 0),..., (1, 0)]

Page 40: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 40 Rohs / Kratz, LMU München

2D-Basisfunktionen

f (u,v) = u2 + v2Frequenz:

Richtungsvektor: r(u,v) = 1f (u,v)

uv

!

"#

$

%&

Page 41: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 41 Rohs / Kratz, LMU München

2D-Fourier-Transformationspaar

•  Transformationspaar für Bilder der Größe M×N •  Transformation vom Ortsraum in den Frequenzraum

•  Transformation vom Frequenzraum in den Ortsraum

F(u,v) = f (m,n) !exp "i2! umM

+vnN

#

$%

&

'(

#

$%

&

'(n=0

N"1)m=0

M"1)

f (m,n) = 1MN

F(u,v) !exp i2! umM

+vnN

"

#$

%

&'

"

#$

%

&'n=0

N(1)m=0

M(1)

Page 42: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 42 Rohs / Kratz, LMU München

2D-Fourier-Transformationspaar

•  Transformationspaar für Bilder der Größe N×N •  Transformation vom Ortsraum in den Frequenzraum

•  Transformation vom Frequenzraum in den Ortsraum

F(u,v) = 1N

f (m,n) !exp "i 2!N

um+ vn( )#

$%

&

'(

n=0

N"1)m=0

N"1)

f (m,n) = 1N

F(u,v) !exp i 2!N

um+ vn( )"

#$

%

&'

n=0

N(1)m=0

N(1)

Page 43: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 43 Rohs / Kratz, LMU München

Phase und Amplitude

•  Funktionswerte von F(u,v) = a+ib sind komplexe Zahlen –  Betrag eines Funktionswerts: Amplitude = |F(u,v)| = sqrt(a2+b2) –  Winkel zur reellen Achse: Phase = tan-1(b/a) –  Amplitude und Phase sind Parameter der jeweiligen Basisfunktion

Page 44: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 44 Rohs / Kratz, LMU München

Zweidimensionale Fouriertransformation

Page 45: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 45 Rohs / Kratz, LMU München

Beispiele für Amplitude

FT

FT

Page 46: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 46 Rohs / Kratz, LMU München

Darstellungsweise

Original Amplitude (zentriert, d.h. von –N/2 bis N/2)

Amplitude (log. Skala)

Amplitude (zentriert, log. Skala)

Page 47: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 47 Rohs / Kratz, LMU München

Beispiele

Amplitude

Phase

Page 48: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 48 Rohs / Kratz, LMU München

Einfluss von Amplitude und Phase

Page 49: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 49 Rohs / Kratz, LMU München

Translation

Page 50: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 50 Rohs / Kratz, LMU München

Page 51: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 51 Rohs / Kratz, LMU München

Phasenverschiebung

Page 52: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 52 Rohs / Kratz, LMU München

Page 53: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 53 Rohs / Kratz, LMU München

Periodizität und Symmetrie

x

F(u) = f (n) !exp "i2! unN

#

$%

&

'(

n=0

N"1)

Page 54: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 54 Rohs / Kratz, LMU München

Separabilität

Page 55: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 55 Rohs / Kratz, LMU München

Konvolution und Korrelation

•  Konvolution und Korrelation sind zwei eng verwandte Filter-Operationen.

•  Beide können im Ortsraum und im Frequenzraum ausgeführt werden.

•  Die Operation im Frequenzraum ist eine einfache Multiplikation (Aufwand N2).

•  Achtung: Padding wegen Periodizität! P = A + B - 1

Page 56: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 56 Rohs / Kratz, LMU München

Konvolution im Frequenzraum

Page 57: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 57 Rohs / Kratz, LMU München

Konvolution im Frequenzraum

•  1D-Konvolution

•  2D-Konvolution

f (x)!h(x) = f (n) "h(x # n)n=0

N#1$

% F(u) "H (u)

f (x, y)!h(x, y) = f (m,n)n=0

N"1# $h(x "m, y" n)

m=0

M"1#

% F(u,v) $H (u,v)

Page 58: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 58 Rohs / Kratz, LMU München

© R. C. Gonzalez & R. E. Woods, Digital Image Processing

Wraparound Error •  Padding:

P ≥ A + B - 1

Page 59: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 59 Rohs / Kratz, LMU München

Padding

© R. C. Gonzalez & R. E. Woods, Digital Image Processing

Page 60: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 60 Rohs / Kratz, LMU München

FAST FOURIER TRANSFORM (FFT)

Page 61: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 61 Rohs / Kratz, LMU München

Vorgehensweise generell

•  Vereinfachende Annahme: N=2k, k>1 •  Nutze Separabilität, um 2D-FT auf 1D zurückzuführen

(O(N4) à O(N3)) •  Teile Summe in zwei Teilsummen auf

•  Finde Gemeinsamkeiten in den Teilsummen und berechne beide Teilsummen miteinander

•  Betrachte die Teilsumme und unterteile rekursiv bis N=1 (O(N3) à O(N2 log N)

Page 62: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 62 Rohs / Kratz, LMU München

Separabilität

∑ ∑

∑ ∑

∑ ∑

∑ ∑

=

=

=

=

=

=

=

=

=

⎥⎦

⎤⎢⎣

⎡−=

=⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡−⎥⎦

⎤⎢⎣

⎡−=

=⎥⎦

⎤⎢⎣

⎡−⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡−=

=⎥⎦

⎤⎢⎣

⎡−⎥⎦

⎤⎢⎣

⎡−=

=⎥⎦

⎤⎢⎣

⎡ +−=

1

0

1

0

1

0

1

0

1

0

1

0

1

02

1

0

1

02

)(2exp1

2exp),(12exp1

2exp2exp),(11

2exp2exp),(1

)(2exp),(1),(

N

m u

N

m

N

n

N

m

N

n

N

m

N

n

N

m

N

n

mFumNi

N

vnNinmf

Num

Ni

N

umNivn

Ninmf

NN

vnNium

Ninmf

N

vnumNinmf

NvuF

π

ππ

ππ

ππ

π

•  Vorgehensweise: Fu(m) für alle Spalten m berechnen und dann bei den Zeilen verwenden.

Page 63: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 63 Rohs / Kratz, LMU München

Divide Schritt

⎟⎠

⎞⎜⎝

⎛ ++=

===

⎟⎠

⎞⎜⎝

⎛−==

∑∑

∑∑−

=

+−

=

=

=

1

0)12(

21

02

2

12

0 21

0

))(12(1))(2(121

))((21))((1)(

2exp,2

K

nun

KK

nnu

K

K

nun

KN

nun

N

N

WnfK

WnfK

WnfK

WnfN

uF

NiWKN π

( )uKoddeven

K

nnu

KoddK

nnu

Keven

WuFuFuF

WnfK

uFWnfK

uF

))(()(21)(

))(12(1)(,))(2(1)(

2

1

02

21

02

2

+=

+== ∑∑−

=

=

•  Finde Gemeinsamkeiten in den Teilsummen

•  Teile Summe in zwei Teilsummen auf

Page 64: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 64 Rohs / Kratz, LMU München

Ausnutzen der Periodizität

WK( )u+N = WK( )u , W2K( )u+K = ! W2K( )u

F u+K( ) = 12Feven u+K( )+Fodd u+K( ) W2K( )u+K( ) =

=12Feven u( )!Fodd u( ) W2K( )u( )

•  Also kann man F(u+K) mithilfe F(u) berechnen (einmal Feven + Fodd, einmal Feven – Fodd)

•  Betrachte die Teilsumme [0…K-1] und unterteile rekursiv bis K=1 (O(n3) à O(n2 log n)

N = 2K,WN = exp !i 2!N

"

#$

%

&'

Page 65: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 65 Rohs / Kratz, LMU München

Fourier Transformation zum Anschauen

•  http://www.cs.brown.edu/exploratories/

Page 66: Computergrafik 2: Fourier-Transformation · Rohs / Kratz, LMU München Computergrafik 2 – SS2011 2 Themen heute • Fourier-Transformation – Grundidee – Konstruktion der Fourier-Basis

Computergrafik 2 – SS2011 66 Rohs / Kratz, LMU München

Überlagerung von Schwingungen: anschaulich

http://www.jhu.edu/~signals/index.html