Professional Documents
Culture Documents
Aaron Bobick
School of Interactive Computing
Corners in A Corners in B
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Administrivia
• PS 3: Will be out tonight (Sept 26). Will be due
Sunday Oct 6th, 11:55pm
• It is application of the last few lectures. Mostly straight forward
Matlab but if you’re linear algebra is rusty it can take a while to
figure out. You have been warned…
• It is cool
• You have been warned…
• Why?
• Want to compute a fundamental matrix to recover geometry
• Robotics/Vision: See how a bunch of points move from one frame
to another. Allows computation of how camera moved -> depth ->
moving objects
• Build a panorama…
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
no chance to match!
More motivation…
• Feature points are used also for:
• Image alignment (e.g. homography or fundamental
matrix)
• 3D reconstruction
• Motion tracking
• Object recognition
• Indexing and database retrieval
• Robot navigation
• … other
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
• Repeatability/Precision
• The same feature can be found in several images despite geometric
and photometric transformations
• Saliency/Matchability
• Each feature has a distinctive description
• 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
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Finding Corners
= ∑ w( x, y) [ I ( x + u, y + v) − I ( x, y)]
2
E (u , v)
x, y
Source: R. Szeliski
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
= ∑ w( x, y) [ I ( x + u, y + v) − I ( x, y)]
2
E (u , v)
x, y
I(x, y)
E(u, v)
E(3,2)
E(0,0)
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
= ∑ w( x, y) [ I ( x + u, y + v) − I ( x, y)]
2
E (u , v)
x, y
Euu (u, v) = ∑ 2 w( x, y )I x ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u, y + v) − I ( x, y )]I xx ( x + u, y + v)
x, y
Euv (u, v) = ∑ 2 w( x, y )I y ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u , y + v) − I ( x, y )]I xy ( x + u , y + v)
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Euu (u, v) = ∑ 2 w( x, y )I x ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u, y + v) − I ( x, y )]I xx ( x + u, y + v)
x, y
Euv (u, v) = ∑ 2 w( x, y )I y ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u , y + v) − I ( x, y )]I xy ( x + u , y + v)
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Euu (u, v) = ∑ 2 w( x, y )I x ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u, y + v) − I ( x, y )]I xx ( x + u, y + v)
x, y
Euv (u, v) = ∑ 2 w( x, y )I y ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u , y + v) − I ( x, y )]I xy ( x + u , y + v)
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Euu (u, v) = ∑ 2 w( x, y )I x ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u, y + v) − I ( x, y )]I xx ( x + u, y + v)
x, y
Euv (u, v) = ∑ 2 w( x, y )I y ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u , y + v) − I ( x, y )]I xy ( x + u , y + v)
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
+ ∑ 2 w( x, y )[I ( x + u, y + v) − I ( x, y )]I xx ( x + u, y + v)
x, y
=0
Euv (u, v) = ∑ 2 w( x, y )I y ( x + u, y + v) I x ( x + u, y + v)
x, y
+ ∑ 2 w( x, y )[I ( x + u , y + v) − I ( x, y )]I xy ( x + u , y + v)
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
E vv (0,0) = ∑ 2 w( x, y )I y ( x, y ) I y ( x, y )
x, y
Euv (0,0) = ∑ 2 w( x, y )I x ( x, y ) I y ( x, y )
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
∑
x , y
w( x, y ) I x ( x, y ) I y ( x, y ) ∑ w( x, y) I ( x, y) v
2
y
x, y
E (0,0) = 0
Eu (0,0) = 0
Ev (0,0) = 0
Euu (0,0) = ∑ 2 w( x, y )I x ( x, y ) I x ( x, y )
x, y
E vv (0,0) = ∑ 2 w( x, y )I y ( x, y ) I y ( x, y )
x, y
Euv (0,0) = ∑ 2 w( x, y )I x ( x, y ) I y ( x, y )
x, y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
u
E (u , v) ≈ [u v] M
v
I x2 IxI y
M = ∑ w( x, y ) 2
x, y I x I y I y Each product is
Without a rank 1 2x2
weight
M
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
u
E (u , v) ≈ [u v] M
v
I x2 IxI y
M = ∑ w( x, y ) 2
x, y I x I y I y
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
(λmax)-1/2
(λmin)-1/2
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
λ1
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Edge
Other corners:
• Shi-Tomasi ’94:
• “Cornerness” = min (λ1, λ2) Find local maximums
• cvGoodFeaturesToTrack(...)
• Reportedly better for region undergoing affine deformations
det M λ0 λ1
• Brown, M., Szeliski, R., and Winder, S. (2005): =
tr M λ0 + λ1
• there are others…
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
• Rotation invariance?
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
• Rotation invariance
Intensity scale: I → a I
R R
threshold
Repeatability rate:
# correspondences
# possible correspondences
f Image 1 f Image 2
scale = 1/2
f Image 1 f Image 2
scale = 1/2
f f f Good !
bad bad
region size region size region size
← Laplacian →
• Harris-Laplacian1 scale
Find local maximum of:
• Harris corner detector in
space (image y
coordinates)
• Laplacian in scale ← Harris → x
← DoG →
Find local maximum of:
– Difference of Gaussians in
space and scale y
← DoG → x
1 K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001
2 D.Lowe. “Distinctive Image Features from Scale-Invariant Keypoints”. IJCV 2004
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Extrema points
Contrast > C
Not on edge
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Repeatability rate:
# correspondences
# possible correspondences
K.Mikolajczyk, C.Schmid. “Indexing Based on Scale Invariant Interest Points”. ICCV 2001
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Methods:
1. Harris-Laplacian [Mikolajczyk, Schmid]: maximize Laplacian over
scale, Harris’ measure of corner response over the image
2. SIFT [Lowe]: maximize Difference of Gaussians over scale and space
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Point Descriptors
• We know how to detect points
• Next question: How to match them?
?
Point descriptor should be:
1. Invariant
2. Distinctive
Features 1: Harris
CS 4495 Computer Vision – A. Bobick and other corners
Next time…
• SIFT, SURF, SFOP, oh my…