Recap of Friday

1 / 50

Recap of Friday - PowerPoint PPT Presentation

Recap of Friday. linear Filtering convolution differential filters filter types boundary conditions. Review: questions. Write down a 3x3 filter that returns a positive value if the average value of the 4-adjacent neighbors is less than the center and a negative value otherwise

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Recap of Friday' - jemima

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Recap of Friday

linear Filtering

convolution

differential filters

filter types

boundary conditions.

Review: questions
• Write down a 3x3 filter that returns a positive value if the average value of the 4-adjacent neighbors is less than the center and a negative value otherwise
• Write down a filter that will compute the gradient in the x-direction:
• gradx(y,x) = im(y,x+1)-im(y,x) for each x, y

Slide: Hoiem

Review: questions

Filtering Operator

a) _ = D * B

b) A = _ * _

c) F = D * _

d) _ = D * D

• 3. Fill in the blanks:

A

B

E

G

C

F

D

H

I

Slide: Hoiem

The Frequency Domain (Szeliski 3.4)

Somewhere in Cinque Terre, May 2005

CS129: Computational Photography

James Hays, Brown, Spring 2011

Slides from Steve Seitzand Alexei Efros

“Gala Contemplating the Mediterranean Sea,

which at 30 meters becomes the portrait

of Abraham Lincoln”, 1976

Salvador Dali, “Gala Contemplating the Mediterranean Sea, which at 30 meters becomes the portrait of Abraham Lincoln”, 1976

Salvador Dali, “Gala Contemplating the Mediterranean Sea, which at 30 meters becomes the portrait of Abraham Lincoln”, 1976

A nice set of basis

Teases away fast vs. slow changes in the image.

This change of basis has a special name…

Jean Baptiste Joseph Fourier (1768-1830)
• 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 sines
• 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?

Inverse Fourier

Transform

Fourier

Transform

F(w)

f(x)

F(w)

f(x)

Fourier Transform
• We want to understand the frequency w of our signal. So, let’s reparametrize the signal by w instead of x:
• For every w from 0 to inf, F(w) holds the amplitude A and phase f of the corresponding sine
• How can F hold both? Using complex numbers.

We can always go back:

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

=

+

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

=

+

Frequency Spectra
• Usually, frequency is more interesting than the phase
Extension to 2D

in Matlab, check out: imagesc(log(abs(fftshift(fft2(im)))));

The Fourier transform of the convolution of two functions is the product of their Fourier transforms

Convolution in spatial domain is equivalent to multiplication in frequency domain!

The Convolution Theorem
2D convolution theorem example

|F(sx,sy)|

f(x,y)

*

h(x,y)

|H(sx,sy)|

g(x,y)

|G(sx,sy)|

Filtering in frequency domain

FFT

FFT

=

Inverse FFT

Slide: Hoiem

FFT in Matlab
• Filtering with fft
• Displaying with fft

im = rgb2gray(im); % “im” should be a gray-scale floating point image

[imh, imw] = size(im);

hs = 50; % filter half-size

fil = fspecial('gaussian', hs*2+1, 10);

fftsize = 1024; % should be order of 2 (for speed) and include padding

im_fft = fft2(im, fftsize, fftsize); % 1) fft im with padding

fil_fft = fft2(fil, fftsize, fftsize); % 2) fft fil, pad to same size as image

im_fil_fft = im_fft .* fil_fft; % 3) multiply fft images

im_fil = ifft2(im_fil_fft); % 4) inverse fft2

im_fil = im_fil(1+hs:size(im,1)+hs, 1+hs:size(im, 2)+hs); % 5) remove padding

figure(1), imagesc(log(abs(fftshift(im_fft)))), axis image, colormap jet

Slide: Hoiem

Low-pass, Band-pass, High-pass filters

low-pass:

High-pass / band-pass:

What does blurring take away?

smoothed (5x5 Gaussian)

High-Pass filter

smoothed – original

The gradient direction is given by:

• how does this relate to the direction of the edge?
• The edge strength is given by the gradient magnitude
• The gradient of an image:
• The gradient points in the direction of most rapid change in intensity
Effects of noise
• Consider a single row or column of the image
• Plotting intensity as a function of position gives a signal

How to compute a derivative?

Where is the edge?

Derivative theorem of convolution
• This saves us one operation:

Laplacian of Gaussian

is the Laplacian operator:

2D edge detection filters

Gaussian

derivative of Gaussian

Lossy Image Compression (JPEG)

Block-based Discrete Cosine Transform (DCT)

Using DCT in JPEG
• The first coefficient B(0,0) is the DC component, the average intensity
• The top-left coeffs represent low frequencies, the bottom right – high frequencies
Image compression using DCT
• DCT enables image compression by concentrating most image information in the low frequencies
• Lose unimportant image info (high frequencies) by cutting B(u,v) at bottom right
• The decoder computes the inverse DCT – IDCT
• Quantization Table
• 3 5 7 9 11 13 15 17
• 5 7 9 11 13 15 17 19
• 7 9 11 13 15 17 19 21
• 9 11 13 15 17 19 21 23
• 11 13 15 17 19 21 23 25
• 13 15 17 19 21 23 25 27
• 15 17 19 21 23 25 27 29
• 17 19 21 23 25 27 29 31
Things to Remember
• Sometimes it makes sense to think of images and filtering in the frequency domain
• Fourier analysis
• Can be faster to filter using FFT for large images (N logN vs. N2 for auto-correlation)
• Images are mostly smooth
• Basis for compression
• Remember to low-pass before sampling
Summary

Frequency domain can be useful for

Analysis

Computational efficiency

Compression