CPSC 641 Computer Graphics: Fourier Transform Jinxiang Chai.

69
CPSC 641 Computer Graphics: Fourier Transform Jinxiang Chai
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    225
  • download

    1

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

CPSC 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?

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

Image Sub-sampling

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

Why does this look so crufty?

1/2

Difference between Lines

Even Worse for Synthetic Images

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

To do sampling right, need to understand the structure of your signal/image– signal processing

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?

Periodic Functions

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

• What’s the interval for sinx?

• What’s the interval for sin2πfx?

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

A Sum of Sine WavesOur building block:

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

xAsin(

A Sum of Sine WavesOur building block:

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

xAsin(

A Sum of Sine WavesOur building block:

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

xAsin(

A Sum of Sine WavesOur building block:

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

xAsin(

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(

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

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

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

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

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

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

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

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

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

?

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

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Fourier Transform

f(x)

f(x)

|F(u)|

|F(u)|

Box Function and Its Transform

21 02

1 1)(

x

xxf

x

f(x)

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)

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

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

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

Dirac Delta and its Transform

00

0)(

x

xx

1)( dxx

x

f(x)

)0()()( fdxxxf

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

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

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

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

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

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

Properties

Linearity:

)()()()( ubGuaFxbgxaf

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

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

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

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

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

Properties

Linearity:

Time-shift:

)()()()( ubGuaFxbgxaf

dxexxf uxi 20 )(

defedef iuxixui 22)(2 )()( 00

)()( 020 uFexxf uxi

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

Properties

Linearity:

Time shift:

Derivative:

Integration:

Convolution:

)()()()( ubGuaFxbgxaf

)()( 020 uFexxf uxi

)()(

uuFx

xdf

u

uFdxxf

)()(

)()()()( uGuFxgxf

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:

Here, F is the spectrum of the function, G is the spectrum of the filter, and H is the filtered function. Multiplication is point-wise

)()()( uGuFuH

Filtering

=

=

=

Low-pass

High-pass

Band-pass

F G H

Filtering

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

Convolution

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

dtgftgtftC )()()()()(

Convolution

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

dtgftgtftC )()()()()(

Convolution

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

dtgftgtftC )()()()()(

Reversed and translated function g

Convolution

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

dtgftgtftC )()()()()(

Reversed and translated function g

Convolution

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

dtgftgtftC )()()()()(

t=2.5

Convolution

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

dtgftgtftC )()()()()(

t=4.6

Examples

• Convolution of the function f(t) and a delta function σ(t)

Examples

• Convolution of the function f(t) and a delta function σ(t)

)(

)()(

)()(

)(

tf

dtf

tft

tC

Convolution Theory

dxedxgf uxi 2))()((

Convolution Theory

dxedxgf uxi 2))()((

dedgf ui )(2))()((

x

Convolution Theory

dxedxgf uxi 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

x

Convolution Theory

dxedxgf uxi 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

degdef uiui 22 )()(

x

Convolution Theory

dxedxgf uxi 2))()((

dedgf ui )(2))()((

ddegef uiui 22 )()(

degdef uiui 22 )()(

)(uF )(uG

x

Correlation

Correlation between f and g

Similarly, we have its fourier transform

dtgf )()(

)()(* uGuF

Auto-correlation

Self-correlation for f

Similarly, we have its fourier transform

dtff )()(

2* )()()( uFuFuF

2( ) sinc ( / 2)t F

rect( ) rect( )

( )

t t

t

rect( )t

( )t

sinc( / 2)

2sinc ( /2)

t

t

Auto-correlation in Action

Qualitative Property

The spectrum of a functions tells us the relative amounts of high and low frequencies– Sharp edges give high frequencies– Smooth variations give low frequencies

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

Summary

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

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

• Build your intuition about functions and their spectra.

Next lecture

• Fourier transform for 2D signals (images)

• Sampling and reconstruction

• How to avoid aliasing

Fourier transform