#c #c 14 #cluster-analysis #k-means #point-cloud-library
#c #c 14 #кластерный анализ #k-означает #облако точек-библиотека
Вопрос:
В руководстве по PCL мы можем узнать, как сегментировать плоскость и извлекать евклидовы облака кластерных точек. Итак, теперь, после того, как я использовал pcl::EuclideanClusterExtraction
алгоритм. Мне нужен центр тяжести или среднее положение каждого кластера.
Используя pcl::EuclideanClusterExtraction
, мне нужно вычислить центроид с помощью циклов for . После моего поиска я обнаружил, pcl::Kmeans
что он предоставляет прямую функцию get_centroids()
для получения центроидов кластеров: https://pointclouds.org/documentation/classpcl_1_1_kmeans.html#a8788bd4098ea370e018119fc516a5eb4
Теперь я немного запутался. Чем реальное приложение отличается от pcl::EuclideanClusterExtraction
и pcl::Kmeans
? После анализа исходного кода pcl::EuclideanClusterExtraction
предоставляет нам кластеры на основе трех параметров. pcl::Kmeans
используется, если мы определяем, сколько кластеров мы хотим сгенерировать, из-за аргументов в конструкторе Kmeans (unsigned int num_points, unsigned int num_dimensions)
.
Это правда? Есть ли другие случаи?
Комментарии:
1. вы можете использовать [pcl::computeCentroid()]( pointclouds.org/documentation /… ) для вычисления центроида
Ответ №1:
Это два очень разных алгоритма:
- кластеризация k-средств итеративно находит сферические кластеры точек (обычно высокой размерности), где сходство кластеров основано на расстоянии до центра кластера. С математической точки зрения: он выбирает центроиды, которые минимизируют квадраты расстояний точек кластера до центроида — и, как уже упоминалось, каждая точка принадлежит кластеру с ближайшим центроидом.
- cluster_extraction — это алгоритм жадного увеличения области, основанный на ближайших соседях. Сходство с кластером основано на расстоянии до любой точки кластера (параметр кластерного допуска).
извлечение кластера с допуском, превышающим расстояние между синими / черными точками, но меньшим, чем расстояние между черными и синими точками:
Комментарии:
1. Отличная оценка за ответ! Коротко, понятно и с картинками, которые очень помогают.