36
Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Embed Size (px)

Citation preview

Page 1: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Feature extraction: Corners

9300 Harris Corners Pkwy, Charlotte, NC

Page 2: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Why extract features?• Motivation: panorama stitching

• We have two images – how do we combine them?

Page 3: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Why extract features?• Motivation: panorama stitching

• We have two images – how do we combine them?

Step 1: extract featuresStep 2: match features

Page 4: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Why extract features?• Motivation: panorama stitching

• We have two images – how do we combine them?

Step 1: extract featuresStep 2: match featuresStep 3: align images

Page 5: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Characteristics of good features

• Repeatability• The same feature can be found in several images despite geometric

and photometric transformations

• Saliency• Each feature is distinctive

• Compactness and efficiency• Many fewer features than image pixels

• Locality• A feature occupies a relatively small area of the image; robust to

clutter and occlusion

Page 6: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Applications

Feature points are used for:• Image alignment • 3D reconstruction• Motion tracking• Robot navigation• Indexing and database retrieval• Object recognition

Page 7: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Finding Corners

• Key property: in the region around a corner, image gradient has two or more dominant directions

• Corners are repeatable and distinctive

C.Harris and M.Stephens. "A Combined Corner and Edge Detector.“ Proceedings of the 4th Alvey Vision Conference: pages 147--151. 

Page 8: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Basic Idea

• We should easily recognize the point by looking through a small window

• Shifting a window in any direction should give a large change in intensity

“edge”:no change along the edge direction

“corner”:significant change in all directions

“flat” region:no change in all directions

Source: A. Efros

Page 9: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y

Change in appearance of window w(x,y) for the shift [u,v]:

I(x, y)E(u, v)

E(3,2)

w(x, y)

Page 10: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y

I(x, y)E(u, v)

E(0,0)

w(x, y)

Change in appearance of window w(x,y) for the shift [u,v]:

Page 11: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y

IntensityShifted intensity

Window function

orWindow function w(x,y) =

Gaussian1 in window, 0 outside

Source: R. Szeliski

Change in appearance of window w(x,y) for the shift [u,v]:

Page 12: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y

We want to find out how this function behaves for small shifts

Change in appearance of window w(x,y) for the shift [u,v]:

E(u, v)

Page 13: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y

Local quadratic approximation of E(u,v) in the neighborhood of (0,0) is given by the second-order Taylor expansion:

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

We want to find out how this function behaves for small shifts

Change in appearance of window w(x,y) for the shift [u,v]:

Page 14: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y Second-order Taylor expansion of E(u,v) about (0,0):

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

),(),(),(),(2

),(),(),(2),(

),(),(),(),(2

),(),(),(2),(

),(),(),(),(2),(

,

,

,

,

,

vyuxIyxIvyuxIyxw

vyuxIvyuxIyxwvuE

vyuxIyxIvyuxIyxw

vyuxIvyuxIyxwvuE

vyuxIyxIvyuxIyxwvuE

xyyx

xyyx

uv

xxyx

xxyx

uu

xyx

u

Page 15: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y Second-order Taylor expansion of E(u,v) about (0,0):

),(),(),(2)0,0(

),(),(),(2)0,0(

),(),(),(2)0,0(

0)0,0(

0)0,0(

0)0,0(

,

,

,

yxIyxIyxwE

yxIyxIyxwE

yxIyxIyxwE

E

E

E

yxyx

uv

yyyx

vv

xxyx

uu

v

u

v

u

EE

EEvu

E

EvuEvuE

vvuv

uvuu

v

u

)0,0()0,0(

)0,0()0,0(][

2

1

)0,0(

)0,0(][)0,0(),(

Page 16: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: Mathematics

2

,

( , ) ( , ) ( , ) ( , )x y

E u v w x y I x u y v I x y Second-order Taylor expansion of E(u,v) about (0,0):

v

u

yxIyxwyxIyxIyxw

yxIyxIyxwyxIyxw

vuvuE

yxy

yxyx

yxyx

yxx

,

2

,

,,

2

),(),(),(),(),(

),(),(),(),(),(

][),(

),(),(),(2)0,0(

),(),(),(2)0,0(

),(),(),(2)0,0(

0)0,0(

0)0,0(

0)0,0(

,

,

,

yxIyxIyxwE

yxIyxIyxwE

yxIyxIyxwE

E

E

E

yxyx

uv

yyyx

vv

xxyx

uu

v

u

Page 17: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner Detection: MathematicsThe quadratic approximation simplifies to

2

2,

( , ) x x y

x y x y y

I I IM w x y

I I I

where M is a second moment matrix computed from image derivatives:

v

uMvuvuE ][),(

M

Page 18: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

The surface E(u,v) is locally approximated by a quadratic form. Let’s try to understand its shape.

Interpreting the second moment matrix

v

uMvuvuE ][),(

yx yyx

yxx

III

IIIyxwM

,2

2

),(

Page 19: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

2

1

,2

2

0

0),(

yx yyx

yxx

III

IIIyxwM

First, consider the axis-aligned case (gradients are either horizontal or vertical)

If either λ is close to 0, then this is not a corner, so look for locations where both are large.

Interpreting the second moment matrix

Page 20: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Consider a horizontal “slice” of E(u, v):

Interpreting the second moment matrix

This is the equation of an ellipse.

const][

v

uMvu

Page 21: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Consider a horizontal “slice” of E(u, v):

Interpreting the second moment matrix

This is the equation of an ellipse.

RRM

2

11

0

0

The axis lengths of the ellipse are determined by the eigenvalues and the orientation is determined by R

direction of the slowest change

direction of the fastest change

(max)-1/2

(min)-1/2

const][

v

uMvu

Diagonalization of M:

Page 22: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Visualization of second moment matrices

Page 23: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Visualization of second moment matrices

Page 24: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Interpreting the eigenvalues

1

2

“Corner”1 and 2 are large,

1 ~ 2;

E increases in all directions

1 and 2 are small;

E is almost constant in all directions

“Edge” 1 >> 2

“Edge” 2 >> 1

“Flat” region

Classification of image points using eigenvalues of M:

Page 25: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Corner response function

“Corner”R > 0

“Edge” R < 0

“Edge” R < 0

“Flat” region

|R| small

22121

2 )()(trace)det( MMR

α: constant (0.04 to 0.06)

Page 26: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris detector: Steps

1. Compute Gaussian derivatives at each pixel

2. Compute second moment matrix M in a Gaussian window around each pixel

3. Compute corner response function R

4. Threshold R

5. Find local maxima of response function (nonmaximum suppression)

C.Harris and M.Stephens. “A Combined Corner and Edge Detector.” Proceedings of the 4th Alvey Vision Conference: pages 147—151, 1988. 

Page 27: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris Detector: Steps

Page 28: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris Detector: StepsCompute corner response R

Page 29: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris Detector: StepsFind points with large corner response: R>threshold

Page 30: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris Detector: StepsTake only the points of local maxima of R

Page 31: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Harris Detector: Steps

Page 32: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Invariance and covariance• We want corner locations to be invariant to photometric

transformations and covariant to geometric transformations• Invariance: image is transformed and corner locations do not change• Covariance: if we have two transformed versions of the same image,

features should be detected in corresponding locations

Page 33: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Affine intensity change

• Only derivatives are used => invariance to intensity shift I I + b

• Intensity scaling: I a I

R

x (image coordinate)

threshold

R

x (image coordinate)

Partially invariant to affine intensity change

I a I + b

Page 34: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Image translation

• Derivatives and window function are shift-invariant

Corner location is covariant w.r.t. translation

Page 35: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Image rotation

Second moment ellipse rotates but its shape (i.e. eigenvalues) remains the same

Corner location is covariant w.r.t. rotation

Page 36: Feature extraction: Corners 9300 Harris Corners Pkwy, Charlotte, NC

Scaling

All points will be classified as edges

Corner

Corner location is not covariant to scaling!