Spec-Zone.ru › PointCloudLibrary
PFHEstimation вычисляет описание Гистограммы точечных признаков (PFH) для заданного облака точек, содержащего точки и нормали. Подробнее...
#include <pcl/features/pfh.h >
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
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 > >
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 > &)>
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 точек с нормалями. Подробнее...
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)
void
computeFeature (PointCloudOut &output) override
Оценить описатели гистограмм точек (PFH) в наборе точек, заданных <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_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, чтобы использовать внутренний кэш для удаления избыточных вычислений. Подробнее...
PointCloudNConstPtr
normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
std::string
feature_name_
Имя признака. Подробнее...
SearchMethodSurface
search_method_surface_
Шаблон метода поиска для точек. Подробнее...
PointCloudInConstPtr
surface_
Входное облако точек, описывающее поверхность, которая используется для оценки ближайших соседей. Подробнее...
KdTreePtr
tree_
Указатель на объект пространственного поиска. Подробнее...
double
search_parameter_
Фактический параметр поиска (из search_radius_ или k_ ). Подробнее...
double
search_radius_
Радиус поиска ближайших соседей для каждой точки. Подробнее...
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>
Определение в строке 85 файла pfh.h .
PointCloudIn template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Определение в строке 96 файла pfh.h .
PointCloudOut template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Определение в строке 95 файла pfh.h .
Ptr template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Определение в строке 84 файла pfh.h .
PFHEstimation() template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
computeFeature() template<typename PointInT , typename PointNT , typename PointOutT >
computePairFeatures() template<typename PointInT , typename PointNT , typename PointOutT >
Вычислить 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 >
Вычислить индивидуальные подписи 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>
getUseInternalCache() template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
setMaximumCacheSize() template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
void pcl::PFHEstimation < PointInT, PointNT, PointOutT >::setMaximumCacheSize ( unsigned int cache_size
)
inline
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>
Постоянная с плавающей точкой = 1.0 / (2.0 * M_PI)
Определение в строке 204 файла pfh.h .
f_index_ template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Заполнитель для индекса гистограммы.
Определение в строке 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>
nr_subdiv_ template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Количество подразделений для каждого интервала угловых признаков.
Определение в строке 192 файла pfh.h .
pfh_histogram_ template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Заполнитель для подписи PFH точки.
Определение в строке 195 файла pfh.h .
pfh_tuple_ template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
Заполнитель для 4-кортежа PFH.
Определение в строке 198 файла pfh.h .
use_cache_ template<typename PointInT , typename PointNT , typename PointOutT = pcl::PFHSignature125>
The documentation for this class was generated from the following files: