title: Why does the flann based descriptor matcher match to different keypoints everytime?
body: <p>Is it normal? When I tried the brute force matcher, the result is consistent everytime, but flann is not.
  A small amount of keypoints will match to different places. I am writing the code using the Android wrapper, the keypoint detector and descriptor is SURF, something like this:</p>
  
  <pre><code>Mat queryDescriptors = new Mat();
  Mat trainDescriptors = new Mat();
  DescriptorExtractor surfDE = DescriptorExtractor.create(DescriptorExtractor.SURF);
  surfDE.compute(queryImage, queryKeyPoints, queryDescriptors);
  surfDE.compute(trainImage, trainKeyPoints, trainDescriptors);
  DescriptorMatcher dm = DescriptorMatcher.create(DescriptorMatcher.FLANNBASED);
  List&lt;DMatch&gt; matches = new ArrayList&lt;DMatch&gt;();
  dm.match(queryDescriptors, trainDescriptors, matches);
  </code></pre>