#include <RansacFeatureSetMatcher.h>
Public Member Functions | |
bool | getAdaptive () |
double | getDistanceThreshold () |
double | getInlierProbability () |
double | getSuccessProbability () |
virtual double | matchSets (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, OrientedPoint2D &transformation, std::vector< std::pair< InterestPoint *, InterestPoint * > > &correspondences) const |
virtual double | matchSets (const std::vector< InterestPoint * > &reference, const std::vector< InterestPoint * > &data, OrientedPoint2D &transformation) const |
RansacFeatureSetMatcher (double acceptanceThreshold, double successProbability, double inlierProbability, double distanceThreshold, double rigidityThreshold, bool adaptive=false) | |
void | setAdaptive (bool adaptive) |
void | setDistanceThreshold (double distanceThreshold) |
void | setInlierProbability (double inlierProbability) |
void | setSuccessProbability (double successProbability) |
Protected Attributes | |
bool | m_adaptive |
double | m_distanceThreshold |
double | m_inlierProbability |
double | m_rigidityThreshold |
double | m_successProbability |
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 Nearest Neighbour strategy to obtain the possible correspondences from the features' descriptors.
Definition at line 40 of file RansacFeatureSetMatcher.h.
RansacFeatureSetMatcher::RansacFeatureSetMatcher | ( | 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 RansacFeatureSetMatcher.cpp.
bool RansacFeatureSetMatcher::getAdaptive | ( | ) | [inline] |
Gets the flag for the adaptive RANSAC
Definition at line 60 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::getDistanceThreshold | ( | ) | [inline] |
Gets the maximum distance (dimensionless) for two descriptors to be considered as a valid match
Definition at line 72 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::getInlierProbability | ( | ) | [inline] |
Gets the probability of a generic correspondence to be an inlier.
Definition at line 68 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::getSuccessProbability | ( | ) | [inline] |
Gets the probability of finding a correct match if exists.
Definition at line 64 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::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). |
Implements AbstractFeatureSetMatcher.
Reimplemented in RansacMultiFeatureSetMatcher.
Definition at line 25 of file RansacFeatureSetMatcher.cpp.
double RansacFeatureSetMatcher::matchSets | ( | const std::vector< InterestPoint * > & | reference, | |
const std::vector< InterestPoint * > & | data, | |||
OrientedPoint2D & | transformation | |||
) | const [virtual] |
Matches two features sets, returning the matching error and the transformation.
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. |
Implements AbstractFeatureSetMatcher.
Definition at line 19 of file RansacFeatureSetMatcher.cpp.
void RansacFeatureSetMatcher::setAdaptive | ( | bool | adaptive | ) | [inline] |
Sets the flag for the adaptive RANSAC
Definition at line 76 of file RansacFeatureSetMatcher.h.
void RansacFeatureSetMatcher::setDistanceThreshold | ( | double | distanceThreshold | ) | [inline] |
Sets the maximum distance (dimensionless) for two descriptors to be considered as a valid match
Definition at line 88 of file RansacFeatureSetMatcher.h.
void RansacFeatureSetMatcher::setInlierProbability | ( | double | inlierProbability | ) | [inline] |
Sets the probability of a generic correspondence to be an inlier.
Definition at line 84 of file RansacFeatureSetMatcher.h.
void RansacFeatureSetMatcher::setSuccessProbability | ( | double | successProbability | ) | [inline] |
Sets the probability of finding a correct match if exists.
Definition at line 80 of file RansacFeatureSetMatcher.h.
bool RansacFeatureSetMatcher::m_adaptive [protected] |
The flag to set the adaptive strategy to compute the number of RANSAC iterations (EXPERIMENTAL!!!).
Definition at line 96 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::m_distanceThreshold [protected] |
The maximum distance (dimensionless) for two descriptors to be considered as a valid match. This threshold depends on the actual distance employed.
Definition at line 94 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::m_inlierProbability [protected] |
The probability of a generic correspondence to be an inlier.
Definition at line 93 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::m_rigidityThreshold [protected] |
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.
Definition at line 95 of file RansacFeatureSetMatcher.h.
double RansacFeatureSetMatcher::m_successProbability [protected] |
The probability of finding a correct match if exists.
Definition at line 92 of file RansacFeatureSetMatcher.h.