Этот класс реализует алгоритм неявной модели формы, описанный в статье "Hough Transforms and 3D SURF for robust three dimensional classication" авторов Яна Кноппа1, Мукты Прасада, Герт Виллемс1, Раду Тимофте и Люка Ван Гоола. Подробнее...
#include <pcl/recognition/implicit_shape_model.h>
Вложенные классы | |
| структура | LocationInfo |
| Эта структура хранит информацию о ключевой точке. Подробнее... |
|
| структура | TermCriteria |
| Эта структура используется для определения окончания процесса кластеризации k-средних. Подробнее... |
|
| структура | 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) |
| Этот метод применяет преобразование, заданное в in_transform, к вектору io_vector. Подробнее... |
|
| 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_ |
| Это значение используется для упрощения. Подробнее... |
|
| Feature::Ptr | feature_estimator_ |
| Хранит оценщик признаков. Подробнее... |
|
| unsigned int | number_of_clusters_ |
| Количество кластеров, используется для кластеризации описателей во время обучения. Подробнее... |
|
| bool | n_vot_ON_ |
| Если установлено в false, то Nvot-коэффициент из [Knopp et al., 2010, (4)] равен 1,0. Подробнее... |
|
Статические защищенные атрибуты | |
| static const int | PP_CENTERS = 2 |
| Это константа, используемая для указания того, что для кластеризации K-средних центры должны быть сгенерированы, как описано в Arthur, David and Sergei Vassilvitski (2007) k-means++: Преимущества тщательного посева. Подробнее... |
|
| static const int | USE_INITIAL_LABELS = 1 |
| Это константа, используемая для указания того, что входные метки должны быть взяты как начальное приближение для кластеризации K-средних. Подробнее... |
|
Подробное описание
шаблон<int FeatureSize, typename PointT, typename NormalT = pcl::Normal>
класс pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >
Этот класс реализует алгоритм Неявной Модели Формы, описанный в "Преобразования Гаусса и 3D SURF для надежной трехмерной классификации" Ян Кнопп1, Мукта Прасад, Герт Виллемс1, Раду Тимофте и Люк Ван Гоул.
У него две основные функции-члена. Одна для обучения, используя данные, для которых мы знаем, к какому классу они относятся. И вторая для изучения облака на предмет наличия класса, который нас интересует. Реализация алгоритма Неявной Модели Формы, описанного в "Преобразования Гаусса и 3D SURF для надежной трехмерной классификации" Ян Кнопп, Мукта Прасад, Герт Виллемс, Раду Тимофте и Люк Ван Гоул
Авторы: Роман Шаповалов, Александр Велижев, Сергей Ушаков
Определение в строке 241 файла implicit_shape_model.h.
Документация по определениям типов членов
Feature
| используя pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::Feature = pcl::Feature<PointT, pcl::Histogram<FeatureSize> > |
Определение в строке 246 файла implicit_shape_model.h.
FeaturePtr
| используя pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::FeaturePtr = typename Feature::Ptr |
Определение в строке 247 файла implicit_shape_model.h.
ISMModelPtr
| используя pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::ISMModelPtr = pcl::features::ISMModel::Ptr |
Определение в строке 245 файла implicit_shape_model.h.
Конструктор & Деструктор
ImplicitShapeModelEstimation()
| pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::ImplicitShapeModelEstimation |
Простой конструктор, который инициализирует всё.
Определение в строке 549 файла implicit_shape_model.hpp.
~ImplicitShapeModelEstimation()
| виртуальный |
Простой деструктор.
Определение в строке 563 файла implicit_shape_model.hpp.
Документация по функциям-членам
alignYCoordWithNormal()
| защищённый |
Этот метод просто вычисляет матрицу вращения, так что заданная нормаль будет соответствовать оси Y после преобразования.
Это делается потому, что алгоритм должен быть инвариантным к аффинным преобразованиям.
- Параметры
-
[вход] in_normal нормаль, для которой необходимо вычислить матрицу вращения
Определение в строке 1193 файла implicit_shape_model.hpp.
Ссылки pcl::B.
applyTransform()
| защищённый |
Этот метод применяет преобразование, заданное в in_transform, к вектору io_vector.
- Параметры
-
[вход] io_vec вектор, который нужно преобразовать [вход] in_transform матрица, содержащая преобразование
Определение в строке 1224 файла implicit_shape_model.hpp.
calculateSigmas()
| защищённый |
Этот метод вычисляет значение sigma, используемое для вычисления выученных весов для каждого класса.
- Параметры
-
[выход] sigmas вычисленные sigmas.
Определение в строке 934 файла 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 хранит вычисленные усреднённые веса
Определение в строке 985 файла implicit_shape_model.hpp.
clusterDescriptors()
| protected |
Этот метод выполняет кластеризацию дескрипторов.
- Параметры
-
[in] histograms дескрипторы для кластеризации [out] labels содержит метки для каждого дескриптора [out] clusters_centers хранит центры кластеров
Определение в строке 908 файла implicit_shape_model.hpp.
computeDistance()
| protected |
Вычисляет квадратное расстояние между двумя векторами.
- Параметры
-
[in] vec_1 первый вектор [in] vec_2 второй вектор
Определение в строке 1514 файла 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 будет хранить центры кластеров
Определение в строке 1256 файла implicit_shape_model.hpp.
estimateFeatures()
| protected |
Этот метод оценивает характеристики для заданного облака точек.
- Параметры
-
[in] sampled_point_cloud выборка облака точек, для которых должны быть вычислены характеристики [in] normal_cloud нормали для исходного облака точек [out] feature_cloud будет хранить вычисленные гистограммы (характеристики) для заданного облака
Определение в строке 1231 файла implicit_shape_model.hpp.
Ссылки на pcl::PointCloud< PointT >::makeShared() и pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::setInputNormals().
extractDescriptors()
| protected |
Извлекает описатели из входных облаков.
- Параметры
-
[out] histograms будет хранить описатели для каждой ключевой точки [out] locations будет содержать подробную информацию (например, направление, начальную ключевую точку) для соответствующих описателей
Определение в строке 847 файла implicit_shape_model.hpp.
Ссылки на pcl::PointCloud< PointT >::begin(), pcl::geometry::distance() и pcl::PointCloud< PointT >::points.
findObjects()
|
Эта функция ищет класс, представляющий интерес, в заданном облаке и возвращает список голосов.
- Параметры
-
[in] model обученная модель, которая будет использоваться для поиска объектов [in] in_cloud входное облако, которое необходимо исследовать [in] in_normals облако нормалей, соответствующее входному облаку [in] in_class_of_interest класс, который мы ищем
Определение в строке 752 файла implicit_shape_model.hpp.
Ссылки на pcl::features::ISMVoteList< PointT >::addVote(), pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::size() и pcl::InterestPoint::strength.
generateCentersPP()
| protected |
Генерирует центры кластеров, как описано в Arthur, David и Sergei Vassilvitski (2007) k-means++: Преимущества тщательной инициализации.
- Параметры
-
[in] data точки для кластеризации [out] out_centers будет содержать сгенерированные центры [in] number_of_clusters определяет количество желаемых центров кластеров [in] trials количество попыток сгенерировать центр
Определение в строке 1422 файла implicit_shape_model.hpp.
generateRandomCenter()
| protected |
Генерирует случайный центр для кластера.
- Параметры
-
[in] boxes содержит минимальные и максимальные значения для каждой размерности [out] center будет содержать сгенерированный центр
Определение в строке 1498 файла implicit_shape_model.hpp.
getFeatureEstimator()
| pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::FeaturePtr pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getFeatureEstimator |
Возвращает текущий оценщик признаков, используемый для извлечения описателей.
Определение в строке 639 файла implicit_shape_model.hpp.
getNumberOfClusters()
| unsigned int pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getNumberOfClusters |
Возвращает количество кластеров, используемых для кластеризации описателей.
Определение в строке 653 файла implicit_shape_model.hpp.
getNVotState()
| bool pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getNVotState |
Возвращает состояние коэффициента Nvot из [Knopp et al., 2010, (4)], если установлено в false, то коэффициент принимается равным 1,0.
Это всего лишь своего рода эвристика. По умолчанию поведение соответствует статье. Поэтому вы можете проигнорировать это, если хотите.
Определение в строке 684 файла implicit_shape_model.hpp.
getSamplingSize()
| float pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getSamplingSize |
Возвращает размер выборки, используемый для упрощения облака.
Определение в строке 624 файла implicit_shape_model.hpp.
getSigmaDists()
| std::vector< float > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getSigmaDists |
Возвращает массив значений сигма.
Определение в строке 668 файла implicit_shape_model.hpp.
getTrainingClasses()
| std::vector< unsigned int > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingClasses |
Возвращает массив классов, указывающий, к какому классу принадлежит соответствующее обучающее облако.
Определение в строке 591 файла implicit_shape_model.hpp.
getTrainingClouds()
| std::vector< typename pcl::PointCloud< PointT >::Ptr > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingClouds |
Этот метод просто возвращает облака, которые были установлены в качестве обучающих облаков.
Определение в строке 574 файла implicit_shape_model.hpp.
getTrainingNormals()
| std::vector< typename pcl::PointCloud< NormalT >::Ptr > pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::getTrainingNormals |
Этот метод возвращает соответствующее облако нормалей для каждого обучающего облака точек.
Определение в строке 607 файла implicit_shape_model.hpp.
operator=()
| protected |
Запрещает оператор присваивания.
setFeatureEstimator()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setFeatureEstimator | ( | FeaturePtr | feature | ) |
Изменяет оценщик признаков.
- Parameters
-
[in] feature оценщик признаков, который будет использоваться для извлечения описателей. Обратите внимание, что он должен быть полностью инициализирован и настроен.
Определение в строке 646 файла implicit_shape_model.hpp.
setNumberOfClusters()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setNumberOfClusters | ( | unsigned int | num_of_clusters | ) |
Изменяет количество кластеров.
- Parameters
-
num_of_clusters требуемое количество кластеров
Определение в строке 660 файла implicit_shape_model.hpp.
setNVotState()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setNVotState | ( | bool | state | ) |
Изменяет состояние коэффициента Nvot из [Knopp et al., 2010, (4)].
- Parameters
-
[in] state желаемое состояние; если false, то Nvot принимается равным 1,0
Определение в строке 691 файла implicit_shape_model.hpp.
setSamplingSize()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setSamplingSize | ( | float | sampling_size | ) |
Изменяет размер выборки, используемый для упрощения облака.
- Parameters
-
[in] sampling_size желаемый размер ячейки сетки
Определение в строке 631 файла implicit_shape_model.hpp.
setSigmaDists()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setSigmaDists | ( | const std::vector< float > & | training_sigmas | ) |
Этот метод позволяет установить значение сигмы, используемое для вычисления выученных весов для каждого класса.
- Parameters
-
[in] training_sigmas новые сигмы для каждого класса. Если вы хотите, чтобы эти значения вычислялись автоматически, просто передайте пустой массив. Автоматический режим вычисляет максимальное расстояние между точками объектов и принимает 10% от этого значения, как рекомендуется в статье. Если есть несколько объектов одного класса, то вычисляется среднее максимальное расстояние и берется 10%. Обратите внимание, что каждый класс имеет свое собственное значение сигмы.
Определение в строке 675 файла implicit_shape_model.hpp.
setTrainingClasses()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingClasses | ( | const std::vector< unsigned int > & | training_classes | ) |
Позволяет задать метки классов для соответствующих обучающих облаков.
- Parameters
-
[in] training_classes массив меток классов
Определение в строке 598 файла implicit_shape_model.hpp.
setTrainingClouds()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingClouds | ( | const std::vector< typename pcl::PointCloud< PointT >::Ptr > & | training_clouds | ) |
Позволяет задать облака для обучения модели ISM.
- Parameters
-
[in] training_clouds массив облаков точек для обучения
Определение в строке 581 файла implicit_shape_model.hpp.
setTrainingNormals()
| void pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::setTrainingNormals | ( | const std::vector< typename pcl::PointCloud< NormalT >::Ptr > & | training_normals | ) |
Разрешает задать нормали для обучающих облаков, которые были переданы через метод setTrainingClouds.
- Parameters
-
[in] training_normals массив облаков, каждое облако — это облако нормалей
Определение в строке 614 файла implicit_shape_model.hpp.
shiftCloud()
| protected |
Этот метод просто смещает точки облака относительно переданной точки.
- Parameters
-
[in] in_cloud облако для смещения [in] shift_point точка, относительно которой будет смещено облако
Определение в строке 1179 файла implicit_shape_model.hpp.
Ссылки на pcl::PointCloud< PointT >::points.
simplifyCloud()
| protected |
Упрощает облако с использованием принципов воксельного грида.
- Parameters
-
[in] in_point_cloud облако, которое нужно упростить [in] in_normal_cloud нормали облака, которое нужно упростить [out] out_sampled_point_cloud упрощённое облако [out] out_sampled_normal_cloud и соответствующие нормали
Определение в строке 1115 файла 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 | ) |
Этот метод выполняет обучение и формирует визуальный словарь.
Возвращает обученную модель, которую можно сохранить в файл для последующего использования.
- Parameters
-
[out] trained_model обученная модель
Определение в строке 698 файла implicit_shape_model.hpp.
Документация по данным члена
feature_estimator_
| protected |
Хранит оценщик признаков.
Определение в строке 603 файла implicit_shape_model.h.
n_vot_ON_
| protected |
Если установлено в false, то коэффициент Nvot из [Knopp et al., 2010, (4)] равен 1,0.
Определение в строке 609 файла implicit_shape_model.h.
number_of_clusters_
| protected |
Число кластеров, используется для кластеризации дескрипторов во время обучения.
Определение в строке 606 файла implicit_shape_model.h.
PP_CENTERS
| staticprotected |
Это константа, используемая для указания того, что центры для кластеризации k-means должны быть сгенерированы, как описано в работе Arthur, David and Sergei Vassilvitski (2007) k-means++: The Advantages of Careful Seeding.
Определение в строке 614 файла implicit_shape_model.h.
sampling_size_
| protected |
Это значение используется для упрощения.
Оно устанавливает размер ячейки сетки.
Определение в строке 600 файла implicit_shape_model.h.
training_classes_
| protected |
Хранит номер класса для каждого облака из training_clouds_.
Определение в строке 589 файла implicit_shape_model.h.
training_clouds_
| protected |
Хранит облака, используемые для обучения.
Определение в строке 586 файла implicit_shape_model.h.
training_normals_
| protected |
Хранит нормали для каждого облака обучения.
Определение в строке 592 файла implicit_shape_model.h.
training_sigmas_
| protected |
Этот массив хранит значения сигмы для каждого класса обучения.
Если размер этого массива равен 0, то значения сигмы будут рассчитаны автоматически.
Определение в строке 597 файла implicit_shape_model.h.
USE_INITIAL_LABELS
| staticprotected |
Это константа, используемая для указания того, что входные метки должны быть взяты как начальное приближение для кластеризации k-means.
Определение в строке 618 файла implicit_shape_model.h.
The documentation for this class was generated from the following files:
- 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