特征点匹配——FREAK算法介绍

FREAK算法是ICCV 2012上的一篇关于特征点检测与匹配的论文《FREAK: Fast Retina Keypoint》上提出的,从文章标题中可以看出来该算法的一个特点是快速,另外一个特点就是该算法是被人眼识别物体的原理上得到启发提出的。
看过我之前博文的可能知道,我到现在已经把SIFT算法、ORB算法、BRIEF算法和BRISK算法都进行了介绍。可以看出BRIEF、ORB和BRISK都是特征点周围的邻域像素点对之间的比较形成的二进制串作为特征点的描述符,这种做法有着快速和占用内存低的优点,在如今的移动计算中有很大的优势,但是也遗留了一些问题。比如,如何确定特征点邻域中哪些像素点对进行比较,如何匹配它们呢?作者提出,这种优化的趋势与自然界中通过简单的规则解决复杂的问题是相符的。作者提出的FREAK算法就是通过模仿人眼视觉系统而完成的,下面我们来介绍一下FREAK算法。

一、特征点检测

特征点检测是特征点匹配的第一个阶段,FAST算法是一种可以快速检测特征点的算法,而且有AGAST算法对FAST算法的加速版本。本文中特征点检测方法与BRISK中特征点检测方法相同,都是建立多尺度的图像,在不同图像中分别使用FAST算法检测特征点,具体的做法见我的博文特征点检测——BRISK算法介绍,这里就不在详细的说明了。

二、二进制串特征描述符

既然FREAK算法是通过人眼的视觉系统得到启发提出的算法,那么我们首先来看看人眼的视觉系统。

2.1 Human retina

作者提出,在人眼的视网膜区域中,感受光线的细胞的密度是不相同的。人眼的视网膜根据感光细胞的密度分成了四个区域:foveola、fovea、parafoveal和perifoveal,如下图所示:
这里写图片描述
这里面fovea区域是负责接收高分辨率的图像,而低分辨率的图像是perfoveal区域中形成的。

2.2 采样模式

在我以前博文中提到的BRIEF、ORB算法中特征点邻域中的采样点对是随机生成的,而BRISK算法则是采用平均采样的方式生成的这些采样点。FREAK算法中采样模式与BRISK算法中采样模式类似,但是它的模式与人眼视觉系统中的模式更为接近,如下图所示:


这里写图片描述

上图中每一个黑点代表一个采样点,每个圆圈代表一块感受野,具体在处理时时对该部分图像进行高斯模糊处理,以降低噪声的影响,而且每个圆圈的半径表示了高斯模糊的标准差。这种采样模式与BRISK算法的不同之处在于,每个感受野与感受野之间有重叠的部分。与ORB和BRIEF算法的不同之处在于,ORB和BRIEF算法中的高斯模糊半径都是相同的,而这里采用了这种不同大小的高斯模糊的核函数。作者提出,正是这些不同之处,导致最后的结果更加优秀。通过重叠的感受野,可以获得更多的信息,这些信息可以使最终的描述符更具有独特性。而不同大小的感受野在人体的视网膜中也有这样类似的结构。
最终FREAK算法的采样结构为6、6、6、6、6、6、6、1,这里的6代表每层中有6个采样点并且这6个采样点在一个同心圆中,一共有7个同心圆,最后的1代表的是特征点。

2.3 Coarse-to-fine descriptor

如上所述,FREAK算法也是用二进制串对特征点进行描述,这里用 F 进行表示,则有

F=0a<N2aT(Pa)
这里的 T(Pa) 是一个函数, P
  • 10
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值