computer vision and applications prof. trevor....

107
1 6.891 Computer Vision and Applications Prof. Trevor. Darrell Lecture 2: Linear Filters and Convolution (review) Fourier Transform (review) Sampling and Aliasing (review) Readings: F&P Chapter 7.1-7.6

Upload: others

Post on 26-Apr-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

1

6.891Computer Vision and Applications

Prof. Trevor. Darrell

Lecture 2:– Linear Filters and Convolution (review)– Fourier Transform (review)– Sampling and Aliasing (review)

Readings: F&P Chapter 7.1-7.6

Page 2: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

2

Recap: Cameras, lenses, and calibration

Last time:• Camera models• Projection equations• Calibration methods

Images are projections of the 3-D world onto a 2-D plane…

Page 3: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

3

Recap: pinhole/perspectivePinole camera model -

box with a small hole in it:

Perspective projection:

Forsyth&Ponce

���

����

zyfyzxfx

''

''

Page 4: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

4

Recap: Intrinsic parameters

0

0

)sin(

)cot(

vzyv

uzy

zxu

��

���

��

���

�����

�����

����

����

� ��

����

�����

1000

100)sin(0)cot(

11

0

0

zyx

v

u

zvu

��

���Using homogenous coordinates,we can write this as:

or:

� � PKzp ��

� 0 1 �

Page 5: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

5

Recap: Combining extrinsic and intrinsic calibration parameters

Forsyth&Ponce

WCWC

WC OPRP ��

� � PORKzp WCC

W

� 1 �

� � PKzp ��

� 0 1 �

PΜzp �

� 1 �

Intrinsic

Extrinsic

Page 6: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

6

Other ways to write the same equation

�����

�����

���

����

��

����

�����

1.........

1

1 3

2

1

z

y

x

T

T

T

WWW

mmm

zvu

PMzp �

� 1�

PmPmv

PmPmu

��

��

3

2

3

1

pixel coordinatesworld coordinates

z is in the camera coordinate system, but we can solve for that, since , leading to:

zPm�

�� 31

Page 7: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

7

Recap:Camera calibration

0)(0)(

32

31

���

���

ii

ii

PmvmPmum�

Stack all these measurements of i=1…n points

into a big matrix:

������

������

�����

�����

������

������

����

00

00

00

00

3

2

1111

111

����

mmm

PvPPuP

PvPPuP

Tnn

Tn

T

Tnn

TTn

TTT

TTT

PmPmv

PmPmu

��

��

3

2

3

1

Page 8: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

8

TodayReview of early visual processing

– Linear Filters and Convolution– Fourier Transform– Sampling and Aliasing

You should have been exposed to this material in previous courses; this lecture is just a (quick) review.

Administrivia: – sign-up sheet– introductions

Page 9: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

9

What is image filtering?• Modify the pixels in an image based on

some function of a local neighborhood of the pixels.

5 141 71

5 310

Local image data

7

Modified image data

Some function

Page 10: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

10

Linear functions• Simplest: linear filtering.– Replace each pixel by a linear combination of its neighbors.

• The prescription for the linear combination is called the “convolution kernel”.

5 141 71

5 310

0.50.5 0010

0 00

Local image data kernel

7

Modified image data

Page 11: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

11

Convolution

� �����lk

lkglnkmIgInmf,

],[],[],[

Page 12: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

12

Linear filtering (warm-up slide)

original0Pixel offset

coeffic

ient

1.0 ?

Page 13: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

13

Linear filtering (warm-up slide)

original0Pixel offset

coeffic

ient

1.0

Filtered(no change)

Page 14: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

14

Linear filtering

0Pixel offset

coeffic

ient

original

1.0

?

Page 15: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

15

shift

0Pixel offset

coeffic

ient

original

1.0

shifted

Page 16: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

16

Linear filtering

0Pixel offset

coeffic

ient

original

0.3 ?

Page 17: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

17

Blurring

0Pixel offset

coeffic

ient

original

0.3

Blurred (filterapplied in both dimensions).

Page 18: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

18

Blur examples

0Pixel offsetcoeffic

ient

0.3

original

8

filtered

2.4impulse

Page 19: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

19

Blur examples

0Pixel offset

coeffic

ient

0.3

original

8

filtered

48

4

impulse

edge

0Pixel offsetcoeffic

ient

0.3

original

8

filtered

2.4

Page 20: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

20

Smoothing reduces noise• Generally expect pixels to “be like” their neighbours– surfaces turn slowly– relatively few reflectance

changes• Generally expect noise processes to be independent from pixel to pixel

• Implies that smoothing suppresses noise, for appropriate noise models

• Scale– the parameter in the

symmetric Gaussian– as this parameter goes up,

more pixels are involved in the average

– and the image gets more blurred

– and noise is more effectively suppressed

Page 21: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

21

The effects of smoothingEach row shows smoothingwith gaussians of differentwidth; each column showsdifferent realisations of an image of gaussian noise.

Page 22: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

22

Linear filtering (warm-up slide)

original0

2.0

?0

1.0

Page 23: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

23

Linear filtering (no change)

original0

2.0

0

1.0

Filtered(no change)

Page 24: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

24

Linear filtering

original0

2.0

0

0.33 ?

Page 25: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

25

(remember blurring)

0Pixel offset

coeffic

ient

original

0.3

Blurred (filterapplied in both dimensions).

Page 26: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

26

Linear filtering

original0

2.0

0

0.33 ?

Page 27: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

27

Sharpening

original0

2.0

0

0.33

Sharpened original

Page 28: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

28

Sharpening example

coeffic

ient

-0.3original

8

Sharpened(differences are

accentuated; constantareas are left untouched).

11.21.7

-0.25

8

Page 29: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

29

Sharpening

before after

Page 30: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

30

Gradients and edges• Points of sharp change in an image are interesting:– change in reflectance– change in object– change in illumination– noise

• Sometimes called edge points

• General strategy– linear filters to estimate image gradient

– mark points where gradient magnitude is particularly large wrt neighbours (ideally, curves of such points).

Page 31: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

31

Smoothing and Differentiation• Issue: noise

– smooth before differentiation– two convolutions to smooth, then differentiate?– actually, no - we can use a derivative of Gaussian filter

• because differentiation is convolution, and convolution is associative

Page 32: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

32

The scale of the smoothing filter affects derivative estimates, and alsothe semantics of the edges recovered.

1 pixel 3 pixels 7 pixels

Page 33: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

33

Oriented filtersGabor filters (Gaussian modulated harmonics) at differentscales and spatial frequencies

Top row shows anti-symmetric (or odd) filters, bottom row thesymmetric (or even) filters.

Page 34: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

34

Linear image transformations• In analyzing images, it’s often useful to

make a change of basis.

Fourier transform, orWavelet transform, orSteerable pyramid transform

fUF ��

� Vectorized imagetransformed image

Page 35: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

35

Self-inverting transforms

FUFUf�

��

1

Same basis functions are used for the inverse transform

U transpose and complex conjugate

Page 36: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

36

An example of such a transform: the Fourier transform

discrete domain

����

�����

� �

1

0

1

0

ln

],[1],[M

k

N

l

NMkmienmFMNlkf �

Inverse transform

����

�����

� ��

1

0

1

0

ln

],[],[M

k

N

l

NMkmielkfnmF �

Forward transform

Page 37: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

37

To get some sense of what basis elements look like, we plot a basis element --- or rather, its real part ---as a function of x,y for some fixed u, v. We get a function that is constant when (ux+vy) is constant. The magnitude of the vector (u, v) gives a frequency, and its direction gives an orientation. The function is a sinusoid with this frequency along the direction, and constant perpendicular to the direction.

Page 38: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

38

Here u and v are larger than in the previous slide.

Page 39: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

39

And larger still...

Page 40: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

40

Phase and Magnitude• Fourier transform of a real function is complex– difficult to plot, visualize– instead, we can think of the

phase and magnitude of the transform

• Phase is the phase of the complex transform

• Magnitude is the magnitude of the complex transform

• Curious fact– all natural images have

about the same magnitude transform

– hence, phase seems to matter, but magnitude largely doesn’t

• Demonstration– Take two pictures, swap the

phase transforms, compute the inverse - what does the result look like?

Page 41: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

41

Page 42: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

42

This is the magnitude transform of the cheetah pic

Page 43: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

43

This is the phase transform of the cheetah pic

Page 44: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

44

Page 45: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

45

This is the magnitude transform of the zebrapic

Page 46: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

46

This is the phase transform of the zebrapic

Page 47: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

47

Reconstruction with zebra phase, cheetah magnitude

Page 48: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

48

Reconstruction with cheetah phase, zebra magnitude

Page 49: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

49

Example image synthesis with fourier basis.

• 16 images

Page 50: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

50

2

Page 51: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

51

6

Page 52: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

52

18

Page 53: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

53

50

Page 54: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

54

82

Page 55: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

55

136

Page 56: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

56

282

Page 57: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

57

538

Page 58: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

58

1088

Page 59: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

59

2094

Page 60: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

60

4052.4052

Page 61: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

61

8056.

Page 62: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

62

15366

Page 63: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

63

28743

Page 64: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

64

49190.

Page 65: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

65

65536.

Page 66: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

66

Fourier transform magnitude

Page 67: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

67

Masking out the fundamental and harmonics from periodic pillars

Page 68: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

68

Name as many functions as you can that retain that same

functional form in the transform domain

Page 69: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

69Forsyth&Ponce

Page 70: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

70

Oppenheim, Schafer and Buck,Discrete-time signal processing,Prentice Hall, 1999

Discrete-time, continuous frequency Fourier transform

Page 71: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

71

Discrete-time, continuous frequency Fourier transform pairs

Oppenheim, Schafer and Buck,Discrete-time signal processing,Prentice Hall, 1999

Page 72: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

73Bracewell, The Fourier Transform and its Applications, McGraw Hill 1978

Bracewell’s pictorial dictionary of Fourier transform pairs

Page 73: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

74Bracewell, The Fourier Transform and its Applications, McGraw Hill 1978

Bracewell’s pictorial dictionary of Fourier transform pairs

Page 74: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

75Bracewell, The Fourier Transform and its Applications, McGraw Hill 1978

Bracewell’s pictorial dictionary of Fourier transform pairs

Page 75: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

76Bracewell, The Fourier Transform and its Applications, McGraw Hill 1978

Bracewell’s pictorial dictionary of Fourier transform pairs

Page 76: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

77

Why is the Fourier domain particularly useful?

• It tells us the effect of linear convolutions.

Page 77: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

78

hgf ��

Fourier transform of convolutionConsider a (circular) convolution of g and h

Page 78: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

79

hgf ��

� �hgDFTnmF ��],[

Fourier transform of convolution

Take DFT of both sides

Page 79: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

80

hgf ��� �hgDFTnmF ��],[

Fourier transform of convolution

Write the DFT and convolution explicitly

� � ����

�����

� ����

1

0

1

0 ,],[],[,

M

u

N

v

Nvn

Mumi

lkelkhlvkugnmF �

Page 80: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

81

hgf ��� �hgDFTnmF ��],[

Fourier transform of convolution

Move the exponent in

� � ����

�����

� ����

1

0

1

0 ,],[],[,

M

u

N

v

Nvn

Mumi

lkelkhlvkugnmF �

����

�����

� ����

1

0

1

0 ,],[],[

M

u

N

v lk

Nvn

Mumi lkhelvkug �

Page 81: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

82

hgf ��� �hgDFTnmF ��],[

Fourier transform of convolution

Change variables in the sum

� � ����

�����

� ����

1

0

1

0 ,],[],[,

M

u

N

v

Nvn

Mumi

lkelkhlvkugnmF �

����

�����

� ����

1

0

1

0 ,],[],[

M

u

N

v lk

Nvn

Mumi lkhelvkug �

� � � �� � ���

��

��

��

�����

� ��

1 1

,],[],[

kM

k

lN

l lk

Nnl

Mmki lkheg

� �

�����

Page 82: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

83

hgf ��� �hgDFTnmF ��],[

Fourier transform of convolution

Perform the DFT (circular boundary conditions)

� � ����

�����

� ����

1

0

1

0 ,],[],[,

M

u

N

v

Nvn

Mumi

lkelkhlvkugnmF �

����

�����

� ����

1

0

1

0 ,],[],[

M

u

N

v lk

Nvn

Mumi lkhelvkug �

� � � �� � ���

��

��

��

�����

� ��

1 1

,],[],[

kM

k

lN

l lk

Nnl

Mmki lkheg

� �

�����

� �� �����

� ���

lk

NMkmi

lkhenmG,

ln],[, �

Page 83: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

84

hgf ��� �hgDFTnmF ��],[

Fourier transform of convolution

Perform the other DFT (circular boundary conditions)

� � ����

�����

� ����

1

0

1

0 ,],[],[,

M

u

N

v

Nvn

Mumi

lkelkhlvkugnmF �

����

�����

� ����

1

0

1

0 ,],[],[

M

u

N

v lk

Nvn

Mumi lkhelvkug �

� � � �� � ���

��

��

��

�����

� ��

1 1

,],[],[

kM

k

lN

l lk

Nnl

Mmki lkheg

� �

�����

� �� �����

� ���

lk

NMkmi

lkhenmG,

ln],[, �

� � � �nmHnmG ,,�

Page 84: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

85

Analysis of our simple filters

Page 85: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

86

Analysis of our simple filters

original0Pixel offset

coeffic

ient

1.0

Filtered(no change)

1 ],[],[

1

0

1

0

ln

�����

�����

� �M

k

N

l

NMkmielkfnmF �

0

1.0 constant

Page 86: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

87

Analysis of our simple filters

0Pixel offsetcoeffic

ient

original

1.0

shifted

Mmi

M

k

N

l

NMkmi

e

elkfnmF��

��

�����

� �

����

],[],[1

0

1

0

ln

0

1.0Constant magnitude, linearly shifted phase

Page 87: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

88

Analysis of our simple filters

0Pixel offsetcoeffic

ient

original

0.3

blurred

�������

� �����

���

�����

�����

� �

Mm

elkfnmFM

k

N

l

NMkmi

cos2131

],[],[1

0

1

0

ln

Low-pass filter

0

1.0

Page 88: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

89

Analysis of our simple filters

original0

2.0

0

0.33

sharpened

�������

� �����

���

�����

�����

� �

Mm

elkfnmFM

k

N

l

NMkmi

cos21312

],[],[1

0

1

0

ln

high-pass filter

0

1.02.3

Page 89: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

90

Sampling and aliasing

Page 90: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

91

Sampling in 1D takes a continuous function and replaces it with a vector of values, consisting of the function’s values at a set of sample points. We’ll assume that these sample points are on a regular grid, and can place one at each integer for convenience.

Page 91: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

92

Sampling in 2D does the same thing, only in 2D. We’ll assume that these sample points are on a regular grid, and can place one at each integer point for convenience.

Page 92: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

93

A continuous model for a sampled function

• We want to be able to approximate integrals sensibly

• Leads to– the delta function– model on right

Sample2D f (x,y)� �� f (x, y)� (x � i, y � j )i���

��i���

��� f (x,y) � (x � i, y � j )

i���

��i���

��

Page 93: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

94

The Fourier transform of a sampled signal

F Sample2D f (x,y)� �� �� F f (x, y) �(x � i,y � j)i���

�i���

�������

�����

� F f (x,y)� �**F �(x � i, y � j)i���

�i���

������������

� F u � i,v � j� �j���

�i���

Page 94: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

95

Page 95: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

96

Page 96: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

97

Aliasing• Can’t shrink an image by taking every second pixel

• If we do, characteristic errors appear – In the next few slides– Typically, small phenomena look bigger; fast phenomena can look slower

– Common phenomenon• Wagon wheels rolling the wrong way in movies• Checkerboards misrepresented in ray tracing• Striped shirts look funny on colour television

Page 97: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

98

Resample the checkerboard by taking one sample at each circle. In the case of the top left board, new representation is reasonable. Top right also yields a reasonable representation. Bottom left is all black (dubious) and bottom right has checks that are too big.

Page 98: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

99

Constructing a pyramid by taking every second pixel leads to layers that badly misrepresent the top layer

Page 99: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

100

Smoothing as low-pass filtering• The message of the FT is that high frequencies lead to trouble with sampling.

• Solution: suppress high frequencies before sampling– multiply the FT of the signal with something that suppresses high frequencies

– or convolve with a low-pass filter

• A filter whose FT is a box is bad, because the filter kernel has infinite support

• Common solution: use a Gaussian– multiplying FT by Gaussian is equivalent to convolving image with Gaussian.

Page 100: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

101

Sampling without smoothing. Top row shows the images,sampled at every second pixel to get the next; bottom row shows the magnitude spectrum of these images.

Page 101: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

102

Sampling with smoothing. Top row shows the images. Weget the next image by smoothing the image with a Gaussian with sigma 1 pixel,then sampling at every second pixel to get the next; bottom row shows the magnitude spectrum of these images.

Page 102: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

103

Sampling with smoothing. Top row shows the images. Weget the next image by smoothing the image with a Gaussian with sigma 1.4 pixels,then sampling at every second pixel to get the next; bottom row shows the magnitude spectrum of these images.

Page 103: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

104

Thought problemAnalyze crossed

gratings…

Page 104: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

105

Thought problemAnalyze crossed

gratings…

Page 105: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

106

Thought problemAnalyze crossed

gratings…

Page 106: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

107

Thought problemAnalyze crossed

gratings…

Where does perceived near horizontal grating come from?

Page 107: Computer Vision and Applications Prof. Trevor. Darrellcourses.csail.mit.edu/6.891-trevor/lectnotes/lect2/lect2-slides.pdfLinear functions • Simplest: linear filtering. –Replace

108

What is a good representation for image analysis?

• Fourier transform domain tells you “what” (textural properties), but not “where”.

• Pixel domain representation tells you “where” (pixel location), but not “what”.

• Want an image representation that gives you a local description of image events—what is happening where.