image features: scale invariant interest point detection › ~fidler › slides › csc420 ›...

49
Image Features: Scale Invariant Interest Point Detection Sanja Fidler CSC420: Intro to Image Understanding 1 / 19

Upload: others

Post on 04-Jul-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Image Features:

Scale Invariant Interest Point Detection

Sanja Fidler CSC420: Intro to Image Understanding 1 / 19

Page 2: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

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

[Source: K. Grauman, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 2 / 19

Page 3: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

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

[Source: K. Grauman, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 2 / 19

Page 4: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

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

Extract features at a variety of scales, e.g., by using multiple resolutions in apyramid, and then matching features at the same level.

When does this work?

[Source: K. Grauman, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 2 / 19

Page 5: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

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

More efficient to extract features that are stable in both location and scale.

[Source: K. Grauman, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 2 / 19

Page 6: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

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

Find scale that gives local maxima of a function f in both position and scale.

[Source: K. Grauman, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 2 / 19

Page 7: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 8: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 9: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 10: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 11: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 12: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 13: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 14: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 15: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 16: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 17: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 18: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Automatic Scale Selection

Function responses for increasing scale (scale signature).

[Source: T. Tuyttellaars, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 3 / 19

Page 19: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

What Can the Signature Function Be?

Lindeberg (1998): extrema in the Laplacian of Gaussian (LoG).

Lowe (2004) proposed computing a set of sub-octave Difference of Gaussianfilters looking for 3D (space+scale) maxima in the resulting structure.

[Source: R. Szeliski, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 4 / 19

Page 20: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

What Can the Signature Function Be?

Lindeberg (1998): extrema in the Laplacian of Gaussian (LoG).

Lowe (2004) proposed computing a set of sub-octave Difference of Gaussianfilters looking for 3D (space+scale) maxima in the resulting structure.

[Source: R. Szeliski, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 5 / 19

Page 21: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

Laplacian of Gaussian: We mentioned it for edge detection

∇2g(x , y , σ) =∂2g(x , y , σ)

∂x2+∂2g(x , y , σ)

∂y2, where g is a Gaussian

It is a circularly symmetric operator (finds difference in all directions)

It can be used for 2D blob detection! How?

[Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 6 / 19

Page 22: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

Laplacian of Gaussian: We mentioned it for edge detection

∇2g(x , y , σ) = − 1

πσ4

(1− x2 + y2

2σ2

)exp− x2+y2

2σ2

It is a circularly symmetric operator (finds difference in all directions)

It can be used for 2D blob detection! How?

[Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro to Image Understanding 6 / 19

Page 23: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

It can be used for 2D blob detection! How?

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 7 / 19

Page 24: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

It can be used for 2D blob detection! How?

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 7 / 19

Page 25: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

It can be used for 2D blob detection! How?

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 7 / 19

Page 26: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

It can be used for 2D blob detection! How?

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 7 / 19

Page 27: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

It can be used for 2D blob detection! How?

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 7 / 19

Page 28: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection in 2D: Scale Selection

Laplacian of Gaussian = blob detector

[Source: B. Leibe, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 8 / 19

Page 29: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Characteristic Scale

We define the characteristic scale as the scale that produces peak(minimum or maximum) of the Laplacian response

[Source: S. Lazebnik]Sanja Fidler CSC420: Intro to Image Understanding 9 / 19

Page 30: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 31: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 32: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 33: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 34: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 35: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: K. Grauman]Sanja Fidler CSC420: Intro to Image Understanding 10 / 19

Page 36: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Scale Invariant Interest Points

Sanja Fidler CSC420: Intro to Image Understanding 11 / 19

Page 37: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Example

[Source: S. Lazebnik]

Sanja Fidler CSC420: Intro to Image Understanding 12 / 19

Page 38: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

That’s nice. But can we do faster?

Remember again the Laplacian of Gaussian:

∇2g(x , y , σ) =∂2g(x , y , σ)

∂x2+∂2g(x , y , σ)

∂y2, where g is a Gaussian

So computing our interest points means two convolutions (one for

each derivative) per scale

Larger scale (σ), larger the filters (more work for convolution)

Can we do it faster?

Sanja Fidler CSC420: Intro to Image Understanding 13 / 19

Page 39: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Blob Detection – Laplacian of Gaussian

That’s nice. But can we do faster?

Remember again the Laplacian of Gaussian:

∇2g(x , y , σ) =∂2g(x , y , σ)

∂x2+∂2g(x , y , σ)

∂y2, where g is a Gaussian

So computing our interest points means two convolutions (one for

each derivative) per scale

Larger scale (σ), larger the filters (more work for convolution)

Can we do it faster?

Sanja Fidler CSC420: Intro to Image Understanding 13 / 19

Page 40: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Approximate the Laplacian of Gaussian

[Source: K. Grauman]

Sanja Fidler CSC420: Intro to Image Understanding 14 / 19

Page 41: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

Lowe (2004) proposed computing a set of sub-octave Difference of Gaussianfilters looking for 3D (space+scale) maxima in the resulting structure

[Source: R. Szeliski, slide credit: R. Urtasun]

Sanja Fidler CSC420: Intro to Image Understanding 15 / 19

Page 42: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

First compute a Gaussian image pyramid

[Source: F. Flores-Mangas]

Sanja Fidler CSC420: Intro to Image Understanding 16 / 19

Page 43: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

First compute a Gaussian image pyramid

Compute Difference of Gaussians

[Source: F. Flores-Mangas]

Sanja Fidler CSC420: Intro to Image Understanding 16 / 19

Page 44: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

First compute a Gaussian image pyramid

Compute Difference of Gaussians

At every scale

[Source: F. Flores-Mangas]

Sanja Fidler CSC420: Intro to Image Understanding 16 / 19

Page 45: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

First compute a Gaussian image pyramid

Compute Difference of Gaussians

At every scale

Find local maxima in scale

A bit of pruning of bad maxima and we’re done!

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 16 / 19

Page 46: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Lowe’s DoG

First compute a Gaussian image pyramid

Compute Difference of Gaussians

At every scale

Find local maxima in scale

A bit of pruning of bad maxima and we’re done!

[Source: F. Flores-Mangas]Sanja Fidler CSC420: Intro to Image Understanding 16 / 19

Page 47: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Other Interest Point Detectors (Many Good Options!)

Lindeberg: Laplacian of Gaussian

Lowe: DoG (typically called the SIFT interest point detector)

Mikolajczyk & Schmid: Hessian/Harris-Laplacian/Affine

Tuyttelaars & Van Gool: EBR and IBR

Matas: MSER

Kadir & Brady: Salient Regions

Sanja Fidler CSC420: Intro to Image Understanding 17 / 19

Page 48: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Summary – Stuff You Should Know

To match the same scene or object under different viewpoint, it’s useful tofirst detect interest points (keypoints)

We looked at these interest point detectors:

Harris corner detector: translation and rotation but not scale invariantScale invariant interest points: Laplacian of Gaussians and Lowe’s DoG

Harris’ approach computes I 2x , I 2y and Ix Iy , and blurs each one with a

Gaussian. Denote with: A = g ∗ I 2x , B = g ∗ (Ix Iy ) and C = g ∗ I 2y . Then

Mxy =

(A(x , y) B(x , y)B(x , y) C (x , y)

)characterizes the shape of EWSSD for a window

around (x , y). Compute “cornerness” score for each (x , y) asR(x , y) = det(Mxy )− α trace(Mxy )2. Find R(x , y) > threshold and donon-maxima suppression to find corners.

Lowe’s approach creates a Gaussian pyramid with s blurring levels peroctave, computes difference between consecutive levels, and finds localextrema in space and scale

Sanja Fidler CSC420: Intro to Image Understanding 18 / 19

Page 49: Image Features: Scale Invariant Interest Point Detection › ~fidler › slides › CSC420 › lecture7.pdf · [Source: K. Grauman, slide credit: R. Urtasun]Sanja Fidler CSC420: Intro

Local Descriptors – Next Time

Detection: Identify the interest points.

Description: Extract a feature descriptor around each interest point.

Matching: Determine correspondence between descriptors in two views.

[Source: K. Grauman]

Sanja Fidler CSC420: Intro to Image Understanding 19 / 19