Euclidean Clustering Segmentation
Functional Description
This operator performs clustering segmentation on the input point cloud based on the Euclidean distance between points. It aggregates points that are spatially close to each other into independent clusters. If the distance between a point and any point in an existing cluster is less than the set "Search radius in", or if it can be connected to a point within the radius, then this point is assigned to that cluster. The operator finally outputs a list of point clouds, where each point cloud in the list represents a segmented cluster.
Usage Scenarios
-
Instance Segmentation: Segmenting physically separated objects in a scene into independent point cloud clusters. For example, segmenting multiple parts on a conveyor belt, or multiple cups on a table.
-
Noise Removal: By setting "Clustering minimum points", it can effectively filter out point cloud clusters that have too few points and are likely background noise or sensor errors.
-
Point Cloud Preprocessing: Before tasks such as object recognition and pose estimation, segmenting the original point cloud or point cloud within an ROI into units representing different objects.
-
The function is very similar to the "Connected Component Segmentation" operator, usually both utilize spatial proximity for clustering.
Input/Output
Input Items |
Pointcloud: The input point cloud or list of point clouds to be segmented. |
Output Items |
Split point cloud: The list of point cloud clusters obtained after segmentation. |
Parameter Description
This operator has two versions:
Both have identical core functions and parameters, only differing in the type of point cloud data processed. |
Search radius in
Parameter Description |
Defines the maximum distance threshold for a point to be added to a cluster during the clustering process. This is also the search radius when finding neighboring points. |
Tuning Description |
|
Parameter Range |
[0, 200], Default Value: 5, Unit: mm |
Clustering minimum points
Parameter Description |
Minimum number of Point Cloud Points per Cluster. |
Tuning Description |
Used to filter out point cloud clusters that are too small. Increasing this value can remove more small clusters (usually considered noise), but if set too high, it may filter out small valid objects. |
Parameter Range |
[1, 4000000], Default Value: 100 |
Clustering max points
Parameter Description |
Maximum number of Point Cloud Points per Cluster. |
Tuning Description |
Used to filter out point cloud clusters that are too large. Applicable to scenarios where oversized clustering results such as background or ground need to be excluded. Usually, the default value (a very large number) is sufficient, unless there is a special need. |
Parameter Range |
[1, 4000000], Default Value: 4000000 |
Retain all results
Parameter Description |
For each input point cloud, whether to output all the split results, if false, the specified number of results will be retained. |
Tuning Description |
|
Number of retention results
Parameter Description |
Takes effect when "Retain all results" is set to disabled. Specifies the number of cluster_list with the most points to retain. |
Tuning Description |
The operator will first sort all segmentation results by the number of point clouds from largest to smallest. If this parameter is set to N, only the top N point cloud clusters after sorting will be output. For example, setting it to 1 means only the cluster with the most points will be output. |
Parameter Range |
[1, 1000], Default Value: 1 |
Enable sorting
Parameter Description |
Determines whether to sort the final output list of point cloud clusters by the number of points from largest to smallest. |
Tuning Description |
If subsequent processing depends on the size order of the point cloud clusters, this item should be kept enabled. |