Reputation: 2472
I'm trying to build a loop closure algorithm, but before to start the development I would like to test which feature descriptor work better on a real dataset.
I have a pair of images of a corridor taken in both direction, one entering in a room and the other leaving the same room. So they represent the same scene but from 2 different (opposite) points of view.
I'm using OpenCV and I've already coded the part for the detector, the extractor and the matcher.
But now looking at the results I find that there are a lot of false matches. How can I drop them? I tried to use cv::FindFoundamentalMat but I'm not sure that this is the right way to do that.
edit
I found this paper (ShmidtJAMRIS12) that exactly does what I have in mind but I cannot understand how they choose the parameters of each detector and extractor
Upvotes: 0
Views: 308
Reputation: 8617
Finding some kind of geometrical consistency is one of the basic ways of ensuring two matching images are the same place. A fundamental matrix may be ok, a homography may be ok if you match planar surfaces (as walls in corridors). If you work with a stream of images, you can also check if matches of consecutive images are consistent. Here is a paper that uses these techniques: http://webdiis.unizar.es/~dorian/dl.php?dlp=GalvezTRO12.pdf
Upvotes: 1