特征描述子提取BRIEF算法

1. BRIEF简介
   BRIEF是一种特征描述子提取算法,并非特征点的提取算法,这和SIFT,SURF等是有区别的。SIFT是由Lowe在2004提出,是一种128维的浮点描述子,其不仅仅提取代价高,而且匹配代价十分高(虽然有KDTree),还造成了大量空间浪费。
   正是基于上面特点,作者提出了BRIEF,一种生成二值化描述子的算法,不仅仅提取代价低,匹配也只需要使用简单的汉明距离(HammingDistance)利用比特之间的异或操作就可以完成。因此,时间代价低,空间代价低,效果还挺好是最大的优点。

2. 算法主体
2.1 图像滤波
   原始图像会存在大量噪声,会对结果产生影响,因此首先需要对图像进行高斯滤波,去除部分噪声。

2.2 选取点对
   这是论文的较为核心部分。首先需要利用其它特征点提取算法,如FAST等生成特征点。随后,在特征点的领域一范围内SxS内随机选取点对,作者提供5种方式,如下图:
1. x,y方向平均分布采样
2.x,y均服从Gauss(0,S^2/25)各向同性采样
3. x服从Gauss(0,S^2/25),y服从Gauss(0,S^2/100)采样
4. x,y从网格中随机获取
5. x一直在(0,0),y从网格中随机选取
特征描述子提取BRIEF算法
2.3 生成描述子
当随机生成点对后,通过点对之间灰度值比较来确定该点对对应的数值是0还是1
假设x,y一个点对的两个点,if P(x) >P(y),取1,否则是0
一个区域内点对的数量可以是128,256或者512,这需要和时间上进行平衡。
最终得到的描述子这些0,1组成的长串

具体来讲分为以下几步。                              

1.以关键点P为圆心,以d为半径做圆O

2.在圆O内某一模式选取N个点对。这里为方便说明,N=4,实际应用中N可以取512.

假设当前选取的4个点对如上图所示分别标记为:

特征描述子提取BRIEF算法         特征描述子提取BRIEF算法

3.定义操作T

特征描述子提取BRIEF算法

       特征描述子提取BRIEF算法

4.分别对已选取的点对进行T操作,将得到的结果进行组合。

假如:

         特征描述子提取BRIEF算法

特征描述子提取BRIEF算法

则最终的描述子为:1011

2.4特征匹配
由于特征描述子是非常简单的0,1串,因此作者选择了韩明距离来进行匹配。

3. 优点和缺点
优点:简单,时间代价和空间代价低,匹配代价低
缺点:不具备宣传不变性,不具备尺度不变性,容易受噪声影响(由于点对每次只比较一个像素点,其实可以选择一块区域)

from:http://blog.sina.com.cn/s/blog_e742bd8a0102ww7t.html