我正在尝试使用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
匹配功能时是否类似?
有没有人有这方面的经验?
答案 0 :(得分:0)
功能匹配索引是一种交换速度准确性的方法。 FLANN所做的是"近似最近邻搜索"。这意味着你会失去一点精确度(例如,你找到下一个最好的最近邻居而不是真正最好的邻居的某些时间),但你获得了数量级的加速。由于特征数据本身是有噪声的,因此搜索阶段的某些近似值通常是可以容忍的。 KGraph库提供的索引通常比FLANN快几倍,但精度相同。