Spec-Zone.ru › PointCloudLibrary

TransformationEstimationLM реализует оценку преобразования, основанную на Levenberg-Marquardту, выравнивая заданные соответствия. Подробнее...

#include <pcl/registration/transformation_estimation_lm.h>

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

Классы

структура 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
- Публичные типы, унаследованные от pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
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)
Установить функцию, используемую для деформации точек. Подробнее...
- Общедоступные члены-функции унаследованные от pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
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.
Автор
Radu B. Rusu

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

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

ConstPtr

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::ConstPtr = shared_ptr<const TransformationEstimationLM<PointSource, PointTarget, MatScalar> >

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

Matrix4

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Matrix4 = typename TransformationEstimation<PointSource, PointTarget, MatScalar>::Matrix4

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

Ptr

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Ptr = shared_ptr<TransformationEstimationLM<PointSource, PointTarget, MatScalar> >

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

Vector4

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::Vector4 = Eigen::Matrix<MatScalar, 4, 1>

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

VectorX

template<typename PointSource , typename PointTarget , typename MatScalar = float>
using pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::VectorX = Eigen::Matrix<MatScalar, Eigen::Dynamic, 1>

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

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

TransformationEstimationLM() [1/2]

template<typename PointSource , typename PointTarget , typename MatScalar >
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM

Конструктор.

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

TransformationEstimationLM() [2/2]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::TransformationEstimationLM ( const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & src )
inline

Копирующий конструктор.

Параметры
[in] src объект TransformationEstimationLM, который нужно скопировать в этот

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

~TransformationEstimationLM()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::~TransformationEstimationLM ( )
overridedefault

Деструктор.

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

computeDistance() [1/2]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance ( const PointSource & p_src,
const PointTarget & p_tgt
) const
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]

template<typename PointSource , typename PointTarget , typename MatScalar = float>
virtual MatScalar pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::computeDistance ( const Vector4 & p_src,
const PointTarget & p_tgt
) const
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]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::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
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]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::Indices & indices_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix
) const
inlineoverride

Определить ригидную матрицу преобразования между облаками точек источника и цели с использованием LM.

Параметры
[in] cloud_src набор точек облака источника
[in] indices_src вектор индексов, описывающий точки интереса в cloud_src
[in] cloud_tgt набор точек облака цели
[out] transformation_matrix результирующая матрица преобразования

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

estimateRigidTransformation() [3/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
const pcl::Correspondences & correspondences,
Matrix4 & transformation_matrix
) const
inlineoverride

Определить ригидную матрицу преобразования между облаками точек источника и цели с использованием LM.

Параметры
[in] cloud_src набор точек облака источника
[in] cloud_tgt набор точек облака цели
[in] correspondences вектор соответствий между облаками точек источника и цели
[out] transformation_matrix результирующая матрица преобразования

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

estimateRigidTransformation() [4/4]

template<typename PointSource , typename PointTarget , typename MatScalar >
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::estimateRigidTransformation ( const pcl::PointCloud< PointSource > & cloud_src,
const pcl::PointCloud< PointTarget > & cloud_tgt,
Matrix4 & transformation_matrix
) const
inlineoverride

Оценить жесткое преобразование вращения между облаком точек источника и целевым облаком точек с использованием LM.

Параметры
[in] cloud_src набор данных облака точек источника
[in] cloud_tgt набор данных облака точек целевого
[out] transformation_matrix результирующая матрица преобразования

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

Ссылки на pcl::PointCloud< PointT >::size().

operator=()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
TransformationEstimationLM& pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator= ( const TransformationEstimationLM< PointSource, PointTarget, MatScalar > & src )
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()

template<typename PointSource , typename PointTarget , typename MatScalar = float>
void pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::setWarpFunction ( const typename WarpPointRigid< PointSource, PointTarget, MatScalar >::Ptr & warp_fcn )
inline

Установить функцию для деформации точек.

По умолчанию используется деформация жесткого тела в 6D.

Параметры
[in] warp_fcn указатель на объект, осуществляющий деформацию точек

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

Ссылки на pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::warp_point_.

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

tmp_idx_src_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const pcl::Indices* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_src_
mutableprotected

Временный указатель на индексы исходного набора данных.

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

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_idx_tgt_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const pcl::Indices* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_idx_tgt_
mutableprotected

Временный указатель на индексы целевого набора данных.

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

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_src_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudSource* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_src_
mutableprotected

Временная ссылка на исходное множество данных.

Определено в строке 205 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

tmp_tgt_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
const PointCloudTarget* pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::tmp_tgt_
mutableprotected

Временная ссылка на целевое множество данных.

Определено в строке 208 файла transformation_estimation_lm.h.

Используется в pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::operator=().

warp_point_

template<typename PointSource , typename PointTarget , typename MatScalar = float>
pcl::registration::WarpPointRigid<PointSource, PointTarget, MatScalar>::Ptr pcl::registration::TransformationEstimationLM< PointSource, PointTarget, MatScalar >::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

Spec-Zone.ru

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