The Förstner-Harris algorithm (FG87,HS88) was explicitly designed to achieve high geometric stability. It defines as keypoints those points that have a local maximum when compared, in the least-squares sense, with their translated version. This algorithm has been so successful because it allows variations in image intensity in the neighborhood of a point to be detected using the autocorrelation matrix of the image's first derivatives.
Let the gradient images (which can be generated by a differential operator such as Sobel, Prewitt, or Roberts) and
be, respectively, the horizontal and vertical gradients of the image being analyzed.
From these two images, it is possible to compute a function
6.1 of the gradient images in a neighborhood of
, defined as
In practice, Harris uses two convolution filters: a derivative filter to compute the derivative images and an integration filter to compute the matrix elements. The size of these filters and the use of a Gaussian filter to weight the points are discussed in the following section on the scale at which features are detected.
The matrix is the second-moment matrix.
Keypoints can be detected by analyzing the eigenvalues
and
of the matrix
(see Section 2.9.1 for a more detailed discussion).
The eigenvalues of the autocorrelation matrix
characterize the type of image contained in the window around the given point.
The matrix therefore represents the local distribution of image gradients around the point under consideration. Its eigenvalues measure the intensity variation along two orthogonal directions and form the theoretical basis of the Harris and Shi-Tomasi operators and of the Kanade-Lucas-Tomasi tracker.
If two eigenvalues are very large, the point is a corner; if only one eigenvalue is large, it is an edge; otherwise, it is a reasonably flat region, or, in functional form,
| (6.4) |
For a matrix , the eigenvalues are obtained as the solutions of the quadratic characteristic polynomial
| (6.5) |
To avoid explicitly computing the eigenvalues of , Harris introduced an operator
defined as
| (6.6) |
|
For Harris, the point is a keypoint (corner) if
, where
is a threshold to be defined.
The parameter
controls the sensitivity of the feature detector.
Qualitatively, increasing
removes edges, whereas increasing
removes flat regions (Figure 6.1).