Spec-Zone.ru › PointCloudLibrary
RandomizedRandomSampleConsensus represents an implementation of the RRANSAC (Randomized RANdom SAmple Consensus), as described in "Randomized RANSAC with Td,d test", O. More...
#include <pcl/sample_consensus/rransac.h >
RandomizedRandomSampleConsensus (const SampleConsensusModelPtr &model)
RRANSAC (Randomized RANdom SAmple Consensus) main constructor. More...
RandomizedRandomSampleConsensus (const SampleConsensusModelPtr &model, double threshold)
RRANSAC (Randomized RANdom SAmple Consensus) main constructor. More...
bool
computeModel (int debug_verbosity_level=0) override
Compute the actual model and find the inliers. More...
void
setFractionNrPretest (double nr_pretest)
Set the percentage of points to pre-test. More...
double
getFractionNrPretest () const
Get the percentage of points to pre-test. More...
void
setNrSamplesPretest (std::size_t nr_pretest)
Set the absolute number of points to pre-test. More...
std::size_t
getNrSamplesPretest () const
Get the absolute number of points to pre-test. 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 ()=default
Destructor for base SAC. More...
void
setDistanceThreshold (double threshold)
Set the distance to model threshold. More...
double
getDistanceThreshold () const
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 () const
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 () const
Obtain the probability of choosing at least one sample free from outliers, as set by the user. More...
void
setNumberOfThreads (const int nr_threads=-1)
Set the number of threads to use or turn off parallelization. More...
int
getNumberOfThreads () const
Get the number of threads, 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 IndicesPtr &indices, std::size_t nr_samples, std::set< index_t > &indices_subset)
Get a set of randomly selected indices. More...
void
getModel (Indices &model) const
Return the best model found so far. More...
void
getInliers (Indices &inliers) const
Return the best set of inliers found so far for this model. More...
void
getModelCoefficients (Eigen::VectorXf &model_coefficients) const
Return the model coefficients of the best model found so far. More...
double
rnd ()
Boost-based random number generator. More...
SampleConsensusModelPtr
sac_model_
The underlying data model used (i.e. More...
Indices
model_
The model found after the last computeModel () as point cloud indices. More...
Indices
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...
int
threads_
The number of threads the scheduler should use, or a negative number if no parallelization is wanted. More...
boost::mt19937
rng_alg_
Boost-based random number generator algorithm. More...
std::shared_ptr< boost::uniform_01< boost::mt19937 > >
rng_
Boost-based random number generator distribution. More...
template<typename PointT> class pcl::RandomizedRandomSampleConsensus< PointT > RandomizedRandomSampleConsensus represents an implementation of the RRANSAC (Randomized RANdom SAmple Consensus), as described in "Randomized RANSAC with Td,d test", O.
Chum and J. Matas, Proc. British Machine Vision Conf. (BMVC '02), vol. 2, BMVA, pp. 448-457, 2002.
The algorithm works similar to RANSAC, with one addition: after computing the model coefficients, randomly select a fraction of points. If any of these points do not belong to the model (given a threshold), continue with the next iteration instead of checking all points. This may speed up the finding of the model if the fraction of points to pre-test is chosen well.
Note
RRANSAC is useful in situations where most of the data samples belong to the model, and a fast outlier rejection algorithm is needed.
Author
Radu B. Rusu
Definition at line 60 of file rransac.h .
ConstPtr template<typename PointT >
Ptr template<typename PointT >
RandomizedRandomSampleConsensus() [1/2]
template<typename PointT >
RandomizedRandomSampleConsensus() [2/2]
template<typename PointT >
computeModel() template<typename PointT >
Compute the actual model and find the inliers.
Parameters
[in]
debug_verbosity_level
enable/disable on-screen debug information and set the verbosity level
Implements pcl::SampleConsensus< PointT > .
Definition at line 48 of file rransac.hpp .
References pcl_lrint .
getFractionNrPretest() template<typename PointT >
Get the percentage of points to pre-test.
Definition at line 121 of file rransac.h .
getNrSamplesPretest() template<typename PointT >
Get the absolute number of points to pre-test.
Definition at line 136 of file rransac.h .
setFractionNrPretest() template<typename PointT >
Set the percentage of points to pre-test.
This is an alternative to setNrSamplesPretest.
Parameters
[in]
nr_pretest
percentage of points to pre-test
Definition at line 113 of file rransac.h .
setNrSamplesPretest() template<typename PointT >
Set the absolute number of points to pre-test.
This is an alternative to setFractionNrPretest.
Parameters
[in]
nr_pretest
absolute number of points to pre-test
Definition at line 128 of file rransac.h .
The documentation for this class was generated from the following files: