Harris is a keypoint detector that is not invariant to scale changes. To overcome this limitation, Lindeberg (Lin94,Lin14) introduced the concept of automatic scale selection, making it possible to detect keypoints at a given resolution level. The pyramid representation of a scene, a computationally efficient algorithm that had previously been widely used, 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 between the image
and the Gaussian
| (6.8) |
It should be noted that applying a Gaussian filter to an image does not create new structures: all the information generated by the filter was already contained in the original image.
|
The scale factor is a continuous quantity, but for computational reasons, discrete steps of this value are used, normally in exponential sequences,
such as
or
.
Applying a derivative operator to a scale-space image, by the commutative property of convolution and differentiation, is equivalent to convolving the original image with the derivative of the Gaussian:
| (6.9) |
Some interesting operators for finding keypoints are, for example, the gradient magnitude , the Laplacian
, and the Hessian determinant
.
All these operators are rotation invariant, meaning that the location of the minimum or maximum is independent of the rotation applied to the image.
Among these operators, one widely used for detecting keypoints is the scale-normalized Laplacian of Gaussian (LoG) (scale-normalized Laplacian operator):
| (6.10) |
Using the LoG operator, keypoints can be identified as local maxima or minima in the spatial and scale coordinates.
For example, a circle with 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 procedure is more efficient because the Gaussian image at scale can be computed from the Gaussian image
by applying a filter
, which is smaller and therefore considerably faster overall than performing the convolution
with the original image.
Whereas in LoG the keypoints were the local minima/maxima, both in space and scale, of the Laplacian image, in this case the keypoints are the minima and maxima in the difference image between the scale images
through which the image is processed (Figure 6.4).
|
With the introduction of the step , the domain of the variable
is effectively divided into discrete logarithmic steps, grouped into octaves, and each octave is divided into
sublevels.
Thus,
assumes the discrete values
| (6.12) |
The keypoints, found as maxima/minima in scale and space, both of which are discrete, are interpolated using a three-dimensional quadratic regression to determine the keypoint with subpixel and subscale accuracy.
Between one octave and the next, the image is downsampled by a factor of 2: in addition to the multiscale analysis within each octave, the image is processed again in the next octave by halving its horizontal and vertical dimensions, and this procedure is repeated several times.
The second stage of a keypoint detection and matching algorithm consists of extracting a descriptor for comparison, centered on the detected keypoint. In practice, to be scale invariant, the descriptor must be extracted at the same scale factor associated with the keypoint.
To be rotation invariant, however, the descriptor must be extracted from an image that has undergone some form of normalization with respect to the dominant direction determined in the neighborhood of the point being evaluated.
From this image, rotated to the keypoint's scale, it is possible to extract a descriptor that emphasizes edges in the neighborhood and is ultimately invariant to illumination.
Among the numerous variants, PCA-SIFT should be mentioned; it uses PCA to reduce the dimensionality of the problem to a descriptor containing only 36 elements. PCA is used in a prior training stage.
Paolo medici