Ask Your Question

janos's profile - activity

2016-04-20 07:51:07 -0600 received badge  Famous Question (source)
2014-06-07 14:06:59 -0600 received badge  Notable Question (source)
2014-03-01 14:43:29 -0600 received badge  Nice Answer (source)
2013-11-12 09:27:51 -0600 received badge  Popular Question (source)
2013-04-07 17:08:01 -0600 received badge  Teacher (source)
2012-11-09 07:59:05 -0600 received badge  Self-Learner (source)
2012-10-31 09:24:25 -0600 received badge  Good Question (source)
2012-08-29 05:49:33 -0600 received badge  Supporter (source)
2012-08-29 05:48:58 -0600 answered a question LSH matching very slow

I fixed it. I played a bit with the parameters of LSH and changed them to LshIndexParams(8, 30, 2). Now i'm down to 0.4 seconds for 2000 descriptors, which is fast enough for my problem.

Thanks to everyone!

2012-08-27 10:01:59 -0600 commented answer LSH matching very slow

Maybe using LSH is not that much better than BF in this case, but i think it should be at least near the performance of the BF matching for small datasets. With the 1000 descriptors i used, LSH needs about 30-40 seconds. Using 1000 times the number of descriptors wont speed up the matching magically. So i guess there has to be some problem with my code or OpenCV. Does your code look similar to the one i use? Could you post it?

2012-08-21 13:20:38 -0600 received badge  Nice Question (source)
2012-07-31 15:23:51 -0600 received badge  Student (source)
2012-07-30 11:59:50 -0600 received badge  Editor (source)
2012-07-30 11:58:51 -0600 asked a question LSH matching very slow

Hey guys and girls,

I'm testing a recognition pipeline using ORB descriptors. I recently changed the matcher from bruteforce to flann, using the new LSH index. Unfortunately the LSH matching is about 5-6 times slower than bruteforce using about 1000 descriptors as a database. Has anybody experienced similar problems? Is the LSH code still under development?

Current git commit hash: 72a4f19.

Part of the code:

  boost::shared_ptr<cv::FlannBasedMatcher> m_matcherPtr;
  cv::Ptr<cv::flann::IndexParams> indexParams = new cv::flann::LshIndexParams(12, 20, 2);
  m_matcherPtr = boost::shared_ptr<cv::FlannBasedMatcher>(new cv::FlannBasedMatcher(indexParams));
  m_matcherPtr->add(m_descriptorsVec);
  m_matcherPtr->train();

  // This step takes very long
  m_matcherPtr->knnMatch(*query, knnmatches, 1);