Take the 2-minute tour ×  There are 2 images A and B. I extract
the keypoints (a[i] and b[i]) from them. I wonder how can I
determine the matching between a[i] and b[j], efficiently?  The
obvious method comes to me is to compare each point in A with
each point in B. But it over time-consuming for large images
databases. How can I just compare point a[i] with just b[k]
where k is of small range?  I heard that kd-tree may be a good
choice, isn't it? Is there any good examples about kd-tree?  Any
other suggestions?  share|improve this question kd-tree as such
are not efficient for descriptors with such a high
dimensionality as SIFT (this is known as the curse of
dimensionnality). However, there exists other indexing
strategies for approximate nearest neighbour search in high
dimensional spaces. FLANN, included in OpenCV, is one. And there
is an implementation of keypoint matching using FLANN, see the
link in my answer –  remi Oct 10 '12 at 9:09 add comment  3
Answers  up vote 9 down vote accepted  KD tree stores