C ++ / OpenCV - Flann索引匹配和Flann匹配之间的差异

时间:2014-03-24 15:37:20

标签: c++ opencv flann

我正在尝试使用FLANN进行更深层次的功能匹配,看起来有两种可用的方法:使用和不使用索引。

以下是SO使用FLANN 指标进行匹配的问题: How to use opencv flann::Index?

以下是使用FLANN 指示进行匹配的示例: https://github.com/Itseez/opencv/blob/master/samples/cpp/matching_to_many_images.cpp

我当然看到了代码中的差异,但我试图理解使用一种方法优于另一种方法的优点。我知道在数据库中,添加索引可以在许多情况下提高性能。使用FLANN匹配功能时是否类似?

有没有人有这方面的经验?

1 个答案:

答案 0 :(得分:0)

功能匹配索引是一种交换速度准确性的方法。 FLANN所做的是"近似最近邻搜索"。这意味着你会失去一点精确度(例如,你找到下一个最好的最近邻居而不是真正最好的邻居的某些时间),但你获得了数量级的加速。由于特征数据本身是有噪声的,因此搜索阶段的某些近似值通常是可以容忍的。 KGraph库提供的索引通常比FLANN快几倍,但精度相同。