ORB-SLAM2从理论到代码实现(三):ORB特征提取和匹配理论和代码详解_orb交易模型

FAST 是一种角点,主要检测局部像素灰度变化明显的地方,以速度快著称。它的思 想是:如果一个像素与它邻域的像素差别较大(过亮或过暗), 那它更可能是角点。相比于 其他角点检测算法,FAST 只需比较像素亮度的大小,十分快捷。

提取步骤:

1. 在图像中选取像素 p,假设它的亮度为 Ip。

2. 设置一个阈值 T(比如 Ip 的 20%)。

3. 以像素 p 为中心, 选取半径为 3 的圆上的 16 个像素点。

4. 假如选取的圆上,有连续的 N 个点的亮度大于 Ip + T 或小于 Ip −T,那么像素 p 可以被认为是特征点 (N 通常取 12,即为 FAST-12。其它常用的 N 取值为 9 和 11, 他们分别被称为 FAST-9,FAST-11)。

5. 循环以上四步,对每一个像素执行相同的操作。

为了提高效率,可以采用额外的加速办法。具体操作为,对于每个像素,直接检测邻域圆上的第 1,5,9,13 个像素的亮度。至少有3个和候选点的灰度值同时大于 Ip + T 或小于 Ip −T 时,当前像素才有可能是一个角点,否则应该直接排除。为了提高比较的效率,通常只使用N个周边像素来比较,也就是大家经常说的FAST-N,其中Fast-9,Fast-12使用最多。

Fast角点本不具有方向,但是由于特征点匹配需要,ORB对Fast角点进行了改进,,改进后的 FAST 被称为 Oriented FAST,具有旋转和尺度的描述。

尺度不变性是由构建图像金字塔,并在金字塔的每一层上检测角点来实现,这在SLAM十四讲中并没有具体介绍。这里进行介绍。

高斯金字塔构建:

  • 对图像做不同尺度的高斯模糊

为了让尺度体现其连续性,高斯金字塔在简单降采样的基础上加上了高斯滤波。将图像金字塔每层的一张图像使用不同参数做高斯模糊,使得金字塔的每层含有多张高斯模糊图像,将金字塔每层多张图像合称为一组(Octave),金字塔每层只有一组图像,组数和金字塔层数相等,使用下列公式计算,每组含有多张(也叫层Interval)图像。另外,降采样时,高斯金字塔上一组图像的初始图像(底层图像)是由前一组图像的倒数第三张图像隔点采样得到的。

其中M,N为原图像的大小,t为塔顶图像的最小维数的对数值。如,对于大小为512*512的图像,金字塔上各层图像的大小如表3.1所示,当塔顶图像为4*4时,n=7,当塔顶图像为2*2时,n=8。

  • 对图像做降采样(隔点采样)

总结:

设置一个比例因子scaleFactor(opencv默认为1.2)和金字塔的层数nlevels(pencv默认为8)。将原图像按比例因子缩小成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值