Hi. I try use orbmatcher module to do feature matching with the function the serch by initialization. The question is if this function is good for my work or I have used map point for the performance the matcher?
Hola @AldrichCabrera ,
No se entendi贸 la pregunta. Quiz谩s usaste un traductor que te la tradujo mal. Planteala en castellano, si puedo la respondo en ingl茅s para que los dem谩s la entiendan.
Hola. Disculpen no soy muy bueno en ingles. Mi pregunta mas bien es saber como hacen el matching para una c谩mara monocular?
@AldrichCabrera
There are several matching algorithms in ORB-SLAM2, each of them is slightly different.
For initialization, orb-slam2 performs an almost brute force ORB matching between initial image features descriptors and current image features descriptors.
After initialization, matches are performed between current image features and 3D mappoints descriptors. Epipolar geometry is used to early discard pairs, avoiding slow descriptor distance computation. To the same end, when BoW is available (for example, in keyframes) it is also used to early discard.
So, if I want to perform ORB matching between an initial image and current image without use MapPoint, is recommendable use search for Initialization?
@AldrichCabrera ,
Yes. SearchForInitialization is used with a window size 100.
Hi again. The SearchForInitialization give me bad match points. Could I change something in these function to obtain better points?
@AldrichCabrera
When mpInitializer is false, MonocularInitialization use the current frame as the initial one. After this mpInitializer must be set to try initialization on each consecutive calls.
Yes, the camera is calibrated. And I'm doing the process as you suggested, the problem is when the frames are exactly the same the max match point is 2000, but after moving the camera and having a 90% covisibility the match point drops to 400. I'd suppose the amount of matches would change proportionally to covisibility.
MonocularInitialization calls SearchForInitialization with a window size of 100. Try with a wider window, let's say 2000.
It is working now. :) The covisibility give me good data. I just have to eliminate outliers to obtain best match points. Thank you very much for the support! I really appreciate your help AlejandroSilvestri.
Check Out the code from GSM matcher https://github.com/JiawangBian/GMS-Feature-Matcher
The code demonstrates also how to use opencv brute force matching where you can switch between detector and descriptor easily
@mojovski Thank you. I will keep it in mind. :+1: :)