59
2011.4.14 Reporter: Fei-Fei Chen SIFT (scale invariant feature transform)

SIFT (scale invariant feature transform)

  • Upload
    josie

  • View
    115

  • Download
    0

Embed Size (px)

DESCRIPTION

SIFT (scale invariant feature transform). 2011.4.14 Reporter: Fei-Fei Chen. What is Computer Vision?. Local Invariant Feature. Applications. Wide-baseline matching Object recognition Texture recognition Scene classification Robot wandering Motion tracking Change in illumination - PowerPoint PPT Presentation

Citation preview

Page 1: SIFT  (scale invariant feature transform)

2011.4.14Reporter: Fei-Fei Chen

SIFT (scale invariant feature

transform)

Page 2: SIFT  (scale invariant feature transform)

What is Computer Vision?

Page 3: SIFT  (scale invariant feature transform)

Local Invariant Feature

Page 4: SIFT  (scale invariant feature transform)

Wide-baseline matchingObject recognitionTexture recognitionScene classificationRobot wanderingMotion trackingChange in illumination3D camera viewpointetc.

Applications

Page 5: SIFT  (scale invariant feature transform)

Object recognition

Page 6: SIFT  (scale invariant feature transform)

3D object recognition

Page 7: SIFT  (scale invariant feature transform)

Image retrieval (1/3)

…> 5000images

change in viewing angle

Page 8: SIFT  (scale invariant feature transform)

Image retrieval (2/3)

22 correct matches

Page 9: SIFT  (scale invariant feature transform)

Image retrieval (3/3)

…> 5000images

change in viewing angle+ scale change

Page 10: SIFT  (scale invariant feature transform)

Automatic image stitching (1/2)

Page 11: SIFT  (scale invariant feature transform)

Automatic image stitching (2/2)

Page 12: SIFT  (scale invariant feature transform)

Motivation: Matching ProblemFind corresponding features across two or

more views.

Page 13: SIFT  (scale invariant feature transform)

Elements to be matched are image patches of fixed size

Task: Find the best (most similar) patch in a second image.

Motivation: Patch Matching

Page 14: SIFT  (scale invariant feature transform)

Intuition: This would be a good match for matching, since it is very distinctive.

Not all patches are created equal

Page 15: SIFT  (scale invariant feature transform)

Intuition: This would be a BAD patch for matching, since it is not very distinctive.

Not all patches are created equal

Page 16: SIFT  (scale invariant feature transform)

Intuitively, junctions of contours.Generally more stable features over change of viewpoint.Intuitively, large variations in the neighborhood of the

point in all directions.They are good features to match!

What are corners?

Page 17: SIFT  (scale invariant feature transform)

SIFTDetection of Scale-Space ExtremaAccuracy Keypoint localizationOrientation assignmentKeypoint descriptor

detector

descriptor

Page 18: SIFT  (scale invariant feature transform)

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.

1. Detection of scale-space extrema

Page 19: SIFT  (scale invariant feature transform)

DoG filteringConvolution with a variable-scale Gaussian

Difference-of-Gaussian (DoG) filter

Convolution with the DoG filter

Page 20: SIFT  (scale invariant feature transform)

Scale space doubles for the next octave

K=2(1/s)

Dividing into octave is for efficiency only.

Page 21: SIFT  (scale invariant feature transform)

Detection of scale-space extrema

Page 22: SIFT  (scale invariant feature transform)

Keypoint localization

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

Page 23: SIFT  (scale invariant feature transform)

2. Accurate keypoint localization

Reject (1) points with low contrast (flat) (2) poorly localized along an edge

(edge)Fit a 3D quadratic function for sub-pixel

maxima

1

65

0-1 +1

31ˆ x

22 3262626)( xxxxxf

062)(' xxf

316

313

3126)ˆ(

2

xf

316

31

Page 24: SIFT  (scale invariant feature transform)

2. Accurate keypoint localizationTaylor series of several variables

Two variables

222

22

221)0,0(),( y

yyfxy

yxfx

xxfy

yfx

xffyxf

yx

yyf

yxf

yxf

xxf

yxyx

yf

xff

yx

f 22

22

21

00

xx

xxx

0x 2

2

21

ffff T

T

Page 25: SIFT  (scale invariant feature transform)

2. Accurate keypoint localization

Taylor expansion in a matrix form, x is a vector, f maps x to a scalar

nxf

xfxf

1

1

2

2

2

2

1

2

2

2

22

2

12

21

2

21

2

21

2

nnn

n

n

xf

xxf

xxf

xxf

xf

xxf

xxf

xxf

xf

Hessian matrix(often symmetric)

gradient

Page 26: SIFT  (scale invariant feature transform)

2D illustration

Page 27: SIFT  (scale invariant feature transform)

Derivation of matrix form

xffxffffT

2

2

2

2

2

2

21

xxxxxx

Page 28: SIFT  (scale invariant feature transform)

2. Accurate keypoint localization

x is a 3-vectorRemove sample point if offset is larger than

0.5Throw out low contrast (<0.03)

Page 29: SIFT  (scale invariant feature transform)

Eliminating edge responses

r=10

Let

Keep the points with

Hessian matrix at keypoint location

Page 30: SIFT  (scale invariant feature transform)

3. Orientation assignmentBy assigning a consistent orientation, the

keypoint descriptor can be orientation invariant.

For a keypoint, L is the Gaussian-smoothed image with the closest scale,

orientation histogram (36 bins)

(Lx, Ly)

m

θ

Page 31: SIFT  (scale invariant feature transform)

Orientation assignment

Page 32: SIFT  (scale invariant feature transform)

Orientation assignment

Page 33: SIFT  (scale invariant feature transform)

Orientation assignment

Page 34: SIFT  (scale invariant feature transform)

Orientation assignment

σ=1.5*scale of the keypoint

Page 35: SIFT  (scale invariant feature transform)

Orientation assignment

Page 36: SIFT  (scale invariant feature transform)

Orientation assignment

Page 37: SIFT  (scale invariant feature transform)

Orientation assignmentaccurate peak position is determined by fitting

Page 38: SIFT  (scale invariant feature transform)

Orientation assignment

0 2

36-bin orientation histogram over 360°, weighted by m and 1.5*scale falloff

Peak is the orientation

Local peak within 80% creates multiple orientations

About 15% has multiple orientations and they contribute a lot to stability

Page 39: SIFT  (scale invariant feature transform)

4. Local image descriptor

σ=0.5*width

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

• Create array of orientation histograms (w.r.t. key orientation)• 8 orientations x 4x4 histogram array = 128 dimensions• Normalized for intensity variance, clip values larger than 0.2,

renormalize

Page 40: SIFT  (scale invariant feature transform)

Conclusions for SIFT Detection of Scale-Space Extrema

Accuracy Keypoint localization

Orientation assignment

Keypoint descriptor

For scale invariance

For rotation invariance

Remove unstable feature points

For illumination invariance

Page 41: SIFT  (scale invariant feature transform)

Image scale invariance. Image rotation invariance.Robust matching across a substantial range

of (1) affine distortion, (2) change in 3D viewpoint, (3) addition of noise, (4) change in illumination.

Conclusions for SIFT

Page 42: SIFT  (scale invariant feature transform)

For a feature x, he found the closest feature x1 and the second closest feature x2. If the distance ratio of d(x, x1) and d(x, x2) is smaller than 0.8, then it is accepted as a match.

Feature matching

Page 43: SIFT  (scale invariant feature transform)

Maxima in DoG

Page 44: SIFT  (scale invariant feature transform)

Remove low contrast

Page 45: SIFT  (scale invariant feature transform)

Remove edges

Page 46: SIFT  (scale invariant feature transform)

SIFT descriptor

Page 47: SIFT  (scale invariant feature transform)

SIFT descriptor

Page 48: SIFT  (scale invariant feature transform)

SIFT descriptor

Page 49: SIFT  (scale invariant feature transform)

SIFT descriptor

Page 50: SIFT  (scale invariant feature transform)

Image Matching

Page 51: SIFT  (scale invariant feature transform)

Image Matching

Page 52: SIFT  (scale invariant feature transform)

Image Matching

Page 53: SIFT  (scale invariant feature transform)

Image Matching

Page 54: SIFT  (scale invariant feature transform)

Image Matching

Page 55: SIFT  (scale invariant feature transform)

Image Matching

Page 56: SIFT  (scale invariant feature transform)

Image Matching

Page 57: SIFT  (scale invariant feature transform)

Image Matching

Page 58: SIFT  (scale invariant feature transform)

Thanks for your attention!

Page 59: SIFT  (scale invariant feature transform)

Q&A