103
Feature matching Digital Visual Effects, Spring 2005 Yung-Yu Chuang 2005/3/16 with slides by Trevor Darrell Cordelia Schmid, David Lowe, Darya Frolova, Denis Simakov, Robert Collins and Jiwon Kim

Feature matching

  • Upload
    nara

  • View
    53

  • Download
    5

Embed Size (px)

DESCRIPTION

Feature matching. Digital Visual Effects, Spring 2005 Yung-Yu Chuang 2005/3/16. with slides by Trevor Darrell Cordelia Schmid , David Lowe, Darya Frolova, Denis Simakov , Robert Collins and Jiwon Kim. Announcements. - PowerPoint PPT Presentation

Citation preview

Page 1: Feature matching

Feature matching

Digital Visual Effects, Spring 2005Yung-Yu Chuang2005/3/16

with slides by Trevor Darrell Cordelia Schmid, David Lowe, Darya Frolova, Denis Simakov, Robert Collins and Jiwon Kim

Page 2: Feature matching

Announcements

• Project #1 is online, you have to write a program, not just using available software.

• Send me the members of your team.• Sign up for scribe at the forum.

Page 3: Feature matching

Blender

http://www.blender3d.com/cms/Home.2.0.htmlBlender could be used for your project #3 matchmove.

Page 4: Feature matching

In the forum

• Barycentric coordinate• RBF

Page 5: Feature matching

Outline

• Block matching• Features• Harris corner detector• SIFT• SIFT extensions• Applications

Page 6: Feature matching

Correspondence by block matching• Points are individually ambiguous• More unique matches are possible with

small regions of images

Page 7: Feature matching

Correspondence by block matching

Page 8: Feature matching

Sum of squared distance

Page 9: Feature matching

Image blocks as a vector

Page 10: Feature matching

Image blocks as a vector

Page 11: Feature matching

Matching metrics

Page 12: Feature matching

Features

• Properties of features• Detector: locates feature• Descriptor and matching metrics:

describes and matches features

• In the example for block matching:– Detector: none– Descriptor: block– Matching: distance

Page 13: Feature matching

Desired properties for features

• Invariant: invariant to scale, rotation, affine, illumination and noise for robust matching across a substantial range of affine distortion, viewpoint change and so on.

• Distinctive: a single feature can be correctly matched with high probability

Page 14: Feature matching

Harris corner detector

Page 15: Feature matching

Moravec corner detector (1980)• We should easily recognize the point by lookin

g through a small window• Shifting a window in any direction should give

a large change in intensity

Page 16: Feature matching

Moravec corner detector

flat

Page 17: Feature matching

Moravec corner detector

flat

Page 18: Feature matching

Moravec corner detector

flat edge

Page 19: Feature matching

Moravec corner detector

flat edgecorner

isolated point

Page 20: Feature matching

Moravec corner detectorChange of intensity for the shift [u,v]:

2

,

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

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

IntensityShifted intensity

Window function

Four shifts: (u,v) = (1,0), (1,1), (0,1), (-1, 1)Look for local maxima in min{E}

Page 21: Feature matching

Problems of Moravec detector• Noisy response due to a binary window function• Only a set of shifts at every 45 degree is considered• Responds too strong for edges because only minim

um of E is taken into account

Harris corner detector (1988) solves these problems.

Page 22: Feature matching

Harris corner detector

Noisy response due to a binary window function Use a Gaussian function

Page 23: Feature matching

Harris corner detector

Only a set of shifts at every 45 degree is consideredConsider all small shifts by Taylor’s expansion

yxyx

yxy

yxx

yxIyxIyxwC

yxIyxwB

yxIyxwA

BvCuvAuvuE

,

,

2

,

2

22

),(),(),(

),(),(

),(),(

2),(

Page 24: Feature matching

Harris corner detector

( , ) ,u

E u v u v Mv

Equivalently, for small shifts [u,v] we have a bilinear approximation:

2

2,

( , ) x x y

x y x y y

I I IM w x y

I I I

, where M is a 22 matrix computed from image derivatives:

Page 25: Feature matching

Harris corner detector

Responds too strong for edges because only minimum of E is taken into accountA new corner measurement

Page 26: Feature matching

Harris corner detector

( , ) ,u

E u v u v Mv

Intensity change in shifting window: eigenvalue analysis

1, 2 – eigenvalues of M

direction of the slowest chan

ge

direction of the fastest change

(max)-1/2

(min)-1/2

Ellipse E(u,v) = const

Page 27: Feature matching

Harris corner detector

1

2

Corner1 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

Classification of image points using eigenvalues of M:

Page 28: Feature matching

Harris corner detector

Measure of corner response:

2det traceR M k M

1 2

1 2

det

trace

M

M

(k – empirical constant, k = 0.04-0.06)

Page 29: Feature matching

Another view

Page 30: Feature matching

Another view

Page 31: Feature matching

Another view

Page 32: Feature matching

Summary of Harris detector

Page 33: Feature matching

Harris corner detector (input)

Page 34: Feature matching

Corner response R

Page 35: Feature matching

Threshold on R

Page 36: Feature matching

Local maximum of R

Page 37: Feature matching

Harris corner detector

Page 38: Feature matching

Harris Detector: Summary• Average intensity change in direction [u,v] can be e

xpressed as a bilinear form:

• Describe a point in terms of eigenvalues of M:measure of corner response

• A good (corner) point should have a large intensity change in all directions, i.e. R should be large positive

( , ) ,u

E u v u v Mv

2

1 2 1 2R k

Page 39: Feature matching

Harris Detector: Some Properties• Partial invariance to affine intensity change

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

Intensity scale: I a I

R

x (image coordinate)

threshold

R

x (image coordinate)

Page 40: Feature matching

Harris Detector: Some Properties• Rotation invariance

Ellipse rotates but its shape (i.e. eigenvalues) remains the sameCorner response R is invariant to image rotation

Page 41: Feature matching

Harris Detector is rotation invariant

Repeatability rate:# correspondences

# possible correspondences

Page 42: Feature matching

Harris Detector: Some Properties

• But: non-invariant to image scale!

All points will be classified as edges

Corner !

Page 43: Feature matching

Harris Detector: Some Properties• Quality of Harris detector for different scale

changes

Repeatability rate:# correspondences

# possible correspondences

Page 44: Feature matching

SIFT (Scale Invariant Feature

Transform)

Page 45: Feature matching

SIFT• SIFT is an carefully designed procedure

with empirically determined parameters for the invariant and distinctive features.

Page 46: Feature matching

SIFT stages:

• Scale-space extrema detection• Keypoint localization• Orientation assignment• Keypoint descriptor

( )local descriptor

detector

descriptor

A 500x500 image gives about 2000 features

Page 47: Feature matching

1. Detection of scale-space extrema• For scale invariance, search for stable features

across all possible scales using a continuous function of scale, scale space.

• SIFT uses DoG filter for scale space because it is efficient and as stable as scale-normalized Laplacian of Gaussian.

Page 48: Feature matching

DoG filteringConvolution with a variable-scale Gaussian

Difference-of-Gaussian (DoG) filter

Convolution with the DoG filter

Page 49: Feature matching

Scale space doubles for the next octave

K=2(1/s), s+3 images for each octave

Page 50: Feature matching

Keypoint localization

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

Page 51: Feature matching

Decide scale sampling frequency

• It is impossible to sample the whole space, tradeoff efficiency with completeness.

• Decide the best sampling frequency by experimenting on 32 real image subject to synthetic transformations.

Page 52: Feature matching

Decide scale sampling frequency

S=3, for larger s, too many unstable features

Page 53: Feature matching

Decide scale sampling frequency

Page 54: Feature matching

Pre-smoothing

=1.6, plus a double expansion

Page 55: Feature matching

Scale invariance

Page 56: Feature matching

2. Accurate keypoint localization• Reject points with low contrast and poorly

localized along an edge• Fit a 3D quadratic function for sub-pixel

maxima

Page 57: Feature matching

Accurate keypoint localization

If has offset larger than 0.5, sample point is changed.

If is less than 0.03 (low contrast), it is discarded.

Page 58: Feature matching

Eliminating edge responses

r=10

Let

Keep the points with

Page 59: Feature matching

Keypoint detector

(a) 233x189 image(b) 832 DOG extrema(c) 729 left after peak value threshold(d) 536 left after testing ratio of principle curvatures

Page 60: Feature matching

3. Orientation assignment

• By assigning a consistent orientation, the keypoint descriptor can be orientation invariant.

• For a keypoint, L is the image with the closest scale,

orientation histogram

Page 61: Feature matching

Orientation assignment

Page 62: Feature matching

Orientation assignment

Page 63: Feature matching

Orientation assignment

Page 64: Feature matching

Orientation assignment

Page 65: Feature matching

Orientation assignment

Page 66: Feature matching

Orientation assignment

Page 67: Feature matching

Orientation assignment

Page 68: Feature matching

Orientation assignment

0 2

36-bin orientation histogram over 360°,

weighted by m and 1.5*scale falloffPeak is the orientationLocal peak within 80% creates

multiple orientationsAbout 15% has multiple orientations

Page 69: Feature matching

Orientation invariance

Page 70: Feature matching

4. Local image descriptor

• Thresholded image gradients are sampled over 16x16 array of locations in scale space

• Create array of orientation histograms• 8 orientations x 4x4 histogram array = 128 dimensions• Normalized, clip the components larger than 0.2

Page 71: Feature matching

Why 4x4x8?

Page 72: Feature matching

Sensitivity to affine change

Page 73: Feature matching

SIFT demo

Page 74: Feature matching

Maxima in D

Page 75: Feature matching

Remove low contrast

Page 76: Feature matching

Remove edges

Page 77: Feature matching

SIFT descriptor

Page 78: Feature matching
Page 79: Feature matching

Estimated rotation

• Computed affine transformation from rotated image to original image:

0.7060 -0.7052 128.4230 0.7057 0.7100 -128.9491 0 0 1.0000

• Actual transformation from rotated image to original image:

0.7071 -0.7071 128.6934 0.7071 0.7071 -128.6934 0 0 1.0000

Page 80: Feature matching

SIFT extensions

Page 81: Feature matching

PCA

Page 82: Feature matching

PCA-SIFT

• Only change step 4• Pre-compute an eigen-space for local gradient

patches of size 41x41• 2x39x39=3042 elements• Only keep 20 components• A more compact descriptor

Page 83: Feature matching

GLOH (Gradient location-orientation histogram)

17 location bins16 orientation binsAnalyze the 17x16=272-d eigen-space, keep 128 components

Page 84: Feature matching

Applications

Page 85: Feature matching

Recognition

SIFT Features

Page 86: Feature matching

3D object recognition

Page 87: Feature matching

3D object recognition

Page 88: Feature matching

Office of the past

Video of desk Images from PDF

Track & recognize

T T+1

Internal representation

Scene Graph

Desk Desk

Page 89: Feature matching

…> 5000images

change in viewing angle

Image retrieval

Page 90: Feature matching

22 correct matches

Image retrieval

Page 91: Feature matching

…> 5000images

change in viewing angle

+ scale change

Image retrieval

Page 92: Feature matching

Robot location

Page 93: Feature matching

Robotics: Sony AiboSIFT is used for Recognizing

charging station

Communicating with visual cards

Teaching object recognition

soccer

Page 94: Feature matching

Structure from Motion

• The SFM Problem– Reconstruct scene geometry and camera

motion from two or more images

Track2D Features Estimate

3D Optimize(Bundle Adjust)

Fit Surfaces

SFM Pipeline

Page 95: Feature matching

Structure from Motion

Poor mesh Good mesh

Page 96: Feature matching

Augmented reality

Page 97: Feature matching

Automatic image stitching

Page 98: Feature matching

Automatic image stitching

Page 99: Feature matching

Automatic image stitching

Page 100: Feature matching

Automatic image stitching

Page 101: Feature matching

Automatic image stitching

Page 102: Feature matching

Automatic image stitching

Page 103: Feature matching

Reference• Chris Harris, Mike Stephens,

A Combined Corner and Edge Detector, 4th Alvey Vision Conference, 1988, pp147-151.

• David G. Lowe, Distinctive Image Features from Scale-Invariant Keypoints, International Journal of Computer Vision, 60(2), 2004, pp91-110.

• Yan Ke, Rahul Sukthankar, PCA-SIFT: A More Distinctive Representation for Local Image Descriptors, CVPR 2004.

• Krystian Mikolajczyk, Cordelia Schmid, A performance evaluation of local descriptors, Submitted to PAMI, 2004.

• SIFT Keypoint Detector, David Lowe.• Matlab SIFT Tutorial, University of Toronto.