Jafar
|
This class implements a variation of Jung group matching algorithm. More...
This class implements a variation of Jung group matching algorithm.
Definition at line 236 of file GroupsMatcher.hpp.
#include <GroupsMatcher.hpp>
Classes | |
class | Group |
struct | GroupMatchHypothesis |
class | GroupsMatchSourceInfo |
struct | InterestFeatureInfo |
Public Member Functions | |
GroupsMatcher (gfm::MatchFocus *matchFocus=0, unsigned int groupsize=12, unsigned int groupsizeseedsearch=12, unsigned int minimalgroupsize=2, double distance=20.0, double closeness=0.6, double weakcloseness=0.6, double distinguability=0.1, double rotationTolerance=0.2, double scaleTolerance=10000.0, double distanceTolerance=10.0, double rotationDifferenceWithMedian=0.4, double thresholdofenoughtgroup=0.) | |
GroupsMatcher (GroupsMatcher const &gm) | |
GroupsMatcher & | operator= (GroupsMatcher const &m) |
virtual MatchingResult | computeMatch (MatchSourceInfoType *refsourceinfo, MatchSourceInfoType *matchsourceinfo) |
virtual MatchSourceInfoType * | initMatchSourceInfo (const DetectionResult &pointsource) |
void | setMatchFocus (gfm::MatchFocus *matchFocus) |
Private Types | |
typedef std::vector < InterestFeatureInfo * > | vInterestFeatureInfos |
typedef vInterestFeatureInfos::iterator | vInterestFeatureInfos_it |
typedef vInterestFeatureInfos::const_iterator | vInterestFeatureInfos_cit |
typedef std::map< double, InterestFeatureInfo * > | double2interestPointInfo |
typedef double2interestPointInfo::iterator | double2interestPointInfo_it |
typedef std::pair < InterestFeatureInfo *, InterestFeatureInfo * > | pIpInfoIpInfo |
typedef std::vector < pIpInfoIpInfo > | vpIpInfoIpInfos |
typedef MatchSourceInfo < InterestFeatureT > | MatchSourceInfoType |
typedef jafar::fdetect_v2::DetectionResult < InterestFeatureT > | DetectionResult |
typedef jafar::gfm_v2::MatchingResult < InterestFeatureT > | MatchingResult |
typedef std::vector< Group * > | vGroups |
typedef vGroups::iterator | vGroups_it |
typedef std::pair< typename Group::GroupMember, typename Group::GroupMember > | pGrpMembGrMemb |
typedef std::vector < pGrpMembGrMemb > | vpGrpMembGrMembs |
typedef vpGrpMembGrMembs::iterator | vpGrpMembGrMembs_it |
Private Member Functions | |
GroupMatchHypothesis * | searchBestMatchFor (Group *groupref, vGroups &groupsmatch) |
void | propageMatching (vInterestFeatureInfos &matches, InterestFeatureInfo *startingpoint, GroupMatchHypothesis *hypothesis) |
void | initiatePropagation (vInterestFeatureInfos &matches, GroupMatchHypothesis *match, vpGrpMembGrMembs individualmatches) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
int | md_currentnumberofmatch |
Number of points in a group. | |
Friends | |
class | boost::serialization::access |
!! nizar 20100912 : serialization stuff |
jafar::gfm_v2::GroupsMatcher< InterestFeatureT >::GroupsMatcher | ( | gfm::MatchFocus * | matchFocus = 0 , |
unsigned int | groupsize = 12 , |
||
unsigned int | groupsizeseedsearch = 12 , |
||
unsigned int | minimalgroupsize = 2 , |
||
double | distance = 20.0 , |
||
double | closeness = 0.6 , |
||
double | weakcloseness = 0.6 , |
||
double | distinguability = 0.1 , |
||
double | rotationTolerance = 0.2 , |
||
double | scaleTolerance = 10000.0 , |
||
double | distanceTolerance = 10.0 , |
||
double | rotationDifferenceWithMedian = 0.4 , |
||
double | thresholdofenoughtgroup = 0. |
||
) | [inline] |
groupsize | the maximum numbers of interest points in a group |
groupsizeseedsearch | number of neighbourgh interest points of a group used to compute the first match |
minimalgroupsize | the minimum numbers of interest points in a valid group |
distance | the maximum distance between the center of a group and the other members (we use norm 1) |
closeness | the threshold above which we can consider that two descriptors are describing the same interest point (maximum value is 1.0) |
weakcloseness | the threshold for the comparison of the weakComparison (maximum value is 1.0) |
distinguability | the distinguability is use when we search the first match (the seed) to determine if two hypothesis are different enough |
rotationTolerance | the tolerance on the change of rotation in a group between reference and match |
scaleTolerance | the tolerance on the change of scale in a group between reference and match |
distanceTolerance | the tolerance of change in the translation vetween ref and match when trying to restart a propagation after running the tree has stop |
rotationDifferenceWithMedian | once we have tried to match all group, we compute the median of the rotation to eliminate the outliers |
thresholdofenoughtgroup | determine the minimum number of group left below which we won't try to find a new seed when the propagation is stopped (between 0.0 and 1.0, note with 0.0 no seed will ever be searched) |
matchFocus | this object will control the |
Definition at line 352 of file GroupsMatcher.hpp.
int jafar::gfm_v2::GroupsMatcher< InterestFeatureT >::md_currentnumberofmatch [private] |
Number of points in a group.
Set the minimal number of points needed to make a group. Define the distance Set the threshold on the comparison of descriptor
Definition at line 423 of file GroupsMatcher.hpp.
Generated on Wed Oct 15 2014 00:37:38 for Jafar by doxygen 1.7.6.1 |