SampleConsensus — базовый класс. Подробнее...
#include <pcl/sample_consensus/sac.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< SampleConsensus< T > > |
| using | ConstPtr = shared_ptr< const SampleConsensus< T > > |
Общедоступные функции-члены | |
| 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 | computeModel (int debug_verbosity_level=0)=0 |
| Вычислить модель. Подробнее... |
|
| 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 T>
class pcl::SampleConsensus< T >
SampleConsensus — базовый класс.
Все методы консенсуса выборки должны наследоваться от этого класса.
Описание псевдонимов типов-членов
ConstPtr
| using pcl::SampleConsensus< T >::ConstPtr = shared_ptr<const SampleConsensus<T> > |
Ptr
| using pcl::SampleConsensus< T >::Ptr = shared_ptr<SampleConsensus<T> > |
Описание конструкторов и деструктора
SampleConsensus() [1/2]
| inline |
Конструктор базового SAC.
- Параметры
-
[in] model модель консенсуса выборки [in] random если true, начальное значение генератора случайных чисел устанавливается по текущему времени, иначе используется 12345 (по умолчанию: false)
Определение в строке 77 файла sac.h.
Ссылки: pcl::SampleConsensus< T >::rng_.
SampleConsensus() [2/2]
| inline |
Конструктор базового SAC.
- Параметры
-
[in] model модель консенсуса выборки [in] threshold порог расстояния до модели [in] random если true, начальное значение генератора случайных чисел устанавливается по текущему времени, иначе используется 12345 (по умолчанию: false)
Определение в строке 98 файла sac.h.
Ссылки: pcl::SampleConsensus< T >::rng_.
~SampleConsensus()
| virtualdefault |
Деструктор базового класса SAC.
Документация функций-членов
computeModel()
| pure virtual |
Вычислить фактическую модель.
Чистая виртуальная функция.
Реализована в pcl::RandomizedRandomSampleConsensus< PointT >, pcl::RandomizedMEstimatorSampleConsensus< PointT >, pcl::RandomSampleConsensus< PointT >, pcl::ProgressiveSampleConsensus< PointT >, pcl::MEstimatorSampleConsensus< PointT >, pcl::MaximumLikelihoodSampleConsensus< PointT > и pcl::LeastMedianSquares< PointT >.
getDistanceThreshold()
| inline |
Получить заданный пользователем порог расстояния до модели.
Определение в строке 143 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::threshold_.
getInliers()
| inline |
Вернуть лучший найденный к этому моменту набор внутренних точек для этой модели.
- Параметры
-
[out] inliers результирующий набор внутренних точек
Определение в строке 310 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::inliers_.
Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().
getMaxIterations()
| inline |
Получить заданное пользователем максимальное число итераций.
Определение в строке 153 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::max_iterations_.
getModel()
| inline |
Вернуть лучшую модель, найденную к этому моменту.
- Параметры
-
[out] model результирующая модель
Определение в строке 304 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::model_.
getModelCoefficients()
| inline |
Вернуть коэффициенты лучшей модели, найденной к этому моменту.
- Параметры
-
[out] model_coefficients результирующие коэффициенты модели, описанные в модуле sample_consensus
Определение в строке 316 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::model_coefficients_.
Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().
getNumberOfThreads()
| inline |
Получить заданное пользователем число потоков.
Определение в строке 175 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::threads_.
getProbability()
| inline |
Получить заданную пользователем вероятность выбора хотя бы одной выборки без выбросов.
Определение в строке 164 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::probability_.
getRandomSamples()
|
Получить набор случайно выбранных индексов.
- Параметры
-
[in] indices входной вектор индексов [in] nr_samples требуемое число случайно выбираемых индексов точек [out] indices_subset результирующий выходной набор случайно выбранных индексов
Определение в строке 290 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::rnd().
getSampleConsensusModel()
| inline |
Получить используемую модель согласования по выборкам.
Определение в строке 127 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::sac_model_.
refineModel()
| inlinevirtual |
Уточнить найденную модель.
Функция перебирает коэффициенты модели и оптимизирует их вместе с набором внутренних точек, пока изменения в наборе внутренних точек не станут минимальными.
- Параметры
-
[in] sigma множитель стандартного отклонения, используемый для определения, считать ли выборку внутренней точкой (расстояние Махаланобиса) [in] max_iterations максимальное число итераций уточнения на случай, если набор внутренних точек продолжает меняться
Определение в строке 189 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::inliers_, pcl::SampleConsensus< T >::model_coefficients_, pcl::SampleConsensus< T >::sac_model_ и pcl::SampleConsensus< T >::threshold_.
Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().
rnd()
| inlineprotected |
Генератор случайных чисел на основе Boost.
Определение в строке 354 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::rng_.
Используется в pcl::SampleConsensus< T >::getRandomSamples().
setDistanceThreshold()
| inline |
Задать порог расстояния до модели.
- Параметры
-
[in] threshold порог расстояния до модели
Определение в строке 139 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::threshold_.
setMaxIterations()
| inline |
Задать максимальное число итераций.
- Параметры
-
[in] max_iterations максимальное число итераций
Определение в строке 149 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::max_iterations_.
Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().
setNumberOfThreads()
| inline |
Задать число используемых потоков или отключить параллельное выполнение.
- Параметры
-
[in] nr_threads число используемых аппаратных потоков (0 задаёт значение автоматически, отрицательное число отключает параллельное выполнение)
- Примечание
- Не все методы SAC поддерживают параллельную реализацию. Некоторые методы игнорируют эту настройку.
Определение в строке 171 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::threads_.
setProbability()
| inline |
Задать требуемую вероятность выбора хотя бы одной выборки без выбросов.
- Параметры
-
[in] probability требуемая вероятность выбора хотя бы одной выборки без выбросов
- Примечание
- По умолчанию вероятность внутри программы равна 99% (0.99).
Определение в строке 160 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::probability_.
setSampleConsensusModel()
| inline |
Задать используемую модель согласования по выборкам.
- Параметры
-
[in] model модель согласования по выборкам
Определение в строке 120 файла sac.h.
Ссылки на pcl::SampleConsensus< T >::sac_model_.
Документация данных-членов
inliers_
| защищенный |
Индексы точек, выбранных в качестве внутренних после последнего вызова computeModel ().
Определение в строке 326 файла sac.h.
Используется в pcl::SampleConsensus< T >::getInliers() и pcl::SampleConsensus< T >::refineModel().
iterations_
| защищенный |
Общее количество выполненных на данный момент итераций внутреннего цикла.
max_iterations_
| защищенный |
Максимальное количество итераций, после которого алгоритм прекращает работу.
Определение в строке 341 файла sac.h.
Используется в pcl::SampleConsensus< T >::getMaxIterations() и pcl::SampleConsensus< T >::setMaxIterations().
model_
| защищенный |
Модель, найденная после последнего вызова computeModel (), представленная индексами облака точек.
Определение в строке 323 файла sac.h.
Используется в pcl::SampleConsensus< T >::getModel().
model_coefficients_
| защищенный |
Коэффициенты модели, вычисленные непосредственно на основе найденной модели.
Определение в строке 329 файла sac.h.
Используется в pcl::SampleConsensus< T >::getModelCoefficients() и pcl::SampleConsensus< T >::refineModel().
probability_
| защищенный |
Желаемая вероятность выбора хотя бы одной выборки без выбросов.
Определение в строке 332 файла sac.h.
Используется в pcl::SampleConsensus< T >::getProbability() и pcl::SampleConsensus< T >::setProbability().
rng_
| защищенный |
Распределение генератора случайных чисел на основе Boost.
Определение в строке 350 файла sac.h.
Используется в pcl::SampleConsensus< T >::rnd() и pcl::SampleConsensus< T >::SampleConsensus().
rng_alg_
| защищенный |
sac_model_
| защищенный |
Используемая базовая модель данных (то есть
что именно мы пытаемся найти).
Определение в строке 320 файла sac.h.
Используется в pcl::SampleConsensus< T >::getSampleConsensusModel(), pcl::SampleConsensus< T >::refineModel() и pcl::SampleConsensus< T >::setSampleConsensusModel().
threads_
| защищенный |
Количество потоков, используемых планировщиком, или отрицательное число, если параллельное выполнение не требуется.
Определение в строке 344 файла sac.h.
Используется в pcl::SampleConsensus< T >::getNumberOfThreads() и pcl::SampleConsensus< T >::setNumberOfThreads().
threshold_
| защищенный |
Пороговое расстояние до модели.
Определение в строке 338 файла sac.h.
Используется в pcl::SampleConsensus< T >::getDistanceThreshold(), pcl::SampleConsensus< T >::refineModel() и pcl::SampleConsensus< T >::setDistanceThreshold().
Документация этого класса создана на основе следующего файла:
- pcl/sample_consensus/sac.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_sample_consensus.html