gpt4 book ai didi

opencv - ORB/BFMatcher - 为什么是 norm_hamming 距离?

转载 作者:行者123 更新时间:2023-12-02 16:17:27 26 4
gpt4 key购买 nike

我正在使用 ORB 的 OpenCV 实现以及 BFMatcher。 OpenCV 声明 NORM_HAMMING 应该与 ORB 一起使用。

这是为什么? norm_hamming 与其他方法(如欧氏距离、norm_l1 等)相比有何优势

最佳答案

在比较计算机视觉中的描述符时,欧氏距离通常被理解为两个向量元素之间的平方差之和的平方根。

ORB 描述符是二进制值的向量。如果将欧几里德距离应用于二元向量,单次比较的平方结果将始终为 1 或 0,这在估计元素之间的差异时没有提供信息。整体欧几里德距离将是这些 1 和 0 之和的平方根,这同样不是向量之间差异的良好估计。

这就是使用汉明距离的原因。这里的距离是不相同的元素的数量。正如 Catree 所指出的,您可以通过对向量进行简单的 bool 运算来计算它,如下图所示。这里 D1 是一个 4 位描述符,我们将其与 D2 中显示的 4 个描述符进行比较。矩阵H是每一行的汉明距离。

A quick illustration of Hamming distance calculation in CV.

关于opencv - ORB/BFMatcher - 为什么是 norm_hamming 距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43614497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com