Point Cloud Library (PCL)
1.7.2
|
MaximumLikelihoodSampleConsensus represents an implementation of the MLESAC (Maximum Likelihood Estimator SAmple Consensus) algorithm, as described in: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S. More...
#include <pcl/sample_consensus/mlesac.h>
Public Types | |
typedef boost::shared_ptr < MaximumLikelihoodSampleConsensus > | Ptr |
typedef boost::shared_ptr < const MaximumLikelihoodSampleConsensus > | ConstPtr |
![]() | |
typedef boost::shared_ptr < SampleConsensus > | Ptr |
typedef boost::shared_ptr < const SampleConsensus > | ConstPtr |
Public Member Functions | |
MaximumLikelihoodSampleConsensus (const SampleConsensusModelPtr &model) | |
MLESAC (Maximum Likelihood Estimator SAmple Consensus) main constructor. More... | |
MaximumLikelihoodSampleConsensus (const SampleConsensusModelPtr &model, double threshold) | |
MLESAC (Maximum Likelihood Estimator SAmple Consensus) main constructor. More... | |
bool | computeModel (int debug_verbosity_level=0) |
Compute the actual model and find the inliers. More... | |
void | setEMIterations (int iterations) |
Set the number of EM iterations. More... | |
int | getEMIterations () const |
Get the number of EM iterations. More... | |
![]() | |
SampleConsensus (const SampleConsensusModelPtr &model, bool random=false) | |
Constructor for base SAC. More... | |
SampleConsensus (const SampleConsensusModelPtr &model, double threshold, bool random=false) | |
Constructor for base SAC. More... | |
void | setSampleConsensusModel (const SampleConsensusModelPtr &model) |
Set the Sample Consensus model to use. More... | |
SampleConsensusModelPtr | getSampleConsensusModel () const |
Get the Sample Consensus model used. More... | |
virtual | ~SampleConsensus () |
Destructor for base SAC. More... | |
void | setDistanceThreshold (double threshold) |
Set the distance to model threshold. More... | |
double | getDistanceThreshold () |
Get the distance to model threshold, as set by the user. More... | |
void | setMaxIterations (int max_iterations) |
Set the maximum number of iterations. More... | |
int | getMaxIterations () |
Get the maximum number of iterations, as set by the user. More... | |
void | setProbability (double probability) |
Set the desired probability of choosing at least one sample free from outliers. More... | |
double | getProbability () |
Obtain the probability of choosing at least one sample free from outliers, as set by the user. More... | |
virtual bool | refineModel (const double sigma=3.0, const unsigned int max_iterations=1000) |
Refine the model found. More... | |
void | getRandomSamples (const boost::shared_ptr< std::vector< int > > &indices, size_t nr_samples, std::set< int > &indices_subset) |
Get a set of randomly selected indices. More... | |
void | getModel (std::vector< int > &model) |
Return the best model found so far. More... | |
void | getInliers (std::vector< int > &inliers) |
Return the best set of inliers found so far for this model. More... | |
void | getModelCoefficients (Eigen::VectorXf &model_coefficients) |
Return the model coefficients of the best model found so far. More... | |
Protected Member Functions | |
double | computeMedianAbsoluteDeviation (const PointCloudConstPtr &cloud, const boost::shared_ptr< std::vector< int > > &indices, double sigma) |
Compute the median absolute deviation:
. More... | |
void | getMinMax (const PointCloudConstPtr &cloud, const boost::shared_ptr< std::vector< int > > &indices, Eigen::Vector4f &min_p, Eigen::Vector4f &max_p) |
Determine the minimum and maximum 3D bounding box coordinates for a given set of points. More... | |
void | computeMedian (const PointCloudConstPtr &cloud, const boost::shared_ptr< std::vector< int > > &indices, Eigen::Vector4f &median) |
Compute the median value of a 3D point cloud using a given set point indices and return it as a Point32. More... | |
![]() | |
double | rnd () |
Boost-based random number generator. More... | |
Additional Inherited Members | |
![]() | |
SampleConsensusModelPtr | sac_model_ |
The underlying data model used (i.e. More... | |
std::vector< int > | model_ |
The model found after the last computeModel () as point cloud indices. More... | |
std::vector< int > | inliers_ |
The indices of the points that were chosen as inliers after the last computeModel () call. More... | |
Eigen::VectorXf | model_coefficients_ |
The coefficients of our model computed directly from the model found. More... | |
double | probability_ |
Desired probability of choosing at least one sample free from outliers. More... | |
int | iterations_ |
Total number of internal loop iterations that we've done so far. More... | |
double | threshold_ |
Distance to model threshold. More... | |
int | max_iterations_ |
Maximum number of iterations before giving up. More... | |
boost::mt19937 | rng_alg_ |
Boost-based random number generator algorithm. More... | |
boost::shared_ptr < boost::uniform_01 < boost::mt19937 > > | rng_ |
Boost-based random number generator distribution. More... | |
MaximumLikelihoodSampleConsensus represents an implementation of the MLESAC (Maximum Likelihood Estimator SAmple Consensus) algorithm, as described in: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S.
Torr and A. Zisserman, Computer Vision and Image Understanding, vol 78, 2000.
typedef boost::shared_ptr<const MaximumLikelihoodSampleConsensus> pcl::MaximumLikelihoodSampleConsensus< PointT >::ConstPtr |
typedef boost::shared_ptr<MaximumLikelihoodSampleConsensus> pcl::MaximumLikelihoodSampleConsensus< PointT >::Ptr |
|
inline |
MLESAC (Maximum Likelihood Estimator SAmple Consensus) main constructor.
[in] | model | a Sample Consensus model |
Definition at line 78 of file mlesac.h.
References pcl::SampleConsensus< PointT >::max_iterations_.
|
inline |
MLESAC (Maximum Likelihood Estimator SAmple Consensus) main constructor.
[in] | model | a Sample Consensus model |
[in] | threshold | distance to model threshold |
Definition at line 90 of file mlesac.h.
References pcl::SampleConsensus< PointT >::max_iterations_.
|
protected |
Compute the median value of a 3D point cloud using a given set point indices and return it as a Point32.
[in] | cloud | the point cloud data message |
[in] | indices | the point indices |
[out] | median | the resultant median value |
Definition at line 264 of file mlesac.hpp.
|
protected |
Compute the median absolute deviation:
.
[in] | cloud | the point cloud data message |
[in] | indices | the set of point indices to use |
[in] | sigma | the sigma value |
Definition at line 207 of file mlesac.hpp.
|
virtual |
Compute the actual model and find the inliers.
[in] | debug_verbosity_level | enable/disable on-screen debug information and set the verbosity level |
Implements pcl::SampleConsensus< PointT >.
Definition at line 49 of file mlesac.hpp.
References pcl::getMinMax().
|
inline |
|
protected |
Determine the minimum and maximum 3D bounding box coordinates for a given set of points.
[in] | cloud | the point cloud message |
[in] | indices | the set of point indices to use |
[out] | min_p | the resultant minimum bounding box coordinates |
[out] | max_p | the resultant maximum bounding box coordinates |
Definition at line 240 of file mlesac.hpp.
|
inline |