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. Подробнее...

Подробное описание

шаблон<typename PointT>
класс pcl::RandomSampleConsensus< PointT >

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

Фишлер и Роберт К. Боллс, Comm. Of the ACM 24: 381–395, июнь 1981. Доступна параллельная версия, включенная с помощью setNumberOfThreads. По умолчанию используется непараллельный вариант.

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

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

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

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

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