我在许多论文中看到,在使用 ORB 特征处理特征匹配时需要使用汉明距离。我一直在使用 C++ 中的 opencv 中的 BoW 模型,发现与使用 BruteForce 匹配器(Hamming 或 Hamming(2))相比,如果我使用默认的 BruteForce 匹配器(使用 L2),我的分类准确度会更高。
这是为什么?
我的印象是您不能使用 L2 范数,但它提供比使用汉明距离更好的分类准确度。
最佳答案
假设您有两个 3 位 ORB 描述符:
A = [101]
B = [011]
汉明距离是对应字符不同位置的个数:
hamming = 2
L2距离是欧氏距离:
L2 = sqrt(2)
对于像ORB这样的二进制描述符,通常采用汉明距离,因为它具有更高的效率
关于opencv - 对于 BoW 模型中的 ORB,L2 范数比 Hamming 效果更好,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23401398/