Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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(20, 12, 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(*q, knnmatches, 1);

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(20, 12, 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(*q, m_matcherPtr->knnMatch(*query, knnmatches, 1);

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(20, 12, 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);