Spec-Zone.ru › PointCloudLibrary

PFHEstimation вычисляет описание Гистограммы точечных признаков (PFH) для заданного облака точек, содержащего точки и нормали. Подробнее...

#include <pcl/features/pfh.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]
END_OF_DOCUMENT_MARKER

Общедоступные типы

using Ptr = shared_ptr< PFHEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const PFHEstimation< PointInT, PointNT, PointOutT > >
using PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut
using PointCloudIn = typename Feature< PointInT, PointOutT >::PointCloudIn
- Общедоступные типы, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 >
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 > >
using ConstPtr = shared_ptr< const FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 > >
- Общедоступные типы, унаследованные от pcl::Feature< PointInT, 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 > &)>
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
using PointCloud = pcl::PointCloud< PointInT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Общедоступные члены-функции

PFHEstimation ()
Конструктор по умолчанию. Подробнее...
void setMaximumCacheSize (unsigned int cache_size)
Установить максимальный размер внутренней кэширования. Подробнее...
unsigned int getMaximumCacheSize ()
Получить максимальный размер внутренней кэширования. Подробнее...
void setUseInternalCache (bool use_cache)
Установить использование механизма внутренней кэширования для удаления избыточных вычислений. Подробнее...
bool getUseInternalCache ()
Получить, используется ли внутренняя кэш для вычисления характеристик PFH. Подробнее...
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)
Вычислить 4-кратное представление, содержащее три угла и одно расстояние между двумя точками, представленными декартовыми координатами и нормалями. Подробнее...
void computePointPFHSignature (const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const pcl::Indices &indices, int nr_split, Eigen::VectorXf &pfh_histogram)
Оценить отдельные сигнатуры PFH (гистограммы точек PFH) трех угловых (f1, f2, f3) характеристик для заданной точки на основе ее пространственного окружения 3D точек с нормалями. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 >
FeatureFromNormals ()
Конструктор по умолчанию. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Предоставьте указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного набора данных точек XYZ. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::Feature< PointInT, PointOutT >
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 () Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::PCLBase< PointInT >
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[] для сокращения кода. Подробнее...

Защищённые члены-функции

void computeFeature (PointCloudOut &output) override
Оценить описатели гистограмм точек (PFH) в наборе точек, заданных <setInputCloud (), setIndices ()> используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod () Подробнее...
- Защищённые члены-функции, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 >
virtual bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
- Защищённые члены-функции, унаследованные от pcl::Feature< PointInT, PointOutT >
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. Подробнее...
- Защищённые члены-функции, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

Защищенные атрибуты

int nr_subdiv_
Количество подразделений для каждого интервала угловых признаков. Подробнее...
Eigen::VectorXf pfh_histogram_
Заполнитель для подписи PFH точки. Подробнее...
Eigen::Vector4f pfh_tuple_
Заполнитель для 4-кортежа PFH. Подробнее...
int f_index_ [3]
Заполнитель для индекса гистограммы. Подробнее...
float d_pi_
Постоянная с плавающей точкой = 1.0 / (2.0 * M_PI) Подробнее...
std::map< std::pair< int, int >, Eigen::Vector4f, std::less<>, Eigen::aligned_allocator< std::pair< const std::pair< int, int >, Eigen::Vector4f > > > feature_map_
Внутренняя хеш-таблица, используемая для оптимизации эффективности вычислений при дублировании. Подробнее...
std::queue< std::pair< int, int > > key_list_
Очередь сохранённых пар, используемая для ограничения использования памяти. Подробнее...
unsigned int max_cache_size_
Максимальный размер внутренней кэш-памяти. Подробнее...
bool use_cache_
Установите в значение true, чтобы использовать внутренний кэш для удаления избыточных вычислений. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::PFHSignature125 >
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::Feature< PointInT, PointOutT >
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 как поверхность. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входящий набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Устанавливается в true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаем набор фиктивных индексов, имитирующих входной PointCloud. Подробнее...

Подробное описание

template<typename PointInT, typename PointNT, typename PointOutT = pcl::PFHSignature125>
class pcl::PFHEstimation< PointInT, PointNT, PointOutT >

PFHEstimation оценивает дескриптор Гистограммы точечных признаков (PFH) для заданного набора данных облака точек, содержащих точки и нормали.

Часто используемый тип для PointOutT — pcl::PFHSignature125.

Примечание
Если вы используете этот код в какой-либо академической работе, пожалуйста, укажите:
  • R.B. Rusu, N. Blodow, Z.C. Marton, M. Beetz. Выравнивание представлений облака точек с помощью постоянных гистограмм признаков. В Трудах 21-й Международной конференции IEEE/RSJ по интеллектуальным роботам и системам (IROS), Ницца, Франция, 22-26 сентября 2008 г.
  • R.B. Rusu, Z.C. Marton, N. Blodow, M. Beetz. Обучение информативным классам точек для приобретения карт моделей объектов. В Трудах 10-й Международной конференции по управлению, автоматизации, робототехнике и компьютерному зрению (ICARCV), Ханой, Вьетнам, 17-20 декабря 2008 г.
Внимание
Конвенция для признаков PFH:
  • если ближайшие соседи точки запроса не могут быть оценены, признак PFH будет установлен в NaN (не число)
  • невозможно оценить дескриптор PFH для точки, у которой нет конечных 3D-координат. Таким образом, любая точка, содержащая данные NaN в x, y или z, будет иметь свой признак PFH, установленный в NaN.
Примечание
Код является состоятельным, так как мы не ожидаем, что этот класс будет многопоточно параллелизован. Обратитесь к FPFHEstimationOMP для примеров параллельных реализаций FPFH (быстрой гистограммы точечных признаков).
Автор
Radu B. Rusu

Определение в строке 81 файла pfh.h.

Документация по перечислению типов данных

ConstPtr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
using pcl::PFHEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const PFHEstimation<PointInT, PointNT, PointOutT> >

Определение в строке 85 файла pfh.h.

PointCloudIn

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
using pcl::PFHEstimation< PointInT, PointNT, PointOutT >::PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn

Определение в строке 96 файла pfh.h.

PointCloudOut

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
using pcl::PFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

Определение в строке 95 файла pfh.h.

Ptr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
using pcl::PFHEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<PFHEstimation<PointInT, PointNT, PointOutT> >

Определение в строке 84 файла pfh.h.

Документация конструкторов и деструкторов

PFHEstimation()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
pcl::PFHEstimation< PointInT, PointNT, PointOutT >::PFHEstimation ( )
inline

Пустой конструктор.

Устанавливает use_cache_ в false, nr_subdiv_ в 5 и внутренний максимальный размер кэша в 1 ГБ.

Определение в строке 101 файла pfh.h.

Ссылки на pcl::Feature< PointInT, PointOutT >::feature_name_.

Документация по членам-функциям

computeFeature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::PFHEstimation< PointInT, PointNT, PointOutT >::computeFeature ( PointCloudOut & output )
overrideprotectedvirtual

Вычисление описателей точек Feature Histograms (PFH) в заданной точке, используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod ()

Параметры
[out] output результирующее облако точек, содержащее оценки признака PFH

Реализация pcl::Feature< PointInT, PointOutT >.

Определение в строке 167 файла pfh.hpp.

Ссылки на pcl::PointCloud< PointT >::is_dense и pcl::isFinite().

computePairFeatures()

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::PFHEstimation< PointInT, PointNT, PointOutT >::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
)

Вычислить 4-кортеж, содержащий три угла и одно расстояние между двумя точками, представленными декартовыми координатами и нормалями.

Примечание
Для объяснений функций, пожалуйста, обратитесь к упомянутой выше литературе (порядок функций может отличаться).
Параметры
[in] cloud набор данных, содержащий декартовы координаты XYZ двух точек
[in] normals набор данных, содержащий нормали к поверхностям (предполагая нормированные векторы) в каждой точке в облаке
[in] p_idx индекс первой точки (источника)
[in] q_idx индекс второй точки (цели)
[out] f1 первая угловая функция (угол между проекцией nq_idx и u)
[out] f2 вторая угловая функция (угол между nq_idx и v)
[out] f3 третья угловая функция (угол между np_idx и |p_idx - q_idx|)
[out] f4 функция расстояния (p_idx - q_idx)
Примечание
В целях повышения эффективности мы предполагаем, что данные точек, переданные в метод, конечны.

Определение в строке 49 файла pfh.hpp.

Ссылки на pcl::computePairFeatures().

computePointPFHSignature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::PFHEstimation< PointInT, PointNT, PointOutT >::computePointPFHSignature ( const pcl::PointCloud< PointInT > & cloud,
const pcl::PointCloud< PointNT > & normals,
const pcl::Indices & indices,
int nr_split,
Eigen::VectorXf & pfh_histogram
)

Вычислить индивидуальные подписи PFH (гистограммы точек Feature) для трех угловых (f1, f2, f3) функций для данной точки на основе её пространственного окрестности из 3D точек с нормалями.

Параметры
[in] cloud набор данных, содержащий декартовы координаты XYZ двух точек
[in] normals набор данных, содержащий нормали к поверхностям в каждой точке в cloud
[in] indices индексы k-окрестности точек в наборе данных
[in] nr_split число подразделений для каждого интервала угловых функций
[out] pfh_histogram результирующая (комбинаторная) гистограмма PFH, представляющая функцию в точке запроса

Определение в строке 61 файла pfh.hpp.

Ссылки на pcl::computePairFeatures(), pcl::isFinite(), и M_PI.

getMaximumCacheSize()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
unsigned int pcl::PFHEstimation< PointInT, PointNT, PointOutT >::getMaximumCacheSize ( )
inline

Получить максимальный размер внутренней кэш-памяти.

Определение в строке 123 файла pfh.h.

Ссылка на pcl::PFHEstimation< PointInT, PointNT, PointOutT >::max_cache_size_.

getUseInternalCache()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
bool pcl::PFHEstimation< PointInT, PointNT, PointOutT >::getUseInternalCache ( )
inline

Получить, используется ли внутренний кэш для вычисления признаков PFH.

Определение в строке 147 файла pfh.h.

Ссылка на pcl::PFHEstimation< PointInT, PointNT, PointOutT >::use_cache_.

setMaximumCacheSize()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
void pcl::PFHEstimation< PointInT, PointNT, PointOutT >::setMaximumCacheSize ( unsigned int cache_size )
inline

Установить максимальный размер внутренней кэш-памяти.

По умолчанию составляет 2 ГБ входящих записей.

Параметры
[in] cache_size максимальный размер кэша

Определение в строке 116 файла pfh.h.

Ссылка на pcl::PFHEstimation< PointInT, PointNT, PointOutT >::max_cache_size_.

setUseInternalCache()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
void pcl::PFHEstimation< PointInT, PointNT, PointOutT >::setUseInternalCache ( bool use_cache )
inline

Указать, использовать ли механизм внутренней кэширования для удаления избыточных вычислений.

Примечание
В зависимости от порядка облака точек и оценки ближайших соседей, использование кэша может оказать положительное или отрицательное влияние. Пожалуйста, протестируйте с кэшем и без кэша на ваших данных и выберите то, что работает лучше!

См. setMaximumCacheSize для установки максимального размера кэша

Параметры
[in] use_cache установить в true для использования внутреннего кэша, в false - иначе

Определение в строке 140 файла pfh.h.

Ссылка на pcl::PFHEstimation< PointInT, PointNT, PointOutT >::use_cache_.

Данные члена

d_pi_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
float pcl::PFHEstimation< PointInT, PointNT, PointOutT >::d_pi_
protected

Постоянная с плавающей точкой = 1.0 / (2.0 * M_PI)

Определение в строке 204 файла pfh.h.

f_index_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
int pcl::PFHEstimation< PointInT, PointNT, PointOutT >::f_index_[3]
protected

Заполнитель для индекса гистограммы.

Определение в строке 201 файла pfh.h.

feature_map_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
std::map<std::pair<int, int>, Eigen::Vector4f, std::less<>, Eigen::aligned_allocator<std::pair<const std::pair<int, int>, Eigen::Vector4f> > > pcl::PFHEstimation< PointInT, PointNT, PointOutT >::feature_map_
protected

Внутренняя хеш-таблица, используемая для повышения эффективности избыточных вычислений.

Определение в строке 207 файла pfh.h.

key_list_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
std::queue<std::pair<int, int> > pcl::PFHEstimation< PointInT, PointNT, PointOutT >::key_list_
protected

Очередь сохранённых пар, используемая для ограничения использования памяти.

Определение в строке 210 файла pfh.h.

max_cache_size_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
unsigned int pcl::PFHEstimation< PointInT, PointNT, PointOutT >::max_cache_size_
protected

Максимальный размер внутренней кэш-памяти.

Определение в строке 213 файла pfh.h.

Используется в pcl::PFHEstimation< PointInT, PointNT, PointOutT >::getMaximumCacheSize() и pcl::PFHEstimation< PointInT, PointNT, PointOutT >::setMaximumCacheSize().

nr_subdiv_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
int pcl::PFHEstimation< PointInT, PointNT, PointOutT >::nr_subdiv_
protected

Количество подразделений для каждого интервала угловых признаков.

Определение в строке 192 файла pfh.h.

pfh_histogram_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Eigen::VectorXf pcl::PFHEstimation< PointInT, PointNT, PointOutT >::pfh_histogram_
protected

Заполнитель для подписи PFH точки.

Определение в строке 195 файла pfh.h.

pfh_tuple_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Eigen::Vector4f pcl::PFHEstimation< PointInT, PointNT, PointOutT >::pfh_tuple_
protected

Заполнитель для 4-кортежа PFH.

Определение в строке 198 файла pfh.h.

use_cache_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
bool pcl::PFHEstimation< PointInT, PointNT, PointOutT >::use_cache_
protected

Устанавливается в значение true для использования внутренней кэширования для удаления избыточных вычислений.

Определение в строке 216 файла pfh.h.

Используется в pcl::PFHEstimation< PointInT, PointNT, PointOutT >::getUseInternalCache() и pcl::PFHEstimation< PointInT, PointNT, PointOutT >::setUseInternalCache().


The documentation for this class was generated from the following files:
  • pcl/features/pfh.h
  • pcl/features/impl/pfh.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_p_f_h_estimation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API