What is the difference between feature detectors and feature descriptors? Which among these are detectors and which are descriptors: Harris, SURF, Min Eigen, FAST, SIFT, BRISK
1 Answer
An interest point (key point, salient point) detector is an algorithm that chooses points from an image based on some criterion. Typically, an interest point is a local maximum of some function, such as a "cornerness" metric.
A descriptor is a vector of values, which somehow describes the image patch around an interest point. It could be as simple as the raw pixel values, or it could be more complicated, such as a histogram of gradient orientations.
Together an interest point and its descriptor is usually called a local feature. Local features are used for many computer vision tasks, such as image registration, 3D reconstruction, object detection, and object recognition.
Harris, Min Eigen, and FAST are interest point detectors, or more specifically, corner detectors.
SIFT includes both a detector and a descriptor. The detector is based on the difference-of-Gaussians (DoG), which is an approximation of the Laplacian. The DoG detector detects centers of blob-like structures. The SIFT descriptor is a based on a histogram of gradient orientations.
SURF is meant to be a fast approximation of SIFT.
BRISK, like SIFT and SURF, includes a detector and a descriptor. The detector is a corner detector. The descriptor is a binary string representing the signs of the difference between certain pairs of pixels around the interest point.
-
1$\begingroup$ A great answer and to follow up here: docs.opencv.org/master/db/d27/… $\endgroup$ Commented Nov 19, 2019 at 7:57