DefaultConvergenceCriteria представляет собой экземпляр ConvergenceCriteria и реализует следующие критерии для оценки цикла регистрации: Подробнее...
#include <pcl/registration/default_convergence_criteria.h>
Public Types | |
| enum |
ConvergenceState { CONVERGENCE_CRITERIA_NOT_CONVERGED , CONVERGENCE_CRITERIA_ITERATIONS , CONVERGENCE_CRITERIA_TRANSFORM , CONVERGENCE_CRITERIA_ABS_MSE , CONVERGENCE_CRITERIA_REL_MSE , CONVERGENCE_CRITERIA_NO_CORRESPONDENCES , CONVERGENCE_CRITERIA_FAILURE_AFTER_MAX_ITERATIONS } |
| using | Ptr = shared_ptr< DefaultConvergenceCriteria< Scalar > > |
| using | ConstPtr = shared_ptr< const DefaultConvergenceCriteria< Scalar > > |
| using | Matrix4 = Eigen::Matrix< Scalar, 4, 4 > |
|
| |
| using | Ptr = shared_ptr< ConvergenceCriteria > |
| using | ConstPtr = shared_ptr< const ConvergenceCriteria > |
Публичные функции-члены | |
| DefaultConvergenceCriteria (const int &iterations, const Matrix4 &transform, const pcl::Correspondences &correspondences) | |
| Пустой конструктор. Подробнее... |
|
| ~DefaultConvergenceCriteria () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setMaximumIterationsSimilarTransforms (const int nr_iterations) |
| Установить максимальное количество последовательных итераций, в течение которых допускается сходство различий во внутреннем вращении, перемещении и MSE. Подробнее... |
|
| int | getMaximumIterationsSimilarTransforms () const |
| Получить максимальное количество последовательных итераций, в течение которых допускается сходство различий во внутреннем вращении, перемещении и MSE, как установлено пользователем. Подробнее... |
|
| void | setMaximumIterations (const int nr_iterations) |
| Установить максимальное количество итераций, для которых должна выполняться внутренняя оптимизация. Подробнее... |
|
| int | getMaximumIterations () const |
| Получить максимальное количество итераций, для которых должна выполняться внутренняя оптимизация, как установлено пользователем. Подробнее... |
|
| void | setFailureAfterMaximumIterations (const bool failure_after_max_iter) |
| Указывает, завершается ли регистрация неудачей или сходится, когда достигается максимальное количество итераций. Подробнее... |
|
| bool | getFailureAfterMaximumIterations () const |
| Получить информацию о том, завершится ли регистрация неудачей или сходится, когда достигается максимальное количество итераций. Подробнее... |
|
| void | setRotationThreshold (const double threshold) |
| Установить пороговое значение косинуса угла вращения (максимально допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизацию можно было считать сошедшейся к конечному решению. Подробнее... |
|
| double | getRotationThreshold () const |
| Получить пороговое значение косинуса угла вращения (максимально допустимое различие между двумя последовательными преобразованиями), как установлено пользователем. Подробнее... |
|
| void | setTranslationThreshold (const double threshold) |
| Установить пороговое значение перемещения (максимально допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизацию можно было считать сошедшейся к конечному решению. Подробнее... |
|
| double | getTranslationThreshold () const |
| Получить пороговое значение косинуса угла вращения (максимально допустимое различие между двумя последовательными преобразованиями), как установлено пользователем. Подробнее... |
|
| void | setRelativeMSE (const double mse_relative) |
| Установить относительную MSE между двумя последовательными наборами соответствий. Подробнее... |
|
| double | getRelativeMSE () const |
| Получить относительную MSE между двумя последовательными наборами соответствий. Подробнее... |
|
| void | setAbsoluteMSE (const double mse_absolute) |
| Установить абсолютную MSE между двумя последовательными наборами соответствий. Подробнее... |
|
| double | getAbsoluteMSE () const |
| Получить абсолютную среднеквадратичную ошибку (MSE) между двумя последовательными наборами соответствий. Подробнее... |
|
| bool | hasConverged () override |
| Проверить, достигнута ли сходимость. Подробнее... |
|
| ConvergenceState | getConvergenceState () |
| Возвращает состояние сходимости после hasConverged (). Подробнее... |
|
| void | setConvergenceState (ConvergenceState c) |
| Устанавливает состояние сходимости внешне (например, когда ICP не находит достаточно соответствий для оценки преобразования, функция вызывается, устанавливая состояние сходимости в ConvergenceState::CONVERGENCE_CRITERIA_NO_CORRESPONDENCES) Подробнее... |
|
|
| |
| ConvergenceCriteria ()=default | |
| Пустой конструктор. Подробнее... |
|
| virtual | ~ConvergenceCriteria ()=default |
| Пустой деструктор. Подробнее... |
|
| operator bool () | |
| Оператор bool. Подробнее... |
|
Защищенные члены-функции | |
| double | calculateMSE (const pcl::Correspondences &correspondences) const |
| Вычислить среднеквадратичную ошибку (MSE) расстояния для данного набора соответствий. Подробнее... |
|
Защищенные атрибуты | |
| const int & | iterations_ |
| Количество итераций, выполненных циклом регистрации до сих пор. Подробнее... |
|
| const Matrix4 & | transformation_ |
| Текущее преобразование, полученное методом оценки преобразования. Подробнее... |
|
| const pcl::Correspondences & | correspondences_ |
| Текущий набор соответствий точек между исходным и целевым областями. Подробнее... |
|
| double | correspondences_prev_mse_ |
| MSE для предыдущего набора соответствий. Подробнее... |
|
| double | correspondences_cur_mse_ |
| MSE для текущего набора соответствий. Подробнее... |
|
| int | max_iterations_ |
| Максимальное количество итераций, которое должен выполнить цикл регистрации. Подробнее... |
|
| bool | failure_after_max_iter_ |
| Указывает, завершается ли регистрация с ошибкой или сходится, когда достигнуто максимальное количество итераций. Подробнее... |
|
| double | rotation_threshold_ |
| Порог вращения — это относительное вращение между двумя итерациями (как косинус угла). Подробнее... |
|
| double | translation_threshold_ |
| Порог сдвига — это относительный сдвиг между двумя итерациями (0, если сдвига нет). Подробнее... |
|
| double | mse_threshold_relative_ |
| Относительное изменение от предыдущего MSE для текущего набора соответствий, например Подробнее... |
|
| double | mse_threshold_absolute_ |
| Абсолютное изменение от предыдущего MSE для текущего набора соответствий. Подробнее... |
|
| int | iterations_similar_transforms_ |
| Внутренний счетчик числа итераций, при которых внутренние различия по вращению, сдвигу и MSE допускаются подобными. Подробнее... |
|
| int | max_iterations_similar_transforms_ |
| Максимальное число итераций, при которых внутренние различия по вращению, сдвигу и MSE допускаются подобными. Подробнее... |
|
| ConvergenceState | convergence_state_ |
| Состояние сходимости (например, почему сходится регистрация). Подробнее... |
|
Подробное описание
шаблон<typename Scalar = float>
класс pcl::registration::DefaultConvergenceCriteria< Scalar >
DefaultConvergenceCriteria представляет собой экземпляр ConvergenceCriteria и реализует следующие критерии для оценки цикла регистрации:
- достигнуто максимальное количество итераций
- преобразование (R, t) больше не может быть обновлено (разница между текущим и предыдущим меньше порога)
- среднеквадратичная ошибка (MSE) между текущим набором соответствий и предыдущим меньше некоторого порога (тесты как относительные, так и абсолютные)
- Примечание
- Сходимость считается достигнутой, если выполняется ЛЮБОЙ из вышеперечисленных критериев.
Определение в строке 65 файла default_convergence_criteria.h.
Документация типов членов
ConstPtr
| using pcl::registration::DefaultConvergenceCriteria< Scalar >::ConstPtr = shared_ptr<const DefaultConvergenceCriteria<Scalar> > |
Определение в строке 68 файла default_convergence_criteria.h.
Matrix4
| using pcl::registration::DefaultConvergenceCriteria< Scalar >::Matrix4 = Eigen::Matrix<Scalar, 4, 4> |
Определение в строке 70 файла default_convergence_criteria.h.
Ptr
| using pcl::registration::DefaultConvergenceCriteria< Scalar >::Ptr = shared_ptr<DefaultConvergenceCriteria<Scalar> > |
Определение в строке 67 файла default_convergence_criteria.h.
Документация перечислений членов
ConvergenceState
| enum pcl::registration::DefaultConvergenceCriteria::ConvergenceState |
Определение в строке 72 файла default_convergence_criteria.h.
Документация конструкторов и деструкторов
DefaultConvergenceCriteria()
| inline |
Пустой конструктор.
Устанавливает:
- максимальное количество итераций в 100
- порог поворота в 0,256 градуса (0,99999)
- порог смещения в 0,0003 метра (3e-4^2)
- пороговые значения MSE относительно/абсолютно в 0,001% и 1e-12
- Параметры
-
[in] iterations ссылка на количество итераций, выполненных до настоящего момента [in] transform ссылка на текущее преобразование, полученное путем оценки преобразования [in] correspondences ссылка на текущий набор соответствий точек между источником и целевым объектом
Определение в строке 94 файла default_convergence_criteria.h.
~DefaultConvergenceCriteria()
| overridedefault |
Пустой деструктор.
Документация функций-членов
calculateMSE()
| inlineprotected |
Вычисление средней квадратичной ошибки (MSE) расстояния для данного набора соответствий.
- Параметры
-
[in] correspondences данный набор соответствий
Определение в строке 273 файла default_convergence_criteria.h.
getAbsoluteMSE()
| inline |
Получение абсолютной MSE между двумя последовательными наборами соответствий.
Определение в строке 241 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_absolute_.
getConvergenceState()
| inline |
Возвращает состояние сходимости после hasConverged()
Определение в строке 252 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::convergence_state_.
getFailureAfterMaximumIterations()
| inline |
Получить, произойдёт ли сбой регистрации или сходимость при достижении максимального числа итераций.
Определение в строке 167 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::failure_after_max_iter_.
getMaximumIterations()
| inline |
Получить максимальное число итераций, которое должна выполнить внутренняя оптимизация, заданное пользователем.
Определение в строке 149 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_.
getMaximumIterationsSimilarTransforms()
| inline |
Получить максимальное количество последовательных итераций, для которых разрешены схожие значения поворота, смещения и различий MSE, заданное пользователем.
Определение в строке 131 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_similar_transforms_.
getRelativeMSE()
| inline |
Получить относительную MSE между двумя последовательными наборами соответствий.
Определение в строке 225 файла default_convergence_criteria.h.
Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_relative_.
getRotationThreshold()
| inline |
Получить порог вращения (косинус угла, максимальное допустимое различие между двумя последовательными преобразованиями), установленный пользователем.
Определение в строке 188 файла default_convergence_criteria.h.
Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::rotation_threshold_.
getTranslationThreshold()
| inline |
Получить порог сдвига (максимальное допустимое различие между двумя последовательными преобразованиями), установленный пользователем.
Определение в строке 209 файла default_convergence_criteria.h.
Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::translation_threshold_.
hasConverged()
| overridevirtual |
Проверить, достигнута ли сходимость.
Реализация pcl::registration::ConvergenceCriteria.
Определение в строке 51 файла default_convergence_criteria.hpp.
setAbsoluteMSE()
| inline |
Установите абсолютное значение MSE между двумя последовательными наборами соответствий.
- Parameters
-
[in] mse_absolute пороговое значение относительного MSE
Определение в строке 234 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_absolute_.
setConvergenceState()
| inline |
Устанавливает состояние сходимости внешне (например, когда ICP не находит достаточно соответствий для оценки преобразования, вызывается функция, устанавливающая состояние сходимости в ConvergenceState::CONVERGENCE_CRITERIA_NO_CORRESPONDENCES)
- Parameters
-
[in] c состояние сходимости
Определение в строке 263 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::convergence_state_.
setFailureAfterMaximumIterations()
| inline |
Указывает, происходит ли сбой регистрации или сходимость, когда достигается максимальное количество итераций.
- Parameters
-
[in] failure_after_max_iter Если true, регистрация завершается с ошибкой. Если false, регистрация считается сошедшейся.
Определение в строке 159 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::failure_after_max_iter_.
setMaximumIterations()
| inline |
Установите максимальное количество итераций, для которых должна выполняться внутренняя оптимизация.
- Parameters
-
[in] nr_iterations максимальное количество итераций, для которых должна выполняться внутренняя оптимизация
Определение в строке 141 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_.
setMaximumIterationsSimilarTransforms()
| inline |
Установите максимальное количество последовательных итераций, для которых разрешается сходство внутренних различий по вращению, сдвигу и MSE.
- Parameters
-
[in] nr_iterations максимальное количество итераций
Определение в строке 121 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_similar_transforms_.
setRelativeMSE()
| inline |
Установите относительное значение MSE между двумя последовательными наборами соответствий.
- Parameters
-
[in] mse_relative пороговое значение относительного MSE
Определение в строке 218 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_relative_.
setRotationThreshold()
| inline |
Установите косинус угла порога вращения (максимальное допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизация считалась сошедшейся с конечным решением.
- Parameters
-
[in] threshold порог вращения для того, чтобы оптимизация считалась сошедшейся с конечным решением.
Определение в строке 179 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::rotation_threshold_.
setTranslationThreshold()
| inline |
Установите порог сдвига (максимальное допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизация считалась сошедшейся с конечным решением.
- Parameters
-
[in] threshold порог сдвига для того, чтобы оптимизация считалась сошедшейся с конечным решением.
Определение в строке 200 файла default_convergence_criteria.h.
Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::translation_threshold_.
Документация по данным члена
convergence_state_
| protected |
Состояние сходимости (например, почему регистрация сошлась).
Определение в строке 332 файла default_convergence_criteria.h.
Используется функциями pcl::registration::DefaultConvergenceCriteria< Scalar >::getConvergenceState() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setConvergenceState().
correspondences_
| protected |
Текущий набор соответствий точек между источником и целевым объектом.
Определение в строке 291 файла default_convergence_criteria.h.
correspondences_cur_mse_
| protected |
Среднеквадратичная ошибка (MSE) для текущего набора соответствий.
Определение в строке 297 файла default_convergence_criteria.h.
correspondences_prev_mse_
| protected |
Среднеквадратичная ошибка (MSE) для предыдущего набора соответствий.
Определение в строке 294 файла default_convergence_criteria.h.
failure_after_max_iter_
| protected |
Указывает, происходит ли отказ от регистрации или сходимость, когда достигается максимальное количество итераций.
Определение в строке 305 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getFailureAfterMaximumIterations() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setFailureAfterMaximumIterations().
iterations_
| protected |
Количество итераций, выполненных циклом регистрации до сих пор.
Определение в строке 283 файла default_convergence_criteria.h.
iterations_similar_transforms_
| protected |
Внутренний счётчик количества итераций, в течение которых внутренние вращения, сдвиги и различия MSE считаются похожими.
Определение в строке 325 файла default_convergence_criteria.h.
max_iterations_
| protected |
Максимальное число итераций для выполнения цикла регистрации.
Определение в строке 301 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterations() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterations().
max_iterations_similar_transforms_
| protected |
Максимальное количество итераций, в течение которых внутренние вращения, сдвиги и различия MSE считаются похожими.
Определение в строке 329 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterationsSimilarTransforms() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterationsSimilarTransforms().
mse_threshold_absolute_
| protected |
Абсолютное изменение MSE по сравнению с предыдущим значением для текущего набора соответствий.
Определение в строке 321 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getAbsoluteMSE() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setAbsoluteMSE().
mse_threshold_relative_
| protected |
Относительное изменение MSE по сравнению с предыдущим значением для текущего набора соответствий, например:
.1 означает 10% изменение.
Определение в строке 317 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getRelativeMSE() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setRelativeMSE().
rotation_threshold_
| protected |
Порог вращения — относительное вращение между двумя итерациями (как косинус угла).
Определение в строке 309 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getRotationThreshold() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setRotationThreshold().
transformation_
| protected |
Текущее преобразование, полученное методом оценки преобразования.
Определение в строке 287 файла default_convergence_criteria.h.
translation_threshold_
| protected |
Порог смещения — относительное смещение между двумя итерациями (0, если смещения нет).
Определение в строке 313 файла default_convergence_criteria.h.
Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getTranslationThreshold() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setTranslationThreshold().
The documentation for this class was generated from the following files:
- pcl/registration/default_convergence_criteria.h
- pcl/registration/impl/default_convergence_criteria.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_default_convergence_criteria.html