computational photography: fourier transform jinxiang chai

70
Computational Photography: Fourier Transform Jinxiang Chai

Post on 21-Dec-2015

230 views

Category:

Documents


1 download

TRANSCRIPT

Computational Photography: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 computer graphics and vision? 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

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

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

1D Signal Filtering

2D Image Filtering

2D Image Filtering

Signal Filtering

A filter is something that attenuates or enhances particular frequencies

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

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?

Filtering in Frequency Domain

=

=

=

Low-pass

High-pass

Band-pass

F G H

So what happens in the spatial domain? Convolution

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

Convolution

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

dtgftgtftC )()()()()(

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

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

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

Next lecture

• Fourier transform for 2D signals (images)

• Sampling and reconstruction

• How to avoid aliasing

Fourier transform