无痛理解SIFT
来源:互联网 发布:蓟县一中网络空间 编辑:程序博客网 时间:2024/04/29 11:55
原文链接:https://zhuanlan.zhihu.com/p/22476595
SIFT(Scale-Invariant Feature Transform)自1999年由David Lowe提出以后被广泛的应用于CV的各种领域:图像识别,图像检索,3D重建等等,可谓无人不知无人不晓。其应用太广泛了,而且Lowe还申请了专利,以至于想商业用的人都很担心。它的步骤可以主要分两步:1)特征点检出 keypoint localisation,2)特征点描述 feature description。
特征点检出主要是用了DoG,就是把图像做不同程度的高斯模糊blur,平滑的区域或点肯定变化不大,而纹理复杂的比如边缘,点,角之类区域肯定变化很大,这样变化很大的点就是特征点。当然为了找到足够的点,还需要把图像放大缩小几倍(Image Pyramids)来重复这个步骤找特征点。其实DoG并不是Lowe提出的,很久以前就有了,读过SIFT专利的人都知道,SIFT的专利里面也不包括这部分。可代替特征点检出还有很多其他方法如MSER等。
特征点描述就是一个简单版的HOG,即以检出的特征点为中心选16x16的区域作为local patch,这个区域又可以均分为4x4个子区域,每个子区域中各个像素的梯度都可以分到8个bin里面,这样就得到了4x4x8=128维的特征向量。特征点检出以后还需要一个很重要的步骤就是归一化,计算这个patch的主方向,然后根据这个主方向把patch旋转到特定方向,这样计算的特征就有了方向不变性,也需要根据patch各像素梯度大小把patch缩放到一定的尺度,这样特征就有了尺度不变性。
很多人都直接把这两步统称为SIFT,其实确切来说SIFT是指第二步的特征,而SIFT features或SIFT descriptor的说法应该比较准确。
David Lowe大牛靠着早期SIFT的1-2篇文章,引用数已逼近7W,也当上了教授,后半生无忧,让人望尘莫及。(正常4-5K的引用就足以搞到个教授职)
- 无痛理解SIFT
- sift 算法理解
- vlfeat dense sift理解
- 对sift的理解
- sift 不易理解的地方
- SIFT尺度空间的理解
- sift论文看后理解
- SIFT算法的个人理解
- SIFT 特征原理与理解
- SIFT 三线性插值 理解篇
- SIFT特征1--原理理解
- SIFT/SURF算法的通俗理解
- 转载SIFT/SURF算法的通俗理解
- 谈谈对SIFT算法的理解
- 计算机视觉-sift(2)代码理解
- sift尺度空间的理解以及计算
- SIFT/SURF算法的通俗理解
- [小白学习教程之] 理解SIFT
- eclipse在使用maven的tomcat控件编译Java程序时,报错
- sprite类
- JDK 1.8 ArrayBlockingQueue 源码阅读(二)获取
- 目标检测——深度模型总结
- CentOS: 网络连接故障排除
- 无痛理解SIFT
- 使用Nexus搭建Maven私服
- 【CF763B】Timofey and rectangles 题解
- 题解:Kth Largest Element in an Array
- 排序算法(选择,插入,冒泡)
- CodeForces
- [sd card] SD card初始化时的总线设置
- Android 自定义 View 圆形进度条总结
- java 动态规划 背包问题