Summary of SIFT feature extraction algorithm

Source: Internet
Author: User

Original link: http://www.cnblogs.com/cfantaisie/archive/2011/06/14/2080917.html

Main steps

1), the generation of scale space;

2), detecting the extreme point of scale space;

3), accurate positioning of extreme points;

4), specify the direction parameters for each key point;

5), the generation of key-point descriptors.

L (x,y,σ), σ= 1.6 a good tradeoff

D (x,y,σ), σ= 1.6 a good tradeoff

The understanding of the scale space illustrates that 2 of the figure is necessary and the scale space is continuous. in Lowe's paper,

The initial scale of the No. 0 layer is set at 1.6, and the initial scale of the image is set at 0.5. Gauss of the original image before detecting the extremum point

smoothing so that the image loses high-frequency information, so Lowe recommends that before establishing a scale space extend the original image length and width first

One times to preserve the original image information and increase the number of feature points. The larger the scale, the more blurred the image.

next octave is sampled by first octave (e.g. 2)

All values of the scale space, S is the number of layers per group, usually

Search between adjacent scales in the same group (due to K's value relationship, which is definitely up and down)

In the process of extremum comparison, the first and last two layers of each group of images cannot be compared with the extremum, in order to satisfy the scale

changes in continuity, We continue to generate 3 images with Gaussian blur at the top of each group of images.

The tower has an image of each group of s+3 layers. The dog pyramid has s+2 layers of images for each group.

If ratio > (r+1) 2/(R), throw it Out (SIFT uses r=10)

Represents a scale in the dog pyramid with an X-directional derivative of two times

Through the quasi-and three-dimensional two functions to accurately determine the location and scale of the key points (sub-pixel accuracy)?

The peak in the histogram is the main direction, and the other direction that reaches the maximum value of 80% can be used as a secondary direction

Identify Peak and assign orientation and sum of magnitude to key point

The user may choose a threshold to exclude key points based on their

Assigned sum of magnitudes.

The directional parameters are specified for each key point by using the gradient direction distribution of the key neighborhood pixels, so that the operator has

Rotation invariance. Sampling in a neighborhood window centered on key points and using histograms to statistic the gradient of neighborhood pixels

Direction. The gradient histogram range is 0~360度, where every 10 degrees a bar, a total of 36 bars. With the distance

The farther away the center point is, its contribution to the histogram also decreases. The Lowe paper also mentions the use of Gauss letters

Number to smooth the histogram and reduce the effects of mutations.

Key description sub-generation steps

By chunking the image area around the key points, the gradient histogram in the block is calculated to generate a unique

of the vector, which is an abstraction of the region's image information and is unique.

Each small lattice represents a pixel in the scale space of the feature Point neighborhood, and the arrow direction represents the pixel ladder

direction, and the length of the arrow represents the amplitude of the pixel. Then calculate the gradient direction in 8 directions in a 4x4 window straight

Fanthou the summation of each gradient direction is plotted to form a seed point.

Each histogram has a gradient direction of 8 directions, and each descriptor contains a four histogram near the key point

Array. This leads to a 128-dimensional eigenvector of the sift. (First a 4x4 to calculate a histogram,

Each histogram has 8 directions. So it's 4x4x8=128 . After normalization of this vector, the further

go to In addition to the effects of illumination.

Rotate to main direction

Basic concepts and some additions

What is a local feature?

In general, local features are images or areas in the visual field that are different from their surroundings.

A local feature is usually a description of an area, making it highly distinguishable

? The quality of the local features directly determines the classification of the later, to identify whether it will get a good result

Characteristics required for Local features

? repeatability

? can be differentiated

? accuracy

? quantity and efficiency

? invariance

Local feature extraction algorithm-sift

? The SIFT algorithm was put forward by D.g.lowe 1999 and summarized in 2004. Later y.ke the description of the sub-section using PCA to replace the histogram of the way it was improved.

? Sift algorithm is an algorithm for extracting local features, searching for extreme points in scale space, extracting position, scale and rotation invariants.

? The SIFT feature is the local feature of the image, which is invariant to rotation, scale scaling, brightness change, and maintains a certain degree of stability to the change of view angle, affine transformation and noise.

Unique and informative, it is suitable for fast and accurate matching in the massive database of features.

Multi-volume, even a few objects can produce a large number of sift eigenvectors.

extensibility, which can be easily combined with other forms of eigenvectors.

Scale space theory

The scale space theory aims to simulate the multi-scale characteristics of image data

The basic idea is to introduce a parameter which is regarded as a scale in the image information processing model of visual data, obtain the visual processing information at different scales through continuous change scale parameter, then synthesize the information to dig deep into the essential feature of the image.

Describe the details of a child build

? With the Extremum point as the center point, and the Gaussian scale sigma value at this point as the radius factor. The gradient value away from the center point reduces the contribution of the histogram to the area in which it is located, preventing some of the effects of mutations.

? Each extremum point is linearly interpolated so that the contribution of this extremum point can be balanced to the adjacent column in the histogram.

Normalization of processing

After finding the 128-dimensional eigenvector of 4*4*8, the SIFT feature vectors have been removed from the influence of geometric deformation factors such as scale change and rotation. The contrast of the image varies by one factor per pixel, and the illumination change is a value per pixel, but these have no effect on the normalized gradient of the image. Therefore, the length normalization of the eigenvector can be used to further remove the effects of illumination changes.

For some non-linear illumination changes, the SIFT does not have invariance, but because these changes affect mainly the amplitude of the gradient, the direction of the gradient is less affected, so the author by limiting the gradient amplitude value to reduce the impact of such changes.

Pca-sift algorithm

? The Pca-sift has the same sub-pixel position, scale, and main direction as the standard sift. But in the 4th step, the design of the descriptors is calculated using the principal component analysis technique.

? The following is a description of the part of its characterization sub-calculation:

The 41x41 of the image around the feature point is used to calculate its principal element, and the vector of the original 2x39x39 dimension is reduced to 20-d by Pca-sift to achieve a more accurate representation.

? Its main steps are, for each key point: extracting a 41x41-like spot around the key point at a given scale, rotating it to its main direction, calculating 39x39 horizontal and vertical gradients, forming a vector of size 3042, and multiplying this vector with a pre-computed projection matrix nx3042 ; This generates a pca-sift descriptor of size n.

Summary of SIFT feature extraction algorithm

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.