我在许多论文中读到,在使用ORB特征处理特征匹配时,需要使用汉明距离。我一直在C++中玩opencv中的BoW模型,发现与使用BruteForce匹配器(Hamming或Hamming(2((相比,如果我使用默认的BruteForce matcher(使用L2(,我的分类精度会更好。
为什么会这样?
我的印象是,你不能使用L2范数,但它提供了比使用汉明距离更好的分类精度。
假设您有两个3位ORB描述符:
A = [101]
B = [011]
hamming距离是对应字符不同的位置数:
hamming = 2
L2距离是欧几里得距离:
L2 = sqrt(2)
对于像ORB这样的二进制描述符,通常采用hamming距离,因为它具有更高的效率