1

我有一组几千张图像,对于每张图像,我都提取了一组 SIFT 特征描述符(目前每张图像绑定 200 个)。

我需要形成每个图像之间距离的完整图表。也就是说,我需要通过一些度量来计算每个图像到其他图像的距离。

到目前为止,我已经尝试使用 FLANN 计算两个节点之间最近的 20 个相邻描述符,然后计算每个匹配描述符之间的平均距离。不幸的是,这个过程需要很长时间才能执行。

我有什么方法可以更有效地比较这些图像的描述符吗?

4

1 回答 1

5

您可以考虑将描述的 SIFT 聚合为视觉词袋 (BoV) 或局部聚合描述符向量 (VLAD)。基本上:

1 - 使用例如 K-means 计算码本(K SIFT 描述符)

2 - 对于每个图像,提取 SIFT 描述符,然后在码本中寻找每个图像的最近邻居。因此,根据码本计算图像的 SIFT 直方图。这是最简单的方法(硬编码、Sum pooling),但存在替代方法(并且通常为计算机视觉问题提供更好的结果)

3 - 因此,每个图像都用一个大小为 K 的唯一向量(直方图)表示。然后,您可以简单地将图像之间的距离计算为这些直方图之间的(例如欧几里得)距离。

于 2015-03-29T20:31:58.577 回答