Later, sift had two extensions that used the PCA concept.
1. PCA-SIFT
The PCA-SIFT has the same sub-pixel location (sub-pixel), scale, and dominant orientations as the standard sift, but when the description is calculated in step 1, it uses 41 × 41 image spots around the feature points to calculate its principal component, and uses a PCA-SIFT to reduce the original 2 × 39 × 39 vectors to 20 dimensions, to achieve a more accurate representation
A step to create a PCA-SIFT description sub:
1) Calculate or load the Projection Matrix
2) detection of key points
3) Multiply the projection matrix to project the image spots around the key points.
1.1 generation of PCA-SIFT Projection Matrix
1.11 select a series of representative images and detect all the key points of these images
1.12 for each key point:
1> select a 41X41 pixel image around it
2> calculate the vertical and horizontal gradient to form a vector with a size of 39 × 39 × 2 = 3042.
3> put these vectors into a K * 3042 matrix A. k is the number of key points detected.
4> covariance of matrix A: A = A-mean a cov A = ATA
5> calculate the feature value and feature vector of cov
6> select the first n feature vectors. The projection matrix is a matrix of N x 3042 composed of these feature vectors.
7> N can be a fixed value based on experience or can be dynamically selected based on feature values.
8> the projection matrix is only calculated once and stored
1.2 create a description sub-
1.21 input: position and direction of the key points in the scale space
1.22 extracts a 41 × 41 image spot around the key point at a given scale and rotates it to its main direction.
1.23 calculates the horizontal and vertical gradients of 39 × 39 to form a vector with a size of 3042.
1.24 multiply the pre-computed projection matrix n × 3042 by the vector
1.25 this generates a PCA-SIFT description of n size
Comparison Between Two sift and PCA-SIFT
2.1 sift:
Dimension: 128
Disadvantages: high dimension, incomplete affination
Advantage: requires less empirical knowledge and is easy to develop
2.2 PCA-SIFT:
Dimension: variable. We recommend 20 or fewer dimensions.
Disadvantage: the projection matrix requires a series of representative images. This matrix only applies to these images.
Advantage: the non-Immutable low-dimensional storage is retained, which greatly reduces the computing time.
2. gloh (gradient location-orientation histogram)
Change the location bins of the 4x4 chess board in the original sift to the 17 Location bins of the affine concentric circle, and calculate the gradient direction histogram (16 gradient directions ), therefore, a total of 16x17 = 272 dimensions are used, and then PCA is used to reduce it to 128 dimensions. Therefore, the representation method is as simple as that of sift.
-Scale Invariant Feature Transform (SIFT): Lowe, 2004.
-PCA-SIFT: sift: Ke and sukthankar 2004 KE and sukthankar, 2004.
-Gradient location-orientation histogram (gloh): mikolajczyk and Schmid 2005
-Surf (speeded up robust features), Bay, 2006 review the previously mentioned sift algorithm, can well cope with rotation and scale unchanged, light intensity unchanged, position occlusion unchanged (http://blog.csdn.net/abcjennifer/article/details/7639681 ), the process is divided into four steps:
-Detection of Scale-space extreme build scale space
-Accurate keypoint localization Key Point Detection
-Orientation assignment specifies the direction
-The local Image Descriptor: Local Image Description
David G. Lowe, "distinctive image features from scale-invariant keypoints," International Journal of computer vision, 60, 2 (2004), pp. 91-110
/*************************************** *************************** **************************/
The PCA (Principle Component Analysis) sift descriptor extracts more distinctive and robust to image deformations features from all descriptors. Method:
-In Step 4, 39*39*2 (X, Y direction) is calculated on the 41*41 image block instead of 4*4*8 descriptors) gradient derivative, and then use PCA to reduce the 3042 dimension vector to 36 dimensions.
Y. Ke and R. sukthankar, "PCA-SIFT: a more distinctive representation for local image 15 descriptors," computer vision and pattern recognition, 2004.
Of course, just a word of the PCA-SIFT author, the description of the mikolajczyk and Schmid (2005) Sub-evaluation shows that the sift is more reliable.
/*************************************** *************************** **************************/
Mikolajczyk and Schmid (2005) proposed a description sub of the sift variant, replacing the four quadrant used by Lowe (2004) with the hierarchical structure of log polar coordinates. Take the radius 6, 11, 15 in the space, and divide the angle into eight intervals (except the middle area), and then train the 272 (17*16)-dimensional histogram on a large database, projected to a 128-dimensional Vector Using PCA.
K. mikolajczyk and C. Schmid, "a performance evaluation of local descriptors," IEEE Transactions on Pattern Analysis and machine intelligence, vol. 27, No. 10, pp. 1615-1630,
Osct. 2005
/*************************************** *************************** **************************/
Surf is slightly different from sift,
-Sift creates a pyramid of an image, performs Gaussian filtering on each layer and obtains the image difference (DOG) for feature extraction. Surf uses the Hessian matrix.
-The sift feature is used to establish the scale-unchanged feature of the image pyramid processing. The surf feature is used to approximate the Gaussian Kernel to a square wave filter, and the SURF pyramid is only used to detect the feature points.
From a comparison of Sift, PCA-SIFT and surf
Sift and surf algorithms employ slightly different ways of detecting features [9]. Sift builds an image
Pyramids, filtering each layer with gaussians of increasing Sigma values and taking the difference. On
Other hand, surf creates a "stack" without 2:1 down sampling for higher levels in the pyramid resulting
In images of the same resolution [9]. Due to the use of integral images, surf filters the stack using a box
Filter approximation of second-order Gaussian partial derivatives, since integral images allow
Computation of Rectangular Box filters in near constant time [3].
In keypoint matching step, the nearest neighbor is defined as the keypoint with minimum Euclidean
Distance for the invariant descriptor vector. Lowe used a more efficient measurement that obtained
Comparing the distance of the closest neighbor to that second-closest neighbor [1] So the author of this
Paper decided to choose 0.5 as distance ratio like Lowe did in sift.
Herbert
Bay, Andreas ess, tinne tuytelaars, Luc Van Gool "surf:
Speeded up robust features ", computer vision and Image Understanding (cviu), vol. 110, no. 3, pp. 346--359, 2008
Ftp://ftp.vision.ee.ethz.ch/publications/articles/eth_biwi_00517.pdf
/*************************************** *************************** **************************/
A comparison of Sift, PCA-SIFT and surf compare the performance of the three methods. The source image is from graffiti dataset, after the scale, rotation, blur, brightness, and affine transform of the original image are changed, the original image is matched with the original image to calculate the matching effect. The effect can be repeated.
Compare the above three methods:
Method |
Time |
Scale |
Rotation |
Blur |
Illumination |
Affine |
Sift |
Common |
Best |
Best |
Common |
Common |
Good |
PCA-Sift |
Good |
Good |
Good |
Best |
Good |
Best |
Surf |
Best |
Common |
Common |
Good |
Best |
Good |
It can be seen that sift has the best effect in the case of scale and Rotation Transformation, surf has the best matching effect in the case of brightness change, and fuzzy aspect is better than sift, while scale and rotation changes are not as good as sift, the rotation is much worse than sift. In terms of speed, surf is three times the speed of sift.
Use the nearest neighbor as the matching rule to describe the sub-Performance Evaluation Result:
Reference:
Http://blog.csdn.net/abcjennifer/article/details/7365651
Http://www.cscjournals.org/csc/manuscript/Journals/IJIP/volume3/Issue4/IJIP-51.pdf
Http://www.cnblogs.com/mysunnyday/archive/2011/08/31/2160298.html
Http: // 140.115.156.133/vclab/teacher/2011aip/feature%20detection%20and%20matching%20(part%20ii%