Scale invariant feature transform sift
1 / 24

Scale Invariant Feature Transform (SIFT) - PowerPoint PPT Presentation

  • Uploaded on

Scale Invariant Feature Transform (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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Scale Invariant Feature Transform (SIFT)' - vincent-petty

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript


  • What is SIFT

  • Algorithm overview

  • Object Detection

  • Summary


  • 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
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
Scale space

  • Definition:


Scale space1
Scale space

  • Keypoints are detected using scale-space extrema in difference-of-Gaussian function D

  • D definition:

  • Efficient to compute

Relationship of d to
Relationship of D to

  • Close approximation to scale-normalized Laplacian of Gaussian,

  • Diffusion equation:

  • Approximate ∂G/∂σ:

    • giving,

  • When D has scales differing by a constant factor it already incorporates the σ2 scale normalization required for scale-invariance

Scale space construction
Scale space construction






Scale space images
Scale space images

first octave

second octave

third octave

fourth octave

Difference of gaussian images
Difference-of-Gaussian images

first octave

second octave

third octave

fourth octave

Frequency of sampling
Frequency of sampling

  • There is no minimum

  • Best frequency determined experimentally

Prior smoothing for each octave
Prior smoothing for each octave

  • Increasing σ increases robustness, but costs

  • σ = 1.6 a good tradeoff

  • Doubling the image initially increases number of keypoints

Finding extrema
Finding extrema

  • Sample point is selected only if it is a minimum or a maximum of these points

Extrema in this image

DoG scale space


  • 3D quadratic function is fit to the local sample points

  • Start with Taylor expansion with sample point as the origin

    • where

  • Take the derivative with respect to X, and set it to 0, giving

  • is the location of the keypoint

  • This is a 3x3 linear system


  • Derivatives approximated by finite differences,

    • example:

  • If X is > 0.5 in any dimension, process repeated


  • Contrast (use prev. equation):

    • If | D(X) | < 0.03, throw it out

  • Edge-iness:

    • Use ratio of principal curvatures to throw out poorly defined peaks

    • Curvatures come from Hessian:

    • Ratio of Trace(H)2 and Determinant(H)

    • If ratio > (r+1)2/(r), throw it out (SIFT uses r=10)

Orientation assignment
Orientation assignment

  • Descriptor computed relative to keypoint’s orientation achieves rotation invariance

  • Precomputed along with mag. for all levels (useful in descriptor computation)

  • Multiple orientations assigned to keypoints from an orientation histogram

    • Significantly improve stability of matching


  • Descriptor has 3 dimensions (x,y,θ)

  • Orientation histogram of gradient magnitudes

  • Position and orientation of each gradient sample rotated relative to keypoint orientation


  • Weight magnitude of each sample point by Gaussian weighting function

  • Distribute each sample to adjacent bins by trilinear interpolation (avoids boundary effects)


  • Best results achieved with 4x4x8 = 128 descriptor size

  • Normalize to unit length

    • Reduces effect of illumination change

  • Cap each element to 0.2, normalize again

    • Reduces non-linear illumination changes

    • 0.2 determined experimentally

Object detection
Object Detection

  • Create a database of keypoints from training images

  • Match keypoints to a database

    • Nearest neighbor search

Pca sift

  • Different descriptor (same keypoints)

  • Apply PCA to the gradient patch

  • Descriptor size is 20 (instead of 128)

  • More robust, faster


  • Scale space

  • Difference-of-Gaussian

  • Localization

  • Filtering

  • Orientation assignment

  • Descriptor, 128 elements