Point Cloud Edge Detection

Functional Description

This operator is used to extract edge points from an input point cloud with normals. It identifies edges by analyzing the differences in normal vector directions between each point in the point cloud and its neighboring points. If the maximum angle difference between a point and the normal vectors of its K nearest neighbors exceeds the set "Edge angle threshold", that point is identified as an edge point. This operator can automatically handle both ordered and unordered point clouds with normals.

Usage Scenarios

  • Feature Extraction: Extract contour lines or geometric edges of a point cloud for shape matching, recognition, or measurement.

  • Point Cloud Segmentation Aid: Edge information can help segment regions with distinct boundaries.

  • Visualization: Highlight the contours and structural features of objects.

Inputs and Outputs

Input Items

With Normal Point Cloud: Input must be a point cloud or list of point clouds with normal vector information.

Output Items

Point cloud edge: A list of point clouds composed of the extracted edge points. The output point cloud only contains points identified as edges and retains their original coordinate and normal vector information.

Parameter Description

Edge angle threshold

Parameter Description

The normal vector angle difference threshold for determining if a point is an edge point.

Tuning Description

The operator calculates the angle difference between each point and the normal vectors of its K nearest neighbors. If the maximum of these angle differences exceeds the threshold set here, the point is considered an edge point.

  • Smaller threshold: More sensitive to normal changes, will extract more and finer edges, but may also introduce false edges caused by noise or slight surface variations.

  • Larger threshold: Only points with very sharp normal changes will be identified as edges, resulting in fewer, more likely true geometric boundaries, but some weaker edges may be lost.

    Needs to be adjusted based on the smoothness of the point cloud, noise level, and desired edge strength. 90 degrees is a common default value, indicating that a near right-angle change in normal direction is considered an edge.

Parameter Range

[0, 180], Default: 90, Unit: degrees

Number of neighbor searches

Parameter Description

The number of nearest neighbors considered when calculating the normal angle difference for each point.

Tuning Description

The Number of neighbor searches defines the size of the local neighborhood referenced for edge determination and needs to be selected based on point cloud density and the desired scale of edges to capture.

  • Smaller number: Focuses mainly on very local normal changes, sensitive to fine edges.

  • Larger number: Considers neighbors in a larger range, making the judgment of normal changes smoother, possibly ignoring some fine edge features, but less sensitive to noise.

Parameter Range

[0, 100000], Default: 20

Enable node

Parameter Description

Controls whether this operator performs calculations.

Tuning Description

  • Enabled (default): The operator functions normally.

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