Класс, реализующий алгоритм группирования соответствий в 3D, который может обрабатывать несколько экземпляров шаблона модели, найденного в данной сцене. Подробнее...
#include <pcl/recognition/cg/hough_3d.h>
Публичные типы | |
| using | МодельОблакоRf = pcl::PointCloud< PointModelRfT > |
| using | УказательНаМодельОблакоRf = typename МодельОблакоRf::Ptr |
| using | ПостоянныйУказательНаМодельОблакоRf = typename МодельОблакоRf::ConstPtr |
| using | ОблакоСценыRf = pcl::PointCloud< PointSceneRfT > |
| using | УказательНаОблакоСценыRf = typename ОблакоСценыRf::Ptr |
| using | ПостоянныйУказательНаОблакоСценыRf = typename ОблакоСценыRf::ConstPtr |
| using | ТочкаОблако = pcl::PointCloud< PointModelT > |
| using | УказательНаТочкаОблако = typename ТочкаОблако::Ptr |
| using | ПостоянныйУказательНаТочкаОблако = typename ТочкаОблако::ConstPtr |
| using | ПостоянныйУказательНаОблакоСцены = typename pcl::CorrespondenceGrouping< PointModelT, PointSceneT >::SceneCloudConstPtr |
|
| |
| using | ОблакоСцены = pcl::PointCloud< PointSceneT > |
| using | SceneCloudPtr = typename SceneCloud::Ptr |
| using | SceneCloudConstPtr = typename SceneCloud::ConstPtr |
|
| |
| using | PointCloud = pcl::PointCloud< PointModelT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Публичные члены-функции | |
| 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 () |
| Вызовите эту функцию после задания входных данных, входной системы координат и параметра 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 оператор[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| void | clusterCorrespondences (std::vector< Correspondences > &model_instances) override |
| Кластеризует входные соответствия, чтобы отличить различные экземпляры модели в сцене. Подробнее... |
|
| bool | houghVoting () |
| Процедура голосования в пространстве Гаусса. Подробнее... |
|
| шаблон<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_ |
| Требуется ли обучение пространства Гаусса; устанавливается при изменении входного облака или input_rf. Подробнее... |
|
| std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f > > | model_votes_ |
| Результат обучения. Подробнее... |
|
| double | hough_threshold_ |
| Минимальное количество голосов в пространстве Гаусса, необходимое для вывода наличия экземпляра модели в облаке сцены. Подробнее... |
|
| double | hough_bin_size_ |
| Размер каждого ячейки пространства Гаусса. Подробнее... |
|
| bool | use_interpolation_ |
| Использовать ли интерполяцию между соседними ячейками Гаусса при подсчете голосов. Подробнее... |
|
| bool | use_distance_weight_ |
| Использовать ли взвешенное расстояние соответствия при подсчете голосов. Подробнее... |
|
| float | local_rf_normals_search_radius_ |
| Радиус поиска нормалей для потенциального расчета Rf. Подробнее... |
|
| float | local_rf_search_radius_ |
| Радиус поиска для потенциального расчёта Rf. Подробнее... |
|
| pcl::recognition::HoughSpace3D::Ptr | hough_space_ |
| Пространство Гаусса. Подробнее... |
|
| std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > | found_transformations_ |
| Преобразования, найденные методом clusterCorrespondences. Подробнее... |
|
| bool | hough_space_initialized_ |
| Указывает, содержит ли пространство Гаусса корректные голоса для текущих входных параметров, поэтому вызовы 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_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее... |
|
Подробное описание
template<typename PointModelT, typename PointSceneT, typename PointModelRfT = pcl::ReferenceFrame, typename PointSceneRfT = pcl::ReferenceFrame>
class pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >
Класс, реализующий алгоритм группировки соответствий в 3D, который может обрабатывать несколько экземпляров шаблона модели, найденного в заданной сцене.
Каждое соответствие откладывает голос за опорную точку в 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> |
Definition at line 151 of file hough_3d.h.
ModelRfCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::ModelRfCloudConstPtr = typename ModelRfCloud::ConstPtr |
Definition at line 153 of file hough_3d.h.
ModelRfCloudPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::ModelRfCloudPtr = typename ModelRfCloud::Ptr |
Definition at line 152 of file hough_3d.h.
ТочкаОблако
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloud = pcl::PointCloud<PointModelT> |
Definition at line 159 of file hough_3d.h.
ТочкаОблакоConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Definition at line 161 of file hough_3d.h.
ТочкаОблакоPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::PointCloudPtr = typename PointCloud::Ptr |
Definition at line 160 of file hough_3d.h.
SceneCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneCloudConstPtr = typename pcl::CorrespondenceGrouping<PointModelT, PointSceneT>::SceneCloudConstPtr |
Definition at line 163 of file hough_3d.h.
SceneRfCloud
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloud = pcl::PointCloud<PointSceneRfT> |
Definition at line 155 of file hough_3d.h.
SceneRfCloudConstPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloudConstPtr = typename SceneRfCloud::ConstPtr |
Definition at line 157 of file hough_3d.h.
SceneRfCloudPtr
| using pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::SceneRfCloudPtr = typename SceneRfCloud::Ptr |
Definition at line 156 of file 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().
Размер ячейки пространства Гиббса
| inline |
Получает размер каждой ячейки в пространстве Гиббса.
- Возвращает
- размер каждой ячейки пространства Гиббса.
Определение в строке 306 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_bin_size_.
Порог пространства Гиббса
| inline |
Получает минимальное количество голосов в пространстве Гаусса, необходимое для вывода наличия экземпляра модели в облаке сцены.
- Возвращает
- порог для голосования в пространстве Гаусса.
Определение в строке 285 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_threshold_.
getInputRf()
| inline |
Получение ссылок на системы координат входных данных.
Каждая точка в облаке системы координат должна быть системой координат соответствующей точки во входных данных.
- Возвращает
- указатель на системы координат входного облака.
Определение в строке 212 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::input_rf_.
getLocalRfNormalsSearchRadius()
| inline |
Если локальная система координат не задана ни для облака модели, ни для облака сцены, этот алгоритм выполняет вычисления сам, но нуждается в подходящем радиусе поиска для вычисления нормалей, чтобы затем вычислить систему координат (если не задано, используется поиск по умолчанию 15 ближайших соседей).
- Возвращает
- радиус поиска нормалей для вычисления локальной системы координат.
Определение в строке 376 файла hough_3d.h.
getLocalRfSearchRadius()
| inline |
Если локальная система координат не была задана для облака модели или облака сцены, этот алгоритм выполняет её вычисление, но ему нужен подходящий радиус поиска.
- Внимание
- Этот параметр НЕОБХОДИМО задать, если системы координат не вычисляются внешним образом, в противном случае результаты распознавания будут некорректными.
- Возвращает
- радиус поиска для вычисления локальной системы координат.
Определение в строке 404 файла hough_3d.h.
getSceneRf()
| inline |
Получение систем координат для набора данных сцены.
Каждая точка в облаке систем координат должна быть системой координат соответствующей точки в наборе данных сцены.
- Возвращает
- указатель на системы координат облака сцены.
Определение в строке 249 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::scene_rf_.
getUseDistanceWeight()
| inline |
Получение флага использования взвешивания по расстоянию в процедуре голосования.
- Возвращает
- используется ли алгоритмом взвешенное расстояние при вычислении балла голосования по Гауссу.
Определение в строке 350 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::use_distance_weight_.
getUseInterpolation()
| inline |
Определяет, использует ли процедура голосования по методу Хаффа интерполяцию оценки между соседними ячейками пространства Хаффа.
- Возвращает
- значение, указывающее, следует ли алгоритму интерполировать оценку голосов между соседними ячейками.
Определение в строке 329 файла 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 размер каждой ячейки пространства Гаусса.
Определение в строке 295 файла 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, автоматически рассчитывается максимальное значение голосов во всем пространстве, а -пороговое значение используется в качестве порога. Это означает, что значение между -1 и 0 следует использовать только в том случае, если в сцене всегда присутствует по крайней мере один экземпляр модели, или если этот ложный положительный результат можно отфильтровать позже.
Определение в строке 275 файла hough_3d.h.
Ссылки на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_threshold_.
setInputCloud()
| inlineoverridevirtual |
Предоставьте указатель на входные данные.
- Параметры
-
[in] cloud указатель на константный boost shared pointer к сообщению PointCloud.
Реализовано из pcl::PCLBase< PointModelT >.
Определение в строке 183 файла 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 указатель на системы отсчёта входного облака.
Определение в строке 198 файла 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 радиус поиска нормалей для вычисления локальной системы координат.
Определение в строке 362 файла 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 радиус поиска для вычисления локальной системы координат.
Определение в строке 389 файла 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 |
Предоставьте указатель на предварительно вычисленные соответствия между точками входного набора данных и точками набора данных сцены.
Алгоритм будет группировать соответствия в различные экземпляры модели.
- Parameters
-
[in] corrs соответствия между моделью и сценой.
Переопределено из pcl::CorrespondenceGrouping< PointModelT, PointSceneT >.
Определение в строке 261 файла hough_3d.h.
Ссылается на pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::hough_space_initialized_ и pcl::CorrespondenceGrouping< PointModelT, PointSceneT >::model_scene_corrs_.
setSceneCloud()
| inlineoverridevirtual |
Предоставьте указатель на набор данных сцены (т. е. облако, в котором алгоритм должен искать экземпляры входной модели).
- Parameters
-
[in] scene постоянный указатель boost shared на сообщение PointCloud.
Переопределено из pcl::CorrespondenceGrouping< PointModelT, PointSceneT >.
Определение в строке 222 файла 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 указатель на системы координат облака сцены.
Определение в строке 236 файла 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 алгоритм должен использовать взвешенное расстояние при вычислении оценки голосования Хаффа.
Определение в строке 339 файла 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 алгоритм должен интерполировать оценку голоса между соседними ячейками.
Определение в строке 317 файла 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.
Определение в строке 475 файла hough_3d.h.
hough_bin_size_
| protected |
Размер каждой ячейки пространства Гаусса.
Определение в строке 457 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getHoughBinSize() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setHoughBinSize().
hough_space_
| protected |
Пространство Гаусса.
Определение в строке 472 файла hough_3d.h.
hough_space_initialized_
| protected |
Является ли пространство Гаусса уже содержит правильные голоса для текущих входных параметров, и поэтому вызовы кластеризации и распознавания не нуждаются в повторном вычислении каждого значения.
Сброс при изменении любого параметра, кроме hough_threshold.
Определение в строке 480 файла 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 |
Минимальное количество голосов в пространстве Гаусса, необходимое для вывода наличия экземпляра модели в облаке сцены.
Определение в строке 454 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getHoughThreshold() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setHoughThreshold().
input_rf_
| protected |
Входное облако Rf.
Определение в строке 442 файла 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.
Определение в строке 466 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getLocalRfNormalsSearchRadius() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfNormalsSearchRadius().
local_rf_search_radius_
| protected |
Радиус поиска для потенциального расчёта Rf.
Определение в строке 469 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getLocalRfSearchRadius() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setLocalRfSearchRadius().
model_votes_
| protected |
Результат обучения.
Вектор между каждой модельной точкой и центроидом модели, скорректированный локальной системой отсчета.
Определение в строке 451 файла hough_3d.h.
needs_training_
| protected |
Требуется ли обучение пространства Гаусса; устанавливается при изменении входного облака или input_rf.
Определение в строке 448 файла 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.
Определение в строке 445 файла 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 |
Использовать взвешенное расстояние соответствия при подсчёте голосов.
Определение в строке 463 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getUseDistanceWeight() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseDistanceWeight().
use_interpolation_
| protected |
Использовать интерполяцию между соседними ячейками Хаффа при подсчёте голосов.
Определение в строке 460 файла hough_3d.h.
Используется в pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::getUseInterpolation() и pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::setUseInterpolation().
The documentation for this class was generated from the following files:
- 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