+ All Categories
Home > Documents > Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer...

Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer...

Date post: 21-Dec-2015
Category:
View: 233 times
Download: 1 times
Share this document with a friend
Popular Tags:
45
Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer Vision, 60, 2 (2004), pp. 91-110 Presented by: Shalomi Eldar Based (in part) on slides by Ofir Pele, Kirill Dyagilev and Ayelet Dominitz SIFT SIFT Scale Invariant Feature Transform Vision Topics Seminar 2009 [] cn [] cn [] cn
Transcript

Distinctive image features from scale-invariant keypoints. David G. Lowe, Int. Journal of Computer Vision, 60, 2

(2004), pp. 91-110

Presented by: Shalomi EldarBased (in part) on slides by Ofir Pele, Kirill Dyagilev and Ayelet

Dominitz

SIFTSIFTScale Invariant Feature Transform

Vision Topics Seminar 2009

[ ]c n[ ]c n[ ]c n

2

Image Matching

Introduction

Detection Description

Applications

Motion Tracking

Fundamental aspect of many problems:

Object Recognition

3D structuresStereo Correspondence

3

Features Detection

Introduction

Detection Description

Applications

Give comprehensive description of

image.

Images from: M. Brown and D. G. Lowe. Recognising Panoramas. In Proceedings of the ) the International Conference on Computer Vision (ICCV2003

Enables matching!

What are the desired features’ features?

4

Features’ Features

Introduction

Detection Description

Applications

Robustness => Invariance to changes in

illumination, scale, rotation, affine, perspective.

Locality => robustness to occlusion and clutter.

Distinctiveness => easy to match to a large

database of objects.

Quantity => many features can be generated for

even small objects.

Efficiency => computationally “cheap”, real-time

performance.

5

SIFT Algorithm

Introduction

Detection Description

Applications

SIFT - Scale Invariant Feature Transform

Input: Image nxm.

Output: Set of descriptors of image’s

features.

6

SIFT Algorithm

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.

Introduction

Detection Description

Applications

Typical image of size 500x500

pixels produces about 2000 stable

keypoints Near Real-time performance:

Cascade approach – keep heavy operations only to keypoints that “survive”.

7

SIFT Algorithm

Introduction

Detection Description

Applications

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.

=> Application

- matching.

We need only 3 keypoints matches for reliable

identification!

8

Today’s Talk Orientation

Extracting Keypoints

Distinctive Description Matching Keypoints

Extrema detectionCorrect localizationChoosing robust keypoints only

Local invariant orientationBuilding keypoint descriptor

Nearest-neighbor algorithmFinding 3 matchesLeast-square affine approximation

Detection Description Application

1st part of the talk 2nd part of the talk Last part of the talk

Z

Z

Z Z

Z

Introduction

Detection Description

Applications

9

SIFT Algorithm

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.

Introduction

Detection Description

Applications

Collecting keypoint candidates…

10

Introduction

Detection Description

Applications

Why Extrema?

We want to find points that give us information about the objects in the image.

We will represent the image in a way that gives us these edges as this representations extrema points.

The information about the objects is in the object’s edges.

11

Scale-space Representation

Introduction

Detection Description

Applications

, , , , ,L x y G x y I x y

2 2 22

2

1, ,

2

x yG x y e

12

Low computation time - Only subtraction of smoothed

images!

Introduction

Detection Description

Applications

Scale-space Representation

, , , , , , ,

, , , ,

D x y G x y k G x y I x y

L x y k L x y

Difference-of-Gaussian (DoG):

13

Here’s what we get:

Introduction

Detection Description

Applications

DoG Pyramid

Different frequencies features

Scale invariance

14

X is selected if it is larger or smaller than all 26 neighbors.

Introduction

Detection Description

Applications

Extracting Keypoints

Low cost - only several usually checked.

15

Extrema detection product:

Introduction

Detection Description

Applications

Extracting Keypoints

Not all of them are good…

233x189 image => 832 DoG Keypoints.Each Keypoint is represented as . , ,x y

16

Problematic Keypoints

Introduction

Detection Description

Applications

Inaccurate localization (due to scaling and sampling).

Low contrast - sensitive to noise.Strong edge responses.

17

SIFT Algorithm

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.Filtering Keypoints…

Introduction

Detection Description

Applications

18

Inaccurate Keypoint Localization

Introduction

Detection Description

Applications

xSampling

Detected Extrema

True Extrema

The Problem:

19

Inaccurate Keypoint Localization

Introduction

Detection Description

Applications

The Solution:

xx

Dxx

x

DDxD

TT

T

2

2

2

1

Taylor expansion:

Minimize to find accurate extrema:

x

D

x

Dx

1

2

2

ˆ

Brown & Lowe 2002

If offset from sampling point is larger than 0.5 - Keypoint should be in a different sampling point.

20

Low Contrast Keypoints

Introduction

Detection Description

Applications

Function value at the extremun - xD ˆIf (pixel values in range [0,1]) - keypoint is discarded.

03.0ˆ xD

=> down to 729 Keypoints after min. contrast threshold.

21

Eliminating Edge Responses

Introduction

Detection Description

Applications

The Problem:“Edge“ keypoints are poorly

determined.

Point can move along edgePoint detection Point detection

=> unstable.

22

Eliminating Edge Responses

Introduction

Detection Description

Applications

The Solution:Check Keypoints “cornerness”.

Point constrained

High “cornerness” No dominant principal curvature component.

23

Finding “Cornerness”

Introduction

Detection Description

Applications

xx xy

xy yy

D DH

D D

Principal curvature are proportional to eigenvalues of Hessian matrix:max min,

2 2max

min

) ) ) 1)

) )

Tr H rr

Det H r

Harris (1988) showed:

Threshold: if r < 10 - ratio is too great, keypoint discarded.

24

Stable Keypoints

Introduction

Detection Description

Applications

=> down to 536 Keypoints after “cornerness” threshold.

25

Today’s Talk Orientation

Extracting Keypoints

Distinctive Description Matching Keypoints

Extrema detectionCorrect localizationChoosing robust keypoints only

Local invariant orientationBuilding keypoint descriptor

Nearest-neighbor algorithmFinding 3 matchesLeast-square affine approximation

Detection Description Application

1st part of the talk 2nd part of the talk Last part of the talk

Introduction

Detection Description

Applications

DEMO

26

SIFT Algorithm

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.Representation invariant to Rotation.

Introduction

Detection Description

Applications

27

Gradients

Introduction

Detection Description

Applications

yxLyxL

yxLyxLyx

yxLyxLyxLyxLyxm

,1,1

)1,)1,tan,

)1,)1,,1,1,

1

22

For each sample point we compute gradient’s magnitude and orientation:

28

Keypoints Orientation

Introduction

Detection Description

Applications

Create gradient histogram (36 bins) weighted by magnitude and Gaussian window ( is 1.5 times that of the scale of a keypoint)

Any histogram peak within 80% of highest peak is assigned to keypoint (multiple assignments possible).

29

SIFT Algorithm

2. Keypoint localization.

1. Scale-space extrema detection.

3. Orientation assignment.

4. Keypoint descriptor.

Distinctive (yet invariant) Keypoint Representation.

Introduction

Detection Description

Applications

30

What do we have (and what don’t)

For each Keypoint we have assigned location, scale and orientation.Provides invariance to these parameters.

Introduction

Detection Description

Applications

Do:

Sufficient distinctiveness.

Invariance to other parameters, such as 3D viewpoint and change of illumination.

Don’t:

31

Keypoint Descriptor

Introduction

Detection Description

Applications

Create 16 gradient histograms (8 bins) weighted by magnitude and Gaussian window ( is 0.5 times of the window)

Keypoint Descriptor -

128 (4x4x8) element vector

32

Change of Illumination

Introduction

Detection Description

Applications

Change of brightness => doesn’t effect gradients (difference of pixels value).

Change of contrast => doesn’t effect gradients (up to normalization).

Saturation (non-linear change of illumination) => affects magnitudes much more than orientation.=> Threshold gradient magnitudes to 0.2

and renormalize.

33

Today’s Talk Orientation

Extracting Keypoints

Distinctive Description Matching Keypoints

Extrema detectionCorrect localizationChoosing robust keypoints only

Local invariant orientationBuilding keypoint descriptor

Nearest-neighbor algorithmFinding 3 matchesLeast-square affine approximation

Detection Description Application

1st part of the talk 2nd part of the talk Last part of the talk

Introduction

Detection Description

Applications

34

Object RecognitionFor training images:

Extracting keypoints by SIFT.Creating descriptors database.

Performing detailed geometric fit check for each cluster.

Introduction

Detection Description

Applications

For query images:Extracting keypoints by SIFT.For each descriptor - finding nearest neighbor in DB. Finding cluster of at-least 3 keypoints.

35

Keypoint MatchingBest candidate mach:

Introduction

Detection Description

Applications

Problem: There are keypoints that do not have correct matches

(background clutter/were not detected in training images)

Nearest neighbor.

36

Keypoints MatchingSolution:

Introduction

Detection Description

Applications

nearest neighborsecond nearest neighbor

closest neighbor

found

closest neighbor

from different

object

Threshold:

< 0.8

Eliminates 90% of false matches while discarding less than 5% of correct matches.

37

No good algorithm for high dimensional spaces.

Finding Nearest Neighbor

Introduction

Detection Description

Applications

=> Use Best-Bin-First (BBF) algorithm (Beis and Lowe, 1997).

=> Returns closest neighbor with high probability.

Low cost - cutting off search after checking specific number of

candidates. Good enough - we only need to show 0.8 ratio between first and

second neighbor.

38

Clustering

We cluster 3 keypoints using Hough Transform.

In order to identify an object with high probability - we need more than one match:

Introduction

Detection Description

Applications

39

Geometric VerificationHough Transform found clusters of keypoints.

Introduction

Detection Description

Applications

We would like to verify that these points do match geometrically to trained image.

In order to do that we use least-squares approach to find affine transformation from training image to query image.

Now we can be pretty sure we got the right object!

40

Examples

Introduction

Detection Description

Applications

Training images: Query image: Recognition (clutter, occlusion, illumination, etc.):

41

Examples

Introduction

Detection Description

Applications

Training images: Query image: Recognition (different viewpoint, non-distinctive):

Total time to recognize all object in both examples is less

than 0.3 sec. (on 2GHz Pentium 4 processor)

42

Image Registration

Introduction

Detection Description

Applications

[Brown & Lowe 2003]

43

Examples

Introduction

Detection Description

Applications

Real time Object-Recognition:

Nose DEMO

Motion Tracking:

Recognition DEMO

44

Nearest-neighbor algorithmFinding 3 matchesLeast-square affine approximation

Extrema detectionCorrect localizationChoosing robust keypoints only

Summary

Introduction

Detection Description

Applications

Distinctive Description Matching Keypoints

Local invariant orientationBuilding keypoint descriptor

Detection Description Application

1st part of the talk 2nd part of the talk Last part of the talk

Extracting Keypoints

45

Thank you


Recommended