Spec-Zone.ru › PointCloudLibrary

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

Обзор

Библиотека pcl_sample_consensus содержит методы согласования выборок (SAC), такие как RANSAC, и модели, такие как плоскости и цилиндры. Их можно свободно комбинировать для обнаружения конкретных моделей и их параметров в облаках точек.

Некоторые из моделей, реализованных в этой библиотеке, включают: прямые, плоскости, цилиндры и сферы. При построении плоскости часто применяют задачу обнаружения общих внутренних поверхностей, таких как стены, полы и столешницы. Другие модели можно использовать для обнаружения и сегментации объектов с общими геометрическими структурами (например, для подгонки модели цилиндра к кружке).

Поддерживаются следующие модели:

  • SACMODEL_PLANE - используется для определения моделей плоскостей. Четыре коэффициента плоскости представляют собой её нормальную форму Гессе: [normal_x normal_y normal_z d]
  • SACMODEL_LINE - используется для определения моделей прямых. Шесть коэффициентов прямой задаются точкой на прямой и направлением прямой как: [point_on_line.x point_on_line.y point_on_line.z line_direction.x line_direction.y line_direction.z]
  • SACMODEL_CIRCLE2D - используется для определения 2D окружностей в плоскости. Три коэффициента окружности задаются её центром и радиусом: [center.x center.y radius]
  • SACMODEL_CIRCLE3D - используется для определения 3D окружностей в плоскости. Семь коэффициентов окружности задаются её центром, радиусом и нормалью: [center.x, center.y, center.z, radius, normal.x, normal.y, normal.z]
  • SACMODEL_SPHERE - используется для определения моделей сфер. Четыре коэффициента сферы задаются её 3D центром и радиусом: [center.x center.y center.z radius]
  • SACMODEL_CYLINDER - используется для определения моделей цилиндров. Семь коэффициентов цилиндра задаются точкой на его оси, направлением оси и радиусом, как: [point_on_axis.x point_on_axis.y point_on_axis.z axis_direction.x axis_direction.y axis_direction.z radius]
  • SACMODEL_CONE - используется для определения моделей конусов. Семь коэффициентов конуса задаются вершиной, направлением оси и углом раскрытия, как: [apex.x, apex.y, apex.z, axis_direction.x, axis_direction.y, axis_direction.z, opening_angle]
  • SACMODEL_TORUS - ещё не реализовано
  • SACMODEL_PARALLEL_LINE - модель для определения прямой, параллельной заданной оси, в пределах максимального заданного углового отклонения. Коэффициенты прямой аналогичны SACMODEL_LINE .
  • SACMODEL_PERPENDICULAR_PLANE - модель для определения плоскости, перпендикулярной заданной оси, в пределах максимального заданного углового отклонения. Коэффициенты плоскости аналогичны SACMODEL_PLANE .
  • SACMODEL_PARALLEL_LINES - ещё не реализовано
  • SACMODEL_NORMAL_PLANE - модель для определения моделей плоскостей с дополнительным ограничением: нормали поверхности в каждой точке-ближайшей должна быть параллельна нормали выходной плоскости, в пределах максимального заданного углового отклонения. Коэффициенты плоскости аналогичны SACMODEL_PLANE .
  • SACMODEL_NORMAL_SPHERE - аналогично SACMODEL_SPHERE , но с дополнительными ограничениями на нормаль поверхности.
  • SACMODEL_PARALLEL_PLANE - модель для определения плоскости, параллельной заданной оси, в пределах максимального заданного углового отклонения. Коэффициенты плоскости аналогичны SACMODEL_PLANE .
  • SACMODEL_NORMAL_PARALLEL_PLANE определяет модель для сегментации 3D плоскостей с дополнительными ограничениями на нормаль поверхности. Нормаль плоскости должна быть параллельна заданной оси. Таким образом, SACMODEL_NORMAL_PARALLEL_PLANE эквивалентно SACMODEL_NORMAL_PLANE + SACMODEL_PERPENDICULAR_PLANE. Коэффициенты плоскости аналогичны SACMODEL_PLANE .
  • SACMODEL_STICK - модель для сегментации 3D стержней. Стержень представляет собой прямую с заданной минимальной/максимальной шириной.
  • SACMODEL_ELLIPSE3D - используется для определения 3D эллипсов в плоскости. Одиннадцать коэффициентов эллипса задаются центром и радиусом: [center.x, center.y, center.z, semi_axis.u, semi_axis.v, normal.x, normal.y, normal.z, u.x, u.y, u.z]

В следующем списке описаны реализованные алгоритмы согласования выборок:

  • SAC_RANSAC - RANdom SAmple Consensus
  • SAC_LMEDS - Least Median of Squares
  • SAC_MSAC - M-Estimator SAmple Consensus
  • SAC_RRANSAC - Randomized RANSAC
  • SAC_RMSAC - Randomized MSAC
  • SAC_MLESAC - Maximum LikeLihood Estimation SAmple Consensus
  • SAC_PROSAC - PROgressive SAmple Consensus

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

Требования

  • common
END_OF_DOCUMENT_MARKER

Классы

class pcl::LeastMedianSquares< PointT >
LeastMedianSquares представляет реализацию алгоритма LMedS (Least Median of Squares). Подробнее...
class pcl::MaximumLikelihoodSampleConsensus< PointT >
MaximumLikelihoodSampleConsensus представляет реализацию алгоритма MLESAC (Maximum Likelihood Estimator SAmple Consensus), как описано в: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S. Подробнее...
class pcl::MEstimatorSampleConsensus< PointT >
MEstimatorSampleConsensus представляет реализацию алгоритма MSAC (M-estimator SAmple Consensus), как описано в: "MLESAC: A new robust estimator with application to estimating image geometry", P.H.S. Подробнее...
class pcl::ProgressiveSampleConsensus< PointT >
ProgressiveSampleConsensus представляет реализацию алгоритма PROSAC (PROgressive SAmple Consensus), как описано в: "Matching with PROSAC – Progressive Sample Consensus", Chum, O. Подробнее...
class pcl::RandomSampleConsensus< PointT >
RandomSampleConsensus представляет реализацию алгоритма RANSAC (RANdom SAmple Consensus), как описано в: "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography", Martin A. Подробнее...
class pcl::RandomizedMEstimatorSampleConsensus< PointT >
RandomizedMEstimatorSampleConsensus представляет реализацию алгоритма RMSAC (Randomized M-estimator SAmple Consensus), который добавляет тест Td,d (см. RandomizedRandomSampleConsensus) к оценщику MSAC (см. MEstimatorSampleConsensus). Подробнее...
class pcl::RandomizedRandomSampleConsensus< PointT >
RandomizedRandomSampleConsensus представляет реализацию алгоритма RRANSAC (Randomized RANdom SAmple Consensus), как описано в "Randomized RANSAC with Td,d test", O. Подробнее...
class pcl::SampleConsensus< T >
SampleConsensus представляет базовый класс. Подробнее...
class pcl::SampleConsensusModel< PointT >
SampleConsensusModel представляет базовый модельный класс. Подробнее...
class pcl::SampleConsensusModelFromNormals< PointT, PointNT >
SampleConsensusModelFromNormals представляет базовый модельный класс для моделей, которые требуют использования нормалей поверхности для оценки. Подробнее...
class pcl::SampleConsensusModelCircle2D< PointT >
SampleConsensusModelCircle2D определяет модель для сегментации окружностей 2D на плоскости X-Y. Подробнее...
class pcl::SampleConsensusModelCircle3D< PointT >
SampleConsensusModelCircle3D определяет модель для сегментации окружностей 3D. Подробнее...
class pcl::SampleConsensusModelCone< PointT, PointNT >
SampleConsensusModelCone определяет модель для сегментации конусов 3D. Подробнее...
class pcl::SampleConsensusModelCylinder< PointT, PointNT >
SampleConsensusModelCylinder определяет модель для сегментации цилиндров 3D. Подробнее...
class pcl::SampleConsensusModelEllipse3D< PointT >
SampleConsensusModelEllipse3D определяет модель для сегментации эллипсов 3D. Подробнее...
class pcl::SampleConsensusModelLine< PointT >
pcl::SampleConsensusModelLine определяет модель для сегментации 3D линий. Подробнее...
class pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >
pcl::SampleConsensusModelNormalParallelPlane определяет модель для сегментации 3D плоскостей с использованием дополнительных ограничений на нормаль к поверхности. Подробнее...
class pcl::SampleConsensusModelNormalPlane< PointT, PointNT >
pcl::SampleConsensusModelNormalPlane определяет модель для сегментации 3D плоскостей с использованием дополнительных ограничений на нормаль к поверхности. Подробнее...
class pcl::SampleConsensusModelNormalSphere< PointT, PointNT >
pcl::SampleConsensusModelNormalSphere определяет модель для сегментации 3D сфер с использованием дополнительных ограничений на нормаль к поверхности. Подробнее...
class pcl::SampleConsensusModelParallelLine< PointT >
pcl::SampleConsensusModelParallelLine определяет модель для сегментации 3D линий с использованием дополнительных угловых ограничений. Подробнее...
class pcl::SampleConsensusModelParallelPlane< PointT >
pcl::SampleConsensusModelParallelPlane определяет модель для сегментации 3D плоскостей с использованием дополнительных угловых ограничений. Подробнее...
class pcl::SampleConsensusModelPerpendicularPlane< PointT >
pcl::SampleConsensusModelPerpendicularPlane определяет модель для сегментации 3D плоскостей с использованием дополнительных угловых ограничений. Подробнее...
class pcl::SampleConsensusModelPlane< PointT >
pcl::SampleConsensusModelPlane определяет модель для сегментации 3D плоскостей. Подробнее...
class pcl::SampleConsensusModelRegistration< PointT >
pcl::SampleConsensusModelRegistration определяет модель для отбрасывания выбросов в регистрации точечных облаков по точечным соответствиям. Подробнее...
class pcl::SampleConsensusModelRegistration2D< PointT >
pcl::SampleConsensusModelRegistration2D определяет модель для отбрасывания выбросов в регистрации точечных облаков по точечным соответствиям, используя расстояния между 2D пикселями. Подробнее...
class pcl::SampleConsensusModelSphere< PointT >
pcl::SampleConsensusModelSphere определяет модель для сегментации 3D сфер. Подробнее...
class pcl::SampleConsensusModelStick< PointT >
pcl::SampleConsensusModelStick определяет модель для сегментации 3D стержней. Подробнее...

Функции

шаблон<typename Point >
double pcl::pointToPlaneDistanceSigned (const Point &p, double a, double b, double c, double d)
Получить расстояние от точки до плоскости (со знаком) заданной уравнением ax+by+cz+d=0. Подробнее...
шаблон<typename Point >
double pcl::pointToPlaneDistanceSigned (const Point &p, const Eigen::Vector4f &plane_coefficients)
Получить расстояние от точки до плоскости (со знаком) заданной уравнением ax+by+cz+d=0. Подробнее...
шаблон<typename Point >
double pcl::pointToPlaneDistance (const Point &p, double a, double b, double c, double d)
Получить расстояние от точки до плоскости (без знака) заданной уравнением ax+by+cz+d=0. Подробнее...
шаблон<typename Point >
double pcl::pointToPlaneDistance (const Point &p, const Eigen::Vector4f &plane_coefficients)
Получить расстояние от точки до плоскости (без знака) заданной уравнением ax+by+cz+d=0. Подробнее...

Документация функций

pointToPlaneDistance() [1/2]

шаблон<typename Point >
double pcl::pointToPlaneDistance ( const Point & p,
const Eigen::Vector4f & plane_coefficients
)
inline

#include <pcl/sample_consensus/sac_model_plane.h>

Получить расстояние от точки до плоскости (без знака) заданной уравнением ax+by+cz+d=0.

Параметры
p точка
plane_coefficients нормализованные коэффициенты (a, b, c, d) плоскости

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

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

pointToPlaneDistance() [2/2]

шаблон<typename Point >
double pcl::pointToPlaneDistance ( const Point & p,
double a,
double b,
double c,
double d
)
inline

#include <pcl/sample_consensus/sac_model_plane.h>

Получить расстояние от точки до плоскости (без знака) заданной уравнением ax+by+cz+d=0.

Параметры
p точка
a нормализованный коэффициент a плоскости
b нормализованный коэффициент b плоскости
c нормализованный коэффициент c плоскости
d нормализованный коэффициент d плоскости

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

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

pointToPlaneDistanceSigned() [1/2]

шаблон<typename Point >
double pcl::pointToPlaneDistanceSigned ( const Point & p,
const Eigen::Vector4f & plane_coefficients
)
inline

#include <pcl/sample_consensus/sac_model_plane.h>

Получить расстояние от точки до плоскости (со знаком) заданной уравнением ax+by+cz+d=0.

Параметры
p точка
plane_coefficients нормализованные коэффициенты (a, b, c, d) плоскости

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

pointToPlaneDistanceSigned() [2/2]

template<typename Point >
double pcl::pointToPlaneDistanceSigned ( const Point & p,
double a,
double b,
double c,
double d
)
inline

#include <pcl/sample_consensus/sac_model_plane.h>

Получение расстояния от точки до плоскости (со знаком) определённой уравнением ax+by+cz+d=0.

Параметры
p точка
a нормализованный коэффициент a плоскости
b нормализованный коэффициент b плоскости
c нормализованный коэффициент c плоскости
d нормализованный коэффициент d плоскости

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

Используется в pcl::pointToPlaneDistance() и pcl::ExtractPolygonalPrismData< PointT >::segment().

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

Spec-Zone.ru

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