Roof Plane Segmentation from Airborne LiDAR Data Using Hierarchical Clustering and Boundary Relabeling

: The roof plane segmentation is one of the key issues for constructing accurate three-dimensional building models from airborne light detection and ranging (LiDAR) data. Region growing is one of the most widely used methods to detect roof planes. It ﬁrst selects one point or region as a seed, and then iteratively expands to neighboring points. However, region growing has two problems. The ﬁrst problem is that it is hard to select the robust seed points. The other problem is that it is difﬁcult to detect the accurate boundaries between two roof planes. In this paper, to solve these two problems, we propose a novel approach to segment the roof planes from airborne LiDAR point clouds using hierarchical clustering and boundary relabeling. For the ﬁrst problem, we ﬁrst extract the initial set of robust planar patches via an octree-based method, and then apply the hierarchical clustering method to iteratively merge the adjacent planar patches belonging to the same plane until the merging cost exceeds a predeﬁned threshold. These merged planar patches are regarded as the robust seed patches for the next region growing. The coarse roof planes are generated by adding the non-planar points into the seed patches in sequence using region growing. However, the boundaries of coarse roof planes may be inaccurate. To solve this problem, namely, the second problem, we reﬁne the boundaries between adjacent coarse planes by relabeling the boundary points. At last, we can effectively extract high-quality roof planes with smooth and accurate boundaries from airborne LiDAR data. We conducted our experiments on two datasets captured from Vaihingen and Wuhan using Leica ALS50 and Trimble Harrier 68i, respectively. The experimental results show that our proposed approach outperforms several representative approaches in both visual quality and quantitative metrics.


Introduction
Automatic three-dimensional (3D) building reconstruction in urban areas is an important and classical research topic in the fields of photogrammetry, remote sensing and computer vision. Because the airborne light detection and ranging (LiDAR) data can directly acquire the 3D information of buildings, it becomes a widely used data for 3D building reconstruction. Most of the 3D building reconstruction approaches can be divided into two general categories: model-driven (top-down) and data-driven (bottom-up) [1]. The model-driven approach assumes that a building is comprised of point with the best planarity as the seed point for region growing. Cao et al. [31] first selected the seed point in a parameter space with reduced dimensions, and then segmented the planar patches in the spatial space using region growing. Xu et al. [32] proposed a voxel-based region growing segmentation method for roof plane extraction. This approach performs region growing in the voxel level instead of the point level [33]. The Robust Principal Component Analysis (RPCA) is applied to estimate the attribute of voxels. To better estimate point normals around the sharp features, Gilani et al. [34] proposed an improved Principal Component Analysis (PCA) method to generate consistent point normals. Region growing-based approaches are easily implemented, and faster than model fitting-based approaches when the point number is large [35]. However, region growing is sensitive to the selection of the seed points or regions, and struggles to detect the accurate boundaries between two smooth regions. In addition, region growing-based approaches may lead to poor segmentation (over-and undersegmentation) for the building with complex structure, especially in the intersection region. To solve these problems, Awrangjeb and Fraser [36] designed several specific principles for different error cases to refine the initial planar segments. Poz and Ywata [28] refined the segments by merging the similar planar segments. Yan et al. [15] proposed a global optimization approach to refine the initial segments generated by a region growing method. This approach can significantly improve the completeness and correctness rates of initial segments and eliminate the cross-planes. However, as it needs to iteratively perform the multi-label optimization to minimize the energy functions, the computational cost of this approach is high.
In this paper, we also propose a region growing-based approach to segment roof planes from airborne LiDAR point clouds. Feng et al. [37] presented an efficient plane extraction approach based on agglomerative hierarchical clustering for organized point clouds. This approach first constructs a graph by dividing the point clouds into regular grids, and then performs hierarchical clustering on this graph. Inspired by this approach, we also apply the hierarchical clustering to iteratively merge initial set of planar patches generated by an octree-based segmentation method. The merged patches are selected as the seeds for region growing. However, there are two differences between our proposed approach with the approach presented in [37]: (1) the airborne LiDAR data used in this paper is unorganized and (2) an octree-based method is applied to generate the initial planar patches. In addition, to solve the problems of oversegmentation, undersegmentation, and spurious planes, we introduce a novel optimization approach based on boundary relabeling [38]. Starting from the plane segments generated by region growing, it continuously refines the planar patches by modifying the boundaries. The workflow of our proposed roof plane segmentation approach is presented in Figure 1. The key contributions of the proposed approach can be summarized as follows.

•
We propose a new region growing-based coarse roof plane segmentation approach. It generates the rough planar clusters via an octree-based method, and merges them using a hierarchical clustering method. The merged patches are selected as the robust seeds for region growing.

•
We propose a novel boundary relabeling-based roof plane refinement strategy to improve the quality of the initial coarse plane input. We formulate the roof plane refinement as an energy maximization problem and optimize it using boundary relabeling, which is more efficient than the global energy optimization approach [15]. It can remove most of the errors existed in the coarse segmentation and significantly improve the accuracy of the boundaries between adjacent roof planes.
The rest of this paper is organized as follows. Section 2 introduces our proposed region growing-based coarse plane segmentation approach. The refinement of planar patches using boundary relabeling is presented in Section 3. Experimental results on two sets of airborne LiDAR point clouds captured from Vaihingen and Wuhan are presented in Section 4. The conclusions are made in Section 5.
Input LiDAR point clouds and corresponding color image Initial planar patches Planar patch merging Region growing Plane refinement

Region Growing-Based Coarse Roof Plane Segmentation
In our study, as well as the approaches presented in [15,25], the point clouds of building roofs are first extracted from airborne LiDAR data. To robustly extract roof planes from airborne LiDAR point clouds, we propose a new region growing-based plane segmentation approach. The proposed approach consists of three steps: In the first step, an octree-based segmentation method is proposed to extract the initial planar patches. In the second step, we apply a hierarchical clustering method to iteratively merge adjacent initial patches belonging to the same plane until the merge cost exceeds a predefined threshold. The merged patches are regarded as the seeds for region growing. Finally, the non-planar points are added into the seed patches in sequence via a region growing method. All of the steps of our proposed region growing-based coarse roof plane segmentation approach are presented in Algorithm 1. Moreover, one example of coarse roof plane segmentation is presented in Figure 2.

Algorithm 1 Region growing-based coarse roof plane segmentation
Input: The input building point clouds R 3 . Output: The coarse roof planes P coarse .
1. Organize R 3 into voxels V 3 . 2. Fit the rough planar patches P rough via an octree-based segmentation method: (a) For each voxel V i , fit the planar patch P i ; (b) Find the maximum point-to-plane distance d max among the points included in V i ; (c) If d max ≤ T d , V i is said to be successfully fitted; Otherwise, partition V i into eight sub-voxels; (d) Repeat (a)-(c) until each voxel has been successfully fitted or the voxel reaches a minimum size.

Octree-Based Rough Planar Patch Extraction
Let R 3 denote the input points. To speed up the plane detection process and to organize the input points, we partition the original data R 3 into many voxels. Every point belongs to a voxel, and a voxel contains a set of points. Let V 3 denote all voxels. We apply an octree-based point segmentation approach to efficiently and effectively segment the input points into a set of rough planar patches P rough . Due to the efficiency of the octree structure, it has been widely used in the field of point cloud segmentation [13,39,40]. For each voxel V i , we fit a planar patch P i using the PCA. To decide whether this voxel can be regarded as a valid planar patch, we calculate the point-to-plane distance d for each point x included in V i based on the estimated plane parameters. We can easily find the maximal point-to-plane distance d max among all points included in this voxel. If d max is smaller than a predefined threshold T d , this voxel is said to be successfully fitted; otherwise, this voxel will be continuously divided into eight sub-voxels, and the plane parameters will be estimated for each sub-voxel again. We recursively subdivide the voxel until each sub-voxel can be successfully fitted as a plane or the sub-voxel reaches a minimum size. In general, the size of roof structure is larger than 1 m 2 , so we directly set the minimum voxel size as 1 m. If the sub-voxel reaches a minimum size and still cannot be successfully fitted, the points belonging to this sub-voxel will be regarded as non-planar points. Let P rough denote all rough planar patches. One visual example of octree-based rough planar patch extraction is shown in Figure 2b.

Planar Patch Merging Using Hierarchical Clustering
After rough planar patch extraction, a roof may be separated into several small patches, as shown in Figure 2b. Thus, we need an efficient scheme to further merge the patches belonging to the same plane. First, we construct an adjacent graph for the rough planar patches. Let G = (V, E) denote the graph, where V and E denote the nodes and edges, respectively. Each node v of the graph G is a rough patch. Each edge e (p,q) is applied to link two adjacent rough patches P p , P q . Then, the hierarchical clustering is performed on this graph to iteratively merge rough patches [37,41]. We repeat finding the edge e (p,q) with the minimum merging Mean Squared Error (MSE), and merging two corresponding nodes into one node. The graph is updated after each iteration. The merging MSE is the plane fitting MSE of the union of corresponding two patches P p , P q . If the minimum merging MSE exceeds the predefined threshold T m , we terminate the hierarchical clustering and finish the patch merging. Let P merge denote all merged patches. One visual example of rough planar patch merging is shown in Figure 2c.

Point-Based Region Growing
After merging rough planar patches, we add the non-planar points into their neighboring patches via region growing to extract the complete roofs. The kd-tree is applied to search the k-nearest neighboring points for each point. We first sort the merged patches P merge according to the number of points they included in a descending order. The sorted patches are regarded as the seed patches. Then, the point-based region growing [42] is performed to add the non-planar points into the seed patches in sequence. Finally, to avoid the oversegmentation artifacts, the hierarchical clustering is applied again to merge the added patches. One example of final coarse roof plane extraction is shown in Figure 2c. Let P coarse denote all coarse roof planes.

Roof Plane Refinement
In Section 2, the coarse roof planes are segmented from the airborne LiDAR point clouds via a region growing-based approach. In most cases, this region growing-based approach performs well and can extract high-quality roof planes. However, for some buildings with complex roof structure, they still suffer from many problems (spurious planes, oversegmentation, undersegmentation, and so on), especially at the regions close to the boundaries of planar patches. Thus, a new refinement approach based on boundary relabeling is proposed to overcome these problems. We formulate the roof plane refinement as an energy maximization problem and optimize it using boundary relabeling. It refines the planar patches by alternatively relabeling the boundary points into the neighboring optimal patch. Figure 3 presents several representative examples of roof plane refinement. The input point clouds and the corresponding color images are presented in Figure 3a,b, respectively. The coarse roof planes with some representative problems highlighted by the yellow ellipses are presented in Figure 3c. The refined roof planes of Figure 3c are presented in Figure 3d. The representative problems existed in the coarse roof planes have been solved well after the roof plane refinement.

Plane Refinement as an Energy Maximization
Let N be the number of points, and K be the number of roof planes. Let A = (A x 1 , . . . , A x i , . . . , A x N ) be the labels of points. A x i = k means that the point x i belongs to the roof plane P k . Apparently, we can use A to represent a partitioning of the points into planar clusters. Let A denote all valid partitions. The aim of plane refinement is to find the best partition A * from A, namely, assign the best label k to each point x i . We formulate this problem as an energy optimization problem, and solve it by maximizing the following function, where E(A) is the energy function, which is defined as the sum of distance term D(A) and boundary term G(A). The distance term D(A) is defined based on the point-to-plane distance. The boundary term G(A) is used to ensure that the boundaries of refined roof planes are regular. The energy function is defined as follows, where λ is a weight coefficient, which is applied to balance the influence of each term. The default value of λ is empirically set as 5 according to our testing experience, both the accuracy and regularity of the roof planes can be satisfied. During the testing, we find that λ is insensitive to the input data. λ can be regarded as a constant value in our approach. We simply fix λ as default value in the evaluation experiments of this paper and the results are quite competitive and stable.

Distance Term
The distance term D(A) encourages to assign the point to the plane with the minimum point-to-plane distance. Namely, it attempts to reduce the MSE of the refined roof planes. For each point x i and corresponding plane P k , we define the local distance term d( where d(x i , P k ) is the distance from x i to P k . Moreover, we define the distance term as Apparently, the distance term achieves the maximum when every point belongs to the plane with the minimum point-to-plane distance. Thus, this term can penalize the appearance of segmentation errors. However, in some cases, the optimal plane for a point is not the plane with minimum point-to-plane distance. One example is presented in Figure 4. From Figure 4a, we can find that there are two planes (Planes A and B) in this building. When only the distance term is used, the refined planes are presented in Figure 4b. In Figure 4b, there are two points marked by the red rectangles. These two points are more closer to the Plane B, but they actually belong to Plane A. Thus, we need to design a boundary term to solve this problem. The refined planes with the use of boundary term are presented in Figure 4c. These two points are assigned to Plane A as expected.

Boundary Term
The boundary term G(A) evaluates the regularity of roof planes. It penalizes local irregularities in the boundaries of roof planes, and prefers compactness and smooth boundaries. For each point x i , we assume that its label A x i equals k. Let N i denote the neighboring points of x i . Let |N i | denote the number of points included in N i . We define the local smoothness term g(x i ) of point x i in the area of N i as Based on the local smoothness term, we define the boundary term as where N is the total number of points. Apparently, if N i contains a unique planar patch, g(x i ) is at its maximum. Near the boundaries, the points included in N i belong to several roof planes. Thus, it is not possible that g(x i ) can achieve the maximum in all points. If the number of points close to the boundaries decreases, the value of G(A) will increase. Thus, this term can penalize the jagged boundaries, and can enforce smooth boundaries. In addition, this term can also penalize the island planes or the spurious planes, as these planes will cause longer boundaries.

Energy Optimization via Boundary Relabeling
We introduce a new optimization method based on boundary relabeling for plane refinement. The coarse roof plane segmentation generated by region growing serves as a good initial partitioning for the next energy optimization. Starting from the initial partitioning A, it iteratively updates the partitioning by proposing small local change at the boundary regions. Let A denote the new partitioning generated by moving a point from one plane to its neighbors. If the energy function E(A ) increases after the local change, the partitioning is updated.
In each iteration, we move only one boundary point to its neighboring planes. Let x b i denote a boundary point. We assume that x b i belongs to plane P p , and A x b i = p. We propose to move x b i from P p to its neighboring plane P q . We need to efficiently evaluate whether this move is accepted or not. Namely, we need to evaluate whether E(A ) is larger than E(A) or not. Because this move is a local change, it can be efficiently evaluated in a small local region. Before moving x b i , we first calculate the local distance term and boundary term, respectively. The local distance term d(x i ) can be easily calculated according to the definition presented in Equation (3). Because the local boundary term g(x i ) is defined around the neighboring points of x i , the move of x i will influence the boundary terms of its neighboring points as well as itself. Thus, we calculate the boundary term g N i (x i ) for x i and its neighboring points N i as where g(x j ) is the local boundary term of a neighboring point x j and is defined in Equation (5). After moving x b i , we calculate the local distance term d (x i ) and boundary term g N i (x i ) as the similar way. We accept this move if it satisfies If this move has been accepted, we update the partitioning A = A . Then, we select the next boundary point, and evaluate this point can be moved or not. The iteration is terminated until no boundary point can be found for relabeling, and the optimal partitioning A * is found. Let P re f ined denote the final refined roof planes. One example of roof plane refinement via boundary relabeling is presented in Figure 5.

Experimental Results and Discussion
Two datasets are applied to evaluate the proposed approach in the experiments. The first dataset is captured from the city of Vaihingen, Germany [43], provided by the International Society for Photogrammetry and Remote Sensing (ISPRS) (Availabel at http://www2.isprs.org/commissions/ comm3/wg4/tests.html). The Vaihingen dataset is captured by a Leica ALS50 system with a mean flying height above ground of 500 m. The maximum viewing angle, pulse repetition rate, and scan rate of this scanner are 37.5 degrees, 83 kHz, and 70 kHz, respectively. The other dataset is captured from the city of Wuhan, China, using a Trimble Harrier 68i sensor. The maximum viewing angle, pulse repetition rate, and scan rate of this scanner are 60 degrees, 400 kHz, and 200 kHz, respectively. The details of two sets of point clouds used in our experiments are presented in Table 1. Several representative local areas of the two datasets are selected to conduct the experiments, as shown in Figures 6 and 7. For these selected areas, the ground truth is generated manually. The ground truth is shown in the second rows of Figures 6 and 7.
Based on these selected areas and corresponding ground truth, we compared the proposed approach with a region growing-based (RG-based) approach [42], a RANSAC-based approach [44], and a global optimization-based (GO-based) approach [15]. The RANSAC-based approach has been implemented in the CloudCompare (Available at http://www.cloudcompare.org/) software. In this section, we applied the boundary relabeling-based (BR-based) approach to denote our proposed approach. The proposed approach was implemented with C++ under Windows and tested on a computer with an Intel Core i7-8700 at 3.2 GHz and 16 GB RAM memory.

Evaluation Metrics
Several metrics presented in [36] are selected to quantitatively evaluate the performance of the proposed approach. The metrics consist of completeness (C m ), correctness (C r ), and quality (Q l ), which are defined as follows, where TP (True Positive) is the number of roofs found both in the reference (ground truth) and segmentation, FN (False Negative) is the number of reference roofs not found in segmentation, FP (False Positive) is the number of roofs in segmentation not found in reference. The reference of the datasets are generated manually. Let GT denote the ground truth. To be a true positive, a minimum overlap 50% with the reference is required. In addition, the maximum overlap [25,26] is applied to find the correspondences between the reference and the segmented planes. Only the one-to-one correspondences are established in this method.
To evaluate the errors of oversegmentation and undersegmentation, two additional metrics-the reference cross-lap rate (R c ) and detection cross-lap rate (D c ) [45]-are applied. The reference cross-lap rate is the percentage of the reference planes that overlap multiple detected planes, and the detection cross-lap rate is the percentage of the detected planes that overlap more than one reference plane. Therefore, they can be applied to show the oversegmentation and undersegmentation errors, and they are defined as follows, where N r and N d denote the number of reference planes and detected planes, respectively. N r is the number of reference planes that overlap more than one detected plane. N d denotes the number of detected planes that overlap more than one reference plane. In addition, the boundary precision (B p ), boundary recall (B r ), and average precision-recall known as F-measure (F m ) [46,47] are applied to evaluate the quality of boundaries, and they are defined as follows, where C d and C r denote the boundary points of the reference and detected planes, respectively. | | denotes the number of points included in a set.

Choice of Parameters
Two main parameters (T d and T m ) of the proposed BR-based approach need to be set. In the proposed approach, T d is applied to control the generation of the rough planar patches and T m is used to control the merging of neighboring planar patches. In this section, we selected two local buildings from Vaihingen dataset to illustrate how these parameters influence the proposed approach.
In Figure 8, we illustrated the influence of T d , and the value of T m is fixed as 0.01. Figure 8a,e presents the input point clouds and corresponding color image, respectively. As T d decreases, the proposed approach may fail to fit the rough patches for some main roofs. As shown in Figure 8b,f, two roof planes highlighted by the yellow ellipses have been missed. As T d increases, the accuracy of the rough planar patches will decrease, and the undersegmentation errors may appear. As shown in Figure 8d,h, two similar adjacent roof planes have been regarded as one roof plane. When T d = 0.1 m, the generated rough planar patches and the final roof planes are the best for this building, as shown in Figure 8c,g. We suggested to tune T d in the range of [0.1 m, 0.2 m] for different datasets according to their point accuracy. We set T d = 0.1 m for both Vaihingen and Wuhan datasets.
To illustrate the influence of T m , we fixed the value of T d as 0.1 m, and changed the value of T m . The influence of T m is illustrated in Figure 9. Figure 9a presents the test building. As T m decreases, the proposed approach may fail to merge the patches belonging to the same roof plane, and the oversegmentation errors may appear, as shown in Figure 9b. As T m increases, more and more patches will be merged into one patch, and the undersegmentation errors may appear, as shown in Figure 9d. Figure 9c presents the roofs generated using T m = 0.01, and we found that both the over-and undersegmentation errors disappear. The proposed approach is sensitive to the value of T m , and we suggested to tune T m in the range of [0.01, 0.03] for different datasets according to their point accuracy. For Vaihingen and Wuhan datasets, we set T m = 0.01 and 0.02, respectively.

Comparative Evaluation
We conducted the visual comparison for different approaches on several local buildings selected from Vaihingen and Wuhan datasets, as shown in Figures 10 and 11. In addition, based on the roof planes generated by the proposed BR-based approach, we produced the 3D building models using the method presented in [4]. The corresponding models are presented in the last rows of Figures 10 and 11. (a) (b) (c) (d) Figure 10. Roof plane segmentation results of different approaches on four local buildings (a-d) selected from the Vaihingen dataset. From the first row to the last row: reference images, ground truth, RG, RANSAC, GO, BR, and 3D models. The black rectangles denote the over-or undersegmentation errors. The red rectangles denote the irregular boundaries.
(a) (b) (c) (d) Figure 11. Roof plane segmentation results of different approaches on four local buildings (a-d) selected from the Wuhan dataset. From the first row to the last row: reference images, ground truth, RG, RANSAC, GO, BR, and 3D models. The black rectangles denote the over-or undersegmentation errors and spurious planes. The red rectangles denote the irregular boundaries. The blue lines denote the real boundaries between adjacent roof planes. Figure 10 presents the roof segmentation results of four local buildings selected from the Vaihingen dataset (marked by the red rectangles in Figure 6). In Figure 10a, the irregular boundaries appear in the roof plane segmentation results generated by the RG-, RANSAC-, and GO-based approaches. The roof planes extracted by the RG-and RANSAC-based approaches also suffer from the problems of oversegmentation and spurious planes. However, the BR-based approach successfully avoids these problems. In Figure 10b, the proposed BR-based approach suffers from the problems of overand undersegmentation (highlighted by the black rectangles). The main reason is that the normal difference between the corresponding planes is small. Moreover, the RG-and GO-based approaches also suffer from the similar problems. In addition, the RG-and RANSAC-based approaches also generate the irregular boundaries (highlighted by the red rectangles). In Figure 10c, the proposed BR-based approach offers the best segmentation. However, the over-or undersegmentation errors, and the spurious planes, appear in the roof segmentation results generated by the rest approaches. In Figure 10d, the GO-and BR-based approaches generate the best roof planes. The roof planes generated by the rest approaches all suffer from the problem of undersegmentation. Figure 11 presents the roof segmentation results of four local buildings selected from the Wuhan dataset (marked by the red rectangles in Figure 7). In Figure 11a, the building has six roof planes, and the edges between these roof planes are weak. The RANSAC-based approach fails to detect any right roof planes for this building. The RG-, GO-, and BR-based approaches successfully detect the six roof planes. For the RG-based approach, the boundaries are smooth and regular, but almost all boundaries mismatch the ground truth. Both the GO-and BR-based approaches generate the roof planes with smooth boundaries. However, we found that the boundaries of the segments generated by the BR-based approach adhere more tightly to the ground truth. In Figure 11b, although the RG-and RANSAC-based approaches generate smooth and regular boundaries, they mismatch the ground truth. The blue lines in Figure 11b denote the real boundaries between two main roof planes. The BR-based approach still generates the best roof planes, and adheres more tightly to the ground truth than the GO-based approach. In Figure 11c, this building has 15 roof planes. Both the RG-and GO-based approaches generate some small spurious planes (black rectangles). In addition, both the RG-and RANSAC-based approaches generate the irregular boundaries (red rectangles). The BR-based approach generates the best roof planes for this building. In Figure 11d, there is a complex building with a multilayer structure. All approaches generate high-quality roof planes for the top layer of this complex building. However, both the RG-and GO-based approaches fail to detect the right planes for the bottom layer of this building (black rectangles). The RANSAC-and BR-based approaches perform well for this complex building.
Except for the local visual comparison, we performed the global quantitative evaluation for all approaches. Based on the ground truth presented in the second rows of Figures 6 and 7, we calculated the evaluation metrics defined in Section 4.1 for all approaches. The quantitative evaluation results are shown in Table 2. For the first area of Vaihingen dataset (Figure 6a), the proposed BR-based approach offers the best correctness and quality, less oversegmentation errors, best boundary precision and recall, and best F-measure. For the completeness value, the BR-based approach is only slightly lower than the GO-based approach. For the detection cross-rate, the GO-based approach performs better. This is because the GO-based approach tends to segment a roof into many planes for this area, so there are many oversegmentation errors, and the undersegmentation errors will decrease. The value of R c reaches 17.46%, and it is much larger than 6.35% offered by the BR-based approach. For the second area of Vaihingen dataset (Figure 6b), the proposed BR-based approach offers the best scores for all evaluation metrics. In addition, for the two areas of Wuhan dataset (Figure 7a,b), the BR-based approach still offers the best scores for almost all metrics, except the detection cross-rate in the second area. This is also because the GO-based approach tends to over-segment the roofs for the second area of Wuhan dataset. In addition, for the second area of Wuhan dataset (Figure 7b), the completeness, correctness, boundary precision, boundary recall, and F-measure of the proposed BR-based approach are significantly larger than the rest approaches. The GO-based approach offers relatively bad correctness, many oversegmentation errors, low boundary precision and recall, and low F-measure. In conclusion, the proposed BR-based approach performs best among all approaches on both Vaihingen and Wuhan datasets. The GO-based approach performs well on the Vaihingen dataset, but performs bad on the Wuhan dataset.
At last, we discussed the computational time of all approaches, as shown in the last column of Table 2. We found that the computational time of the RG-based approach is the shortest among all approaches. We also found that the computational time of the GO-based approach is the longest, as it needs to iteratively perform the multi-label optimization to minimize the energy functions. Compared with the GO-based approach, the proposed BR-based approach is very efficient. The computational time of the proposed BR-based approach is significantly shorter than that of the GO-based approach. In addition, for the Wuhan dataset, the computational time of the BR-based approach is longer than that of the RANSAC-based approach. However, for the Vaihingen dataset, the computational time of the BR-based approach is shorter than that of the RANSAC-based approach.

Conclusions
In this paper, we have presented a novel approach for automatically extracting roof planes with smooth and accuracy boundaries from airborne LiDAR data with the use of hierarchical clustering and boundary relabeling. Especially, the proposed boundary relabeling-based plane refinement approach can remove most of the segmentation errors exited in the coarse segmentation, and significantly improve the quality of roof planes. In addition, as the boundary relabeling is performed on a local region, the computational cost of the proposed approach is significantly lower than the GO-based approach. The experimental results also show that the proposed approach can generate high-quality roof planes, and outperforms the RG-based, the RANSAC-based, and the GO-based approaches.
Nevertheless, the proposed approach still needs to be improved. First, two parameters need to be tuned for different dataset in the proposed approach, and the adaptive thresholding methods should be developed. Second, the plane refinement results of boundary relabeling rely on the coarse plane segmentation input, and the boundary relabeling may suffer from the local optimum. The more flexible and global optimization strategies should be developed to solve these problems.