Local features: detection and description Kristen Grauman UT - - PDF document

local features detection and description
SMART_READER_LITE
LIVE PREVIEW

Local features: detection and description Kristen Grauman UT - - PDF document

2/27/2017 Local features: detection and description Kristen Grauman UT Austin Tues Feb 27 Announcements Reminder: Slides posted on course webpage Midterm next Thursday Mar 9 Closed book One 8.5x11 sheet of notes allowed 1


slide-1
SLIDE 1

2/27/2017 1

Local features: detection and description

Kristen Grauman UT Austin Tues Feb 27

Announcements

  • Reminder: Slides posted on course webpage
  • Midterm next Thursday Mar 9

– Closed book – One 8.5x11” sheet of notes allowed

slide-2
SLIDE 2

2/27/2017 2

Multiple views

Hartley and Zisserman Lowe

Matching, invariant features, stereo vision, instance recognition

Fei-Fei Li

Slide credit: Kristen Grauman

Important tool for multiple views: Local features

How to detect which local features to match? How to describe the features we detect? Multi-view matching relies on local feature correspondences.

slide-3
SLIDE 3

2/27/2017 3

Review questions

  • What properties should an interest operator

have?

  • What will determine how many interest points a

given image has?

  • What does it mean to have multiple local

maxima at a single pixel during LoG scale space selection?

Outline

  • Last time: Interest point detection

– Harris corner detector – Laplacian of Gaussian, automatic scale selection

  • Today: Local descriptors and matching

– SIFT descriptors for image patches – Matching sets of features

slide-4
SLIDE 4

2/27/2017 4

Local features: main components

1) Detection: Identify the

interest points

2) Description:Extract vector

feature descriptor surrounding each interest point.

3) Matching: Determine

correspondence between descriptors in two views

] , , [

) 1 ( ) 1 ( 1 1 d

x x   x ] , , [

) 2 ( ) 2 ( 1 2 d

x x   x

Slide credit: Kristen Grauman

Goal: interest operator repeatability

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

same points in both images.

  • Yet we have to be able to run the detection

procedure independently per image.

No chance to find true matches!

slide-5
SLIDE 5

2/27/2017 5

Goal: descriptor distinctiveness

  • We want to be able to reliably determine

which point goes with which.

  • Must provide some invariance to geometric

and photometric differences between the two views.

?

Recall: 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) 3) Take the points of local maxima, i.e., perform non-maximum suppression        

y y y x y x x x

I I I I I I I I y x w M ) , (

slide-6
SLIDE 6

2/27/2017 6

Recall: Harris Detector: Steps Recall: Harris Detector: Steps

Compute corner response f

slide-7
SLIDE 7

2/27/2017 7

Recall: Harris Detector: Steps

Find points with large corner response: f > threshold

Recall: Harris Detector: Steps

Take only the points of local maxima of f

slide-8
SLIDE 8

2/27/2017 8

Recall: Harris Detector: Steps

Recall: Automatic scale selection

Intuition:

  • Find scale that gives local maxima of some function

f in both position and scale. f

region size Image 1

f

region size Image 2

s1 s2

slide-9
SLIDE 9

2/27/2017 9

Recall: Blob detection for scale selection

Laplacian-of-Gaussian = “blob” detector

2 2 2 2 2

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

filter scales

img1 img2 img3

) ( ) (  

yy xx

L L 

1 2 3 4 5

 List of (x, y, σ)

scale

Recall: Scale invariant interest points

Interest points are local maxima in both position and scale.

Squared filter response maps

slide-10
SLIDE 10

2/27/2017 10

Example

Original image at ¾ the size

Slide credit: Kristen Grauman

Original image at ¾ the size

Scaled down image Original image

Slide credit: Kristen Grauman

slide-11
SLIDE 11

2/27/2017 11

Scaled down image Original image

Slide credit: Kristen Grauman

Scaled down image Original image

Slide credit: Kristen Grauman

slide-12
SLIDE 12

2/27/2017 12

Scaled down image Original image

Slide credit: Kristen Grauman

Scaled down image Original image

Slide credit: Kristen Grauman

slide-13
SLIDE 13

2/27/2017 13

Scaled down image Original image

Slide credit: Kristen Grauman

Scale-space blob detector: Example

Image credit: Lana Lazebnik

slide-14
SLIDE 14

2/27/2017 14

Local features: main components

1) Detection: Identify the

interest points

2) Description:Extract vector

feature descriptor surrounding each interest point.

3) Matching: Determine

correspondence between descriptors in two views

] , , [

) 1 ( ) 1 ( 1 1 d

x x   x ] , , [

) 2 ( ) 2 ( 1 2 d

x x   x

Slide credit: Kristen Grauman

Geometric transformations

e.g. scale, translation, rotation

slide-15
SLIDE 15

2/27/2017 15

Photometric transformations

Figure from T. Tuytelaars ECCV 2006 tutorial

Raw patches as local descriptors

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

Figure: Andrew Zisserman

slide-16
SLIDE 16

2/27/2017 16

Scale Invariant Feature Transform (SIFT) descriptor [Lowe 2004]

  • Use histograms to bin pixels within sub-patches

according to their orientation.

2p

gradients binned by orientation subdivided local patch Final descriptor = concatenation of all histograms, normalize histogram per grid cell

Slide credit: Kristen Grauman

http://www.vlfeat.org/overview/sift.html Interest points and their scales and orientations (random subset of 50) SIFT descriptors

Scale Invariant Feature Transform (SIFT) descriptor [Lowe 2004]

Slide credit: Kristen Grauman

slide-17
SLIDE 17

2/27/2017 17

CSE 576: Computer Vision

Making descriptor rotation invariant

Image from Matthew Brown

  • Rotate patch according to its dominant gradient
  • rientation
  • This puts the patches into a canonical orientation.
  • Extraordinarily robust matching technique
  • Can handle changes in viewpoint
  • 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, e.g. http://www.vlfeat.org/overview/sift.html

Slide credit: Steve Seitz

SIFT descriptor [Lowe 2004]

slide-18
SLIDE 18

2/27/2017 18

Example

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

Example

slide-19
SLIDE 19

2/27/2017 19

Local features: main components

1) Detection: Identify the

interest points

2) Description:Extract vector

feature descriptor surrounding each interest point.

3) Matching: Determine

correspondence between descriptors in two views

Matching local features

Slide credit: Kristen Grauman

slide-20
SLIDE 20

2/27/2017 20

Matching local features

?

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 closest k, or within a thresholded distance)

Image 1 Image 2

Slide credit: Kristen Grauman

Ambiguous matches

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

Image 1 Image 2

? ? ? ?

Slide credit: Kristen Grauman

slide-21
SLIDE 21

2/27/2017 21

Matching SIFT Descriptors

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

Lowe IJCV 2004 http://www.vlfeat.org/overview/sift.html Interest points and their scales and orientations (random subset of 50) SIFT descriptors

Scale Invariant Feature Transform (SIFT) descriptor [Lowe 2004]

Slide credit: Kristen Grauman

slide-22
SLIDE 22

2/27/2017 22

SIFT (preliminary) matches

http://www.vlfeat.org/overview/sift.html

img1 img1 img2 img2

Slide credit: Kristen Grauman

Value of local (invariant) features

  • Complexity reduction via selection of distinctive points
  • Describe images, objects, parts without requiring

segmentation – Local character means robustness to clutter, occlusion

  • Robustness: similar descriptors in spite of noise, blur, etc.
slide-23
SLIDE 23

2/27/2017 23

Applications of local invariant features

  • Wide baseline stereo
  • Motion tracking
  • Panoramas
  • Mobile robot navigation
  • 3D reconstruction
  • Recognition

Automatic mosaicing

Matthew Brown http://matthewalunbrown.com/autostitch/autostitch.html

slide-24
SLIDE 24

2/27/2017 24

Wide baseline stereo

[Image from T. Tuytelaars ECCV 2006 tutorial]

Photo tourism [Snavely et al.]

slide-25
SLIDE 25

2/27/2017 25

Recognition of specific objects, scenes

Slide credit: J. Sivic

Viewpoint Scale Lighting Occlusion

Google Goggles

slide-26
SLIDE 26

2/27/2017 26

Summary

  • Interest point detection

– Harris corner detector – Laplacian of Gaussian, automatic scale selection

  • Invariant descriptors

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

Coming up

Additional questions we need to address to achieve these applications:

  • Fitting a parametric transformation given putative

matches

  • Dealing with outlier correspondences
  • Exploiting geometry to restrict locations of possible

matches

  • Triangulation, reconstruction
  • Efficiency when indexing so many keypoints

Slide credit: Kristen Grauman

slide-27
SLIDE 27

2/27/2017 27

Coming up: robust feature-based alignment

Source: L. Lazebnik

  • Extract features

Source: L. Lazebnik

Coming up: robust feature-based alignment

slide-28
SLIDE 28

2/27/2017 28

  • Extract features
  • Compute putative matches

Source: L. Lazebnik

Coming up: robust feature-based alignment

  • Extract features
  • Compute putative matches
  • Loop:
  • Hypothesize transformation T (small group of putative

matches that are related by T)

Source: L. Lazebnik

Coming up: robust feature-based alignment

slide-29
SLIDE 29

2/27/2017 29

  • Extract features
  • Compute putative matches
  • Loop:
  • Hypothesize transformation T (small group of putative

matches that are related by T)

  • Verify transformation (search for other matches consistent

with T)

Source: L. Lazebnik

Coming up: robust feature-based alignment

  • Extract features
  • Compute putative matches
  • Loop:
  • Hypothesize transformation T (small group of putative

matches that are related by T)

  • Verify transformation (search for other matches consistent

with T)

Source: L. Lazebnik

Coming up: robust feature-based alignment