Класс, реализующий алгоритм группировки 3D-соответствий, способный обрабатывать несколько экземпляров шаблона модели, обнаруженных в заданной сцене. Подробнее...
#include <pcl/recognition/cg/hough_3d.h>
Открытые функции-члены | |
| Hough3DGrouping () | |
| Конструктор. Подробнее... |
|
| void | setInputCloud (const PointCloudConstPtr &cloud) override |
| Задает указатель на входной набор данных. Подробнее... |
|
| void | setInputRf (const ModelRfCloudConstPtr &input_rf) |
| Задает указатель на системы отсчета входного набора данных. Подробнее... |
|
| ModelRfCloudConstPtr | getInputRf () const |
| Возвращает системы отсчета входного набора данных. Подробнее... |
|
| void | setSceneCloud (const SceneCloudConstPtr &scene) override |
| Задает указатель на набор данных сцены (т. е. Подробнее... |
|
| void | setSceneRf (const SceneRfCloudConstPtr &scene_rf) |
| Задает указатель на системы отсчета набора данных сцены. Подробнее... |
|
| SceneRfCloudConstPtr | getSceneRf () const |
| Возвращает системы отсчета набора данных сцены. Подробнее... |
|
| void | setModelSceneCorrespondences (const CorrespondencesConstPtr &corrs) override |
| Задает указатель на предварительно вычисленные соответствия между точками входного набора данных и точками набора данных сцены. Подробнее... |
|
| void | setHoughThreshold (double threshold) |
| Задает минимальное число голосов в пространстве Хафа, необходимое для обнаружения экземпляра модели в облаке точек сцены. Подробнее... |
|
| double | getHoughThreshold () const |
| Возвращает минимальное число голосов в пространстве Хафа, необходимое для обнаружения экземпляра модели в облаке точек сцены. Подробнее... |
|
| void | setHoughBinSize (double bin_size) |
| Задает размер каждой ячейки в пространстве Хафа. Подробнее... |
|
| double | getHoughBinSize () const |
| Возвращает размер каждой ячейки в пространстве Хафа. Подробнее... |
|
| void | setUseInterpolation (bool use_interpolation) |
| Задает, будет ли процедура голосования интерполировать оценку между соседними ячейками пространства Хафа. Подробнее... |
|
| bool | getUseInterpolation () const |
| Возвращает признак того, интерполирует ли процедура голосования оценку между соседними ячейками пространства Хафа. Подробнее... |
|
| void | setUseDistanceWeight (bool use_distance_weight) |
| Задает, использует ли процедура голосования расстояние соответствия в качестве оценки. Подробнее... |
|
| bool | getUseDistanceWeight () const |
| Возвращает признак того, использует ли процедура голосования расстояние соответствия в качестве оценки. Подробнее... |
|
| void | setLocalRfNormalsSearchRadius (float local_rf_normals_search_radius) |
| Если локальная система отсчета не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для вычисления нормалей, необходимых затем для вычисления системы отсчета, ему требуется подходящий радиус поиска (если он не задан, выполняется поиск 15 ближайших соседей по умолчанию). Подробнее... |
|
| float | getLocalRfNormalsSearchRadius () const |
| Если локальная система отсчета не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для вычисления нормалей, необходимых затем для вычисления системы отсчета, ему требуется подходящий радиус поиска (если он не задан, выполняется поиск 15 ближайших соседей по умолчанию). Подробнее... |
|
| void | setLocalRfSearchRadius (float local_rf_search_radius) |
| Если локальная система отсчета не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для этого ему требуется подходящий радиус поиска. Подробнее... |
|
| float | getLocalRfSearchRadius () const |
| Если локальная система отсчета не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для этого ему требуется подходящий радиус поиска. Подробнее... |
|
| bool | train () |
| Вызовите эту функцию после задания параметров input, input_rf и hough_bin_size, чтобы выполнить предварительное обучение алгоритма в автономном режиме. Подробнее... |
|
| bool | recognize (std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > &transformations) |
| Основная функция распознает экземпляры модели в заданной пользователем сцене. Подробнее... |
|
| bool | recognize (std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > &transformations, std::vector< pcl::Correspondences > &clustered_corrs) |
| Основная функция распознает экземпляры модели в заданной пользователем сцене. Подробнее... |
|
|
| |
| CorrespondenceGrouping () | |
| Конструктор без параметров. Подробнее... |
|
| ~CorrespondenceGrouping () override | |
| Деструктор. Подробнее... |
|
| SceneCloudConstPtr | getSceneCloud () const |
| Возвращает набор данных сцены. Подробнее... |
|
| CorrespondencesConstPtr | getModelSceneCorrespondences () const |
| Возвращает предварительно вычисленные соответствия между точками входного набора данных и точками набора данных сцены. Подробнее... |
|
| std::vector< double > | getCharacteristicScales () const |
| Возвращает вектор характерных масштабов, связанных с каждым кластером. Подробнее... |
|
| void | cluster (std::vector< Correspondences > &clustered_corrs) |
| Группирует входные соответствия, относящиеся к разным экземплярам модели. Подробнее... |
|
|
| |
| PCLBase () | |
| Конструктор без параметров. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| 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 PointModelT & | operator[] (std::size_t pos) const |
| Переопределяет оператор PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| void | clusterCorrespondences (std::vector< Correspondences > &model_instances) override |
| Группирует входные соответствия, чтобы различать разные экземпляры модели в сцене. Подробнее... |
|
| bool | houghVoting () |
| Процедура голосования в пространстве Хафа. Подробнее... |
|
| template<typename PointType , typename PointRfType > | |
| void | computeRf (const typename pcl::PointCloud< PointType >::ConstPtr &input, pcl::PointCloud< PointRfType > &rf) |
| Вычисляет систему отсчёта для входного облака. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| ModelRfCloudConstPtr | input_rf_ |
| Входное облако Rf. Подробнее... |
|
| SceneRfCloudConstPtr | scene_rf_ |
| Облако Rf сцены. Подробнее... |
|
| bool | needs_training_ {true} |
| Указывает, требуется ли обучение пространства Хафа; устанавливается при изменении входного облака или input_rf. Подробнее... |
|
| std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > | model_votes_ |
| Результат обучения. Подробнее... |
|
| double | hough_threshold_ {-1.0} |
| Минимальное количество голосов в пространстве Хафа, необходимое для определения наличия экземпляра модели в облаке сцены. Подробнее... |
|
| double | hough_bin_size_ {1.0} |
| Размер каждой ячейки пространства Хафа. Подробнее... |
|
| bool | use_interpolation_ {true} |
| Использовать интерполяцию между соседними ячейками пространства Хафа при подаче голосов. Подробнее... |
|
| bool | use_distance_weight_ {false} |
| Использовать взвешенное расстояние между соответствиями при подаче голосов. Подробнее... |
|
| float | local_rf_normals_search_radius_ {0.0f} |
| Радиус поиска нормалей для вычисления потенциальной Rf. Подробнее... |
|
| float | local_rf_search_radius_ {0.0f} |
| Радиус поиска для вычисления потенциальной Rf. Подробнее... |
|
| pcl::recognition::HoughSpace3D::Ptr | hough_space_ |
| Пространство Хафа. Подробнее... |
|
| std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > | found_transformations_ |
| Преобразования, найденные методом clusterCorrespondences. Подробнее... |
|
| bool | hough_space_initialized_ {false} |
| Указывает, содержит ли пространство Хафа правильные голоса для текущих входных параметров, чтобы вызовам cluster и recognize не требовалось повторно вычислять каждое значение. Подробнее... |
|
|
| |
| SceneCloudConstPtr | scene_ |
| Облако сцены. Подробнее... |
|
| CorrespondencesConstPtr | model_scene_corrs_ |
| Соответствия между точками входных данных и данными сцены. Подробнее... |
|
| std::vector< double > | corr_group_scale_ |
| Характерный масштаб, связанный с каждой подгруппой соответствий; если алгоритм cg не поддерживает инвариантность к масштабу, размер вектора будет равен 0. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек, которые следует использовать. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку PointCloud. Подробнее... |
|
Подробное описание
template<typename PointModelT, typename PointSceneT, typename PointModelRfT = pcl::ReferenceFrame, typename PointSceneRfT = pcl::ReferenceFrame>
class pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >
Класс реализует алгоритм группировки 3D-соответствий, способный обрабатывать несколько экземпляров шаблона модели, обнаруженных в заданной сцене.
Каждое соответствие подаёт голос за опорную точку в трёхмерном пространстве Хафа. Остальные 3 степени свободы учитываются путём сопоставления каждого соответствия с локальной системой отсчёта. В качестве PointModelRfT рекомендуется использовать pcl::ReferenceFrame
- Примечание
- Если вы используете этот код в какой-либо научной работе, пожалуйста, процитируйте исходную статью:
- F. Tombari, L. Di Stefano: Распознавание объектов в 3D-сценах с перекрытиями и загромождением методом голосования Хафа. 2010, Четвёртый Тихоокеанско-Азиатский симпозиум по технологиям обработки изображений и видео
Определение в строке 148 файла hough_3d.h.
Документация псевдонимов типов-членов
ModelRfCloud
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::ModelRfCloud = pcl::PointCloud<PointModelRfT> |
Определение в строке 151 файла hough_3d.h.
ModelRfCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::ModelRfCloudConstPtr = typename ModelRfCloud::ConstPtr |
Определение в строке 153 файла hough_3d.h.
ModelRfCloudPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::ModelRfCloudPtr = typename ModelRfCloud::Ptr |
Определение в строке 152 файла hough_3d.h.
PointCloud
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloud = pcl::PointCloud<PointModelT> |
Определение в строке 159 файла hough_3d.h.
PointCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 161 файла hough_3d.h.
PointCloudPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 160 файла hough_3d.h.
SceneCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneCloudConstPtr = typename pcl::CorrespondenceGrouping<PointModelT, PointSceneT>::SceneCloudConstPtr |
Определение в строке 163 файла hough_3d.h.
SceneRfCloud
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloud = pcl::PointCloud<PointSceneRfT> |
Определение в строке 155 файла hough_3d.h.
SceneRfCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloudConstPtr = typename SceneRfCloud::ConstPtr |
Определение в строке 157 файла hough_3d.h.
SceneRfCloudPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloudPtr = typename SceneRfCloud::Ptr |
Определение в строке 156 файла hough_3d.h.
Документация конструкторов и деструкторов
Hough3DGrouping()
| inline |
Конструктор.
Определение в строке 166 файла hough_3d.h.
Документация функций-членов
clusterCorrespondences()
| overrideprotectedvirtual |
Группирует входные соответствия, чтобы различать экземпляры модели на сцене.
- Параметры
-
[out] model_instances вектор, содержащий сгруппированные соответствия для каждого экземпляра модели, найденного на сцене.
- Возвращает
- true, если группировка выполнена успешно, или false, если произошли ошибки.
Реализует pcl::CorrespondenceGrouping< PointModelT, PointSceneT >.
Определение в строке 259 файла hough_3d.hpp.
Ссылки: pcl::copyPointCloud(), pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getBestTransformation(), pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences(), pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInlierThreshold(), pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInputSource(), pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setInputTarget() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::setMaximumIterations().
computeRf()
| protected |
Вычисляет опорный кадр для входного облака.
- Параметры
-
[in] input входное облако. [out] rf полученный опорный кадр.
Определение в строке 55 файла hough_3d.hpp.
Ссылки: pcl::Feature< PointInT, PointOutT >::compute(), pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >::setFindHoles(), pcl::PCLBase< PointT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >::setInputNormals(), pcl::Feature< PointInT, PointOutT >::setKSearch() и pcl::Feature< PointInT, PointOutT >::setRadiusSearch().
getHoughBinSize()
| inline |
Возвращает размер каждой ячейки в пространстве Хафа.
- Возвращает
- размер каждой ячейки пространства Хафа.
Определение в строке 298 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_bin_size_.
getHoughThreshold()
| inline |
Возвращает минимальное число голосов в пространстве Хафа, необходимое для вывода о наличии экземпляра модели в облаке сцены.
- Возвращает
- порог голосования в пространстве Хафа.
Определение в строке 277 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_threshold_.
getInputRf()
| inline |
Метод получения опорных кадров набора входных данных.
Каждая точка в облаке опорных кадров должна соответствовать опорному кадру соответствующей точки во входном наборе данных.
- Возвращает
- указатель на опорные кадры входного облака.
Определение в строке 204 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::input_rf_.
getLocalRfNormalsSearchRadius()
| inline |
Если локальный опорный кадр не задан ни для облака модели, ни для облака сцены, алгоритм вычисляет его самостоятельно, но для вычисления нормалей, необходимых для последующего вычисления опорного кадра, ему требуется подходящий радиус поиска (если он не задан, выполняется поиск по 15 ближайшим соседям).
- Возвращает
- радиус поиска нормалей для вычисления локального опорного кадра.
Определение в строке 368 файла hough_3d.h.
getLocalRfSearchRadius()
| inline |
Если локальный опорный кадр не задан ни для облака модели, ни для облака сцены, алгоритм вычисляет его самостоятельно, но для этого ему требуется подходящий радиус поиска.
- Внимание
- Этот параметр НЕОБХОДИМО задать, если опорные кадры не вычислены предварительно внешними средствами; в противном случае результаты распознавания будут некорректными.
- Возвращает
- радиус поиска для вычисления локального опорного кадра.
Определение в строке 396 файла hough_3d.h.
getSceneRf()
| inline |
Метод получения опорных кадров набора данных сцены.
Каждая точка в облаке опорных кадров должна соответствовать опорному кадру соответствующей точки в наборе данных сцены.
- Возвращает
- указатель на опорные кадры облака сцены.
Определение в строке 241 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::scene_rf_.
getUseDistanceWeight()
| inline |
Возвращает, используется ли расстояние между соответствиями в качестве оценки при голосовании.
- Возвращает
- должен ли алгоритм использовать взвешенное расстояние при вычислении оценки голосования Хафа.
Определение в строке 342 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::use_distance_weight_.
getUseInterpolation()
| inline |
Возвращает, интерполирует ли процедура голосования оценку между соседними ячейками пространства Хафа.
- Возвращает
- должен ли алгоритм интерполировать оценку голосования между соседними ячейками.
Определение в строке 321 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::use_interpolation_.
houghVoting()
| protected |
Процедура голосования в пространстве Хафа.
- Возвращает
- true, если голосование выполнено успешно, или false, если произошли ошибки.
Определение в строке 138 файла hough_3d.hpp.
Ссылки: pcl::geometry::distance().
recognize() [1/2]
| bool pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::recognize | ( | std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > & | transformations | ) |
Основная функция, распознающая экземпляры модели на заданной пользователем сцене.
- Параметры
-
[out] transformations вектор, содержащий по одной матрице преобразования для каждого экземпляра модели, распознанного на сцене.
- Возвращает
- true, если распознавание выполнено успешно, или false, если произошли ошибки.
Определение в строке 334 файла hough_3d.hpp.
recognize() [2/2]
| bool pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::recognize | ( | std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > & | transformations, |
| std::vector< pcl::Correspondences > & | clustered_corrs | ||
| ) |
Основная функция, распознающая экземпляры модели на заданной пользователем сцене.
- Параметры
-
[out] transformations вектор, содержащий по одной матрице преобразования для каждого экземпляра модели, распознанного на сцене. [out] clustered_corrs вектор, содержащий соответствия для каждого экземпляра модели, найденного во входных данных (тот же результат, что и у clusterCorrespondences).
- Возвращает
- true, если распознавание выполнено успешно, или false, если произошли ошибки.
Определение в строке 343 файла hough_3d.hpp.
setHoughBinSize()
| inline |
Задает размер каждой ячейки в пространстве Хафа.
- Параметры
-
[in] bin_size размер каждой ячейки пространства Хафа.
Определение в строке 287 файла hough_3d.h.
Ссылки: pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_bin_size_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_.
setHoughThreshold()
| inline |
Задает минимальное количество голосов в пространстве Хафа, необходимое для определения наличия экземпляра модели в облаке сцены.
- Параметры
-
[in] threshold пороговое значение голосования в пространстве Хафа. Если задано значение от -1 до 0, максимум голосов во всем пространстве вычисляется автоматически, а в качестве порога используется значение, равное максимуму, умноженному на -threshold. Это означает, что значение от -1 до 0 следует использовать только в том случае, если в сцене всегда присутствует хотя бы один экземпляр модели или если это ложное срабатывание можно отфильтровать позднее.
Определение в строке 267 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_threshold_.
setInputCloud()
| inlineoverridevirtual |
Предоставляет указатель на входной набор данных.
- Параметры
-
[in] cloud константный разделяемый указатель boost на сообщение PointCloud.
Переопределяет метод из pcl::PCLBase< PointModelT >.
Определение в строке 175 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_, pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::input_rf_, pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::needs_training_ и pcl::PCLBase< PointT >::setInputCloud().
setInputRf()
| inline |
Предоставляет указатель на системы координат входного набора данных.
Каждая точка в облаке систем координат должна соответствовать системе координат соответствующей точки во входном наборе данных.
- Параметры
-
[in] input_rf указатель на системы координат входного облака.
Определение в строке 190 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_, pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::input_rf_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::needs_training_.
setLocalRfNormalsSearchRadius()
| inline |
Если локальная система координат не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для вычисления нормалей и последующего вычисления системы координат ему необходим подходящий радиус поиска (если он не задан, выполняется поиск 15 ближайших соседей по умолчанию).
- Параметры
-
[in] local_rf_normals_search_radius радиус поиска нормалей для вычисления локальной системы координат.
Определение в строке 354 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_, pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::local_rf_normals_search_radius_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::needs_training_.
setLocalRfSearchRadius()
| inline |
Если локальная система координат не задана ни для облака модели, ни для облака сцены, алгоритм вычисляет ее самостоятельно, но для этого ему необходим подходящий радиус поиска.
- Внимание
- Этот параметр НЕОБХОДИМО задать, если системы координат не были предварительно вычислены внешними средствами; в противном случае результаты распознавания будут некорректными.
- Параметры
-
[in] local_rf_search_radius радиус поиска для вычисления локальной системы координат.
Определение в строке 381 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_, pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::local_rf_search_radius_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::needs_training_.
setModelSceneCorrespondences()
| inlineoverridevirtual |
Предоставляет указатель на предварительно вычисленные соответствия между точками входного набора данных и точками набора данных сцены.
Алгоритм сгруппирует соответствия по различным экземплярам модели.
- Параметры
-
[in] corrs соответствия между моделью и сценой.
Переопределяет метод из pcl::CorrespondenceGrouping< PointModelT, PointSceneT >.
Определение в строке 253 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_ и pcl::CorrespondenceGrouping< PointModelT, PointSceneT >::model_scene_corrs_.
setSceneCloud()
| inlineoverridevirtual |
Предоставляет указатель на набор данных сцены (т. е.
на облако, в котором алгоритм должен искать экземпляры входной модели)
- Параметры
-
[in] scene константный разделяемый указатель boost на сообщение PointCloud.
Переопределяет метод из pcl::CorrespondenceGrouping< PointModelT, PointSceneT >.
Определение в строке 214 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_, pcl::CorrespondenceGrouping< PointModelT, PointSceneT >::scene_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::scene_rf_.
setSceneRf()
| inline |
Предоставляет указатель на системы координат набора данных сцены.
Каждая точка в облаке систем координат должна соответствовать системе координат соответствующей точки в наборе данных сцены.
- Параметры
-
[in] scene_rf указатель на системы координат облака сцены.
Определение в строке 228 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::scene_rf_.
setUseDistanceWeight()
| inline |
Задает, использует ли процедура голосования расстояние соответствия в качестве оценки.
- Параметры
-
[in] use_distance_weight указывает, должен ли алгоритм использовать взвешенное расстояние при вычислении оценки голосования Хафа.
Определение в строке 331 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::use_distance_weight_.
setUseInterpolation()
| inline |
Задает, выполняет ли процедура голосования интерполяцию оценки между соседними ячейками пространства Хафа.
- Параметры
-
[in] use_interpolation указывает, должен ли алгоритм интерполировать оценку голосования между соседними ячейками.
Определение в строке 309 файла hough_3d.h.
См. также pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_ и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::use_interpolation_.
train()
| bool pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::train |
Вызовите эту функцию после задания параметров input, input_rf и hough_bin_size, чтобы выполнить предварительное обучение алгоритма.
Это может быть полезно, если требуется один раз предварительно вычислить голоса, относящиеся только к моделям, повысив производительность алгоритма группировки во время выполнения. Если функция обучения не была вызвана вручную, алгоритм автоматически обучается при первом вызове метода recognize или cluster.
- Возвращает
- true, если обучение завершилось успешно, или false, если произошли ошибки.
Определение в строке 85 файла hough_3d.hpp.
Документация данных-членов
found_transformations_
| protected |
Преобразования, найденные методом clusterCorrespondences.
Определение в строке 467 файла hough_3d.h.
hough_bin_size_
|
Размер каждой ячейки пространства Хафа.
Определение в строке 449 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getHoughBinSize() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setHoughBinSize().
hough_space_
| protected |
Пространство Хафа.
Определение в строке 464 файла hough_3d.h.
hough_space_initialized_
| protected |
Показывает, содержит ли пространство Хафа правильные голоса для текущих входных параметров, чтобы при вызове cluster и recognize не требовалось повторно вычислять каждое значение.
Сбрасывается при изменении любого параметра, кроме hough_threshold.
Определение в строке 472 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setHoughBinSize(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputCloud(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputRf(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfNormalsSearchRadius(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfSearchRadius(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setModelSceneCorrespondences(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setSceneCloud(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setSceneRf(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseDistanceWeight() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseInterpolation().
hough_threshold_
| protected |
Минимальное количество голосов в пространстве Хафа, необходимое для определения наличия экземпляра модели в облаке сцены.
Определение в строке 446 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getHoughThreshold() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setHoughThreshold().
input_rf_
| protected |
Входное облако Rf.
Определение в строке 434 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getInputRf(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputCloud() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputRf().
local_rf_normals_search_radius_
| protected |
Радиус поиска нормалей для вычисления потенциального Rf.
Определение в строке 458 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getLocalRfNormalsSearchRadius() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfNormalsSearchRadius().
local_rf_search_radius_
| protected |
Радиус поиска для вычисления потенциального Rf.
Определение в строке 461 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getLocalRfSearchRadius() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfSearchRadius().
model_votes_
| protected |
Результат обучения.
Вектор между каждой точкой модели и центроидом модели, скорректированный с учетом ее локальной системы координат.
Определение в строке 443 файла hough_3d.h.
needs_training_
| protected |
Указывает, требуется ли обучение пространства Хафа; устанавливается при изменении входного облака или input_rf.
Определение в строке 440 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputCloud(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setInputRf(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfNormalsSearchRadius() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfSearchRadius().
scene_rf_
| protected |
Облако Rf сцены.
Определение в строке 437 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getSceneRf(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setSceneCloud() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setSceneRf().
use_distance_weight_
| protected |
Использовать взвешенное расстояние соответствия при подаче голосов.
Определение в строке 455 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getUseDistanceWeight() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseDistanceWeight().
use_interpolation_
| protected |
Использовать интерполяцию между соседними ячейками Хафа при подаче голосов.
Определение в строке 452 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getUseInterpolation() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseInterpolation().
Документация этого класса создана на основе следующих файлов:
- pcl/recognition/cg/hough_3d.h
- pcl/recognition/impl/cg/hough_3d.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_hough3_d_grouping.html