Let's talk about sift, PCA-sift, surf, and my thoughts)

Source: Internet
Author: User
Tags modulus subdomain

Http://blog.csdn.net/ijuliet/archive/2009/10/07/4640624.aspx

 

Scale-invariant feature transform (SIFT), Lowe, 2004

PCA-SIFT (Principle Component Analysis), Y. Ke, 2004

Surf, Bay, 2006

 

The three teams have their own merits. They are the three sisters of Song in the field of Image Feature Detection! The PCA-SIFT used the histogram method in sift for the primary meta-analysis method. The two magic weapons of surf integral/Hessian were used to accelerate the process and make it easier for parallel processing.

 

 

Next, sort out the sift ideas:

1. input the image. Double (width * = 2, height * = 2, size * = 4) is recommended, and Gaussian filter is used for smoothing.

2. Several towers are built based on the image size, and several layers of images are created for each tower (generally 3-5 layers ). Layer 2 of the 0 tower is the original image (or the image after double), and the top layer is the Laplacian transformation of the next layer (Gaussian convolution, where the sigma value gradually increases, for example, Sigma, K * Sigma, K * Sigma ...), Intuitively, the image is blurred. The image between the towers is a downsample relationship. For example, the first layer of the 1 Tower can be obtained from the first layer of the 0 tower, and then perform Gaussian convolution operations similar to the 0 tower.

3. Build the dog pyramid. The dog pyramid is calculated by the Gauss pyramid generated in the previous step. The number of towers is the same, and the number of layers in each tower is 1 less, because each layer of dog is subtracted from the adjacent two layers of Gauss.

4. perform extreme point detection in the dog tower and Remove invalid feature points based on the preset contrast threshold and main curvature threshold. Non-maximal suppression is used for extreme point detection, that is, the gray value is compared in 3*3*3 points, and the minimum or maximum value is used to pass the test.

5. Calculate the scale of each feature point. Pay attention to the inter-tower scale relationship, Sigma * 2.0 ^ (octvs + intvl/intvls)

6. Calculate the gradient modulus and direction of each feature point. Describe the feature point using the points in a matrix area (patch) around the feature point. Use the histogram to calculate the modulus and find the main direction. The main direction can be more than one.

7. Finally, we need to generate a feature descriptor of 64d or 128d. Alignment the main direction and calculate the 2D array of the direction histogram. If each histogram has 8 bin, 64d (2*2*8 bin) or 128d (4*4*8 bin ).

 

As mentioned above, surf vs. Sift:

 

 

Sift

Surf

Feature Detection

Convolution using images of different scales and Gaussian Functions

Uses box filters of different sizes to perform convolution with the original image, making it easy to run in parallel.

Direction

Feature Points are adjacent to the rectangular area and computed using gradient histograms.

Returns the Haar wavelet response in the X and Y directions.

Descriptor generation

20*20 (unit: pixel) areas are divided into 4*4 (or 2*2) subareas, and each subdomain calculates the 8bin histogram.

The 20*20 (unit: sigma) region is divided into 4*4 subdomains. The Haar wavelet response of 5*5 sampling points is calculated for each subdomain, and the records of Σ dx, Σ dy, Σ | DX |, Σ | dy |.

 

 

Based on the integral image, surf uses Determination of Hessian matrix to describe extreme points, which are also possible feature points. So what is an integral image? What is the Hessian matrix here? How can we obtain this det (h )? What is it like? How does the Box Filter come from? Here are the relevant documents and source code downloads, which are very detailed and clear. I am not doing anything here. You don't know where it is, so I will talk with you. I'm curious, how does Bay find the approximate relationship between the integral image * Box Filter and Gaussian convolution? Why did he think of doing this? In addition, based on the integral image * Haar wavelet filter, the main direction is determined and the descriptor is generated. What is the convolution result? What does it mean? Is it a reflection of the difference or change rate between the two adjacent points? Integral image is so fabulous. Are you interested in discussing this?

 

Luo Juan has compared these three algorithms. The measurement parameters include processing time, scale, changes, rotation, blur, illumination, and affine, the image library is from here. Below is the general competition, you can search for "A comparison of Sift, PCA-SIFT and surf" to watch live.

 

Method time scale rotation blur illumination affine
 
Sift common best common good

PCA-sift good best
 
Surf best common good best good

In addition, sift and surf have GPU implementations respectively. You are welcome to study them together!

Sift on GPU, S. Heymann, 2005

Sift on GPU (2), sudipta N. Sinha, 2006

Surf on GPU, Nico Cornelis, 2008

 

In addition, cy513's "deep analysis of Sift/Surf algorithms -- About the subtlety and weakness of Sift" is a great place to write, and the chain is easy for everyone to read.

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.