SURF的度量标准

9

我正在寻找一个可用的SURF指标。比如说在一个从0到1的范围内评估图像之间的相似度,其中0表示没有相似之处,1表示完全相同。

SURF提供以下数据:

  • 查询图像(集合Q)中的兴趣点(及其描述符)
  • 目标图像(集合T)中的兴趣点(及其描述符)
  • 使用最近邻算法可以从上述两个集合中创建匹配对

到目前为止,我尝试了一些方法,但似乎都不太好用:

  1. 使用不同集合的大小来计算指标:d = N / min(size(Q), size(T)),其中N是匹配的兴趣点数量。这样,在非常相似的图像中也只能得到很低的分数,例如当Q中有大约600个兴趣点,T中有200个兴趣点时,即使匹配了70个兴趣点,也只能得到0.32的评分。我想使用一些对数缩放来处理,使得只有真正的低数字才会得到低结果,但似乎找不到合适的方程式。通过d = log(9*d0+1),我得到了一个0.59的结果,这已经很不错了,但仍然会削弱SURF的效果。

  2. 使用匹配对之间的距离计算指标:我尝试找到前K个最佳匹配,并将它们的距离相加。距离越小,两张图像就越相似。问题在于,我不知道一个兴趣点描述符元素的最大和最小值是什么,从而无法精确计算距离(只能通过多次输入来相对比较结果)。正如我所说的,我需要把指标放在0到1之间,以便将SURF与其他图像指标进行比较。

这两种方法中最大的问题是,它们互相排斥。一种方法没有考虑匹配数量,另一种方法则忽略了匹配之间的距离。我很迷茫。

编辑:对于第一种方法,使用公式log(x*10^k)/k,其中k为3或4,大多数情况下都能得到良好的结果。min函数并不好用,有时会使d大于1,如果不使用它,则可以得到较小的结果。


请查看http://reference.wolfram.com/mathematica/ref/ImageCorrespondingPoints.html。他们引入了一个额外的参数(变换),也许可以为您提供一些启示... - Dr. belisarius
1个回答

6
你可以轻松创建一个度量,它是两个度量的加权和。使用机器学习技术学习适当的权重。
你所描述的与内容相关的图像检索领域密切相关,这是一个非常丰富多样的领域。谷歌搜索会给你很多结果。虽然SURF是一种优秀的通用低中级特征检测器,但远远不足够。SURF和SIFT(SURF的衍生物)在检测重复或近似重复时表现出色,但在捕捉感知相似性方面并不那么出色。
最好的CBIR系统通常利用一组特征的集合,通过一些训练集进行优化组合。一些有趣的检测器包括GIST(快速且便宜的检测器,最适合用于检测人造环境与自然环境)和Object Bank(基于直方图的检测器本身由数百个对象检测器输出组成)。

谢谢提供的方法,但这有点像我现在无法回头。我必须使用SURF,因为我受到指导(毕竟你不能和教授争论,对吧)。总之,加权和+1(为什么我没想到呢?),但这并不能解决整个问题。我仍然无法使用第二个度量标准。 - Máthé Endre-Botond

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接