Класс оценки позы и выравнивания с использованием процедуры RANSAC с предварительным отбором. Подробнее...
#include <pcl/registration/sample_consensus_prerejective.h>
Открытые функции-члены | |
| 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 |
| Получить индексы согласованных точек исходного облака точек после применения итогового преобразования. Подробнее... |
|
|
| |
| 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 () |
| Очистить список фильтров соответствий. Подробнее... |
|
|
| |
| 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_: вычисляются следующие метрики: Подробнее... |
|
|
| |
| bool | searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances) |
| Найти ближайшего соседа для заданной точки. Подробнее... |
|
| virtual void | computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0 |
| Абстрактный метод вычисления преобразования с начальным приближением. Подробнее... |
|
|
| |
| 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_ |
| Индексы точек-выбросов для итогового преобразования в исходном облаке. Подробнее... |
|
|
| |
| 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_ |
| Функция обратного вызова для обновления промежуточного положения исходного облака точек при его регистрации относительно целевого облака точек. Подробнее... |
|
|
| |
| 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.
Определение в строке 75 файла sample_consensus_prerejective.h.
Документация по псевдонимам типов-членов
ConstPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::ConstPtr = shared_ptr<const SampleConsensusPrerejective<PointSource, PointTarget, FeatureT> > |
Определение в строке 109 файла sample_consensus_prerejective.h.
CorrespondenceRejectorPoly
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPoly = pcl::registration::CorrespondenceRejectorPoly<PointSource, PointTarget> |
Определение в строке 114 файла sample_consensus_prerejective.h.
CorrespondenceRejectorPolyConstPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPolyConstPtr = typename CorrespondenceRejectorPoly::ConstPtr |
Определение в строке 117 файла sample_consensus_prerejective.h.
CorrespondenceRejectorPolyPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::CorrespondenceRejectorPolyPtr = typename CorrespondenceRejectorPoly::Ptr |
Определение в строке 116 файла sample_consensus_prerejective.h.
FeatureCloud
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloud = pcl::PointCloud<FeatureT> |
Определение в строке 103 файла sample_consensus_prerejective.h.
FeatureCloudConstPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloudConstPtr = typename FeatureCloud::ConstPtr |
Определение в строке 105 файла sample_consensus_prerejective.h.
FeatureCloudPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureCloudPtr = typename FeatureCloud::Ptr |
Определение в строке 104 файла sample_consensus_prerejective.h.
FeatureKdTreePtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::FeatureKdTreePtr = typename KdTreeFLANN<FeatureT>::Ptr |
Определение в строке 112 файла sample_consensus_prerejective.h.
Matrix4
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::Matrix4 = typename Registration<PointSource, PointTarget>::Matrix4 |
Определение в строке 77 файла sample_consensus_prerejective.h.
PointCloudSource
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSource = typename Registration<PointSource, PointTarget>::PointCloudSource |
Определение в строке 92 файла sample_consensus_prerejective.h.
PointCloudSourceConstPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
Определение в строке 95 файла sample_consensus_prerejective.h.
PointCloudSourcePtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudSourcePtr = typename PointCloudSource::Ptr |
Определение в строке 94 файла sample_consensus_prerejective.h.
PointCloudTarget
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointCloudTarget = typename Registration<PointSource, PointTarget>::PointCloudTarget |
Определение в строке 97 файла sample_consensus_prerejective.h.
PointIndicesConstPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointIndicesConstPtr = PointIndices::ConstPtr |
Определение в строке 101 файла sample_consensus_prerejective.h.
PointIndicesPtr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::PointIndicesPtr = PointIndices::Ptr |
Определение в строке 100 файла sample_consensus_prerejective.h.
Ptr
| using pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::Ptr = shared_ptr<SampleConsensusPrerejective<PointSource, PointTarget, FeatureT> > |
Определение в строке 107 файла sample_consensus_prerejective.h.
Документация по конструкторам и деструкторам
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()
| overridedefault |
Деструктор.
Документация по функциям-членам
computeTransformation()
| overrideprotected |
Метод вычисления жёсткого преобразования.
- Параметры
-
output набор входных облаков точек, преобразованный с помощью найденного жёсткого преобразования guess Вычисленное преобразование
Определение в строке 154 файла sample_consensus_prerejective.hpp.
Ссылки: pcl::transformPointCloud().
findSimilarFeatures()
| protected |
Для каждой точки выборки находит список точек целевого облака, признаки которых похожи на признаки точки выборки.
Затем случайным образом выбирается одна из них, которая считается соответствием для этой точки выборки.
- Параметры
-
sample_indices индексы каждой точки выборки similar_features кэш соответствий, используемый для чтения и записи уже вычисленных соответствий corresponding_indices результирующие индексы точек целевого облака, соответствующих каждой точке выборки
Определение в строке 120 файла sample_consensus_prerejective.hpp.
getCorrespondenceRandomness()
| inline |
Возвращает заданное пользователем количество соседей, используемых при случайном выборе соответствия признаков.
Определение в строке 194 файла sample_consensus_prerejective.h.
Ссылки: pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::k_correspondences_.
getFitness()
| 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()
| inline |
Получить требуемую долю выбросоустойчивых точек.
- Возвращает
- требуемая доля выбросоустойчивых точек в диапазоне [0,1]
Определение в строке 231 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_.
getInliers()
| inline |
Получить индексы точек исходного облака точек, являющихся выбросоустойчивыми при итоговом преобразовании.
- Возвращает
- индексы выбросоустойчивых точек
Определение в строке 241 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inliers_.
getNumberOfSamples()
| inline |
Получить заданное пользователем количество образцов, используемых на каждой итерации.
Определение в строке 175 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::nr_samples_.
getRandomIndex()
| inlineprotected |
Выбрать случайный индекс в диапазоне от 0 до n-1.
- Параметры
-
n количество возможных индексов для выбора
Определение в строке 251 файла sample_consensus_prerejective.h.
getSimilarityThreshold()
| inline |
Получить порог сходства длин ребер, используемый объектом отбраковщика полигональных соответствий,.
- Возвращает
- порог сходства длин ребер
Определение в строке 213 файла sample_consensus_prerejective.h.
getSourceFeatures()
| inline |
Получить указатель на признаки исходного облака точек.
Определение в строке 145 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::input_features_.
getTargetFeatures()
| inline |
Получить указатель на признаки целевого облака точек.
Определение в строке 158 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::target_features_.
selectSamples()
| protected |
Выбрать из облака nr_samples точек-образцов, обеспечив, чтобы расстояния между каждой парой точек были больше заданного пользователем минимального расстояния min_sample_distance.
- Параметры
-
cloud входное облако точек nr_samples количество выбираемых образцов sample_indices индексы выбранных образцов
Определение в строке 77 файла sample_consensus_prerejective.hpp.
См. также pcl::PointCloud< PointT >::size().
setCorrespondenceRandomness()
| inline |
Задать количество соседей, используемых при выборе случайного соответствия признаков.
Увеличение значения повышает случайность сопоставления признаков.
- Параметры
-
k количество соседей, используемых при выборе случайного соответствия признаков.
Определение в строке 186 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::k_correspondences_.
setInlierFraction()
| inline |
Задать требуемую долю выбросоустойчивых точек (во входных данных).
- Параметры
-
inlier_fraction требуемая доля выбросоустойчивых точек; должна находиться в диапазоне [0,1]
Определение в строке 222 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::inlier_fraction_.
setNumberOfSamples()
| inline |
Задать количество образцов, используемых на каждой итерации.
- Параметры
-
nr_samples количество образцов, используемых на каждой итерации
Определение в строке 167 файла sample_consensus_prerejective.h.
См. также pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::nr_samples_.
setSimilarityThreshold()
| inline |
Задать порог сходства в диапазоне [0,1[ для длин ребер, используемый объектом отбраковщика полигональных соответствий; значение 1 соответствует идеальному совпадению.
- Параметры
-
similarity_threshold порог сходства длин ребер
Определение в строке 204 файла sample_consensus_prerejective.h.
setSourceFeatures()
| void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setSourceFeatures | ( | const FeatureCloudConstPtr & | features | ) |
Передать boost-указатель совместного владения на дескрипторы признаков исходного облака точек.
- Параметры
-
features признаки исходного облака точек
Определение в строке 48 файла sample_consensus_prerejective.hpp.
setTargetFeatures()
| void pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setTargetFeatures | ( | const FeatureCloudConstPtr & | features | ) |
Передать boost-указатель совместного владения на дескрипторы признаков целевого облака точек.
- Параметры
-
features признаки целевого облака точек
Определение в строке 62 файла sample_consensus_prerejective.hpp.
Документация по данным-членам
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_
| protected |
Дерево KdTree, используемое для сравнения дескрипторов признаков.
Определение в строке 312 файла sample_consensus_prerejective.h.
inlier_fraction_
| protected |
Доля [0,1] точек-выбросоустойчивых элементов, необходимая для принятия преобразования.
Определение в строке 319 файла sample_consensus_prerejective.h.
Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInlierFraction() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setInlierFraction().
inliers_
| protected |
Индексы точек исходного облака, являющихся выбросоустойчивыми при итоговом преобразовании.
Определение в строке 322 файла sample_consensus_prerejective.h.
Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getInliers().
input_features_
| protected |
Дескрипторы признаков исходного облака точек.
Определение в строке 299 файла sample_consensus_prerejective.h.
Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getSourceFeatures().
k_correspondences_
| protected |
Количество соседей, используемых при выборе случайного соответствия признаков.
Определение в строке 309 файла sample_consensus_prerejective.h.
Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getCorrespondenceRandomness() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setCorrespondenceRandomness().
nr_samples_
| protected |
Количество образцов, используемых на каждой итерации.
Определение в строке 305 файла sample_consensus_prerejective.h.
Используется в pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::getNumberOfSamples() и pcl::SampleConsensusPrerejective< PointSource, PointTarget, FeatureT >::setNumberOfSamples().
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