【计算机视觉】角点检测和立体匹配

目录

【计算机视觉】角点检测、不变特征和立体匹配

1. 角点检测

1.1. Template Matching

1.2. Second-order Derivative Schemes

1.3. A Median Filter Based Corner Detector

1.4. Harris Corner Detection

 2. 局部不变特征检测(立体匹配)


【计算机视觉】角点检测、不变特征和立体匹配

1. 角点检测

角点是一种重要的图像局部特征:通常被定义为两条边的交点,角点的局部领域应该具有两个不同区域的不同方向的边界。它还有一种定义:如果某一点在任意方向的一个微小变动都会引起灰度很大变化,那么就称为角点。角点一般是曲线局部曲率极大值点,线段重点或具有某种物理量(如:强度)极大值/极小值的点。

角点具有可区分性强的优点,在视角变换的情况下依然能保持稳定的特征,常用于特征匹配等任务。

1.1. Template Matching

左侧为检测45度角点的template,右侧为检测90度角点的template。 

但这种方法检测角度固定,template相对图像的大小也会影响检测精度。

1.2. Second-order Derivative Schemes

根据定义,角点应该是在灰度快速变化的区域,其梯度和梯度变化率都很大。我们可以利用这种局部变化特性来进行角点检测。我们对某个像素点的灰度值二阶Taylor展开:

我们可以得到二阶导数的对称矩阵(结构张量):

 这个矩阵给出像素点局部的曲率信息。我们对坐标系适当旋转,就可以得到这个矩阵的对对角形式:

 我们主要利用其旋转不变性,进行角点检测。一个重要的性质是:经过旋转变换,矩阵的trace和行列式是不变的。Beaudet定义了两个算子描述这一性质:

 ​​​​

 但是,众所周知:Laplacian算子对边缘和线段也有响应,不是特别适合角点检测。而Hessian并不对边缘和线段有响应,只对角点响应。

这是一个理想的角的草图,用来给出一个平滑变化的强度函数。虚线表示斜坡上不同强度值下最大水平曲率的路径。DET操作符在P和Q处给出了最大的响应,需要找到理想的角位置C,其中DET给出了零响应。

另一种角点检测方法是Kitchen和Rosenfeld(1982)提出的。他们从考虑边缘方向的局部变化开始,研究了各种定位角的策略。他们发现了一个非常有效的算子,它可以估计梯度方向向量沿水平边缘切线方向的局部变化率的投影,并证明了它在数学上与计算强度函数I水平曲率κ是相同的。为了获得一个角的强度的真实指示,他们将κ乘以局部强度梯度的大小g:

1.3. A Median Filter Based Corner Detector

先用一个median filter滤除角点,得到一个去除角点的新图像I_1,再用原图像I_0减去新图像I_1,就可以获得角点:I_0-I_1。但这种方法是不可靠的,它可能不能检测出角点,反而将噪声检测了出来。幸运地是,人们证明了中值检测器有以下优点:

  1. 首先,在没有噪声的情况下,强信号不会出现在背景区域,也不会出现在直线边缘附近,因为中值滤波器不会显著地移动或修改这些边缘。
  2. 如果一个窗口从背景区域逐渐移动到它的中心像素刚好在一个凸物体的角上,中值滤波器的输出没有变化

因此有一个很强的差异信号可以表明存在角点。

根据图像形态学的知识,我们知道假设一个强度函数沿某一方向x单调增加,在其正交方向y上强度是不变的。因此,圆窗口内的中值等于领域中心的值。这就意味着,如果水平曲率局部为零,中值角检测器得到零信号。

因此,基于中值的角点检测器是利用水平曲率和强度梯度来检测角点的。其信号与水平曲率和强度梯度都成正比。

 其中,D表示位移;a表示曲率半径;g表示梯度;κ表示水平曲率大小。

1.4. Harris Corner Detection

Harris角点检测是一种直接基于灰度图像的角点提取算法,稳定性高,尤其对L型角点检测精度很高。但由于采用了高斯滤波,运算速度相对较慢,角点信息有丢失和位置偏移的现象。

Harris角点检测就是取某个像素的一个邻域窗口,当这个窗口在各个方向上进行小范围移动时,观察窗口内平均的像素灰度值的变化(即,E(u,v),Window-averaged change of intensity)。从上图可知,我们可以将一幅图像大致分为三个区域(‘flat’,‘edge’,‘corner’),这三个区域变化是不一样的。

 角点检测信号可以定义为:

 还有一种更好的定义:

 

  • Corner:在水平、竖直两个方向上变化均较大的点,即Ix、Iy都较大; 
  • Edge :仅在水平、或者仅在竖直方向有较大的点,即Ix和Iy只有其一较大 ;
  • Flat   : 在水平、竖直方向的变化量均较小的点,即Ix、Iy都较小;

这样通过判断两个变量的值来判断角点毕竟不是很方便。于是,定义了角点响应函数R(corner response function):

 对与三种不同区域,R值如下图所示。

 2. 局部不变特征检测(立体匹配)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值