2

我正在使用 openCV Surf 跟踪器在两个图像中找到确切的点。如您所知,Surf 在两幅图像中都返回了许多特征点。我想要做的是使用这些特征参数来找出哪些匹配是完全正确的(真正的正匹配)。在我的应用程序中,我只需要真正的肯定匹配。

这些参数存在:HessianLaplacianDistanceSizeDir

我不知道如何使用这些参数?精确匹配的距离更小还是粗麻布更远?拉普拉斯能帮忙吗?大小或目录可以帮助吗?

我怎样才能找到完全匹配(真阳性)?

4

3 回答 3

2

通过采用以下策略,您可以在查询和图像中的描述符之间找到非常合适的匹配 -

使用 2 NN 搜索图像描述符中的查询描述符,以及以下条件 -

如果 distance(1st match) < 0.6*distance(2nd match) 则第一个匹配是“好匹配”。

过滤掉误报。

于 2012-02-26T19:13:34.270 回答
1

很明显,您不能 100% 确定哪些点真正匹配。您可以通过调整 SURF 参数(请参阅此处的一些链接)来增加(性能成本)正数。根据您的实际任务,您可以使用稳健的算法来消除异常值,即如果您执行某种模型拟合,则为 RANSAC。此外,正如 Erfan 所说,您可以使用空间信息(查看“Elastic Bunch Graph Matching”和Spatial BoW)。

于 2010-07-24T12:58:10.873 回答
0

我即将发布的答案只是我的猜测,因为我尚未对其进行测试以查看它是否完全按预期工作。通过比较返回的3个随机候选特征点之间的相对极距,opencv并与模板中的对应点进行比较(有一定误差),不仅可以计算出真阳性的概率,还可以计算出的角度和尺度你匹配的模式。

干杯!

于 2010-07-13T18:39:06.853 回答