如何将SURF兴趣点与图像数据库相匹配

Mor*_*nGR 16 c# algorithm tree computer-vision surf

我在C#(OpenSurf)中使用SURF算法从图像中获取兴趣点列表.这些兴趣点中的每一个都包含描述符的向量,x坐标(int),y坐标(int),缩放(浮点)和方向(浮点).

现在,我想比较一个图像的兴趣点和数据库中的图像列表,这些图像列表中还有一个兴趣点列表,以找到最相似的图像.即:[图像(IP)] COMPARETO [图像列表(IP)].=>最佳匹配.在个体基础上比较图像产生不令人满意的结果.

在搜索stackoverflow或其他站点时,我发现的最佳解决方案是构建FLANN索引,同时跟踪兴趣点的来源.但在实施之前,我有一些令我困惑的问题:

1)当基于其SURF兴趣点匹配图像时,我发现的算法通过将它们的距离(x1,y1-> x2,y2)相互比较并找到具有最低总距离的图像来进行匹配.比较兴趣点时是否从未使用描述符或方向?

2)如果使用描述符,我将如何比较它们?我无法弄清楚如何使用索引树比较64点(1图像)的X矢量和64点(几个图像)的Y矢量.

我真的很感激一些帮助.我搜索到的所有地方或我找到的API,只支持将一张图片匹配到另一张图片,但不能将一张图片有效地匹配到图片列表.

yos*_*siB 0

我很确定距离是在描述符之间计算的,而不是它们的坐标(x,y)。您只能直接将一个描述符与另一个描述符进行比较。我提出以下可能的解决方案(肯定不是最佳的)

您可以为查询图像中的每个描述符找到数据集中的前 k 个最近邻,然后获取所有前 k 个列表并找到其中最常见的图像。