Spec-Zone.ru › PointCloudLibrary

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>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Открытые типы

using Ptr = shared_ptr< MaximumLikelihoodSampleConsensus< PointT > >
using ConstPtr = shared_ptr< const MaximumLikelihoodSampleConsensus< PointT > >
- Открытые типы, унаследованные от pcl::SampleConsensus< 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. Подробнее...
- Открытые функции-члены, унаследованные от pcl::SampleConsensus< PointT >
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. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::SampleConsensus< PointT >
double rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

Дополнительные унаследованные члены

- Защищённые атрибуты, унаследованные от pcl::SampleConsensus< PointT >
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 полезен в ситуациях, когда большинство выборочных данных принадлежит модели и требуется быстрый алгоритм отбраковки выбросов.
Автор
Radu B. Rusu

Определение в строке 57 файла mlesac.h.

Документация псевдонимов типов-членов

ConstPtr

template<typename PointT >
using pcl::MaximumLikelihoodSampleConsensus< PointT >::ConstPtr = shared_ptr<const MaximumLikelihoodSampleConsensus<PointT> >

Определение в строке 64 файла mlesac.h.

Ptr

template<typename PointT >
using pcl::MaximumLikelihoodSampleConsensus< PointT >::Ptr = shared_ptr<MaximumLikelihoodSampleConsensus<PointT> >

Определение в строке 63 файла mlesac.h.

Документация конструкторов и деструктора

MaximumLikelihoodSampleConsensus() [1/2]

template<typename PointT >
pcl::MaximumLikelihoodSampleConsensus< PointT >::MaximumLikelihoodSampleConsensus ( const SampleConsensusModelPtr & model )
inline

Основной конструктор MLESAC (консенсус выборки с оценкой максимального правдоподобия).

Параметры
[in] model модель консенсуса выборки

Определение в строке 78 файла mlesac.h.

Ссылки: pcl::SampleConsensus< PointT >::max_iterations_.

MaximumLikelihoodSampleConsensus() [2/2]

template<typename PointT >
pcl::MaximumLikelihoodSampleConsensus< PointT >::MaximumLikelihoodSampleConsensus ( const SampleConsensusModelPtr & model,
double threshold
)
inline

Основной конструктор MLESAC (консенсус выборки с оценкой максимального правдоподобия).

Параметры
[in] model модель консенсуса выборки
[in] threshold пороговое расстояние до модели

Определение в строке 90 файла mlesac.h.

Ссылки: pcl::SampleConsensus< PointT >::max_iterations_.

Документация функций-членов

computeMedian()

template<typename PointT >
void pcl::MaximumLikelihoodSampleConsensus< PointT >::computeMedian ( const PointCloudConstPtr & cloud,
const IndicesPtr & indices,
Eigen::Vector4f & median
) const
protected

Вычисляет медиану значений 3D-облака точек по заданному набору индексов точек и возвращает её как Point32.

Параметры
[in] cloud сообщение с данными облака точек
[in] indices индексы точек
[out] median результирующее значение медианы

Определение в строке 261 файла mlesac.hpp.

Ссылки: pcl::computeMedian().

computeMedianAbsoluteDeviation()

template<typename PointT >
double pcl::MaximumLikelihoodSampleConsensus< PointT >::computeMedianAbsoluteDeviation ( const PointCloudConstPtr & cloud,
const IndicesPtr & indices,
double sigma
) const
protected

Вычисляет медианное абсолютное отклонение:

\[ MAD = \sigma * median_i (| Xi - median_j(Xj) |) \]

Примечание
Значение sigma следует выбирать тщательно (хорошее начальное значение sigma — 1.4826).
Параметры
[in] cloud сообщение с данными облака точек
[in] indices набор используемых индексов точек
[in] sigma значение sigma

Определение в строке 212 файла mlesac.hpp.

Ссылки: pcl::computeMedian().

computeModel()

template<typename PointT >
bool pcl::MaximumLikelihoodSampleConsensus< PointT >::computeModel ( int debug_verbosity_level = 0 )
overridevirtual

Вычисляет фактическую модель и находит внутренние точки.

Параметры
[in] debug_verbosity_level включает или отключает вывод отладочной информации на экран и задаёт уровень подробности

Реализует метод pcl::SampleConsensus< PointT >.

Определение в строке 50 файла mlesac.hpp.

Ссылки: pcl::geometry::distance(), pcl::getMinMax() и M_PI.

getEMIterations()

template<typename PointT >
int pcl::MaximumLikelihoodSampleConsensus< PointT >::getEMIterations ( ) const
inline

Возвращает количество итераций EM.

Определение в строке 112 файла mlesac.h.

getMinMax()

template<typename PointT >
void pcl::MaximumLikelihoodSampleConsensus< PointT >::getMinMax ( const PointCloudConstPtr & cloud,
const IndicesPtr & indices,
Eigen::Vector4f & min_p,
Eigen::Vector4f & max_p
) const
protected

Определяет минимальные и максимальные координаты 3D-ограничивающего параллелепипеда для заданного набора точек.

Параметры
[in] cloud сообщение с облаком точек
[in] indices набор используемых индексов точек
[out] min_p результирующие координаты минимальной границы ограничивающего параллелепипеда
[out] max_p результирующие координаты максимальной границы ограничивающего параллелепипеда

Определение в строке 237 файла mlesac.hpp.

setEMIterations()

template<typename PointT >
void pcl::MaximumLikelihoodSampleConsensus< PointT >::setEMIterations ( int iterations )
inline

Задаёт количество итераций EM.

Параметры
[in] iterations количество итераций EM

Определение в строке 108 файла mlesac.h.


Документация этого класса создана на основе следующих файлов:
  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API