0

I am implementing the SIFT algorithm , where my purpose of using this is that i have a set of images and I want to find the best match against a single image, which I have kept as a 'template image'. SIFT returns matches and scores, where 'matches' represent the descriptors that were found to be same in both images, and 'scores' are determined by the Euclidean method.

Now I am stuck at the point that I need to evaluate the best match amongst all the images with my template image. I figured out that when there is an exact match between two images the 'score' turns out to be zero, because descriptor positions in both images are the same. How shall I go about it that I can say this image is the best match or the second best match against template using 'scores' or any other method?

3lectrologos
  • 9,469
  • 4
  • 39
  • 46
KT Harris
  • 41
  • 1
  • 10

1 Answers1

1

For each image you have already found a set of matches and the corresponding scores w.r.t. the template image, right?

You could just sum all scores for each image to get a total score per image, and then select as the "best matching" image the one with the lowest total score. Similarly for "second best", etc.

However, I have to point out that usually the main difficulty after applying the basic SIFT algorithm lies in determining which matches are actually correct. If you have done this well enough (e.g. using some robust method like RANSAC), finding the "best matching image" shouldn't be too hard, as explained above.

3lectrologos
  • 9,469
  • 4
  • 39
  • 46
  • yes i have got the matches and also i have done finding the total score for each image, but the problem is that when we examine the scores, the scores turn out to be the same for the second best match and the match which does not exist (i.e not a good match) so how can we differentiate that? – KT Harris Apr 23 '12 at 03:56
  • and also i know that when there is a exact match the score turns out to be zero, so even if i sort all the scores and pass the statement that 'the lower the score the more it is the better match' ,it would be wrong i guess because in my implementation lower score is coming for best match as well as for the one where its not matching at all – KT Harris Apr 23 '12 at 04:05
  • How can something that is "not matching at all" have a low score when you use Euclidean distance? Shouldn't the score be a large number in this case? – 3lectrologos Apr 23 '12 at 04:16
  • that is the case i am stuck at, because the one which is not matching is also giving the lower score and the one which is to some point is also , havent applied RANSAC yet... – KT Harris Apr 23 '12 at 04:21