Feature Description
Feature description turns a detected keypoint into a compact, matchable numerical vector — its descriptor — that summarizes the appearance of the patch around it. A good descriptor is distinctive (different keypoints have different descriptors), invariant (the same keypoint produces the same descriptor under rotation, scale, and illumination change), and compact (small enough for fast matching).
Descriptors sit between detection and matching: the detector says where features are, the descriptor says what they look like, and the matcher pairs descriptors across images by similarity.
Intuition
Once keypoints have been detected, the raw pixel patches around them cannot be compared directly — two views of the same corner will have different pixel values because of rotation, zoom, lighting, and noise. The descriptor is an invariant fingerprint of the patch: it throws away the nuisance variation (orientation, brightness offset) while preserving the structural content (gradient pattern, edge arrangement) that distinguishes one keypoint from another.
The descriptor design choices are a bias-variance tradeoff. Raw-pixel descriptors (MOPS) are simple and fast but less robust. Gradient-histogram descriptors (SIFT) trade pixel-accuracy for tolerance to small spatial deformation, winning matching accuracy at a modest compute cost. Binary descriptors (ORB, BRISK) sacrifice discriminative power for speedup. Learned descriptors (SuperPoint, D2-Net) win outright on modern benchmarks but require GPU inference.
Notes
- 4.3.1. MOPS — Multi-Scale Oriented Patches: simple rotation-normalized pixel patches
- 4.3.2. SIFT — 128-D gradient-orientation histogram; the classical gold standard
See Also
- 4.1. Feature Detection — the keypoints that descriptors are computed on
- 4.4. Feature Matching — the matching step that consumes descriptors