Spec-Zone.ru › PointCloudLibrary

TransformationValidationEuclidean вычисляет норму L2SQR между исходным и целевым наборами данных. Подробнее...

#include <pcl/registration/transformation_validation_euclidean.h>

Collaboration graph
[легенда]

Вложенные классы

class MyPointRepresentation
Внутреннее представление точки использует только 3D координаты для L2. Подробнее...

Публичные типы

using Matrix4 = typename TransformationValidation< PointSource, PointTarget, Scalar >::Matrix4
using Ptr = shared_ptr< TransformationValidation< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const TransformationValidation< PointSource, PointTarget, Scalar > >
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
using PointCloudSourceConstPtr = typename TransformationValidation< PointSource, PointTarget >::PointCloudSourceConstPtr
using PointCloudTargetConstPtr = typename TransformationValidation< PointSource, PointTarget >::PointCloudTargetConstPtr

Открытые члены-функции

TransformationValidationEuclidean ()
Конструктор. Подробнее...
virtual ~TransformationValidationEuclidean ()=default
void setMaxRange (double max_range)
Установите максимальное допустимое расстояние между точкой и ее соответствием в целевом объекте, чтобы соответствие считалось валидным. Подробнее...
double getMaxRange ()
Получить максимальное допустимое расстояние между точкой и ее соответствием, установленное пользователем. Подробнее...
void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false)
Указать указатель на объект поиска, используемый для поиска соответствий в целевом облаке. Подробнее...
void setThreshold (double threshold)
Установить порог, по которому конкретное преобразование считается допустимым. Подробнее...
double getThreshold ()
Получить порог, по которому определенное преобразование считается допустимым. Подробнее...
double validateTransformation (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const
Проверить данное преобразование относительно входных данных облака и вернуть оценку. Подробнее...
virtual bool operator() (const double &score1, const double &score2) const
Функция-компаратор для определения, какая оценка лучше после выполнения проверки на нескольких преобразованиях. Подробнее...
virtual bool isValid (const PointCloudSourceConstPtr &cloud_src, const PointCloudTargetConstPtr &cloud_tgt, const Matrix4 &transformation_matrix) const
Проверить, является ли оценка допустимой для определенного преобразования. Подробнее...

Защищенные атрибуты

double max_range_
Максимальное допустимое расстояние между точкой и ее соответствием в целевом объекте, чтобы соответствие считалось валидным. Подробнее...
double threshold_
Порог, по которому определенное преобразование считается допустимым. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
bool force_no_recompute_
Флаг, который, если установлен, означает, что дерево, работающее с целевым облаком, никогда не будет пересчитываться. Подробнее...

Подробное описание

template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >

TransformationValidationEuclidean вычисляет норму L2SQR между набором исходных и целевых данных.

Чтобы предотвратить вклад точек с плохими соответствиями в итоговый результат, класс также принимает параметр maximum_range, задаваемый через setMaxRange, который используется как значение отсечения при сравнении ближайших соседей.

Выходной результат нормализуется по отношению к количеству найденных корректных соответствий.

Пример использования:

pcl::TransformationValidationEuclidean<pcl::PointXYZ, pcl::PointXYZ> tve;
tve.setMaxRange (0.01); // 1cm
double score = tve.validateTransformation (source, target, transformation);
Примечание
Класс шаблонный, параметрами являются типы точек исходного и целевого наборов данных, а также скалярный тип выходной матрицы преобразования (т.е., float или double). По умолчанию: float.
Автор
Radu B. Rusu

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

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

ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> >

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

KdTree

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget>

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

KdTreePtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr

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

Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationValidation<PointSource, PointTarget, Scalar>::Matrix4

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

PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudSourceConstPtr

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

PointCloudTargetConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudTargetConstPtr

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

PointRepresentationConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr

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

Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> >

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

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

TransformationValidationEuclidean()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::TransformationValidationEuclidean ( )
inline

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

Устанавливает параметр max_range в double::max, threshold_ в NaN и инициализирует внутреннее поисковое дерево в FLANN kd-дерево.

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

~TransformationValidationEuclidean()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::~TransformationValidationEuclidean ( )
virtualdefault

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

getMaxRange()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getMaxRange ( )
inline

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

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.

getThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getThreshold ( )
inline

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

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.

isValid()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid ( const PointCloudSourceConstPtr & cloud_src,
const PointCloudTargetConstPtr & cloud_tgt,
const Matrix4 & transformation_matrix
) const
inlinevirtual

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

Parameters
[in] cloud_src набор данных исходного облака точек
[in] cloud_tgt набор данных целевого облака точек
[out] transformation_matrix матрица преобразования
Returns
true, если преобразование допустимо, иначе false.

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_ и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::validateTransformation().

operator()()

template<typename PointSource , typename PointTarget , typename Scalar = float>
virtual bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::operator() ( const double & score1,
const double & score2
) const
inlinevirtual

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

Parameters
[in] score1 первое значение
[in] score2 второе значение
Returns
true, если score1 лучше, чем score2

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

setMaxRange()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setMaxRange ( double max_range )
inline

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

По умолчанию: double::max.

Parameters
[in] max_range новое максимальное допустимое расстояние

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.

setSearchMethodTarget()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget ( const KdTreePtr & tree,
bool force_no_recompute = false
)
inline

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

Parameters
[in] tree указатель на объект пространственного поиска.
[in] force_no_recompute Если true, этот дерево НИКОГДА не будет пересчитано, независимо от вызовов setInputTarget. Используйте только если уверены, что дерево будет установлено верно.

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::force_no_recompute_ и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::tree_.

setThreshold()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setThreshold ( double threshold )
inline

Установите порог, по которому определенная трансформация считается допустимой.

Примечание
Поскольку мы используем MSE (среднеквадратичную ошибку) в качестве метрики, порог представляет собой среднее пороговое значение евклидового расстояния по всем ближайшим соседям до max_range.
Parameters
[in] threshold порог, по которому преобразование является действительным

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

Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.

validateTransformation()

template<typename PointSource , typename PointTarget , typename Scalar >
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::validateTransformation ( const PointCloudSourceConstPtr & cloud_src,
const PointCloudTargetConstPtr & cloud_tgt,
const Matrix4 & transformation_matrix
) const

Проверить заданное преобразование относительно входных данных облака и вернуть оценку.

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

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

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

Обращается из pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid().

Member Data Documentation

force_no_recompute_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::force_no_recompute_
protected

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

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().

max_range_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_
protected

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

По умолчанию: double::max.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getMaxRange() и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setMaxRange().

threshold_

template<typename PointSource , typename PointTarget , typename Scalar = float>
double pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_
protected

Порог, определяющий валидность конкретного преобразования.

По умолчанию устанавливается в NaN, так как пользователь должен его задать.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::getThreshold(), pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::isValid() и pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setThreshold().

tree_

template<typename PointSource , typename PointTarget , typename Scalar = float>
KdTreePtr pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::tree_
protected

Указатель на объект пространственного поиска.

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

Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().


The documentation for this class was generated from the following files:
  • pcl/registration/transformation_validation_euclidean.h
  • pcl/registration/impl/transformation_validation_euclidean.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_validation_euclidean.html

Spec-Zone.ru

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