FPFHEstimationOMP вычисляет дескриптор Fast Point Feature Histogram (FPFH) для заданного набора данных облака точек, содержащего точки и нормали, параллельно, с использованием стандарта OpenMP. Подробнее...
#include <pcl/features/fpfh_omp.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< FPFHEstimationOMP< PointInT, PointNT, PointOutT > > |
| using | ConstPtr = shared_ptr< const FPFHEstimationOMP< PointInT, PointNT, PointOutT > > |
| using | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut |
|
| |
| using | Ptr = shared_ptr< FPFHEstimation< PointInT, PointNT, PointOutT > > |
| using | ConstPtr = shared_ptr< const FPFHEstimation< PointInT, PointNT, PointOutT > > |
| using | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut |
|
| |
| using | PointCloudN = pcl::PointCloud< PointNT > |
| using | PointCloudNPtr = typename PointCloudN::Ptr |
| using | PointCloudNConstPtr = typename PointCloudN::ConstPtr |
| using | Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, PointOutT > > |
| using | ConstPtr = shared_ptr< const FeatureFromNormals< PointInT, PointNT, PointOutT > > |
|
| |
| using | BaseClass = PCLBase< PointInT > |
| using | Ptr = shared_ptr< Feature< PointInT, PointOutT > > |
| using | ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
| using | PointCloudIn = pcl::PointCloud< PointInT > |
| using | PointCloudInPtr = typename PointCloudIn::Ptr |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
| using | PointCloudOut = pcl::PointCloud< PointOutT > |
| using | SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)> |
| using | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)> |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Открытые функции-члены | |
| FPFHEstimationOMP (unsigned int nr_threads=0) | |
| Инициализирует планировщик и задает количество используемых потоков. Подробнее... |
|
| void | setNumberOfThreads (unsigned int nr_threads=0) |
| Инициализирует планировщик и задает количество используемых потоков. Подробнее... |
|
|
| |
| FPFHEstimation () | |
| Пустой конструктор. Подробнее... |
|
| bool | computePairFeatures (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, int p_idx, int q_idx, float &f1, float &f2, float &f3, float &f4) |
| Вычисляет представление в виде кортежа из четырех элементов, содержащего три угла и расстояние между двумя точками, заданными декартовыми координатами и нормалями. Подробнее... |
|
| void | computePointSPFHSignature (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, pcl::index_t p_idx, int row, const pcl::Indices &indices, Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3) |
| Вычисляет индивидуальные сигнатуры SPFH (простых гистограмм признаков точки) для трех угловых признаков (f1, f2, f3) заданной точки на основе ее пространственного окружения из 3D-точек с нормалями. Подробнее... |
|
| void | weightPointSPFHSignature (const Eigen::MatrixXf &hist_f1, const Eigen::MatrixXf &hist_f2, const Eigen::MatrixXf &hist_f3, const pcl::Indices &indices, const std::vector< float > &dists, Eigen::VectorXf &fpfh_histogram) |
| Взвешивает индивидуальные гистограммы SPFH (простых гистограмм признаков точки), чтобы сформировать итоговую FPFH (быструю гистограмму признаков точки) для заданной точки на основе ее пространственного окружения в 3D. Подробнее... |
|
| void | setNrSubdivisions (int nr_bins_f1, int nr_bins_f2, int nr_bins_f3) |
| Задает количество подразделений для каждого интервала углового признака. Подробнее... |
|
| void | getNrSubdivisions (int &nr_bins_f1, int &nr_bins_f2, int &nr_bins_f3) |
| Возвращает количество подразделений для каждого интервала углового признака. Подробнее... |
|
|
| |
| FeatureFromNormals () | |
| Пустой конструктор. Подробнее... |
|
| void | setInputNormals (const PointCloudNConstPtr &normals) |
| Предоставляет указатель на входной набор данных, содержащий нормали точек набора XYZ. Подробнее... |
|
| PointCloudNConstPtr | getInputNormals () const |
| Возвращает указатель на нормали входного облака точек XYZ. Подробнее... |
|
|
| |
| Feature () | |
| Пустой конструктор. Подробнее... |
|
| void | setSearchSurface (const PointCloudInConstPtr &cloud) |
| Предоставляет указатель на набор данных для добавления дополнительных сведений при вычислении признаков для каждой точки входного набора данных. Подробнее... |
|
| PointCloudInConstPtr | getSearchSurface () const |
| Возвращает указатель на набор данных облака точек поверхности. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Предоставляет указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () const |
| Возвращает указатель на используемый метод поиска. Подробнее... |
|
| double | getSearchParameter () const |
| Возвращает внутренний параметр поиска. Подробнее... |
|
| void | setKSearch (int k) |
| Задает количество k ближайших соседей, используемых для вычисления признаков. Подробнее... |
|
| int | getKSearch () const |
| Возвращает количество k ближайших соседей, используемых для вычисления признаков. Подробнее... |
|
| void | setRadiusSearch (double radius) |
| Задает радиус сферы, используемой для определения ближайших соседей при вычислении признаков. Подробнее... |
|
| double | getRadiusSearch () const |
| Возвращает радиус сферы, используемый для определения соседей. Подробнее... |
|
| void | compute (PointCloudOut &output) |
| Базовый метод вычисления признаков для всех точек, заданных с помощью <setInputCloud (), setIndices ()>, с использованием поверхности из setSearchSurface () и пространственного локатора из setSearchMethod (). Подробнее... |
|
|
| |
| PCLBase () | |
| Пустой конструктор. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Предоставляет указатель на входной набор данных. Подробнее... |
|
| 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 PointInT & | operator[] (std::size_t pos) const |
| Переопределяет оператор [] класса PointCloud для сокращения кода. Подробнее... |
|
Открытые атрибуты | |
| int | nr_bins_f1_ {11} |
| Количество подразделений для каждого интервала углового признака. Подробнее... |
|
| int | nr_bins_f2_ {11} |
| int | nr_bins_f3_ {11} |
Дополнительные унаследованные члены | |
|
| |
| void | computeSPFHSignatures (std::vector< int > &spf_hist_lookup, Eigen::MatrixXf &hist_f1, Eigen::MatrixXf &hist_f2, Eigen::MatrixXf &hist_f3) |
| Вычислить набор всех сигнатур SPFH (гистограмм простых признаков точки) для входного облака. Подробнее... |
|
| void | computeFeature (PointCloudOut &output) override |
| Вычислить дескрипторы быстрых гистограмм признаков точки (FPFH) для набора точек, заданного с помощью <setInputCloud (), setIndices ()>, используя поверхность из setSearchSurface () и пространственный локатор из setSearchMethod (). Подробнее... |
|
|
| |
| virtual bool | initCompute () |
| Этот метод следует вызывать перед началом фактического вычисления. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
| virtual bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактического вычисления. Подробнее... |
|
| int | searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Найти k ближайших соседей с помощью пространственного локатора, заданного через setSearchmethod, и указанной поверхности, заданной через setSearchSurface. Подробнее... |
|
| int | searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Найти k ближайших соседей с помощью пространственного локатора, заданного через setSearchmethod, и указанной поверхности, заданной через setSearchSurface. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактического вычисления. Подробнее... |
|
|
| |
| int | nr_bins_f1_ |
| Количество подинтервалов для каждого углового признака. Подробнее... |
|
| int | nr_bins_f2_ |
| int | nr_bins_f3_ |
| Eigen::MatrixXf | hist_f1_ |
| Буфер для гистограммы f1. Подробнее... |
|
| Eigen::MatrixXf | hist_f2_ |
| Буфер для гистограммы f2. Подробнее... |
|
| Eigen::MatrixXf | hist_f3_ |
| Буфер для гистограммы f3. Подробнее... |
|
| Eigen::VectorXf | fpfh_histogram_ |
| Буфер для сигнатуры FPFH точки. Подробнее... |
|
| float | d_pi_ |
| Константа типа float = 1.0 / (2.0 * M_PI) Подробнее... |
|
|
| |
| PointCloudNConstPtr | normals_ |
| Указатель на входной набор данных, содержащий нормали точек набора XYZ. Подробнее... |
|
|
| |
| std::string | feature_name_ |
| Имя признака. Подробнее... |
|
| SearchMethodSurface | search_method_surface_ |
| Шаблон метода поиска точек. Подробнее... |
|
| PointCloudInConstPtr | surface_ |
| Входное облако точек, описывающее поверхность, используемую для поиска ближайших соседей. Подробнее... |
|
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
| double | search_parameter_ |
| Фактический параметр поиска (из search_radius_ или k_). Подробнее... |
|
| double | search_radius_ |
| Радиус поиска ближайших соседей для каждой точки. Подробнее... |
|
| int | k_ |
| Количество K ближайших соседей, используемых для каждой точки. Подробнее... |
|
| bool | fake_surface_ |
| Если поверхность не задана, в качестве поверхности используется входной PointCloud. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек, которые следует использовать. Подробнее... |
|
| bool | use_indices_ |
| Установить значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Подробное описание
template<typename PointInT, typename PointNT, typename PointOutT>
class pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >
FPFHEstimationOMP вычисляет дескриптор быстрой гистограммы признаков точки (FPFH) для заданного набора данных облака точек, содержащего точки и нормали, параллельно с использованием стандарта OpenMP.
- Примечание
- Если вы используете этот код в научной работе, укажите следующие источники:
- R.B. Rusu, N. Blodow, M. Beetz. Fast Point Feature Histograms (FPFH) for 3D Registration. В материалах Международной конференции IEEE по робототехнике и автоматизации (ICRA), Кобе, Япония, 12–17 мая 2009 г.
- R.B. Rusu, A. Holzbach, N. Blodow, M. Beetz. Fast Geometric Point Labeling using Conditional Random Fields. В материалах 22-й Международной конференции IEEE/RSJ по интеллектуальным роботам и системам (IROS), Сент-Луис, штат Миссури, США, 11–15 октября 2009 г.
- Внимание
- Для признаков FPFH приняты следующие правила:
- если не удаётся определить ближайших соседей точки запроса, признак FPFH получает значение NaN (не число)
- невозможно вычислить дескриптор FPFH для точки, координаты которой в 3D не являются конечными. Поэтому для любой точки, содержащей данные NaN в координате x, y или z, свойство признака FPFH получает значение NaN.
Определение в строке 74 файла fpfh_omp.h.
Документация по псевдонимам типов-членов
ConstPtr
| using pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const FPFHEstimationOMP<PointInT, PointNT, PointOutT> > |
Определение в строке 78 файла fpfh_omp.h.
PointCloudOut
| using pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
Определение в строке 92 файла fpfh_omp.h.
Ptr
| using pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<FPFHEstimationOMP<PointInT, PointNT, PointOutT> > |
Определение в строке 77 файла fpfh_omp.h.
Документация по конструкторам и деструкторам
FPFHEstimationOMP()
| inline |
Инициализирует планировщик и задаёт количество используемых потоков.
- Параметры
-
[in] nr_threads количество используемых аппаратных потоков (0 возвращает значение в автоматический режим)
Определение в строке 97 файла fpfh_omp.h.
Ссылки: pcl::Feature< PointInT, PointOutT >::feature_name_ и pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::setNumberOfThreads().
Описание функций-членов
setNumberOfThreads()
| void pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::setNumberOfThreads | ( | unsigned int |
nr_threads = 0
|
) |
Инициализирует планировщик и задаёт количество используемых потоков.
- Параметры
-
[in] nr_threads количество используемых аппаратных потоков (0 возвращает значение в автоматический режим)
Определение в строке 52 файла fpfh_omp.hpp.
Используется в pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::FPFHEstimationOMP().
Описание данных-членов
nr_bins_f1_
| int pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::nr_bins_f1_ {11} |
Количество подинтервалов для каждого углового признака.
Определение в строке 121 файла fpfh_omp.h.
nr_bins_f2_
| int pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::nr_bins_f2_ {11} |
Определение в строке 121 файла fpfh_omp.h.
nr_bins_f3_
| int pcl::FPFHEstimationOMP< PointInT, PointNT, PointOutT >::nr_bins_f3_ {11} |
Определение в строке 121 файла fpfh_omp.h.
Документация этого класса создана на основе следующих файлов:
- pcl/features/fpfh_omp.h
- pcl/features/impl/fpfh_omp.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_f_p_f_h_estimation_o_m_p.html