基于曲线方向(梯度)变化的角点检测方法

除了通过计算曲线角度来确定角点外,还一种更为直观的方法,因为角点实际上边缘的连接处,所以我们可以直接检测某点边缘方向变化,如果一个点上有多个连接的边缘,或边缘变化较大,说明这个点是角点。
本文将重点介绍三个方法,分别是GCM方法(基于边缘梯度自相关矩阵)、DOG方法和ANDD方法。

一、通过梯度自相关矩阵的方法(GCM)
首先计算边缘平面曲线上每点的梯度:
 
这里的dx和dy分别是平面曲线C关于x,y方向上的梯度,我们可以发现角点附近(ROS区域内)的点同其值是不一样(这实际上是意味着角点附近点梯度变化大),而非角点附近梯度值是相似的。下面图说明这一现象:
 
我们现在考虑平面曲线在ROS区域内的一组梯度向量 
然后我们找到这组梯度值的最匹配的直线向量(如上图右P点蓝色框标示的直线),这个直线也反映了梯度的变化方向。这组梯度往这条直线向量的投影为:
 
意思是指匹配的误差程度,最小的匹配误差就可以得到我们梯度值匹配的直线向量,然后根据向量,我们就能确定角点两线的方向。
 
 
这里的M就是指梯度自相关矩阵,我们可以知道M矩阵最小特征值对应的特征向量就是最匹配的梯度单位归一化向量,而最小特征值向量反映了特征的分布——梯度坐标内梯度向量的分散程度。注意这里的M并不是边缘的协方差矩阵(之前,我们也分析了通过边缘协方差矩阵来求曲线角度的方法)
离散的形式:
 
指的是在ROS区域内第i阶差分

通过分析M矩阵的行列式可以确定点的角响应程度,通过非极大值抑制及一个设定阈值比较,我们可以确定角点位置。


二、DOG曲线尺度空间演化方法
这个方法主要是考虑到角点与非角点在尺度空间里深化速度不同,随着尺度由粗到细,角点位置模糊的越多,即受到平滑力越多,而非角点变化却越少,角点附近的改变程度要比非角点附近的改变程度要大,下图说明了这个现象:
 
这个方法也是先从一组边缘曲线出发:
首先考虑到一个平面曲线:
 
然后对其进行不同尺度的高斯平滑:
 
高斯平滑结果如下:
 
获得高斯平滑后的各个尺度的曲线,噪声处被平滑后,而尖锐的角点仍然保留了下来,弱的角点被慢慢消失,CSS检测方法利用相似的特征点来计算不同尺度的曲度,但是这些只是考虑一个尺度下的,然后通过由粗尺度向细尺度追踪,获得精确的角点位置。
但是我们可以发现角点处移动的位置是远比非角点处移动的位置要大得多,由此我们可以先来衡量下这个位置变化程度,计算尺度间的差分高斯,这里平滑的是x,y位置,显然平滑后,角点x,y位置变化较大。
 
然而通过上式,可以反映了演化曲线的演化差别的大小,因而其也可以被视为角响应度,角点自然而然被定义为局部极值点。
找到极值点在曲线上的位置后,下面我们就可以直接通过在细尺度下进行精确定位就可以了,同CSS相比,因为DOG有模板,所以计算量非常少,另一方面其只需要在细尺度下进行定位,而需要从粗尺度下到细尺度下追踪过程。
另外在sift算法里面,我们知道,LOG可以用DOG来代替:
 
所以我们DOG的一个简化计算式子:
 


三、ANDD基于各向异性的高斯模板的角点检测方法
首先定义了一个二维的瘦长性高斯函数:
 
这里的表示其是一个各同相异的因子,而表示平面曲线坐标,其偏导数可以如下表示:
 
我们给上面的各同相异高斯函数一个角度
 
此时我们可以得到ANDD滤波器,其表示为在不同角度上的梯度,下式表示为其在同y轴相差θ角(即π/2+θ)位置上的梯度模板:
 
下图是一些核与滤波器模板(八个不同方向)
 
对图像来说,某个角度上的梯度为:
 
ANDD滤波器最后表现形式如下:
 
角度的分辨率,如果两个边缘太过相邻,则没办法分辨出来:
 
梯度方向的数目K,要满足要求:
 
结果分析:
 


四、总结
基于图像边缘的角点检测方法总结图片:
 


参考文献:
[1] Corner detection based on gradient correlation matrices of planar curves  (GCM)
[2] Robust image corner detection based on scale evolution difference of planar curves  (DOG)
[3] Corner Detection and Classification Using Anisotropic Directional Derivative Representations (ANDD)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值