BRIEF,rBRIEF,BOLD——从Binary描述量说起

来源:互联网 发布:网络域名查询 编辑:程序博客网 时间:2024/06/05 20:10

关键点,描述子

在进行图像匹配的时候,为加快速度,也为了去除干扰,我们常常通过图像的关键点进行匹配。

图像的角点、斑点等称为关键点。为使得关键点具有区分度(high variance)。我们使用一组向量来对关键点进行描述,称这组向量为描述子(描述量)。这组向量可以是直接对关键点周围patch的像素进行展开,可以使用关键点周围的梯度统计直方图构建,当然也有许多其它的方法。我们这里介绍的是所谓的二进制描述量,即通过一连串的01序列构建的描述量。

BRIEF

为使得不同光照,视角下同一个关键点的描述子尽量相似,于是我们需要使得描述量具有某种不变性。

一个直观的获得光照不变性的方法是提取patch的相对亮度大小。即在patch中选两个点(pairwise point,pp),通过他们的大小关系确定描述量的一位。选取多个这样的点,我们就获得了多维描述量进行关键点的描述。

随机选取256对点生成描述量,我们得到了所谓的BRIEF(Binary Robust Independent Elementary Features)描述子。

rBRIEF

BRIEF描述子的点对是随机生成的,一个自然的疑问是不同的随机序列带来的效果是否一致?显然答案是否定的。

为了找出更优的描述量,我们从大数据集中提取了300k个特征点,对每个特征点使用M个不同的随机点对序列组成不同的向量,并合成一个300k×M的矩阵,矩阵每一列代表使用点对ppi取得的二进制数。将这些列向量按照他们的variance从大到小排列。然后使用贪心算法去掉相关度过高的列向量,取得最优的256个向量对应的点对位置。通过这些位置得到的描述量称为rBRIEF描述量。这是所谓的全局最优点对序列。ORB特征即采用了这个描述子。

BOLD

但是对于每一个关键点来说,全局最优的点对序列是否是最适合它的呢?答案也很明显。

为对每个特征点都找出最适合它的最优点序列,我们对每个关键点附近的patch生成多视角下的图像,然后求出最稳定的点对序列。由此于是我们得到了所谓的BOLD(Binary Online Learning Descriptor)描述子。

reference

[1]ORB: an efficient alternative to SIFT or SURF
[2]BOLD - Binary Online Learned Descriptor For Efficient Image Matching
[3]Brief: Binary robust independent elementary features

原创粉丝点击