SIFT四部曲之

您所在的位置:网站首页 泰勒展开具体展开到哪一项 SIFT四部曲之

SIFT四部曲之

2024-07-03 22:34| 来源: 网络整理| 查看: 265

版权声明:本文为博主原创文章,未经博主允许不得转载。博客不用于商业活动,博主对博客的使用,拥有最终解释权本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权欢迎关注我的网上图书室:晨凫追风 和 微信公众号:青春当追风

这篇博客要做的是对sift的第二个步骤进行介绍和总结。然后对opencv中的源码进行解释,因为对这一部分的理解主要是根据Opencv中的源码反推的,感谢开源的作者们!

Ok言归正传!

Sift的第二个步骤主要是在图像中找到那些尺度不变性的点,这里叫做特征点。这些特征点是由DOG金字塔中的图像通过一系列的筛选规则得到的,所以这一步骤就是为了介绍这些筛选规则,以及用这些筛选规则怎么选出代表。

首先在前面介绍一些数学的知识吧,这些知识是经过推导得到的一些结论,所以记住它们(微笑脸)。

1.有限差分法求导(这里没有推导,也不太严谨,不用怕)

这个知识主要是介绍对于图像中函数的求导法则,介绍的是二元函数的求导。当然在尺度空间中,像素值f是坐标(x,y)和尺度σ的三元函数,它的求导法则可以类比。看图1和公式(1-5)这里的求导其实可以理解成,每一个像素值对哪一个方向求导,则与其他方向上的无关,就是把其他方向看成一个常数来理解。在同一层的图像中,与尺度的方向无关,所以把尺度看成一个常数。

图1

推广到三元函数,就是增加σ轴向的求导如图2,这里把y方向上的看成无关,来求导尺度轴和x方向的关系。

图2

以此类推y和σ方向上的关系:

图3

2.三阶矩阵求逆的公式

该矩阵存在逆矩阵,则它的行列式不等0,即:

所以

    

至此所要用到的一部分数学知识就讲到这里。接下来开始讲选举条例!

1.第0轮推举(阈值检测)

由于我们不能保证图片就是完全没有噪声的,所以在推选之前我们要排除一些对比度比较低的点,这些点很不稳定,容易受到干扰,本着宁缺毋滥的原则,先把不稳定因子排除。这个阈值一般是自己设定的,在opencv中设定它为:0.5*T/S,这里的T lowe 定义它为0.04,s是该点所在的层。拿到这个入场券的同学,进入下一轮选举

2.第一轮选举(极值检测)

在上一篇博客里讲到了,某某某证明了,高斯差分金字塔里的极值点比一般的(角点,Hessian,梯度函数)这些方法得到的点性质稳定。所以很自然的就要用到极值点来做候选人。在sift算法里面极值点的检测方法是(图5):

图5

对图像中的每一个点进行遍历,判断每一个点是否是极值,判断的标准是,把这个点与相邻的层,上下层9+9=18个点和同一层中8个点,共18+8=26个点进行比较,看这个点是否是最大值,还是最小值,若是,则保留下来,当做候选人。

3.第二轮选举(极值点精确定位)

在sift算法中,把尺度看成连续的,而在前面的极值检测中,只是把它当成离散点来计算,于是极值点的检测就会出现图6的情况,这怎么能符合Lowe同学严谨的风格呢?

图6

所以在这一轮的选举中,我们的目标就是找到精确的极值点(成仙之前当然要经过考验)其实这里的精确点的位置,是一个亚像素级别的概念,比如一个数的个位十位百位都确定了,要更加精细的去找这个数的小数点后的那个数据,就用插值来计算。

这里又是一系列的数学公式(打公式好麻烦呀!哭!)数学是根本呀!大一高数学不好,本科兵败如山倒!

言归正传!这里我们需要高数和线性代数的一些知识。高数中提过,函数f(x)在x0处可以进行泰勒展开。于是我们也在这个检测到的极值点处处,对它进行泰勒级数展开(这里只展开到二阶项,高次项砍掉),以此来拟合这个三维二次函数。于是得到

把上面的式子写成矢量的形式:

这真是个伟大的公式!,好了我们拟合出来了该点附近的函数了,表示拟合之后连续空间下面的插值点坐标,设表示:相对于插值中心的偏移量,这下公式(13)可以用偏移量表示:

(14)

该咋求极值呢?当然是求导啦!导数为0的那个点(排除驻点的情况,非要考虑驻点的话,不好意思,我也不会,微笑脸)于是得到下面的求导式子:

(15)

让导数等于0,就可以得到极值点下的相对于插值中心的偏移量:

(16)

把式(16)代入式(14)可以得到该极值点下的极值为:

(17)

Ok,其实到这里,已经把精确的极值点找到了,但是真的是这样的吗?答案当然不是。上述的知识只是告诉我们找到偏移量的一个大的方向,真正的细节并没有说明白!

这里该注意几个问题:

当求出来的偏移量很大的时候,这时就表明精确的极值点已经完全偏离了离散比较得到的极值点,这时候就得删除它 当求出来的偏移量大于0.5,(只要x,y,和σ任意一个量大于0.5)就表示这个插值点偏离了插值中心,这时候就应该改变插值中心,继续使用上


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3