[易懂]FAST特征点BRIEF描述子(Binary Robust Independent Elementary Features)特征周围信息提取描述子原理及Python代码实现教程

本文详细介绍了BRIEF描述子的工作原理,它是用于提取特征点周围像素信息的二进制串。通过随机选取点对并比较像素值来生成128位的二进制描述子,具有计算速度快的优点。尽管不具有旋转不变性,但ORB通过改进的Steer BRIEF解决了这个问题。匹配描述子通常使用汉明距离,并在大量数据中借助FLANN进行快速匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二进制鲁棒独立的基本特征(BRIEF)

BRIEF它二进制描述子。即是一段二进制串。BRIEF的作用是提取某个特征点周围像素信息。如果你不懂特征点是什么请参见FAST特征点提取与匹配算法教程Python实践。特征点提取算法只是知道了哪个像素点是特征点,但是我们提取特征点一般是用来目标跟踪三维重建之类的任务。而这些任务中有一个必备环节就是:找前后两帧图片哪两个特征点是同一个特征点。而为了找同一个特征点那就必须比较这些特征点周围像素信息是否相同。这个周围像素信息就是描述子,提取某个特征点周围像素信息就是BRIEF的作用。

BRIEF描述子有什么用?:判断两个特征点是否相同时的唯一标准是比较描述子是否相同。
BRIEF描述子怎么计算得到的?
它在特征点周围取多对点。比如取128对点。每对点有两个像素点。举个例子:第i对点有两个p,q像素点,如果p比q大则前面提到的二进制串第i位取1,否则取0. 最终可以得到128位二进制串。
那怎么取这128对点呢?随机取。当然这个随机不是运行的时候随机取。而是预先设定好随机取哪些点。下面是ORB-SLAM这个开源项目的取点的代码截图。它们预先设定好很多对点相对当前点的位置,比如下面第一对点的相对位置为(8,-3),(9,5)。假如当前关键点的位置是(x,y)。那么我现在就确定找(x+8,y-3)和(x+9,y+5)这两个点的像素,然后比较它们像素值大小,如果前者大那BRIEF提取到的二进制串第一个值就是1,否则是0.
在这里插入图片描述
优点:随机取,而且是二进制。不管是生成二进制串描述子,还是进行串比较速度都是非常快。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值