Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 41027

descriptor matching performance between ORB and SIFT

$
0
0
Hi i'm student in master's degree in geoinformatic. i have question about descriptor matching from opencv feature extraction. i learned that SIFT descriptor matching is slower than ORB cause of it's data type and matching factor(euclidean and hamming distance) but in my algorithm in SIFT case is faster than ORB case. i use FlannBasedMatcher for matching this is my code : Ptr indexParams = new flann::KDTreeIndexParams(); Ptr searchParams = new flann::SearchParams(); if (Features2.descriptors.depth() == CV_8U) { indexParams->setAlgorithm(cvflann::FLANN_INDEX_LSH); searchParams->setAlgorithm(cvflann::FLANN_INDEX_LSH); } FlannBasedMatcher matcher(indexParams, searchParams); vector> pair_matches; matcher.knnMatch(Features1.descriptors, Features2.descriptors, pair_matches, 2); i think if i use ORB(8U) for descriptor than it will use FLANN_INDEX_LSH for matching. but in this case it takes more time than SIFT(32F). i saw that someone said LSH is not getting hamming distance really. but it's similar with hamming distance. and someone said in FlannBasedMatcher use 32F data type for calculating. but i can't find what's right and why it takes more time. so im thoroughly confused. please tell me what's wrong in my code. or reason of slow matching in ORB descriptor. thank you.

Viewing all articles
Browse latest Browse all 41027

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>