Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/registration/sample_consensus_prerejective.h>

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

Общедоступные типы

using Matrix4 = typename Registration< PointSource, PointTarget >::Matrix4
using PointCloudSource = typename Registration< PointSource, PointTarget >::PointCloudSource
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = typename Registration< PointSource, PointTarget >::PointCloudTarget
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr
using FeatureCloud = pcl::PointCloud< FeatureT >
using FeatureCloudPtr = typename FeatureCloud::Ptr
using FeatureCloudConstPtr = typename FeatureCloud::ConstPtr
using Ptr = shared_ptr< SampleConsensusPrerejective< PointSource, PointTarget, FeatureT > >
using ConstPtr = shared_ptr< const SampleConsensusPrerejective< PointSource, PointTarget, FeatureT > >
using FeatureKdTreePtr = typename KdTreeFLANN< FeatureT >::Ptr
using CorrespondenceRejectorPoly = pcl::registration::CorrespondenceRejectorPoly< PointSource, PointTarget >
using CorrespondenceRejectorPolyPtr = typename CorrespondenceRejectorPoly::Ptr
using CorrespondenceRejectorPolyConstPtr = typename CorrespondenceRejectorPoly::ConstPtr
- Общедоступные типы, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
using Matrix4 = Eigen::Matrix< Scalar, 4, 4 >
using Ptr = shared_ptr< Registration< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, Scalar > >
using CorrespondenceRejectorPtr = pcl::registration::CorrespondenceRejector::Ptr
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using KdTreeReciprocal = pcl::search::KdTree< PointSource >
using KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr
using PointCloudSource = pcl::PointCloud< PointSource >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointTarget >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
using TransformationEstimation = typename pcl::registration::TransformationEstimation< PointSource, PointTarget, Scalar >
using TransformationEstimationPtr = typename TransformationEstimation::Ptr
using TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr
using CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
using CorrespondenceEstimationPtr = typename CorrespondenceEstimation::Ptr
using CorrespondenceEstimationConstPtr = typename CorrespondenceEstimation::ConstPtr
using UpdateVisualizerCallbackSignature = void(const pcl::PointCloud< PointSource > &, const pcl::Indices &, const pcl::PointCloud< PointTarget > &, const pcl::Indices &)
Сигнатура обратного вызова функции, обновляющей промежуточное положение исходного облака точек во время его регистрации относительно целевого облака точек. Подробнее...
- Общедоступные типы, унаследованные от pcl::PCLBase< PointSource >
using PointCloud = pcl::PointCloud< PointSource >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

SampleConsensusPrerejective ()
Конструктор. Подробнее...
~SampleConsensusPrerejective () override=default
Деструктор. Подробнее...
void setSourceFeatures (const FeatureCloudConstPtr &features)
Передать общий указатель boost на дескрипторы признаков исходного облака точек. Подробнее...
const FeatureCloudConstPtr getSourceFeatures () const
Получить указатель на признаки исходного облака точек. Подробнее...
void setTargetFeatures (const FeatureCloudConstPtr &features)
Передать общий указатель boost на дескрипторы признаков целевого облака точек. Подробнее...
const FeatureCloudConstPtr getTargetFeatures () const
Получить указатель на признаки целевого облака точек. Подробнее...
void setNumberOfSamples (int nr_samples)
Задать количество выборок, используемых на каждой итерации. Подробнее...
int getNumberOfSamples () const
Получить заданное пользователем количество выборок, используемых на каждой итерации. Подробнее...
void setCorrespondenceRandomness (int k)
Задать количество соседей, используемых при выборе случайного соответствия признаков. Подробнее...
int getCorrespondenceRandomness () const
Получить заданное пользователем количество соседей, используемых при выборе случайного соответствия признаков. Подробнее...
void setSimilarityThreshold (float similarity_threshold)
Задать порог сходства в диапазоне [0,1[ для длин рёбер объекта отбраковки соответствий многоугольников, где 1 соответствует идеальному совпадению. Подробнее...
float getSimilarityThreshold () const
Получить порог сходства для длин рёбер объекта отбраковки соответствий многоугольников. Подробнее...
void setInlierFraction (float inlier_fraction)
Задать требуемую долю согласованных точек (во входных данных). Подробнее...
float getInlierFraction () const
Получить требуемую долю согласованных точек. Подробнее...
const pcl::Indices & getInliers () const
Получить индексы согласованных точек исходного облака точек после применения итогового преобразования. Подробнее...
- Открытые функции-члены, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
Registration ()
Конструктор без параметров. Подробнее...
~Registration () override=default
Деструктор. Подробнее...
void setTransformationEstimation (const TransformationEstimationPtr &te)
Передать указатель на объект оценки преобразования. Подробнее...
void setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce)
Передать указатель на объект оценки соответствий. Подробнее...
virtual void setInputSource (const PointCloudSourceConstPtr &cloud)
Передать указатель на исходные входные данные (например, облако точек, которое требуется совместить с целевым облаком). Подробнее...
PointCloudSourceConstPtr const getInputSource ()
Получить указатель на набор данных входного облака точек — целевого облака. Подробнее...
virtual void setInputTarget (const PointCloudTargetConstPtr &cloud)
Передать указатель на целевые входные данные (например, облако точек, с которым требуется совместить исходное облако). Подробнее...
PointCloudTargetConstPtr const getInputTarget ()
Получить указатель на набор данных входного облака точек — целевого облака. Подробнее...
void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false)
Передать указатель на объект поиска, используемый для нахождения соответствий в целевом облаке. Подробнее...
KdTreePtr getSearchMethodTarget () const
Получить указатель на метод поиска, используемый для нахождения соответствий в целевом облаке. Подробнее...
void setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false)
Передать указатель на объект поиска, используемый для нахождения соответствий в исходном облаке (обычно применяется при поиске взаимных соответствий). Подробнее...
KdTreeReciprocalPtr getSearchMethodSource () const
Получить указатель на метод поиска, используемый для нахождения соответствий в исходном облаке. Подробнее...
Matrix4 getFinalTransformation ()
Получить итоговую матрицу преобразования, вычисленную методом регистрации. Подробнее...
Matrix4 getLastIncrementalTransformation ()
Получить последнюю матрицу приращения преобразования, вычисленную методом регистрации. Подробнее...
void setMaximumIterations (int nr_iterations)
Задать максимальное количество итераций внутренней оптимизации. Подробнее...
int getMaximumIterations ()
Получить заданное пользователем максимальное количество итераций внутренней оптимизации. Подробнее...
void setRANSACIterations (int ransac_iterations)
Задать количество итераций алгоритма RANSAC. Подробнее...
double getRANSACIterations ()
Получить заданное пользователем количество итераций алгоритма RANSAC. Подробнее...
void setRANSACOutlierRejectionThreshold (double inlier_threshold)
Задать порог расстояния до согласованных точек для внутреннего цикла отбраковки выбросов RANSAC. Подробнее...
double getRANSACOutlierRejectionThreshold ()
Получить заданный пользователем порог расстояния до согласованных точек для внутреннего цикла отбраковки выбросов. Подробнее...
void setMaxCorrespondenceDistance (double distance_threshold)
Задать максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков. Подробнее...
double getMaxCorrespondenceDistance ()
Получить максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков. Подробнее...
void setTransformationEpsilon (double epsilon)
Задать эпсилон преобразования (максимально допустимую разность квадратов перемещения между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к итоговому решению. Подробнее...
double getTransformationEpsilon ()
Получить заданное пользователем значение эпсилона преобразования (максимально допустимую разность квадратов перемещения между двумя последовательными преобразованиями). Подробнее...
void setTransformationRotationEpsilon (double epsilon)
Задать эпсилон вращения преобразования (максимально допустимую разность углов поворота между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к итоговому решению. Подробнее...
double getTransformationRotationEpsilon ()
Получить заданную пользователем погрешность вращения преобразования (максимально допустимую разницу между двумя последовательными преобразованиями; погрешность — это cos(угла) в представлении «ось — угол»). Подробнее...
void setEuclideanFitnessEpsilon (double epsilon)
Задать максимальную допустимую евклидову ошибку между двумя последовательными шагами цикла ICP, при достижении которой алгоритм считается сошедшимся. Подробнее...
double getEuclideanFitnessEpsilon ()
Получить заданную пользователем максимально допустимую ошибку расстояния, при достижении которой алгоритм считается сошедшимся. Подробнее...
void setPointRepresentation (const PointRepresentationConstPtr &point_representation)
Передать общий указатель boost на PointRepresentation, который будет использоваться при сравнении точек. Подробнее...
bool registerVisualizationCallback (std::function< UpdateVisualizerCallbackSignature > &visualizerCallback)
Зарегистрировать пользовательскую функцию обратного вызова, которая будет вызываться из потока регистрации для обновления облака точек, полученного после каждой итерации. Подробнее...
double getFitnessScore (double max_range=std::numeric_limits< double >::max())
Получить оценку качества по евклидову расстоянию (например, среднее значение квадратов расстояний от исходного набора до целевого). Подробнее...
double getFitnessScore (const std::vector< float > &distances_a, const std::vector< float > &distances_b)
Получить оценку качества по евклидову расстоянию (например, среднее значение квадратов расстояний от исходного набора до целевого) на основе двух наборов расстояний между соответствующими точками (расстояний между точками исходного и целевого наборов). Подробнее...
bool hasConverged () const
Вернуть состояние сходимости после последнего запуска выравнивания. Подробнее...
void align (PointCloudSource &output)
Вызвать алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор (входные данные) в output. Подробнее...
void align (PointCloudSource &output, const Matrix4 &guess)
Вызвать алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор (входные данные) в output. Подробнее...
const std::string & getClassName () const
Метод абстрактного класса для получения имени. Подробнее...
bool initCompute ()
Инициализация внутренних вычислений. Подробнее...
bool initComputeReciprocal ()
Внутренние вычисления при необходимости обратного поиска. Подробнее...
void addCorrespondenceRejector (const CorrespondenceRejectorPtr &rejector)
Добавить новый фильтр соответствий в список. Подробнее...
std::vector< CorrespondenceRejectorPtr > getCorrespondenceRejectors ()
Получить список фильтров соответствий. Подробнее...
bool removeCorrespondenceRejector (unsigned int i)
Удалить i-й фильтр соответствий из списка. Подробнее...
void clearCorrespondenceRejectors ()
Очистить список фильтров соответствий. Подробнее...
- Публичные функции-члены, унаследованные от pcl::PCLBase< PointSource >
PCLBase ()
Пустой конструктор. Подробнее...
PCLBase (const PCLBase &base)
Конструктор копирования. Подробнее...
virtual ~PCLBase ()=default
Деструктор. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Передать указатель на входной набор данных. Подробнее...
PointCloudConstPtr const getInputCloud () const
Получить указатель на входной набор облака точек. Подробнее...
virtual void setIndices (const IndicesPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const IndicesConstPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const PointIndicesConstPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
Задать индексы точек, расположенных в области интереса облака точек. Подробнее...
IndicesPtr getIndices ()
Получить указатель на используемый вектор индексов. Подробнее...
IndicesConstPtr const getIndices () const
Получить указатель на используемый вектор индексов. Подробнее...
const PointSource & operator[] (std::size_t pos) const
Переопределить оператор PointCloud operator[] для сокращения кода. Подробнее...

Защищенные функции-члены

int getRandomIndex (int n) const
Выбрать случайный индекс от 0 до n-1. Подробнее...
void selectSamples (const PointCloudSource &cloud, int nr_samples, pcl::Indices &sample_indices)
Выбрать из облака nr_samples точек-образцов, гарантируя, что расстояния между каждой парой точек превышают заданное пользователем минимальное расстояние min_sample_distance. Подробнее...
void findSimilarFeatures (const pcl::Indices &sample_indices, std::vector< pcl::Indices > &similar_features, pcl::Indices &corresponding_indices)
Для каждой точки-образца найти список точек в целевом облаке, признаки которых похожи на признаки точки-образца. Подробнее...
void computeTransformation (PointCloudSource &output, const Eigen::Matrix4f &guess) override
Метод вычисления жесткого преобразования. Подробнее...
void getFitness (pcl::Indices &inliers, float &fitness_score)
Получить оценку качества преобразования. На основе final_transformation_ и corr_dist_threshold_: вычисляются следующие метрики: Подробнее...
- Защищенные функции-члены, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
bool searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances)
Найти ближайшего соседа для заданной точки. Подробнее...
virtual void computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0
Абстрактный метод вычисления преобразования с начальным приближением. Подробнее...
- Защищенные функции-члены, унаследованные от pcl::PCLBase< PointSource >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

FeatureCloudConstPtr input_features_
Дескрипторы признаков исходного облака точек. Подробнее...
FeatureCloudConstPtr target_features_
Дескрипторы признаков целевого облака точек. Подробнее...
int nr_samples_ {3}
Количество выборок, используемых на каждой итерации. Подробнее...
int k_correspondences_ {2}
Количество соседей, используемых при выборе случайного соответствия признаков. Подробнее...
FeatureKdTreePtr feature_tree_
KdTree, используемое для сравнения дескрипторов признаков. Подробнее...
CorrespondenceRejectorPolyPtr correspondence_rejector_poly_
Полигональный фильтр соответствий, используемый для предварительного отсева. Подробнее...
float inlier_fraction_ {0.0f}
Доля [0,1] точек-выбросов, необходимая для принятия преобразования. Подробнее...
pcl::Indices inliers_
Индексы точек-выбросов для итогового преобразования в исходном облаке. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
std::string reg_name_
Название метода регистрации. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
KdTreeReciprocalPtr tree_reciprocal_
Указатель на объект пространственного поиска исходного облака. Подробнее...
int nr_iterations_ {0}
Количество итераций внутренней оптимизации (используется внутри класса). Подробнее...
int max_iterations_ {10}
Максимальное количество итераций внутренней оптимизации. Подробнее...
int ransac_iterations_ {0}
Количество итераций алгоритма RANSAC. Подробнее...
PointCloudTargetConstPtr target_
Целевой набор входных данных облака точек. Подробнее...
Matrix4 final_transformation_
Итоговая матрица преобразования, оценённая методом регистрации после N итераций. Подробнее...
Matrix4 transformation_
Матрица преобразования, оценённая методом регистрации. Подробнее...
Matrix4 previous_transformation_
Предыдущая матрица преобразования, оценённая методом регистрации (используется внутри класса). Подробнее...
double transformation_epsilon_ {0.0}
Максимальная разница между двумя последовательными преобразованиями, при которой считается, что алгоритм сошёлся (задаётся пользователем). Подробнее...
double transformation_rotation_epsilon_ {0.0}
Максимальная разница вращения между двумя последовательными преобразованиями, при которой считается, что алгоритм сошёлся (задаётся пользователем). Подробнее...
double euclidean_fitness_epsilon_
Максимально допустимая евклидова ошибка между двумя последовательными шагами цикла ICP, при достижении которой алгоритм считается сошедшимся. Подробнее...
double corr_dist_threshold_
Максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков. Подробнее...
double inlier_threshold_ {0.05}
Порог расстояния для точек-выбросов во внутреннем цикле отсева выбросов RANSAC. Подробнее...
bool converged_ {false}
Хранит внутреннее состояние сходимости, определяемое параметрами пользователя. Подробнее...
unsigned int min_number_correspondences_ {3}
Минимальное количество соответствий, необходимое алгоритму для оценки преобразования. Подробнее...
CorrespondencesPtr correspondences_
Набор соответствий, определённых на этом шаге ICP. Подробнее...
TransformationEstimationPtr transformation_estimation_
Объект TransformationEstimation для вычисления жёсткого преобразования 4x4. Подробнее...
CorrespondenceEstimationPtr correspondence_estimation_
Объект CorrespondenceEstimation для определения соответствий между исходным и целевым облаками. Подробнее...
std::vector< CorrespondenceRejectorPtr > correspondence_rejectors_
Список фильтров соответствий для использования. Подробнее...
bool target_cloud_updated_ {true}
Переменная, указывающая, появилось ли новое целевое облако, которое нужно предварительно обработать повторно. Подробнее...
bool source_cloud_updated_ {true}
Переменная, указывающая, появилось ли новое исходное облако, которое нужно предварительно обработать повторно. Подробнее...
bool force_no_recompute_ {false}
Флаг, который при установке запрещает повторный расчёт дерева для целевого облака. Подробнее...
bool force_no_recompute_reciprocal_ {false}
Флаг, который при установке запрещает повторный расчёт дерева для исходного облака. Подробнее...
std::function< UpdateVisualizerCallbackSignature > update_visualizer_
Функция обратного вызова для обновления промежуточного положения исходного облака точек при его регистрации относительно целевого облака точек. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointSource >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся фиктивный набор индексов, соответствующий входному облаку точек. Подробнее...

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

template<typename PointSource, typename PointTarget, typename FeatureT>
class pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >

Класс оценки положения и совмещения с использованием процедуры RANSAC с предварительным отклонением.

Этот класс добавляет простой, но эффективный этап «предварительного отклонения» в стандартный цикл оценки положения RANSAC, чтобы избежать проверки гипотез положения, которые, скорее всего, неверны. Это достигается с помощью локальных геометрических ограничений, инвариантных к положению, как и в классе CorrespondenceRejectorPoly.

Для надёжного совмещения частичных/закрытых моделей эта процедура оценивает ошибку аппроксимации только по внутренним точкам, то есть точкам, расположенным ближе заданного евклидова порога. Порог можно задать с помощью setInlierFraction().

Степень предварительного отклонения, или «агрессивность» алгоритма, можно задать с помощью setSimilarityThreshold() в диапазоне [0,1[, где значение 0 означает отключение, а значение 1 — максимальную степень отклонения.

При использовании этой работы в научных публикациях цитируйте:

A. G. Buch, D. Kraft, J.-K. Kämäräinen, H. G. Petersen and N. Krüger. Pose Estimation using Local Structure-Specific Shape and Appearance Context. International Conference on Robotics and Automation (ICRA), 2013.

Автор
Anders Glent Buch (ander.nosp@m.sgb1.nosp@m.@gmai.nosp@m.l.co.nosp@m.m)

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

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

ConstPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::ConstPtr = shared_ptr<const SampleConsensusPrerejective<PointSource, PointTarget, FeatureT> >

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

CorrespondenceRejectorPoly

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPoly = pcl::registration::CorrespondenceRejectorPoly<PointSource, PointTarget>

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

CorrespondenceRejectorPolyConstPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPolyConstPtr = typename CorrespondenceRejectorPoly::ConstPtr

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

CorrespondenceRejectorPolyPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPolyPtr = typename CorrespondenceRejectorPoly::Ptr

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

FeatureCloud

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloud = pcl::PointCloud<FeatureT>

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

FeatureCloudConstPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloudConstPtr = typename FeatureCloud::ConstPtr

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

FeatureCloudPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloudPtr = typename FeatureCloud::Ptr

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

FeatureKdTreePtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureKdTreePtr = typename KdTreeFLANN<FeatureT>::Ptr

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

Matrix4

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::Matrix4 = typename Registration<PointSource, PointTarget>::Matrix4

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

PointCloudSource

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSource = typename Registration<PointSource, PointTarget>::PointCloudSource

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

PointCloudSourceConstPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr

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

PointCloudSourcePtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSourcePtr = typename PointCloudSource::Ptr

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

PointCloudTarget

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudTarget = typename Registration<PointSource, PointTarget>::PointCloudTarget

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

PointIndicesConstPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointIndicesConstPtr = PointIndices::ConstPtr

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

PointIndicesPtr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointIndicesPtr = PointIndices::Ptr

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

Ptr

template<typename PointSource , typename PointTarget , typename FeatureT >
using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::Ptr = shared_ptr<SampleConsensusPrerejective<PointSource, PointTarget, FeatureT> >

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

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

SampleConsensusPrerejective()

template<typename PointSource , typename PointTarget , typename FeatureT >
pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective ( )
inline

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

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

Ссылки: pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::correspondence_rejector_poly_, pcl::Registration< PointSource, PointTarget, Scalar >::max_iterations_, pcl::Registration< PointSource, PointTarget, Scalar >::reg_name_ и pcl::Registration< PointSource, PointTarget, Scalar >::transformation_estimation_.

~SampleConsensusPrerejective()

template<typename PointSource , typename PointTarget , typename FeatureT >
pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::~SampleConsensusPrerejective ( )
overridedefault

Деструктор.

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

computeTransformation()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::computeTransformation ( PointCloudSource & output,
const Eigen::Matrix4f & guess
)
overrideprotected

Метод вычисления жёсткого преобразования.

Параметры
output набор входных облаков точек, преобразованный с помощью найденного жёсткого преобразования
guess Вычисленное преобразование

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

Ссылки: pcl::transformPointCloud().

findSimilarFeatures()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::findSimilarFeatures ( const pcl::Indices & sample_indices,
std::vector< pcl::Indices > & similar_features,
pcl::Indices & corresponding_indices
)
protected

Для каждой точки выборки находит список точек целевого облака, признаки которых похожи на признаки точки выборки.

Затем случайным образом выбирается одна из них, которая считается соответствием для этой точки выборки.

Параметры
sample_indices индексы каждой точки выборки
similar_features кэш соответствий, используемый для чтения и записи уже вычисленных соответствий
corresponding_indices результирующие индексы точек целевого облака, соответствующих каждой точке выборки

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

getCorrespondenceRandomness()

template<typename PointSource , typename PointTarget , typename FeatureT >
int pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getCorrespondenceRandomness ( ) const
inline

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

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

Ссылки: pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::k_correspondences_.

getFitness()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getFitness ( pcl::Indices & inliers,
float & fitness_score
)
protected

Вычисляет точность преобразования. Рассчитываются следующие метрики на основе final_transformation_ и corr_dist_threshold_:

  • Внутренние точки: количество преобразованных точек, расстояние от которых до ближайшего соседа меньше порогового значения
  • Оценка ошибки: среднеквадратичная ошибка внутренних точек
    Параметры
    inliers индексы внутренних точек исходного облака
    fitness_score выходная оценка точности в виде RMSE

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

Ссылки: pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::transformPointCloud().

getInlierFraction()

template<typename PointSource , typename PointTarget , typename FeatureT >
float pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInlierFraction ( ) const
inline

Получить требуемую долю выбросоустойчивых точек.

Возвращает
требуемая доля выбросоустойчивых точек в диапазоне [0,1]

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_.

getInliers()

template<typename PointSource , typename PointTarget , typename FeatureT >
const pcl::Indices& pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInliers ( ) const
inline

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

Возвращает
индексы выбросоустойчивых точек

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inliers_.

getNumberOfSamples()

template<typename PointSource , typename PointTarget , typename FeatureT >
int pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getNumberOfSamples ( ) const
inline

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

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::nr_samples_.

getRandomIndex()

template<typename PointSource , typename PointTarget , typename FeatureT >
int pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getRandomIndex ( int n ) const
inlineprotected

Выбрать случайный индекс в диапазоне от 0 до n-1.

Параметры
n количество возможных индексов для выбора

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

getSimilarityThreshold()

template<typename PointSource , typename PointTarget , typename FeatureT >
float pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getSimilarityThreshold ( ) const
inline

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

Возвращает
порог сходства длин ребер

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::correspondence_rejector_poly_.

getSourceFeatures()

template<typename PointSource , typename PointTarget , typename FeatureT >
const FeatureCloudConstPtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getSourceFeatures ( ) const
inline

Получить указатель на признаки исходного облака точек.

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::input_features_.

getTargetFeatures()

template<typename PointSource , typename PointTarget , typename FeatureT >
const FeatureCloudConstPtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getTargetFeatures ( ) const
inline

Получить указатель на признаки целевого облака точек.

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::target_features_.

selectSamples()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::selectSamples ( const PointCloudSource & cloud,
int nr_samples,
pcl::Indices & sample_indices
)
protected

Выбрать из облака nr_samples точек-образцов, обеспечив, чтобы расстояния между каждой парой точек были больше заданного пользователем минимального расстояния min_sample_distance.

Параметры
cloud входное облако точек
nr_samples количество выбираемых образцов
sample_indices индексы выбранных образцов

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

См. также pcl::PointCloud< PointT >::size().

setCorrespondenceRandomness()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setCorrespondenceRandomness ( int k )
inline

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

Увеличение значения повышает случайность сопоставления признаков.

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

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::k_correspondences_.

setInlierFraction()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setInlierFraction ( float inlier_fraction )
inline

Задать требуемую долю выбросоустойчивых точек (во входных данных).

Параметры
inlier_fraction требуемая доля выбросоустойчивых точек; должна находиться в диапазоне [0,1]

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_.

setNumberOfSamples()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setNumberOfSamples ( int nr_samples )
inline

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

Параметры
nr_samples количество образцов, используемых на каждой итерации

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::nr_samples_.

setSimilarityThreshold()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setSimilarityThreshold ( float similarity_threshold )
inline

Задать порог сходства в диапазоне [0,1[ для длин ребер, используемый объектом отбраковщика полигональных соответствий; значение 1 соответствует идеальному совпадению.

Параметры
similarity_threshold порог сходства длин ребер

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

См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::correspondence_rejector_poly_.

setSourceFeatures()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setSourceFeatures ( const FeatureCloudConstPtr & features )

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

Параметры
features признаки исходного облака точек

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

setTargetFeatures()

template<typename PointSource , typename PointTarget , typename FeatureT >
void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setTargetFeatures ( const FeatureCloudConstPtr & features )

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

Параметры
features признаки целевого облака точек

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

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

correspondence_rejector_poly_

template<typename PointSource , typename PointTarget , typename FeatureT >
CorrespondenceRejectorPolyPtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::correspondence_rejector_poly_
protected

Отбраковщик полигональных соответствий, используемый для предварительной фильтрации.

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getSimilarityThreshold(), pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::SampleConsensusPrerejective() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setSimilarityThreshold().

feature_tree_

template<typename PointSource , typename PointTarget , typename FeatureT >
FeatureKdTreePtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::feature_tree_
protected

Дерево KdTree, используемое для сравнения дескрипторов признаков.

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

inlier_fraction_

template<typename PointSource , typename PointTarget , typename FeatureT >
float pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_ {0.0f}
protected

Доля [0,1] точек-выбросоустойчивых элементов, необходимая для принятия преобразования.

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInlierFraction() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setInlierFraction().

inliers_

template<typename PointSource , typename PointTarget , typename FeatureT >
pcl::Indices pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inliers_
protected

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

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInliers().

input_features_

template<typename PointSource , typename PointTarget , typename FeatureT >
FeatureCloudConstPtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::input_features_
protected

Дескрипторы признаков исходного облака точек.

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getSourceFeatures().

k_correspondences_

template<typename PointSource , typename PointTarget , typename FeatureT >
int pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::k_correspondences_ {2}
protected

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

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getCorrespondenceRandomness() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setCorrespondenceRandomness().

nr_samples_

template<typename PointSource , typename PointTarget , typename FeatureT >
int pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::nr_samples_ {3}
protected

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

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getNumberOfSamples() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setNumberOfSamples().

target_features_

template<typename PointSource , typename PointTarget , typename FeatureT >
FeatureCloudConstPtr pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::target_features_
protected

Дескрипторы признаков целевого облака точек.

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

Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getTargetFeatures().


Документация для этого класса создана на основе следующих файлов:
  • pcl/registration/sample_consensus_prerejective.h
  • pcl/registration/impl/sample_consensus_prerejective.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_sample_consensus_prerejective.html

Spec-Zone.ru

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