ORB特征和FAST关键点 笔记

您所在的位置:网站首页 fast有什么用 ORB特征和FAST关键点 笔记

ORB特征和FAST关键点 笔记

2023-09-18 05:31| 来源: 网络整理| 查看: 265

ORB特征和FAST 关键点

在这里插入图片描述

1. ORB特征

ORB特征由关键点和描述子两部分组成。它的关键点称为"Oriented FAST",是 一种改进的FAST角点,什么是FAST角点我们将在下文介绍。它的描述子称为BRIEF(Binary Robust Independent Elementary Features)。因此,提取ORB特征分为两个步骤:

FAST角点提取:找出图像中的"角点"。相较于原版的FAST,ORB中计算了特征点的主方向,为后续的BRIEF描述子增加了旋转不变特性。BRIEF描述子:对前一步提取出特征点的周围图像区域进行描述。 (1) FAST 关键点

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

在图像中选取像素 p p p, 假设它的亮度为 I p I_p Ip​。设置一个阈值 T T T(比如 I p I_p Ip​)的20%。以像素 p p p为中心,选取半径为3的圆上的16个像素点。加入选取的圆上,有连续 N N N个点的亮度大于 I p + T I_p+T Ip​+T或者小于 I p − T I_p-T Ip​−T,那么像素 p p p可以被认为是特征点(N通常取12,即为FAST-12。其他常用的N取值为9和11,它们分别被称为FAST-9,FAST-11)。循环以上四步,对每一个像素执行相同的操作。

在FAST-12算法中,为了更高效,可以添加一项预测试操作,以快速地排除绝大多数不是角点的像素。具体操作为,对于每个像素,直接检测邻域圆上的第1,5,9,13个像素的亮度。只有当这四个像素中有三个同时大于 I p + T I_p+T Ip​+T或小于 I p − T I_p-T Ip​−T时,当前像素才有可能是一个角点,否则应该直接排除。这样的预测试操作大大加速了角点检测。此外,原始的FAST角点经常出现“扎堆”的现象。所以在第一遍检测之后,还需要用非极大值抑制(Non-maximal suppression),在一定区域内仅保留响应极大值的角点, 避免角点集中的问题。

FAST特征点的计算仅仅是比较像素间亮度的差异,速度非常快,但它也有一些问题。首先,FAST特征点数量很大且不确定,而我们往往希望对图像提取固定数量的特征。因此,在ORB中,对原始的FAST算法进行了改进。 我们可以指定最终要提取的角点数量N,对原始FAST角点分别计算Harris响应值,然后选取前 N N N个具有最大响应值的角点,作为最终的角点集合。

其次,FAST角点不具有方向信息。 而且,由于它固定取半径为3的圆,存在尺度问题 :远处看着像是角点的地方,接近后看可能就不是角点了。针对FAST角点不具有方向性和尺度的弱点,ORB添加了尺度和旋转的描述。尺度不变性由构建图像金字塔,并在金字塔的每一层上检测角点来实现。而特征的旋转是由灰度质心法(Intensity Centroid)实现的,具体如下:

在一个小的图像块 B B B中,定义图像块的矩为: m p q = ∑ x , y ∈ B x p y q I ( x , y ) , p , q = { 0 , 1 } m_{pq} = \sum_{x,y \in B} x^py^qI(x,y), \quad p,q=\{0,1\} mpq​=x,y∈B∑​xpyqI(x,y),p,q={0,1}通过矩可以找到图像块的质心: C = ( m 10 m 00 , m 01 m 00 ) C= (\frac{m_{10}}{m_{00}}, \frac{m_{01}}{m_{00}}) C=(m00​m10​​,m00​m01​​)连接图像块的几何中心 O O O与质心 C C C,得到一个方向向量 O C → \overrightarrow{OC} OC ,于是特征点的方向可以定义为: θ = arctan ⁡ ( m 01 / m 10 ) \theta = \arctan(m_{01}/m_{10}) θ=arctan(m01​/m10​)

通过以上方法,FAST角点便具有了尺度与旋转的描述,大大提升了它们在不同图像之间表述的鲁棒性。 所以在ORB中,把这种改进后的FAST称为Oriented FAST。

(2) BRIEF 描述子

在提取Oriented FAST关键点后,我们对每个点计算其描述子。ORB使用改进的BRIEF特征描述。我们先来讲BRIEF是什么。

BRIEF 是一种二进制描述子,它的描述向量由许多个0和1组成, 这里的0和1编码了关键点附近两个像素(比如说p和q)的大小关系:如果p比q大,则取1,反之就取0。如果我们取了128个这样的p,q,最后就得到128维由0,1组成的向量。那么,p和q 如何选取呢?在作者原始的论文中给出了若干种挑选方法,大体上都是按照某种概率分布,随机地挑选p和q的位置。BRIEF使用了随机选点的比较,速度非常快,而且由于使用了二进制表达,存储起来也十分方便,适用于实时的图像匹配。原始的BRIEF描述子不具有旋转不变性的,因此在图像发生旋转时容易丢失。而ORB在FAST特征点提取阶段计算了关键点的方向,所以可以利用方向信息,计算了旋转之后的"Steer BRIEF"特征,使ORB的描述子具有较好的旋转不变性。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3