CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

79
CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai
  • date post

    20-Jan-2016
  • Category

    Documents

  • view

    225
  • download

    0

Transcript of CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Page 1: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

CSCE 641 Computer Graphics:Fourier Transform

Jinxiang Chai

Page 2: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Outline

• Aliasing

• Fourier transform

• Filtering

Page 3: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Image Scaling

This image is too big tofit on the screen. Howcan we reduce it?

How to generate a half-sized version?

Page 4: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Image Sub-sampling

Throw away every other row and

column to create a 1/2 size image- called image sub-sampling

1/4

1/8

Page 5: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Image Sub-sampling

1/4 (2x zoom) 1/8 (4x zoom)

Why does this look so crufty?

1/2

Page 6: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

With/Without Aliasing

Page 7: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Even Worse for Synthetic Images

Page 8: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Difference between Lines

Page 9: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Really Bad in Video

wheel reverse rotation: Click here

Page 10: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Aliasingoccurs when your sampling rate is not high enough to capture the

amount of detail in your image

Can give you the wrong signal/image—an alias

Where can it happen in computer graphics? During image synthesis:

– sampling continuous signal into discrete signal– e.g., ray tracing, line drawing, function plotting, etc.

During image processing: – resampling discrete signal at a different rate– e.g. Image warping, zooming in, zooming out, etc.

As well as other data such animation synthesisTo do sampling right, need to understand the structure of your

signal/image– signal processing

Page 11: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Signal Processing

Analysis, interpretation, and manipulation of signals

- images, videos, geometric and motion data

- sampling and reconstruction of the signals.

- minimal sampling rate for avoiding aliasing artifacts

- how to use filtering to remove the aliasing artifacts?

Page 12: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Outline

• Aliasing

• Fourier transform

• Filtering

Page 13: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Periodic Functions

• A periodic function is a function defined in an interval that repeats itself outside the interval

Page 14: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Sine Waves

xAsin(

Page 15: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Sine Waves

Page 16: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Jean Baptiste Fourier (1768-1830)

had 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

Page 17: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

A Sum of Sine WavesOur building block:

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

xAsin(

Page 18: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

A Sum of Sine WavesOur building block:

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

xAsin(

Page 19: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

A Sum of Sine WavesOur building block:

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

xAsin(

Page 20: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

A Sum of Sine WavesOur building block:

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

xAsin(

Page 21: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

A Sum of Sine WavesOur 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(

Page 22: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

How about Non-peoriodic Function?

• A non-periodic function can also be represented as a sum of sin’s and cos’s

• But we must use all frequencies, not just multiples of the period

• The sum is replaced by an integral.

dueuFxf uxi 2)()(

Page 23: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

dueuFxf uxi 2)()(

1

2sin2cos2

i

uxiuxe uxi

Page 24: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

How to compute F(u)?

dueuFxf uxi 2)()(

1

2sin2cos2

i

uxiuxe uxi

Page 25: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

How to compute F(u)?

dxexfuF uxi 2)()(

dueuFxf uxi 2)()(

1

2sin2cos2

i

uxiuxe uxi

Page 26: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

How to compute F(u)?

dxexfuF uxi 2)()(

dueuFxf uxi 2)()(

)()()( uiIuRuF

)()()( 22 uIuRuF

)(

)(tan)( 1

uR

uIu

Amplitude: Phase angle:

1

2sin2cos2

i

uxiuxe uxi

Page 27: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

How to compute F(u)?

dxexfuF uxi 2)()(

dueuFxf uxi 2)()(

)()()( uiIuRuF

)()()( 22 uIuRuF

)(

)(tan)( 1

uR

uIu

Amplitude: Phase angle:

Inverse Fourier Transform

Fourier Transform

1

2sin2cos2

i

uxiuxe uxi

Page 28: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

A function f(x) can be represented as a sum of phase-shifted sine waves

How to compute F(u)?

dxexfuF uxi 2)()(

dueuFxf uxi 2)()(

)()()( uiIuRuF

)()()( 22 uIuRuF

)(

)(tan)( 1

uR

uIu

Amplitude: Phase angle:

Inverse Fourier Transform

Fourier Transform

Dual property for Fourier transform and its inverse transform

1

2sin2cos2

i

uxiuxe uxi

Page 29: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

Magnitude against frequency:

f(x) |F(u)|

How much of the sine wave with the frequency u appear in the original signal f(x)?

Page 30: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

Magnitude against frequency:

f(x) |F(u)|

How much of the sine wave with the frequency u appear in the original signal f(x)?

5

?

Page 31: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

Magnitude against frequency:

f(x) |F(u)|

How much of the sine wave with the frequency u appear in the original signal f(x)?

5

x

xi dxexf 10)(

Page 32: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Page 33: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Page 34: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Page 35: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Page 36: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Box Function and Its Transform

21 02

1 1)(

x

xxf

x

f(x)

Page 37: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Box Function and Its Transform

21 02

1 1)(

x

xxf

u

u

ui

ui

ui

ee

ui

e

ui

de

ui

uxidedxe

dxexf

xixiuxi

uxiuxiuxi

uxi

sin

2

sin2

22

22

2

)(

21

21

2

21

21

221

21

221

21

2

2

x

f(x)

Page 38: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Box Function and Its Transform

21 02

1 1)(

x

xxf

)(sinsin

)( ucu

uuF

x

u

f(x)

|F(u)|

If f(x) is bounded, F(u) is unbounded

Page 39: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Another Example

dxexf uxi 2)(

If the fourier transform of a function f(x) is F(u), what is the fourier transform of f(-x)?

Page 40: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Another Example

)()(

)(

)(

*

2

2

uFuF

dzezf

dzezf

uzi

uzi

z

dxexf uxi 2)(

If the fourier transform of a function f(x) is F(u), what is the fourier transform of f(-x)?

Page 41: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Dirac Delta and Its Transform

00

0)(

x

xx

1)( dxx

x

f(x)

)0()()( fdxxxf

Page 42: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Dirac Delta and Its Transform

00

0)(

x

xx

x

1)( uF1

u

f(x)

|F(u)|

Fourier transform and inverse Fourier transform arequalitatively the same, so knowing one direction gives you the other

1)( dxx

)0()()( fdxxxf

Page 43: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Cosine and Its Transform

-1.5

-1

-0.5

0

0.5

1

1.5

1-1

If f(x) is even, so is F(u)

)2cos( x

Page 44: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Sine and Its Transform

-1.5

-1

-0.5

0

0.5

1

1.5

1

-1

-

If f(x) is odd, so is F(u)

)2sin( x

Page 45: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Gaussian and Its Transform

2222 ue -0.02

0.03

0.08

0.13

0.18

-0.02

0.03

0.08

0.13

0.18

2

2

2

2

1

x

e

If f(x) is gaussian, F(u) is also guassian.

2222 ue

Page 46: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Gaussian and Its Transform

2222 ue -0.02

0.03

0.08

0.13

0.18

-0.02

0.03

0.08

0.13

0.18

2

2

2

2

1

x

e

If f(x) is gaussian, F(u) is also guassian.what’s the relationship of their variances?

2222 ue

Page 47: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Gaussian and Its Transform

2222 ue

constux

-0.02

0.03

0.08

0.13

0.18

-0.02

0.03

0.08

0.13

0.18

2

2

2

2

1

x

e

If f(x) is gaussian, F(u) is also guassian.what’s the relationship of their variances?

2222 ue

Page 48: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Properties

Linearity:

)()()()( ubGuaFxbgxaf

dxexgbdxexfadxexbgxaf uxiuxiuxi 222 )()())()((

Page 49: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

dxexgbdxexfadxexbgxaf uxiuxiuxi 222 )()())()((

Page 50: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

dxexgbdxexfadxexbgxaf uxiuxiuxi 222 )()())()((

Page 51: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

defedef iuxixui 22)(2 )()( 00

)()( 020 uFexxf uxi

dxexgbdxexfadxexbgxaf uxiuxiuxi 222 )()())()((

Page 52: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Properties

Linearity:

Time shift:

Derivative:

Integration:

Convolution:

)()()()( ubGuaFxbgxaf

)()( 020 uFexxf uxi

)()(

uuFx

xdf

u

uFdxxf

)()(

)()()()( uGuFxgxf

Page 53: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Outline

• Aliasing

• Fourier transform

• Filtering

Page 54: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

1D Signal Filtering

Page 55: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

2D Image Filtering

Page 56: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

2D Image Filtering

Page 57: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Animation Filtering

• Cartoon animation filter

Click here

Page 58: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Signal Filtering

A filter is something that attenuates or enhances particular frequencies

Page 59: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Signal Filtering

A filter is something that attenuates or enhances particular frequencies

Easiest to visualize in the frequency domain, where filtering is defined as multiplication:

)()()( uGuFuH

Spectrum of the function

Spectrum of the filter

Spectrum of the filtered

function

Page 60: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Filtering

=

=

=

Low-pass

High-pass

Band-pass

F G H

Page 61: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Filtering

Identify filtered images from low-pass filter, high-pass filter, and band-pass filter?

Page 62: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Filtering in Frequency Domain

=

=

=

Low-pass

High-pass

Band-pass

F G H

So what happens in the spatial domain? Convolution

Page 63: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

Page 64: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

Page 65: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

Reversed and translated function g

Page 66: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

Reversed and translated function g

Page 67: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

t=2.5

Page 68: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

t=4.6

Page 69: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

Compute the integral of the product between f and a reversed and translated version of g

dtgftgtfth )()()()()(

t=4.6

For discrete signals such as images, this is just a weighted sum of all function values in the window

- weights and window sizes are filter dependent

Page 70: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution

For discrete signals such as images, this is just a weighted sum of all function values in the window

- weights and window sizes are filter dependent

Page 71: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution Theory

dtedtgf uti 2))()((

h(t)

)(uH

Page 72: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution Theory

dtedtgf uti 2))()((

dedgf ui )(2))()((

t)(uH

Page 73: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution Theory

dtedtgf uti 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

t)(uH

Page 74: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution Theory

dtedtgf uti 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

degdef uiui 22 )()(

t)(uH

Page 75: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Convolution Theory

dtedtgf uti 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

degdef uiui 22 )()(

)(uF )(uG

t)(uH

Page 76: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Qualitative Property

The spectrum of a function tells us the relative amounts of high and low frequencies– Sharp edges imply high frequencies– Smooth variations give low frequencies– The zero frequency term is the average value of function

A function is band-limited if its spectrum has no frequencies above a maximum limit– sine, cosine are bandlimited– Box, Gaussian, etc. are not

Page 77: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Qualitative Property

The spectrum of a function tells us the relative amounts of high and low frequencies– Sharp edges imply high frequencies– Smooth variations give low frequencies– The zero frequency term is the average value of function

A function is band-limited if its spectrum has no frequencies above a maximum limit– sine, cosine are bandlimited– Box, Gaussian, etc are not

Page 78: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Summary

• Convert a function from the spatial domain to the frequency domain and vice versa.

• Interpret a function in either domain, e.g., filtering and correlation.

• Build your intuition about functions and their spectra.

Page 79: CSCE 641 Computer Graphics: Fourier Transform Jinxiang Chai.

Next lecture

• Fourier transform for 2D signals (images)

• Sampling and reconstruction

• How to avoid aliasing

Fourier transform