🟠 Density-based Clustering Segmentation

Function Description

This operator utilizes the DBSCAN algorithm to perform clustering segmentation on input point clouds.

The core idea of DBSCAN is: a point belongs to a cluster if there are enough points in its neighborhood (satisfying density conditions). The operator starts from any point, searches for points in its neighborhood that satisfy density conditions and continuously expands, forming a cluster until it cannot expand further. Through this method, it can divide sufficiently dense regions in space into different clusters and effectively identify sparse noise points.

Usage Scenarios

  • Object segmentation: When there are multiple separated objects in a scene, this operator can segment each object into independent clusters based on their respective point cloud densities.

  • Noise removal: The DBSCAN algorithm can naturally identify isolated points in low-density regions, making it very suitable for removing sparse background noise or measurement noise from point clouds.

  • Instance separation: For multiple identical or different objects that are stacked or scattered, as long as there are tiny gaps between them, this operator can attempt to separate them into individual instances.

Input Output

Input

Point cloud: Input point cloud or point cloud list to be clustered and segmented.

Output

Segmented point cloud: Returns a list of segmented point cloud clusters, each element in the list is an identified point cloud cluster.

Parameter Description

This operator has two versions:

  • Density-based clustering segmentation: Processes point clouds without normal information.

  • Density-based clustering segmentation (with normals): Processes point clouds with normal information.

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

Search Radius

Parameter Description

Defines the radius of the spherical region used when each point searches for neighboring points.

Parameter Adjustment

  • Increase this value: Larger neighborhood radius will consider more distant points as neighbors.

  • Decrease this value: Requires points to be very close to be considered neighbors, may cause a complete object to be divided into multiple small clusters.

Parameter Range

[0,200], Default: 5

Density Condition

Parameter Description

Defines how many neighboring points must be contained within a point’s "search radius" for that point to be considered a "core point" (i.e., a point inside a dense region).

Parameter Adjustment

  • Increase this value: Requires a region’s points to be very dense to form a cluster, making clustering conditions stricter, potentially resulting in more points being discarded as noise.

  • Decrease this value: Relaxes density requirements, allowing relatively sparse regions to form clusters. This parameter needs to be adjusted in combination with "search radius" to achieve optimal segmentation results.

Parameter Range

[0,100000], Default: 5

Cluster Minimum Point Count

Parameter Description

Post-processing filtering condition, clusters with fewer points than this value will be filtered out after clustering completion.

Parameter Adjustment

Suitable for filtering out meaningless small noise clusters composed of few points, appropriately increasing this value ensures meaningful clustering results are output.

Parameter Range

[1,4000000], Default: 100

Cluster Maximum Point Count

Parameter Description

Post-processing filtering condition, clusters with more points than this value will be filtered out after clustering completion.

Parameter Adjustment

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

Parameter Range

[1,4000000], Default: 4000000

Enable Sorting

Parameter Description

Choose whether to sort all final output point cloud clusters by point cloud count from large to small.

Parameter Adjustment

  • Enable (default): The output point cloud cluster list will be arranged by point count from most to least.

  • Disable: The order of output point cloud clusters may not be fixed.

Keep All Results

Parameter Description

For each input point cloud, whether to output all segmentation results or keep only partial results.

Parameter Adjustment

  • Enable (default): Default option, keep all found clusters that meet point count limitations.

  • Disable: Will only keep the top 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 large to small, keeping the top few point clouds. For example, setting to 1 means keeping only the largest result, setting to 2 means keeping the top 2 results, setting to 3 means keeping the top 3 results, and so on.

Parameter Range

[1,1000], Default: 1

Enable Node

Parameter Description

Controls whether this operator executes computations.

Parameter Adjustment

  • Enable (default): Normally run this operator’s functionality.

  • Disable: The operator performs no operations and directly outputs the input data.