Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/features/vfh.h>

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

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

using PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut
using Ptr = shared_ptr< VFHEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const VFHEstimation< PointInT, PointNT, PointOutT > >
- Общедоступные типы, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 > >
using ConstPtr = shared_ptr< const FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 > >
- Общедоступные типы, унаследованные от 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

Открытые функции-члены

VFHEstimation ()
Конструктор без параметров. Подробнее...
void computePointSPFHSignature (const Eigen::Vector4f &centroid_p, const Eigen::Vector4f &centroid_n, const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const pcl::Indices &indices)
Вычислить сигнатуры SPFH (простые гистограммы признаков точки) для угловых признаков (f1, f2, f3) и признака расстояния (f4) заданной точки на основе её окрестности. Подробнее...
void setViewPoint (float vpx, float vpy, float vpz)
Задать точку обзора. Подробнее...
void getViewPoint (float &vpx, float &vpy, float &vpz)
Получить точку обзора. Подробнее...
void setUseGivenNormal (bool use)
Задать use_given_normal_. Подробнее...
void setNormalToUse (const Eigen::Vector3f &normal)
Задать используемую нормаль. Подробнее...
void setUseGivenCentroid (bool use)
Задать use_given_centroid_. Подробнее...
void setCentroidToUse (const Eigen::Vector3f &centroid)
Задать centroid_to_use_. Подробнее...
void setNormalizeBins (bool normalize)
Задать normalize_bins_ Подробнее...
void setNormalizeDistance (bool normalize)
Задать normalize_distances_ Подробнее...
void setFillSizeComponent (bool fill_size)
Задать size_component_ Подробнее...
void compute (PointCloudOut &output)
Перегруженный метод вычисления из pcl::Feature. Подробнее...
- Открытые функции-члены, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
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
Переопределяет operator[] класса PointCloud для сокращения кода. Подробнее...

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

bool initCompute () override
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
- Защищённые функции-члены, унаследованные от 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 ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

std::array< Eigen::VectorXf, 4 > hist_f_
Буфер для гистограммы f1. Подробнее...
Eigen::VectorXf hist_vp_
Буфер для гистограммы vp. Подробнее...
Eigen::Vector4f normal_to_use_
Нормаль, используемая для вычисления VFH. Подробнее...
Eigen::Vector4f centroid_to_use_
Центроид, используемый для вычисления VFH. Подробнее...
bool use_given_normal_ {false}
Использовать normal_to_use_. Подробнее...
bool use_given_centroid_ {false}
Использовать centroid_to_use_. Подробнее...
bool normalize_bins_ {true}
Нормализовать интервалы по общему количеству точек. Подробнее...
bool normalize_distances_ {false}
Нормализовать компонент распределения формы VFH. Подробнее...
bool size_component_ {false}
Включить или отключить компонент размера VFH. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
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::VFHSignature308>
class pcl::VFHEstimation< PointInT, PointNT, PointOutT >

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

Реализация VFH по умолчанию использует 45 интервалов для каждого из трёх расширенных значений FPFH, ещё 45 интервалов для расстояний между каждой точкой и центроидом, а также 128 интервалов для компонента точки обзора. В результате получается массив из 308 значений типа float. Они хранятся в типе точки pcl::VFHSignature308. Основное отличие дескрипторов PFH/FPFH от VFH состоит в том, что для заданного набора данных облака точек вычисляется только один дескриптор VFH (vfhs->size() должно быть равно 1), тогда как результирующие данные PFH/FPFH содержат столько же элементов, сколько точек в облаке.

Примечание
Если вы используете этот код в научной работе, пожалуйста, укажите следующую ссылку:
  • R.B. Rusu, G. Bradski, R. Thibaux, J. Hsu. Fast 3D Recognition and Pose Using the Viewpoint Feature Histogram. В сборнике трудов Международной конференции по интеллектуальным роботам и системам (IROS), Тайбэй, Тайвань, 18–22 октября 2010 г.
Примечание
Код сохраняет состояние, поскольку предполагается, что этот класс не будет распараллелен на несколько ядер. Пример параллельной реализации FPFH (Fast Point Feature Histogram) см. в FPFHEstimationOMP.
Автор
Radu B. Rusu

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

Описание псевдонимов типов-членов

ConstPtr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
using pcl::VFHEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const VFHEstimation<PointInT, PointNT, PointOutT> >

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

PointCloudOut

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
using pcl::VFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

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

Ptr

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
using pcl::VFHEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<VFHEstimation<PointInT, PointNT, PointOutT> >

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

Описание конструктора и деструктора

VFHEstimation()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
pcl::VFHEstimation< PointInT, PointNT, PointOutT >::VFHEstimation ( )
inline

Конструктор без параметров.

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

Описание функций-членов

compute()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::compute ( PointCloudOut & output )

Перегруженный метод вычисления из pcl::Feature.

Параметры
[out] output итоговый набор данных облака точек, содержащий оценённые признаки

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

Ссылки: pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize() и pcl::PointCloud< PointT >::width.

computePointSPFHSignature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature ( const Eigen::Vector4f & centroid_p,
const Eigen::Vector4f & centroid_n,
const pcl::PointCloud< PointInT > & cloud,
const pcl::PointCloud< PointNT > & normals,
const pcl::Indices & indices
)

Оценивает сигнатуры SPFH (простые гистограммы признаков точек) угловых признаков (f1, f2, f3) и признака расстояния (f4) для заданной точки по её окрестности.

Параметры
[in] centroid_p центроидная точка
[in] centroid_n нормаль в центроиде
[in] cloud набор данных, содержащий декартовы координаты XYZ двух точек
[in] normals набор данных, содержащий нормали поверхности в каждой точке из cloud
[in] indices индексы точек k-окрестности в наборе данных

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

Ссылки: pcl::computePairFeatures(), pcl::getMaxDistance(), M_PI и pcl_round().

getViewPoint()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::getViewPoint ( float & vpx,
float & vpy,
float & vpz
)
inline

Получает точку обзора.

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

initCompute()

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::initCompute
overrideprotectedvirtual

Этот метод следует вызвать перед началом фактического вычисления.

Переопределён из pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >.

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

setCentroidToUse()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse ( const Eigen::Vector3f & centroid )
inline

Задаёт centroid_to_use_.

Параметры
[in] centroid Центроид, используемый при вычислении VFH. Он используется для вычисления расстояний от всех точек до этого центроида.

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::centroid_to_use_.

setFillSizeComponent()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent ( bool fill_size )
inline

Задаёт size_component_.

Параметры
[in] fill_size Значение true указывает, что 4-й компонент VFH (компонент распределения формы) необходимо заполнить. В противном случае ему присваивается ноль.

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::size_component_.

setNormalizeBins()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins ( bool normalize )
inline

Задаёт normalize_bins_.

Параметры
[in] normalize Если значение true, бины VFH нормализуются с использованием общего количества точек

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_bins_.

setNormalizeDistance()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance ( bool normalize )
inline

Задаёт normalize_distances_.

Параметры
[in] normalize Если значение true, 4-й компонент VFH (компонент распределения формы) нормализуется по максимальному размеру между центроидом и облаком точек

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_distances_.

setNormalToUse()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse ( const Eigen::Vector3f & normal )
inline

Задаёт используемую нормаль.

Параметры
[in] normal Задаёт нормаль, используемую при вычислении VFH. Она используется для построения системы координат Дарбу.

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normal_to_use_.

setUseGivenCentroid()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid ( bool use )
inline

Задаёт use_given_centroid_.

Параметры
[in] use Установите значение true, если хотите использовать центроид, переданный через setCentroidToUse(centroid)

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_centroid_.

setUseGivenNormal()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal ( bool use )
inline

Задаёт use_given_normal_.

Параметры
[in] use Установите значение true, если хотите использовать нормаль, переданную в setNormalUse(normal)

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

Ссылки: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_normal_.

setViewPoint()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setViewPoint ( float vpx,
float vpy,
float vpz
)
inline

Задаёт точку обзора.

Параметры
[in] vpx координата X точки обзора
[in] vpy координата Y точки обзора
[in] vpz координата Z точки обзора

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

Описание данных-членов

centroid_to_use_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::centroid_to_use_
protected

Центроид, используемый для вычисления VFH.

По умолчанию — центроид всего облака точек

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse().

hist_f_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
std::array<Eigen::VectorXf, 4> pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f_
protected

Буфер для гистограммы f1.

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

hist_vp_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_vp_
protected

Буфер для гистограммы vp.

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

normal_to_use_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normal_to_use_
protected

Нормаль, используемая для вычисления VFH.

По умолчанию — средняя нормаль всего облака точек

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse().

normalize_bins_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_bins_ {true}
protected

Нормализует бины по общему количеству точек.

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins().

normalize_distances_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_distances_ {false}
protected

Нормализует компонент распределения формы VFH.

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance().

size_component_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::size_component_ {false}
protected

Включает или отключает компонент размера VFH.

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent().

use_given_centroid_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_centroid_ {false}
protected

Использует centroid_to_use_.

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid().

use_given_normal_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_normal_ {false}
protected

Использует normal_to_use_.

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

Используется в: pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal().


Документация этого класса сгенерирована по следующим файлам:
  • pcl/features/vfh.h
  • pcl/features/impl/vfh.hpp

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

Spec-Zone.ru

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