SIFT--关键点定位

SIFT主要分四步,这篇主要解释第二步: 关键点的定位。本文将从:定位关键点位置、选取合适的关键点、问题。三个部分来阐述。


定位关键点位置

上篇论文我们提到,通过DoG相邻层之间的比较来获取关键点。还是以图来看。

差分金字塔

即为了寻找尺度空间的极值点,每一个采样点都要和它所有的相邻点进行比较,看是否比它的图像域和尺度域的相邻点大或者小。如图,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的18个点共8+18=26点比较。目的是以确保在尺度空间和二维图像位置空间都检测到极值点。也就是说极值点的比较是在一个3x3的立方体内进行。

具体搜索过程从每组的第二层开始,以第二层为当前层,对第二层的DoG图像中的每个点取一个3x3的立方体,立方体上下层分别为第一层和第三层,即在这三层中搜索得到的极值点既有位置坐标(DoG的图像坐标),又有空间尺度坐标(层坐标)。

第二层搜索完后,再以第三层作为当前层,第二层和第四层分别作为当前层的上下俩层。后面搜索过程类似。

以上,搜索过程完毕,因为以上极值点的搜索是在离散空间中进行的,这个极值点并不是真正意义上的极值点。我们需要知道离散空间得到的极值点与连续空间的极值点之间的差别。用已知的离散空间点插值方法得到连续空间极值点的方法叫做子像元插值。

下图是离散空间极值点与连续空间极值点之间的关系。
离散空间与连续空间

以下从一元函数插值开始引入,利用泰勒展开式,如何得离散空间中真正的极值点。
 D(x,y,σ)  进行泰勒展开得到如下:
这里写图片描述

对上式求导并将结果置0得到极值位置如下:
这里写图片描述

将极值点的位置代入上面第一个式子中,得到结果如下:
这里写图片描述


具体的泰勒展开推导见下:
这里写图片描述

这里写图片描述

这里写图片描述

这里用到 给出矩阵  h(x)  求导的推导。
这里写图片描述

根据上面的推导,做如下推导
这里写图片描述

对于三维子像元插值,  x(x,y,σ)  为三维矢量。当  x^  (相对于插值中心点的偏移量)在任何方向上的偏移量大于0.5时,意味着差值中心点已经偏移到它的临近点上,所以这样的点需要删除。
以上,通过对DoG函数进行泰勒展开,我们能够确定极值点的位置。


合适关键点

上一篇我们讲过,通过在DoG空间之间的比较所确定的关键点并不是最合适的关键点,我们需要对这些特征点做俩个操作:

1、从中去除低响应的特征点。
2、去掉边缘响应强的特征点。

去除低响应的特征点

见上面的推导,当  D(x^)<0.03  时,其响应值过小,这样的点 易受噪声的干扰而变得不稳定,所以需要删除。

去除边缘响应

为了得到稳定的特征点,只是删除DoG响应值低的点是不够的。由于DoG对图像的边缘有较强的响应值,而一旦特征点落在图像的边缘上,这些点就是不稳定的点。所以也要去除这些边缘效应强的特征点。作者采用特征点周围的Hessian矩阵来解决。

一个平坦的DoG相应峰值往往在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。主曲率可以通过2x2的Hessian矩阵求出:
Hessian矩阵

以上,D值可以通过求取邻近点像元的差分得到。H的特征值与D的主曲率成正比。这里避免求取具体的特征值,因为我们只关心特征值的比例。
 λ  为Hessian矩阵的特征值。令  α=λmax   β=λmin  ,即有如下:

 Tr(H)=Dxx+Dyy=α+β 

 Det(H)=DxxDyy(Dyy)2=αβ 

如果  r  为最大特征值与最小特征值之间的比值,即设  α=rβ  ,这样便有
 Tr(H)2Det(H)2=(α+β)2αβ=(rβ+β)2rβ2=(r+1)2r 

上式的结果只与俩个特征值的比例有关,而与具体特征值无关。当俩个特征值相等时,  (r+1)2r  的值最小,随着  r  的增加,  (r+1)2r  的值也增加。所以要想检查主曲率的比值小于某一阈值  r  ,只要检查下式是否成立:
 Tr(H)2Det(H)<(r+1)2r 

Lowe在论文中给出  r=10  。也就是说,对于主曲率比值大于10的特征点将被删除,否则这些特征点将被保留。上述运算比求取矩阵H的具体特征值计算量要小的多。


一些问题

以下是定位关键点过程的一些疑惑:
1、在DoG空间中相邻的26个点间比较得到最大值或者最小值??
中心点与26个点分别比较俩次,看是否有最大值或是否有最小值。

2、在DoG空间3x3立方体间26个点进行比较得到待选关键点,那么如果中心点在边缘点呢???
如果中心点在边缘点,直接舍弃。

3、  σ  在计算中到底如何取值????
opensift中以第二层尺度  σ  作为初始值开始计算,Lowe论文中(一直推导的)是以第一层开始的。

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值