Original article, reproduced please indicate the source: http://blog.csdn.net/crzy_sparrow/article/details/7392345
I am very good at it. There must be a lot of mistakes. I hope you will not correct them.
After reading the Harris corner check box, I started to study the surf corner check box. I found that it was quite complicated and I only learned about it at the moment. I will summarize what I learned so that I can study it in depth next time.
The surf corner detection algorithm is an improvement of Sift, mainly because of its high speed and higher efficiency. The main difference between it and sift is that the construction method of multi-scale image space is different.
In the field of computational vision, the scale space is symbolic expressed as an image pyramid, and the Gaussian pyramid is generally used for downgrading samples. The input image function repeats the convolution with the Gaussian function and repeats the Secondary Sampling. This method is mainly used for The Implementation of The sift algorithm, however, each layer of images depends on the original image (the current scale may be very different from the original image scale, and then the original image convolution is indeed a bit inferior), and the image must be resized, therefore, this calculation method requires a large amount of computing. The surf algorithm performs integral image operations. convolution is only related to the previous image. The method of downsampling is to apply for adding the size of the image core, this is also the difference between the sift algorithm and the SURF Algorithm in terms of the pyramid principle. The surf algorithm agrees that multi-layer images in a scale space are processed at the same time without secondary sampling, thus improving the algorithm performance.
In other aspects, I am familiar with cainiao.
I have attached two sift-related blog posts, which are more thorough than others. The combination of the two articles can basically clarify their principles.
The two articles are a little different, but we can still find problems by comparing them. Of course, it is the easiest way to find out the problem.
Sift Introduction: http://www.360doc.com/content/11/1230/23/3054335_176200661.shtml
Sift algorithm experience: http://www.360doc.com/content/11/1207/17/3054335_170430459.shtml
Other blog posts:
In-depth analysis of Sift/Surf algorithm -- On the points and disadvantages of Sift: http://hi.baidu.com/xiaoduo170/blog/item/a22bcc1c2349708286d6b636.html
Sift/surf: http://www.yongblog.com/archives/tag/surf%E7% AE %97%E6%B3%95
Surf thesis and source code (this paper is very specific, code C ++ implementation ):
Http://download.csdn.net/detail/crzy_sparrow/4171374
Opencv test surf algorithm:
# Include "opencv2/opencv. HPP "int main () {CV: mat image, image1 = CV: imread (" test.jpg "); // grayscale conversion CV: cvtcolor (image1, image, cv_bgr2gray); STD: vector <CV: keypoint> keypoints; CV: surffeaturedetector SURF (2500); surf. detect (image, keypoints); CV: drawkeypoints (image, keypoints, image, CV: Scalar: All (255), CV: drawmatchesflags: draw_rich_keypoints); CV:: namedwindow ("surf"); CV: imshow ("surf", image); CV: waitkey (0); Return 0 ;}
Token Test Result:
The radius of the labeling circle is related to the scale of the feature point. The radius is the direction of the feature point.
Sift algorithm tutorial, source code and Application Software
1. UBC: the founder of David LOWE---SIFT algorithm, two classic
Http://www.cs.ubc.ca /~ Lowe/
2. CMU: yanke --- pcasift, summary of the article on Sift
Http://www.andrew.cmu.edu/user/yke/
3. UBC: Classic application of M.BROWN---SIFT Algorithm for image mosaic autopano-sift, contains a siftlib Library
Http://www.cs.ubc.ca /~ Mbrown/autostitch/autostitch.html
Http://www.cs.ubc.ca /~ Mbrown/panorama/panorama.html
4. Toronto: Jepson --- MATLAB sift tutorial, super classic ~
Http://www.cs.toronto.edu /~ Jepson/csc2503/
5. ucia: vedaldi-MATLAB sift tutorial compiled by a PhD student at the University of California
Http://www.cs.ucla.edu /~ Vedaldi/
6. http://en.wikipedia.org/wiki/Scale-inva... _ Transform
7. Computer Vision classification organized by Daniel
Http://www.cs.ubc.ca /~ Lowe/vision.html
Http://note.sonots.com/SciSoftware/SIFT.html
9. mentioned the ransac Method for Calculating the transformation matrix
Http://web.engr.oregonstate.edu /~ Hess/index.html
10. affineless feature checksum, and the performance evaluation method is mentioned.
Http://www.robots.ox.ac.uk /~ Vgg/research/affine/
11. A Japanese, cool
Http://note.sonots.com/
PCA-SIFT
Http://www.cs.cmu.edu /~ Yke/pcasift/
13 opencv Sift
Http://web.engr.oregonstate.edu /~ Hess/index.html
14 MATLAB Sift
Http://www.vlfeat.org /~ Vedaldi/code/sift.html
Http://www.vlfeat.org/overview/sift.html
15 improve Scale Invariant Feature Transform (SIFT) Stanford
Http://robots.stanford.edu/cs223b04/project9.html
16 known implementations of Sift MIT
Http://people.csail.mit.edu/albert/ladypack/wiki/index.php/Known_implementations_of_SIFT
Opencv Study Notes (6) Surf Study Notes