BRIEF特征点描述算法详解

版权声明:本人原创,转载请注明出处 https://blog.csdn.net/zjn295771349/article/details/84585593

看了许多关于BRIEF算法的博文,大多数写的不太详细,本文基于《BRIEF: Binary Robust Independent
Elementary Features》
给出详细解释和理解。若有错误,欢迎批评指正。

1.摘要

  1. BRIEF是在ECCV2010上提出的一种以二进制字符串作为特征点的描述子。原作者将其与SURF和U-SURF在标准基准上进行了比较,结果表明,BRIEF具有类似或更好的识别性能,而运行时间只占二者所需时间的一小部分。
  2. BRIEF仅仅是特征描述子,所以还需要配合特征点检测算法一起使用,如FAST算法、Harris算法等。

2.算法

  1. 以特征点为中心,取其大小为SxS的邻域p(S的大小paper中并为提及,也未讨论S的大小对结果的影响,但是通过原作者之后做的实验中发现,原作者使用的S大小为31)。
  2. 在这个区域p中选取nd个点对nd(x,y)(选取方法请看2.2节),定义τ
    在这里插入图片描述
    p(x)为x点的像素值大小。也就是比较x,y点的像素值,如果y点像素值大则为1,否则为0。(nd=128,256和512)
  3. 将nd个结果从最低位到最高位依次组成字符串fnd( p),
    在这里插入图片描述
    选取点对的顺序很重要,因为在对比结果的时候也要用相同的顺序来计算字符串。并且计算其他特征点的描述子的时候也要以相同的顺序选取点对。
  4. 最后在特征点匹配时,以两个特征点字符串的汉明距离作为判断依据。

2.1平滑内核

  1. 在构造上述描述子时,只考虑了单个像素处的像素值,因此对噪声非常敏感。通过对区域p进行预平滑,可以降低这种敏感性,从而提高描述子的稳定性可重复性
  2. 原作者用的是高斯平滑,当1<σ<3时,识别率相对较好,实际中原作者用的σ=2,卷积核大小为9x9。

2.2点对选取方法

点对选取方法
下图为以上五种方法的可视化
以上五种方法的可视化
这里就不贴比较图了,直接给出结论,G V较其他4种随机方法性能相差较多,故舍弃;G II相对其他3种方法有略微的优势,所以原作者在paper中用的是G II方法

2.3汉明距离分布

原作者从5对图片中提取了大约4000个点对,特征字符串位数为256位,也就是说最大汉明距离为256,通过实验得知非匹配点的分布大致是以128为中心的高斯分布,而匹配点的汉明距离围绕在一个较小值附近,如下图所示。但是作为分离匹配点和非匹配点的具体策略和阈值,paper中并未给出。在这里插入图片描述

3.结论

3.1描述子大小对识别率的影响

  1. 512位的BRIEF表现最好。
  2. 256位的BRIEF表现略差512位的BRIEF,但是优于SURF and U-SURF。
  3. 128位的BRIEF太短了,表现比较局限。

3.2角度敏感性

当旋转角度在10到15度时,几乎没什么影响,但是随后会急剧下降,也就是说不具备旋转不变性。

3.3速度

  1. 匹配两张图片的特征点通常有一下三步:
    1)选择特征点
    2)特征点描述
    3)特征点匹配
    结果图如下(BRIEF -k,k=nd/8,nd是描述子位数),环境是2.66 GHz/Linux x86-64。
    在这里插入图片描述
  2. 可以看出,BRIEF的速度远远高于SURF的速度。

4.总结

  1. BRIEF抛弃了传统的用梯度直方图描述区域的方法,改用检测随机响应,大大加快了描述子建立速度;生成的二进制描述子便于高速匹配(计算汉明距离只需通过异或操作加上统计二进制编码中“1”的个数的操作,这些通过底层的运算即可实现),且便于在硬件上实现。
  2. 缺点:不具备旋转不变性,不具备尺度不变性,容易受噪声影响 。

参考资料

[1] BRIEF:Binary Robust Independent Elementary Features[J].2010 ECCV.
[2] 【特征检测】BRIEF特征点描述算法
[3] BRIEF特征提取(理解篇)

猜你喜欢

转载自blog.csdn.net/zjn295771349/article/details/84585593