Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Voxel segmentation-based 3D building detection algorithm for airborne LIDAR data

  • Liying Wang ,

    Roles Conceptualization, Funding acquisition, Methodology, Visualization, Writing – original draft, Writing – review & editing

    wangliyinglntu@163.com

    Current address: School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

    Affiliation School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

  • Yan Xu,

    Roles Software, Visualization

    Current address: Beijing Brisight Technology Company, Beijing, China

    Affiliation School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

  • Yu Li,

    Roles Conceptualization, Formal analysis, Supervision, Writing – review & editing

    Current address: School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

    Affiliation School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

  • Yuanding Zhao

    Roles Software, Visualization

    Current address: School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

    Affiliation School of Geomatics, Liaoning Technical University, Fuxin, Liaoning, China

Abstract

Among traditional Light Detection And Ranging (LIDAR) data representations such as raster grid, triangulated irregular network, point clouds and octree, the explicit 3D nature of voxel-based representation makes it a promising alternative. Despite the benefit of voxel-based representation, voxel-based algorithms have rarely been used for building detection. In this paper, a voxel segmentation-based 3D building detection algorithm is developed for separating building and nonbuilding voxels. The proposed algorithm first voxelizes the LIDAR point cloud into a grayscale voxel structure in which the grayscale of the voxel corresponds to the quantized mean intensity of the LIDAR points within the voxel. The voxelized dataset is segmented into multiple 3D-connected regions depending on the connectivity and grayscale similarity among voxels. The 3D-connected regions corresponding to the building roof and facade are detected sequentially according to characteristics such as their area, density, elevation difference and location. The obtained results for the detected buildings are evaluated by the LIDAR data provided by working group III/4 of ISPRS, which demonstrate a high rate of success. Average completeness, correctness, quality, and kappa coefficient indexes values of 90.0%, 96.0%, 88.1% and 88.7%, respectively, are obtained for buildings.

Introduction

As buildings are indispensable components of 3D geographic information productions, studies on automatic, high-precision and rapid building detection and reconstruction attract wide attention. Airborne Light Detection And Ranging (LIDAR) data, which can provide dense, accurate, and georeferenced true 3D point clouds and the intensity of the returned signal, appear to be an ideal data source for detecting 3D buildings.

Building detection methods for building detection from airborne LIDAR data generelly separate points on buildings from those on the surfaces of other landscape content such as ground, trees and roads. The classicmethods can be grouped into four categories. The first is based on a filtering procedure that first classifies the LIDAR points into ground and nonground points using an iterative calculation based on a Triangulated Irregular Network (TIN) structure or certain operators designed based on mathematical morphology, terrain slope, or local elevation difference to compute a Digital Terrain Model (DTM). A normalized Digital Surface Model (nDSM) is generated by subtracting the DTM from the DSM. Image segmentation techniques are used to detect building regions within the nDSM [17]. The second category of methods is concerned with growing homogeneous regions to identify seed points located on planar surface patches and then enlarge surface patches around the seed points using smoothness constraints or other similarity criteria [811]. The third category is segmentation-based methods, which segment LIDAR points into individual independent processing units using local surface properties as a similarity criterion and detect building units using building characteristics [1221]. The last category is clustering methods, which associate each LIDAR point with a feature vector that consists of geometric and/or radiometric measures and segment LIDAR points in feature spaces using a clustering technique such as k-means, maximum likelihood and fuzzy-clustering [2232]. The abovementioned methods can be used on TINs, raster grids, point clouds or octrees, but all of them have limitations. TINs and raster grids, which assign only one distinct elevation value in relation to the same horizontal coordinate, simplify the 3D content of LIDAR data to 2.5D and cause the loss of interior returns information. This can affect the integrity of raster grid- and TIN-based building detection methods. Point clouds, the original expression of LIDAR data, can completely retain the 3D information of the raw data but cannot explicitly represent spatial structure and topological information. This leads to difficulties in the design of building detection methods based on point clouds. An octree structure recursively subdivides the 3D space of LIDAR data into eight subspaces (nodes) until each contains no point or points fewer than a predefined number of points, or until reaching a predefined subdivision depth or a minimal voxel size [33]. The node size may not be optimal in terms of representation of the LIDAR data. Since nodes of an octree have different sizes, but adjacency relationships among nodes are difficult to model. This also increases difficulties in the design of building detection methods based on octrees. To overcome the restrictions for TIN-, raster grid-, point cloud- and octree-based methods, a Voxel Segmentation-based Building Detection (VSBD) algorithm is proposed. The proposed VSBD algorithm regularizes the LIDAR data into a Grayscale Voxel Structure (GVS), in which the grayscale voxel corresponds to the quantized mean intensity of the LIDAR points within the voxel. The GVS is segmented into multiple 3D-connected regions depent on connectivity and grayscale similarity among voxels. Finally, the 3D-connected regions corresponding to the building roof and facade are detected sequentially according to their characteristics. The GVS model adopted in the proposed VSBD algorithm has obvious advantages. First, it is a 3D structure and can represent multiple returns of LIDAR data simultaneously, facilitating more comprehensive utilization of multiple returns information. Second, it explicitly represents topological and spatial structure information, facilitating the design of building detection algorithms. Third, voxels in GVS have a fixed size, and a voxel’s nearest neighbor can be found by searching its spatial neighbor voxels. This is more flexible than the octree structure.It fuses elevation and intensity information simultaneously, supporting building detection in areas where buildings are next to nonbuilding objects but with different intensities. Despite the advantages of GVS, GVS-based algorithms have been rarely used for 3D building detection. The existing voxel-based algorithms are designed based on binary (a voxel with value 0 or 1) or density (a voxel has a value corresponding to the number of LIDAR points within the voxel) voxel representation and have been used in applications such as spatial indexes [3435], forest structure [3638], biomass [39], and topographic and geographic representations [4041]. The advantages of the proposed VSBD algorithm are that it is designed based on a GVS and, as a 3D building detection algorithm, it makes better use of 3D connectivity among voxels and intensity information. Its building detection results can also be used to create a 3D model of buildings.

The goal of this paper is to develop a novel voxel segmentation based algorithm to precisely detect buildings from the constructed GVS model. The organization of the paper is as follows. The LIDAR data used in the test and the proposed VSBD algorithm are described in the “Data and methods” Section. The results of the experiments are shown and discussed in the“Results” Section. Finally, an outlook and a summary are presented in the “Discussion and conclusions” Section.

Data and methods

Test data

The LIDAR data used in this paper were provided by Working Group (WG) III/4 of ISPRS from the Vaihingen area of Germany in the context of the ‘ISPRS test project on urban classification and 3D building reconstruction’. The data [42] must be requested via the link http://www2.isprs.org/commissions/comm3/wg4/data-request-form2.html. Other conditions on the use of the data include that a specified paper [42] must be cited and an acknowledgment must be included. The data consist of three testing sites, Areas 1, 2 and 3, see Figs 1, 2 and 3, respectively. The dataset was captured on August 21, 2008 by a Leica ALS50 system with a 45° field of view and a mean flying height of 500 m above ground. In an area covered by one strip the mean point density is 4 points / m2. Multiple returns and their intensities were recorded. Three testing sites are representatives of building areas of diverse types and were used for the quantitative analysis. Area 1 (37 buildings and 105 trees) is characterized by dense development consisting of historic buildings with rather complex shapes along with roads and trees. Area 2 (14 buildings and 162 trees) is characterized by a few high-rising residential buildings surrounded by trees. Area 3 (56 buildings and 155 trees) is a residential area with detached houses and many surrounding trees. The building-truth data of Area 1 was automatically created using commercial software. The building-truth data of Area 2 and 3 were prepared by ISPRS-WGIII/4. They were used to evaluate the accuracy of the proposed VSBD algorithm quantitatively.

thumbnail
Fig 1. LIDAR point cloud data of Area 1, absolute elevations of 265-297m.

https://doi.org/10.1371/journal.pone.0208996.g001

thumbnail
Fig 2. LIDAR point cloud data of Area 2, absolute elevations of 250-290m.

https://doi.org/10.1371/journal.pone.0208996.g002

thumbnail
Fig 3. LIDAR point cloud data of Area 1, absolute elevations of 265-297m.

https://doi.org/10.1371/journal.pone.0208996.g003

Methods

The proposed VSBD algorithm comprises three steps: voxelization of the LIDAR data, segmentation of the voxelized dataset, and detection of the building roofs and facades. In the first step, the LIDAR point cloud is voxelized into a GVS model to reconstruct the LIDAR data, in which the voxel grayscale corresponds to the quantized mean intensity of the LIDAR points within the voxel. In the next step, the voxelized dataset is segmented into multiple 3D-connected regions depending on the connectivity and grayscale similarity among voxels. In the last step, the 3D-connected regions corresponding to the building roof and facade are detected sequentially using their characteristics.

Voxelization of LIDAR data.

Voxelization of LIDAR data can be performed by dividing the entire scene volume into a collection of 3D regular cubes (called voxels), in each of which the LIDAR points to 3D voxels are allocated and voxel values are assigned according to the attribute values of the LIDAR point(s) within the corresponding voxels.

For a given LIDAR point cloud, P = {pi (xi, yi, zi), i = 1, …, n}, where i is the index of LIDAR points, n is the number of LIDAR points, pi represents the ith LIDAR point, and (xi, yi, zi) represents the point coordinates of ith point along x, y and z axes, respectively. An Axis-Aligned Bounding Box (AABB) is used to determine the scene volume or the extent of P. The AABB = {(x, y, z)|xminxxmax, yminyymax, zminzzmax}, where (xmax, ymax, zmax) and (xmin, ymin, zmin) are the maximum and minimum, respectively, of x, y and z-coordinates in P, xmax (ymax, zmax) = max {xi (yi, zi), i = 1, …, n}, xmin (ymin, zmin) = min {xi (yi, zi), i = 1, …, n}.

The AABB can be divided into uniform 3D voxels according to the voxel resolution. The voxel resolution is the most important parameter during the voxelization of a given LIDAR point cloud. If the resolution is too high, the number of voxels that contain LIDAR points does not appear to change while the number of voxels that contain no LIDAR point becomes large. This results in increased redundancy. If the resolution is too low, more LIDAR points fall into a voxel, which increases the information loss since a voxel gets only one value. To minimize the redundancy and reduce the information loss, a suitable resolution must be used. In the case of an idealized sampling where the LIDAR points are evenly distributed and form a regularly spaced grid, the horizontal resolution can be determined based on the 2D point spacing of a given LIDAR point cloud using the optimal criterion, that is, whether a voxel contains only one LIDAR point [43], as follows. , where Δx and Δy are the voxel resolutions along the x and y axes, respectively, and Axy is the horizontal projected area of LIDAR points. Setting the vertical resolution (Δz) has two typical schemes [40, 43]. In the first, (1) Axz (Ayz) is the projected area of LIDAR points in the x-z (y-z) plane [40]; in the second, Δz = Δx [43]. The former is suitable for representing the raw LIDAR point cloud and ground filtering, and the latter is a more appropriate scheme for building detection. This is elaborated on the“Experimental results and discussion” section.

Depending on the voxel resolution, the AABB is divided into rows, columns and layers, and a 3D array is established; the set of voxels for the constructed 3D array is denoted as V = {vj (rj, cj, lj), j = 1, …, m}, where j is the index of the voxels, m is the number of voxels, vj is the voxel value of jth voxel (its value will be assigned later), and (rj, cj, lj) are the coordinates of jth voxel in the 3D array.

The LIDAR points are allocated to the voxels of V using the formula, (2)

The voxel value is assigned according to the intensity values of the LIDAR points within the corresponding voxels. The values of filled voxels are defined as the mean intensities of the LIDAR points, and the values of empty voxels are set to zero. The voxel values are quantized to {0, …, 255} levels. The generated 3D array with 256 gray levels is the constructed GVS and is used as the source data for the subsequent segmentation.

Moreover, there are typically outliers in LIDAR data, which originate from the multiple reflections of object structures such as trees, the uneven reflection characteristics of the objects themselves such as buildings, and the reflections of birds or suspended objects at higher altitudes. The accuracy and efficiency of the established GVS are greatly influenced by outliers. A histogram examination technique is used to avoid the effect of outliers. An elevation histogramthat reveals the overall distribution characteristics of elevation is generated. Elevation thresholds are determined by visual evaluation to eliminate the lowest and highest tails. LIDAR points that are higher or lower than the highest (Th) or lowest (Tl) elevation thresholds are removed from the dataset.

Segmentation of the voxelized dataset

The objective of segmentation is to spatially merge voxels with connectivity and similar grayscale properties into one 3D-connected region. Suppose that the constructed GVS, denoted by V, has a total of k connected regions in 3D space. The task of segmentation is to assign k labels to the voxels of V in a such way that all of the voxels in each 3D-connected region have the same label and voxels in different 3D-connected regions have different labels.

Based on the criterion that the voxels belong to one 3D-connected region if they are 3D-connected and have similar grayscales, a 3D-connected region labeling algorithm is proposed as follows. Iterate over the voxels of V until the jth voxel is found that has not yet been labeled. Suppose that vj = u and labels L1, …, Ld−1 (where d is the index of 3D-connected regions, 1 ≤ dk) have already been used. Choose a new label Ld, and call the process LABEL(j, u, Ld) which uses a depth-first strategy [44] to visit all the voxels in a 3D-connected region. After labeling the 3D-connected region that contains the jth voxel, continue to scan the voxels of V until all voxels have been labeled. Algorithm 1 shows the pseudo code of the LABEL(j, u, Ld) process.

Algorithm 1: Pseudo code of the LABEL(j, u, Ld) process

Input: j = the index of the voxel that has not yet been labeled, u = the voxel value of the jth voxel, Ld = the label of the jth voxel, and V = the set of voxels of the constructed 3D array

Output: voxels labeled with Ld belong to the jth voxel’s 3D-connected region

1    Label jth voxel with Ld

2    Initialize a new stack to zero and store jth voxel into the stack

3    if the stack is empty, then

4            Stop the process

5    else

6            Pop top element te out of the stack

7            Label with Ld all unlabeled voxels in V adjacent to te and similar to u in grayscales (that is, their grayscales are within the statistical range of object corresponding to the jth voxel. The grayscale range of each object is determined later), and put these voxels into the stack

8            JUMP TO 3

Using different adjacency sizes (6-, 18- and 26-adjacency or others) in the process LABEL(j, u, Ld) can obtain different segmentation results and affect the accuracy of building detection. The effects of adjacency size on the building detection results and the optimal adjacency size are studied in the “Experimental results and discussions” section.

The grayscale range of each object in a given LIDAR point cloud is used as a similarity criterion. If the range is too large, voxels belonging to different objects may be grouped into one 3D-connected region and have the same label. If it is too small, voxels belonging to the same object may be segmented into multiple 3D-connected regions and have different labels. To determine the optimal value, a grayscale frequency histogram is calculated from all of the grayscales except 0 in V, as shown in Fig 4, which illustrates the example of testing site Area 3.

thumbnail
Fig 4. Nonzero value grayscale frequency histogram of testing site Area 3.

https://doi.org/10.1371/journal.pone.0208996.g004

The grayscale distribution in Fig 4 exhibits multimodality. The multimodal distribution has four peaks (at approximately 1, 28, 80 and 133, respectively) and three valleys (at approximately 10, 61 and 103, denoted as v1, v2 and v3, respectively). Under the assumption that the multimodal distribution is a multimodal normal mixture distribution, the grayscale histogram can be characterized by a Gaussian Mixture Model (GMM) [45] with four Gaussian distributions as its components. Consequently, the mean and standard deviation of each Gaussian distribution can be determined, which are denoted as μw and σw, respectively, where w is the index of Gaussian components, w = 1, 2, 3, 4. To ensure that the voxels belonging to the same Gaussian distribution are grouped into one 3D-connected region other than multiple 3D-connected regions, μw, σw, and the valleys are used to determine the range of each Gaussian distribution. For example, let μ3 –m3l × σ3 = v2 and μ3 + m3r × σ3 = v3, then m3l and m3r can be determined, respectively. Consequently, [μ3m3σ3, μ3 + m3σ3] is the range of the third Gaussian distribution, where the multiplier m3 = max{m3l, m3r} is set according to the symmetry of the Gaussian distribution. The range of the other three Gaussian distributions can be determined in the same manner; notably, the minimum of the range for the first Gaussian distribution is set to zero but does not contain zero and the maximum of the range for the fourth Gaussian distribution is set to 255. Thus, the range of the four Gaussian distributions is determined and is denoted as []. However, there may be overlap between adjacent distributions. To avoid distribution overlap and facilitate building detection, the ranges of the first and third Gaussian distributions use (] and [], respectively, and the ranges of the second and fourth Gaussian distributions use () and (], respectively. The ranges of Gaussian distributions are determined based on the first and third Gaussian distributions because they correspond to building object and the second and fourth distributions correspond to nonbuilding objects (the object(s) of each Gauss distribution that can be seen from the top view of the voxelized dataset and are used as prior knowledge). The grayscale ranges of objects in other testing sites can be determined in the same manner.

Building roof and façade detection

Considering that an individual building is a 3D geometric shape, the grayscales of its voxels are similar, and the voxelized dataset obtained in the“Voxelisation of LIDAR point cloud” section is the 3D discretization of a variety of objects, it follows that voxels belonging to an individual building should form a 3D-connected region. The LIDAR points for a building rooftop are relatively complete and uniformly distributed because of fewer occlusions, whereas the LIDAR points corresponding to its façade are often incomplete or even missing and unevenly distributed because of trees or limitations of flight conditions. Consequently, the building roof and façade form separated 3D-connected regions. To ensure the integrity of building detection results, 3D-connected regions corresponding to the building roof are detected before the façade is detected.

3D-connected regions corresponding to the building roof can be detected based on their areas, elevation difference and density characteristics. The detailed scheme is as follows. The horizontally projected area of each 3D-connected region is first calculated. If the value is larger than Amin and less than Amax (Amin and Amax denote the areas of the smallest and largest buildings of a given dataset, respectively, which are set according to the real data source and defined by users), the corresponding 3D-connected region is retained as the building roof. Then, the elevation difference between the retained building roof outlines (see the red voxels in Fig 5) and their surrounding terrain (see the blue voxels in Fig 6) is calculated. If the value is larger than the elevation threshold Te (e.g. 2 m), the corresponding 3D-connected region is retained; otherwise, it is deleted. The elevation of a building roof outline is obtained by calculating the average elevation of the outline voxels. The elevation of the surrounding terrain of a building is obtained based on a 3D morphological dilation operation. 3D morphological dilation with a structuring element [1 1 1; 1 1 1; 1 1 1] is used to enlarge a retained building roof. The outer outline of the enlarged building roof (see the yellow voxels in Fig 6) is a set of voxels and is denoted as Ck = {vt (rt, ct, lt), t = 1, …, q}, where k is the index of the retained buildings, t is the index of voxels on the outer outline, and q is the total number of voxels within Ck. For ∀vt (rt, ct, lt) ∈Ck, the filled voxels that have the same horizontal coordinate as (rt, ct) are searched. The average elevation of the above voxels is used as the elevation of the surrounding terrain of the kth retained building roof. Finally, the density of each retained building roof is calculated. If the value is larger than the density threshold Td, the corresponding 3D-connected region is detected as a building roof. Td can be determined according to point density histogram analysis. A point density histogram is calculated from the retained building roofs and is visualized, as shown in Fig 7. Because laser pulses have a high chance of penetrating holes in a vegetation canopy but cannot penetrate building roofs, the point density of vegetation is lower than that of building roofs, hence the valley (0.68) in the histogram is set as the Td. Algorithm 2 shows the pseudo code of the building roof detection process.

Algorithm 2: Pseudo code of the building roof detection process

Input: CR = 3D-connected regions labeled with Ld, 1 ≤ dk, Amin and Amax = horizontally projected area of the smallest and largest building of the given dataset, respectively, Te = 2 (m) (elevation threshold), Td = density threshold

Output: CRbr = 3D-connected regions corresponding to the building roof

1    Initialize CRbr1 = 0 (3D-connected regions corresponding to the first retained building roofs)

2    for i′ = 1 to k do

3            Calculate the horizontally projected area A1 of i′ th CR

4            if A1∈ [Amin, Amax] then CRbr1 = CRbr1+ i′ th CR

5    end

6    Set nbr1 = #CRbr1

7    Initialize CRbr2 = 0 (3D-connected regions corresponding to the second retained building roofs)

8    for j′ = 1 to nbr1 do

9            Calculate the elevation difference ed between the j′ th CRbr1 outline and its surrounding terrain

10            if ed > Te then CRbr2 = CRbr2+ j′ th CRbr1

11    end

12    Set nbr2 = #CRbr2

13    Initialize CRbr = 0

14    for k′ = 1 to nbr2 do

15            Calculate the density D1 of k′ th CRbr2

16            if D1 > Td then CRbr = CRbr + k′ th CRbr2

17    end

thumbnail
Fig 6. The enlarged building outline and its surrounding terrain of a building.

https://doi.org/10.1371/journal.pone.0208996.g006

3D-connected regions corresponding to the building façade are detected according to the following characteristics: the building façade is usually vertical to its corresponding building outline and is located within a certain range of its corresponding building outline. Accordingly, the building outline of each 3D-connected region corresponding to the building roof is first extracted (see the red voxels in Fig 8). Then, 3D-connected regions that fall in buffers (see the green and purple voxels in Fig 8) centered at the projection of the building outline with two voxels on both sides of the building outline with similar grayscales to that of the corresponding building outline (that is, their grayscales are within the statistical range of the building) are detected as the building facade. Algorithm 3 shows the pseudo code of the building facade detection process.

Algorithm 3: Pseudo code of the building facade label process

Input: CRbr = 3D-connected regions corresponding to the building roof, CRnbr = 3D-connected regions that do not correspond to the building roof, Rl and Rr = the grayscale range of the building

Output: CRbf = 3D-connected regions corresponding to the building facade

1    Set nbr = #CRbr

2    Set bs = 0 (the buffers of the extracted building roof outline)

3    for i1 = 1 to nbr do

4            Extracte the building roof outline bro of i1th CRbr and determine the buffer be of bro

5            bs = bs + be

6    end

7    Set nnbr = # CRnbr

8    Set CRbf = 0

9    for j1 = 1 to nnbr do

10            if the j1th CRnbr falls in bs and their grayscales ∈ [Rl, Rr] then CRbf = CRbf +j1th CRnbr

11    end

Evaluation

The detected results of the proposed VSBD algorithm are represented as building voxels, and the referenced data are discrete LIDAR building points. To compare the results from the proposed VSBD algorithm with those of the reference data, the discrete LIDAR points included in the detected building voxels are obtained, then the extracted buildings and the reference buildings are compared point-by-point. Based on the comparison result between the two datasets, the following accuracy indexes [46] were employed to quantitatively assess the proposed VSBD algorithm: (3) where Type I error is the percentage of building points rejected as nonbuilding points, Type II error is the percentage of nonbuilding points accepted as building points, Total error is the percentage of incorrectly classified points, Completeness is the percentage of reference data being detected, Correctness is the percentage of correct detection, Quality is the overall success rate, the Kappa coefficient is a statistical measure of the interratio agreement, which is believed to be a more robust measurement than a simple percentage, TP (True Positive) is the number of building points classified by both datasets, TN (True Negative) is the number of nonbuilding points classified by both datasets, FP (False Positive) is the number of building points classified only by the proposed VSBD algorithm, FN (False Negative) is the number of building points classified only by the reference dataset.

Results

Experimental results and discussions

Areas 1, 2 and 3 consists of 104,188, 243,127 and 237,875 points, respectively, which contain 0, 0 and 2 outliers, respectively. After outlier removal, the data are remapped into 3D arrays measuring 272 × 395 × 60 for Area 1, 463 × 531 × 98 for Area 2 and 382 × 593 × 63 for Area 3. Figs 9, 10 and 11 show top views of the voxelized datasets with a voxel resolution of 0.5 m3 for Area 1 and 0.4 m3 for Areas 2 and 3; 61121, 154566 and 150098 filled voxels were obtained for Areas 1, 2 and 3, respectively.

The grayscales of buildings and other objects in Figs 9, 10 and 11 can be used as the prior knowledge to determine the statistical grayscale ranges of objects in the subsequent segmentation process.

The segmentation process is implemented to group filled voxels into multiple 3D-connected regions. As noted above, the segmentation and building detection results are related to the statistical grayscale ranges of the objects and the adjacency size.

The grayscale ranges of the objects were determined using the scheme described in the“Segmentation of voxelized dataset” section and are listed in Table 1 for the three testing sites.

thumbnail
Table 1. The statistical grayscale ranges of objects for all testing sites.

https://doi.org/10.1371/journal.pone.0208996.t001

To determine the effects of adjacent sizes on the building detection results and the optimal adjacent size, 6-, 18-, 26-, 56- and 80-adjacency were used for each testing site under identical conditions and the corresponding accuracy indexes are listed in Table 2.

thumbnail
Table 2. Accuracy indexes of different adjacency sizes for all testing sites.

https://doi.org/10.1371/journal.pone.0208996.t002

As listed in Table 2, the average Kappa coefficients for the 6-, 18-, 26-, 56-, and 80-adjacency are 28.7%, 61.8%, 68.5%, 88.7% and 85.1%, respectively, which means that using the 56-adjacency generates the maximum Kappa coefficient. Consequently, the 56-adjacency can be considered the optimal adjacency size considering the Kappa coefficient. The average Total errors for the 6-, 18-, 26-, 56- and 80-adjacency are 27.8%, 16.5%, 13.9%, 5.2% and 7.1%, respectively, which means that using the 56-adjacency generates the minimum Total error and the 56-adjacency is also the optimal adjacency size when considering the Total error.

Moreover, accuracies do not always increase with increasing adjacency sizes. The idea behind the proposed VSBD algorithm is that object information (e.g., building) can be passed through a GVS based on the connectivity and grayscale similarity defined in the 3D array. Taking 6-adjacency as an example, propagation of object information can only move from the center voxel up, down, or in the four cardinal directions based on the grayscale attribute associated with each voxel. The 6-adjacent LABEL can work well for flat-roofed buildings (e.g., Area 2) where rooftop voxels can be merged into one 3D-connected region and be correctly detected whereas it works relatively poorly for peak-roofed buildings (e.g., Areas 1 and 3) where rooftop voxels may be grouped into multiple 3D-connected regions and be taken as nonbuildings using area or elevation jump characteristics. This explains why 6-adjacency has much better performance in Area 2 than in Areas 1 and 3. With increasing adjacency size, propagation of object information through the 3D array with 18-, 26- or 56-adjacent connectivity increases the directions of spread and more voxels are likely to be considered and thus improves the detection accuracy. This may be why the 18-, 26- and 56-adjacent LABELs have much better performance than the 6-adjacent LABEL. However, if the adjacency size is too large, some nonbuilding voxels may be taken as building voxels and increase the Type II error. This may be why the accuracy declines when the 80-adjacent LABEL is used.

Top views of the segmentation results of Areas 1, 2 and 3 with the optimal 56-adjacency are shown in Figs 12, 13 and 14, respectively.

thumbnail
Fig 12. Top view of the segmentation result for Area 1 (3D-connected regions are denoted using different colors).

https://doi.org/10.1371/journal.pone.0208996.g012

thumbnail
Fig 13. Top view of the segmentation result for Area 2 (3D-connected regions are denoted using different colors).

https://doi.org/10.1371/journal.pone.0208996.g013

thumbnail
Fig 14. Top view of the segmentation result for Area 3 (3D-connected regions are denoted using different colors).

https://doi.org/10.1371/journal.pone.0208996.g014

As shown in Figs 12, 13 and 14, all building objects are divided into separate 3D-connected regions. The problem of oversegmentation is apparent (see the white area in Fig 14).

Building roof and facade detection are implemented, and the detected results of Areas 1, 2 and 3 are shown in Figs 15, 16 and 17, which contain 22935, 25933 and 37589 building voxels, respectively. The above detected building results can directly serve as a 3D building model in a the form of a voxel model.

The building detection results of the proposed VSBD algorithm are determined by input parameters such as thresholds (Amin, Amax, Te and Td), the statistical grayscale ranges of objects and the adjacency size. The statistical grayscale ranges of objects, Amin, Amax and Td are set according to the real data source. The data source thresholds are easily determined using the solutions given in this paper, allowing for application of the proposed VSBD algorithm in other areas for building detection. Te is set empirically as 2 m because buildings are at least 2m above the surrounding ground. The adjacency size can use 56-adjacency directly because it is the optimal adjacency size in areas with diverse building types. Therefore, the proposed VSBD algorithm can be applied in other urban scenes as a suitable method for the detection of 3D buildings.

Quantitative assessment

A quantitative accuracy assessment was performed to evaluate the performance of the proposed VSBD algorithm using the optimal 56-adjacency (see Table 3).

thumbnail
Table 3. Evaluation results of detected buildings in per-area mode for all testing sites.

https://doi.org/10.1371/journal.pone.0208996.t003

According to Table 3, in per-area mode, an average completeness, correctness and quality of 90.0%, 96.0% and 88.1%, respectively, were obtained for building detection. The proposed VSBD algorithm performs better in Area 2 than in Areas 1 and 3. To explore the origin of the incompleteness and incorrectness, top views of the detected buildings and the distribution of errors for all testing sites are shown in Figs 18, 19 and 20.

thumbnail
Fig 18. Top view of the building detection results and errors of the proposed VSBD algorithm for Aera 1.

https://doi.org/10.1371/journal.pone.0208996.g018

thumbnail
Fig 19. Top view of the building detection results and errors of the proposed VSBD algorithm for Aera 2.

https://doi.org/10.1371/journal.pone.0208996.g019

thumbnail
Fig 20. Top view of the building detection results and errors of the proposed VSBD algorithm for Aera 3.

https://doi.org/10.1371/journal.pone.0208996.g020

Figs 18, 19 and 20 show that almost all buildings were detected successfully. Thus, the proposed VSBD algorithm works well for detecting buildings. Figs 18, 19 and 20 also show that the major factors of incorrectness are as follows. First, some nonbuildings nearby buildings and similar to buildings in grayscale may be taken as buildings, see the green rectangles in Fig 20. Second, some nonbuildings may be taken as buildings if only the area, elevation difference and density characteristics of building are utilized to identify the 3D-connected regions corresponding to the building roof (see the black rectangles in Figs 18, 19 and 20). The major factors of incompleteness are as follows. First, buildings with a very low point density are divided into multiple 3D-connected regions and are missed according to the area or elevation difference criterion. That is, the area of each 3D-connected region is out of the range [Amin, Amax] or the distance between each 3D-connected region and its surrounding terrain is not less than 2m (see the brown rectangles in Fig 20). Second, some wing-rooms or low buildings, which have similar grayscales to their surrounding ground and form a 3D-connected region with area larger than Amax, are also missed (see the purple rectangles in Figs 18, 19 and 20).

Moreover, the effects of GVS constructed with different vertical resolutions Δz on the building detection accuracy of the proposed VSBD algorithm were studied. If Δz is set using Eq (1), the voxel resolution of the constructed GVS is 0.5 m × 0.5 m × 0.1 m for Area 1 and 0.4 m × 0.4 m × 0.1 m for Areas 2 and 3, and the scene volume of testing sites Areas 1, 2 and 3 are divided in 272 × 395 × 293, 463 × 531 × 386 and 382 × 593 × 243 arrays, respectively. The corresponding building detection accuracy using the 56-adjacency size was calculated and the results are presented in Table 4.

thumbnail
Table 4. Perarea accuracies f of the proposed VSBD algorithm for detected buildings with the vertical voxel resolution scheme of Eq (1).

https://doi.org/10.1371/journal.pone.0208996.t004

Table 4 shows the average completeness, correctness and quality were 72.0%, 94.4% and 69.0%, respectively, for building detection. These indexes are obviously lower than those of the vertical resolution scheme of Δz = Δx. Moreover, in per-area mode, the building detection qualities of Areas 1, 2 and 3 were 76.1%, 86.7% and 44.2%, respectively. This indicates that the proposed VSBD algorithm with the vertical voxel resolution scheme of Eq (1) generates promising performance in Area 2 and has much worse performance in Areas 1 and 3 (see Figs 21, 22 and 23). This finding could be due to the following factors. Most buildings in Area 2 are flat-roofed and voxels corresponding to the same building roof can be grouped into a 3D-connected region even if vertical resolution is too high, and the 3D-connected region can be detected correctly based on its area, elevation difference and density characteristics (see Fig 22). However, Areas 1 and 3 contain many peak-roofed buildings and voxels corresponding to the same building roof may be grouped into multiple 3D-connected regions because the vertical resolution is too high, and the 3D-connected regions corresponding to the same building may be discarded according to their area or elevation difference characteristics (see Figs 21 and 23). The results are poor quality in Areas 1 and 3. Thus, a 0.1 m vertical resolution is too high and is not suitable for building detection. To summarize, the vertical resolution scheme of Δz = Δx is a more appropriate vertical resolution scheme for building detection.

thumbnail
Fig 21. Top view of the building detection results and errors of the proposed VSBD algorithm for Area 1 with the vertical voxel resolution scheme of Eq (1).

https://doi.org/10.1371/journal.pone.0208996.g021

thumbnail
Fig 22. Top views of the building detection results and errors of the proposed VSBD algorithm for Area 2. with the vertical voxel resolution scheme of Eq (1).

https://doi.org/10.1371/journal.pone.0208996.g022

thumbnail
Fig 23. Top views of the building detection results and errors of the proposed VSBD algorithm for Area 3 with the vertical voxel resolution scheme of Eq (1).

https://doi.org/10.1371/journal.pone.0208996.g023

Comparative algorithm performance

To validate the performance of the proposed VSBD algorithm, its per-area accuracies for detected buildings were compared with ten of the best algorithms in the ISPRS link at http://www2.isprs.org/commissions/comm3/wg4/results/a1_detect.html, http://www2.isprs.org/commissions/comm3/wg4/results/a2_detect.html and http://www2.isprs.org/commissions/comm3/wg4/results/a3_detect.html (these three URLs correspond to the accuracies of Area 1, 2 and 3, respectively). The results are listed in Table 5.

thumbnail
Table 5. Per-area accuracies for detected buildings using the proposed VSBD algorithm and other algorithms.

https://doi.org/10.1371/journal.pone.0208996.t005

As shown in Table 5, the detected building result of the proposed VSBD algorithm for Area 2 achieves the maximum quality metric in per-area mode whreeas that for Area 3 is the minimum quality metric. The main reason of the poor quality assessment for Area 3 is that buildings with very low LIDAR point density cannot be detected (see the brown rectangles in Fig 18). The 3D connectivity of buildings with very few returns is disrupted, leading to the misclassification in Area 3. Future studies should focus on recovering the 3D connectivity of buildings in the GVS by virtue of the related operation (e.g., dilation) of 3D mathematical morphology to improve the generalization of the proposed VSBD algorithm.

Discussion and conclusions

A VSBD algorithm for airborne LIDAR data is proposed to detect building objects in urban scenes. The proposed VSBD algorithm first constructs a GVS model of airborne LIDAR data to comprehensively utilize the elevation and grayscale information. The constructed GVS is segmented into multiple 3D-connected regions by relying on the connectivity and grayscale similarity among voxels. The 3D-connected regions corresponding to the building roof and facade are detected sequentially using their characteristics. The ISPRS-WGIII/4 dataset with different building types was used to evaluate the performance of the proposed VSBD algorithm with manually selected parameters for each testing site and to compare the performance of the proposed VSBD algorithm with those of ten published algorithms. The per-area quantitative evaluation results indicate that (1) the average quality, completeness and correctness indexes are 88.1%, 90.0% and 96.0%, respectively, and (2) compared to other algorithms, the proposed VSBD algorithm achieves maximum quality in an environment with high-rising residential buildings surrounded by trees and high quality in inner city environments and purely residential areas with small detached houses. In general, the proposed VSBD algorithm is helpful to comprehensively utilize multiple returns to improve the accuracy of the building detection results and can be used to detect 3D buildings. However, the GVS in the proposed VSBD algorithm only fuses the elevation and intensity information, which makes it suitable only for distinguishing objects with different elevations or intensities. Future work will include assigning attributes from associated imagery to improve the classification of more complex scenes.

Acknowledgments

The Vaihingen data set was provided by the German Society for Photogrammetry, Remote Sensing and Geoinformation (DGPF) [Cramer, 2010]: http://www.ifp.uni-stuttgart.de/dgpf/DKEP-Allg.html.

References

  1. 1. Meng X, Wang L, Currit N. Morphology-based building detection from airborne LIDAR data. Photogramm. Eng. Remote Sens. 2009; 75(4): 437–442.
  2. 2. Cheng L, Zhao W, Han P, Zhang W, Shan J, Liu Y, Li M. Building region derivation from LiDAR data using a reversed iterative mathematic morphological algorithm. Opt. Commun. 2013; 286: 244–250.
  3. 3. Mongus D, Lukač N, Obrul D, Žalik B. Detection of planar points for building extraction from LiDAR data based on differential morphological and attribute profiles. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2013; 1(1): 21–26.
  4. 4. Zhang K, Yan J, Chen S C. Automatic construction of building footprints from airborne LIDAR data. IEEE Trans. Geosci. Remote Sens. 2006; 44(9): 2523–2533.
  5. 5. Yan J, Zhang K, Zhang C, Chen S C, Narasimhan G. Automatic construction of 3-D building model from airborne LIDAR data through 2-D snake algorithm. IEEE Trans. Geosci. Remote Sens. 2014; 53(1): 3–14.
  6. 6. Wu H. Automatic extraction of building boundaries using aerial LiDAR data. J. Appl. Remote Sens. 2016; 10(1): 16–22.
  7. 7. Wang L, Chu H. Graph theoretic segmentation of airborne lidar data. In Proceedings of SPIE Defense and Security Symposium; 2008 March16-21; Orlando, Florida, United States: SPIE; 2008.
  8. 8. Orthuber E, Avbelj J. 3D building reconstruction from lidar point clouds by adaptive dual contouring. ISPRS Ann. Photogram. Remote Sens. Spat. Inf. Sci. 2015; 2(3): 157–164.
  9. 9. Gilani S A N, Awrangjeb M, Lu G. Robust building roof segmentation using airborne point cloud data. Proceedings of IEEE International Conference on Image Processing, 2016 September 25–28; Arizona, USA, United States: IEEE; 2016.
  10. 10. Vo A V, Hong L T, Laefer D F, Bertolotto M. Octree-based region growing for point cloud segmentation. ISPRS J. Photogramm. Remote Sens. 2015; 104: 88–100.
  11. 11. Morgan M, Habib A. Interpolation of lidar data and automatic building extraction. Proceedings of the ACSM-ASPRS Annual conference; 2002 April 19–26; Washington, D.C., USA, United States: ASPRS; 2002.
  12. 12. Wang M, Tseng Y H. LIDAR data segmentation and classification based on octree structure. Parameters. 2004; 2(1): 1–6.
  13. 13. Carlberg M, Gao P, Chen G, Zakhor A. Classifying urban landscape in aerial LiDAR using 3D shape analysis. IEEE International Conference on Image Processing; 2009 Nov 7–10; Cairo, Egypt. United States: IEEE; 2009. https://doi.org/10.1109/ICIP.2009.5413385
  14. 14. Zhou Q Y, Neumann U. Complete residential urban area reconstruction from dense aerial LIDAR point clouds. Graph. Models. 2013; 75(3): 118–125.
  15. 15. Moussa A, El-Sheimy N. A new object based method for automated extraction of urban objects from airborne sensors data. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2012; XXXIX-B3: 309–314.
  16. 16. Zhang J, Lin X. Object-based classification of urban airborne LiDAR point clouds with multiple echoes using SVM. ISPRS Ann.Photogram.Remote Sens.Spat.Inf.Sci. 2012; I-3: 135–140.
  17. 17. Zhang Z, Zhang L, Tong X, Mathiopoulos P T, Guo B, Huang X, et al. A multilevel point-cluster-based discriminative feature for ALS point cloud classification. IEEE Trans. Geosci. Remote Sens. 2016; 54(6): 3309–3321.
  18. 18. Yastikli N, Cetin Z. Classification of LiDAR data with point based classification methods. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2016; XLI-B3: 441–445.
  19. 19. Maas H G. Fast determination of parametric house models from dense airborne laser scanner data. Int. Arch. Photogramm. Remote Sens. 1999; 32(B3): 1–6.
  20. 20. Sithole G, Vosselman G. Automatic structure detection in a point-cloud of an urban landscape. Proceedings of the 2nd GRSS/ISPRS Joint Workshop on Remote Sensing and Data Fusion over Urban Areas; 2003 May 22–23; Berlin, Germany. United States: IEEE Xplore; 2003.
  21. 21. Bellakaout A, Cherkaoui M, Ettarid M, Touzani A. Automatic 3d extraction of buildings, vegetation and roads from lidar data. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2016; XLI-B3: 173–180.
  22. 22. Sun S, Salvaggio C. Aerial 3D building detection and modeling from airborne lidar point clouds. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2013; 6: 1440–1449.
  23. 23. Filin S. Surface clustering from airborne laser scanning data. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2002, XXXII(3A): 119–124.
  24. 24. Hofmann A. Analysis of tin-structure parameter spaces in airborne laser scanner data for 3-D building model generation. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2004; 35: 302–307.
  25. 25. Filin S, Pfeifer N. Segmentation of airborne laser scanning data using a slope adaptive neighborhood. ISPRS J. Photogram. Remote Sens. 2006; 60: 71–80.
  26. 26. Kim C, Habib A, Pyeon M, Kwon G R, Jung J, Heo J. Segmentation of planar surfaces from laser scanning data using the magnitude of normal position vector for adaptive neighborhoods. Sensors. 2016; 16(2): 140. pmid:26805849
  27. 27. Vosselman G, Gorte B. Recognising structure in laser scanner point clouds. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2004; 36-8/W2: 33–38.
  28. 28. Kong D, Xu L, Li X, Li S. K-plane-based classification of airborne lidar data for accurate building roof measurement. IEEE Trans. Instrum. Meas. 2014; 63(5): 1200–1214.
  29. 29. Cao R, Zhang Y, Liu X, Zhao Z. Roof plane extraction from airborne lidar point clouds. Int. J. Remote Sens. 2017; 38(12): 3684–3703.
  30. 30. Song J, Wu J, Jiang Y. Extraction and reconstruction of curved surface buildings by contour clustering using airborne LiDAR data. Optik—Int. J. Light and Elect.Opt. 2015; 126(5): 513–521.
  31. 31. He M, Zhu Q, Du Z, Hu H, Ding Y, Chen M. A 3D shape descriptor based on contour clusters for damaged roof detection using airborne LiDAR point clouds. Remote Sens. 2016; 8(3): 189.
  32. 32. Zhao Q, Li Y, He X. Building extraction from lidar point cloud data using marked point process. J. Indian Soc. Remote Sens. 2014; 42(3): 529–538.
  33. 33. Truong-Hong L, Laefer DF. Octree-based, automatic building façade generation from lidar data, Computer-Aided Design, 2014; 53: 46–61.
  34. 34. Jjumba A, Dragićević S. Spatial indices for measuring three-dimensional patterns in a voxel-based space. J. Geogr. Syst, 2016; 18(3):183–204.
  35. 35. Petras V, Newcomb D J, Mitasova H. Generalized 3D fragmentation index derived from lidar point clouds. Open Geospatial Data Software and Standards, 2017; 2(1): 9.
  36. 36. Vetter M, Höfle B, Hollaus M, Gschöpf C, Mandlburger G, Pfeifer N, et al. Vertical vegetation structure analysis and hydraulic roughness determination using dense ALS point cloud data–a voxel based approach. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2011; 38(5): 200–206.
  37. 37. Weishampel J F, Blair J B, Knox R G, Dubayah R, Clark D B. Volumetric lidar return patterns from an old-growth tropical rainforest canopy. Int. J. Remote Sens. 2000; 21(2): 409–415.
  38. 38. Chasmer L, Hopkinson C, Treitz P. Assessing the three-dimensional frequency distribution of airborne and ground-based LIDAR data for red pine and mixed deciduous forest plots. Int. Arch. Photogr. Remote Sens. Spat. Inf. Sci. 2004; 36(8/W2): 66–70.
  39. 39. Kim E, Lee W K, Yoon M, Lee J Y, Son Y, Salim K A. Estimation of voxel-based above-ground biomass using airborne LiDAR data in an intact tropical rain forest, brunei. Forests, 2016; 7(12): 259–275.
  40. 40. Wang L, Xu Y, Li Y. Aerial LIDAR point cloud voxelization with its 3D ground filtering application. Photogramm. Eng. Remote Sens. 2017; 83(2): 95–107.
  41. 41. Wang L, Wang S, Xu Y, Li Y. Airborne LIDAR building detection based on voxel data structure. J. Image Graph. 2017; 22(10): 1436–1446.
  42. 42. Cramer M. The DGPF test on digital aerial camera evaluation–overview and test design. Photogramm. Fernerkundung Geoinf. 2010; 2: 73–82.
  43. 43. Hagstrom S T. 2014. Voxel-based LIDAR analysis and applications. D.Sc. Thesis., Rochester Institute of Technology. 2014. Available from: https://search.proquest.com/docview/1612428763.
  44. 44. Reinhard K, Azriel R. Digital geometry, geometric methods for digital picture analysis, San Francisco: Morgan Kaufmann Publishers; 2004.
  45. 45. Zhao Q, Shi X, Wang Y, Li Y. Remote sensing image segmentation based on spatially constrained Gaussian mixture model with unknown class number. J. Commun. 2017; 38(2): 34–43.
  46. 46. Rutzinger M, Rottensteiner F, Pfeifer N. A comparison of evaluation techniques for building extraction from airborne laser scanning. IEEE J. Sel. Topics. Appl. Earth Observ. Remote Sens. 2009; 2(1): 11–20.