Professional Documents
Culture Documents
(SIFT)
Outline
What is SIFT
Algorithm overview
Object Detection
Summary
Overview
1999
Generates image features, keypoints
invariant to image scaling and rotation
partially invariant to change in illumination and 3D
camera viewpoint
many can be extracted from typical images
highly distinctive
Algorithm overview
Scale-space extrema detection
Uses difference-of-Gaussian function
Keypoint localization
Sub-pixel location and scale fit to a model
Orientation assignment
1 or more for each keypoint
Keypoint descriptor
Created from local image gradients
Scale space
Definition: L( x, y, ) G( x, y, ) I ( x, y)
where G( x, y, ) 1 2 e ( x y ) / 2
2
Scale space
Keypoints are detected using scale-space extrema in
difference-of-Gaussian function D
D definition:
D( x, y, ) (G( x, y, k ) G( x, y, )) I ( x, y)
L( x, y, k ) L( x, y, )
Efficient to compute
Relationship of D to 2 2G
Close approximation to scale-normalized
Laplacian of Gaussian,
2 2G
Diffusion equation:
Approximate G/:
giving,
G
2G
G G( x, y, k ) G( x, y, )
G( x, y, k ) G( x, y, )
2G
k
G( x, y, k ) G( x, y, ) (k 1) 2 2G
2k2
2k
2
2k
2
k
first octave
second octave
third octave
fourth octave
Difference-of-Gaussian images
first octave
second octave
third octave
fourth octave
Frequency of sampling
There is no minimum
Best frequency determined experimentally
Finding extrema
Sample point is selected only if it is a
minimum or a maximum of these points
Localization
3D quadratic function is fit to the local sample
points
Start with Taylor expansion with sample point
D
1
D
D
(
as the origin
where ( x, y, )T
Take the derivative with respect to X, and set
D D
it to 0, giving
0
X
X X
D Dis the location of the keypoint
This is a 3x3 linear system
T
Localization
2D
2
2
D
y
2D
2D
y
2D
y 2
2D
yx
2D
D
D
2D
y
yx
y
x
2
D
D
x
x 2
2
2 D Dki ,j1 2 Dki , j Dki ,j1
2
1
2 D ( Dki11, j Dki 11, j ) ( Dki11, j Dki11, j )
y
4
Filtering
Contrast (use prev. equation):
T
1
D
) D
D(
X
2
Edge-iness:
Use ratio of principal curvatures to throw out poorly
defined peaks
Dxx Dxy
H
Orientation assignment
Descriptor computed relative to keypoints
orientation achieves rotation invariance
Precomputed along with mag. for all levels
(useful in descriptor computation)
m( x, y ) ( L( x 1, y ) L( x 1, y )) 2 ( L( x, y 1) L( x, y 1)) 2
Keypoint images
Descriptor
Descriptor
Descriptor
Best results achieved with 4x4x8 = 128
descriptor size
Normalize to unit length
Reduces effect of illumination change
Object Detection
Create a database of
keypoints from
training images
Match keypoints to a
database
Nearest neighbor
search
PCA-SIFT
Summary
Scale space
Difference-of-Gaussian
Localization
Filtering
Orientation assignment
Descriptor, 128 elements