RandomizedRandomSampleConsensus представляет собой реализацию RRANSAC (рандомизированного метода консенсуса случайных выборок), описанного в статье «Randomized RANSAC with Td,d test», O. Подробнее...
#include <pcl/sample_consensus/rransac.h>
Открытые типы | |
| using | Ptr = shared_ptr< RandomizedRandomSampleConsensus< PointT > > |
| using | ConstPtr = shared_ptr< const RandomizedRandomSampleConsensus< PointT > > |
|
| |
| using | Ptr = shared_ptr< SampleConsensus< PointT > > |
| using | ConstPtr = shared_ptr< const SampleConsensus< PointT > > |
Открытые функции-члены | |
| RandomizedRandomSampleConsensus (const SampleConsensusModelPtr &model) | |
| Основной конструктор RRANSAC (рандомизированного метода консенсуса случайных выборок). Подробнее... |
|
| RandomizedRandomSampleConsensus (const SampleConsensusModelPtr &model, double threshold) | |
| Основной конструктор RRANSAC (рандомизированного метода консенсуса случайных выборок). Подробнее... |
|
| bool | computeModel (int debug_verbosity_level=0) override |
| Вычислить модель и найти внутренние точки. Подробнее... |
|
| void | setFractionNrPretest (double nr_pretest) |
| Задать процент точек для предварительной проверки. Подробнее... |
|
| double | getFractionNrPretest () const |
| Получить процент точек для предварительной проверки. Подробнее... |
|
| void | setNrSamplesPretest (std::size_t nr_pretest) |
| Задать абсолютное количество точек для предварительной проверки. Подробнее... |
|
| std::size_t | getNrSamplesPretest () const |
| Получить абсолютное количество точек для предварительной проверки. Подробнее... |
|
|
| |
| 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 | 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::RandomizedRandomSampleConsensus< PointT >
RandomizedRandomSampleConsensus представляет собой реализацию RRANSAC (рандомизированного консенсуса случайной выборки), описанную в работе «Randomized RANSAC with Td,d test», O.
Chum и J. Matas, Proc. British Machine Vision Conf. (BMVC '02), vol. 2, BMVA, pp. 448-457, 2002.
Алгоритм работает аналогично RANSAC, с одним дополнением: после вычисления коэффициентов модели случайным образом выбирается доля точек. Если какая-либо из этих точек не принадлежит модели (с учётом заданного порога), выполняется следующая итерация вместо проверки всех точек. Это может ускорить поиск модели, если доля точек для предварительной проверки выбрана правильно.
- Примечание
- RRANSAC полезен в ситуациях, когда большинство выборок данных принадлежат модели и требуется быстрый алгоритм отбрасывания выбросов.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::RandomizedRandomSampleConsensus< PointT >::ConstPtr = shared_ptr<const RandomizedRandomSampleConsensus<PointT> > |
Ptr
| using pcl::RandomizedRandomSampleConsensus< PointT >::Ptr = shared_ptr<RandomizedRandomSampleConsensus<PointT> > |
Документация конструктора и деструктора
RandomizedRandomSampleConsensus() [1/2]
| inline |
RandomizedRandomSampleConsensus() [2/2]
| inline |
Документация функций-членов
computeModel()
| overridevirtual |
Вычислить фактическую модель и найти внутренние точки.
- Параметры
-
[in] debug_verbosity_level включить или отключить отладочную информацию на экране и задать уровень подробности
Реализует pcl::SampleConsensus< PointT >.
Определение в строке 48 файла rransac.hpp.
Ссылки: pcl_lrint.
getFractionNrPretest()
| inline |
getNrSamplesPretest()
| inline |
setFractionNrPretest()
| inline |
setNrSamplesPretest()
| inline |
Документация этого класса сгенерирована на основе следующих файлов:
- pcl/sample_consensus/rransac.h
- pcl/sample_consensus/impl/rransac.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_randomized_random_sample_consensus.html