TransformationEstimationLM реализует оценку преобразования, выравнивающего заданные соответствия, на основе метода Левенберга — Марквардта. Подробнее...
#include <pcl/registration/transformation_estimation_lm.h>
Классы | |
| struct | Functor |
| Базовый функтор. Все модели, которым требуется нелинейная оптимизация, должны определить собственный функтор и реализовать operator() (const Eigen::VectorXd& x, Eigen::VectorXd& fvec) или operator() (const Eigen::VectorXf& x, Eigen::VectorXf& fvec) в зависимости от выбранного _Scalar. Подробнее... |
|
| struct | OptimizationFunctor |
| struct | 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_ {nullptr} |
| Временный указатель на исходный набор данных. Подробнее... |
|
| const PointCloudTarget * | tmp_tgt_ {nullptr} |
| Временный указатель на целевой набор данных. Подробнее... |
|
| const pcl::Indices * | tmp_idx_src_ {nullptr} |
| Временный указатель на индексы исходного набора данных. Подробнее... |
|
| const pcl::Indices * | tmp_idx_tgt_ {nullptr} |
| Временный указатель на индексы целевого набора данных. Подробнее... |
|
| 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 |
Вычисляет расстояние между исходной точкой и соответствующей ей целевой точкой.
- Параметры
-
[in] p_src Исходная точка [in] 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.
estimateRigidTransformation() [1/4]
| inlineoverride |
Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.
- Параметры
-
[in] cloud_src исходный набор данных облака точек [in] indices_src вектор индексов, задающий интересующие точки в cloud_src [in] cloud_tgt целевой набор данных облака точек [in] indices_tgt вектор индексов, задающий соответствия интересующих точек из indices_src [out] transformation_matrix результирующая матрица преобразования
Определение в строке 152 файла transformation_estimation_lm.hpp.
estimateRigidTransformation() [2/4]
| inlineoverride |
Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.
- Параметры
-
[in] cloud_src исходный набор данных облака точек [in] indices_src вектор индексов, задающий интересующие точки в cloud_src [in] cloud_tgt целевой набор данных облака точек [out] transformation_matrix результирующая матрица преобразования
Определение в строке 121 файла transformation_estimation_lm.hpp.
Ссылки: pcl::PointCloud< PointT >::size().
estimateRigidTransformation() [3/4]
| inlineoverride |
Оценивает преобразование жёсткого вращения между исходным и целевым облаками точек с помощью LM.
- Параметры
-
[in] cloud_src исходный набор данных облака точек [in] cloud_tgt целевой набор данных облака точек [in] correspondences вектор соответствий между исходным и целевым облаками точек [out] transformation_matrix результирующая матрица преобразования
Определение в строке 219 файла transformation_estimation_lm.hpp.
estimateRigidTransformation() [4/4]
| inlineoverride |
Оценить преобразование жесткого вращения между исходным и целевым облаками точек с помощью LM.
- Параметры
-
[in] cloud_src исходный набор данных облака точек [in] cloud_tgt целевой набор данных облака точек [out] transformation_matrix результирующая матрица преобразования
Определение в строке 58 файла 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().
Документация по этому классу создана на основе следующих файлов:
- 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