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

22
September 30, 2014 Computer Vision Lecture 7: The Fourier 1 The Fourier Transform Last 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.

Upload: moriah-rings

Post on 02-Apr-2015

216 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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.

Page 2: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

2

The Fourier Transform

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

Page 3: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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.

Page 4: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

Page 5: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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.

Page 6: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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).

Page 7: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

Page 8: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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:

Page 9: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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)

Page 10: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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.

Page 11: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

11

Page 12: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

Page 13: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

13

Fourier Transform: Rectangle

Page 14: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

14

Fourier Transform: Spatial Shifting

Page 15: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

15

Fourier Transform: Rotation

Page 16: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

16

Fourier Transform: Multiplicity

Page 17: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

17

Fourier Transform: Real-World Images

Page 18: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

18

Fourier Transform: Real-World Images

Page 19: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

19

Fourier Transform: Real-World Images

Page 20: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

20

Fourier Transform: Low-Pass Filtering

Page 21: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

21

Fourier Transform: High-Pass Filtering

Page 22: September 30, 2014Computer Vision Lecture 7: The Fourier Transform 1 The Fourier Transform Last week we talked about convolution as a technique for a variety

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

22

Fourier Transform: Noise Removal