Clean noise point clusters using separation distance metric

TerraScan version 023.031 introduced distance computation metric Separation. Separation describes how well a point is connected to a nearby major cluster of points in the point cloud. Used well it can provide a very powerful tool for data noise removal. It is helpful for removing noise point clusters appearing detached from the main point cloud.

Measurement noise can appear in several forms. A point cloud may contain small variations around surfaces caused by measurement inaccuracies, individual erroneous points, or detached clusters of points. Detached clusters can be particularly difficult to identify using conventional filtering methods, especially when they contain enough points to appear as meaningful data. The Separation value provides a way to identify these clusters based on their distance from the main point cloud.

Let me explain the meaning of this value: For each point, the calculation starts building a cluster by connecting it to the nearest points. At each step, it selects the smallest possible gap that connects another point to the growing cluster. The calculation keeps track of the largest gap required to build the cluster. Once the cluster contains the valid count number of points, this largest gap becomes the Separation value for the original point.
If the gap value is smaller than the minimum value, calculation discards the meaningless value, and stores zero value as separation. If the gap value exceeds the max separation, the calculation stops, and caps the value to this maximum. Additionally, the calculation can assign sign to the distance values if the points appear above, or below the ground surface in the scene.

Computing the separation value is independent in sense it does not need any other prior attributes. The computation settings need some familiarity with the point cloud data: Good parameters depend on point density, typical point count of the error point clusters, and good point clusters in the scene, and the typical gap between good and bad data. For example, using the settings in the picture below, we focus the filtering to point clusters smaller than four thousand points. A cluster must appear further than 1 meter from the other points to produce any response, and basically we consider all point clusters more than 4 meters away to be undesired, as the maximum value tells the calculation to stop beyond this point.

To filter noise clusters from the data, we can classify points by distance value. Points below ground, separated from the other points store large negative separation value. The main scene, points connected by the ground have low, zero distance values, as the ground connects large amount of points with small gap, pushing the distance below the minimum value. Some high objects, like tree tops or poles have separated parts, but positive separation value as the points are above the ground surface. In the above picture we see some example red points, caught from a light pole. The targeted noise clusters below the ground have negative values. The greater negative value, the more separated the point cluster. In this example, removing points with Separation values of −1 m or lower would remove the green and blue noise clusters below the ground surface. The result could be refined further by reducing the minimum separation parameter, which would allow the calculation to produce values for points located between the ground surface and the green cluster, where the separation appears to be less than 1 metre.

Written by:
Antti Järvenpää

Support Engineer at Terrasolid Ltd.