SURF PCA-SIFT and SIFT 开源代码 总结

1. OPEN SURF :http://www.chrisevansdev.com/computer-vision-opensurf.html

-----------------------------------------------------------------------------------------------------------------------------------

The task of finding point correspondences between two images of the same scene or object is an integral part of many machine vision or computer vision systems. The algorithm aims to find salient regions in images which can be found under a variety of image transformations. This allows it to form the basis of many vision based tasks; object recognition, video surveillance, medical imaging, augmented reality and image retrieval to name a few.

OpenSURF C++ (Build 12/04/2012)
This archive contains the latest build of the code in the Repository. This is the original and most widely used open source C++ SURF computer vision library available.
OpenSURF C# (Build 12/04/2012)
The official port of the OpenSURF library for C#. Builds as a dll to allow seamless integration into any computer vision system.
Notes on the OpenSURF Library
This paper contains a detailed analysis of the Speeded Up Robust Features computer vision algorithm along with a breakdown of the OpenSURF implementation. Also contains useful info on machine vision and image processing in general.
OpenSURF Bibtex
Should you wish to reference the OpenSURF library in your work, this bibtex entry contains the information you'll need.
OpenSURF SVN Repository
The most up-to-date way to get the OpenSURF code is from the trunk in the Subversion repository. See the Google Code help section for details on how to checkout code orContact Me for details.

This section contains links to computer vision papers referencing the OpenSURF library along with the library rewritten in other languages. Among them are comparisons of open source computer vision algorithms along with novel applications to face recognition.

An Evaluation of Open Source SURF Computer Vision Implementations
This paper evaluates the performance of open source SURF computer vision library implementations. Two versions of the OpenSURF library are compared to dlib (based on OpenSURF) and the version included in Pan-o-matic computer vision tool.
A comparison of OpenSURF and the original implementation descriptors
This document is a comparison of the OpenSURF feature descriptor with the original computer vision library written by Herbert Bay. This work was kindly provided by Pablo Fernandez.
SURF-Face: Face Recognition Under Viewpoint Consistency Constraints
Application of the computer vision algorithm to face recognition. References "Notes on the OpenSURF Library".


 

If you've done any work which is based on or provides a reference to OpenSURF and wish for it to appear in this page, pleasecontact me for details.

Please also link to this page if you have found OpenSURF useful!

-----------------------------------------------------------------------------------------------------------

2. PCA-SIFT: http://www.cs.cmu.edu/~yke/pcasift/

Stable local feature detection and representation is a fundamental component of many image registration and object recognition algorithms. Mikolajczyk and Schmid recently evaluated a variety of approaches and identified the SIFT algorithm as being the most resistant to common image deformations. This paper examines (and improves upon) the local image descriptor used by SIFT. Like SIFT, our descriptors encode the salient aspects of the image gradient in the feature point's neighborhood; however, instead of using SIFT's smoothed weighted histograms, we apply Principal Components Analysis (PCA) to the normalized gradient patch. Our experiments demonstrate that the PCA-based local descriptors are more distinctive, more robust to image deformations, and more compact than the standard SIFT representation. We also present results showing that using these descriptors in an image retrieval application results in increased accuracy and faster matching.

Y. Ke and R. Sukthankar, Computer Vision and Pattern Recognition, 2004.[PDF 670KB]


 

PCA-SIFT (calculates representation only) source code: pcasift-0.91nd.tar.gz (700KB). You'll need the netpbm development libraries to compile this code. If you want to train PCA on your own patches, here's the Matlab code for it.training-matlab.tgz

Keypoint detection as Linux binary and modified matching program as source code from David Lowe. Works on PCA-SIFT keys and Lowe's SIFT keys. Includes example images for matching.mod_lowe_demoV2.tar.gz (430KB)

Source code for PCA-SIFT with integrated Difference of Gaussian (DoG) interest point detector can be obtained for research purposes. However, before you ask me for it, please note that the PCA-SIFT code supplied above is sufficient for most cases. If you are simply looking for the DoG interest point detector, there are many other sources online.

Dataset used in the experiments: testimages.tgz (550KB) for recall-precision curves and objects.tgz (9 MB) for image retrieval.



Links:
Parts based image retrieval

David Lowe's Keypoints

--------------------------------------------------------------------------------------------------------------------------------------

3. SIFT: http://www.cs.ubc.ca/~lowe/keypoints/


 

Demo Software: SIFT Keypoint Detector

David Lowe


 

This page provides access to a demo version of David Lowe's SIFT keypoint detector in the form of compiled binaries that can run under Linux or Windows. The demo software uses PGM format for image input. It can output keypoints and all information needed for matching them to a file in a simple ASCII format. A Matlab program and sample C code are provided that can read the keypoints and match them between images.

SURF PCA-SIFT and SIFT 开源代码 总结_第1张图片 The image on the right shows an example of matching produced by the demo software. Features are extracted from each of the two images, and lines are drawn between features that have close matches. In this example, many matches are found and only a small fraction are incorrect.

The demo program can be accessed from the following link in the form of a zip file containing the compiled binaries and demo code. To unpack, use "unzip siftDemoV4.zip" from Linux or an unzip utility in Windows. The code comes with a file README giving full details.

SIFT demo program (Version 4, July 2005)

This demo software is provided for research purposes only. A license must be obtained from the University of British Columbia for any commercial applications. The sofware is protected under a US patent as listed below. See the LICENSE file provided with the demo software.

Release history

Version 4 (July 2005)
There is now a Windows binary as well as one for Linux. The Matlab scripts have been improved and include code for matching keypoints between images.
Version 3 (August 2004)
This fixes a bug in the displayed orientation of arrows drawn for each keypoint when using the "-display" option. This affects only arrow display and not the keypoint features themselves (thanks to Yannik Fournier, Tom Stepleton, and Rob Sim for identifying the bug). In addition, a Matlab program is now provided for running the binary and loading the keypoints into Matlab when running under Linux (thanks to D. Alvaro and J.J. Guerrero for the Matlab program).
Version 2 (September 2003)
Fixes a bug in Version 1 of the sample code for doing matching (not the keypoints themselves) that incorrectly declared "unsigned char" as "char" (thanks to Yongqin Xiao and Suresh Lodha for their assistance in reporting this bug). This new version now finds more correct matches. The new version also contains more test data and raises the matching threshold.
Version 1 (June 2003)
Initial demo release.

 

Related papers

The most complete and up-to-date reference for the SIFT feature detector is given in the following journal paper:

David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110. [PDF]

The SIFT approach to invariant keypoint detection was first described in the following ICCV 1999 conference paper, which also gives some more information on the applications to object recognition:

David G. Lowe, "Object recognition from local scale-invariant features," International Conference on Computer Vision, Corfu, Greece (September 1999), pp. 1150-1157. [PDF];

The following paper gives methods for performing 3D object recognition by interpolating between 2D views. It also provides a probabilistic model for verification of recognition.

David G. Lowe, "Local feature view clustering for 3D object recognition," IEEE Conference on Computer Vision and Pattern Recognition, Kauai, Hawaii (December 2001), pp. 682-688. [PDF];

Patents

Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
David G. Lowe, US Patent 6,711,293 (March 23, 2004). Provisional application filed March 8, 1999. Asignee: The University of British Columbia.

------------------------------------------------------------------------------------------------------------------------------------------------------------------

4. CUDA SURF: http://www.d2.mpi-inf.mpg.de/surf

5. GPU  SIFT : http://cs.unc.edu/~ccwu/siftgpu/download.html

 

你可能感兴趣的:(数字信号处理)