Spec-Zone.ru › PointCloudLibrary

Реализует алгоритм супервокселей на основе структуры вокселей, нормалей и значений RGB. Подробнее...

#include <pcl/segmentation/supervoxel_clustering.h>

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

Классы

class VoxelData
VoxelData — структура для хранения данных в pcl::octree::OctreePointCloudAdjacencyContainer. Подробнее...

Открытые типы

using LeafContainerT = pcl::octree::OctreePointCloudAdjacencyContainer< PointT, VoxelData >
using LeafVectorT = std::vector< LeafContainerT * >
using PointCloudT = pcl::PointCloud< PointT >
using NormalCloudT = pcl::PointCloud< Normal >
using OctreeAdjacencyT = pcl::octree::OctreePointCloudAdjacency< PointT, LeafContainerT >
using OctreeSearchT = pcl::octree::OctreePointCloudSearch< PointT >
using KdTreeT = pcl::search::KdTree< PointT >
using IndicesPtr = pcl::IndicesPtr
using VoxelAdjacencyList = boost::adjacency_list< boost::setS, boost::setS, boost::undirectedS, std::uint32_t, float >
using VoxelID = VoxelAdjacencyList::vertex_descriptor
using EdgeID = VoxelAdjacencyList::edge_descriptor
- Открытые типы, унаследованные от pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Публичные члены-функции

SupervoxelClustering (float voxel_resolution, float seed_resolution)
Конструктор, устанавливающий значения по умолчанию для переменных-членов. Подробнее...
~SupervoxelClustering () override
Этот деструктор уничтожает облако точек, нормали и метод поиска, используемый для поиска соседей. Подробнее...
void setVoxelResolution (float resolution)
Установить разрешение объёмных ячеек ок-дерева. Подробнее...
float getVoxelResolution () const
Получить разрешение объёмных ячеек ок-дерева. Подробнее...
void setSeedResolution (float seed_resolution)
Установить разрешение семя ячеек ок-дерева. Подробнее...
float getSeedResolution () const
Получить разрешение семя ячеек ок-дерева. Подробнее...
void setColorImportance (float val)
Установить важность цвета для суперпикселей. Подробнее...
void setSpatialImportance (float val)
Установить важность пространственного расстояния для суперпикселей. Подробнее...
void setNormalImportance (float val)
Установить важность скалярного произведения нормалей для суперпикселей. Подробнее...
void setUseSingleCameraTransform (bool val)
Установить использование преобразования единственной камеры. Подробнее...
virtual void extract (std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters)
Этот метод запускает алгоритм сегментации и возвращает суперпиксели, полученные во время сегментации. Подробнее...
void setInputCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud) override
Этот метод устанавливает облако точек для суперпикселизации. Подробнее...
virtual void setNormalCloud (typename NormalCloudT::ConstPtr normal_cloud)
Этот метод устанавливает нормали, которые будут использоваться для суперпикселей (должны быть того же размера, что и облако входных точек). Подробнее...
virtual void refineSupervoxels (int num_itr, std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters)
Этот метод уточняет рассчитанные суперпиксели - может быть вызван только после extract. Подробнее...
pcl::PointCloud< PointT >::Ptr getVoxelCentroidCloud () const
Возвращает глубокую копию облака центроидов объёмных ячеек. Подробнее...
pcl::PointCloud< PointXYZL >::Ptr getLabeledCloud () const
Возвращает помеченное облако. Точки, принадлежащие одному суперпикселю, имеют одинаковую метку. Подробнее...
pcl::PointCloud< pcl::PointXYZL >::Ptr getLabeledVoxelCloud () const
Возвращает помеченные вокселизованные облака точек, которые принадлежат одному супервокселю, имеют один и тот же метку. Подробнее...
void getSupervoxelAdjacencyList (VoxelAdjacencyList &adjacency_list_arg) const
Получает список смежности (библиотека Boost Graph), который показывает связи между супервокселями. Подробнее...
void getSupervoxelAdjacency (std::multimap< std::uint32_t, std::uint32_t > &label_adjacency) const
Получает карту множеств, которая показывает смежность супервокселей. Подробнее...
int getMaxLabel () const
Возвращает текущую максимальную (наибольшую) метку. Подробнее...
- Публичные члены-функции, унаследованные от pcl::PCLBase< PointT >
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 PointT & operator[] (std::size_t pos) const
Переопределение оператора PointCloud operator[] для сокращения кода. Подробнее...

Статические публичные члены-функции

static pcl::PointCloud< pcl::PointNormal >::Ptr makeSupervoxelNormalCloud (std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters)
Статическая вспомогательная функция, возвращающая облако точек нормалей для входных супервокселей. Подробнее...

Друзья

class SupervoxelHelper
void boost::checked_delete (const typename pcl::SupervoxelClustering< PointT >::SupervoxelHelper *)

Дополнительные унаследованные члены

- Защищённые члены-функции, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входные данные облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Устанавливается в true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее...

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

шаблон<typename PointT>
класс pcl::SupervoxelClustering< PointT >

Реализует алгоритм супервокселей на основе структуры вокселей, нормалей и значений rgb.

Примечание
Супервоксели — это свёрнутые объёмные участки (обычно поверхности)
Обычно цвет не нужен (и может быть вредным) — используется в основном пространственная структура
  • J. Papon, A. Abramov, M. Schoeler, F. Woergoetter Разбиение по связности облака вокселей — Супервоксели из облаков точек В материалах конференции IEEE по компьютерному зрению и распознаванию образов (CVPR) 2013
Автор
Жереми Папон (jpapo.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)

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

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

EdgeID

шаблон<typename PointT >
используя pcl::SupervoxelClustering< PointT >::EdgeID = VoxelAdjacencyList::edge_descriptor

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

IndicesPtr

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::IndicesPtr = pcl::IndicesPtr

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

KdTreeT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::KdTreeT = pcl::search::KdTree<PointT>

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

LeafContainerT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::LeafContainerT = pcl::octree::OctreePointCloudAdjacencyContainer<PointT, VoxelData>

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

LeafVectorT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::LeafVectorT = std::vector<LeafContainerT *>

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

NormalCloudT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::NormalCloudT = pcl::PointCloud<Normal>

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

OctreeAdjacencyT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::OctreeAdjacencyT = pcl::octree::OctreePointCloudAdjacency<PointT, LeafContainerT>

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

OctreeSearchT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::OctreeSearchT = pcl::octree::OctreePointCloudSearch<PointT>

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

PointCloudT

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::PointCloudT = pcl::PointCloud<PointT>

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

VoxelAdjacencyList

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::VoxelAdjacencyList = boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, std::uint32_t, float>

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

VoxelID

template<typename PointT >
using pcl::SupervoxelClustering< PointT >::VoxelID = VoxelAdjacencyList::vertex_descriptor

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

Конструктор и деструктор

SupervoxelClustering()

template<typename PointT >
pcl::SupervoxelClustering< PointT >::SupervoxelClustering ( float voxel_resolution,
float seed_resolution
)

Конструктор, который задаёт значения по умолчанию для переменных-членов.

Параметры
[in] voxel_resolution Разрешение (в метрах) используемых объёмов
[in] seed_resolution Средний размер (в метрах) полученных суперпикселей

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

~SupervoxelClustering()

template<typename PointT >
pcl::SupervoxelClustering< PointT >::~SupervoxelClustering ( )
overridedefault

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

Другими словами, он освобождает память.

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

extract()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::extract ( std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > & supervoxel_clusters )
virtual

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

Параметры
[out] supervoxel_clusters Карта меток указателей на структуры супервокселей

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

getLabeledCloud()

template<typename PointT >
pcl::PointCloud< pcl::PointXYZL >::Ptr pcl::SupervoxelClustering< PointT >::getLabeledCloud

Возвращает метки облака точек. Точки, относящиеся к одному супервокселю, имеют одинаковую метку.

Метки сегментов начинаются с 1, неустановленные точки имеют метку 0

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

getLabeledVoxelCloud()

template<typename PointT >
pcl::PointCloud< pcl::PointXYZL >::Ptr pcl::SupervoxelClustering< PointT >::getLabeledVoxelCloud

Возвращает метки вокселизированного облака. Точки, относящиеся к одному супервокселю, имеют одинаковую метку.

Метки сегментов начинаются с 1, неустановленные точки имеют метку 0

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

getMaxLabel()

template<typename PointT >
int pcl::SupervoxelClustering< PointT >::getMaxLabel

Возвращает текущую максимальную метку.

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

getSeedResolution()

template<typename PointT >
float pcl::SupervoxelClustering< PointT >::getSeedResolution

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

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

getSupervoxelAdjacency()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::getSupervoxelAdjacency ( std::multimap< std::uint32_t, std::uint32_t > & label_adjacency ) const

Получить многоотображения, которое определяет смежность супервокселей.

Параметры
[out] label_adjacency Многоотображения, которое отображает метку супервокселя на все смежные метки супервокселей

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

getSupervoxelAdjacencyList()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::getSupervoxelAdjacencyList ( VoxelAdjacencyList & adjacency_list_arg ) const

Получить список смежности (библиотека Boost Graph) для связей между супервокселями.

Параметры
[out] adjacency_list_arg Граф BGL, где метки супервокселей являются вершинами, а ребра — отношениями касания

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

getVoxelCentroidCloud()

template<typename PointT >
pcl::PointCloud< PointT >::Ptr pcl::SupervoxelClustering< PointT >::getVoxelCentroidCloud

Возвращает глубокую копию облака центроидов вокселей.

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

getVoxelResolution()

template<typename PointT >
float pcl::SupervoxelClustering< PointT >::getVoxelResolution

Получить разрешение объёмов октального дерева.

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

makeSupervoxelNormalCloud()

template<typename PointT >
pcl::PointCloud< pcl::PointNormal >::Ptr pcl::SupervoxelClustering< PointT >::makeSupervoxelNormalCloud ( std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > & supervoxel_clusters )
static

Статическая вспомогательная функция, возвращающая облако нормалей для входных супервокселей.

Параметры
[in] supervoxel_clusters Карта кластеров Supervoxel, полученная из этого класса
Возвращает
Облако PointNormals супервокселей

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

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

refineSupervoxels()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::refineSupervoxels ( int num_itr,
std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > & supervoxel_clusters
)
virtual

Этот метод уточняет рассчитанные супервоксели - может быть вызван только после extract.

Параметры
[in] num_itr Количество итераций уточнения (обычно достаточно 2 или 3)
[out] supervoxel_clusters Результат уточнения супервокселей

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

setColorImportance()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setColorImportance ( float val )

Установить важность цвета для супервокселей.

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

setInputCloud()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setInputCloud ( const typename pcl::PointCloud< PointT >::ConstPtr & cloud )
override

Этот метод устанавливает облако для супервоксельной сегментации.

Параметры
[in] cloud Облако для супервоксельной сегментации

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

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

setNormalCloud()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setNormalCloud ( typename NormalCloudT::ConstPtr normal_cloud )
virtual

Этот метод устанавливает нормали, используемые для супервокселей (размер должен совпадать с размером входного облака).

Параметры
[in] normal_cloud Входные нормали

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

setNormalImportance()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setNormalImportance ( float val )

Установить важность скалярного произведения нормалей для супервокселей.

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

setSeedResolution()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setSeedResolution ( float seed_resolution )

Установить разрешение семя-вокселей октального дерева.

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

setSpatialImportance()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setSpatialImportance ( float val )

Установите важность пространственного расстояния для супервокселей.

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

setUseSingleCameraTransform()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setUseSingleCameraTransform ( bool val )

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

Примечание
По умолчанию он используется для организованных облаков, но не для неорганизованных — этот параметр переопределит это поведение. Преобразование для одной камеры масштабирует размер ячейки таким образом, что он экспоненциально увеличивается с глубиной (размер z). Это делается для учета уменьшения плотности точек с увеличением глубины при использовании RGB-D камеры. Без преобразования, за пределами определённой глубины, смежность вокселей нарушается, если размер вокселя не задан большим значением. Используя преобразование, сохраняется детализация вблизи, при этом сохраняется смежность на расстоянии. Используемое здесь конкретное преобразование: x /= z; y /= z; z = ln(z); Это преобразование применяется при вычислении ячеек октрее в OctreePointCloudAdjacency

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

setVoxelResolution()

template<typename PointT >
void pcl::SupervoxelClustering< PointT >::setVoxelResolution ( float resolution )

Установить разрешение вокселей октрее.

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

Документация для функций-друзей и родственных функций

boost::checked_delete

template<typename PointT >
void boost::checked_delete ( const typename pcl::SupervoxelClustering< PointT >::SupervoxelHelper * )
friend

SupervoxelHelper

template<typename PointT >
friend class SupervoxelHelper
friend

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


Документация для данного класса была сгенерирована из следующих файлов:
  • pcl/segmentation/supervoxel_clustering.h
  • pcl/segmentation/impl/supervoxel_clustering.hpp

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

Spec-Zone.ru

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