Spec-Zone.ru › PointCloudLibrary

DefaultConvergenceCriteria представляет собой экземпляр ConvergenceCriteria и реализует следующие критерии для оценки цикла регистрации: Подробнее...

#include <pcl/registration/default_convergence_criteria.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

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 >
- Public Types inherited from pcl::registration::ConvergenceCriteria
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) Подробнее...
- Публичные методы, унаследованные от pcl::registration::ConvergenceCriteria
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) между текущим набором соответствий и предыдущим меньше некоторого порога (тесты как относительные, так и абсолютные)
Примечание
Сходимость считается достигнутой, если выполняется ЛЮБОЙ из вышеперечисленных критериев.
Автор
Radu B. Rusu

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

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

ConstPtr

template<typename Scalar = float>
using pcl::registration::DefaultConvergenceCriteria< Scalar >::ConstPtr = shared_ptr<const DefaultConvergenceCriteria<Scalar> >

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

Matrix4

template<typename Scalar = float>
using pcl::registration::DefaultConvergenceCriteria< Scalar >::Matrix4 = Eigen::Matrix<Scalar, 4, 4>

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

Ptr

template<typename Scalar = float>
using pcl::registration::DefaultConvergenceCriteria< Scalar >::Ptr = shared_ptr<DefaultConvergenceCriteria<Scalar> >

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

Документация перечислений членов

ConvergenceState

template<typename Scalar = float>
enum pcl::registration::DefaultConvergenceCriteria::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

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

Документация конструкторов и деструкторов

DefaultConvergenceCriteria()

template<typename Scalar = float>
pcl::registration::DefaultConvergenceCriteria< Scalar >::DefaultConvergenceCriteria ( const int & iterations,
const Matrix4 & transform,
const pcl::Correspondences & correspondences
)
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()

template<typename Scalar = float>
pcl::registration::DefaultConvergenceCriteria< Scalar >::~DefaultConvergenceCriteria ( )
overridedefault

Пустой деструктор.

Документация функций-членов

calculateMSE()

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::calculateMSE ( const pcl::Correspondences & correspondences ) const
inlineprotected

Вычисление средней квадратичной ошибки (MSE) расстояния для данного набора соответствий.

Параметры
[in] correspondences данный набор соответствий

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

getAbsoluteMSE()

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::getAbsoluteMSE ( ) const
inline

Получение абсолютной MSE между двумя последовательными наборами соответствий.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_absolute_.

getConvergenceState()

template<typename Scalar = float>
ConvergenceState pcl::registration::DefaultConvergenceCriteria< Scalar >::getConvergenceState ( )
inline

Возвращает состояние сходимости после hasConverged()

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::convergence_state_.

getFailureAfterMaximumIterations()

template<typename Scalar = float>
bool pcl::registration::DefaultConvergenceCriteria< Scalar >::getFailureAfterMaximumIterations ( ) const
inline

Получить, произойдёт ли сбой регистрации или сходимость при достижении максимального числа итераций.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::failure_after_max_iter_.

getMaximumIterations()

template<typename Scalar = float>
int pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterations ( ) const
inline

Получить максимальное число итераций, которое должна выполнить внутренняя оптимизация, заданное пользователем.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_.

getMaximumIterationsSimilarTransforms()

template<typename Scalar = float>
int pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterationsSimilarTransforms ( ) const
inline

Получить максимальное количество последовательных итераций, для которых разрешены схожие значения поворота, смещения и различий MSE, заданное пользователем.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_similar_transforms_.

getRelativeMSE()

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::getRelativeMSE ( ) const
inline

Получить относительную MSE между двумя последовательными наборами соответствий.

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

Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_relative_.

getRotationThreshold()

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::getRotationThreshold ( ) const
inline

Получить порог вращения (косинус угла, максимальное допустимое различие между двумя последовательными преобразованиями), установленный пользователем.

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

Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::rotation_threshold_.

getTranslationThreshold()

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::getTranslationThreshold ( ) const
inline

Получить порог сдвига (максимальное допустимое различие между двумя последовательными преобразованиями), установленный пользователем.

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

Ссылается на pcl::registration::DefaultConvergenceCriteria< Scalar >::translation_threshold_.

hasConverged()

template<typename Scalar >
bool pcl::registration::DefaultConvergenceCriteria< Scalar >::hasConverged
overridevirtual

Проверить, достигнута ли сходимость.

Реализация pcl::registration::ConvergenceCriteria.

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

setAbsoluteMSE()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setAbsoluteMSE ( const double mse_absolute )
inline

Установите абсолютное значение MSE между двумя последовательными наборами соответствий.

Parameters
[in] mse_absolute пороговое значение относительного MSE

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_absolute_.

setConvergenceState()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setConvergenceState ( ConvergenceState c )
inline

Устанавливает состояние сходимости внешне (например, когда ICP не находит достаточно соответствий для оценки преобразования, вызывается функция, устанавливающая состояние сходимости в ConvergenceState::CONVERGENCE_CRITERIA_NO_CORRESPONDENCES)

Parameters
[in] c состояние сходимости

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::convergence_state_.

setFailureAfterMaximumIterations()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setFailureAfterMaximumIterations ( const bool failure_after_max_iter )
inline

Указывает, происходит ли сбой регистрации или сходимость, когда достигается максимальное количество итераций.

Parameters
[in] failure_after_max_iter Если true, регистрация завершается с ошибкой. Если false, регистрация считается сошедшейся.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::failure_after_max_iter_.

setMaximumIterations()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterations ( const int nr_iterations )
inline

Установите максимальное количество итераций, для которых должна выполняться внутренняя оптимизация.

Parameters
[in] nr_iterations максимальное количество итераций, для которых должна выполняться внутренняя оптимизация

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_.

setMaximumIterationsSimilarTransforms()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterationsSimilarTransforms ( const int nr_iterations )
inline

Установите максимальное количество последовательных итераций, для которых разрешается сходство внутренних различий по вращению, сдвигу и MSE.

Parameters
[in] nr_iterations максимальное количество итераций

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_similar_transforms_.

setRelativeMSE()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setRelativeMSE ( const double mse_relative )
inline

Установите относительное значение MSE между двумя последовательными наборами соответствий.

Parameters
[in] mse_relative пороговое значение относительного MSE

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_relative_.

setRotationThreshold()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setRotationThreshold ( const double threshold )
inline

Установите косинус угла порога вращения (максимальное допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизация считалась сошедшейся с конечным решением.

Parameters
[in] threshold порог вращения для того, чтобы оптимизация считалась сошедшейся с конечным решением.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::rotation_threshold_.

setTranslationThreshold()

template<typename Scalar = float>
void pcl::registration::DefaultConvergenceCriteria< Scalar >::setTranslationThreshold ( const double threshold )
inline

Установите порог сдвига (максимальное допустимое различие между двумя последовательными преобразованиями) для того, чтобы оптимизация считалась сошедшейся с конечным решением.

Parameters
[in] threshold порог сдвига для того, чтобы оптимизация считалась сошедшейся с конечным решением.

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

Ссылки на pcl::registration::DefaultConvergenceCriteria< Scalar >::translation_threshold_.

Документация по данным члена

convergence_state_

template<typename Scalar = float>
ConvergenceState pcl::registration::DefaultConvergenceCriteria< Scalar >::convergence_state_
protected

Состояние сходимости (например, почему регистрация сошлась).

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

Используется функциями pcl::registration::DefaultConvergenceCriteria< Scalar >::getConvergenceState() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setConvergenceState().

correspondences_

template<typename Scalar = float>
const pcl::Correspondences& pcl::registration::DefaultConvergenceCriteria< Scalar >::correspondences_
protected

Текущий набор соответствий точек между источником и целевым объектом.

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

correspondences_cur_mse_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::correspondences_cur_mse_
protected

Среднеквадратичная ошибка (MSE) для текущего набора соответствий.

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

correspondences_prev_mse_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::correspondences_prev_mse_
protected

Среднеквадратичная ошибка (MSE) для предыдущего набора соответствий.

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

failure_after_max_iter_

template<typename Scalar = float>
bool pcl::registration::DefaultConvergenceCriteria< Scalar >::failure_after_max_iter_
protected

Указывает, происходит ли отказ от регистрации или сходимость, когда достигается максимальное количество итераций.

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getFailureAfterMaximumIterations() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setFailureAfterMaximumIterations().

iterations_

template<typename Scalar = float>
const int& pcl::registration::DefaultConvergenceCriteria< Scalar >::iterations_
protected

Количество итераций, выполненных циклом регистрации до сих пор.

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

iterations_similar_transforms_

template<typename Scalar = float>
int pcl::registration::DefaultConvergenceCriteria< Scalar >::iterations_similar_transforms_
protected

Внутренний счётчик количества итераций, в течение которых внутренние вращения, сдвиги и различия MSE считаются похожими.

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

max_iterations_

template<typename Scalar = float>
int pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_
protected

Максимальное число итераций для выполнения цикла регистрации.

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterations() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterations().

max_iterations_similar_transforms_

template<typename Scalar = float>
int pcl::registration::DefaultConvergenceCriteria< Scalar >::max_iterations_similar_transforms_
protected

Максимальное количество итераций, в течение которых внутренние вращения, сдвиги и различия MSE считаются похожими.

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getMaximumIterationsSimilarTransforms() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setMaximumIterationsSimilarTransforms().

mse_threshold_absolute_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_absolute_
protected

Абсолютное изменение MSE по сравнению с предыдущим значением для текущего набора соответствий.

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getAbsoluteMSE() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setAbsoluteMSE().

mse_threshold_relative_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::mse_threshold_relative_
protected

Относительное изменение MSE по сравнению с предыдущим значением для текущего набора соответствий, например:

.1 означает 10% изменение.

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getRelativeMSE() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setRelativeMSE().

rotation_threshold_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::rotation_threshold_
protected

Порог вращения — относительное вращение между двумя итерациями (как косинус угла).

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

Используется в pcl::registration::DefaultConvergenceCriteria< Scalar >::getRotationThreshold() и pcl::registration::DefaultConvergenceCriteria< Scalar >::setRotationThreshold().

transformation_

template<typename Scalar = float>
const Matrix4& pcl::registration::DefaultConvergenceCriteria< Scalar >::transformation_
protected

Текущее преобразование, полученное методом оценки преобразования.

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

translation_threshold_

template<typename Scalar = float>
double pcl::registration::DefaultConvergenceCriteria< Scalar >::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

Spec-Zone.ru

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