september 30, 2014computer vision lecture 7: the fourier transform 1 the fourier transform last week...

Post on 02-Apr-2015

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

1

The Fourier TransformLast week we talked about convolution as a technique for a variety of image processing applications (and we will see many more).

Convolution works in the spatial domain, i.e., it uses spatial filters that are shifted across an input image.

Sometimes it is useful to perform filtering in the frequency domain instead.

To understand what this means and to perform such filtering, we need to take a look at the Fourier transform.

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

2

The Fourier Transform

Jean Baptiste Joseph Fourier (and his Fourier-transformed image)

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

3

The Fourier Transform

The Fourier transform receives a function as its input and outputs another function.The Fourier transform assumes that the input function is periodic, i.e., repetitive, and defined for all real numbers.It transforms this function into a weighted sum of sinusoidal terms.Let us first look at one-dimensional functions.Later, we will move on to two-dimensional functions such as images.

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

4

=

3 sin(x) A

+ 1 sin(3x) B A+B

+ 0.8 sin(5x) CA+B+C

+ 0.4 sin(7x) DA+B+C+D

sin(x) A

Adding Sine Waves

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

5

The Fourier Transform

By adding a number of sine waves of different frequencies and amplitudes, we can approximate any given periodic function.However, if we limit ourselves to only sine waves with no offset, i.e., difference in phase at x = 0, we cannot perfectly reconstruct every function. For instance, the output of our function at x = 0 must always be 0.We could add a phase to each sine wave, but as Monsieur Fourier found out, it is sufficient to use both sine and cosine waves (which describe the same wave, but with a 90 phase difference) and keep all phases at 0.

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

6

The Fourier TransformSo for any given function f, we could define a function Fs that assigns to any frequency an amplitude (i.e., weight) that the sine wave of that frequency will receive in our sum of sine waves.

Similarly, we could define a function Fc that does the same for the cosine waves. In other words, these functions describe the contribution of different frequencies to the overall signal, our function f.While f describes our function in the spatial domain (i.e., what value does it have in what position x), Fs and Fc describe the same function in the frequency domain (i.e., the extent to which different frequencies are included in the function).

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

7

Refresher: Complex NumbersAs you certainly remember, complex numbers consist of a real and an imaginary part, which we will use to represent the contribution of cosine and sine waves, respectively, to a given function. For example, 5 + 3i means Re = 5 and Im = 3.Importantly, the exponentialfunction represents a rotation in the 2D spacespanned by the real andimaginary axes:

ei = cos + isin

cos

1

0

Im

Re0

sin

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

8

The Two-Dimensional Fourier Transform

)(2e ),(f),F( dxdyyxvu vyuxi

)(2e ),F(),( dudvvuyxf vyuxi

amplitude basis functionsand phase of required basis functions

Two-Dimensional Fourier Transform:

Note: F(u,v) is complex, while f(x, y) is real.

Two-Dimensional Inverse Fourier Transform:

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

9

2D Discrete Fourier Transform

1

0

1

0

)(2),(

11),( N

x

M

y

M

vy

N

uxi

eyxfMN

vuF

(u = 0,..., N-1; v = 0,…,M-1)

1

0

1

0

)(2),(),( N

u

M

v

M

vy

N

uxi

evuFyxf

(x = 0,..., N-1; y = 0,…,M-1)

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

10

2D Discrete Fourier TransformWhat do these equations mean?Well, if you look at the inverse transform, you see that each F(u, v) is multiplied by an exponential term for each pixel, and in sum they give us the original image.In other words, each exponential function represents one particular wave, and the sum of these waves, weighted by F, is our original image f.In the exponential term, you see an expression such as (ux + vy). This means that the variables u and v determine the “speed” with which the term increases when x and y, respectively, grow.Since this term determines the current angle of a wave, u and v determine the frequency of the waves in horizontal and vertical direction, respectively.

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

11

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

12

Magnitude And Phase SpectraRemember that we have both Fs and Fc to describe the sine and cosine contributions, respectively, to the spatial function.They can be used to compute the magnitude m:

… and the phase :

22cs FFm

c

s

F

Farctan

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

13

Fourier Transform: Rectangle

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

14

Fourier Transform: Spatial Shifting

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

15

Fourier Transform: Rotation

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

16

Fourier Transform: Multiplicity

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

17

Fourier Transform: Real-World Images

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

18

Fourier Transform: Real-World Images

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

19

Fourier Transform: Real-World Images

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

20

Fourier Transform: Low-Pass Filtering

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

21

Fourier Transform: High-Pass Filtering

September 30, 2014 Computer Vision Lecture 7: The Fourier Transform

22

Fourier Transform: Noise Removal

top related