Spec-Zone.ru › PointCloudLibrary

RandomSampleConsensus представляет собой реализацию алгоритма RANSAC (RANdom SAmple Consensus), описанного в работе: «Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography», Martin A. Подробнее...

#include <pcl/sample_consensus/ransac.h>

Inheritance graph
[обозначения]
Collaboration graph
[обозначения]

Публичные типы

using Ptr = shared_ptr< RandomSampleConsensus< PointT > >
using ConstPtr = shared_ptr< const RandomSampleConsensus< PointT > >
- Публичные типы, наследуемые от pcl::SampleConsensus< PointT >
using Ptr = shared_ptr< SampleConsensus< PointT > >
using ConstPtr = shared_ptr< const SampleConsensus< PointT > >

Публичные функции-члены

RandomSampleConsensus (const SampleConsensusModelPtr &model)
Основной конструктор RANSAC (RANdom SAmple Consensus). Подробнее...
RandomSampleConsensus (const SampleConsensusModelPtr &model, double threshold)
Основной конструктор RANSAC (RANdom SAmple Consensus). Подробнее...
bool computeModel (int debug_verbosity_level=0) override
Вычислить модель и найти внутренние точки. Подробнее...
- Публичные функции-члены, наследуемые от 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
Вернуть коэффициенты лучшей найденной на данный момент модели. Подробнее...

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

- Защищённые функции-члены, унаследованные от 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::RandomSampleConsensus< PointT >

RandomSampleConsensus представляет собой реализацию алгоритма RANSAC (RANdom SAmple Consensus), описанного в работе: «Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography», Martin A.

Fischler и Robert C. Bolles, Comm. Of the ACM 24: 381–395, июнь 1981 г. Доступен параллельный вариант, который включается с помощью setNumberOfThreads. По умолчанию распараллеливание отключено.

Алгоритм работает следующим образом:

  1. случайным образом выбрать из облака столько точек, сколько необходимо для определения модели
  2. вычислить коэффициенты модели по выбранным точкам
  3. подсчитать количество точек облака, соответствующих модели с учётом заданного порога. Они называются внутренними точками
  4. повторять, пока не будет найдена подходящая модель или не будет достигнуто максимальное число итераций
  5. вернуть модель с наибольшим числом внутренних точек
Автор
Radu B. Rusu

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

Описание псевдонимов типов-членов

ConstPtr

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

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

Ptr

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

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

Описание конструкторов и деструкторов

RandomSampleConsensus() [1/2]

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

Основной конструктор RANSAC (RANdom SAmple Consensus).

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

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

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

RandomSampleConsensus() [2/2]

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

Основной конструктор RANSAC (RANdom SAmple Consensus).

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

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

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

Описание функций-членов

computeModel()

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

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

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

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

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

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().


Документация этого класса создана на основе следующих файлов:
  • pcl/sample_consensus/ransac.h
  • pcl/sample_consensus/impl/ransac.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_random_sample_consensus.html

Spec-Zone.ru

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