Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 https://doi.org/10.1007/s12524-018-0911-y (0123456789().,-volV)(0123456789().,-volV) RESEARCH ARTICLE A Density-Based Clustering Method for the Segmentation of Individual Buildings from Filtered Airborne LiDAR Point Clouds Xiaoping Huang1 • Rujun Cao2 • Yanyan Cao3 Received: 4 May 2018 / Accepted: 9 November 2018 / Published online: 29 November 2018 Ó Indian Society of Remote Sensing 2018 Abstract Individual building segmentation is a prerequisite for building reconstruction. When building points or building regions are classified from raw LiDAR (Light Detection and Ranging) point clouds, the dataset usually contains numerous individual buildings as well as outliers. However, the applications to segment individual buildings from large datasets require the algorithms working with the minimal requirements of domain knowledge to determine the input parameters, working well on datasets with outliers and having good efficiency on big data. To meet these requirements, this paper presents a new segmentation method relying on a density-based clustering technique that is designed to separate individual buildings in dense built-up areas and is robust to outliers. As implemented in a spatial database, the algorithm benefits from the spatial index and the parallel computation capability offered by the system. The experimental results show that the proposed method is significantly more effective in segmenting individual buildings than the well-known moving window algorithm and the new boundary identification and tracing algorithm, and processes large volumes of data with good efficiency. Compared with the moving window algorithm, the proposed method (parallelized) consumed only 17.8% time and the quality improved from 88.8 to 94.8% on the Vaihingen dataset. Keywords LiDAR point cloud Individual building segmentation Density-based clustering Spatial database Parallelism Introduction Automatic building reconstruction is of great interest in remote sensing community. Various applications, such as geographic information systems (GIS), three-dimensional (3D) city modeling, disaster management and cultural heritage conservation, benefit from the availability of 3D & Rujun Cao newlong@whu.edu.cn Xiaoping Huang hxp_cy@163.com Yanyan Cao caoyy15@lzu.edu.cn 1 School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou, China 2 Present Address: Hangzhou CAS Skyvitech Co. Ltd, Hangzhou, China 3 School of Mathematics and Statistics, Lanzhou University, Lanzhou, China building models (Bláha et al. 2016; Rouhani et al. 2017; Xiao et al. 2018). The data acquired by Light Detection and Ranging (LiDAR) systems are accurate and geo-referenced in 3D (Leberl et al. 2010; Toth and Jóźków 2016), and they are the natural choice for the reconstruction of 3D building models (Haala and Kada 2010; Rottensteiner et al. 2014). Another data sources for 3D reconstruction include fullwaveform data (Słota 2015) and point clouds from dense image matching (Zhu et al. 2017). To reconstruct 3D building models from LiDAR data, building points or building regions need to be extracted from the raw point dataset at the first place and then be segmented into individual buildings. Building footprints extraction from LiDAR point clouds commonly involves the steps of filtering and segmentation. Filtering differentiates ground points from non-ground points. A number of established filtering algorithms are available, such as morphological filter (Chen et al. 2007; Pingel et al. 2013), progressive TIN densification filter (Axelsson 2000) and multi-directional ground filtering (Meng et al. 2009), and 123 908 the readers may refer to (Meng et al. 2010; Sithole and Vosselman 2004) for more detail on this topic. In the segmentation step, non-ground points are further classified based on shape measures or roughness of the point clouds. Region growing (Zhang et al. 2006), density-based segmentation (Filin and Pfeifer 2006) or eigenvalue analysis of local covariance matrix (Awrangjeb and Fraser 2014; Sampath and Shan 2010; Verma et al. 2006) can be used for this purpose. Building points can also be classified directly from the raw point clouds based on the semantic or contextual information (Vosselman et al. 2017; Zhu et al. 2017). When a set of building points has been classified automatically (or semi-automatically), the dataset generally contains hundreds of buildings. To reconstruct building models from this dataset successfully and efficiently, a critical step is separating it into groups that each group contains only one building. Methods of individual building segmentation from a building point cloud fall into two major categories, namely, cluster based and boundary identify based. There are various cluster models (connectivity models, centroid models, distribution models, density models, etc.) and dozens of clustering algorithms (EstivillCastro 2002), such as hierarchical clustering (Sibson 1973; Zhang et al. 2013), k-means (MacQueen 1967), fuzzy cmeans (Bezdek 1981) and expectation maximization (Dempster et al. 1977). Sampath and Shan (2007) proposed a method based on a region-growing algorithm to group similar points into the same building by iteratively collecting points within a moving window. In Sampath and Shan (2010), the fuzzy c-means (fuzzy k-means) algorithm was used to cluster individual planar roof segments to reconstruct building models. As the k-means and fuzzy cmeans algorithms can only cluster convex shapes, they are rarely utilized directly to segment individual buildings. In Awrangjeb and Fraser (2014), individual buildings are clustered in the building masks by verifying their coplanarity and neighborhood relationships. The other category of methods is based on boundary identification or tracing techniques. For instance, in Kwak and Habib (2014), Lari and Habib (2014), the authors derived individual building hypotheses with traced boundaries using the modified convex hull algorithm (Sampath and Shan 2007). Similarly, Awrangjeb (2016) grouped individual building sets based on a boundary identification technique which gradually replaces the outside edges of the Delaunay triangulation with the inside edges. Unfortunately, the above methods continue to suffer from the following limitations: (1) are sensitive to thresholds such as distance and neighborhood parameters and (2) are usually sensitive to outliers. On the other hand, automatic segmentation for individual buildings from LiDAR point clouds is still challenging 123 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 in dense built-up areas (for instance, medieval villages), in which buildings are generally packed densely to each other. In these areas, it is hard to separate point clouds into individual buildings (Susaki 2013). A feasible solution to this problem is to incorporate planning maps or aerial (satellite) images with LiDAR points in the segmentation process. Information about individual building boundaries provided by planning maps (Brenner 2005; Haala and Claus 1999; Vosselman and Dijkman 2001), or derived from image segmentation (Awrangjeb et al. 2013; Cheng et al. 2011; Sohn and Dowman 2007; Zhou and Zhou 2014), can be utilized as an effective supplement to improve individual building segmentation results. Nevertheless, integration of these auxiliary data has the following limitations: (1) for planning maps or cadastral maps, which usually contain building basements (Elberink 2008), they are not always consistent with eaves or overhangs and can lead to over-segmentation (Haala and Kada 2010); (2) for aerial images, shadows cast by vicinities or occlusions are unavoidable (Awrangjeb et al. 2013), which may also cause segmentation errors; (3) the registration of different data sources (e.g., imagery and point cloud data) with accuracy and high quality is still a difficult task (Rottensteiner et al. 2007). Furthermore, maps or images are not always available or up to date. Therefore, it is often necessary to segment individual buildings using LiDAR data alone. The investigation reported in this paper focuses on the process of the segmentation of individual buildings from filtered airborne LiDAR point clouds which contain only building regions. A newly implemented density-based clustering method (DBCS) is utilized in the automatic individual building segmentation process. Although the method was developed on a density-based spatial clustering algorithm (DBSCAN, Ester et al. 1996), it is the first application in the subject of individual building segmentation from filtered point clouds. The other contribution of this paper is that the parallelized segmentation of individual buildings from a series of subsets of a big dataset is completely new. A brief introduction of the basic idea of DBCS was reported in Cao et al. (2017), and this work extends it to process massive point clouds and to detect outliers. Methodology In this section, the principal steps of the proposed densitybased clustering approach for the segmentation of individual buildings from LiDAR point clouds are depicted in Sect. 2.1. Some detailed analyses of the algorithm are addressed in Sect. 2.2. In Sect. 2.3, the parallelism of DBCS is discussed to process big data. The algorithm is Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 implemented in a spatial database, PostGIS, which extends PostgreSQL with robust spatial database management capabilities. The Vaihingen dataset (Cramer 2010) has been selected to fully test the DBCS method. The airborne LiDAR point cloud was acquired using a Leica ALS50 laser scanning system, and the accuracy is about 10 cm in planarity and vertical (Rottensteiner et al. 2014). The median point density is 6.7 points/m2, and the average strip overlap is 30%. Point density varies considerably over the entire block depending on the overlap. The average point density inside an individual strip is 4 points/m2. The mean point spacing in one strip is 0.45 m for the along scan direction and 0.55 m for the across scan direction, respectively. The filtered point clouds were provided by Zhao et al. (2016), in which connected operators were utilized to extract building footprints, and the overall quality of the results is 85% on the pixel level evaluations of the ISPRS building extraction benchmarks. For convenience, the building extraction result of Area 3 is noted as Sample 1 in this paper. Density-Based Clustering for Individual Building Segmentation When the raw dataset has been classified to contain only building regions, the task for individual building segmentation is to group LiDAR points into different clusters thereby each cluster of points represents only one building. Obviously, each point belongs to only one cluster. Cluster analysis or clustering is the technique suitable for the purpose (Definition 1). In a density-based clustering procedure (Kriegel et al. 2011), clusters are defined as areas of higher density spread in the data space over a contiguous region than the remainder of the dataset (Definition 2). Objects in these low-density areas (that points are not closely packed together and are required to separate clusters) are usually regarded as outliers. Definition 1: (proximity) Given a set of d-dimensional real-valued continuous variables from a given data space D , S = Rd, proximities between individuals are quantified by dissimilarity measures or distance measures dis: S 9 S ? R? 0 , where the dissimilarity measure, dij, satisfies the metric (triangular) inequality, dij ? dim C djm, for pairs of individuals ij, im and jm. Definition 2: (density-based clustering) Given a dataset D , Rd that is a sample from some unknown probability density p(x), clusters are high-density areas of this density p(x), i.e., given some density threshold k, the set {x | p(x) [ k} of all high-density objects is called the density level set of S at k. 909 In this paper, a density-based cluster algorithm, DBSCAN (Ester et al. 1996), is independently implemented in a spatial database to separate building point clouds into individual buildings. As a density-based clustering method, DBSCAN characterizes a well-defined ‘‘density reachability’’ cluster model by connecting points that satisfy a density criterion as defined as a minimum number of objects within a certain neighborhood. In contrast to k-means method that can only find convex clusters, DBSCAN can form a cluster of an arbitrary shape (EstivillCastro 2002). Moreover, based on spatial databases, it benefits from the spatial index offered by the system and achieves performance improvements. The algorithm is implemented as follows, and the flowchart is shown in Fig. 1. (1) (2) (3) (4) Start with an arbitrary point P0 (not visited) that has at least minPts (a minimum number of points) neighbor points within its e-neighborhood (core point), or else, the point is labeled as an outlier. Add P0’s e-neighborhood points to the cluster, if their own e-neighborhoods are also dense. Repeat until the density-connected cluster is completely found. A new unvisited point is retrieved and processed, finding a further cluster or outlier. The parameters of a distance threshold e and a density threshold minPts together define a density level. The distance function determines the shape of a neighborhood, and an appropriate metric can be chosen for a given application, e.g., a Chebyshev distance in two-dimensional (2D) space defines a squared neighborhood. Note that even though a point marked as an outlier at the first place, it may later be found in a sufficiently sized e-neighborhood of a different point (dense connected) and hence be made a part of a cluster (as a border point). In the above procedure, spatial indices based on Generalized Search Tree (GiST) (Hellerstein et al. 1995) or B-Tree for the point clouds offer improvements on eneighborhood retrievals. After the above operations, all the isolated outliers are removed, and all the building points are grouped into particular buildings. Analysis of DBCS DBCS visits each point in the dataset as well as other methods do. When implemented in a spatial database, the spatial index can provide an e-neighborhood retrieving with an O(log n) time complexity, and therefore, an overall average runtime complexity of O(n log n) is expected. Some points (e.g., as candidates for different clusters) may be visited several times, but the time complexity remains unchanged. In fact, the time complexity is mostly governed 123 910 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Fig. 1 Flowchart of the proposed density-based individual building segmentation method Building point clouds Are all points visited? No Select an arbitrary unvisited point p No Label as noise Yes Yes END Add p to a new cluster C Query p’ s adjacent points within unvisited or noise Repeat until a density-connected cluster is completely found For each neighbor, label it as a core point or a border point An individual building cluster by the number of e-neighborhood retrieving invocations. In the worst case, such as without the use of an accelerating index structure (applying a sequential search), or on a degenerated dataset (e.g., all points within a distance less than e), the overall runtime complexity remains O(n2). Furthermore, the time complexity for creating spatial index structures (e.g., GiST or R*-tree) is usually in O(n log n) and, as a result, this does not affect the total time complexity. Although some border points may be firstly marked as outliers and be clustered later, they are not added to the seeds list and unnecessary neighborhood retrieval avoided because they are not core points. On the other hand, a border point may be shared by two closely distributed clusters. In this case, the algorithm will group the shared point into the first discovered cluster. An improvement on this situation is to group it into the cluster that its nearest core point belongs. Except from these cases, the result is insensitive to the processing order of the points. Additionally, if treating border points as outliers, the algorithm is deterministic. The algorithm tries to discover a cluster that is formalized as a maximally connected component of the set of points. Points that are not a part of any clusters are outliers. Obviously, a cluster with respect to (w.r.t.) e and minPts contains at least minPts points. However, in an extreme case, a cluster may only contain one core point and the border points in its neighborhood. Whether it is a valid cluster or noise depends on the applications. An introduction of a minimum number of core points per cluster can reduce the number of ‘‘false’’ clusters. Parallelization for the Algorithm As mentioned before, the average runtime complexity of DBCS is O(n log n). This is a better result, but it still needs a long time to process massive LiDAR point clouds. Considering the nature of the distribution of buildings, segmenting numerous individual buildings simultaneously is a natural choice, i.e., the algorithm can be parallelized to 123 Is p a core point w.r.t. ε and minPts? reduce the time of execution. The steps of parallelizing generally include decomposition, assignment and execution. In the decomposition step, the input point dataset S is partitioned into m subsets satisfying the following conditions: i[ ¼m Si ¼ S and Si \ Sj ¼ u; for i 6¼ j; 1 i; j m: ð1Þ i¼1 These sub-datasets can be assigned to different tasks and processed concurrently. As the design of a high efficient parallelized algorithm is context dependent, we briefly depict the dataset partitioning rules used in this paper. Firstly, the bounding box (projection on a horizontal plane) of a big dataset is divided uniformly into rectangles; then, if the number of points within a particular rectangle exceeds a threshold, the rectangle is subdivided (with the limitation of the number of tasks). In some cases, an individual building may be divided into different subsets and needs to be further merged into the same group by their spatial proximity. Another solution to this problem is to determine the border of the sub-datasets automatically to avoid incorrect division of individual buildings. Limiting the seed points within the border regions, DBCS can be utilized to identify these buildings. Figure 2 illustrates this partitioning process. Note that the buildings intersecting with the splitting line have been segmented in this step (Fig. 2c, d). In practice, the spatial database can be used feasibly to partition the dataset into subsets and thus can process multiple subsets at one time. Implemented in a spatial database, the parallelized algorithm can utilize the capabilities of task parallelism of the system and get a high performance. Although the runtime complexity remains unchanged, the processing time span is significantly reduced. For the sample dataset (Sample 1, Fig. 2a, 27,734 points), the runtime was 5.76 s, including 2.07 s for data partitioning and 3.68 s for clustering in sub-datasets (3.45 s for the upper dataset and 3.65 s for the lower dataset, Fig. 2d), while the sequential execution took 9.80 s. (NOTE: In a degenerated case, all the buildings Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 911 Fig. 2 Dataset partitioning (Sample 1): a raw building regions with splitting line (red colored), b seed points within the border regions w.r.t. e (blue dots), c segmented individual buildings intersecting with the splitting line and d partitioning results (subsets are colored differently, and the gray-colored subset needs no further processing) (color figure online) intersecting with the splitting line, the algorithm is not parallelized. Another special case is the majority of the points are divided into a particular subset. The average time complexity of the parallelized algorithm is O(n0 log n) ? max(O(ni log ni)), where n is the number of building points, n0 is the number of points intersecting with the splitting line, and ni is the number of elements of subset i, and n0 ? R ni = n.) 123 912 Results The filtered Vaihingen dataset (Cramer 2010) was selected to fully test DBCS. Besides the automatic classification results from (Zhao et al. 2016), some building points were extracted manually. Effectiveness Tests To evaluate the effectiveness of DBCS, we compared it with the moving window (MW) algorithm (Sampath and Shan 2007). For Sample 1 (Figs. 2, 3), there are 43 buildings segmented manually. Seen from Table 1, the quality of DBCS (97.7%) is higher than that of MW (79.1%). The comparison was also described more specifically using dataset Sample 2 (Fig. 3a). For Sample 2 (Fig. 4a, b, 4700 points), there are six gable-roofed houses with differing shapes; the two buildings on the right are very close to each other. (The distance between the two nearest points is 0.85 m in 2D and 0.86 m in 3D.) The distance threshold was set to 0.9 m for both the approaches, which is slightly less than twice the average point resolution. As can be seen from Fig. 4c, DBCS segmented all the six buildings correctly (colored differently), while MW cannot differentiate the right two clusters (Fig. 4d, light blue colored). Furthermore, DBCS detected the border points from all the clusters (Fig. 5, purple-colored Fig. 3 Individual building segmentation (Sample 1, building regions in the blue polygon; 2D Euclidean distance, e = 0.9 and minPts = 5): a reference image, b enlarged part of the dashed rectangle in (a), and c erroneously segmented buildings: oversegmentation error for DBCS and MW (red rectangle), and under-segmentation errors for the MW (dash circled) (color figure online) 123 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 dots). Instead, the MW method has no explicit notion of border or outlier points. The comparison between DBCS and the boundary identification and tracing (BIT) method (Awrangjeb 2016) was conducted. The basic idea of BIT is, firstly, detecting approximate boundaries of the point cloud based on the fact that every boundary line segment candidate is associated with only one triangle inside the Delaunay triangulation and then iteratively removing the edges connecting non-neighboring points by verifying the length threshold (Td) derived from the maximum point-to-point distance (dmax). Figure 6b–d briefly illustrates the process of BIT, and its details can be referenced to Awrangjeb (2016). The segmentation results of the sample dataset (Fig. 4a) are shown in Fig. 6a, where Td = 2dmax = 2.0 m, and the right two buildings and the bottom-left two buildings were not segmented correctly. The sample dataset (Sample 2, Fig. 4a) was also used to evaluate the efficiency of the three methods. The runtime of MW, DBCS (serial mode) and BIT were 1.47 s, 1.61 s and 17.75 s, respectively. As expected, MW is the fastest method for its simplicity, while BIT is the most timeconsuming method as it is designed to trace boundaries. DBCS consumed a slightly more time than MW, but it is the most robust method. Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Table 1 Individual building segmentation results of Sample 1 913 Segmented correctly Under segmentation Over-segmentation Quality (%) The proposed method 42 0 1 97.7 Moving window 34 4 1 79.1 Fig. 4 Individual building segmentation (Sample dataset 2): a raw building points, b reference image, c segmentation results of the DBCS method w.r.t. e = 0.9 and minPts = 5, 2D Euclidean distance and d segmentation results of the MW method, e = 0.9, 2D Euclidean distance (the two buildings on the right are erroneously grouped in one cluster) Detection of Outliers In addition to the segmentation of individual building regions, DBCS can be used to detect outliers as well. Figure 7 shows an example of the results of building segmentation and outlier detection. (The raw points and the reference image are presented in Fig. 4a, b, respectively.) The distance measure used in this example was 3D Euclidean distance, and the parameters of e and minPts were set to 1.1 m and 6, respectively. The clustered buildings are differently colored, and the detected outliers are red colored (Fig. 7a). Seen from Fig. 7b, power line or power-pole points (marked as P), antenna points (A), multipath points (M) and a chimney point (C) were all discovered as well as ground or wall points (near the boundary regions and not marked). Selection of Initial Seed Points We also evaluated the influence of the selection of initial points on the convergence of the algorithm. As an iterative routine, it is obvious that the selection of the initial cluster point affects the number of neighborhood query invocations. In general, a larger number of neighbors of a core 123 914 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Fig. 5 Border points (purple colored) are identified during the clustering process (e = 0.9, minPts = 5, 2D Euclidean distance): a segmentation results and b enlarged part of the rectangle in (a) Fig. 6 Using BIT to segment individual buildings (the point dataset and the reference image are presented in Fig. 4): a segmentation results: the two buildings on bottom-left (light green colored) and the two buildings on the right (blue colored) are erroneously grouped in same clusters; b Delaunay triangulation of the points of the right two buildings; c an intermediate result of the removal of long boundary edges (pink colored); and d boundary identification result (red colored) (color figure online) point, the less invocations of the query for a segment. We tested three strategies for the selection of the initial point applied in the clustering process, i.e., entry sequenced, multiple neighbored and random selection. Figure 8 illustrates the clustering process with core points queried by different strategies. The total of the neighborhood retrieving invocations for the three strategies is summarized in Table 2. In each invocation of clustering, multiple core points that are newly added in the previous invocation are processed simultaneously, while the outlier points are processed one by one. In fact, except from an initial point with multiple neighbors, the two other strategies may query several times to get a core point before clustering starts. Note that, based on the spatial database, the neighborhood retrievals of multiple core points are processed simultaneously. Although the runtime complexity of all the three strategies remains the same, the smaller the number of the neighborhood query invocations for a segment means a better performance. As implemented in a spatial database, we can intentionally select the initial point by analyzing the number of adjacencies of a point within its e-neighborhood. 123 Efficiency Evaluations To test the efficiency of DBCS, the dataset captured over Vaihingen was used (strip 3, 5 and 9, Fig. 9a). The test area is consisted of the downtown area consisting of historic buildings having rather complex shapes and suburban area Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 915 Fig. 7 Outliers (red colored) are detected during the clustering process (e = 1.1, minPts = 6, 3D Euclidean distance): a detection results (red dots) and segmentation results (colored differently), b enlarged part for the rectangle in (a) and c reference image of (b) (color figure online) which is characterized by detached buildings with various structures. The building regions were extracted semi-automatically, i.e., besides the automatically derived building regions from (Zhao et al. 2016), some missed buildings were extracted manually. There are 1021 extracted buildings containing 1,467,974 LiDAR points, and the area of the buildings varies from 2.33 to 14,464.71 m2 (Fig. 9a). The number of points within a rectangle was 500,000, and the number of tasks was set to 8 in the dataset partitioning process. After the dataset was divided into three subsets S0, S1 and S2, S1 and S2 were partitioned simultaneously. Four individual building segmentation tasks (density-based clustering on each sub-dataset) were executed in parallel mode. The parallelized algorithm consumed 1744 s in segmenting all the building regions (Fig. 9b). Compared with the sequential execution (15,497 s) and MW (9773 s), the efficiency of the parallelized method improved significantly (Table 3). The segmentation results of both methods are shown in Table 4. Discussion In this section, we discuss some implementation details of DBCS such as the selection of the thresholds and the distance measure. When separating individual building point sets using the density-based spatial clustering algorithm, two parameters, the distance e and the minimum number of points minPts, are required. Whether a point is a valid candidate depends on its e-neighborhood containing sufficiently minPts points. In practice, the value of e is given by the problem to solve, and minPts is the desired minimum cluster size. The smaller e, the less points of the dataset will be clustered, whereas for a too high value of e, clusters tend to merge the majority of the points and be in the same cluster (Fig. 10a). As to airborne LiDAR data, the lower bound of e is the larger value of the average spacing in along and across scanning directions. Furthermore, a minimum number of point minPts can be derived from the spatial dimension D of the dataset, and as a rule of thumb, minPts is larger than or equal to D ? 1. A larger value of minPts will yield a better result for a dataset with outliers (Fig. 10b). Considering the nature of data acquisition from airborne laser scanning sensors, the upper bound of minPts is generally no more than 9 (for a point has 8 neighbors within its specific e-neighborhood). Moreover, given a minPts, e can be estimated by the sorted k-distance graph (Ester et al. 1996). Additionally, the distance measure is tightly coupled with the choice of e and minPts, and as aforementioned, a physical distance, rectangular or circular neighborhood, was tested in this paper (Fig. 10c). Actually, these distance metrics can be generalized by Minkowski distance. The Minkowski distance of order p between two points x and y 2 Rn is defined as: !1=p n X p jxi yi j : ð2Þ i¼1 123 916 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Fig. 8 Selection of the initial cluster point affects the convergence speed of the algorithm (e = 1.1, minPts = 6, 3D Euclidean distance; red-colored points are clustered after the iteration): a clustering with an entry sequentially selected core point, b clustering with a multineighbored (core) point and c clustering with a randomly selected core point (color figure online) Table 2 Summary for the clustering process with different initial point selection strategies Strategy for the selection of initial point Invocations before core point selected Invocations for clustering Invocations for the rest points Total invocations Entry sequenced 30 18 27 75 Multi-neighbored 0 15 45 60 Random selection 2 16 43 61 The typically used p is 1, 2 or !, corresponding to Manhattan distance, Euclidean distance and Chebyshev distance, respectively. As can be seen from Fig. 11d, the unit circle of larger order of p contains the smaller, i.e., for a given e, the region determined by the Chebyshev distance is the largest and may contain more points within it than the others may. We used the 2D Euclidean distance to segment individual buildings, while using the 3D Euclidean distance is 123 prone to over-segmentation (Fig. 7a), especially for the buildings with considerably different regions in height. Generally, for densely built-up areas, a small value of e and a larger value of minPts are preferable. The e was set to 0.9 m in this paper, which is as a slightly less than the twice of the average point spacing and 5 for minPts, which is taken as the consideration of the fact that the point clouds have been classified to contain only building regions. The average point spacing is available as an input Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Fig. 9 Performance improvements via parallelism: a the test dataset (building regions are lavender-colored); and b execution time line of the parallelised algorithm (the number of points of each dataset and the execution time in seconds are marked in each node, the mid row 917 and the third row, respectively). The clustering processes in the partitioning procedure (the left part) are gray-colored and four clustering tasks (the right part) executed concurrently (color figure online) Table 3 Runtime (seconds) of individual building segmentation (the Vaihingen dataset) Number of the points Moving window 1,467,974 9773 The proposed method (serial mode) The proposed method (parallel mode) 15,497 1744 Ò Ò All the tests run on the same platform, a Lenovo T4900d-00 PC with 4 GB RAM, Intel ST1000DM003 disk, Windows7 64-bit, PostgreSQL 9.4, and PostGIS 2.2 Table 4 Summary of individual building segmentation (the Vaihingen dataset, 1021 buildings) Core(TM)-i7-3770 CPU @3.4 GHz, ATA Segmented correctly Under segmentation Over-Segmentation Quality (%) The proposed method 968 20 13 94.8 Moving window 907 52 10 88.8 from the data vendor, and if not, it can be estimated using the following equation (for airborne LiDAR data): Mean point spacing ¼ sqrtðArea of the convex hull / Number of pointsÞ; ð3Þ where the convex hull is the 2D convex hull of the points ortho-projected on a horizontal plane. The 3D distance measure is used to identify outliers for building roof reconstruction, and the topic of reconstruction is beyond the scope of this paper. The authors recommend the random strategy for the initial point selection during the clustering process. In contrast to the multi-neighbored strategy, it does not need to query the number of neighbors of a particular point within its e-neighborhood; its average performance outweighs the two other strategies (Table 2). Furthermore, a border point may be visited by two closely distributed clusters (density reachable from two different clusters) and be erroneously grouped in the first discovered cluster (Fig. 5b, red circled). This is a rare case and can be fixed by verifying the conformance of its nearest core point belonging. Another issue is that only the Vaihingen dataset has been used to evaluate DBCS in this paper. For a given dataset, choosing a meaningful distance threshold e and a minimum number of neighboring points minPts requires a well understanding of the data and scale. However, these parameters can be easily estimated by the point density and, therefore, DBCS will work well on other point clouds if their densities are not varied largely. 123 918 Fig. 10 Distance functions and parameter settings affect segmentation results (border points are purple colored and outlier points are red colored): a the effect of e, b the effect of minPts, and c different 123 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 distance measures. (Note: For clarity, the border points are not marked in the over-segmented results, a col. 1, b col. 4 and c col. 2) (color figure online) Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 919 Fig. 11 Unit circles of the Minkowski distance with various p: a p = 1, b p = 2, c p = ! and d all the three overlapped p=1 p=2 p=∞ p = 1, 2, ∞ (a) (b) (c) (d) Conclusions and Future Works References This paper proposed a novel method, DBCS, to segment individual buildings from building point sets extracted from airborne LiDAR point clouds. The only requirement for the domain knowledge of the input data is the point resolution, which is provided by the data vendor, or can be easily derived from the data itself. The algorithm is based on a density-based spatial clustering technique, using the spatial index to improve performance. The results of our experiments demonstrate that DBCS (1) works well on datasets acquired from densely built-up areas; (2) is robust to outliers; and (3) processes massive point clouds efficiently. DBCS is more effective and efficient than the moving window algorithm (which can be regarded as a special case of the proposed method, where minPts is less than or equal to 2) and the new boundary identification and tracing algorithm. As implemented in a spatial database, DBCS calculates large datasets with good efficiency since the system offers robust spatial data management and real parallel computation capabilities. Future research will consider the following issues. Firstly, since the data acquired by LiDAR systems are usually non-uniformly distributed, the average point spacing in along and across scan directions is not equal, neighborhood retrieving within an ellipse or a rectangle where its axes conform to the scanning direction may be preferable. Secondly, some buildings are connected to (or are very close to, e.g., less than the point spacing) each other that cannot be differentiated from LiDAR data only, and planning maps, cadastral maps, images or human– computer interaction should be incorporated. Awrangjeb, M. (2016). Using point cloud data to identify, trace, and regularize the outlines of buildings. International Journal of Remote Sensing, 37(3), 551–579. https://doi.org/10.1080/ 01431161.2015.1131868. Awrangjeb, M., & Fraser, C. (2014). Automatic segmentation of raw LIDAR data for extraction of building roofs. Remote Sensing, 6(5), 3716–3751. https://doi.org/10.3390/rs6053716. Awrangjeb, M., Zhang, C., & Fraser, C. S. (2013). Automatic extraction of building roofs using LIDAR data and multispectral imagery. ISPRS Journal of Photogrammetry and Remote Sensing, 83, 1–18. https://doi.org/10.1016/j.isprsjprs.2013.05.006. Axelsson, P. (2000). DEM Generation from laser scanner data using TIN adaptive models. In Proceedings of XIX ISPRS Congress (pp. 110–117). Amsterdam. Bezdek, J. (1981). Pattern recognition with fuzzy objective function algorithms. New York: Plenum Press. Bláha, M., Vogel, C., Richard, A., Wegner, J. D., Pock, T., & Schindler, K. (2016). Large-scale semantic 3D Reconstruction: an adaptive multi-resolution model for multi-class volumetric labeling. In 2016 IEEE conference on computer vision and pattern recognition (CVPR) (pp. 3176–3184) Las Vegas, NV, USA. https://doi.org/10.1109/cvpr.2016.346. Brenner, C. (2005). Building reconstruction from images and laser scanning. International Journal of Applied Earth Observation and Geoinformation, 6(3–4), 187–198. https://doi.org/10.1016/j. jag.2004.10.006. Cao, R., Zhang, Y., Liu, X., & Zhao, Z. (2017). 3D building roof reconstruction from airborne LiDAR point clouds: A framework based on a spatial database. International Journal of Geographical Information Science, 31(7), 1359–1380. https://doi.org/10. 1080/13658816.2017.1301456. Chen, Q., Gong, P., Baldocchi, D., & Xie, G. (2007). Filtering airborne laser scanning data with morphological methods. Photogrammetric Engineering & Remote Sensing, 73(2), 175–185. Cheng, L., Gong, J., Li, M., & Liu, Y. (2011). 3D building model reconstruction from multi-view aerial imagery and lidar data. Photogrammetric Engineering & Remote Sensing, 77(2), 125–139. Cramer, M. (2010). The DGPF test on digital aerial camera evaluation—overview and test design. Photogrammetrie – Fernerkundung – Geoinformation, 2010(2), 73–82. https://doi. org/10.1127/1432-8364/2010/0041. Dempster, A. P., Laird, N. M., & Rubin, D. B. (1977). Maximum likelihood from incomplete data via the EM algorithm. Journal of the Royal Statistical Society: Series B, 39(1), 1–38. Elberink, S. O. (2008). Problems in automated building reconstruction based on dense airborne laser scanning data. In ISRPS 2008 Beijing (pp. 93–98). Beijing. Ester, M., Kriegel, H., Sander, J., & Xu, X. (1996). A density-based algorithm for discovering clusters in large spatial databases with Acknowledgements The Vaihingen dataset 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 (in German). Compliance with ethical standards Conflict of interest No potential conflict of interest was reported by the authors. 123 920 noise. In Proceedings of the second international conference on knowledge discovery and data mining (KDD-96) (pp. 226–231). Portland. Estivill-Castro, V. (2002). Why so many clustering algorithms: a position paper. ACM SIGKDD Explorations Newsletter, 4(1), 65–75. https://doi.org/10.1145/568574.568575. Filin, S., & Pfeifer, N. (2006). Segmentation of airborne laser scanning data using a slope adaptive neighborhood. ISPRS Journal of Photogrammetry and Remote Sensing, 60(2), 71–80. https://doi.org/10.1016/j.isprsjprs.2005.10.005. Haala, N., & Claus, B. (1999). Extraction of buildings and trees in urban environments. ISPRS Journal of Photogrammetry and Remote Sensing, 54(2), 130–137. https://doi.org/10.1016/S09242716(99)00010-6. Haala, N., & Kada, M. (2010). An update on automatic 3D building reconstruction. ISPRS Journal of Photogrammetry and Remote Sensing, 65(6), 570–580. https://doi.org/10.1016/j.isprsjprs. 2010.09.006. Hellerstein, J. M., Naughton, J. F., & Pfeffer, A. (1995) Generalized search trees for database systems. In Proceedings of the 21th international conference on very large data bases (pp. 562–573). Zurich. Kriegel, H., Kröger, P., Sander, J., & Zimek, A. (2011). Densitybased clustering. WIREs Data Mining and Knowledge Discovery, 1(3), 231–240. https://doi.org/10.1002/widm.30. Kwak, E., & Habib, A. (2014). Automatic representation and reconstruction of DBM from LiDAR data using recursive minimum bounding rectangle. ISPRS Journal of Photogrammetry and Remote Sensing, 93(7), 171–191. https://doi.org/10.1016/ j.isprsjprs.2013.10.003. Lari, Z., & Habib, A. (2014). An adaptive approach for the segmentation and extraction of planar and linear/cylindrical features from laser scanning data. ISPRS Journal of Photogrammetry and Remote Sensing, 93(7), 192–212. https://doi.org/10. 1016/j.isprsjprs.2013.12.001. Leberl, F., Irschara, A., Pock, T., Meixner, P., Gruber, M., Scholz, S., et al. (2010). Point clouds: Lidar versus 3D Vision. Photogrammetric Engineering & Remote Sensing, 76(10), 1123–1134. MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. In L. M. Le Cam, & J. Neyman (Eds.), Proceedings of the fifth Berkeley symposium on mathematical statistics and probability, Volume 1: Statistics (pp. 281–297). CA: University of California Press. Meng, X., Currit, N., & Zhao, K. (2010). Ground filtering algorithms for airborne LiDAR data: A review of critical issues. Remote Sensing, 2(3), 833–860. https://doi.org/10.3390/rs2030833. Meng, X., Wang, L., Silván-Cárdenas, J. L., & Currit, N. (2009). A multi-directional ground filtering algorithm for airborne LIDAR. ISPRS Journal of Photogrammetry and Remote Sensing, 64(1), 117–124. https://doi.org/10.1016/j.isprsjprs.2008.09.001. Pingel, T. J., Clarke, K. C., & McBride, W. A. (2013). An improved simple morphological filter for the terrain classification of airborne LIDAR data. ISPRS Journal of Photogrammetry and Remote Sensing, 77, 21–30. https://doi.org/10.1016/j.isprsjprs. 2012.12.002. Rottensteiner, F., Sohn, G., Gerke, M., Wegner, J. D., Breitkopf, U., & Jung, J. (2014). Results of the ISPRS benchmark on urban object detection and 3D building reconstruction. ISPRS Journal of Photogrammetry and Remote Sensing, 93(7), 256–271. https:// doi.org/10.1016/j.isprsjprs.2013.10.004. Rottensteiner, F., Trinder, J., Clode, S., & Kubik, K. (2007). Building detection by fusion of airborne laser scanner data and multispectral images: Performance evaluation and sensitivity analysis. ISPRS Journal of Photogrammetry and Remote Sensing, 62(2), 135–149. https://doi.org/10.1016/j.isprsjprs.2007.03.001. 123 Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 Rouhani, M., Lafarge, F., & Alliez, P. (2017). Semantic segmentation of 3D textured meshes for urban scene analysis. ISPRS Journal of Photogrammetry and Remote Sensing, 123, 124–139. https:// doi.org/10.1016/j.isprsjprs.2016.12.001. Sampath, A., & Shan, J. (2007). Building boundary tracing and regularization from airborne lidar point clouds. Photogrammetric Engineering & Remote Sensing, 73(7), 805–812. https://doi. org/10.14358/PERS.73.7.805. Sampath, A., & Shan, J. (2010). Segmentation and reconstruction of polyhedral building roofs from aerial lidar point clouds. IEEE Transactions on Geoscience and Remote Sensing, 48(3), 1554–1567. https://doi.org/10.1109/TGRS.2009.2030180. Sibson, R. (1973). SLINK: An optimally efficient algorithm for the single-link cluster method. The Computer Journal, 16(1), 30–34. https://doi.org/10.1093/comjnl/16.1.30. Sithole, G., & Vosselman, G. (2004). Experimental comparison of filter algorithms for bare-Earth extraction from airborne laser scanning point clouds. ISPRS Journal of Photogrammetry and Remote Sensing, 59(1–2), 85–101. https://doi.org/10.1016/j. isprsjprs.2004.05.004. Słota, M. (2015). Full-waveform data for building roof step edge localization. ISPRS Journal of Photogrammetry and Remote Sensing, 106, 129–144. https://doi.org/10.1016/j.isprsjprs.2015. 05.008. Sohn, G., & Dowman, I. (2007). Data fusion of high-resolution satellite imagery and LiDAR data for automatic building extraction. ISPRS Journal of Photogrammetry and Remote Sensing, 62(1), 43–63. https://doi.org/10.1016/j.isprsjprs.2007. 01.001. Susaki, J. (2013). Knowledge-based modeling of buildings in dense urban areas by combining airborne LiDAR Data and Aerial Images. Remote Sensing, 5(11), 5944–5968. https://doi.org/10. 3390/rs5115944. Toth, C., & Jóźków, G. (2016). Remote sensing platforms and sensors: A survey. ISPRS Journal of Photogrammetry and Remote Sensing, 115, 22–36. https://doi.org/10.1016/j.isprsjprs. 2015.10.004. Verma, V., R. Kumar and S. Hsu. (2006). 3D building detection and modeling from aerial LIDAR Data. In 2006 IEEE computer society conference on computer vision and pattern recognition (pp. 2213–2220) New York. https://doi.org/10.1109/cvpr.2006. 12. Vosselman, G., Coenen, M., & Rottensteiner, F. (2017). Contextual segment-based classification of airborne laser scanner data. ISPRS Journal of Photogrammetry and Remote Sensing, 128, 354–371. https://doi.org/10.1016/j.isprsjprs.2017.03.010. Vosselman, G., & Dijkman, E. (2001). 3D building model reconstruction from point clouds and ground plans. International Archives of Photogrammetry and Remote Sensing, XXXIV-3/W4, 37–43. Xiao, W., Mills, J., Guidi, G., Rodrı́guez-Gonzálvez, P., Barsanti, S. G., & González-Aguilera, D. (2018) Geoinformatics for the conservation and promotion of cultural heritage in support of the UN Sustainable Development Goals. In ISPRS Journal of Photogrammetry and Remote Sensing. https://doi.org/10.1016/j. isprsjprs.2018.01.001. (in press). Zhang, K., Yan, J., & Chen, S. C. (2006). Automatic construction of building footprints from airborne LIDAR data. IEEE Transactions on Geoscience and Remote Sensing, 44(9), 2523–2533. https://doi.org/10.1109/TGRS.2006.874137. Zhang, W., Zhao, D., & Wang, X. (2013). Agglomerative clustering via maximum incremental path integral. Pattern Recognition, 46(11), 3056–3065. https://doi.org/10.1016/j.patcog.2013.04. 013. Zhao, Z., Duan, Y., Zhang, Y., & Cao, R. (2016). Extracting buildings from and regularizing boundaries in airborne lidar data using Journal of the Indian Society of Remote Sensing (June 2019) 47(6):907–921 connected operators. International Journal of Remote Sensing, 37(4), 889–912. https://doi.org/10.1080/01431161.2015. 1137647. Zhou, G., & Zhou, X. (2014). Seamless fusion of LiDAR and aerial imagery for building extraction. IEEE Transactions on Geoscience and Remote Sensing, 52(11), 7393–7407. https://doi.org/ 10.1109/TGRS.2014.2311991. 921 Zhu, Q., Li, Y., Hu, H., & Wu, B. (2017). Robust point cloud classification based on multi-level semantic relationships for urban scenes. ISPRS Journal of Photogrammetry and Remote Sensing, 129, 86–102. https://doi.org/10.1016/j.isprsjprs.2017. 04.022. 123