Feature detection and matching for localization (openCV.3)

asked 2016-01-09 05:06:36 -0500

dpwicaksa gravatar image

i work on a projects using LIDAR (and lidar only) to provide information about position based on comparison between detected feature and provided map. I already try using ORB, keypoints detection seems nice, but it absolutely bad when comes to feature matching. Is there any alternative method to do this? thanks in advance image description PS : i'm using openCV 3 and C++

edit retag flag offensive close merge delete



There are multiple strategies to improve your results.

1) Adding some filtering for the matching results. You can think about your own filters, one very common is known as "ratio test". You take your feature and divide your best with your second best match. Bad matches have a ratio below 0.8, because their matches are far away from each other. Another test is known as "symmetry test". Google that, you will find some code for both.

2) You increase your amount of features. Sometimes your features look good, but if you have too few of them, the algorithm can't find just the right match.

3) Building your opencv with the additional packages for sift and surf trying other feature detection and matching algorithms.

laxn_pander gravatar imagelaxn_pander ( 2016-01-09 07:26:58 -0500 )edit

thanks for the answer, i'll work on it, especially point 1. so far, i think the problem is not on feature detection, but on feature matching. i already try orb, SIFT and SURF (on OpenCV 2.4.11), and its not dissapointing. so far i've only tried using FLANN matcher and homography (only 2 method i know exist in OpenCV2.x.x), which is one of reason i try using OpenCV3

dpwicaksa gravatar imagedpwicaksa ( 2016-01-21 02:27:32 -0500 )edit