TransformationEstimationLM реализует оценку преобразования, основанную на Levenberg-Marquardту, выравнивая заданные соответствия. Подробнее...
#include <pcl/registration/transformation_estimation_lm.h>
Классы | |
| структура | Functor |
| Базовый функциональный объект, все модели, которым требуется нелинейная оптимизация, должны определить свой собственный и реализовать оператор() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) или оператор() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec), в зависимости от выбранного _Scalar. Подробнее... |
|
| структура | OptimizationFunctor |
| структура | OptimizationFunctorWithIndices |
Публичные типы | |
| using | Ptr = shared_ptr< TransformationEstimationLM< PointSource, PointTarget, MatScalar > > |
| using | ConstPtr = shared_ptr< const TransformationEstimationLM< PointSource, PointTarget, MatScalar > > |
| using | VectorX = Eigen::Matrix< MatScalar, Eigen::Dynamic, 1 > |
| using | Vector4 = Eigen::Matrix< MatScalar, 4, 1 > |
| using | Matrix4 = typename TransformationEstimation< PointSource, PointTarget, MatScalar >::Matrix4 |
|
| |
| using | Matrix4 = Eigen::Matrix< float, 4, 4 > |
| using | Ptr = shared_ptr< TransformationEstimation< PointSource, PointTarget, float > > |
| using | ConstPtr = shared_ptr< const TransformationEstimation< PointSource, PointTarget, float > > |
Общедоступные члены-функции | |
| TransformationEstimationLM () | |
| Конструктор. Подробнее... |
|
| TransformationEstimationLM (const TransformationEstimationLM &src) | |
| Копирующий конструктор. Подробнее... |
|
| TransformationEstimationLM & | operator= (const TransformationEstimationLM &src) |
| Оператор копирования. Подробнее... |
|
| ~TransformationEstimationLM () override=default | |
| Деструктор. Подробнее... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override |
| Оценить жесткое преобразование вращения между облаком точек источника и облаком точек цели с использованием LM. Подробнее... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const override |
| Оценить жесткое преобразование вращения между облаком точек источника и облаком точек цели с использованием LM. Подробнее... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const override |
| Оценить жесткое преобразование вращения между облаками точек источника и целевого объекта с использованием LM. Подробнее... |
|
| void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const override |
| Оценить жесткое преобразование вращения между облаками точек источника и целевого объекта с использованием LM. Подробнее... |
|
| void | setWarpFunction (const typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr &warp_fcn) |
| Установить функцию, используемую для деформации точек. Подробнее... |
|
|
| |
| TransformationEstimation ()=default | |
| virtual | ~TransformationEstimation ()=default |
| virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0 |
| Оценить жесткое вращательное преобразование между облаком исходных и целевых точек. Подробнее... |
|
| virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, Matrix4 &transformation_matrix) const=0 |
| Оценить жесткое вращательное преобразование между облаком исходных и целевых точек. Подробнее... |
|
| virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &indices_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) const=0 |
| Оценить жесткое вращательное преобразование между облаком исходных и целевых точек. Подробнее... |
|
| virtual void | estimateRigidTransformation (const pcl::PointCloud< PointSource > &cloud_src, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Correspondences &correspondences, Matrix4 &transformation_matrix) const=0 |
| Оценить жесткое вращательное преобразование между облаком исходных и целевых точек. Подробнее... |
|
Защищённые члены-функции | |
| virtual MatScalar | computeDistance (const PointSource &p_src, const PointTarget &p_tgt) const |
| Вычисление расстояния между точкой источника и соответствующей точкой цели. Подробнее... |
|
| virtual MatScalar | computeDistance (const Vector4 &p_src, const PointTarget &p_tgt) const |
| Вычисление расстояния между точкой источника и соответствующей точкой цели. Подробнее... |
|
Защищённые члены-данные | |
| const PointCloudSource * | tmp_src_ |
| Временный указатель на набор данных источника. Подробнее... |
|
| const PointCloudTarget * | tmp_tgt_ |
| Временный указатель на набор данных цели. Подробнее... |
|
| const pcl::Indices * | tmp_idx_src_ |
| Временный указатель на индексы набора данных источника. Подробнее... |
|
| const pcl::Indices * | tmp_idx_tgt_ |
| Временный указатель на индексы набора данных цели. Подробнее... |
|
| pcl::registration::WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr | warp_point_ |
| Параметризованная функция, используемая для деформации источника до цели. Подробнее... |
|
Подробное описание
template<typename PointSource, typename PointTarget, typename MatScalar = float>
class pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >
TransformationEstimationLM реализует оценку преобразования на основе Левенберга-Марквардта для выравнивания заданных соответствий.
- Примечание
- Класс шаблонный и параметризуется типами точек источника и целевой точки, а также скалярным типом выходной матрицы преобразования (например, float или double). По умолчанию: float.
Определение в строке 58 файла transformation_estimation_lm.h.
Документация псевдонимов типов
ConstPtr
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::ConstPtr = shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar> > |
Определение в строке 72 файла transformation_estimation_lm.h.
Matrix4
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4 |
Определение в строке 77 файла transformation_estimation_lm.h.
Ptr
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Ptr = shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar> > |
Определение в строке 70 файла transformation_estimation_lm.h.
Vector4
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Vector4 = Eigen::Matrix<MatScalar, 4, 1> |
Определение в строке 76 файла transformation_estimation_lm.h.
VectorX
| using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1> |
Определение в строке 75 файла transformation_estimation_lm.h.
Документация конструктора и деструктора
TransformationEstimationLM() [1/2]
| pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM |
Конструктор.
Определение в строке 49 файла transformation_estimation_lm.hpp.
TransformationEstimationLM() [2/2]
| inline |
Копирующий конструктор.
- Параметры
-
[in] src объект TransformationEstimationLM, который нужно скопировать в этот
Определение в строке 86 файла transformation_estimation_lm.h.
~TransformationEstimationLM()
| overridedefault |
Деструктор.
Документация по членам-функциям
computeDistance() [1/2]
| inlineprotectedvirtual |
Вычислить расстояние между точкой источника и соответствующей точкой целевого объекта.
- Параметры
-
[in] p_src Точка источника [in] p_tgt Точка целевого объекта
- Возвращает
- Расстояние между p_src и p_tgt
- Примечание
- Более старые версии PCL использовали этот метод внутри для расчета градиента оптимизации. С PCL 1.7 произошла смена на метод computeDistance с использованием типов Vector4. Этот метод сохранен только для совместимости API.
Переопределено в pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, Scalar >, pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > и pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.
Определение в строке 182 файла transformation_estimation_lm.h.
computeDistance() [2/2]
| inlineprotectedvirtual |
Вычислить расстояние между точкой источника и соответствующей целевой точкой.
- Параметры
-
[вход] p_src Точка источника [вход] p_tgt Точка цели
- Возвращает
- Расстояние между p_src и p_tgt
- Примечание
- Функцию вычисления расстояния можно определить по-другому, создав подкласс TransformationEstimationLM и переопределив этот метод. (См. TransformationEstimationPointToPlane)
Переопределено в pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, float > и pcl::registration::TransformationEstimationPointToPlane< PointSource, PointTarget, MatScalar >.
Определение в строке 198 файла transformation_estimation_lm.h.
оцениватьRigidTransformation() [1/4]
| inlineoverride |
Оценить жёсткое преобразование вращения между облаками точек источника и цели, используя LM.
- Параметры
-
[in] cloud_src облако точек-источник [in] indices_src вектор индексов, описывающий точки интереса в cloud_src [in] cloud_tgt облако точек-цель [in] indices_tgt вектор индексов, описывающий соответствия точек интереса из indices_src [out] transformation_matrix результирующая матрица преобразования
Определение в строке 154 файла transformation_estimation_lm.hpp.
estimateRigidTransformation() [2/4]
| inlineoverride |
Определить ригидную матрицу преобразования между облаками точек источника и цели с использованием LM.
- Параметры
-
[in] cloud_src набор точек облака источника [in] indices_src вектор индексов, описывающий точки интереса в cloud_src [in] cloud_tgt набор точек облака цели [out] transformation_matrix результирующая матрица преобразования
Определение в строке 123 файла transformation_estimation_lm.hpp.
estimateRigidTransformation() [3/4]
| inlineoverride |
Определить ригидную матрицу преобразования между облаками точек источника и цели с использованием LM.
- Параметры
-
[in] cloud_src набор точек облака источника [in] cloud_tgt набор точек облака цели [in] correspondences вектор соответствий между облаками точек источника и цели [out] transformation_matrix результирующая матрица преобразования
Определение в строке 221 файла transformation_estimation_lm.hpp.
estimateRigidTransformation() [4/4]
| inlineoverride |
Оценить жесткое преобразование вращения между облаком точек источника и целевым облаком точек с использованием LM.
- Параметры
-
[in] cloud_src набор данных облака точек источника [in] cloud_tgt набор данных облака точек целевого [out] transformation_matrix результирующая матрица преобразования
Определение в строке 60 файла transformation_estimation_lm.hpp.
Ссылки на pcl::PointCloud< PointT >::size().
operator=()
| inline |
Оператор копирования.
- Параметры
-
[in] src объект TransformationEstimationLM, который нужно скопировать в этот
Определение в строке 97 файла transformation_estimation_lm.h.
Ссылки на pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_src_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_src_, pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_tgt_, и pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_.
setWarpFunction()
| inline |
Установить функцию для деформации точек.
По умолчанию используется деформация жесткого тела в 6D.
- Параметры
-
[in] warp_fcn указатель на объект, осуществляющий деформацию точек
Определение в строке 165 файла transformation_estimation_lm.h.
Ссылки на pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_.
Документация по данным членам
tmp_idx_src_
| mutableprotected |
Временный указатель на индексы исходного набора данных.
Определение в строке 211 файла transformation_estimation_lm.h.
Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().
tmp_idx_tgt_
| mutableprotected |
Временный указатель на индексы целевого набора данных.
Определение в строке 214 файла transformation_estimation_lm.h.
Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().
tmp_src_
| mutableprotected |
Временная ссылка на исходное множество данных.
Определено в строке 205 файла transformation_estimation_lm.h.
Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().
tmp_tgt_
| mutableprotected |
Временная ссылка на целевое множество данных.
Определено в строке 208 файла transformation_estimation_lm.h.
Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().
warp_point_
| protected |
Параметризованная функция, используемая для деформации источника до цели.
Определено в строке 218 файла transformation_estimation_lm.h.
Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=(), а также в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::setWarpFunction().
The documentation for this class was generated from the following files:
- pcl/registration/transformation_estimation_lm.h
- pcl/registration/impl/transformation_estimation_lm.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1registration_1_1_transformation_estimation_l_m.html