Opencv Study Notes (6) Surf Study Notes

Source: Internet
Author: User
Tags scale image

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 detection, I started to study the surf corner detection and found that it was quite complicated. At the moment, I only learned about it and summarized what I learned so that I could study it in depth next time.

The surf point detection algorithm is an improvement of Sift, mainly reflected in 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 Gaussian pyramid is generally used for downsampling. Among them, the input image function is repeatedly convolutioned with the kernel of the Gaussian function and repeatedly performs Secondary Sampling. This method is mainly used for The Implementation of The sift algorithm, however, each layer of the image depends on the original image (the current scale may be very different from the original image scale, and the original image convolution is indeed a bit inferior), and the image needs to 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 downsampling method is to apply to increase 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 allows multi-layer images in a scale space to be processed at the same time without secondary sampling, thus improving the algorithm performance.

The differences in other aspects are not much different from those of cainiao.


I have attached two sift-related blog posts, which are quite thorough. The two articles can be used together to understand their principles.

There are some differences between the two articles, but you can still find the problem by looking at it. 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 detailed, 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 ;}


Test results:

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, including 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. The method for performance evaluation is introduced for the detection of Affine Invariant Feature Points.

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


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.