我正在寻找 SURF 的可用指标。就像一张图像在比例上与另一张图像的匹配程度一样,假设为 0 到 1,其中 0 表示没有相似性,1 表示相同的图像。
SURF 提供以下数据:
- 查询图像(集合 Q)中的兴趣点(及其描述符)
- 目标图像(集合 T)中的兴趣点(及其描述符)
- 可以从上面的两组中创建使用最近邻算法对
到目前为止,我一直在尝试一些东西,但似乎没有什么效果很好:
使用不同集合大小的度量:d = N / min(size(Q), size(T)) 其中 N 是匹配兴趣点的数量。这为非常相似的图像提供了相当低的评分,例如,即使从 Q 中的约 600 和 T 中的 200 匹配了 70 个兴趣点,也只有 0.32。我认为 70 是一个非常好的结果。我正在考虑使用一些对数缩放,所以只有非常低的数字才会得到低结果,但似乎找不到正确的方程。我得到
d = log(9*d0+1)
了 0.59 的结果,这相当不错,但它仍然会破坏 SURF 的力量。使用对内距离的度量:我做了类似找到 K 最佳匹配并添加它们的距离的方法。两个图像相似的距离最小。这样做的问题是我不知道兴趣点描述符元素的最大值和最小值是什么,从中计算距离,因此我只能相对找到结果(从许多输入中最好)。正如我所说,我想将指标精确地放在 0 和 1 之间。我需要这个来将 SURF 与其他图像指标进行比较。
这两个最大的问题是排除另一个。一个不考虑匹配的数量,另一个不考虑匹配之间的距离。我迷路了。
编辑:对于第一个,log(x*10^k)/k 的方程,其中 k 为 3 或 4,大多数情况下给出了很好的结果,最小值不好,它可以使 d 大于 1一些罕见的情况,没有它,小结果又回来了。