基于模板的角点检测方法综述

基于模板的角点检测方法,不同基于梯度或导数的方法,它是直接针对于像素的灰度值(像素强度)的,这种方法的一般操作过程是先建立一个模板mask,通过模板来操作或比较图像局部的像素,从面判断其是否为角点,SUSAN方法就是这类方法的典型。

(1)楔形建模方法

最早期的方法,是将角点位置的区域建模成楔形区域,如下图所示,这个模型包含了角点、方向、对比度、钝度、曲度的变化,每一个楔形都包含了上述几个参数的变化,然后通过匹配所有这些模型,进行相似度比较,楔形角度等来确定该位置是否是角点,另外这个匹配过程也可以通过神经网络来完成(参考论文A Connectionist Model for Corner Detection in Binary and Gray Images)

还一种更为直接的方式就是直接在图像(一般在二值图内,所以需要先对图像进行二值化)内找到楔形区域,而找到楔形区域可以通过找到相邻曲线的值同中心点不一样的区域,另外对于楔形来说,角点可以被视为边缘的交界,所以我们可以在边缘应用角度的霍夫变换,确定边缘的角度,从而找到角点(参考论文Corner Detection Based on Modified Hough Transform)。


(2)局部相似性比较

SUSAN方法是另一种方法,其主要是利用局部像素之间的相似来确定图像的结构,其主要是通过建立一个圆形区域,然后找到这个圆形区域内同中心点相似的点,并将这样的区域称为USAN,而具有局部最小的USAN就可以视为角点。因为角点都是有多个方向的点,所以COP(Crosses as Oriented Pair)方法利用这个思路,在建立两个十字方向比较对(总共八个方向,相差刚好45度),然后分别求出各个方向的平均USAN,其值越小(显然角点那边方向USAN值越少),说明存在该方向,最后通过方向数目(可以确定角度)来确定是否是角点。

SUSAN是用一个圆形区域内所有的点来确定区域内的相似度,而实际上也可以只用一个环形来计算相似度,这个方法也是FAST方法所用的,其通过中心像素同其附近圆环上的16个像素的相似性比较来判断角点,如果有大于n个点同中心点不相似(FAST-n方法),这说明这是角点。还有一种确定相似度的方式,是通过将中心点同窗口内点的中值(或平均值,或其它百分位数)进行比较。还有一些通过径向对称变换来检测角点。

(3)机器学习的引入

近年来,在模板匹配中引入机器学习的方法倍受关注,通过训练模型进行分类,并获得角点检测函数是其主要目标,FAST的方法就是通过引入决策树方法先只需要确定两个位置,就能对图像的像素点进行分类,从而达到极大减少了候选点数,FAST-ER方法引入模拟退火方法进一步将调整决策树使其极大地提高了重复率。除了通过模拟退火方法可以优化角点检测函数外,我们也可以通过遗传算法、蚁群算法都可以达到优化的效果(可以参考我关于FAST及FAST-ER算法的博文)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值