What is the problem of matching SIFT descriptor by using Euclidean distance?

I got this question but I didn't got any clue about the answer: What is the problem of matching SIFT descriptor by using Euclidean distance? I have read something about this method doesn't work with transformed images, but I could understand what he means about transformed image and why?

Upvotes: 0

Views: 676

Answers (1)

Chandan M S
Chandan M S

Reputation: 411

I had the same question when I started out in Machine Learning. Normally, SIFT features are matched by knnMatching which in default uses L1 Distance.

Let's begin by defining the equation of L1 and L2. Suppose you have (a, b) and (c, d),

L1 distance (Manhattan Distance) = |a-c| + |b-d|

L2 distance (Euclidean Distance) = Square_root[(a-c)2 + (b-d)2]

Here you can see that error rate in L2 distance increases rapidly as you have more dimensions due to square functions. SIFT feature is a multidimensional vector and Euclidean distance will increase rapidly compared to L1 distance which takes absolute value.

Euclidean distance is a good measure for vectors with lesser dimensions where as L1 distance is a better choice for vectors with larger dimensions.

Hope this clears your doubt.

Upvotes: 1

Related Questions