Harris is a keypoint detector that is not invariant to scale changes. To overcome these limitations, Lindeberg (Lin14,Lin94) introduced the concept of automatic scale selection, which makes it possible to detect keypoints at a given resolution. The image pyramid, a computationally efficient scene representation widely used previously, is in fact a special case of this scale-space representation.
Let be the two-dimensional Gaussian with variance
, given by
| (6.7) |
The convolution of the image
with the Gaussian
| (6.8) |
Note that applying a Gaussian filter to an image does not create new structures: all information produced by the filter was already present in the original image.
|
The scale factor is a continuous value, but discrete steps are used for computational reasons, usually in exponential sequences such as
or
.
Applying a derivative operator to a scale-space image is, by the commutative property of convolution and differentiation, equivalent to convolving the original image with the derivative of the Gaussian:
| (6.9) |
Some useful operators for detecting keypoints include the gradient magnitude , the Laplacian
, and the Hessian determinant
.
All these operators are rotation invariant: the minimum or maximum point exists independently of the image's rotation.
Among these operators, a widely used one for detecting keypoints is the scale-normalized Laplacian of Gaussian (LoG):
| (6.10) |
The LoG operator makes it possible to detect keypoints as local maxima or minima in spatial coordinates and scale.
For example, a circle of radius has its maximum Laplacian response at scale factor
.
In the Scale-Invariant Feature Transform (SIFT) algorithm, Lowe (Low04) approximates the Laplacian of Gaussian (LoG) with a Difference of Gaussians (DoG) to improve performance:
| (6.11) |
This approach is more efficient because the Gaussian image at scale can be computed from the Gaussian image at scale
by applying a filter
, which is smaller and therefore much faster overall than performing the convolution
with the original image.
For the LoG, keypoints are local minima or maxima of the Laplacian image in both space and scale. Here, they are the minima and maxima in the difference image between the scale images
used to process the image (Figure 6.4).
|
With the introduction of the step , the domain of the variable
is effectively divided into discrete logarithmic steps, grouped into octaves, with each octave divided into
sublevels.
Thus,
takes the discrete values
| (6.12) |
Keypoints found as maxima or minima in scale and space, both of which are discrete, are interpolated using a three-dimensional quadratic fit to locate the keypoint with subpixel and subscale precision.
Between one octave and the next, the image is downsampled by a factor of 2: in addition to the analysis at multiple scales within each octave, the image is processed again in the next octave with its horizontal and vertical dimensions halved. This process is repeated several times.
The second stage of a keypoint detection and matching algorithm is to extract a descriptor for matching, centered on the detected keypoint. To be scale invariant, the descriptor must be extracted at the same scale factor as the keypoint.
To be rotation invariant, the descriptor must be extracted from an image normalized with respect to the dominant orientation estimated in the neighborhood of the point being evaluated.
A descriptor that emphasizes edges in the neighborhood can then be extracted from this image, rotated to the keypoint's scale, and made invariant to illumination.
Among the many variants, PCA-SIFT is worth noting: it uses PCA to reduce the problem to a descriptor with only 36 elements. PCA is used in a prior training stage.
Paolo medici