我希望比较图像A中的SURF描述符和其他几个图像(B、C、D等)中的描述符,以找到与A最相似的图像。这些描述符具有64个维度。
使用C#和Emgu,匹配是通过将A的描述符与B的描述符、C的描述符、D的描述符等进行比较来完成的。当图像数超过10时,这种方法非常慢,因为需要搜索许多无关的描述符。
为了加快这个过程,根据文章的说法,正确的方法似乎是为(B、C、D等)中的描述符构建一个kd树,以快速匹配查找A中的描述符。kd树根据级别按维度分割。第一次分割由第一维决定,第二次分割由第二维决定,依此类推。然而,对于描述符的维数(64),使用KD树的好处变得较小。
所以我的问题是:您在使用KD树/其他方法将一个图像(A)中的SURF描述符与几个图像(B、C、D...)进行匹配方面有何经验或知识?什么做得好,什么做得不好,您是否做过类似的事情?
FLANN可以作为一个选项,在OpenCV中使用,但我找不到C#版本。近似最近邻算法也可以用来加速kd树,但对于匹配图像是否有好的效果呢?
此致 Morten
使用C#和Emgu,匹配是通过将A的描述符与B的描述符、C的描述符、D的描述符等进行比较来完成的。当图像数超过10时,这种方法非常慢,因为需要搜索许多无关的描述符。
为了加快这个过程,根据文章的说法,正确的方法似乎是为(B、C、D等)中的描述符构建一个kd树,以快速匹配查找A中的描述符。kd树根据级别按维度分割。第一次分割由第一维决定,第二次分割由第二维决定,依此类推。然而,对于描述符的维数(64),使用KD树的好处变得较小。
所以我的问题是:您在使用KD树/其他方法将一个图像(A)中的SURF描述符与几个图像(B、C、D...)进行匹配方面有何经验或知识?什么做得好,什么做得不好,您是否做过类似的事情?
FLANN可以作为一个选项,在OpenCV中使用,但我找不到C#版本。近似最近邻算法也可以用来加速kd树,但对于匹配图像是否有好的效果呢?
此致 Morten