ORB特征

FAST关键点

FAST角点是一种通过检测图像局部像素灰度变化从而检测图像角点的方法,主要思想是:如果一个像素与邻域的像素差别较大(过亮或过暗),那么他就可能是角点。由于FAST只比较像素亮度的大小,所以相对与其他角点检测算法,速度优势明显。它的检测过程如下:

1、在图像中选择像素p,假设它的亮度是Ip。

2、选取一个合适的亮度变化阈值T(比如Ip的20%)

3、以像素p为圆心取半径为3的圆上的16个像素点,假如选取的圆上连续N个点的亮度大于Ip+T或者小于Ip-T,那么像素p可以被认为是特征点(N通常取12,称为FAST-12),为了进一步加速角点检测,对于每个像素,直接检查邻域圆上的第1、5、9、13个像素的亮度,只有这四个像素中有三个同时大于Ip+T或者同时小于Ip-T,当前像素才可能是一个角点。

在原始的FAST角点中常出现"扎堆"的现象,所以在第一遍检测后,还需要用非极大值抑制(Non-maximal suppression),在一定区域内只保留响应极大值的角点,避免扎堆出现的情况。

FAST特征点计算速度快,但是也有固定的问题,比如特征点数量大且不确定,不具有方向信息,固定取半径为3的圆存在尺度问题:远处看是角点,接近后看可能就不是角点等。ORB对原始FAST算法进行了如下改进:

1、对原始的FAST角点分别计算Harris响应值,然后选取前N个具有较大响应值的角点作为最终的角点集合。

2、增加尺度和旋转的描述。

尺度不变性是由构建图像金字塔,并在金字塔的每一层检查角点实现

特征的旋转由灰度质心法实现的(Intensity Centroid)。所谓质心是指以图像块灰度值作为权重的中心。

1。在一个小的图像块B中,定义图像的矩为:

2。通过矩可以找到图像块的质心:

3。连接图像块的几何中心O和质心C,得到一个方向向量OC,于是特征点的方向可以定义为:

通过增加尺度和旋转的描述,大大提升了其在不同图像之间表述的健壮性。

BRIEF描述子

使用改进的BRIEF描述子。BRIEF描述子是一种二进制的描述子,其描述向量由很多0和1组成。它是在一个特征点的邻域内,选择n对像素点pi、qi(i=1,2,…,n)。然后比较每个点对的灰度值的大小。如果I(pi)> I(qi),则生成二进制串中的1,否则为0。一般n取128、256或512,opencv默认为256。原始的BRIEF描述子不具有旋转不变性,因此图像发生旋转后容易丢失,而ORB在定义关键点的方向,因此可以利用方向信息,计算旋转后的Steer BRIEF使得ORB的描述子具有较好的旋转不变性。

特征匹配

最简单的是暴力匹配,描述子距离并两个特征之间的相似程度。对于浮点类型的描述子,使用欧式距离进行度量即可;对于二进制描述子,往往选用汉明距离(Hamming distance)——两个二进制串之间的汉明距离,指的是其不同位数的个数

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值