SIFT特征检测:关键点定位

通过拟合三维二次函数来精确确定关键点的位置和尺度,同时去除低对比度的关键点和不稳定的边缘响应点(因为DoG算子会产生较强的边缘响应),以增强匹配稳定性、提高抗噪声能力。

离散空间的极值点并不是真正的极值点,下图显示了二维函数离散空间得到的极值点与连续空间极值点的差别。利用已知的离散空间点插值得到的连续空间极值点的方法叫做子像素插值(Sub-pixel interpolation)。

候选特征点x,其偏移量定义为△x,其对比度为D(x)的对比值|D(x)|,对D(x)在特征点x引用泰勒展开:

由于x是D(x)的极值点,所以对上式求导并令其为0,得到极值点偏移量为

对应极值点,方程的值为:

其中代表相对插值中心的偏移量。当它在任一维度上的偏移量大于0.5时(既x或y或σ),意味着插值中心已经偏移到它的邻近点上,所以必须改变当前关键点的位置。同时在新的位置上反复插值知道收敛;也有可能超出所设定的迭代次数或者超出图像边界的范围,此时这样的点应该删除。|D(x)|过小的点易受噪声的干扰而变得不稳定,所以将小于某个经验值(Lowe论文中使用0.03,Rob Hess等人实现时使用0.04/S)的极值点删除。同时,在此过程中获取特征点的精度位置(原位置加上拟合的偏移量)以及尺度(σ(o,s)和σ_oct(s))。

 

消除边缘响应:

一个定义不好的高斯差分算子的极值在横跨边缘的地方有较大的主曲率,而在垂直边缘的方向有较小的主曲率。DOG算子会产生较强的边缘响应,需要剔除不稳定的边缘响应点。获取特征点处的Hessian矩阵,主曲率通过2*2的Hessian矩阵H求出:

H的特征值α和β代表x和y方向的梯度,

Tr表示矩阵H对角线元素之和,Det表示矩阵H的行列式。假设是α较大的特征值,而是β较小的特征值,令α=rβ,则

D的主曲率和H的特征值成正比,公式(r+1)²/r的值在两个特征值相等时最小,随着差异的增大而增大。值越大,说明两个特征值的比值越大,即在某一个方向的梯度值越大,而在另一个方向的梯度值越小,而边缘恰恰就是这种情况。所以为了提出边缘响应点,需要让该比值小于一定的阈值,因此,为了检测主曲率是否在某阈值r下,只需检测

上式成立时将关键点保留,反之剔除。取r=10,下图右侧为消除边缘响应后的关键点分布图。

 

有限差分求导推导:

有限差分以变量离散取值后对应的函数值近似微分方程中独立变量的连续取值。在有限差分方差中,我们放弃了微分方程中独立变量可以取连续值的特征,而关注独立变量离散取值后对应的函数值。但是从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间隔,或者通过离散点上的函数值插值计算来近似得到。这种方法是随着计算机的诞生和应用而发展起来的。其计算格式和程序的设计都比较直观和简单,因而,它在计算数学中使用广泛。

有限差分法的具体操作分为两个部分:

1.用差分代替微分方程中的微分,将连续变化的变量离散化,从而得到差分方程组的数学形式;

2.求解差分方程组。

一个函数在x点上的一阶和二阶微商,可以近似地使用它所临近的两点上的函数值的差分来表示。如对一个单变量函数f(x),x为定义在区间[a,b]上的连续变量,以步长h=△x将区间[a,b]离散化,我们会得到一系列节点:

然后求出f(x)在这些点上的近似值。虽然步长h越小,近似解的精度就越好。与节点xo相邻的节点有xi+h和f(xi)-f(xi-h)节点的一阶向后差分;f(xi+h)-f(xi-h)节点的一阶中心差分。

使用中心差分法,做如下推导:

函数f(x)在xi处的泰勒展开式为:

忽略h平方之后的项,联立上式,解得:

二元函数的泰勒展开式如下:

将上式展开后忽略次要项联立解方程得二维混合偏导如下:

利用多元泰勒展开式,可得任意偏导的近似差分表示。

 

在图像处理中,取h=1,在左图所示的图像中,将像素0的基本中点导数公式如下:

若矩阵可逆,即

则有

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值