The Speeded-Up Robust Features algorithm (BETVG08) draws on SIFT and scale-space theory to provide an optimized version that uses approximations of the Hessian computed with the integral image, both to detect keypoints and to extract their descriptors.
SURF is invariant to translation, scale, and rotation, but a simplified variant, called “U-SURF”, is invariant only to translation and scale changes: in this case, the region around the detected point is not normalized for rotation when the descriptor is extracted.
In SURF, keypoints are detected by finding local minima of the determinant of the Hessian image, defined as:
| (6.13) |
The width of these approximate filters can be estimated as
| (6.14) |
The determinant image is computed as
| (6.15) |
The image is analyzed over multiple octaves, each with a scale factor twice that of the previous octave. Each octave is divided into the same number of scale levels. The number of scales per octave is limited by the filter's strictly quantized nature, and the approximate Gaussians are not as evenly spaced as in SIFT. In practice, four intervals per octave are the only possible subdivision.
Within each octave, as the scale and position vary, Non-Maxima Suppression
is performed on the determinant image of
.
The local minima and maxima, interpolated using a three-dimensional quadratic fit as in SIFT, are the SURF keypoints.
The scale is set equal to the variance of the associated filter
.
For the maxima thus found, the dominant orientation in the neighborhood of the point is extracted using the integral image (neighborhood of radius , sampled at intervals of
).
Here too, Haar features with side length
are used and weighted with a Gaussian distribution
.
The orientation information is used to generate a descriptor based on gradient directions by sampling the region around , dividing it into
regions, and weighting the points with a Gaussian
. Within each region,
,
,
, and
are computed.
Both the orientation and the gradient histogram are extracted at the feature detection scale.
Paolo medici