SIFT学习资料

转自:http://blog.csdn.net/chenhongc/article/details/7864051


sift(1)

1.  算法

SIFT是一个较复杂的算法,所以我把整个算法分割成几个部分,这是整个大纲。

 Ø  构建一个尺度空间

这是最初的准备工作,你要创建一个原始图片的一组尺度图来确保尺度不变。

Ø  LoG近似

高斯拉普拉斯算子对于查找特征点很有帮助,但是消耗太大,所以我们采用在之前创建的尺度图来完成近似LoG的计算

Ø  查找特征点

在之前快速近似策略上,我们尝试查找特征点,在我们前一步的计算得到高斯差分(DoG)中查找极大值和极小值。

Ø  舍弃不适合的特征点

边缘和低对比度区域是不合适的特征点。去除它们使得算法更有效和鲁棒性。这里使用了一个类似Harris角点的技术。

Ø  对特征点赋予方向

每个特征点都会计算出一个方向,它会涉及到更多的计算,这可以有效的去除方向的影响,使得它满足方向不变性。

Ø  产生SIFT特征

Sift资源

1、加拿大University of British Columbia大学计算机科学系教授David G. Lowe发表于2004年Int Journal of Computer Vision,2(60):91-110的那篇标题为“Distivtive Image Features from Scale -Invariant Keypoints”的论文。作者在其学术网站上发表的Matlab程序代码(注意,这个程序代码的初始版本是D. Alvaro and J.J. Guerrero,来自Universidad de Zaragoza。)上述代码可以很容易检索到,如,http://www.cs.ubc.ca/~lowe/keypoints/,Lowe提取sift特征的核心代码没有公开。

 

2、美国加州大学洛杉矶分校(University of California at Los Angeles) Andrea Vedaldi 博士研究生给出的基于David Lowe 发表的论文给利用Matlab和C语言混合编程给出的Sift detector and descriptor的实现过程。http://vision.ucla.edu/~vedaldi/ ,http://www.vlfeat.org/~vedaldi/code/sift.html,按照他网站上的说明运行程序,直接运行可能会出现Undefined function or method 'imsmooth' for input arguments of type 'double'的错误。网页上也pre-compiled MEX files.版本。

 

3、Rob Hess维护的sift 库:http://blogs.oregonstate.edu/hess/code/sift/ Opencv中的sift算法就是采用他的,编译Rob Hess基于opencv的sift算法的c语言实现http://www.opencv.org.cn/index.php/User:Lmyanglei Opencv2.3版已经集成了sift算法,已试验见文章sift(2)。

 

4、The VLFeatopen source library implements popular computer vision algorithms including SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, and quick shift. It is written in C for efficiency and compatibility, with interfaces in MATLAB for ease of use, and detailed documentation throughout. It supports Windows, Mac OS X, and Linux. The latest version of VLFeat is 0.9.14.  http://www.vlfeat.org/overview/sift.html 

 

Sift 原理

Lower的文章就不提了

1、http://underthehood.blog.51cto.com/2531780/658350 个人觉得整理的质量较高的一片博文。值得一提的是,博文中的参考文献《图像局部不变性特征与描述》这本书还不错。

2、http://blog.csdn.net/v_JULY_v/article/details/6186942、http://blog.csdn.net/onezeros/article/details/6117704可参考的文博原理,其他大部分的博客的文章大同小异

3、http://www.2cto.com/kf/201104/87522.html 教你一步一步用C语言实现sift算法。


你可能感兴趣的:(Vision,Computer,sift)