这篇文章参考了Utkarsh的博客,感觉他对SIFT的理解非常深刻,传送门在此:SIFT--Utkarsh
SIFT学习
1. SIFT:ScaleInvariant Feature Transform
不同图像间的特征匹配是计算机视觉中的一个焦点,如果图片是大致相似的(同样的尺寸,同样的方向),简单的角点检测(Harris)是可行的。但是如果图象有不同尺度和旋转,你就需要尺度不变的特征转换(SIFT)。
2. 为毛SIFT牛叉
SIFT不仅仅是尺度不变,你可以改变下列几项,一样能获得较好的结果。
² 尺度
² 旋转
² 亮度(强度)
² 视角
下面是一个例子:
我们要寻找这些目标:
这是我们搜索的场景:
这是我们得到的结果:
大的矩形标识的是匹配的图片,小的矩形标识的是这些区域里的单个特征。注意这些大的矩形是根据目标的朝向和尺度来刻画的。
3. 算法
SIFT是一个较复杂的算法,所以我把整个算法分割成几个部分,这是整个大纲。
这是最初的准备工作,你要创建一个原始图片的一组尺度图来确保尺度不变。
高斯拉普拉斯算子对于查找特征点很有帮助,但是消耗太大,所以我们采用在之前创建的尺度图来完成近似LoG的计算
在之前快速近似策略上,我们尝试查找特征点,在我们前一步的计算得到高斯差分(DoG)中查找极大值和极小值。
边缘和低对比度区域是不合适的特征点。去除它们使得算法更有效和鲁棒性。这里使用了一个类似Harris角点的技术。
每个特征点都会计算出一个方向,它会涉及到更多的计算,这可以有效的去除方向的影响,使得它满足方向不变性。
4. 你能用SIFT干什么
图片检索追踪。。。。。。。。whatever you like