Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 多探针LSH索引Opencv_Performance_Opencv_Indexing - Fatal编程技术网

Performance 多探针LSH索引Opencv

Performance 多探针LSH索引Opencv,performance,opencv,indexing,Performance,Opencv,Indexing,我编写了一个程序,通过获取两个ORB描述符,然后使用multiprobe LSH索引比较两个图像: flann::Index flannIndex(descriptorsA, flann::LshIndexParams(1,20,2), cvflann::FLANN_DIST_HAMMING); flannIndex.knnSearch(descriptorsB, index, dist, 1, flann::SearchParams()); 它在42秒内(线性)将一个输入图像与10k图像进

我编写了一个程序,通过获取两个ORB描述符,然后使用multiprobe LSH索引比较两个图像:

flann::Index flannIndex(descriptorsA, flann::LshIndexParams(1,20,2), cvflann::FLANN_DIST_HAMMING);

flannIndex.knnSearch(descriptorsB, index, dist, 1, flann::SearchParams());
它在42秒内(线性)将一个输入图像与10k图像进行比较,获得了良好的结果

--

在我之前

flann::Index flannIndex(descriptorsA, flann::LshIndexParams(10,10,2), cvflann::FLANN_DIST_HAMMING);

flannIndex.knnSearch(descriptorsB, index, dist, 1, flann::SearchParams());
使用相同的输入和数据库,检索结果也需要65秒

我的问题更多的是关于LSH的实现:为什么减少表的数量和增加键的大小会使搜索更快?换言之:

为什么

快于

flann::Index flannIndex(descriptorsA, flann::LshIndexParams(10,10,2), cvflann::FLANN_DIST_HAMMING);
flann::Index flannIndex(descriptorsA, flann::LshIndexParams(10,10,2), cvflann::FLANN_DIST_HAMMING);