MaximumLikelihoodSampleConsensus представляет собой реализацию алгоритма MLESAC (Maximum Likelihood Estimator SAmple Consensus — консенсус на основе оценки максимального правдоподобия), описанного в статье «MLESAC: A new robust estimator with application to estimating image geometry» («MLESAC: новый робастный оцениватель для определения геометрии изображения»), P.H.S. Подробнее...
#include <pcl/sample_consensus/mlesac.h>
Открытые типы | |
| using | Ptr = shared_ptr< MaximumLikelihoodSampleConsensus< PointT > > |
| using | ConstPtr = shared_ptr< const MaximumLikelihoodSampleConsensus< PointT > > |
|
| |
| using | Ptr = shared_ptr< SampleConsensus< PointT > > |
| using | ConstPtr = shared_ptr< const SampleConsensus< PointT > > |
Открытые функции-члены | |
| MaximumLikelihoodSampleConsensus (const SampleConsensusModelPtr &model) | |
| Основной конструктор MLESAC (Maximum Likelihood Estimator SAmple Consensus). Подробнее... |
|
| MaximumLikelihoodSampleConsensus (const SampleConsensusModelPtr &model, double threshold) | |
| Основной конструктор MLESAC (Maximum Likelihood Estimator SAmple Consensus). Подробнее... |
|
| bool | computeModel (int debug_verbosity_level=0) override |
| Вычислить фактическую модель и найти внутренние точки. Подробнее... |
|
| void | setEMIterations (int iterations) |
| Задать количество итераций EM. Подробнее... |
|
| int | getEMIterations () const |
| Получить количество итераций EM. Подробнее... |
|
|
| |
| SampleConsensus (const SampleConsensusModelPtr &model, bool random=false) | |
| Конструктор базового SAC. Подробнее... |
|
| SampleConsensus (const SampleConsensusModelPtr &model, double threshold, bool random=false) | |
| Конструктор базового SAC. Подробнее... |
|
| void | setSampleConsensusModel (const SampleConsensusModelPtr &model) |
| Задать используемую модель консенсуса по выборке. Подробнее... |
|
| SampleConsensusModelPtr | getSampleConsensusModel () const |
| Получить используемую модель консенсуса по выборке. Подробнее... |
|
| virtual | ~SampleConsensus ()=default |
| Деструктор базового SAC. Подробнее... |
|
| void | setDistanceThreshold (double threshold) |
| Задать пороговое расстояние до модели. Подробнее... |
|
| double | getDistanceThreshold () const |
| Получить установленный пользователем порог расстояния до модели. Подробнее... |
|
| void | setMaxIterations (int max_iterations) |
| Задать максимальное количество итераций. Подробнее... |
|
| int | getMaxIterations () const |
| Получить установленное пользователем максимальное количество итераций. Подробнее... |
|
| void | setProbability (double probability) |
| Задать требуемую вероятность выбора хотя бы одной выборки без выбросов. Подробнее... |
|
| double | getProbability () const |
| Получить установленную пользователем вероятность выбора хотя бы одной выборки без выбросов. Подробнее... |
|
| void | setNumberOfThreads (const int nr_threads=-1) |
| Задать количество используемых потоков или отключить распараллеливание. Подробнее... |
|
| int | getNumberOfThreads () const |
| Получить установленное пользователем количество потоков. Подробнее... |
|
| virtual bool | refineModel (const double sigma=3.0, const unsigned int max_iterations=1000) |
| Уточнить найденную модель. Подробнее... |
|
| void | getRandomSamples (const IndicesPtr &indices, std::size_t nr_samples, std::set< index_t > &indices_subset) |
| Получить набор случайно выбранных индексов. Подробнее... |
|
| void | getModel (Indices &model) const |
| Вернуть лучшую из найденных на данный момент моделей. Подробнее... |
|
| void | getInliers (Indices &inliers) const |
| Вернуть лучший из найденных на данный момент наборов внутренних точек для этой модели. Подробнее... |
|
| void | getModelCoefficients (Eigen::VectorXf &model_coefficients) const |
| Вернуть коэффициенты лучшей из найденных на данный момент моделей. Подробнее... |
|
Защищённые функции-члены | |
| double | computeMedianAbsoluteDeviation (const PointCloudConstPtr &cloud, const IndicesPtr &indices, double sigma) const |
| Вычислить медианное абсолютное отклонение: Подробнее... |
|
| void | getMinMax (const PointCloudConstPtr &cloud, const IndicesPtr &indices, Eigen::Vector4f &min_p, Eigen::Vector4f &max_p) const |
| Определить минимальные и максимальные координаты трёхмерной ограничивающей рамки для заданного набора точек. Подробнее... |
|
| void | computeMedian (const PointCloudConstPtr &cloud, const IndicesPtr &indices, Eigen::Vector4f &median) const |
| Вычислить медианное значение для трёхмерного облака точек, используя заданный набор индексов точек, и вернуть его в виде Point32. Подробнее... |
|
|
| |
| double | rnd () |
| Генератор случайных чисел на основе Boost. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| SampleConsensusModelPtr | sac_model_ |
| Используемая базовая модель данных (т. е. Подробнее... |
|
| Indices | model_ |
| Модель, найденная после последнего вызова computeModel (), в виде индексов облака точек. Подробнее... |
|
| Indices | inliers_ |
| Индексы точек, выбранных в качестве внутренних точек после последнего вызова computeModel (). Подробнее... |
|
| Eigen::VectorXf | model_coefficients_ |
| Коэффициенты модели, непосредственно вычисленные на основе найденной модели. Подробнее... |
|
| double | probability_ |
| Желаемая вероятность выбрать хотя бы одну выборку без выбросов. Подробнее... |
|
| int | iterations_ |
| Общее количество выполненных на данный момент итераций внутреннего цикла. Подробнее... |
|
| double | threshold_ |
| Пороговое расстояние до модели. Подробнее... |
|
| int | max_iterations_ |
| Максимальное количество итераций до прекращения работы. Подробнее... |
|
| int | threads_ |
| Количество потоков, которые должен использовать планировщик, или отрицательное число, если параллельное выполнение не требуется. Подробнее... |
|
| boost::mt19937 | rng_alg_ |
| Алгоритм генератора случайных чисел на основе Boost. Подробнее... |
|
| std::shared_ptr< boost::uniform_01< boost::mt19937 > > | rng_ |
| Распределение генератора случайных чисел на основе Boost. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::MaximumLikelihoodSampleConsensus< PointT >
MaximumLikelihoodSampleConsensus представляет собой реализацию алгоритма MLESAC (консенсус выборки с оценкой максимального правдоподобия), описанного в статье «MLESAC: новый робастный оцениватель для оценки геометрии изображений», P.H.S.
Torr и A. Zisserman, Computer Vision and Image Understanding, том 78, 2000 г.
- Примечание
- MLESAC полезен в ситуациях, когда большинство выборочных данных принадлежит модели и требуется быстрый алгоритм отбраковки выбросов.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::MaximumLikelihoodSampleConsensus< PointT >::ConstPtr = shared_ptr<const MaximumLikelihoodSampleConsensus<PointT> > |
Ptr
| using pcl::MaximumLikelihoodSampleConsensus< PointT >::Ptr = shared_ptr<MaximumLikelihoodSampleConsensus<PointT> > |
Документация конструкторов и деструктора
MaximumLikelihoodSampleConsensus() [1/2]
| inline |
MaximumLikelihoodSampleConsensus() [2/2]
| inline |
Документация функций-членов
computeMedian()
| protected |
Вычисляет медиану значений 3D-облака точек по заданному набору индексов точек и возвращает её как Point32.
- Параметры
-
[in] cloud сообщение с данными облака точек [in] indices индексы точек [out] median результирующее значение медианы
Определение в строке 261 файла mlesac.hpp.
Ссылки: pcl::computeMedian().
computeMedianAbsoluteDeviation()
| protected |
Вычисляет медианное абсолютное отклонение:
- Примечание
- Значение sigma следует выбирать тщательно (хорошее начальное значение sigma — 1.4826).
- Параметры
-
[in] cloud сообщение с данными облака точек [in] indices набор используемых индексов точек [in] sigma значение sigma
Определение в строке 212 файла mlesac.hpp.
Ссылки: pcl::computeMedian().
computeModel()
| overridevirtual |
Вычисляет фактическую модель и находит внутренние точки.
- Параметры
-
[in] debug_verbosity_level включает или отключает вывод отладочной информации на экран и задаёт уровень подробности
Реализует метод pcl::SampleConsensus< PointT >.
Определение в строке 50 файла mlesac.hpp.
Ссылки: pcl::geometry::distance(), pcl::getMinMax() и M_PI.
getEMIterations()
| inline |
getMinMax()
| protected |
Определяет минимальные и максимальные координаты 3D-ограничивающего параллелепипеда для заданного набора точек.
- Параметры
-
[in] cloud сообщение с облаком точек [in] indices набор используемых индексов точек [out] min_p результирующие координаты минимальной границы ограничивающего параллелепипеда [out] max_p результирующие координаты максимальной границы ограничивающего параллелепипеда
Определение в строке 237 файла mlesac.hpp.
setEMIterations()
| inline |
Документация этого класса создана на основе следующих файлов:
- pcl/sample_consensus/mlesac.h
- pcl/sample_consensus/impl/mlesac.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_maximum_likelihood_sample_consensus.html