Metashape supports a feature for automatic detection of ground points. The automatic classification procedure consists of two steps:

  1. The point cloud is divided into cells of a certain size. In each cell, the lowest point is detected. Triangulation of these points gives the first approximation of the terrain model. Additionally, at this step, Metashape filters out some noise points to be handled as Low Points class. 
  2. At the second step new point is added to the ground class, providing that it satisfies two conditions: it lies within a certain distance from the terrain model and that the angle between the terrain model and the line to connect this new point with a point from a ground class is less than a certain angle. The second step is repeated while there still are points to be checked. 


The information on how to run classification in Metashape you can find in our article - Point Cloud Classification.


The current article includes some examples of ground classification results from different projects and the use of different parameters:


Please note that the parameters in this article may not be universal, and it is important to choose the parameters for your project. Sometimes, it is worth running the classification several times to compare the results.



Ground classification parameters


Select Tools > Point Cloud > Classify Ground Points... to open Classify Ground Points dialog window:


For aerial laser scan data, the ability to use return value during classification process is available. There is also a possibility keep existing ground points during classification process. 


  • Max angle (deg) - determines one of the conditions to be checked while testing a point as a ground one, i.e. sets a limitation for an angle between terrain model and the line to connect the point in question with a point from aground class. For nearly flat terrain it is recommended to use the default value of 15 deg for the parameter. It is reasonable to set a higher value if the terrain contains steep slopes.


  • Max distance (m) - determines one of the conditions to be checked while testing a point as a ground one, i.e. sets a limitation for a distance between the point in question and terrain model. In fact, this parameter determines the assumption for the maximum variation of the ground elevation at a time.

 

  • Max terrain slope (deg) - the parameter helps to determine whether classification is used for mountainous terrain or not. If there is a mountain or hill in the point cloud, specifying a high value (for example, 60 degrees) will correctly classify the mountain peaks. If the surface is flat enough, then the default value may be set with low values (for example 10 degrees). Then less low vegetation and small hills will be included in the land class. And in this case, the terrain will be smoother compared to an overestimated value such as 45 degrees:


max terrain slope = 10 deg
max terrain slope = 45 deg



For the sloping parts - at the basic level, it is assumed that the relief is at the very bottom. Therefore, if something hangs over the relief (a rock or a cave), algorithm cannot recognize it.

As a solution in this case, we can suggest manually selecting cloud points and assigning a separate class for them. You can find an example of how to set a class in our article - Point Cloud Classification. Information about the selection tools may also be useful - Advanced Selection tools for Point Cloud and Mesh


  • Cell size (m) - determines the size of the cells for point cloud to be divided into as a  preparatory step in ground points classification procedure. Cell size should be indicated with respect to the size of the largest area within the scene that does not contain any ground points, e. g. the building or dense forest. 


  • Return number - determines which return layer to use during classification (Any Return, First Return or Last Return) for aerial LiDAR data. Usually for laser scans, the first returned is the most significant return and will be associated with the highest feature in the landscape (trees, buildings and so on). It is possible to specify to use First return or Last return. Use the Any Return parameter to perform classification at all return levels.


  • Erosion radius (m) - determines the indentation (in meters) from unclassified points to create an additional area from the object, it is useful when classifying houses and trees to exclude the remaining "stumps" when building DTM. The parameter is set in meters and indicates the radius from each point of the point cloud. To avoid using this parameter during classification, use the parameter 0. Classification results when using different parameters for Erosion radius:


Erosion radius  = 0.04 
Erosion radius = 0.3 
Erosion radius = 1 



Examples: rural area with houses and a city district


The example point clouds for aerial photography of a rural area with houses and of a city district are presented below. On the classified point cloud of a rural area with houses, the ground points are colored in brown, while the points above the ground are grey:


Example 1 


Example 2




Areas with low vegetation and sown fields


The examples of our data set for testing: 



Usually in such sets of low vegetation, it is difficult to classify from the earth class. Therefore, low vegetation will mainly fall into the ground class. For this type of data set, we can recommend try to use Classify Points tools (Tools > Point Cloud > Classify Points...). In this algorithm, the point cloud will be divided into classes and low vegetation will be classified: 


The result from this classification:


We will use an angle equal to 15 (Max angle = 15) because the territory is flat and does not have sharp changes in height. Max distance and Cell size parameters will be changed.  

Max distance (m) - 1

Cell size (m) - 0.5




Classification of point clouds obtained from satellite images


Satellite image data has a large scale and a large survey area. On such sets, objects (such as houses, trees, and so on) are usually not very treatable due to the scale of the survey. Therefore, for urban areas, the examples of the parameters given above may not be suitable. Below are the results of the classification of such a set:


Test 1:

Max angle - 16

Max distance (m) - 0.2

Cell size (m) - 40

Erosion radius (m) - 0



Test 2:

Max angle - 10

Max distance (m) - 0.5

Cell size (m) - 10

Erosion radius (m) - 0


It may also be convenient to use the selection of cloud points by color as a solution, you can find an example of a workflow in our article: Point Cloud Classification