Этот класс реализует алгоритм неявной модели формы, описанный в статье «Преобразования Хафа и 3D SURF для надежной трехмерной классификации» Яна Кноппа, Мукты Прасада, Гирта Виллемса, Раду Тимофте и Люка Ван Гула. Подробнее...
#include <pcl/recognition/implicit_shape_model.h>
Классы | |
| struct | LocationInfo |
| Эта структура хранит информацию о ключевой точке. Подробнее... |
|
| struct | TermCriteria |
| Эта структура используется для определения завершения процесса кластеризации методом k-средних. Подробнее... |
|
| struct | VisualWordStat |
| Структура для хранения визуального слова. Подробнее... |
|
Публичные типы | |
| using | ISMModelPtr = pcl::features::ISMModel::Ptr |
| using | Feature = pcl::Feature< PointT, pcl::Histogram< FeatureSize > > |
| using | FeaturePtr = typename Feature::Ptr |
Публичные методы | |
| ImplicitShapeModelEstimation () | |
| Простой конструктор, инициализирующий все параметры. Подробнее... |
|
| virtual | ~ImplicitShapeModelEstimation () |
| Простой деструктор. Подробнее... |
|
| std::vector< typename pcl::PointCloud< PointT >::Ptr > | getTrainingClouds () |
| Этот метод возвращает облака точек, заданные в качестве обучающих облаков. Подробнее... |
|
| void | setTrainingClouds (const std::vector< typename pcl::PointCloud< PointT >::Ptr > &training_clouds) |
| Позволяет задать облака точек для обучения модели ISM. Подробнее... |
|
| std::vector< unsigned int > | getTrainingClasses () |
| Возвращает массив классов, указывающий, к какому классу относится соответствующее обучающее облако. Подробнее... |
|
| void | setTrainingClasses (const std::vector< unsigned int > &training_classes) |
| Позволяет задать метки классов для соответствующих обучающих облаков. Подробнее... |
|
| std::vector< typename pcl::PointCloud< NormalT >::Ptr > | getTrainingNormals () |
| Этот метод возвращает соответствующее облако нормалей для каждого обучающего облака точек. Подробнее... |
|
| void | setTrainingNormals (const std::vector< typename pcl::PointCloud< NormalT >::Ptr > &training_normals) |
| Позволяет задать нормали для обучающих облаков, переданных методом setTrainingClouds. Подробнее... |
|
| float | getSamplingSize () |
| Возвращает размер выборки, используемый для упрощения облака точек. Подробнее... |
|
| void | setSamplingSize (float sampling_size) |
| Изменяет размер выборки, используемый для упрощения облака точек. Подробнее... |
|
| FeaturePtr | getFeatureEstimator () |
| Возвращает текущий оцениватель признаков, используемый для извлечения дескрипторов. Подробнее... |
|
| void | setFeatureEstimator (FeaturePtr feature) |
| Изменяет оцениватель признаков. Подробнее... |
|
| unsigned int | getNumberOfClusters () |
| Возвращает количество кластеров, используемых для кластеризации дескрипторов. Подробнее... |
|
| void | setNumberOfClusters (unsigned int num_of_clusters) |
| Изменяет количество кластеров. Подробнее... |
|
| std::vector< float > | getSigmaDists () |
| Возвращает массив значений сигмы. Подробнее... |
|
| void | setSigmaDists (const std::vector< float > &training_sigmas) |
| Этот метод позволяет задать значение сигмы, используемое для вычисления выученных весов каждого класса. Подробнее... |
|
| bool | getNVotState () |
| Возвращает состояние коэффициента Nvot из [Knopp et al., 2010, (4)]; если задано значение false, коэффициент принимается равным 1.0. Подробнее... |
|
| void | setNVotState (bool state) |
| Изменяет состояние коэффициента Nvot из [Knopp et al., 2010, (4)]. Подробнее... |
|
| bool | trainISM (ISMModelPtr &trained_model) |
| Этот метод выполняет обучение и формирует визуальный словарь. Подробнее... |
|
| pcl::features::ISMVoteList< PointT >::Ptr | findObjects (ISMModelPtr model, typename pcl::PointCloud< PointT >::Ptr in_cloud, typename pcl::PointCloud< Normal >::Ptr in_normals, int in_class_of_interest) |
| Эта функция ищет заданный класс в указанном облаке точек и возвращает список голосов. Подробнее... |
|
Защищённые функции-члены | |
| bool | extractDescriptors (std::vector< pcl::Histogram< FeatureSize > > &histograms, std::vector< LocationInfo, Eigen::aligned_allocator< LocationInfo > > &locations) |
| Извлекает дескрипторы из входных облаков. Подробнее... |
|
| bool | clusterDescriptors (std::vector< pcl::Histogram< FeatureSize > > &histograms, Eigen::MatrixXi &labels, Eigen::MatrixXf &clusters_centers) |
| Этот метод выполняет кластеризацию дескрипторов. Подробнее... |
|
| void | calculateSigmas (std::vector< float > &sigmas) |
| Этот метод вычисляет значение сигмы, используемое для вычисления обученных весов для каждого отдельного класса. Подробнее... |
|
| void | calculateWeights (const std::vector< LocationInfo, Eigen::aligned_allocator< LocationInfo > > &locations, const Eigen::MatrixXi &labels, std::vector< float > &sigmas, std::vector< std::vector< unsigned int > > &clusters, std::vector< std::vector< float > > &statistical_weights, std::vector< float > &learned_weights) |
| Эта функция формирует визуальный словарь и вычисляет веса, описанные в [Knopp et al., 2010, (5)]. Подробнее... |
|
| void | simplifyCloud (typename pcl::PointCloud< PointT >::ConstPtr in_point_cloud, typename pcl::PointCloud< NormalT >::ConstPtr in_normal_cloud, typename pcl::PointCloud< PointT >::Ptr out_sampled_point_cloud, typename pcl::PointCloud< NormalT >::Ptr out_sampled_normal_cloud) |
| Упрощает облако, используя принципы воксельной сетки. Подробнее... |
|
| void | shiftCloud (typename pcl::PointCloud< PointT >::Ptr in_cloud, Eigen::Vector3f shift_point) |
| Этот метод просто смещает точки облака относительно переданной точки. Подробнее... |
|
| Eigen::Matrix3f | alignYCoordWithNormal (const NormalT &in_normal) |
| Этот метод вычисляет матрицу поворота, при которой заданная нормаль после преобразования совпадёт с осью Y. Подробнее... |
|
| void | applyTransform (Eigen::Vector3f &io_vec, const Eigen::Matrix3f &in_transform) |
| Этот метод применяет к вектору io_vector преобразование, заданное в in_transform. Подробнее... |
|
| void | estimateFeatures (typename pcl::PointCloud< PointT >::Ptr sampled_point_cloud, typename pcl::PointCloud< NormalT >::Ptr normal_cloud, typename pcl::PointCloud< pcl::Histogram< FeatureSize > >::Ptr feature_cloud) |
| Этот метод вычисляет признаки для заданного облака точек. Подробнее... |
|
| double | computeKMeansClustering (const Eigen::MatrixXf &points_to_cluster, int number_of_clusters, Eigen::MatrixXi &io_labels, TermCriteria criteria, int attempts, int flags, Eigen::MatrixXf &cluster_centers) |
| Выполняет кластеризацию методом k-средних. Подробнее... |
|
| void | generateCentersPP (const Eigen::MatrixXf &data, Eigen::MatrixXf &out_centers, int number_of_clusters, int trials) |
| Генерирует центры кластеров согласно описанию в работе Arthur, David and Sergei Vassilvitski (2007) k-means++: The Advantages of Careful Seeding. Подробнее... |
|
| void | generateRandomCenter (const std::vector< Eigen::Vector2f, Eigen::aligned_allocator< Eigen::Vector2f > > &boxes, Eigen::VectorXf ¢er) |
| Генерирует случайный центр кластера. Подробнее... |
|
| float | computeDistance (Eigen::VectorXf &vec_1, Eigen::VectorXf &vec_2) |
| Вычисляет квадрат расстояния между двумя векторами. Подробнее... |
|
| ImplicitShapeModelEstimation & | operator= (const ImplicitShapeModelEstimation &) |
| Запрещает оператор присваивания. Подробнее... |
|
Защищённые атрибуты | |
| std::vector< typename pcl::PointCloud< PointT >::Ptr > | training_clouds_ {} |
| Хранит облака, используемые для обучения. Подробнее... |
|
| std::vector< unsigned int > | training_classes_ {} |
| Хранит номер класса для каждого облака из training_clouds_. Подробнее... |
|
| std::vector< typename pcl::PointCloud< NormalT >::Ptr > | training_normals_ {} |
| Хранит нормали для каждого обучающего облака. Подробнее... |
|
| std::vector< float > | training_sigmas_ {} |
| Этот массив хранит значения сигмы для каждого обучающего класса. Подробнее... |
|
| float | sampling_size_ {0.1f} |
| Это значение используется для упрощения. Подробнее... |
|
| Feature::Ptr | feature_estimator_ |
| Хранит средство вычисления признаков. Подробнее... |
|
| unsigned int | number_of_clusters_ {184} |
| Количество кластеров, используемое для кластеризации дескрипторов во время обучения. Подробнее... |
|
| bool | n_vot_ON_ {true} |
| Если задано значение false, коэффициент Nvot из [Knopp et al., 2010, (4)] равен 1.0. Подробнее... |
|
Статические защищённые атрибуты | |
| static const int | PP_CENTERS = 2 |
| Это константное значение указывает, что для кластеризации методом k-средних центры должны генерироваться согласно описанию в работе Arthur, David and Sergei Vassilvitski (2007) k-means++: The Advantages of Careful Seeding. Подробнее... |
|
| static const int | USE_INITIAL_LABELS = 1 |
| Это константное значение указывает, что входные метки следует использовать как начальное приближение для кластеризации методом k-средних. Подробнее... |
|
Подробное описание
template<int FeatureSize, typename PointT, typename NormalT = pcl::Normal>
class pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >
Этот класс реализует алгоритм неявной модели формы (Implicit Shape Model), описанный в статье «Hough Transforms and 3D SURF for robust three dimensional classification» авторов Jan Knopp, Mukta Prasad, Geert Willems, Radu Timofte и Luc Van Gool.
В классе есть две основные функции-члена. Первая используется для обучения на данных, для которых известна принадлежность к классу. Вторая предназначена для поиска в облаке объектов интересующего класса. Реализация алгоритма ISM, описанного в статье «Hough Transforms and 3D SURF for robust three dimensional classification» авторов Jan Knopp, Mukta Prasad, Geert Willems, Radu Timofte и Luc Van Gool.
Авторы: Roman Shapovalov, Alexander Velizhev, Sergey Ushakov
Определение в строке 241 файла implicit_shape_model.h.
Документация псевдонимов типов-членов
Feature
| using pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::Feature = pcl::Feature<PointT, pcl::Histogram<FeatureSize> > |
Определение в строке 246 файла implicit_shape_model.h.
FeaturePtr
| using pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::FeaturePtr = typename Feature::Ptr |
Определение в строке 247 файла implicit_shape_model.h.
ISMModelPtr
| using pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::ISMModelPtr = pcl::features::ISMModel::Ptr |
Определение в строке 245 файла implicit_shape_model.h.
Документация конструктора и деструктора
ImplicitShapeModelEstimation()
| по умолчанию |
Простой конструктор, инициализирующий все элементы.
~ImplicitShapeModelEstimation()
| виртуальный |
Простой деструктор.
Определение в строке 534 файла implicit_shape_model.hpp.
Документация функций-членов
alignYCoordWithNormal()
| защищённый |
Этот метод вычисляет матрицу поворота, при которой заданная нормаль после преобразования совпадёт с осью Y.
Это необходимо, поскольку алгоритм должен быть инвариантен относительно аффинных преобразований.
- Параметры
-
[in] in_normal нормаль, для которой необходимо вычислить матрицу поворота
Определение в строке 1164 файла implicit_shape_model.hpp.
Ссылки: pcl::B.
applyTransform()
| защищённый |
Этот метод применяет к вектору io_vector преобразование, заданное в in_transform.
- Параметры
-
[in] io_vec вектор, который необходимо преобразовать [in] in_transform матрица, содержащая преобразование
Определение в строке 1195 файла implicit_shape_model.hpp.
calculateSigmas()
| protected |
Этот метод вычисляет значение сигмы, используемое для вычисления обученных весов для каждого отдельного класса.
- Параметры
-
[out] sigmas вычисленные сигмы.
Определение в строке 905 файла implicit_shape_model.hpp.
calculateWeights()
| protected |
Эта функция формирует визуальный словарь и вычисляет веса, описанные в [Knopp et al., 2010, (5)].
- Параметры
-
[in] locations массив с описанием каждой ключевой точки: ее положение, облако, которому она принадлежит, и ожидаемое направление к центру [in] labels метки, полученные при кластеризации методом k-средних [in] sigmas массив сигм для каждого класса [in] clusters кластеры, полученные при кластеризации методом k-средних [out] statistical_weights содержит вычисленные статистические веса [out] learned_weights содержит вычисленные обученные веса
Определение в строке 956 файла implicit_shape_model.hpp.
clusterDescriptors()
| protected |
Этот метод выполняет кластеризацию дескрипторов.
- Параметры
-
[in] histograms дескрипторы для кластеризации [out] labels содержит метки для каждого дескриптора [out] clusters_centers содержит центры кластеров
Определение в строке 879 файла implicit_shape_model.hpp.
computeDistance()
| protected |
Вычисляет квадрат расстояния между двумя векторами.
- Параметры
-
[in] vec_1 первый вектор [in] vec_2 второй вектор
Определение в строке 1485 файла implicit_shape_model.hpp.
Ссылки: pcl::geometry::distance().
computeKMeansClustering()
| protected |
Выполняет кластеризацию методом k-средних.
- Параметры
-
[in] points_to_cluster точки для кластеризации [in] number_of_clusters требуемое количество кластеров [out] io_labels выходной параметр, содержащий метку для каждой точки [in] criteria определяет, когда необходимо завершить вычисления. Например, когда достигнута требуемая точность или число итераций превышает заданное значение [in] attempts количество попыток выполнить кластеризацию [in] flags если задано значение USE_INITIAL_LABELS, начальное приближение меток берется из io_labels [out] cluster_centers будет содержать центры кластеров
Определение в строке 1227 файла implicit_shape_model.hpp.
Ссылки: pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::TermCriteria::epsilon_, pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::TermCriteria::max_count_ и pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::TermCriteria::type_.
estimateFeatures()
| protected |
Этот метод вычисляет признаки для заданного облака точек.
- Параметры
-
[in] sampled_point_cloud облако точек с выборкой, для которого необходимо вычислить признаки [in] normal_cloud нормали исходного облака точек [out] feature_cloud будет содержать вычисленные гистограммы (признаки) для заданного облака
Определение в строке 1202 файла implicit_shape_model.hpp.
Ссылки: pcl::PointCloud< PointT >::makeShared() и pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::setInputNormals().
extractDescriptors()
| protected |
Извлекает дескрипторы из входных облаков.
- Параметры
-
[out] histograms будет содержать дескрипторы для каждой ключевой точки [out] locations будет содержать полную информацию (например, направление и исходную ключевую точку) для соответствующих дескрипторов
Определение в строке 818 файла implicit_shape_model.hpp.
Ссылки: pcl::PointCloud< PointT >::begin(), pcl::geometry::distance() и pcl::PointCloud< PointT >::points.
findObjects()
| pcl::features::ISMVoteList< PointT >::Ptr pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::findObjects | ( | ISMModelPtr | model, |
| typename pcl::PointCloud< PointT >::Ptr | in_cloud, | ||
| typename pcl::PointCloud< Normal >::Ptr | in_normals, | ||
| int | in_class_of_interest | ||
| ) |
Эта функция ищет интересующий класс в заданном облаке и возвращает список голосов.
- Параметры
-
[in] model обученная модель, используемая для поиска объектов [in] in_cloud входное облако для анализа [in] in_normals облако нормалей, соответствующее входному облаку [in] in_class_of_interest класс, который требуется найти
Определение в строке 723 файла implicit_shape_model.hpp.
Ссылки: pcl::features::ISMVoteList< PointT >::addVote(), pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::size() и pcl::InterestPoint::strength.
generateCentersPP()
| protected |
Генерирует центры кластеров согласно работе Arthur, David and Sergei Vassilvitski (2007) k-means++: The Advantages of Careful Seeding.
- Параметры
-
[in] data точки для кластеризации [out] out_centers будет содержать сгенерированные центры [in] number_of_clusters задает количество требуемых центров кластеров [in] trials количество попыток сгенерировать центр
Определение в строке 1393 файла implicit_shape_model.hpp.
generateRandomCenter()
| protected |
Генерирует случайный центр кластера.
- Параметры
-
[in] boxes содержит минимальные и максимальные значения для каждого измерения [out] center будет содержать сгенерированный центр
Определение в строке 1469 файла implicit_shape_model.hpp.
getFeatureEstimator()
| pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::FeaturePtr pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getFeatureEstimator |
Возвращает текущий оцениватель признаков, используемый для извлечения дескрипторов.
Определение в строке 610 файла implicit_shape_model.hpp.
getNumberOfClusters()
| unsigned int pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getNumberOfClusters |
Возвращает количество кластеров, используемых для кластеризации дескрипторов.
Определение в строке 624 файла implicit_shape_model.hpp.
getNVotState()
| bool pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getNVotState |
Возвращает состояние коэффициента Nvot из [Knopp et al., 2010, (4)]; если значение равно false, коэффициент принимается равным 1.0.
Это всего лишь эвристика. По умолчанию используется поведение, описанное в статье. Поэтому при желании этот параметр можно игнорировать.
Определение в строке 655 файла implicit_shape_model.hpp.
getSamplingSize()
| float pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getSamplingSize |
Возвращает размер выборки, используемый для упрощения облака.
Определение в строке 595 файла implicit_shape_model.hpp.
getSigmaDists()
| std::vector< float > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getSigmaDists |
Возвращает массив значений сигмы.
Определение в строке 639 файла implicit_shape_model.hpp.
getTrainingClasses()
| std::vector< unsigned int > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingClasses |
Возвращает массив классов, указывающий, к какому классу относится соответствующее обучающее облако.
Определение в строке 562 файла implicit_shape_model.hpp.
getTrainingClouds()
| std::vector< typename pcl::PointCloud< PointT >::Ptr > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingClouds |
Этот метод просто возвращает облака, заданные в качестве обучающих.
Определение в строке 545 файла implicit_shape_model.hpp.
getTrainingNormals()
| std::vector< typename pcl::PointCloud< NormalT >::Ptr > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingNormals |
Этот метод возвращает соответствующее облако нормалей для каждого обучающего облака точек.
Определение в строке 578 файла implicit_shape_model.hpp.
operator=()
| protected |
Запрещает использование оператора присваивания.
setFeatureEstimator()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setFeatureEstimator | ( | FeaturePtr | feature | ) |
Изменяет оцениватель признаков.
- Параметры
-
[in] feature оцениватель признаков, который будет использоваться для извлечения дескрипторов. Обратите внимание, что он должен быть полностью инициализирован и настроен.
Определение в строке 617 файла implicit_shape_model.hpp.
setNumberOfClusters()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setNumberOfClusters | ( | unsigned int | num_of_clusters | ) |
Изменяет количество кластеров.
- Параметры
-
num_of_clusters требуемое количество кластеров
Определение в строке 631 файла implicit_shape_model.hpp.
setNVotState()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setNVotState | ( | bool | state | ) |
Изменяет состояние коэффициента Nvot из [Knopp et al., 2010, (4)].
- Параметры
-
[in] state требуемое состояние; если значение равно false, то Nvot принимается равным 1.0
Определение в строке 662 файла implicit_shape_model.hpp.
setSamplingSize()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setSamplingSize | ( | float | sampling_size | ) |
Изменяет размер выборки, используемый для упрощения облака.
- Параметры
-
[in] sampling_size требуемый размер ячейки сетки
Определение в строке 602 файла implicit_shape_model.hpp.
setSigmaDists()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setSigmaDists | ( | const std::vector< float > & | training_sigmas | ) |
Этот метод позволяет задать значение сигмы, используемое при вычислении обученных весов для каждого отдельного класса.
- Параметры
-
[in] training_sigmas новые значения сигмы для каждого класса. Чтобы вычислить эти значения автоматически, передайте пустой массив. В автоматическом режиме вычисляется максимальное расстояние между точками объектов, и, как рекомендуется в статье, берётся 10% от этого значения. Если объектов одного класса несколько, вычисляется среднее максимальное расстояние, и берётся 10% от него. Обратите внимание, что у каждого класса своё значение сигмы.
Определение в строке 646 файла implicit_shape_model.hpp.
setTrainingClasses()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingClasses | ( | const std::vector< unsigned int > & | training_classes | ) |
Позволяет задать метки классов для соответствующих обучающих облаков.
- Параметры
-
[in] training_classes массив меток классов
Определение в строке 569 файла implicit_shape_model.hpp.
setTrainingClouds()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingClouds | ( | const std::vector< typename pcl::PointCloud< PointT >::Ptr > & | training_clouds | ) |
Позволяет задать облака для обучения модели ISM.
- Параметры
-
[in] training_clouds массив облаков точек для обучения
Определение в строке 552 файла implicit_shape_model.hpp.
setTrainingNormals()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingNormals | ( | const std::vector< typename pcl::PointCloud< NormalT >::Ptr > & | training_normals | ) |
Позволяет задать нормали для обучающих облаков, переданных с помощью метода setTrainingClouds.
- Параметры
-
[in] training_normals массив облаков, каждое из которых содержит нормали
Определение в строке 585 файла implicit_shape_model.hpp.
shiftCloud()
| protected |
Этот метод просто сдвигает точки облака относительно переданной точки.
- Параметры
-
[in] in_cloud облако для сдвига [in] shift_point точка, относительно которой будет сдвинуто облако
Определение в строке 1150 файла implicit_shape_model.hpp.
Ссылки: pcl::PointCloud< PointT >::points.
simplifyCloud()
| protected |
Упрощает облако, используя принципы воксельной сетки.
- Параметры
-
[in] in_point_cloud облако, которое необходимо упростить [in] in_normal_cloud нормали облака, которое необходимо упростить [out] out_sampled_point_cloud упрощённое облако [out] out_sampled_normal_cloud и соответствующие нормали
Определение в строке 1086 файла implicit_shape_model.hpp.
Ссылки: pcl::geometry::distance(), pcl::FilterIndices< PointT >::filter(), pcl::Filter< PointT >::filter(), pcl::VoxelGrid< PointT >::getCentroidIndex(), pcl::PCLBase< PointT >::setIndices(), pcl::PCLBase< PointT >::setInputCloud(), pcl::VoxelGrid< PointT >::setLeafSize(), pcl::VoxelGrid< PointT >::setSaveLeafLayout() и pcl::PointCloud< PointT >::size().
trainISM()
| bool pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::trainISM | ( | ISMModelPtr & | trained_model | ) |
Этот метод выполняет обучение и формирует визуальный словарь.
Он возвращает обученную модель, которую можно сохранить в файл для последующего использования.
- Параметры
-
[out] trained_model обученная модель
Определение в строке 669 файла implicit_shape_model.hpp.
Описание данных-членов
feature_estimator_
| protected |
Хранит оцениватель признаков.
Определение в строке 602 файла implicit_shape_model.h.
n_vot_ON_
| protected |
Если задано значение false, коэффициент Nvot из [Knopp et al., 2010, (4)] равен 1.0.
Определение в строке 608 файла implicit_shape_model.h.
number_of_clusters_
| protected |
Количество кластеров, используемое для кластеризации дескрипторов во время обучения.
Определение в строке 605 файла implicit_shape_model.h.
PP_CENTERS
| staticprotected |
Это константное значение указывает, что центры для кластеризации k-means должны генерироваться способом, описанным в работе Arthur, David and Sergei Vassilvitski (2007) k-means++: The Advantages of Careful Seeding.
Определение в строке 613 файла implicit_shape_model.h.
sampling_size_
| protected |
Это значение используется для упрощения.
Оно задаёт размер ячейки сетки.
Определение в строке 599 файла implicit_shape_model.h.
training_classes_
| protected |
Хранит номер класса для каждого облака из training_clouds_.
Определение в строке 588 файла implicit_shape_model.h.
training_clouds_
| protected |
Хранит облака, используемые для обучения.
Определение в строке 585 файла implicit_shape_model.h.
training_normals_
| protected |
Хранит нормали для каждого обучающего облака.
Определение в строке 591 файла implicit_shape_model.h.
training_sigmas_
| protected |
Этот массив хранит значения сигма для каждого обучающего класса.
Если размер этого массива равен 0, значения сигма будут вычислены автоматически.
Определение в строке 596 файла implicit_shape_model.h.
USE_INITIAL_LABELS
| staticprotected |
Это константное значение указывает, что входные метки следует использовать в качестве начального приближения для кластеризации k-means.
Определение в строке 617 файла implicit_shape_model.h.
Документация для этого класса была сгенерирована из следующих файлов:
- pcl/recognition/implicit_shape_model.h
- pcl/recognition/impl/implicit_shape_model.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1ism_1_1_implicit_shape_model_estimation.html