Lecture 10: Pyramids and Scale Space •G*(G*f) = (G*G)*f …rtc12/CSE486/lecture10_6pp.pdf ·...
Transcript of Lecture 10: Pyramids and Scale Space •G*(G*f) = (G*G)*f …rtc12/CSE486/lecture10_6pp.pdf ·...
-
1
CSE486Robert Collins
Lecture 10:Pyramids and Scale Space
CSE486Robert Collins
Recall
• Cascaded Gaussians– Repeated convolution by a smaller Gaussian
to simulate effects of a larger one.
• G*(G*f) = (G*G)*f [associativity]
CSE486Robert Collins
Example: Cascaded Convolutions
[1 1] * [1 1] --> [1 2 1][1 1] * [1 2 1] --> [1 3 3 1][1 1] * [1 3 3 1] --> [1 4 6 4 1]..and so on…
1 11 2 1
1 3 3 11 4 6 4 1
1 5 10 10 5 1and so on…
Pascal’s Triangle
CSE486Robert Collins
Aside: Binomial Approximation
1 11 2 1
1 3 3 11 4 6 4 1
1 5 10 10 5 1and so on…
Pascal’s Triangle
BinomialCoefficients
CSE486Robert Collins
Aside: Binomial Approximation
Look at odd-length rows of Pascal’s triangle:
1 11 2 1
1 3 3 11 4 6 4 1
1 5 10 10 5 1and so on…
[1 2 1]/4 - approximatesGaussian with sigma=1/sqrt(2)
[1 4 6 4 1]/16 - approximatesGaussian with sigma=1
An easy way to generate integer-coefficientGaussian approximations.
CSE486Robert Collins
From Homework 2
-
2
CSE486Robert Collins
More about Cascaded Convolutions
Fun facts:The distribution of the sum of two random variablesX + Y is the convolution of their two distributions
Given N i.i.d. random variables, X1 … XN, the distributionof their sum approaches a Gaussian distribution (aka thecentral limit theorem)
Therefore:The repeated convolution of a (nonnegative)filter with itself takes on a Gaussian shape.
(for the mathematically inclined)
CSE486Robert Collins Gaussian Smoothing at
Different Scales
original sigma = 1
CSE486Robert Collins
original sigma = 3
Gaussian Smoothing atDifferent Scales
CSE486Robert Collins Gaussian Smoothing at
Different Scales
original sigma = 10
CSE486Robert Collins Idea for Today:
Form a Multi-Resolution Representation
original
sigma = 10
sigma = 3
sigma = 1
CSE486Robert Collins
Pyramid Representations
Because a large amount of smoothing limitsthe frequency of features in the image, we donot need to keep all the pixels around!
Strategy: progressively reduce the number ofpixels as we smooth more and more.
Leads to a “pyramid” representation if wesubsample at each level.
-
3
CSE486Robert Collins
Gaussian Pyramid
• Synthesis: Smooth image with a Gaussian anddownsample. Repeat.
• Gaussian is used because it is self-reproducing(enables incremental smoothing).
• Top levels come “for free”. Processing costtypically dominated by two lowest levels(highest resolution).
CSE486Robert Collins
Gaussian Pyramid
High res
Low
res
CSE486Robert Collins Emphasis: Smaller Images
have Lower ResolutionCSE486Robert Collins
Generating a Gaussian Pyramid
Basic Functions:Blur (convolve with Gaussian to smooth image)
DownSample (reduce image size by half)
Upsample (double image size)
CSE486Robert Collins
Generating a Gaussian Pyramid
Basic Functions:Blur (convolve with Gaussian to smooth image)
DownSample (reduce image size by half)
Upsample (double image size)
CSE486Robert Collins
Downsample
By the way: Subsampling is a bad idea unless you have previously blurred/smoothed the image! (because it leads to aliasing)
-
4
CSE486Robert Collins
To Elaborate: Thumbnails
original image262x195
downsampled (left)vs. smoothed then
downsampled (right)
131x97
65x48
32x24
CSE486Robert Collins
To Elaborate: Thumbnails
original image262x195
131x97
downsampled (left)vs. smoothed then
downsampled (right)
CSE486Robert Collins
To Elaborate: Thumbnails
original image262x195
downsampled (left)vs. smoothed then
downsampled (right)
65x48
CSE486Robert Collins
To Elaborate: Thumbnails
original image262x195
downsampled (left)vs. smoothed then
downsampled (right)
32x24
CSE486Robert Collins
Upsample
How to fill in the empty values?Interpolation:• initially set empty pixels to zero• convolve upsampled image with Gaussian filter! e.g. 5x5 kernel with sigma = 1.• Must also multiply by 4. Explain why.
CSE486Robert Collins
Specific ExampleFrom Crowley et.al., “Fast Computation of Characteristic Scale using a Half-Octave Pyramid.” Proc International Workshop on Cognitive Vision (CogVis), Zurich, Switzerland, 2002.
General idea: cascaded filtering using [1 4 6 4 1] kernel to generate a pyramid with two images per octave (power of 2 change in resolution). When we reach a full octave, downsample the image.
blur blur
blur blur
downsample
-
5
CSE486Robert Collins
Effective Sigma at Each Level
Crowley etal.
CSE486Robert Collins
Effective Sigma at Each Level
CAN YOUEXPLAIN HOWTHESE VALUESARISE?
CSE486Robert Collins
Basic idea: different scales are appropriate for describing differentobjects in the image, and we may not know the correct scale/sizeahead of time.
Concept: Scale Space CSE486Robert Collins Example: Detecting “Blobs” at
Different Scales.
But first, we have to talkabout detecting blobsat one scale...
CSE486Robert Collins