Spec-Zone.ru › PointCloudLibrary

Класс оценки и выравнивания позы, использующий процедуру RANSAC для предопределения. Подробнее...

#include <pcl/registration/sample_consensus_prerejective.h>

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

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

using Матрица4 = typename Регистрация< PointSource, PointTarget >::Матрица4
using ОблакоТочекИсточник = typename Регистрация< PointSource, PointTarget >::ОблакоТочекИсточник
using УказательНаОблакоТочекИсточник = typename ОблакоТочекИсточник::Ptr
using ПостоянныйУказательНаОблакоТочекИсточник = typename ОблакоТочекИсточник::ConstPtr
using ОблакоТочекЦелевой = typename Регистрация< PointSource, PointTarget >::ОблакоТочекЦелевой
using УказательНаИндексыТочек = PointIndices::Ptr
using ПостоянныйУказательНаИндексыТочек = PointIndices::ConstPtr
using ОблакоПризнаков = pcl::PointCloud< FeatureT >
using УказательНаОблакоПризнаков = typename ОблакоПризнаков::Ptr
using ПостоянныйУказательНаОблакоПризнаков = typename ОблакоПризнаков::ConstPtr
using Указатель = shared_ptr< SampleConsensusPrerejective< PointSource, PointTarget, FeatureT > >
using ПостоянныйУказатель = shared_ptr< const SampleConsensusPrerejective< PointSource, PointTarget, FeatureT > >
using УказательНаДеревоКДПризнаков = typename KdTreeFLANN< FeatureT >::Указатель
using ОтклонительСоответствийМногочлен = pcl::registration::CorrespondenceRejectorPoly< PointSource, PointTarget >
using УказательНаОтклонительСоответствийМногочлен = typename ОтклонительСоответствийМногочлен::Ptr
using ПостоянныйУказательНаОтклонительСоответствийМногочлен = typename ОтклонительСоответствийМногочлен::ConstPtr
- Публичные типы, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
using Матрица4 = Eigen::Matrix< Scalar, 4, 4 >
using Указатель = shared_ptr< Регистрация< PointSource, PointTarget, Scalar > >
using ПостоянныйУказатель = shared_ptr< const Регистрация< PointSource, PointTarget, Scalar > >
using УказательНаОтклонительСоответствий = pcl::registration::CorrespondenceRejector::Ptr
using ДеревоКД = pcl::search::KdTree< PointTarget >
using УказательНаДеревоКД = typename ДеревоКД::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 &)
The callback signature to the function updating intermediate source point cloud position during it's registration to the target point cloud. More...
- Public Types inherited from 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 shared на дескрипторы признаков исходного облака точек. Подробнее...
const FeatureCloudConstPtr getSourceFeatures () const
Получить указатель на признаки исходного облака точек. Подробнее...
void setTargetFeatures (const FeatureCloudConstPtr &features)
Указать указатель boost shared на дескрипторы признаков целевого облака точек. Подробнее...
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 ()
Получить эпсилон вращения преобразования (максимальное допустимое различие между двумя последовательными преобразованиями), заданный пользователем (эпсилон - косинус угла в представлении оси-угла). Подробнее...
void setEuclideanFitnessEpsilon (double epsilon)
Установить максимальную допустимую евклидову ошибку между двумя последовательными шагами в цикле ICP, прежде чем алгоритм будет считаться сошедшимся. Подробнее...
double getEuclideanFitnessEpsilon ()
Получить максимальную допустимую ошибку расстояния, прежде чем алгоритм будет считаться сошедшимся, заданную пользователем. Подробнее...
void setPointRepresentation (const PointRepresentationConstPtr &point_representation)
Предоставьте boost shared указатель на 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 оператор[] для сокращения кода. Подробнее...

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

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

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

шаблон<typename PointSource, typename PointTarget, typename FeatureT>
класс 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. Оценка позы с использованием локальной структуры, специфичной для формы и внешнего вида. Международная конференция по робототехнике и автоматизации (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

шаблон<typename PointSource , typename PointTarget , typename FeatureT >
используя pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::ConstPtr = shared_ptr<const SampleConsensusPrerejective<PointSource, PointTarget, FeatureT> >

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

CorrespondenceRejectorPoly

шаблон<typename PointSource , typename PointTarget , typename FeatureT >
используя 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

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

Определение в строке 197 файла 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_:

  • Точки-внутри: количество преобразованных точек, находящихся ближе, чем порог, к ближайшему соседу.
  • Оценка ошибки: среднеквадратичная ошибка (MSE) для точек-внутри.
    Параметры
    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]

Определение в строке 234 файла 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

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

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

Определение в строке 244 файла 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

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

Определение в строке 178 файла 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 число возможных индексов для выбора

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

getSimilarityThreshold()

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

Получение порога схожести длин ребер объекта-отбрасывателя соответствий, основанного на полигонах.

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

Определение в строке 216 файла 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

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

Определение в строке 148 файла 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

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

Определение в строке 161 файла 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 количество соседей для выбора случайной корреспонденции признаков.

Определение в строке 189 файла 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]

Определение в строке 225 файла 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 количество образцов для использования в каждом итерационном цикле

Определение в строке 170 файла 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 соответствует точному совпадению.

Parameters
similarity_threshold Порог сходства длин рёбер

Определение в строке 207 файла 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 shared на описатели функций облака точек источника.

Parameters
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 shared на описатели функций облака точек цели.

Parameters
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

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

Определение в строке 318 файла 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, используемое для сравнения описателей функций.

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

inlier_fraction_

template<typename PointSource , typename PointTarget , typename FeatureT >
float pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_
protected

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

Определение в строке 322 файла 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

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

Определение в строке 325 файла 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

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

Определение в строке 302 файла 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_
protected

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

Определение в строке 312 файла 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_
protected

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

Определение в строке 308 файла 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

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

Определение в строке 305 файла 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