+ All Categories
Home > Documents > Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Date post: 18-Dec-2015
Category:
Upload: brendan-wade
View: 213 times
Download: 1 times
Share this document with a friend
Popular Tags:
59
Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois
Transcript
Page 1: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Templates, Image Pyramids, and Filter Banks

Slides largely from Derek Hoeim, Univ. of Illinois

Page 2: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Followup

1. Match the spatial domain image to the Fourier magnitude image

1 54

A

32

C

B

DE

Page 3: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Today’s class

• Template matching

• Image Pyramids

• Filter banks and texture

Page 4: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Template matching• Goal: find in image

• Main challenge: What is a good similarity or distance measure between two patches?– Correlation– Zero-mean correlation– Sum Square Difference– Normalized Cross

Correlation

Page 5: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 0: filter the image with eye patch

Input Filtered Image

],[],[],[,

lnkmflkgnmhlk

What went wrong?

f = imageg = filter

Page 6: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 1: filter the image with zero-mean eye

Input Filtered Image (scaled) Thresholded Image

)],[()],[(],[,

lnkmfglkgnmhlk

True detections

False detections

mean of template g

Page 7: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 2: SSD

Input 1- sqrt(SSD) Thresholded Image

2

,

)],[],[(],[ lnkmflkgnmhlk

True detections

Page 8: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters

Can SSD be implemented with linear filters?2

,

)],[],[(],[ lnkmflkgnmhlk

Page 9: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 2: SSD

Input 1- sqrt(SSD)

2

,

)],[],[(],[ lnkmflkgnmhlk

What’s the potential downside of SSD?

Page 10: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 3: Normalized cross-correlation

Matlab: normxcorr2(template, im)

mean image patchmean template

5.0

,

2,

,

2

,,

)],[()],[(

)],[)(],[(

],[

lknm

lk

nmlk

flnkmfglkg

flnkmfglkg

nmh

Page 11: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 3: Normalized cross-correlation

Input Normalized X-Correlation Thresholded Image

True detections

Page 12: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Matching with filters• Goal: find in image• Method 3: Normalized cross-correlation

Input Normalized X-Correlation Thresholded Image

True detections

Page 13: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Q: What is the best method to use?

A: Depends• Zero-mean filter: fastest but not a great

matcher• SSD: next fastest, sensitive to overall intensity• Normalized cross-correlation: slowest,

invariant to local average intensity and contrast

Page 14: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Q: What if we want to find larger or smaller eyes?

A: Image Pyramid

Page 15: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Review of Sampling

Low-Pass Filtered ImageImage

GaussianFilter Sample

Low-Res Image

Page 16: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Gaussian pyramid

Source: Forsyth

Page 17: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Template Matching with Image Pyramids

Input: Image, Template1. Match template at current scale

2. Downsample image– In practice, scale step of 1.1 to 1.2

3. Repeat 1-2 until image is very small

4. Take responses above some threshold, perhaps with non-maxima suppression

Page 18: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Laplacian filter

Gaussianunit impulse

Laplacian of Gaussian

Source: Lazebnik

Page 19: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Laplacian pyramid

Source: Forsyth

Page 20: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Computing Gaussian/Laplacian Pyramid

http://sepwww.stanford.edu/~morgan/texturematch/paper_html/node3.html

Can we reconstruct the original from the laplacian pyramid?

Page 21: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Hybrid Image

Page 22: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Hybrid Image in Laplacian PyramidHigh frequency Low frequency

In matlab on our data, and a brief project highlight.

Page 23: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Image representation

• Pixels: great for spatial resolution, poor access to frequency

• Fourier transform: great for frequency, not for spatial info

• Pyramids/filter banks: balance between spatial and frequency information

Page 24: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Major uses of image pyramids

• Compression

• Object detection– Scale search– Features

• Detecting stable interest points

• Registration– Course-to-fine

Page 25: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Application: Representing Texture

Source: Forsyth

Page 26: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Texture and Material

http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/

Page 27: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Texture and Orientation

http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/

Page 28: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Texture and Scale

http://www-cvr.ai.uiuc.edu/ponce_grp/data/texture_database/samples/

Page 29: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

What is texture?

Regular or stochastic patterns caused by bumps, grooves, and/or markings

Page 30: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

How can we represent texture?

• Compute responses of blobs and edges at various orientations and scales

Page 31: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Overcomplete representation: filter banks

Leung-Malik (LM) Filter Bank

Code for filter banks: www.robots.ox.ac.uk/~vgg/research/texclass/filters.html

Page 32: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Filter banks• Process image with each filter and keep

responses (or squared/abs responses)

Page 33: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

How can we represent texture?

• Measure responses of blobs and edges at various orientations and scales

• Idea 1: Record simple statistics (e.g., mean, std.) of absolute filter responses

Page 34: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Can you match the texture to the response?

Mean abs responses

FiltersA

B

C

1

2

3

Page 35: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Representing texture by mean abs response

Mean abs responses

Filters

Page 36: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Representing texture• Idea 2: take vectors of filter responses at each pixel and

cluster them, then take histograms (makes good features for machine learning)

Page 37: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

How is it that a 4MP image can be compressed to a few hundred KB without a noticeable change?

Compression

Page 38: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Lossy Image Compression (JPEG)

Block-based Discrete Cosine Transform (DCT)

Slides: Efros

Page 39: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

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

Page 40: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Image compression using DCT• Quantize

– More coarsely for high frequencies (which also tend to have smaller values)

– Many quantized high frequency values will be zero

• Encode– Can decode with inverse dct

Quantization table

Filter responses

Quantized values

Page 41: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

JPEG Compression Summary

1. Convert image to YCrCb2. Subsample color by factor of 2

– People have bad resolution for color

3. Split into blocks (8x8, typically), subtract 1284. For each block

a. Compute DCT coefficientsb. Coarsely quantize

• Many high frequency components will become zero

c. Encode (e.g., with Huffman coding)

http://en.wikipedia.org/wiki/YCbCrhttp://en.wikipedia.org/wiki/JPEG

Page 42: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Denoising

Additive Gaussian Noise

Gaussian Filter

Page 43: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Smoothing with larger standard deviations suppresses noise, but also blurs the image

Reducing Gaussian noise

Source: S. Lazebnik

Page 44: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Reducing salt-and-pepper noise by Gaussian smoothing

3x3 5x5 7x7

Page 45: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Alternative idea: Median filtering• A median filter operates over a window by

selecting the median intensity in the window

• Is median filtering linear?Source: K. Grauman

Page 46: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Median filter• What advantage does median filtering have over

Gaussian filtering?– Robustness to outliers

Source: K. Grauman

Page 47: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Median filterSalt-and-pepper noise Median filtered

Source: M. Hebert

• MATLAB: medfilt2(image, [h w])

Page 48: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Median vs. Gaussian filtering3x3 5x5 7x7

Gaussian

Median

Page 49: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Other non-linear filters• Weighted median (pixels further from center count less)

• Clipped mean (average, ignoring few brightest and darkest pixels)

• Bilateral filtering (weight by spatial distance and intensity difference)

http://vision.ai.uiuc.edu/?p=1455Image:

Bilateral filtering

Page 50: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Bilateral filters• Edge preserving: weights similar pixels more

Carlo Tomasi, Roberto Manduchi, Bilateral Filtering for Gray and Color Images, ICCV, 1998.

Original Gaussian Bilateral

spatial similarity (e.g., intensity)

Page 51: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Review of last three days

Page 52: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

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

0

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

Credit: S. Seitz

],[],[],[,

lnkmglkfnmhlk

[.,.]h[.,.]f

Review: Image filtering111

111

111

],[g

Page 53: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

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

0 10

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

],[],[],[,

lnkmglkfnmhlk

[.,.]h[.,.]f

Image filtering111

111

111

],[g

Credit: S. Seitz

Page 54: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

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

0 10 20

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

],[],[],[,

lnkmglkfnmhlk

[.,.]h[.,.]f

Image filtering111

111

111

],[g

Credit: S. Seitz

Page 55: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Filtering in spatial domain-101

-202

-101

* =

Page 56: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Filtering in frequency domain

FFT

FFT

Inverse FFT

=

Page 57: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Review of Last 3 Days• Linear filters for basic processing

– Edge filter (high-pass)– Gaussian filter (low-pass)

FFT of Gaussian

[-1 1]

FFT of Gradient Filter

Gaussian

Page 58: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Review of Last 3 Days• Derivative of Gaussian

Page 59: Templates, Image Pyramids, and Filter Banks Slides largely from Derek Hoeim, Univ. of Illinois.

Review of Last 3 Days• Applications of filters

– Template matching (SSD or Normxcorr2)• SSD can be done with linear filters, is sensitive to

overall intensity

– Gaussian pyramid• Coarse-to-fine search, multi-scale detection

– Laplacian pyramid• More compact image representation• Can be used for compositing in graphics


Recommended