🟠 Axis-Based Clustering

Function Description

This operator groups point clouds according to a specified direction (such as height direction). Provides two grouping methods:

K-Means method: Only considers point position values in the specified direction for grouping, simplifying this three-dimensional problem to one-dimensional processing.

DBSCAN method: While considering the specified direction, it also maintains three-dimensional spatial structure information of point clouds, ensuring spatially more reasonable grouping results.

Usage Scenarios

Suitable for processing objects layered, stacked, or arranged along specific directions.

  • Layered object segmentation: Perfectly suitable for segmenting items at different levels on shelves, stacked workpieces on pallets, or any layered distributed scenarios. In this case, the "clustering axis" is usually set to the vertical direction (such as Z-axis).

  • Array object separation: When multiple objects are arranged along a straight line, the "clustering axis" can be set to the direction of that line to separate each object.

  • Remove specific regions: By setting axis and sorting, you can conveniently keep or remove the highest/lowest, leftmost/rightmost objects.

Input Output

Input

Scene Point Cloud: Input point cloud or point cloud list to be axis-clustered.

Output

Clustered Point Cloud: Returns a list of point cloud clusters clustered according to the specified axis.

Parameter Description

This operator has two versions:

  • Axis-Based Clustering: Processes point clouds without normal information.

  • Axis-Based Clustering (With Normals): Processes point clouds with normal information.

Both have identical core functions and parameters, differing only in the type of point cloud data processed.

Clustering Method

Parameter Description

Choose clustering algorithm:

  • K-means clustering: Requires pre-specifying the expected number of clusters to segment, forcibly dividing point clouds into the specified number of clusters.

  • Density clustering: No need to preset the number of clusters, automatically finds clusters based on point density along the axis.

Parameter Adjustment

  • K-means clustering: Suitable for scenarios where the target layer count or stacking count is clearly known.

  • Density clustering: Suitable for scenarios where layer count or quantity is unknown but there are obvious gaps between layers.

K-means Clustering Specific Parameters

Cluster Count

Parameter Description

Specifies the exact number of clustering clusters expected.

Parameter Range

[1,500], Default: 3

Iteration Count

Parameter Description

Maximum iteration count for the algorithm. More iterations may lead to better results but also increase processing time.

Parameter Range

[1,5000], Default: 10

Batch Size

Parameter Description

Number of samples used in single iteration. Increasing this value may improve speed when data volume is large but will increase memory consumption.

Parameter Range

[1,5000], Default: 10

Density Clustering Specific Parameters

Search Radius

Parameter Description

Sets search distance along the "clustering axis" direction. If two points' projected distance on the axis is less than this value, they may be classified into the same category.

Parameter Adjustment

Needs to be set according to actual axial distances between layers or objects. If set too large, different layers might be merged; if too small, a layer’s interior might be incorrectly segmented.

Parameter Range

[1,5000], Default: 5

Density Condition

Parameter Description

Within the axial distance defined by "Search Radius", at least how many points are needed to consider that region as a dense "core region".

Parameter Adjustment

Used to distinguish effective point cloud layers from sparse noise. Increasing this value makes clustering conditions stricter, helping to filter out noise.

Parameter Range

[1,5000], Default: 100

Clustering Axis

Parameter Description

Defines a three-dimensional vector [x,y,z] as the direction reference for clustering.

Parameter Adjustment

Set the expected layering direction.

Parameter Range

[0,0,1]

Minimum Cluster Points

Parameter Description

Post-processing filtering condition. After clustering is complete, clusters with fewer points than this value will be filtered.

Parameter Adjustment

Suitable for filtering out meaningless small noise clusters composed of few points. Appropriately increasing this value ensures that the output consists of meaningful clustering results.

Parameter Range

[1,4000000], Default: 100

Maximum Cluster Points

Parameter Description

Post-processing filtering condition. After clustering is complete, clusters with more points than this value will be filtered.

Parameter Adjustment

Suitable for scenarios where it’s necessary to exclude a very large background or supporting surface. For example, if you want to ignore the tabletop and only analyze small objects on the table, you can set an upper limit to filter out the largest point cloud cluster representing the tabletop.

Parameter Range

[1,4000000], Default: 4000000

Sort Order

Parameter Description

Sets the sorting rule for the output point cloud cluster list.

Parameter Adjustment

The operator calculates the position of each cluster’s center on the "clustering axis" and then sorts based on that position.

"Small to large" means sorting from negative to positive direction along the clustering axis, and vice versa from positive to negative direction along the clustering axis.

Keep All Results

Parameter Description

Controls whether to output all segmentation results for each input point cloud or keep only part of them.

Parameter Adjustment

Enable (True): Default option, keep all found clusters that meet point count limits.

Disable (False): Only keep the first N largest clusters specified by the "Keep Result Count" parameter.

Keep Result Count

Parameter Description

Sets the number of output point clouds.

Parameter Adjustment

For each input point cloud, segmentation results will be sorted by point cloud count from largest to smallest, keeping the first few point clouds. For example, setting to 1 means keeping only the largest result, setting to 2 means keeping the first 2 results, setting to 3 means keeping the first 3 results, and so on.

Parameter Range

[1,1000], Default: 1

Enable Node

Parameter Description

Controls whether this operator performs computation.

Parameter Adjustment

  • Enable (default): Normal operation of the operator function.

  • Disable: The operator does not perform any operations and directly outputs the input data.