一、定义
BRIEF全称(Binary Robust Indenpendent Elementary Features)
它提供了一种计算二值串的捷径,而并不需要去计算一个类似于SIFT的特征描述子。它需要先平滑图像,然后在特征点周围选择一个Patch,在这个Patch内通过一种选定的方法来挑选出来 nd 个点对。然后对于每一个点对(p,q)(p,q),我们来比较这两个点的亮度值,如果I(p)>I(q),I(p)>I(q)则这个点对生成了二值串中一个的值为1,如果I(p)小于I(q),则对应在二值串中的值为-1,否则为0。所有 nd 个点对,都进行比较之间,我们就生成了一个 nd 长的二进制串。对于 nd 的选择,我们可以设置为128,256或512,但是OpenCV中默认的参数为256,这种情况下,非匹配点的汉明距离呈现均值为128比特的高斯分布。值得注意的是,对于BRIEF,它仅仅是一种特征描述符,它不提供特征点的提取方法。
总的来说,BRIEF是一个效率很高的特征提取描述子的方法,同事,它有着很好的识别率,但当图像发生很大的平面内的旋转。
最后,在匹配时只需计算两特征点描述子Hamming距离。判断是否匹配的依据:经历大量实验数据测试,不匹配特征点的描述子Hamming距离在128左右,匹配点对描述子Hamming距离则远小于128.结果比较:第一、在旋转不是非常厉害的图像里,用BRIEF生成的描述子的匹配质量非常高,作者测试的大多数情况中都超越了SURF。但在旋转大于30°后,BRIEF的匹配率快速降到0左右;第二、BRIEF的耗时非常短,在相同情形下计算512个特征点的描述子时,SURF耗时335ms,BRIEF仅8.18ms;匹配SURF描述子需28.3ms,BRIEF仅需2.19ms。在要求不太高的情形下,BRIEF描述子更容易做到实时。