Fast and Accurate Plane Segmentation of Airborne LiDAR Point Cloud Using Cross-Line Elements

Plane segmentation is an important step in feature extraction and 3D modeling from light detection and ranging (LiDAR) point cloud. The accuracy and speed of plane segmentation are two issues difficult to balance, particularly when dealing with a massive point cloud with millions of points. A fast and easy-to-implement algorithm of plane segmentation based on cross-line element growth (CLEG) is proposed in this study. The point cloud is converted into grid data. The points are segmented into line segments with the Douglas-Peucker algorithm. Each point is then assigned to a cross-line element (CLE) obtained by segmenting the points in the cross-directions. A CLE determines one plane, and this is the rationale of the algorithm. CLE growth and point growth are combined after selecting the seed CLE to obtain the segmented facets. The CLEG algorithm is validated by comparing it with popular methods, such as RANSAC, 3D Hough transformation, principal component analysis (PCA), iterative PCA, and a state-of-the-art global optimization-based algorithm. Experiments indicate that the CLEG algorithm runs much faster than the other algorithms. The method can produce accurate segmentation at a speed of 6 s per 3 million points. The proposed method also exhibits good accuracy.


Introduction
To segment a light detection and ranging (LiDAR) point cloud is to partition the points into different groups with homogeneous properties, such as height, density, and normality.Using plane segmentation to extract facets from a point cloud is important in object classification, building extraction, and roof reconstruction.The main methods of plane segmentation are generally categorized as edge detection, profile line analysis, point clustering, model fitting, region growth and optimization.
Edge detection methods [1,2] convert a point cloud into a digital surface model (DSM).Edge detection of the raster DSM is then implemented for segmentation, the quality of which depends on the edge detection operator.
Methods based on profile line analysis employ scan line analysis to identify planes [3].Proper selection of the scan line direction is essential in these methods [4].The profiles in one or more directions are utilized to segment the data in order to detect man-made structures (i.e., bridges and buildings) from the LiDAR point cloud [5][6][7].These methods are usually effective and fast.However, using profile information for accurate plane segmentation remains insufficiently explored.The algorithm design, quality and performance assessment compared with existing methods need to be comprehensively investigated.
Methods based on point clustering, including octree-based clustering [8,9], K-means clustering [10][11][12], fuzzy clustering [13,14] and mean shift [15][16][17], cluster the point cloud into point groups by using similarity measurements, such as distance between points and point density.These methods can produce stable results but may lead to over-segmentation or under-segmentation because of the improper clustering algorithm setup (e.g., parameters of the kernel width and the minimum point number of a valid region in mean shift segmentation) [18].
Methods based on model fitting attempt to solve the plane equation by fitting local points with the presupposed model.Random sample consensus (RANSAC) [19], Hough transform [20], and tensor voting [21] are popular algorithms in this category.RANSAC can outperform methods based on normal vector consistency and outline segmentation [22].Normal driven RANSAC is an accelerated version of the original RANSAC [23].The limitation of RANSAC is that the neighborhood of points located on the same plane is not fully considered.The algorithm selects planes with the maximum number of support points in each iteration, which may not be correct.Several improved algorithms have been developed for these problems [24,25].3D Hough transform is a voting-based algorithm of plane extraction in 3D Hough space (θ, φ, ρ).The disadvantage of this method is that the voting operation in the 3D Hough space is usually slow; the same problem is encountered in selecting support points [26].Many methods (e.g., random Hough transformation) have been proposed to speed up Hough transformation [27].Tensor voting obtains 3D normal vector field based on discrete points, by which the maximum tendency is utilized to extract characteristic regions [28,29].The drawback of the tensor voting method is the dependency on selecting the parameter of the range of influence [28].
Methods based on region growth select seed points or regions as the original patches and cluster the points subordinated to the same patch [30][31][32][33][34].These methods can also be integrated with model fitting methods.These methods ensure that the points on the same plane are in the neighborhood; they are faster than model fitting methods when the point number is large [35].The normal vectors of points in the region of growth can be computed through principal component analysis (PCA).The region of growth similar to the image region of growth is then utilized to extract planes [36].An iterative PCA is developed to estimate local planarity [37].Region growth methods usually rely on the choice of seed points.The computation of the normal vectors becomes unstable when noise points exist or the supporting points are not properly selected.In addition, these methods may lead to over-segmentation or under-segmentation in the surface intersection region and noisy areas [38].
Optimization-based methods are inspired by image segmentation that uses a graph to represent data elements (e.g., pixels or super pixels) with connected nodes.The segmentation can be modeled as an optimization problem to determine the best graph cut [39][40][41].The frequently used graph cut algorithms are minimum spanning tree [42], normalized cut [43,44] and Graphcuts [38].Other optimization methods, such as level set, are also utilized to segment planes [45].A recent study has shown that using Graphcuts to optimize the initial segmentation [38] significantly improves the initial over-segmentation and eliminates the cross-planes.The limitation of this method is that the result relies on the initial segmentation, and the speed is low because of its iterative optimization operation [46].
Developing a fast, accurate, and easy-to-implement segmentation algorithm is still necessary to address the various scenarios involving massive point numbers, noisy and complex object contexts.
This paper presents a new segmentation method based on cross-line elements growth (CLEG).This method combines profile analysis, model fitting and region growth.The point cloud is converted into a grid index data structure.The Douglas-Peucker algorithm [47] is subsequently utilized in four directions to extract the cross-line elements (CLEs).CLE can determine a plane, and this is the rationale of the proposed method.The final facets can be obtained after selecting the seed CLEs and combining CLE growth and point growth.Comparison of CLEG with other popular methods, such as RANSAC [19], 3D Hough transformation [27], PCA [36], iterative PCA [37] and a state-of-the-art global optimization-based algorithm [38], shows that the proposed algorithm runs much faster than them and produces stable and accurate results.The remainder of the paper is structured as follows.
Section 2 formulates the proposed segmentation method.Section 3 describes the test data and presents the experimental analysis.Section 4 provides the conclusion.

Plane Segmentation Using Cross-Line Elements
In general, a good plane segmentation algorithm has to address some key issues: (1) how to accurately measure local planarity with proper selection of support points for these measurements; (2) how to properly group all spatially adjacent points belonging to one facet; (3) how to efficiently deal with large-scale data.The existing methods, such as model fitting, clustering, region growth and global optimization, have more or less room to improve in these aspects, as presented in the introduction.In this study, aiming at solving these problems, a cross-line element growth (CLEG) method is proposed to segment point cloud accurately and efficiently.
The workflow of the CLEG algorithm is shown in Figure 1; the red lines in the segmentation result are the seed CLEs, and the white points are the gross noise points.
The pseudo-code is listed to describe the principle of the algorithm: A CLE is defined as two cross-lines at a cross-point in two directions.In one direction, the cross-line is determined by two planes, i.e., the candidate plane and one special plane (e.g., ZOY plane, plane 1, plane 2, and ZOX plane in Figure 1).The directions of the cross-lines are relative to the equation of the candidate plane.The cross-line is determined by the candidate plane and ZOY plane, for example; Equation (1) is the function of the candidate plane, and Equation ( 2) is the function of ZOY plane.
a ¨x `b ¨y `c ¨z `d " 0 (1) The direction vector of the cross-line is then (c, 0, ´a).Similarly, the direction vector of the cross-line determined by the candidate plane and the plane 1 is (´c, c, b ´a); the direction vector of the cross-line determined by the candidate plane and the plane 2 is (c, c, ´a ´b); and the direction vector of the cross-line determined by the candidate plane and ZOX plane is (0, c, ´b).Therefore, a CLE can determine the plane model.In 3D space, two intersected straight lines passing the cross-point determine the plane model.In other words, a point and the normal vector formed by the intersected lines are the basic elements in plane detection, which is the rationale of CLEG-based plane segmentation.The CLEG algorithm has the following advantages: (1) the CLEs can be easily and quickly extracted in the profile space; (2) a CLE contains rich information, such as rough plane model and facet size; which can further help in finding better seeds and measurements for the growth of CLEs and points; (3) pre-segmenting the point cloud into CLEs eliminates the problem of selecting support points in clustering and model fitting methods [25], which leads to a more accurate and stable segmentation; and (4) the CLE extraction and growth operation are efficient in terms of computational cost, thereby making it suitable for use when dealing with a massive number of points.In 3D space, two intersected straight lines passing the cross-point determine the plane model.In other words, a point and the normal vector formed by the intersected lines are the basic elements in plane detection, which is the rationale of CLEG-based plane segmentation.The CLEG algorithm has the following advantages: (1) the CLEs can be easily and quickly extracted in the profile space; (2) a CLE contains rich information, such as rough plane model and facet size; which can further help in finding better seeds and measurements for the growth of CLEs and points; (3) pre-segmenting the point cloud into CLEs eliminates the problem of selecting support points in clustering and model fitting methods [25], which leads to a more accurate and stable segmentation; and (4) the CLE extraction and growth operation are efficient in terms of computational cost, thereby making it suitable for use when dealing with a massive number of points.

Line Segmentation
The seed CLE is derived by first converting the point cloud into a grid index data structure based on ground sample distance (GSD), which can be obtained from the average point density.The grid index data structure is utilized to improve the efficiency of data inquiry.More than one point may exist in each grid.Some grids may also be null, as shown in Figure 1 (i.e., 2D Grid Index).
An extended line segmentation of scanning line segmentation [7] is employed to segment the profiles in four directions (i.e., vertical, horizontal, upper right, and lower right).The angle between the split line segment and the horizon direction is calculated by using the Douglas-Peucker algorithm (Figure 1) [47].The tolerance is ε .The difference between the original Douglas-Peucker algorithm and the proposed method is that the angles between the line segments and the horizontal plane are calculated simultaneously (denoted by α in Figure 1).The angles are important in the subsequent steps in seed selection and growth.The length and angle of each grid in each direction is then obtained, as shown in Figure 2. The black points are the uncolored points because more than one point may exist in one grid, and only the highest point is colored.Each grid is crossed by line segments and defined as a cross-point after using the Douglas-Peucker algorithm in four directions.

Line Segmentation
The seed CLE is derived by first converting the point cloud into a grid index data structure based on ground sample distance (GSD), which can be obtained from the average point density.The grid index data structure is utilized to improve the efficiency of data inquiry.More than one point may exist in each grid.Some grids may also be null, as shown in Figure 1 (i.e., 2D Grid Index).
An extended line segmentation of scanning line segmentation [7] is employed to segment the profiles in four directions (i.e., vertical, horizontal, upper right, and lower right).The angle between the split line segment and the horizon direction is calculated by using the Douglas-Peucker algorithm (Figure 1) [47].The tolerance is ε.The difference between the original Douglas-Peucker algorithm and the proposed method is that the angles between the line segments and the horizontal plane are calculated simultaneously (denoted by α in Figure 1).The angles are important in the subsequent steps in seed selection and growth.The length and angle of each grid in each direction is then obtained, as shown in Figure 2. The black points are the uncolored points because more than one point may exist in one grid, and only the highest point is colored.Each grid is crossed by line segments and defined as a cross-point after using the Douglas-Peucker algorithm in four directions.The length of a line segment becomes relevant to the surface roughness of the region after line segmentation.The lines are much longer on large planes (e.g., ground and roof) and shorter in regions with a significant height difference (e.g., tree area).A valid CLE is defined as the cross-line whose length is longer than threshold l at a cross-point in two directions.All the lines crossing the crosspoint may be longer than the threshold.The two longer lines indicate the principal directions.The facets are obtained by using the CLEs to select the seed and region growth.

Selection of Seed CLEs for Growth
A coarse-to-fine strategy is employed to extract prior large planes and guarantee the segmentation quality and stability.The seed CLE is selected based on estimations of the plane property.The seed CLE should satisfy the following conditions.1.Each line of the seed CLE is longer than the minimum length threshold l. 2. The cross-point of the seed CLE should not be the end points of the line segments to ensure the stability of the seed CLE.A false seed CLE is shown in Figure 1.The red cross denotes the false selection of the seed cross-line element.
3. The variance between the angle (i.e., α in Figure 1) of the cross-point and those of the neighbor points should be small.Figure 3 shows red lines, which denote the seed CLE and the red point, which represents the cross-point.The ZOY plane is the segmentation direction and nb1 nb2 … nb8 are the neighbors of the cross-point.The 0 1 9 , ... α α α variance should be smaller than the threshold and should extend to the four directions to ensure the stability of the seed CLE.Several false seed CLEs could be found in the tree areas if the condition is not applied.The variance in the rough areas can be large because the angles can vary significantly even if the lines of CLE are longer than l.The length of a line segment becomes relevant to the surface roughness of the region after line segmentation.The lines are much longer on large planes (e.g., ground and roof) and shorter in regions with a significant height difference (e.g., tree area).A valid CLE is defined as the cross-line whose length is longer than threshold l at a cross-point in two directions.All the lines crossing the cross-point may be longer than the threshold.The two longer lines indicate the principal directions.The facets are obtained by using the CLEs to select the seed and region growth.

Selection of Seed CLEs for Growth
A coarse-to-fine strategy is employed to extract prior large planes and guarantee the segmentation quality and stability.The seed CLE is selected based on estimations of the plane property.The seed CLE should satisfy the following conditions.

1.
Each line of the seed CLE is longer than the minimum length threshold l.

2.
The cross-point of the seed CLE should not be the end points of the line segments to ensure the stability of the seed CLE.A false seed CLE is shown in Figure 1.The red cross denotes the false selection of the seed cross-line element.

3.
The variance between the angle (i.e., α in Figure 1) of the cross-point and those of the neighbor points should be small.Figure 3 shows red lines, which denote the seed CLE and the red point, which represents the cross-point.The ZOY plane is the segmentation direction and nb 1 nb 2 . . .nb 8 are the neighbors of the cross-point.The α 0 , α 1 . . .α 9 variance should be smaller than the threshold and should extend to the four directions to ensure the stability of the seed CLE.Several false seed CLEs could be found in the tree areas if the condition is not applied.The variance in the rough areas can be large because the angles can vary significantly even if the lines of CLE are longer than l.The cross-points that meet the aforementioned conditions are sorted by using the length of the CLE.The seed cross-points of the CLE are then processed in order.
The points on the CLE may not be on the same plane when the seed CLE is selected.Figure 4 shows the CLE, which is represented by red lines.The CLE should be checked as valid.Δ is utilized in this study.Figure 4 shows that the points on the blue plane do not satisfy the condition.α Δ can be obtained adaptively.

arctan( )
In Equation ( 3), d is the threshold of point to plane distance.l is the minimum line length threshold.
The region growth is the employed to obtain the points of the entire plane after the seed CLEs are extracted.The cross-points that meet the aforementioned conditions are sorted by using the length of the CLE.The seed cross-points of the CLE are then processed in order.
The points on the CLE may not be on the same plane when the seed CLE is selected.The cross-points that meet the aforementioned conditions are sorted by using the length of the CLE.The seed cross-points of the CLE are then processed in order.
The points on the CLE may not be on the same plane when the seed CLE is selected.Figure 4 shows the CLE, which is represented by red lines.The CLE should be checked as valid.Δ is utilized in this study.Figure 4 shows that the points on the blue plane do not satisfy the condition.α Δ can be obtained adaptively.

arctan( )
In Equation (3), d is the threshold of point to plane distance.l is the minimum line length threshold.
The region growth is the employed to obtain the points of the entire plane after the seed CLEs are extracted.The characteristic of the line intersect with the plane indicates that the angles between the parallel lines and the plane are equal.Accordingly, α 1 , α 2 , α 3 , β 1 , β 2 , β 3 represent the angles of the line segments (Figure 5).The condition that α 1 = α 2 = α 3 and β 1 = β 2 = β 3 should be satisfied when the plane is perfect.The valid seed CLE should also satisfy the condition that the difference between the angles of the point on CLE and that of the cross-point is sufficiently small.A threshold of ∆α is utilized in this study.Figure 4 shows that the points on the blue plane do not satisfy the condition.∆α can be obtained adaptively.
In Equation (3), d is the threshold of point to plane distance.l is the minimum line length threshold.The region growth is the employed to obtain the points of the entire plane after the seed CLEs are extracted.

Region Growth
Region growth includes CLE growth and point element growth.Using CLE growth can improve the stability of region growth and accelerate the process.
The disadvantage of the conventional region growth method is the process of obtaining seed points and the reliable similarity measurement of region growth.Researches sometimes use the minimum number of points as the indicator of a valid plane.However, this method may not be stable because of the complex point distribution at tree and noisy areas.
Similar to PCA, the angle limitation is added in the region growth.Subsequently, the angles are more stable than those in the PCA because calculating the angles does not depend on the neighboring relationship.The angles can also be correctly calculated at the edge of the plane, as shown in Figure 1 (i.e., Douglas-Peucker).The angle limitation is that the angles on the horizontal plane of the two principal directions of each candidate point are nearly equal to those of the seed cross-point.The red point in Figure 6   Combining CLE growth and point growth can ensure the stability of the region growth.The sequence of adding points in the model fitting procedure influences the results of the region growth.The points on CLE are more stable and have more information than those on the short lines.Therefore, the points on CLE are processed first to ensure the stability of the region growth.The next seed is then processed if no line is added in the CLE growth.The valid seed CLEs are used to calculate the plane function after the stable CLE is obtained.

CLE Growth
After obtaining the seed CLEs, CLE growth is utilized to calculate the principal direction lines which are not the cross-lines of the seed CLE at each seed point and to check whether the candidate CLE is on the plane.This seed CLE is omitted if no CLE is added because the seed CLE is unstable.

Region Growth
Region growth includes CLE growth and point element growth.Using CLE growth can improve the stability of region growth and accelerate the process.
The disadvantage of the conventional region growth method is the process of obtaining seed points and the reliable similarity measurement of region growth.Researches sometimes use the minimum number of points as the indicator of a valid plane.However, this method may not be stable because of the complex point distribution at tree and noisy areas.
Similar to PCA, the angle limitation is added in the region growth.Subsequently, the angles are more stable than those in the PCA because calculating the angles does not depend on the neighboring relationship.The angles can also be correctly calculated at the edge of the plane, as shown in Figure 1 (i.e., Douglas-Peucker).The angle limitation is that the angles on the horizontal plane of the two principal directions of each candidate point are nearly equal to those of the seed cross-point.The red point in Figure 6 denotes the cross-point.α 0 and β 0 are the angles of CLE in the two principal directions.The angles of the lines crossing the candidate point in the two principal directions should be nearly equal to the cross-point seed when dealing with region growth.

Region Growth
Region growth includes CLE growth and point element growth.Using CLE growth can improve the stability of region growth and accelerate the process.
The disadvantage of the conventional region growth method is the process of obtaining seed points and the reliable similarity measurement of region growth.Researches sometimes use the minimum number of points as the indicator of a valid plane.However, this method may not be stable because of the complex point distribution at tree and noisy areas.
Similar to PCA, the angle limitation is added in the region growth.Subsequently, the angles are more stable than those in the PCA because calculating the angles does not depend on the neighboring relationship.The angles can also be correctly calculated at the edge of the plane, as shown in Figure 1 (i.e., Douglas-Peucker).The angle limitation is that the angles on the horizontal plane of the two principal directions of each candidate point are nearly equal to those of the seed cross-point.The red point in Figure 6   Combining CLE growth and point growth can ensure the stability of the region growth.The sequence of adding points in the model fitting procedure influences the results of the region growth.The points on CLE are more stable and have more information than those on the short lines.Therefore, the points on CLE are processed first to ensure the stability of the region growth.The next seed is then processed if no line is added in the CLE growth.The valid seed CLEs are used to calculate the plane function after the stable CLE is obtained.

CLE Growth
After obtaining the seed CLEs, CLE growth is utilized to calculate the principal direction lines which are not the cross-lines of the seed CLE at each seed point and to check whether the candidate CLE is on the plane.This seed CLE is omitted if no CLE is added because the seed CLE is unstable.Combining CLE growth and point growth can ensure the stability of the region growth.The sequence of adding points in the model fitting procedure influences the results of the region growth.The points on CLE are more stable and have more information than those on the short lines.Therefore, the points on CLE are processed first to ensure the stability of the region growth.The next seed is then processed if no line is added in the CLE growth.The valid seed CLEs are used to calculate the plane function after the stable CLE is obtained.

CLE Growth
After obtaining the seed CLEs, CLE growth is utilized to calculate the principal direction lines which are not the cross-lines of the seed CLE at each seed point and to check whether the candidate CLE is on the plane.This seed CLE is omitted if no CLE is added because the seed CLE is unstable.In Figure 7, the red lines are the seed CLE.The blue and yellow lines are to be grown in step one of CLE growth.The blue lines on the plane are to be added.The yellow lines are not on the plane.A more stable plane function is obtained thereafter.
In Figure 7, the red lines are the seed CLE.The blue and yellow lines are to be grown in step one of CLE growth.The blue lines on the plane are to be added.The yellow lines are not on the plane.A more stable plane function is obtained thereafter.All the directions of CLE growth are subsequently employed.The CLE growth principle is similar to that of point growth.The only difference is that the elements are crossing lines.Only the end points of the crossing lines are used in the measurement procedure to analyze whether the crossing lines are on the plane or not.

Point Growth
After CLE growth, some points may be ignored because of noises.The distance of the point to the plane is measured in processing of the point growth.The angles of the lines crossing the candidate points on the two principal directions should be nearly equal to those of the seed cross-point.As shown in Figure 6, 0 α and 0 β of the candidate points should be nearly equal to those of the seed cross-point; otherwise, the length of the line segment is small.

Test Data
The LiDAR point clouds of three different regions are utilized to validate the proposed method.The regions are the Vaihingen area in Germany [48], Wuhan and Guangzhou in China.The description of the datasets is listed in Table 1.
The comparison test consists of roof and area segmentation.All the directions of CLE growth are subsequently employed.The CLE growth principle is similar to that of point growth.The only difference is that the elements are crossing lines.Only the end points of the crossing lines are used in the measurement procedure to analyze whether the crossing lines are on the plane or not.

Point Growth
After CLE growth, some points may be ignored because of noises.The distance of the point to the plane is measured in processing of the point growth.The angles of the lines crossing the candidate points on the two principal directions should be nearly equal to those of the seed cross-point.As shown in Figure 6, α 0 and β 0 of the candidate points should be nearly equal to those of the seed cross-point; otherwise, the length of the line segment is small.

Test Data
The LiDAR point clouds of three different regions are utilized to validate the proposed method.The regions are the Vaihingen area in Germany [48], Wuhan and Guangzhou in China.The description of the datasets is listed in Table 1.
The comparison test consists of roof and area segmentation.

Roof Segmentation
Several of the typical segmentation methods for roof segmentation used in the comparison test are RANSAC [19], 3D Hough transformation [27], PCA + region growth (RG_PCA) [36], iterative PCA + region growth (RG_IPCA) [37], and the global optimization-based algorithm Graphcuts (Global energy) [38].The algorithms are all implemented with Microsoft Visual C++ under the Microsoft Windows 7 operating system.A personal computer with Intel Core i5, 2.5 GHz CPU, 4GB memory is used for the testing.The ground truth of roof segmentation for quality evaluation is obtained through manual editing.
Completeness is defined as the percentage of reference planes that are correctly segmented.This metric is related to the number of misdetected planes.
Correctness denotes the percentage of correctly segmented planes in the segmentation results.It indicates the stability of the methods.
corr " TP TP `FP TP in Equations ( 4) and ( 5) denotes the number of planes found in both the reference and segmentation results.Only the planes with a minimum overlap of 50% with the reference are true positives.FN denotes the number of reference planes not found in the segmentation results (i.e., false negatives).FP is the number of detected planes not found in the reference (i.e., false positives).
Reference cross-lap rate is defined as the percentage of reference planes that overlap multiple detected planes.This metric shows the over-segmentation of the methods.
N r in Equation ( 6), denotes the number of reference planes, and N 1 r is the number of reference roof planes that overlap more than one detected plane.
Detection cross-lap rate denotes the percentage of detected planes that overlap multiple reference roof planes.This metric shows the under-segmentation of the methods.
N d in Equation ( 7) denotes the number of detected planes, and N 1 d is the number of detected planes that overlap more than one reference roof plane.
Boundary precision measures the percentage of correct boundary points in the detected boundary points.
Boundary recall measures the percentage of correct boundary points in the reference boundary points.
B r in Equations ( 8) and ( 9) denotes the boundary point set in reference, B d denotes the boundary point set in the segmentation results, and | | denotes the number of points in a dataset.Over-segmentation may result in a high boundary recall ratio, whereas under-segmentation may lead to high boundary precision.Only when boundary precision and boundary recall are both high can the precision of the method be determined.
The same parameters are utilized in the comparison test to ensure the comparability of the results as shown in Table 2.Many gable roofs with large slopes are found in Vaihingen.The roof structure is also complex, as shown in Figure 8a.Some noise points also exist (Figure 8b).A complex roof structure with planes that have a small slope difference with its neighbor planes, and also with small structures, is shown in Figure 8c.Many flat and gable roofs are found in Wuhan.The slope of gable roofs is not large.A flat roof is close to the gable roofs, as shown in Figure 9a.A complex symmetric roof structure is shown in Figure 9b.A symmetric trapezoid roof is shown in Figure 9c.Many gable roofs with small slopes are found in Guangzhou.The nearly arc-shaped roofs results in weak edges of the planes, as shown in Figure 10a.Figure 10b,c show several complex structures and roofs close to one another.
Segmentation results of roof points in the Vaihingen area are shown in Figure 8, and the evaluation of precision is listed in Table 3.   Segmentation results of roof points in the Wuhan area are shown in Figure 9, and the evaluation of precision is listed in Table 4.

Remote Sens. 2016, 8, 383 12 of 26
Segmentation results of roof points in the Wuhan area are shown in Figure 9, and the evaluation of precision is listed in Table 4.    Segmentation results of roof points in the Guangzhou area are shown in Figure 10, and the evaluation of precision is listed in Table 5.  RANSAC runs fast when the point number is small (Table 4).The time of dataset (a) is less than 1 ms.However, the algorithm runs slow when the point number is large.The voting procedure with all the left points is undertaken afresh when a plane is found.When the roof structure is complex, many errors occur because the spatial relationship of the neighbors is not considered.The results are shown in the black rectangles in Figures 8a-c, 9a-c and 10a-c.RANSAC runs fast when the point number is small (Table 4).The time of dataset (a) is less than 1 ms.However, the algorithm runs slow when the point number is large.The voting procedure with all the left points is undertaken afresh when a plane is found.When the roof structure is complex, many errors occur because the spatial relationship of the neighbors is not considered.The results are shown in the black rectangles in Figures 8a-c, 9a-c and 10a-c.The voting space in 3D Hough transformation is first computed.The votes are then sorted, and the planes are detected in order.The region growth is finally used to obtain an entire plane in the supported points.The results of 3D Hough transformation are sometimes worse than those of RANSAC because one point may support many planes, and the remaining planes may not be the most supported ones.Many false planes are detected, as shown by the red rectangles in Figures 8a-c and 9a-c.3D Hough transformation has the same disadvantage as RANSAC and causes cross-planes without the use of normal vectors.The terminal condition is difficult to decide, and it uses the ratio of the smallest plane to the largest plane and the ratio of number of remaining points to total points may also lead to missing small planes, as shown by the center red rectangles in Figure 10a-c.
RG_PCA employs the K-nearest neighbors (KNN) to obtain the neighbor relationship and compute the normal vectors using PCA.The regions are then grown using the normal vectors.PCA may produce unstable results in estimating the normal vector at the edge regions.Therefore, the methods do not perform well in segmenting the points close to the facet boundary, as shown by the green rectangles in Figures 8a-c, 9a and 10c.KNN may produce an unstable neighbor relationship in areas with a largely uneven point density and results in over-segmentation, as shown by the green rectangles in Figure 9b,c.The difference of the normal vectors at the edge areas is small when the slope is small.This causes under-segmentation, as shown by the green rectangles in Figure 10a,b.
RG_IPCA utilized a triangulated irregular network (TIN) to obtain the neighbor relationship, compute the initial normal vectors using PCA, and grow to regions.This method can properly estimate the normal vectors at several boundary regions but may also lead to errors in several areas, as shown by the blue rectangles in Figures 8b,c, 9a,b and 10c.RG_IPCA has the same disadvantage as RG_PCA when the slope is small.The method results is under-segmentation, as shown by the blue rectangles in Figure 10a,b.Over-segmentation also exists in RG_IPCA, as denoted by the blue rectangles in Figures 8a and 9c.
The global energy method utilizes Graphcuts to obtain the minimum energy.This method yields quiet accurate results but depends on a good initial input.Consequently, missed planes will also be missed in the optimization results, as shown by the yellow rectangles in Figures 8c and 10a.The method also causes over-segmentation in noisy areas, as shown by the yellow rectangles in Figures 8b and 9c.The improper neighbor relationship causes under-segmentation, as denoted by the yellow rectangle in Figure 9b.The separated planes are combined because TIN may connect faraway points.The two facets are on the same plane because of symmetry.In other conditions, global energy can perform quite well and obtain complete results with the fewest points left.CLEG can properly handle these complex structures with very few missing points.
The proposed CLEG algorithm also has several disadvantages caused by the strict conditions of seed CLE selection.A seed CLE is not detected when the plane is small.Therefore, the plane may be missed, as shown by the red rectangle in Figure 11.The proposed CLEG algorithm also has several disadvantages caused by the strict conditions of seed CLE selection.A seed CLE is not detected when the plane is small.Therefore, the plane may be missed, as shown by the red rectangle in Figure 11.

Region Segmentation
The CLEG algorithm can also process the point cloud containing terrains, buildings, trees, etc.The proposed method is similar to region growth methods.The comparison methods only include RG_PCA and RG_IPCA.The parameters used are shown in Table 6.The difference is that the minimum number of points required for a valid plane is larger than that in roof segmentation, because if the number is small, there may be many false planes detected in tree areas.Seven datasets are utilized to prove the effectiveness and speed of the proposed method.The description is listed in Table 7.

Region Segmentation
The CLEG algorithm can also process the point cloud containing terrains, buildings, trees, etc.The proposed method is similar to region growth methods.The comparison methods only include RG_PCA and RG_IPCA.The parameters used are shown in Table 6.The difference is that the minimum number of points required for a valid plane is larger than that in roof segmentation, because if the number is small, there may be many false planes detected in tree areas.Segmentation results of the point cloud in the Guangzhou area using a small dataset.KNN is very slow when large datasets are used for segmentation.Therefore, only RG_IPCA is used for comparison.RG_IPCA may result in false segmentation at the roof areas, as shown by the blue rectangles in Figures 15-17.False segmentation is also observed at ground area, as shown by the green rectangle in Figure 16.Under-segmentation is found when the slope is small.This result is denoted by the red rectangles in Figures 15 and 16.A cross-plane is denoted by the black rectangle in Figure 17.Furthermore, many planes are found in the tree areas, as shown by the yellow rectangles in Figures 15-17.CLEG can still handle these areas well with less processing time.Segmentation results of the point cloud in the Guangzhou area using a small dataset.Segmentation results of the point cloud in the Guangzhou area using a small dataset.KNN is very slow when large datasets are used for segmentation.Therefore, only RG_IPCA is used for comparison.RG_IPCA may result in false segmentation at the roof areas, as shown by the blue rectangles in Figures 15-17.False segmentation is also observed at ground area, as shown by the green rectangle in Figure 16.Under-segmentation is found when the slope is small.This result is denoted by the red rectangles in Figures 15 and 16.A cross-plane is denoted by the black rectangle in Figure 17.Furthermore, many planes are found in the tree areas, as shown by the yellow rectangles in Figures 15-17.CLEG can still handle these areas well with less processing time.KNN is very slow when large datasets are used for segmentation.Therefore, only RG_IPCA is used for comparison.RG_IPCA may result in false segmentation at the roof areas, as shown by the blue rectangles in Figures 15-17.False segmentation is also observed at ground area, as shown by the green rectangle in Figure 16.Under-segmentation is found when the slope is small.This result is denoted by the red rectangles in Figures 15 and 16.A cross-plane is denoted by the black rectangle in Figure 17.Furthermore, many planes are found in the tree areas, as shown by the yellow rectangles in Figures 15-17.CLEG can still handle these areas well with less processing time.

RG_PCA RG_IPCA CLEG
Segmentation results of point cloud in the Vaighingen area using a large dataset.Building TIN in RG_IPCA during the test causes shortage in memory when a large point cloud with 12 million points is used.The CLEG algorithm can handle this large dataset, and completes the segmentation within 1 min (Figure 18).The proposed algorithm uses grid indexing instead of pointbased neighbor relationship and CLE growth to overcome the shortage of uneven point cloud density.The process that consumes the most computation time in CLEG is the sorting of the seed points, which can be improved in the future by parallel computing.Building TIN in RG_IPCA during the test causes shortage in memory when a large point cloud with 12 million points is used.The CLEG algorithm can handle this large dataset, and completes the segmentation within 1 min (Figure 18).The proposed algorithm uses grid indexing instead of point-based neighbor relationship and CLE growth to overcome the shortage of uneven point cloud density.The process that consumes the most computation time in CLEG is the sorting of the seed points, which can be improved in the future by parallel computing.

Parameters Setting
The important parameters in CLEG algorithm are grid size and min line length.The grid size can be determined by the average point density.
The threshold of min line length is selected empirically in our experiment.This has an impact on the plane extraction results.The areas with line segments shorter than the threshold are missed.An example is shown in Figure 19.As shown in Figure 19b, a narrow but long-shaped plane object is missed marked in the yellow box.From Figure 19c-f, with the increase of min line length threshold, more and more planes are omitted as marked in the red boxes.The threshold can be determined by the minimum size of the planes according to the level of detail.

Parameters Setting
The important parameters in CLEG algorithm are grid size and min line length.The grid size can be determined by the average point density.
The threshold of min line length is selected empirically in our experiment.This has an impact on the plane extraction results.The areas with line segments shorter than the threshold are missed.An example is shown in Figure 19.

Parameters Setting
The important parameters in CLEG algorithm are grid size and min line length.The grid size can be determined by the average point density.
The threshold of min line length is selected empirically in our experiment.This has an impact on the plane extraction results.The areas with line segments shorter than the threshold are missed.An example is shown in Figure 19.As shown in Figure 19b, a narrow but long-shaped plane object is missed marked in the yellow box.From Figure 19c-f, with the increase of min line length threshold, more and more planes are omitted as marked in the red boxes.The threshold can be determined by the minimum size of the planes according to the level of detail.As shown in Figure 19b, a narrow but long-shaped plane object is missed marked in the yellow box.From Figure 19c-f, with the increase of min line length threshold, more and more planes are omitted as marked in the red boxes.The threshold can be determined by the minimum size of the planes according to the level of detail.

Conclusions
Using profiles or scan lines of LiDAR data to segment a surface and classify objects is not new [3][4][5][6][7].This study focuses on using cross-line elements for plane segmentation.Proper and quality seed selection and region growth based on information derived from CLE are considered for the accurate and stable detection of planes.The pre-segmentation of the point cloud into CLEs eliminates the problem of selecting support points in clustering and model fitting methods, which is the key for the proposed method.With the use of the angle information derived from the CLE, the stages of seed selection and growth become more reliable.Furthermore, the CLEG algorithm is computationally efficient due to simple operations in seed generation and growth.The tests using various datasets show that the proposed algorithm runs much faster than popular methods while producing stable and accurate segmentation results.CLEG has great potential in feature extraction, object classification and 3D modeling of buildings.
However, the CLEG algorithm may still result in missing small facets because of the missing seed CLEs.Furthermore, the parameter of minimum line length has an impact on the plane extraction results; some narrow but long-shaped plane objects are missing.An additional retrieval step may be necessary to find these missing small and narrow planes.Two parallel lines can also determine a plane.In the next study, this could be combined with CLE to detect the missed narrow but long planes.Meanwhile, the CLE-derived features may be utilized in object classification and building detection from point cloud data, which is an important future task in extending the usage of CLEs.

Figure 1 .
Figure 1.Workflow of plane segmentation using cross-line elements.

Figure 1 .
Figure 1.Workflow of plane segmentation using cross-line elements.

Figure 2 .
Figure 2. Line segmentation in four directions.

Figure 2 .
Figure 2. Line segmentation in four directions.

Figure 3 .
Figure 3. Seed CLE and neighbors of the cross-point.

Figure 4 .
Figure 4. Points on CLE may not be on a plane.

Figure 3 .
Figure 3. Seed CLE and neighbors of the cross-point.

26 Figure 3 .
Figure 3. Seed CLE and neighbors of the cross-point.

Figure 4 .
Figure 4. Points on CLE may not be on a plane.

Figure 4 .
Figure 4. Points on CLE may not be on a plane.

Figure 5 .
Figure 5. Cross-line element and its characteristic.
denotes the cross-point.0 α and 0 β are the angles of CLE in the two principal directions.The angles of the lines crossing the candidate point in the two principal directions should be nearly equal to the cross-point seed when dealing with region growth.

Figure 5 .
Figure 5. Cross-line element and its characteristic.

Figure 5 .
Figure 5. Cross-line element and its characteristic.
denotes the cross-point.0 α and 0 β are the angles of CLE in the two principal directions.The angles of the lines crossing the candidate point in the two principal directions should be nearly equal to the cross-point seed when dealing with region growth.

Figure 7 .
Figure 7. Step one of CLE growth.

Figure 7 .
Figure 7. Step one of CLE growth.

Figure 8 .
Figure 8. Segmentation of roof points in Vaihingen.(a) complex roof; (b) with noise points; (c) with small planes.Figure 8. Segmentation of roof points in Vaihingen.(a) complex roof; (b) with noise points; (c) with small planes.

Figure 8 .
Figure 8. Segmentation of roof points in Vaihingen.(a) complex roof; (b) with noise points; (c) with small planes.Figure 8. Segmentation of roof points in Vaihingen.(a) complex roof; (b) with noise points; (c) with small planes.
normal structure (b) complex structure (c) symmetric structure

Figure 9 .
Figure 9. Segmentation of roof points in the Wuhan area.(a) normal structure; (b) complex structure; (c) symmetric structure.Figure 9. Segmentation of roof points in the Wuhan area.(a) normal structure; (b) complex structure; (c) symmetric structure.

Figure 9 .
Figure 9. Segmentation of roof points in the Wuhan area.(a) normal structure; (b) complex structure; (c) symmetric structure.Figure 9. Segmentation of roof points in the Wuhan area.(a) normal structure; (b) complex structure; (c) symmetric structure.

Figure 10 .
Figure 10.Segmentation of roof points in the Guangzhou area.(a) weak edge; (b) symmetric structure; (c) complex structure.

Figure 10 .
Figure 10.Segmentation of roof points in the Guangzhou area.(a) weak edge; (b) symmetric structure; (c) complex structure.

Figure 11 .
Figure 11.Disadvantage of the proposed method.

Figure 11 .
Figure 11.Disadvantage of the proposed method.

Figure 13 .
Figure 13.Segmentation results in the Wuhan area using dataset (b).

Figure 14 .
Figure 14.Segmentation results in the Guangzhou area using dataset (c).

Figure 13 .
Figure 13.Segmentation results in the Wuhan area using dataset (b).

Figure 13 .
Figure 13.Segmentation results in the Wuhan area using dataset (b).

Figure 14 .
Figure 14.Segmentation results in the Guangzhou area using dataset (c).

Figure 14 .
Figure 14.Segmentation results in the Guangzhou area using dataset (c).

Figure 16 .Figure 17 .
Figure 16.Segmentation results in the Wuhan area using dataset (e).Figure 16.Segmentation results in the Wuhan area using dataset (e).

Figure 17 .
Figure 17.Segmentation results in the Guangzhou area using dataset (f).

Figure 18 .
Figure 18.Segmentation results in the Guangzhou area using dataset (g).

Figure 19 .
Figure 19.The influence of min line length.(a) Corresponding image; (b) l = 1.8 m, a narrow plane is missed; (c) l = 3.0 m, small planes are missed; (d) l = 4.2 m, more small planes are missed; (e) l = 6 m, a large plane is missed; (f) l = 7.2 m, more large planes are missed.

Figure 18 .
Figure 18.Segmentation results in the Guangzhou area using dataset (g).

Figure 18 .
Figure 18.Segmentation results in the Guangzhou area using dataset (g).

Figure 19 .
Figure 19.The influence of min line length.(a) Corresponding image; (b) l = 1.8 m, a narrow plane is missed; (c) l = 3.0 m, small planes are missed; (d) l = 4.2 m, more small planes are missed; (e) l = 6 m, a large plane is missed; (f) l = 7.2 m, more large planes are missed.

Figure 19 .
Figure 19.The influence of min line length.(a) Corresponding image; (b) l = 1.8 m, a narrow plane is missed; (c) l = 3.0 m, small planes are missed; (d) l = 4.2 m, more small planes are missed; (e) l = 6 m, a large plane is missed; (f) l = 7.2 m, more large planes are missed.

Table 1 .
Descriptions of test data.

Table 1 .
Descriptions of test data.

Table 2 .
Parameters used in the comparison test.

Table 3 .
Quality of the segmentation results in the Vaihingen area.

Table 4 .
Quality of segmentation results in the Wuhan area.

Table 5 .
Quality of segmentation results in the Guangzhou area.

Table 6 .
Parameters used in the comparison test.

Table 6 .
Parameters used in the comparison test.