#include <RansacMultiFeatureSetMatcher.h>
Public Member Functions | |
virtual double | matchSets (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, OrientedPoint2D &transformation, std::vector< std::pair< InterestPoint *, InterestPoint * > > &correspondences) const |
RansacMultiFeatureSetMatcher (double acceptanceThreshold, double successProbability, double inlierProbability, double distanceThreshold, double rigidityThreshold, bool adaptive=false) |
Representation of the RANSAC algorithm for feature matching. The class represents the RANSAC algorithm for matching two different feature sets. The matching result is an Euclidean transformation (rotation + translation) encoded as a point in . The algorithm uses the Threshold strategy to obtain the possible correspondences from the features' descriptors. The main difference with the Nearest Neighobour is the increased complexity (reduced inlier probability) and the increased accuracy especially in environment with very repetitive structures.
Definition at line 42 of file RansacMultiFeatureSetMatcher.h.
RansacMultiFeatureSetMatcher::RansacMultiFeatureSetMatcher | ( | double | acceptanceThreshold, | |
double | successProbability, | |||
double | inlierProbability, | |||
double | distanceThreshold, | |||
double | rigidityThreshold, | |||
bool | adaptive = false | |||
) |
Constructor. Constructs and initializes the RANSAC algorithm.
acceptanceThreshold | The maximum distance (in meters) for a point to be considered in the inlier set. | |
successProbability | The probability of finding a correct match if exists. | |
inlierProbability | The probability of a generic correspondence to be an inlier. | |
distanceThreshold | The maximum distance (dimensionless) for two descriptors to be considered as a valid match. This threshold depends on the actual distance employed. | |
rigidityThreshold | The maximum value (in meters) of difference between the relative distance of two interest points. This implements a rigidity check in the RANSAC hypothesis generation. | |
adaptive | The flag to set the adaptive strategy to compute the number of RANSAC iterations (EXPERIMENTAL!!!). |
Definition at line 8 of file RansacMultiFeatureSetMatcher.cpp.
double RansacMultiFeatureSetMatcher::matchSets | ( | const std::vector< InterestPoint * > & | reference, | |
const std::vector< InterestPoint * > & | data, | |||
OrientedPoint2D & | transformation, | |||
std::vector< std::pair< InterestPoint *, InterestPoint * > > & | correspondences | |||
) | const [virtual] |
Matches two features sets, returning the matching error and the transformation. It also returns the set of corresponding inlier points.
reference | The reference feature set. It is used as reference frame for the transformation. | |
data | The feature set to match. | |
transformation | The restulting transformation. It is used to register the points in data to the points in reference. | |
correspondences | The set of corresponding inlier points. Each individual correspondence is in the format (reference, data). |
Reimplemented from RansacFeatureSetMatcher.
Definition at line 14 of file RansacMultiFeatureSetMatcher.cpp.