Designing descriptors Overview of todays lecture Why do we need - - PowerPoint PPT Presentation

designing descriptors overview of today s lecture
SMART_READER_LITE
LIVE PREVIEW

Designing descriptors Overview of todays lecture Why do we need - - PowerPoint PPT Presentation

Designing descriptors Overview of todays lecture Why do we need feature descriptors? Designing feature descriptors. MOPS descriptor. GIST descriptor. Histogram of Textons descriptor. HOG descriptor. SURF descriptor.


slide-1
SLIDE 1

Designing descriptors

slide-2
SLIDE 2
  • Why do we need feature descriptors?
  • Designing feature descriptors.
  • MOPS descriptor.
  • GIST descriptor.
  • Histogram of Textons descriptor.
  • HOG descriptor.
  • SURF descriptor.
  • SIFT.

Overview of today’s lecture

slide-3
SLIDE 3

Why do we need feature descriptors?

slide-4
SLIDE 4

If we know where the good features are, how do we match them?

slide-5
SLIDE 5
slide-6
SLIDE 6

Designing feature descriptors

slide-7
SLIDE 7

Geometric transformations

  • bjects will appear at different scales,

translation and rotation

slide-8
SLIDE 8

What is the best descriptor for an image feature?

slide-9
SLIDE 9

Image patch

Just use the pixel values of the patch Perfectly fine if geometry and appearance is unchanged

(a.k.a. template matching)

What are the problems?

( )

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

vector of intensity values

slide-10
SLIDE 10

Image patch

Just use the pixel values of the patch Perfectly fine if geometry and appearance is unchanged

(a.k.a. template matching)

What are the problems? How can you be less sensitive to absolute intensity values?

( )

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

vector of intensity values

slide-11
SLIDE 11

Image gradients

Use pixel differences

( )

1 2 3 4 5 6 7 8 9

  • +

+

  • +

vector of x derivatives

What are the problems?

Feature is invariant to absolute intensity values

‘binary descriptor’

slide-12
SLIDE 12

Image gradients

Use pixel differences

( )

1 2 3 4 5 6 7 8 9

  • +

+

  • +

vector of x derivatives

What are the problems? How can you be less sensitive to deformations?

Feature is invariant to absolute intensity values

slide-13
SLIDE 13

Color histogram

Invariant to changes in scale and rotation

What are the problems?

colors

Count the colors in the image using a histogram

slide-14
SLIDE 14

Color histogram

Invariant to changes in scale and rotation

What are the problems?

colors

Count the colors in the image using a histogram

slide-15
SLIDE 15

Color histogram

Invariant to changes in scale and rotation

What are the problems? How can you be more sensitive to spatial layout?

colors

Count the colors in the image using a histogram

slide-16
SLIDE 16

Spatial histograms

What are the problems?

Compute histograms over spatial ‘cells’ Retains rough spatial layout Some invariance to deformations

slide-17
SLIDE 17

Spatial histograms

What are the problems? How can you be completely invariant to rotation?

Compute histograms over spatial ‘cells’ Retains rough spatial layout Some invariance to deformations

slide-18
SLIDE 18

Orientation normalization

Use the dominant image gradient direction to normalize the orientation of the patch

What are the problems? save the orientation angle along with

slide-19
SLIDE 19

MOPS descriptor

slide-20
SLIDE 20

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

slide-21
SLIDE 21

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

Given a feature Get 40 x 40 image patch, subsample every 5th pixel

(what’s the purpose of this step?)

Subtract the mean, divide by standard deviation

(what’s the purpose of this step?)

Haar Wavelet Transform

(what’s the purpose of this step?)

slide-22
SLIDE 22

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

Given a feature Get 40 x 40 image patch, subsample every 5th pixel

(low frequency filtering, absorbs localization errors)

Subtract the mean, divide by standard deviation

(what’s the purpose of this step?)

Haar Wavelet Transform

(what’s the purpose of this step?)

slide-23
SLIDE 23

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

Given a feature Get 40 x 40 image patch, subsample every 5th pixel

(low frequency filtering, absorbs localization errors)

Subtract the mean, divide by standard deviation

(removes bias and gain)

Haar Wavelet Transform

(what’s the purpose of this step?)

slide-24
SLIDE 24

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

Given a feature Get 40 x 40 image patch, subsample every 5th pixel

(low frequency filtering, absorbs localization errors)

Subtract the mean, divide by standard deviation

(removes bias and gain)

Haar Wavelet Transform

(low frequency projection)

slide-25
SLIDE 25

Haar Wavelets

(actually, Haar-like features)

Use responses of a bank of filters as a descriptor

slide-26
SLIDE 26

Haar wavelets filters

Haar wavelet responses can be computed with filtering

image patch

  • 1
  • 1

+1 +1

slide-27
SLIDE 27

Haar wavelet responses can be computed with filtering

image patch

=

slide-28
SLIDE 28

Haar wavelets filters

Haar wavelet responses can be computed with filtering

image patch

  • 1
  • 1

+1 +1

  • 45

16

slide-29
SLIDE 29

Haar wavelets filters

Haar wavelet responses can be computed with filtering

image patch

  • 1
  • 1

+1 +1

  • 45

16

Haar wavelet responses can be computed efficiently (in constant time) with integral images

slide-30
SLIDE 30

Discriptor = 12 dim vector

image patch

  • 45
  • 3

15

  • 21

9

  • 1

6

  • 14
  • 9

22

  • 31
  • 13
slide-31
SLIDE 31

Discriptor = 12 dim vector

image patch

  • 45
  • 3

15

  • 21

9

  • 1

6

  • 14
  • 9

22

  • 31
  • 13

[ ]

slide-32
SLIDE 32

Multi-Scale Oriented Patches (MOPS)

Multi-Image Matching using Multi-Scale Oriented Patches. M. Brown, R. Szeliski and S. Winder. International Conference on Computer Vision and Pattern Recognition (CVPR2005). pages 510-517

Given a feature Get 40 x 40 image patch, subsample every 5th pixel

(low frequency filtering, absorbs localization errors)

Subtract the mean, divide by standard deviation

(removes bias and gain)

Haar Wavelet Transform

(low frequency projection)

slide-33
SLIDE 33

GIST descriptor

slide-34
SLIDE 34

GIST

1. Compute filter responses (filter bank of Gabor filters) 2. Divide image patch into 4 x 4 cells 3. Compute filter response averages for each cell 4. Size of descriptor is 4 x 4 x N, where N is the size of the filter bank

Filter bank 4 x 4 cell averaged filter responses

slide-35
SLIDE 35

Gabor Filters

(1D examples)

slide-36
SLIDE 36

High frequency along axis Lower frequency (diagonal) Even lower frequency

2D Gabor Filters

slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Odd Gabor filter Gaussian Derivative

… looks a lot like…

slide-40
SLIDE 40

Even Gabor filter Laplacian

… looks a lot like…

slide-41
SLIDE 41

For small scales, the Gabor filters become derivative operators

σ = 2 f = 1/6

slide-42
SLIDE 42

Directional edge detectors

slide-43
SLIDE 43

GIST

1. Compute filter responses (filter bank of Gabor filters) 2. Divide image patch into 4 x 4 cells 3. Compute filter response averages for each cell 4. Size of descriptor is 4 x 4 x N, where N is the size of the filter bank

Filter bank 4 x 4 cell averaged filter responses

What is the GIST descriptor encoding?

Rough spatial distribution of image gradients

slide-44
SLIDE 44

SURF descriptor

slide-45
SLIDE 45

SURF

(‘Speeded’ Up Robust Features) Compute Haar wavelet response at each pixel in patch

slide-46
SLIDE 46

SURF

(‘Speeded’ Up Robust Features)

4 x 4 cell grid

Each cell is represented by 4 values:

How big is the SURF descriptor?

5 x 5 sample points Haar wavelets filters

(Gaussian weighted from center)

slide-47
SLIDE 47

SURF

(‘Speeded’ Up Robust Features)

4 x 4 cell grid

Each cell is represented by 4 values:

How big is the SURF descriptor?

5 x 5 sample points Haar wavelets filters

(Gaussian weighted from center)

64 dimensions

slide-48
SLIDE 48
slide-49
SLIDE 49

Integral Image

1 5 2 2 4 1 2 1 1 1 6 8 3 12 15 5 15 19

  • riginal

image integral image

slide-50
SLIDE 50

Integral Image

1 5 2 2 4 1 2 1 1 1 6 8 3 12 15 5 15 19

  • riginal

image integral image

Can find the sum of any block using 3 operations

slide-51
SLIDE 51

1 5 2 2 4 1 2 1 1 1 6 8 3 12 15 5 15 19

image integral image

What is the sum of the bottom right 2x2 square?

slide-52
SLIDE 52

SIFT

slide-53
SLIDE 53

SIFT

(Scale Invariant Feature Transform) SIFT describes both a detector and descriptor

  • 1. Multi-scale extrema detection
  • 2. Keypoint localization
  • 3. Orientation assignment
  • 4. Keypoint descriptor
slide-54
SLIDE 54
  • 4. Keypoint descriptor

Image Gradients

(4 x 4 pixel per cell, 4 x 4 cells)

SIFT descriptor

(16 cells x 8 directions = 128 dims)

Gaussian weighting

(sigma = half width)

slide-55
SLIDE 55

Basic reading:

  • Szeliski textbook, Sections 4.1.2, 14.1.2.

References