Spec-Zone.ru › PointCloudLibrary
GASDEstimation вычисляет дескриптор глобально выровненного пространственного распределения (GASD) для заданного набора данных облака точек по данным XYZ. Подробнее...
#include <pcl/features/gasd.h >
using
Ptr = shared_ptr< GASDEstimation < PointInT, PointOutT > >
using
ConstPtr = shared_ptr< const GASDEstimation < PointInT, PointOutT > >
using
BaseClass = PCLBase < PointInT >
using
Ptr = shared_ptr< Feature < PointInT, GASDSignature512 > >
using
ConstPtr = shared_ptr< const Feature < PointInT, GASDSignature512 > >
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 < GASDSignature512 >
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
GASDEstimation (const Eigen::Vector3f &view_direction=Eigen::Vector3f(0.0f, 0.0f, 1.0f), const std::size_t shape_half_grid_size=4, const std::size_t shape_hists_size=1, const HistogramInterpolationMethod shape_interp=INTERP_TRILINEAR )
Конструктор. Подробнее...
void
setViewDirection (const Eigen::Vector3f &dir)
Задать направление обзора. Подробнее...
void
setShapeHalfGridSize (const std::size_t shgs)
Задать размер половины сетки формы. Подробнее...
void
setShapeHistsSize (const std::size_t shs)
Задать размер гистограмм формы. Подробнее...
void
setShapeHistsInterpMethod (const HistogramInterpolationMethod interp)
Задать метод интерполяции гистограмм формы. Подробнее...
const Eigen::Matrix4f &
getTransform () const
Возвращает преобразование, совмещающее облако точек с канонической системой координат. Подробнее...
void
compute (PointCloudOut &output)
Перегруженный метод вычисления из pcl::Feature . Подробнее...
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 operator[], чтобы сократить код. Подробнее...
void
addSampleToHistograms (const Eigen::Vector4f &p, const float max_coord, const std::size_t half_grid_size, const HistogramInterpolationMethod interp, const float hbin, const float hist_incr, std::vector< Eigen::VectorXf > &hists)
Добавляет образец в соответствующую гистограмму, при необходимости выполняя интерполяцию. Подробнее...
void
computeFeature (PointCloudOut &output) override
Оценивает дескриптор GASD. Подробнее...
const std::string &
getClassName () const
Получить строковое представление имени этого класса. Подробнее...
virtual bool
initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
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 ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...
template<typename PointInT, typename PointOutT = GASDSignature512> class pcl::GASDEstimation< PointInT, PointOutT > GASDEstimation вычисляет дескриптор Globally Aligned Spatial Distribution (GASD) для заданного набора данных облака точек с использованием данных XYZ.
Рекомендуемый тип PointOutT — pcl::GASDSignature512 .
Примечание
При использовании этого кода в научных работах просим указать ссылку:
J. Lima, V. Teichrieb. An Efficient Global Point Cloud Descriptor for распознавания объектов и оценки позы. В материалах 29-й конференции SIBGRAPI по графике, шаблонам и изображениям, Сан-Жозе-дус-Кампус, Бразилия, 4–7 октября 2016 г.
Автор
Joao Paulo Lima
Лаборатории Voxar, Центр информатики, Федеральный университет Пернамбуку, Бразилия
Факультет статистики и информатики, Федеральный сельский университет Пернамбуку, Бразилия
Определение в строке 74 файла gasd.h .
ConstPtr template<typename PointInT , typename PointOutT = GASDSignature512>
Ptr template<typename PointInT , typename PointOutT = GASDSignature512>
GASDEstimation() template<typename PointInT , typename PointOutT = GASDSignature512>
addSampleToHistograms() template<typename PointInT , typename PointOutT >
void pcl::GASDEstimation < PointInT, PointOutT >::addSampleToHistograms ( const Eigen::Vector4f &
p , const float
max_coord , const std::size_t
half_grid_size , const HistogramInterpolationMethod
interp , const float
hbin , const float
hist_incr , std::vector< Eigen::VectorXf > &
hists )
protected
Добавляет образец в соответствующую гистограмму, при необходимости выполняя интерполяцию.
Параметры
[in]
p
образец гистограммы
[in]
max_coord
коэффициент нормализации относительно осево-ориентированного ограничивающего куба с центром в начале координат
[in]
half_grid_size
половинный размер регулярной сетки, используемой для вычисления дескриптора
[in]
interp
метод интерполяции, используемый при вычислении дескриптора
[in]
hbin
бин гистограммы
[in]
hist_incr
коэффициент нормализации вклада образца
[in,out]
hists
обновлённые гистограммы
Определение в строке 118 файла gasd.hpp .
Ссылки на pcl::INTERP_NONE .
compute() template<typename PointInT , typename PointOutT >
Перегруженный метод вычисления из pcl::Feature .
Параметры
[out]
output
итоговый набор данных модели облака точек, содержащий вычисленный признак
Определение в строке 50 файла gasd.hpp .
computeFeature() template<typename PointInT , typename PointOutT >
getTransform() template<typename PointInT , typename PointOutT = GASDSignature512>
Возвращает преобразование, совмещающее облако точек с канонической системой координат.
Определение в строке 144 файла gasd.h .
setShapeHalfGridSize() template<typename PointInT , typename PointOutT = GASDSignature512>
void pcl::GASDEstimation < PointInT, PointOutT >::setShapeHalfGridSize ( const std::size_t shgs
)
inline
Задать размер половины сетки формы.
Параметры
[in]
shgs
размер половины сетки формы
Определение в строке 115 файла gasd.h .
setShapeHistsInterpMethod() template<typename PointInT , typename PointOutT = GASDSignature512>
Задать метод интерполяции гистограмм формы.
Параметры
[in]
interp
метод интерполяции гистограмм формы
Определение в строке 135 файла gasd.h .
setShapeHistsSize() template<typename PointInT , typename PointOutT = GASDSignature512>
Задать размер гистограмм формы.
Если размер равен 1, каждый бин гистограммы будет хранить количество точек, принадлежащих соответствующей ячейке регулярной 3D-сетки. Если размер > 1, для каждой ячейки будет вычислена гистограмма нормализованных расстояний от каждого образца до центра облака.
Параметры
[in]
shs
размер гистограмм формы
Определение в строке 126 файла gasd.h .
setViewDirection() template<typename PointInT , typename PointOutT = GASDSignature512>
void pcl::GASDEstimation < PointInT, PointOutT >::setViewDirection ( const Eigen::Vector3f & dir
)
inline
Задать направление обзора.
Параметры
[in]
dir
направление обзора
Определение в строке 106 файла gasd.h .
hist_incr_ template<typename PointInT , typename PointOutT = GASDSignature512>
Вклад нормализованного образца относительно общего количества точек в облаке.
Определение в строке 170 файла gasd.h .
max_coord_ template<typename PointInT , typename PointOutT = GASDSignature512>
Коэффициент нормализации относительно ограничивающего куба, выровненного по осям и центрированного в начале координат.
Определение в строке 167 файла gasd.h .
pos_ template<typename PointInT , typename PointOutT = GASDSignature512>
Текущая позиция облака точек выходного дескриптора.
Определение в строке 173 файла gasd.h .
shape_samples_ template<typename PointInT , typename PointOutT = GASDSignature512>
Облако точек, совмещённое с канонической системой координат.
Определение в строке 164 файла gasd.h .
Документация этого класса создана на основе следующих файлов: