Local features: detection and description detection and description - - PowerPoint PPT Presentation

local features detection and description detection and
SMART_READER_LITE
LIVE PREVIEW

Local features: detection and description detection and description - - PowerPoint PPT Presentation

Local features: detection and description detection and description Kristen Grauman UT Austin UT Austin Local invariant features Detection of interest points Detection of interest points Harris corner detection Scale


slide-1
SLIDE 1

Local features: detection and description detection and description

Kristen Grauman UT‐Austin UT Austin

slide-2
SLIDE 2

Local invariant features

– Detection of interest points – Detection of interest points

  • Harris corner detection
  • Scale invariant blob detection: LoG
  • Scale invariant blob detection: LoG

– Description of local patches SIFT Hi t f i t d di t

  • SIFT : Histograms of oriented gradients
slide-3
SLIDE 3

Today

slide-4
SLIDE 4

Local features: main components

1) Detection: Identify the

interest points p

2) D i ti

E t t t

2) Description:Extract vector

feature descriptor surrounding each interest

] , , [

) 1 ( ) 1 ( 1 1 d

x x   x

g point.

) 2 ( ) 2 (

3) Matching: Determine

correspondence between

] , , [

) 2 ( ) 2 ( 1 2 d

x x   x

p descriptors in two views

Kristen Grauman

slide-5
SLIDE 5

Local features: desired properties

  • Repeatability

p y

– The same feature can be found in several images despite geometric and photometric transformations

S li

  • Saliency

– Each feature has a distinctive description

  • Compactness and efficiency
  • Compactness and efficiency

– Many fewer features than image pixels

  • Locality
  • ca ty

– A feature occupies a relatively small area of the image; robust to clutter and occlusion

Kristen Grauman

slide-6
SLIDE 6

Goal: interest operator repeatability p p y

  • We want to detect (at least some of) the

i t i b th i same points in both images.

N h t fi d t t h !

  • Yet we have to be able to run the detection

No chance to find true matches!

procedure independently per image.

slide-7
SLIDE 7

Goal: descriptor distinctiveness p

  • We want to be able to reliably determine

hi h i t ith hi h which point goes with which.

?

  • Must provide some invariance to geometric

and photometric differences between the two p views.

slide-8
SLIDE 8

Local features: main components

1) Detection: Identify the

interest points p

2) D i ti

E t t t

2) Description:Extract vector

feature descriptor surrounding each interest g point.

3) Matching: Determine

correspondence between p descriptors in two views

Kristen Grauman

slide-9
SLIDE 9
  • What points would you choose?
  • What points would you choose?

Kristen Grauman

slide-10
SLIDE 10

Corners as distinctive interest points

We should easily recognize the point by looking through a small window Shifti i d i di ti h ld i Shifting a window in any direction should give a large change in intensity

“edge”: no change “corner”: significant “flat” region: no change in no change along the edge direction significant change in all directions no change in all directions

Slide credit: Alyosha Efros, Darya Frolova, Denis Simakov

slide-11
SLIDE 11

Corners as distinctive interest points

    

y x x x

I I I I I I I I y x w M ) , (    

y y y x

I I I I y) , (

2 2 t i f i d i ti ( d i 2 x 2 matrix of image derivatives (averaged in neighborhood of a point).

I I   I I   I I I I   

Notation:

x I x   y I y   y x I I

y x

  

Notation:

Kristen Grauman

slide-12
SLIDE 12

What does this matrix reveal?

First, consider an axis-aligned corner:

slide-13
SLIDE 13

What does this matrix reveal?

First, consider an axis-aligned corner:

               

1 2 2

 

y x x

I I I I I I M        

2 2

y y x

I I I

This means dominant gradient directions align with This means dominant gradient directions align with x or y axis Look for locations where both λ’s are large Look for locations where both λ s are large. If either λ is close to 0, then this is not corner-like. What if we have a corner that is not aligned with the image axes?

slide-14
SLIDE 14

What does this matrix reveal?

Since M is symmetric, we have

T

X X M       

2 1

   

2 i i i

x Mx  

The eigenvalues of M reveal the amount of intensity change in the two principal orthogonal gradient directions in the window gradient directions in the window.

slide-15
SLIDE 15

Corner response function

“flat” region “edge”: “corner”: flat region 1 and 2 are small; edge : 1 >> 2 2 >> 1 corner : 1 and 2 are large, 1 ~ 2;

2 1

2 2 1 2 1 '

) ( f         ( trace ) det( M M   

slide-16
SLIDE 16

Harris corner detector

1) Compute M matrix for each image window to get their cornerness scores. 2) Find points whose surrounding window gave large corner response (f> threshold) ) f f 3) Take the points of local maxima, i.e., perform non-maximum suppression

slide-17
SLIDE 17

Example of Harris application

slide-18
SLIDE 18

C t

f

Example of Harris application

Compute corner response f

slide-19
SLIDE 19

Example of Harris application

Fi d i t ith l

f > threshold

Find points with large corner response: f > threshold

slide-20
SLIDE 20

Example of Harris application

T k l th i t f l l i f f Take only the points of local maxima of f

slide-21
SLIDE 21

Example of Harris application

slide-22
SLIDE 22

Example of Harris application

Kristen Grauman

slide-23
SLIDE 23

Example of Harris application

Compute corner response at every pixel.

Kristen Grauman

slide-24
SLIDE 24

Example of Harris application

Kristen Grauman

slide-25
SLIDE 25

Properties of the Harris corner detector

Rotation invariant?

T

X X M       

2 1

 

Yes Scale invariant?

 

2

slide-26
SLIDE 26

Properties of the Harris corner detector

Rotation invariant? Yes Scale invariant? No

All points will be classified as edges

Corner !

slide-27
SLIDE 27

Scale invariant interest points

How can we independently select interest points in each image, such that the detections are repeatable across different scales? across different scales?

Kristen Grauman

slide-28
SLIDE 28

Automatic Scale Selection

How to find corresponding patch sizes independently?

)) , ( ( )) , ( (

1 1

     x I f x I f

m m

i i i i  

Intuition:

  • Find scale that gives local maxima of some function
  • K. Grauman, B. Leibe

g f in both position and scale.

slide-29
SLIDE 29

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

 x I f

m

i i

slide-30
SLIDE 30

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

 x I f

m

i i

slide-31
SLIDE 31

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

 x I f

m

i i

slide-32
SLIDE 32

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

 x I f

m

i i

slide-33
SLIDE 33

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

 x I f

m

i i

slide-34
SLIDE 34

Automatic Scale Selection

  • Function responses for increasing scale (scale signature)
  • K. Grauman, B. Leibe

)) , ( (

1

 x I f

m

i i 

)) , ( (

1

   x I f

m

i i 

slide-35
SLIDE 35

What can be the “signature” function?

slide-36
SLIDE 36

Blob detection in 2D

Laplacian of Gaussian: Circularly symmetric

  • perator for blob detection in 2D

2 2 2

g g g     

2 2

y x g     

slide-37
SLIDE 37

Blob detection in 2D: scale selection

Laplacian-of-Gaussian = “blob” detector

2 2 2 2 2

y g x g g       

s scales filter

img1 img2 img3

Bastian Leibe

slide-38
SLIDE 38

Blob detection in 2D

We define the characteristic scale as the scale that produces peak of Laplacian response characteristic scale characteristic scale

Slide credit: Lana Lazebnik

slide-39
SLIDE 39

Example

Original image at ¾ the size

Kristen Grauman

slide-40
SLIDE 40

Original image at ¾ the size

Kristen Grauman

slide-41
SLIDE 41

Kristen Grauman

slide-42
SLIDE 42

Kristen Grauman

slide-43
SLIDE 43

Kristen Grauman

slide-44
SLIDE 44

Kristen Grauman

slide-45
SLIDE 45

Kristen Grauman

slide-46
SLIDE 46

Scale invariant interest points



Interest points are local maxima in both position and scale.

 

) ( ) (   L L 

  scale

) ( ) (  

yy xx

L L 

   

 List of (x, y, σ)

 Squared filter response maps

Kristen Grauman

slide-47
SLIDE 47

Scale-space blob detector: Example

Image credit: Lana Lazebnik

slide-48
SLIDE 48

Technical detail

We can approximate the Laplacian with a difference of Gaussians; more efficient to i l t implement.

 

2

( , , ) ( , , ) L G x y G x y     

 

( , , ) ( , , )

xx yy

L G x y G x y     ( ) ( ) D G G k G

(Laplacian)

( , , ) ( , , ) DoG G x y k G x y    

(Difference of Gaussians)

slide-49
SLIDE 49

Local features: main components

1) Detection: Identify the

interest points p

2) D i ti

E t t t

2) Description:Extract vector

feature descriptor surrounding each interest

] , , [

) 1 ( ) 1 ( 1 1 d

x x   x

g point.

) 2 ( ) 2 (

3) Matching: Determine

correspondence between

] , , [

) 2 ( ) 2 ( 1 2 d

x x   x

p descriptors in two views

Kristen Grauman

slide-50
SLIDE 50

Geometric transformations

e.g. scale, t l ti translation, rotation

slide-51
SLIDE 51

Photometric transformations

Figure from T. Tuytelaars ECCV 2006 tutorial

slide-52
SLIDE 52

Raw patches as local descriptors

The simplest way to describe the p y neighborhood around an interest point is to write down the list of intensities to form a feature vector intensities to form a feature vector. But this is very sensitive to even f small shifts, rotations.

slide-53
SLIDE 53

SIFT descriptor [Lowe 2004]

  • Use histograms to bin pixels within sub-patches

according to their orientation. according to their orientation.

2

Why subpatches? Why subpatches? Why does SIFT have some illumination invariance?

Kristen Grauman

slide-54
SLIDE 54

Making descriptor rotation invariant g p

CSE 576: Computer Vision

  • Rotate patch according to its dominant gradient
  • rientation

Image from Matthew Brown

  • This puts the patches into a canonical orientation.
slide-55
SLIDE 55

SIFT descriptor [Lowe 2004]

  • Extraordinarily robust matching technique
  • Can handle changes in viewpoint

g p

  • Up to about 60 degree out of plane rotation
  • Can handle significant changes in illumination
  • Sometimes even day vs. night (below)
  • Fast and efficient—can run in real time
  • Lots of code available
  • http://people.csail.mit.edu/albert/ladypack/wiki/index.php/Known_implementations_of_SIFT

Steve Seitz

slide-56
SLIDE 56

Example

NASA Mars Rover images

slide-57
SLIDE 57

Example

NASA Mars Rover images with SIFT feature matches Figure by Noah Snavely

slide-58
SLIDE 58

SIFT properties SIFT properties

  • Invariant to

– Scale – Rotation

  • Partially invariant to

– Illumination changes – Camera viewpoint Occlusion clutter – Occlusion, clutter

slide-59
SLIDE 59

Local features: main components

1) Detection: Identify the

interest points p

2) D i ti

E t t t

2) Description:Extract vector

feature descriptor surrounding each interest g point.

3) Matching: Determine

correspondence between p descriptors in two views

Kristen Grauman

slide-60
SLIDE 60

Matching local features

Kristen Grauman

slide-61
SLIDE 61

Matching local features

?

T t did t t h fi d t h th t h

Image 1 Image 2

To generate candidate matches, find patches that have the most similar appearance (e.g., lowest SSD) Simplest approach: compare them all, take the closest (or Simplest approach: compare them all, take the closest (or closest k, or within a thresholded distance)

Kristen Grauman

slide-62
SLIDE 62

Ambiguous matches

? ? ? ?

At h t SSD l d h d t h?

Image 1 Image 2

At what SSD value do we have a good match? To add robustness to matching, can consider ratio : distance to best match / distance to second best match distance to best match / distance to second best match If low, first match looks good. If high, could be ambiguous match.

Kristen Grauman

slide-63
SLIDE 63

Matching SIFT Descriptors

  • Nearest neighbor (Euclidean distance)
  • Threshold ratio of nearest to 2nd nearest descriptor

Lowe IJCV 2004

slide-64
SLIDE 64

Applications of local invariant features invariant features

  • Wide baseline stereo

Wide baseline stereo

  • Motion tracking
  • Panoramas
  • Mobile robot navigation
  • 3D reconstruction
  • Recognition
slide-65
SLIDE 65

Automatic mosaicing

http://www.cs.ubc.ca/~mbrown/autostitch/autostitch.html

slide-66
SLIDE 66

Wide baseline stereo

[Image from T. Tuytelaars ECCV 2006 tutorial]

slide-67
SLIDE 67

Recognition of specific objects, scenes

Schmid and Mohr 1997 Sivic and Zisserman, 2003 Rothganger et al. 2003 Lowe 2002

Kristen Grauman

slide-68
SLIDE 68

Summary

  • Interest point detection

H i d t t – Harris corner detector – Laplacian of Gaussian, automatic scale selection

  • Invariant descriptors

– Rotation according to dominant gradient direction – Rotation according to dominant gradient direction – Histograms for robustness to small shifts and translations (SIFT descriptor)

slide-69
SLIDE 69

Tomorrow: grouping and fitting Tomorrow: grouping and fitting

  • See reading on course page

See reading on course page

  • Submit paper reviews via email tonight