Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer...

43
Computer Vision TP3 Frequency Space Miguel Tavares Coimbra

Transcript of Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer...

Page 1: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision – TP3

Frequency Space

Miguel Tavares Coimbra

Page 2: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Outline

• Fourier Transform

• Frequency Space

• Spatial Convolution

2

Page 3: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Topic: Fourier Transform

• Fourier Transform

• Frequency Space

• Spatial Convolution

3

Page 4: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

How to Represent Signals?

• Option 1: Taylor series represents any function using

polynomials.

• Polynomials are not the best - unstable and not very

physically meaningful.

• Easier to talk about “signals” in terms of its “frequencies”

(how fast/often signals change, etc).

4

Page 5: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Jean Baptiste Joseph Fourier (1768-1830)

• Had a crazy idea (1807):• Any periodic function can

be rewritten as a weighted sum of Sines and Cosines of different frequencies.

• Don’t believe it? – Neither did Lagrange,

Laplace, Poisson and other big wigs

– Not translated into English until 1878!

• But it’s true!– called Fourier Series

– Possibly the greatest tool

used in Engineering

5

Page 6: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

A Sum of Sinusoids

• Our building block:

• Add enough of them to get any signal f(x) you want!

• How many degrees of freedom?

• What does each control?

• Which one encodes the coarse vs. fine structure of the signal?

)+xAsin(

6

Page 7: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

• We want to understand the frequency of our signal.

So, let’s reparametrize the signal by instead of x:

• For every from 0 to inf, F() holds the amplitude A and phase of the

corresponding sine

– How can F hold both? Complex number trick!

Fourier Transform

)+xAsin(

f(x) F()Fourier

Transform

)()()( iIRF +=

22 )()( IRA += )(

)(tan 1

R

I−=

7

Page 8: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Time and Frequency

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

8

Page 9: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Time and Frequency

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

= +

9

Page 10: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Frequency Spectra

• example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)

= +

10

Page 11: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Frequency Spectra

• Usually, frequency is more interesting than the phase

11

Page 12: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= +

=

Frequency Spectra

12

Page 13: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= +

=

Frequency Spectra

13

Page 14: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= +

=

Frequency Spectra

14

Page 15: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= +

=

Frequency Spectra

15

Page 16: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= +

=

Frequency Spectra

16

Page 17: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

= 1

1sin(2 )

k

A ktk

=

Frequency Spectra

17

Page 18: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Fourier Transform – more formally

Arbitrary function Single Analytic Expression

Spatial Domain (x) Frequency Domain (u)

Represent the signal as an infinite weighted sum of an

infinite number of sinusoids

( ) ( )

−= dxexfuF uxi 2

(Frequency Spectrum F(u))

1sincos −=+= ikikeikNote:

Inverse Fourier Transform (IFT) ( ) ( )

−= dxeuFxf uxi 2

18

Page 19: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Fourier Transform

• Also, defined as:

( ) ( )

−= dxexfuF iux

1sincos −=+= ikikeikNote:

• Inverse Fourier Transform (IFT)

19

𝑓 𝑥 =1

2𝜋න−∞

𝐹 𝑢 𝑒𝑖𝑢𝑥𝑑𝑢

Page 20: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Properties of Fourier Transform

Spatial

Domain

Frequency

Domain

Linearity ( ) ( )xgcxfc 21 + ( ) ( )uGcuFc 21 +

Scaling ( )axf

a

uF

a

1

Shifting ( )0xxf − ( )uFeuxi 02−

Symmetry ( )xF ( )uf −

Conjugation ( )xf ( )uF −

Convolution ( ) ( )xgxf ( ) ( )uGuF

Differentiation( )n

n

dx

xfd( ) ( )uFui

n2

20

Page 21: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Topic: Frequency Space

• Fourier Transform

• Frequency Space

• Spatial Convolution

21

Page 22: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

How does this apply to images?

• We have defined the

Fourier Transform as

• But images are:

– Discrete.

– Two-dimensional.

What a computer sees

( ) ( )

−= dxexfuF iux

22

Page 23: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

2D Discrete FT

• In a 2-variable case, the discrete FT pair

is:

=

=

+−=1

0

1

0

)]//(2exp[),(1

),(M

x

N

y

NvyMuxjyxfMN

vuF

=

=

+=1

0

1

0

)]//(2exp[),(),(M

u

N

v

NvyMuxjvuFyxf

For u=0,1,2,…,M-1 and v=0,1,2,…,N-1

For x=0,1,2,…,M-1 and y=0,1,2,…,N-1

AND:

New matrix

with the

same size!

23

Page 24: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Frequency Space

• Image Space

– f(x,y)

– Intuitive

• Frequency Space

– F(u,v)

– What does this mean?

24

Page 25: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Power distribution

An image (500x500 pixels) and its Fourier spectrum. The super-imposed circles have

radii values of 5, 15, 30, 80, and 230, which respectively enclose 92.0, 94.6, 96.4, 98.0,

and 99.5% of the image power.

25

Page 26: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Power distribution

• Most power is in low frequencies.

• Means we are using more of this:

And less of this:

To represent our signal.

• Why?

26

Page 27: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency SpaceWhat does this mean??27

Page 28: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Horizontal and Vertical Frequency

• Frequencies:

– Horizontal frequencies

correspond to

horizontal gradients.

– Vertical frequencies

correspond to vertical

gradients.

• What about diagonal

lines?

28

Page 29: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space 29

Page 30: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency SpaceIf I discard high-frequencies, I get a blurred image...

Why?30

Page 31: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Why bother with FT?

• Great for filtering.

• Great for compression.

• In some situations: Much faster than

operating in the spatial domain.

• Convolutions are simple multiplications in

Frequency space!

• ...

31

Page 32: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Topic: Spatial Convolution

• Fourier Transform

• Frequency Space

• Spatial Convolution

32

Page 33: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Convolution

( )f

( ) ( ) ( ) hfgdxhfxg =−=

( )h

( )−h

x

kernel h

33

Page 34: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Convolution - Example

fg

gf Eric Weinstein’s Math World

34

Page 35: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Convolution - Example

1 2-1-2

( )xc

-1 1

1

( )xb

-1 1

1( )xa

bac =

1

35

Page 36: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Convolution Kernel – Impulse Response

• What h will give us g = f ?

f gh hfg =

Dirac Delta Function (Unit Impulse)

( )x

21

0→

36

Page 37: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Point Spread Function

• Ideally, the optical system should be a Dirac delta function.

• However, optical systems are never ideal.

• Point spread function of Human Eyes.

Optical

Systemscene image

( )x ( )xPSFOptical

Systempoint source point spread function

( )x

21

0→

37

Page 38: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Point Spread Function

normal vision myopia hyperopia

Images by Richmond Eye Associates

38

Page 39: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Properties of Convolution

• Commutative

• Associative

• Cascade system

abba =

( ) ( )cbacba =

f g1h 2h

f= g21 hh

f= g12 hh

39

Page 40: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Fourier Transform and Convolution

hfg = ( ) ( )

−= dxexguG uxi 2

( ) ( )

−−= dxdexhf uxi 2

( ) ( ) ( )

−−− −= dxexhdef xuiui 22

( ) ( )

−−= '' '22 dxexhdef uxiui

Let Then

( ) ( )uHuF=

Convolution in spatial domain

Multiplication in frequency domain

40

Page 41: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Fourier Transform and Convolution

hfg = FHG =

fhg = HFG =

Spatial Domain (x) Frequency Domain (u)

So, we can find g(x) by Fourier transform

g = f h

G = F H

FT FTIFT

41

Page 42: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Example use: Smoothing/Blurring

• We want a smoothed function of f(x)

( ) ( ) ( )xhxfxg =

• Then

( ) ( )

−= 22

22

1exp uuH

( ) ( ) ( )uHuFuG =

2

1

u

( )uH

( )

−=

2

2

2

1exp

2

1

xxh

• Let us use a Gaussian kernel

( )xh

x

42

Page 43: Computer Vision TP3 Frequency Spacemcoimbra/lectures/VC_2021/TP3... · 2020. 8. 31. · Computer Vision - TP3 - Frequency Space Power distribution An image (500x500 pixels) and its

Computer Vision - TP3 - Frequency Space

Resources

• Szeliski, “Computer Vision: Algorithms and

Applications”, Springer, 2011

– Chapter 3 – “Image Processing”

43