TransformationValidationEuclidean вычисляет норму L2SQR между исходным и целевым наборами данных. Подробнее...
#include <pcl/registration/transformation_validation_euclidean.h>
Вложенные классы | |
| 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.
Определение в строке 75 файла transformation_validation_euclidean.h.
Документация по typedef членам
ConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr<const TransformationValidation<PointSource, PointTarget, Scalar> > |
Определение в строке 81 файла transformation_validation_euclidean.h.
KdTree
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTree = pcl::search::KdTree<PointTarget> |
Определение в строке 84 файла transformation_validation_euclidean.h.
KdTreePtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::KdTreePtr = typename KdTree::Ptr |
Определение в строке 85 файла transformation_validation_euclidean.h.
Matrix4
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Matrix4 = typename TransformationValidation<PointSource, PointTarget, Scalar>::Matrix4 |
Определение в строке 77 файла transformation_validation_euclidean.h.
PointCloudSourceConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudSourceConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudSourceConstPtr |
Определение в строке 89 файла transformation_validation_euclidean.h.
PointCloudTargetConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointCloudTargetConstPtr = typename TransformationValidation<PointSource, PointTarget>::PointCloudTargetConstPtr |
Определение в строке 92 файла transformation_validation_euclidean.h.
PointRepresentationConstPtr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr |
Определение в строке 87 файла transformation_validation_euclidean.h.
Ptr
| using pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<TransformationValidation<PointSource, PointTarget, Scalar> > |
Определение в строке 80 файла transformation_validation_euclidean.h.
Документация по конструкторам и деструкторам
TransformationValidationEuclidean()
| inline |
Конструктор.
Устанавливает параметр max_range в double::max, threshold_ в NaN и инициализирует внутреннее поисковое дерево в FLANN kd-дерево.
Определение в строке 100 файла transformation_validation_euclidean.h.
~TransformationValidationEuclidean()
| virtualdefault |
Документация по функциям-членам
getMaxRange()
| inline |
Получить максимальное допустимое расстояние между точкой и её соответствием, заданное пользователем.
Определение в строке 123 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.
getThreshold()
| inline |
Получить порог, при котором конкретное преобразование является допустимым.
Определение в строке 158 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.
isValid()
| 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()()
| inlinevirtual |
Функция-компаратор для определения, какой результат лучше после выполнения проверки на нескольких преобразованиях.
- Parameters
-
[in] score1 первое значение [in] score2 второе значение
- Returns
- true, если score1 лучше, чем score2
Определение в строке 187 файла transformation_validation_euclidean.h.
setMaxRange()
| inline |
Установите максимальное допустимое расстояние между точкой и её соответствием в целевом облаке, чтобы соответствие считалось валидным.
По умолчанию: double::max.
- Parameters
-
[in] max_range новое максимальное допустимое расстояние
Определение в строке 114 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::max_range_.
setSearchMethodTarget()
| 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()
| inline |
Установите порог, по которому определенная трансформация считается допустимой.
- Примечание
- Поскольку мы используем MSE (среднеквадратичную ошибку) в качестве метрики, порог представляет собой среднее пороговое значение евклидового расстояния по всем ближайшим соседям до max_range.
- Parameters
-
[in] threshold порог, по которому преобразование является действительным
Определение в строке 151 файла transformation_validation_euclidean.h.
Ссылки на pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::threshold_.
validateTransformation()
| 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_
| protected |
Флаг, который, если установлен, означает, что дерево, работающее с целевым облаком, никогда не будет пересчитано.
Определение в строке 232 файла transformation_validation_euclidean.h.
Используется в pcl::registration::TransformationValidationEuclidean< PointSource, PointTarget, Scalar >::setSearchMethodTarget().
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_
| 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_
| 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