23
Convolution and Edge Detection 15-463: Computational Photograph Alexei Efros, CMU, Fall 200 ome slides from Steve Seitz

Convolution ppt

Embed Size (px)

DESCRIPTION

Convolution ppt

Citation preview

Page 1: Convolution ppt

Convolution and Edge Detection

15-463: Computational PhotographyAlexei Efros, CMU, Fall 2005Some slides from Steve Seitz

Page 2: Convolution ppt

Fourier spectrum

Page 3: Convolution ppt

Fun and games with spectra

Page 4: Convolution ppt

4

Gaussian filtering

A Gaussian kernel gives less weight to pixels further from the center of the window

This kernel is an approximation of a Gaussian function:

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 0 0 90 90 90 90 90 0 0

0 0 0 90 90 90 90 90 0 0

0 0 0 90 90 90 90 90 0 0

0 0 0 90 0 90 90 90 0 0

0 0 0 90 90 90 90 90 0 0

0 0 0 0 0 0 0 0 0 0

0 0 90 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

1 2 1

2 4 2

1 2 1

Page 5: Convolution ppt

5

Mean vs. Gaussian filtering

Page 6: Convolution ppt

ConvolutionRemember cross-correlation:

A convolution operation is a cross-correlation where the filter is flipped both horizontally and vertically before being applied to the image:

It is written:

Suppose H is a Gaussian or mean kernel. How does convolution differ from cross-correlation?

Page 7: Convolution ppt

The Convolution TheoremThe greatest thing since sliced (banana) bread!

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

• The inverse Fourier transform of the product of two Fourier transforms is the convolution of the two inverse Fourier transforms

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

]F[]F[]F[ hghg

][F][F][F 111 hggh

Page 8: Convolution ppt

Fourier Transform pairs

Page 9: Convolution ppt

2D convolution theorem example

*

f(x,y)

h(x,y)

g(x,y)

|F(sx,sy)|

|H(sx,sy)|

|G(sx,sy)|

Page 10: Convolution ppt

Edges in images

Page 11: Convolution ppt

Image gradientThe gradient of an image:

The gradient points in the direction of most rapid change in intensity

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

Page 12: Convolution ppt

Effects of noiseConsider a single row or column of the image

• Plotting intensity as a function of position gives a signal

Where is the edge?

How to compute a derivative?

Page 13: Convolution ppt

Where is the edge?

Solution: smooth first

Look for peaks in

Page 14: Convolution ppt

Derivative theorem of convolution

This saves us one operation:

Page 15: Convolution ppt

Laplacian of Gaussian

Consider

Laplacian of Gaussianoperator

Where is the edge? Zero-crossings of bottom graph

Page 16: Convolution ppt

2D edge detection filters

is the Laplacian operator:

Laplacian of Gaussian

Gaussian derivative of Gaussian

Page 17: Convolution ppt

MATLAB demo

g = fspecial('gaussian',15,2);imagesc(g)surfl(g)gclown = conv2(clown,g,'same');imagesc(conv2(clown,[-1 1],'same'));imagesc(conv2(gclown,[-1 1],'same'));dx = conv2(g,[-1 1],'same');imagesc(conv2(clown,dx,'same');lg = fspecial('log',15,2);lclown = conv2(clown,lg,'same');imagesc(lclown)imagesc(clown + .2*lclown)

Page 18: Convolution ppt

What does blurring take away?

original

Page 19: Convolution ppt

What does blurring take away?

smoothed (5x5 Gaussian)

Page 20: Convolution ppt

Edge detection by subtraction

smoothed – original

Why doesthis work?

Page 21: Convolution ppt

Gaussian - image filter

Laplacian of Gaussian

Gaussian delta function

FFT

Page 22: Convolution ppt

What is happening?

Page 23: Convolution ppt

Unsharp Masking

200 400 600 800

100

200

300

400

500

- =

=+