Ask Your Question

Keypoint Matching Outlier Rejection, Delaunay Triangulation

asked 2015-01-29 08:42:24 -0500

updated 2015-01-29 09:31:58 -0500

Can anyone point me to an OpenCV solution or a quality paper detailing outlier rejection based upon keypoint context, i.e. the keypoints surrounding the keypoint in the 'training' or model image? Matching could make use of this information (not brute force, but with a match threshold), or it could be a post brute-force refinement operation. The complexity difference would matter as I want this to run at super frame rate. The idea is to keep only those point matches that 'agree' with each other topologically, as in a deforming mesh. It seems delaunay triangulation could be used for identifying neighbors (creating the mesh), but this API is not super clear and has been deprecated.

Any high-level algorithm design thoughts?

edit retag flag offensive close merge delete


could you check your link again ? cornerSubPix seems unrelated

SubDiv2d ? (sorry, only documented for 3.0)

berak gravatar imageberak ( 2015-01-29 08:59:16 -0500 )edit

My bad on the bad link, should be fixed now.

Der Luftmensch gravatar imageDer Luftmensch ( 2015-01-29 09:32:34 -0500 )edit

so, let's say, you have a triangle mesh:

Rect rect(0, 0, 401, 401);   
Subdiv2D subdiv(rect);   

for( size_t i = 0; i < pts.size(); i++ )
    subdiv.insert( pts[i].pt );        

and then ?

berak gravatar imageberak ( 2015-01-29 09:49:51 -0500 )edit

Here is a relevant paper.

Der Luftmensch gravatar imageDer Luftmensch ( 2015-01-29 21:15:21 -0500 )edit

2 answers

Sort by » oldest newest most voted

answered 2018-03-03 11:27:57 -0500

Raising from the dead, but there is now a quality solution on offer.

This question asked for a method of enforcing consistency between potential matches over local regions. The recently added Grid-based Motion Statistics does just this and is very fast.

See cv::matchGMS()

edit flag offensive delete link more

answered 2015-10-09 07:18:20 -0500

Der Luftmensch 2 gravatar image

A different approach is to do inlier detection by finding a max clique. This is an NP-Complete problem, but there are fast approximations which appear to work well in practice.

This method is described in the following papers:

Real-Time Stereo Visual Odometry for Autonomous Ground Vehicles - Andrew Howard

Fast, Unconstrained Camera Motion Estimation from Stereo without Tracking and Robust Statistics - Heiko Hirschmu ̈ller, Peter R. Innocent and Jon M. Garibaldi

edit flag offensive delete link more



This answer is code to perform the technique in the papers.

Der Luftmensch gravatar imageDer Luftmensch ( 2015-11-13 12:37:30 -0500 )edit

Question Tools

1 follower


Asked: 2015-01-29 08:42:24 -0500

Seen: 1,075 times

Last updated: Mar 03 '18