|
| 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 |
PointIndicesPtr = PointIndices::Ptr
|
| using |
PointIndicesConstPtr = PointIndices::ConstPtr
|
| using |
MatricesVector = std::vector< Eigen::Matrix3d, Eigen::aligned_allocator< Eigen::Matrix3d > > |
| using |
MatricesVectorPtr = shared_ptr< MatricesVector > |
| using |
MatricesVectorConstPtr = shared_ptr< const MatricesVector > |
| using |
InputKdTree = typename Registration< PointSource, PointTarget, Scalar >::KdTree
|
| using |
InputKdTreePtr = typename Registration< PointSource, PointTarget, Scalar >::KdTreePtr
|
| using |
Ptr = shared_ptr< GeneralizedIterativeClosestPoint< PointSource, PointTarget, Scalar > > |
| using |
ConstPtr = shared_ptr< const GeneralizedIterativeClosestPoint< PointSource, PointTarget, Scalar > > |
| using |
Vector3 = typename Eigen::Matrix< Scalar, 3, 1 > |
| using |
Vector4 = typename Eigen::Matrix< Scalar, 4, 1 > |
| using |
Vector6d = Eigen::Matrix< double, 6, 1 > |
| using |
|
Matrix3 = typename Eigen::Matrix< Scalar, 3, 3 > |
| using |
Matrix4 = typename IterativeClosestPoint< PointSource, PointTarget, Scalar >::Matrix4
|
| using |
Matrix6d = Eigen::Matrix< double, 6, 6 > |
| using |
AngleAxis = typename Eigen::AngleAxis< Scalar > |
| using |
PointCloudSource = typename Registration< PointSource, PointTarget, float >::PointCloudSource
|
| using |
|
PointCloudSourcePtr = typename PointCloudSource::Ptr |
| using |
PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr |
| using |
PointCloudTarget = typename Registration< PointSource, PointTarget, float >::PointCloudTarget
|
| using |
PointCloudTargetPtr = typename PointCloudTarget::Ptr |
| using |
PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr |
| using |
PointIndicesPtr = PointIndices::Ptr
|
| using |
|
PointIndicesConstPtr = PointIndices::ConstPtr
|
| using |
Ptr = shared_ptr< IterativeClosestPoint< PointSource, PointTarget, float > > |
| using |
ConstPtr = shared_ptr< const IterativeClosestPoint< PointSource, PointTarget, float > > |
| using |
|
Matrix4 = typename Registration< PointSource, PointTarget, float >::Matrix4
|
| using |
Matrix4 = Eigen::Matrix< float, 4, 4 > |
| using |
Ptr = shared_ptr< Registration< PointSource, PointTarget, float > > |
| using |
ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, float > > |
| 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, float > |
| using |
TransformationEstimationPtr = typename TransformationEstimation::Ptr |
| using |
TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr |
| using |
CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float > |
| 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 &) |
| |
Сигнатура обратного вызова функции, обновляющей промежуточное положение исходного облака точек во время его совмещения с целевым облаком точек. Подробнее...
|
| using |
PointCloud = pcl::PointCloud< PointSource > |
| using |
PointCloudPtr = typename PointCloud::Ptr
|
|
|
PCL_MAKE_ALIGNED_OPERATOR_NEW |
GeneralizedIterativeClosestPoint () |
| |
Пустой конструктор. Подробнее...
|
| void |
setInputSource (const PointCloudSourceConstPtr &cloud) override |
| |
Предоставляет указатель на входной набор данных. Подробнее...
|
| void |
setSourceCovariances (const MatricesVectorPtr &covariances) |
| |
Предоставляет указатель на ковариации входного источника (если они вычислены внешним способом!). Подробнее...
|
| void |
setInputTarget (const PointCloudTargetConstPtr &target) override |
| |
Предоставляет указатель на входную цель (например, облако точек, с которым нужно совместить входной источник). Подробнее...
|
| void |
setTargetCovariances (const MatricesVectorPtr &covariances) |
| |
Предоставляет указатель на ковариации входной цели (если они вычислены внешним способом!). Подробнее...
|
| void |
estimateRigidTransformationBFGS (const PointCloudSource &cloud_src, const pcl::Indices &indices_src, const PointCloudTarget &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) |
| |
Оценивает жесткое вращательное преобразование между исходным и целевым облаками точек с помощью итеративного нелинейного метода BFGS. Подробнее...
|
| void |
estimateRigidTransformationNewton (const PointCloudSource &cloud_src, const pcl::Indices &indices_src, const PointCloudTarget &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix) |
| |
Оценивает жесткое вращательное преобразование между исходным и целевым облаками точек с помощью итеративного нелинейного метода Ньютона. Подробнее...
|
| const Eigen::Matrix3d & |
mahalanobis (std::size_t index) const |
| void |
computeRDerivative (const Vector6d &x, const Eigen::Matrix3d &dCost_dR_T, Vector6d &g) const |
tr>
| |
Вычисляет производную целевой функции по углам вращения. Подробнее...
|
| void |
setRotationEpsilon (double epsilon) |
| |
Задает допуск вращения (максимально допустимую разницу между двумя последовательными вращениями), при котором оптимизация считается сошедшейся к окончательному решению. Подробнее...
|
| double |
getRotationEpsilon () const |
| |
Возвращает заданный пользователем допуск вращения (максимально допустимую разницу между двумя последовательными вращениями). Подробнее...
|
| void |
setCorrespondenceRandomness (int k) |
| |
Задает количество соседей, используемых при выборе окрестности точки для вычисления ковариаций. Подробнее...
|
| int |
getCorrespondenceRandomness () const |
| |
Возвращает заданное пользователем количество соседей, используемых при вычислении ковариаций. Подробнее...
|
| void |
useBFGS () |
| |
Использует оптимизатор BFGS вместо оптимизатора Ньютона, используемого по умолчанию. Подробнее...
|
| void |
setMaximumOptimizerIterations (int max) |
| |
Задает максимальное количество итераций на этапе оптимизации. Подробнее...
|
| int |
getMaximumOptimizerIterations () const |
| |
Возвращает максимальное количество итераций на этапе оптимизации. Подробнее...
|
| void |
setTranslationGradientTolerance (double tolerance) |
| |
Задает минимальный порог градиента переноса для досрочного прекращения оптимизации. Подробнее...
|
| double |
getTranslationGradientTolerance () const |
| |
Возвращает минимальный порог градиента переноса для досрочного прекращения оптимизации. Подробнее...
|
| void |
setRotationGradientTolerance (double tolerance) |
| |
Задает минимальный порог градиента вращения для досрочного прекращения оптимизации. Подробнее...
|
| double |
getRotationGradientTolerance () const |
| |
Возвращает минимальный порог градиента вращения для досрочного прекращения оптимизации. Подробнее...
|
| void |
setNumberOfThreads (unsigned int nr_threads=0) |
| |
Инициализирует планировщик и задает количество используемых потоков. Подробнее...
|
| |
IterativeClosestPoint () |
| |
Пустой конструктор. Подробнее...
|
| |
IterativeClosestPoint (const IterativeClosestPoint &)=delete |
| |
Из-за того, что convergence_criteria_ хранит ссылки на члены класса, корректная реализация операций копирования и перемещения представляет сложность. Подробнее...
|
| |
IterativeClosestPoint (IterativeClosestPoint &&)=delete |
|
IterativeClosestPoint & |
operator= (const IterativeClosestPoint &)=delete |
|
IterativeClosestPoint & |
operator= (IterativeClosestPoint &&)=delete |
| |
~IterativeClosestPoint () override=default |
| |
Пустой деструктор. Подробнее...
|
|
pcl::registration::DefaultConvergenceCriteria< float >::Ptr |
getConvergeCriteria () |
| |
Возвращает указатель на DefaultConvergenceCriteria, используемый классом IterativeClosestPoint. Подробнее...
|
| void |
setInputSource (const PointCloudSourceConstPtr &cloud) override |
| |
Предоставляет указатель на входной источник (например, облако точек, которое нужно совместить с целью). Подробнее...
|
| void |
setInputTarget (const PointCloudTargetConstPtr &cloud) override |
| |
Предоставляет указатель на входную цель (например, облако точек, с которым нужно совместить входной источник). Подробнее...
|
| void |
setUseReciprocalCorrespondences (bool use_reciprocal_correspondence) |
| |
Задает, следует ли использовать взаимные соответствия. Подробнее...
|
| bool |
getUseReciprocalCorrespondences () const |
| |
Возвращает информацию о том, используются ли взаимные соответствия. Подробнее...
|
| void |
setNumberOfThreads (unsigned int nr_threads) |
| |
Задает количество используемых потоков. Подробнее...
|
| |
Registration () |
| |
Пустой конструктор. Подробнее...
|
| |
~Registration () override=default |
| |
Деструктор. Подробнее...
|
| void |
setTransformationEstimation (const TransformationEstimationPtr &te) |
| |
Предоставляет указатель на объект оценки преобразования. Подробнее...
|
| void |
setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce) |
| |
Предоставляет указатель на объект оценки соответствий. Подробнее...
|
|
PointCloudSourceConstPtr const |
getInputSource () |
| |
Возвращает указатель на целевой набор входных облаков точек. Подробнее...
|
|
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 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 () |
| |
Очистить список фильтров соответствий. Подробнее...
|
| |
PCLBase () |
| |
Конструктор без параметров. Подробнее...
|
| |
PCLBase (const PCLBase &base) |
| |
Конструктор копирования. Подробнее...
|
| virtual |
~PCLBase ()=default |
| |
Деструктор. Подробнее...
|
|
| template<typename PointT > |
| void |
computeCovariances (typename pcl::PointCloud< PointT >::ConstPtr cloud, const typename pcl::search::KdTree< PointT >::Ptr tree, MatricesVector &cloud_covariances) |
| |
вычисляет матрицы ковариации точек на основе K ближайших соседей. Подробнее...
|
| double |
matricesInnerProd (const Eigen::MatrixXd &mat1, const Eigen::MatrixXd &mat2) const |
| void |
computeTransformation (PointCloudSource &output, const Matrix4 &guess) override |
tr>
| |
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
|
| bool |
searchForNeighbors (const PointSource &query, pcl::Indices &index, std::vector< float > &distance) |
| |
Выполняет поиск ближайшего соседа для заданной точки. Подробнее...
|
| void |
applyState (Matrix4 &t, const Vector6d &x) const |
| |
вычисляет матрицу преобразования на основе матрицы преобразования Подробнее...
|
| virtual void |
transformCloud (const PointCloudSource &input, PointCloudSource &output, const Matrix4 &transform) |
| |
Применяет жёсткое преобразование к заданному набору данных. Подробнее...
|
| void |
computeTransformation (PointCloudSource &output, const Matrix4 &guess) override |
| |
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
|
| virtual void |
determineRequiredBlobData () |
| |
Проверяет оценщики и средства отбраковки и определяет, нужно ли вызывать их методы установки blob-данных. Подробнее...
|
| 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 () |
| |
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...
|
|
| int |
k_correspondences_ {20} |
| |
Количество соседей, используемых для вычисления ковариаций. Подробнее...
|
| double |
gicp_epsilon_ {0.001} |
| |
Константа эпсилон для статьи о GICP; это НЕ допуск сходимости. Значение по умолчанию: 0.001. Подробнее...
|
| double |
rotation_epsilon_ {2e-3} |
| |
Константа эпсилон для ошибки вращения. Подробнее...
|
|
Matrix4 |
base_transformation_ |
| |
Базовое преобразование Подробнее...
|
| const PointCloudSource * |
tmp_src_ |
| |
Временный указатель на исходный набор данных. Подробнее...
|
| const PointCloudTarget * |
tmp_tgt_ |
| |
Временный указатель на целевой набор данных. Подробнее...
|
| const pcl::Indices * |
tmp_idx_src_ |
| |
Временный указатель на индексы исходного набора данных. Подробнее...
|
| const pcl::Indices * |
tmp_idx_tgt_ |
| |
Временный указатель на индексы целевого набора данных. Подробнее...
|
|
MatricesVectorPtr |
input_covariances_ |
| |
Ковариации точек входного облака. Подробнее...
|
|
MatricesVectorPtr |
target_covariances_ |
| |
Ковариации точек целевого облака. Подробнее...
|
| std::vector< Eigen::Matrix3d > |
mahalanobis_ |
| |
Хранилище матриц Махаланобиса. Подробнее...
|
| int |
max_inner_iterations_ {20} |
| |
Максимальное количество оптимизаций Подробнее...
|
| double |
translation_gradient_tolerance_ {1e-2} |
| |
Минимальный градиент перемещения для досрочной остановки оптимизации Подробнее...
|
| double |
rotation_gradient_tolerance_ {1e-2} |
| |
Минимальный градиент вращения для досрочной остановки оптимизации Подробнее...
|
| std::function< void(const pcl::PointCloud< PointSource > &cloud_src, const pcl::Indices &src_indices, const pcl::PointCloud< PointTarget > &cloud_tgt, const pcl::Indices &tgt_indices, Matrix4 &transformation_matrix)> |
rigid_transformation_estimation_ |
| std::size_t |
x_idx_offset_ |
| |
Смещение поля XYZ. Подробнее...
|
| std::size_t |
y_idx_offset_ |
| std::size_t |
z_idx_offset_ |
| std::size_t |
nx_idx_offset_ |
| |
Смещение полей нормалей. Подробнее...
|
| std::size_t |
ny_idx_offset_ |
| std::size_t |
nz_idx_offset_ |
| bool |
use_reciprocal_correspondence_ |
| |
Тип соответствий, используемый для оценки соответствий. Подробнее...
|
| bool |
source_has_normals_ |
| |
Внутренняя проверка наличия нормалей в исходном наборе данных. Подробнее...
|
| bool |
target_has_normals_ |
| |
Внутренняя проверка наличия нормалей в целевом наборе данных. Подробнее...
|
| bool |
need_source_blob_ |
| |
Проверяет, нужны ли оценщикам и фильтрам-отбраковщикам различные данные. Подробнее...
|
| bool |
need_target_blob_ |
| 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_ |
| |
Функция обратного вызова для обновления положения исходного облака точек на промежуточных этапах его регистрации относительно целевого облака точек. Подробнее...
|
|
PointCloudConstPtr |
input_ |
| |
Входной набор данных — облако точек. Подробнее...
|
|
IndicesPtr |
indices_ |
| |
Указатель на вектор используемых индексов точек. Подробнее...
|
| bool |
use_indices_ |
| |
Установите значение true, если используются индексы точек. Подробнее...
|
| bool |
fake_indices_ |
| |
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее...
|
template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget, Scalar >
GeneralizedIterativeClosestPoint — это вариант ICP, реализующий алгоритм generalized iterative closest point, описанный Alex Segal и соавторами.
в http://www.robots.ox.ac.uk/~avsegal/resources/papers/Generalized_ICP.pdf Подход основан на использовании анизотропных целевых функций для оптимизации совмещения после определения соответствий ближайших точек. В оригинальном коде используются GSL и ANN, а в нашей реализации — FLANN и метод Ньютона для оптимизации (вызов useBFGS переключает оптимизатор на BFGS, однако метод Ньютона обычно быстрее и точнее). Пример базового использования:
pcl::GeneralizedIterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> reg;
reg.setInputSource(src);
reg.setInputTarget(tgt);
// use default parameters or set them yourself, for example:
// reg.setMaximumIterations(...);
// reg.setTransformationEpsilon(...);
// reg.setRotationEpsilon(...);
// reg.setCorrespondenceRandomness(...);
pcl::PointCloud<pcl::PointXYZ>::Ptr output(new pcl::PointCloud<pcl::PointXYZ>);
// supply a better guess, if possible:
Eigen::Matrix4f guess = Eigen::Matrix4f::Identity();
reg.align(*output, guess);
std::cout << reg.getFinalTransformation() << std::endl;
pcl::GeneralizedIterativeClosestPointGeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest ...Definition: gicp.h:76
pcl::GeneralizedIterativeClosestPoint
GeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest ...
Definition: gicp.h:76
pcl::GeneralizedIterativeClosestPoint::setInputSourcevoid setInputSource(const PointCloudSourceConstPtr &cloud) overrideProvide a pointer to the input dataset.Definition: gicp.h:159
pcl::GeneralizedIterativeClosestPoint::setInputSource
void setInputSource(const PointCloudSourceConstPtr &cloud) override
Provide a pointer to the input dataset.
Definition: gicp.h:159
pcl::GeneralizedIterativeClosestPoint::setInputTargetvoid setInputTarget(const PointCloudTargetConstPtr &target) overrideProvide a pointer to the input target (e.g., the point cloud that we want to align the input source t...Definition: gicp.h:193
pcl::GeneralizedIterativeClosestPoint::setInputTarget
void setInputTarget(const PointCloudTargetConstPtr &target) override
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source t...
Definition: gicp.h:193
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud::Ptrshared_ptr< PointCloud< PointT > > PtrDefinition: point_cloud.h:413
pcl::PointCloud::Ptr
shared_ptr< PointCloud< PointT > > Ptr
Definition: point_cloud.h:413
pcl::Registration::getFinalTransformationMatrix4 getFinalTransformation()Get the final transformation matrix estimated by the registration method.Definition: registration.h:259
pcl::Registration::getFinalTransformation
Matrix4 getFinalTransformation()
Get the final transformation matrix estimated by the registration method.
Definition: registration.h:259
pcl::Registration::alignvoid align(PointCloudSource &output)Call the registration algorithm which estimates the transformation and returns the transformed source...Definition: registration.hpp:168
pcl::Registration::align
void align(PointCloudSource &output)
Call the registration algorithm which estimates the transformation and returns the transformed source...
Definition: registration.hpp:168
- Автор
- Nizar Sallem
Определение в строке 75 файла gicp.h.