Skip to content
CoreSource checked

SIFT

Detects and describes scale-invariant image keypoints from local gradient structure.

Quick Facts

Compact metadata for implementation and discovery.

Category
Image Processing
Difficulty
Intermediate
Family
Feature Detection
Tier
Core
Status
Verified
Review
Source Checked
Sources
2
Formulas
0
Relationships
7
Code example
Ready
Visualization
Ready
Aliases
Scale-Invariant Feature Transform

Overview

SIFT finds candidate keypoints across scale space, refines their locations, assigns orientations, and builds local gradient histograms that are robust to moderate scale and rotation changes.

Core Concepts

scale-invariant feature detectionfeature detectionfeature matchingimage processing

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(n)

Average

O(n log n)

Worst

O(n^2)

Space

O(n)

When to Use

  • Use when repeatable local features are needed under moderate scale and rotation changes.
  • Use when descriptor quality is more important than minimal computation.

When Not to Use

  • Avoid when binary descriptors are needed for very fast matching.
  • Avoid when severe viewpoint, blur, or textureless regions dominate the image.

What It Does

  • Builds a scale-space representation
  • Detects stable extrema as keypoints
  • Computes orientation-normalized local descriptors

Use Cases

  • Image matching and registration
  • Object recognition with classical features
  • Recovering correspondences before homography or 3D reconstruction

Inputs

  • 2D image intensity array I(x, y)
  • Scale-space octave parameters and contrast/corner thresholds

Outputs

  • Scale- and rotation-invariant keypoints (x, y, σ, θ)
  • Local descriptor vectors (floating-point or binary)

Pseudocode

  1. 1.Build Gaussian and difference-of-Gaussian scale spaces
  2. 2.Find local extrema across position and scale
  3. 3.Reject unstable low-contrast or edge-like keypoints
  4. 4.Assign dominant orientations from local gradients
  5. 5.Build and normalize the keypoint descriptor

Canonical Example

Input
two images of the same planar object at different scales
Output
matched SIFT keypoints between the images
Explanation
Stable scale-space keypoints receive descriptors that can be matched despite scale changes.

Implementation Notes

  • Keep octave, scale, contrast, and edge-response thresholds explicit.
  • Use descriptor normalization and clipping consistently.
  • Validate matches with a geometric model such as RANSAC homography when appropriate.

Common Pitfalls

  • Skipping keypoint refinement leaves unstable low-contrast or edge-like points.
  • Mismatched descriptor normalization changes nearest-neighbor behavior.
  • Using raw nearest matches without ratio tests or geometric verification creates false correspondences.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show detecting scale-space extrema and describing local gradient patterns on a small scale-invariant feature detection example.

SIFT mechanism walkthrough step 1 of 5
Step 1 of 5: Build Gaussian and difference-of-Gaussian scale spaces
image-processing-mechanism

Notes

SIFT descriptors still need match filtering and geometric verification in noisy scenes.

Sources (2)

What each reference supports for this entry.

Distinctive Image Features from Scale-Invariant Keypoints

Paper

Original SIFT reference for scale-space extrema, orientation assignment, and descriptors.

Open source

Computer Vision: Algorithms and Applications

Book

Computer-vision textbook support for SIFT's feature, matching, flow, or multiscale image-analysis workflow.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Alternative toORB

ORB is faster and binary, while SIFT is heavier and usually more distinctive.

SIFT matches are often filtered by a RANSAC-estimated homography.

Conceptual neighborHOG Feature Descriptor

Both use local gradient orientation histograms.

Tags

Image Processing