+ All Categories
Home > Documents > Lecture 4: Linear filters

Lecture 4: Linear filters

Date post: 12-Sep-2021
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
72
Lecture 4: Linear filters Tuesday, Sept 11 Many slides by (or adapted from) D. Forsyth, Y. Boykov, L. Davis, W. Freeman, M. Hebert, D. Kreigman, P. Duygulu
Transcript
Page 1: Lecture 4: Linear filters

Lecture 4: Linear filters

Tuesday, Sept 11

Many slides by (or adapted from) D. Forsyth, Y. Boykov, L. Davis, W. Freeman, M. Hebert, D. Kreigman, P. Duygulu

Page 2: Lecture 4: Linear filters

Image neighborhoods

• Q: What happens if we reshuffle all pixels within the image?

• A: Its histogram won’t change. Point-wise processing unaffected.

• Filters reflect spatial information

Page 3: Lecture 4: Linear filters

Image filtering

Modify the pixels in an image based on somefunction of a local neighborhood of the pixels

10 5 3

4 5 1

1 1 77

Some function

Page 4: Lecture 4: Linear filters

Linear filtering

• Replace each pixel with a linear combination of its neighbors.

• Convolution kernel: prescription for the linear combination

10 5 3

4 5 1

1 1 77*

0 0 0

0 0.5 0

0 1.0 0.5

=kernel

Page 5: Lecture 4: Linear filters

Why filter images?

• Noise reduction• Image enhancement• Feature extraction

Page 6: Lecture 4: Linear filters

Convolutionsignalkernel

Page 7: Lecture 4: Linear filters

Convolution

Shapiro & Stockman

Page 8: Lecture 4: Linear filters

Convolution example

Page 9: Lecture 4: Linear filters

Convolution example

Page 10: Lecture 4: Linear filters

(in both dims)

Page 11: Lecture 4: Linear filters

Filtering examples

Page 12: Lecture 4: Linear filters

Filtering examples: Identity

Page 13: Lecture 4: Linear filters

Filtering examples

Page 14: Lecture 4: Linear filters

Filtering examples: Blur

Page 15: Lecture 4: Linear filters

Filtering examples: Blur

Page 16: Lecture 4: Linear filters

Filtering examples: Blur

Page 17: Lecture 4: Linear filters

Filtering examples

Page 18: Lecture 4: Linear filters

Filtering examples: Shift

Page 19: Lecture 4: Linear filters

Filtering examples

Page 20: Lecture 4: Linear filters

Filtering examples: sharpening

Page 21: Lecture 4: Linear filters

Filtering examples: sharpening

Page 22: Lecture 4: Linear filters

Properties

• Shift invariant – G(Shift(f(x))=Shift(G(f(x)))

• Linear– G(k f(x))=kG(f(x))– G(f+g) = G(f) + G(g)

Page 23: Lecture 4: Linear filters

Properties

• Associative: (f * g) * h = f * (g * h)

• Differentiation rule:

Page 24: Lecture 4: Linear filters

Filters as templates

• Applying filter = taking a dot-product between image and some vector

• Filtering the image is a set of dot products

• Insight – filters look like the

effects they are intended to find

– filters find effects they look like

Page 25: Lecture 4: Linear filters

The University of

Ontario

Original

Gaussian noise

Salt and pepper noise

Impulse noise

Noise

Common types of noise:• Salt and pepper noise:

random occurrences of black and white pixels

• Impulse noise: random occurrences of white pixels

• Gaussian noise: variations in intensity drawn from a Gaussian normal distribution

Filtering is useful for noise reduction...

Page 26: Lecture 4: Linear filters

Gaussian noise

Page 27: Lecture 4: Linear filters

Effect of sigma on Gaussian noise

Page 28: Lecture 4: Linear filters

Effect of sigma on Gaussian noise

Page 29: Lecture 4: Linear filters

Effect of sigma on Gaussian noise

Page 30: Lecture 4: Linear filters

sigma=1

Effect of sigma on Gaussian noise

Page 31: Lecture 4: Linear filters

sigma=16

Effect of sigma on Gaussian noise

Page 32: Lecture 4: Linear filters

Gaussian noise

• Issues– allows noise values greater than maximum or

less than zero– good model for small standard deviations– independence may not be justified– does not model other sources of “noise”

Page 33: Lecture 4: Linear filters

Smoothing and noise

• Expect pixels to “be like” their neighbors• Expect noise processes to be independent from

pixel to pixel

• Smoothing suppresses noise, for appropriate noise models

• Impact of scale: more pixels involved in the image, more noise suppressed, but also more blurring

Page 34: Lecture 4: Linear filters

Mean filtering0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 0 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 0 0 0 0 0 0 00 0 90 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

Page 35: Lecture 4: Linear filters

0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 0 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 0 0 0 0 0 0 00 0 90 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

Mean filtering

0 10 20 30 30 30 20 100 20 40 60 60 60 40 200 30 60 90 90 90 60 300 30 50 80 80 90 60 300 30 50 80 80 90 60 300 20 30 50 50 60 40 20

10 20 30 30 30 30 20 1010 10 10 0 0 0 0 0

Page 36: Lecture 4: Linear filters

Effect of mean filters

Gaussiannoise

Salt and peppernoise

3x3

5x5

7x7

Page 37: Lecture 4: Linear filters

Mean kernel

• What’s the kernel for a 3x3 mean filter?0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 90 0 90 90 90 0 00 0 0 90 90 90 90 90 0 00 0 0 0 0 0 0 0 0 00 0 90 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

],[ yxF

],[ vuH

Page 38: Lecture 4: Linear filters

Smoothing by Averaging

Page 39: Lecture 4: Linear filters

Smoothing with a Gaussian

• Averaging does not model defocused lens well

• Gaussian kernel weights pixels at its center much more strongly than its boundaries

Page 40: Lecture 4: Linear filters

Isotropic Gaussian

Reasonable model of a circularly symmetric blob

Page 41: Lecture 4: Linear filters

Smoothing with a Gaussian

Page 42: Lecture 4: Linear filters
Page 43: Lecture 4: Linear filters

Gaussian filters

• Gaussian function has infinite support, but discrete filters use finite kernels

1 2 12 4 21 2 1

],[ vuH

⋅161

Page 44: Lecture 4: Linear filters

Gaussian filters

Page 45: Lecture 4: Linear filters

More noise -

Wider kernel

Smoothing and noise

Page 46: Lecture 4: Linear filters

Gaussian filters

• Remove “high-frequency” components from the image “low pass” filter

• Convolution with self is another Gaussian– So can smooth with small-width kernel,

repeat, and get same result as larger-width kernel would have

– 2x with σ 1x with √2σ• Separable kernel

Page 47: Lecture 4: Linear filters

Separability

• Isotropic Gaussians factorable into product of two 1D Gaussians

• Useful: can convolve all rows, then all columns

• Linear vs. quadratic time in mask size

Page 48: Lecture 4: Linear filters

Separability

Page 49: Lecture 4: Linear filters

Correlation of filter responses

• Filter responses are correlated over scales similar to scale of filter

• Filtered noise is sometimes useful– looks like some natural textures

Page 50: Lecture 4: Linear filters
Page 51: Lecture 4: Linear filters
Page 52: Lecture 4: Linear filters
Page 53: Lecture 4: Linear filters

Edges and derivatives

• Edges correspond to fast changes

Page 54: Lecture 4: Linear filters

Edges and derivatives

Page 55: Lecture 4: Linear filters

Finite difference filters

0 0 01 0 -10 0 0

],[ vuH

Image derivatives can be approximated with convolution.

Page 56: Lecture 4: Linear filters

Finite differences

• M = [-1 0 1]

Page 57: Lecture 4: Linear filters

Finite difference filters

Page 58: Lecture 4: Linear filters

Finite differences

Which is derivative in the x direction?

Page 59: Lecture 4: Linear filters

Finite differences

Increasing noise ->(zero mean additive Gaussian noise)

Strong response to fast change sensitive to noise

Page 60: Lecture 4: Linear filters

Smoothed derivatives

• Smooth before differentiation: assume that “meaningful” changes won’t be suppressed by smoothing, but noise will

• Two convolutions: smooth, then differentiate?

Page 61: Lecture 4: Linear filters

Smoothed derivatives

Page 62: Lecture 4: Linear filters

Derivative of Gaussian filter

[ ]11 −⊗[ ]0.0030 0.0133 0.0219 0.0133 0.00300.0133 0.0596 0.0983 0.0596 0.01330.0219 0.0983 0.1621 0.0983 0.02190.0133 0.0596 0.0983 0.0596 0.01330.0030 0.0133 0.0219 0.0133 0.0030

)()( hgIhgI ⊗⊗=⊗⊗

Page 63: Lecture 4: Linear filters

Derivative of Gaussian filter

σ = 1 pixel σ = 3 pixels σ = 7 pixels

Derivatives in the x direction

Page 64: Lecture 4: Linear filters

Derivative of Gaussian filter

The apparent structures differ depending on Gaussian’s scale parameter.

σ = 1 pixel σ = 2 pixels

Page 65: Lecture 4: Linear filters

Smoothed derivatives: caveat• Tradeoff between localization and smoothing

Page 66: Lecture 4: Linear filters
Page 67: Lecture 4: Linear filters

Typical mask properties• Derivatives

– Opposite signs used to get high response in regions of high contrast

– Sum to 0 no response in constant regions– High absolute value at points of high contrast

• Smoothing– Values positive – Sum to 1 constant regions same as input– Amount of smoothing proportional to mask size

Page 68: Lecture 4: Linear filters

Median filter

• Non-linear

• No new pixel values

• Removes spikes

Page 69: Lecture 4: Linear filters

Median filter

Salt and pepper noise

Median filtered

Page 70: Lecture 4: Linear filters

Median filter

Page 71: Lecture 4: Linear filters

Median filter

Page 72: Lecture 4: Linear filters

Next

• More on edges, pyramids, and texture• Pset 1 out tomorrow• Reading: chapters 8 and 9


Recommended