OBJECT-BASED CLASSIFICATION OF URBAN AIRBORNE LIDAR POINT CLOUDS WITH MULTIPLE ECHOES USING SVM

Airborne LiDAR point clouds classification is meaningful for various applications. In this paper, an object-based analysis method is proposed to classify the point clouds in urban areas. In the process of classification, outliers in the point clouds are first removed. Second, surface growing algorithm is employed to segment the point clouds into different clusters. The above point cloud segmentation is helpful to derive useful features such as average height, size/area, proportion of multiple echoes, slope/orientation, elevation difference, rectangularity, ratio of length to width, and compactness. At last, SVM-based classification is performed on the segmented point clouds with radial basis function as kernel. Two datasets with high point densities are employed to test the proposed method, and three classes are predefined. The results suggest that our method will produce the overall classification accuracy larger than 97% and the Kappa coefficient larger than 0.95. * Corresponding author.


INTRODUCTION
Over the passed two decade, airborne Light Detection and Ranging (LiDAR) is probably the leading technology for the extraction of information about topographic surfaces.The main advantage of LiDAR technique is that it provides dense, discrete, detailed and accurate point coverage over both the objects and surfaces, which has led to an increasing interest in utilizing the data for a range of applications such as mapping, forestry, urban planning, telecommunication etc.Although most the technical hardware difficulties and system integration problems have been solved, the development of algorithms and methods for interpretation and modelling of LiDAR data is urgently needed (Axelsson, 1999).Considering the unique characteristics of LiDAR, the full exploitation of its potentials and capabilities needs new data processing methods that are fundamentally different from the ones used in the traditional community of photogrammetry and remote sensing.One of the data processing methods urgently needed is to label the point clouds with different classes such as ground, building, bridge, tree etc.The above labelling process is also known as point cloud classification.Two ways are often utilized to classify the point clouds into different subsets.One is to separate the ground from nonground LiDAR measurements first, and then to split non-ground measurements into low vegetation points, high vegetation points, building points etc. Particularly, the process of classifying a LiDAR dataset into ground (bare-earth) measurements and non-ground measurements is termed as filtering.Numerous algorithms have been developed for filtering, and the existing approaches can be categorized into morphological (Vosselman, 2000;Zhang et al. 2003), surfacebased (Kraus and Pfeifer,1998;Axelsson, 2000) and segmentbased (Sithole, 2005) filters.In 2004, Sithole and Vosselman (2004) made experimental comparisons of filter algorithms for bare-Earth extraction from airborne laser scanning point clouds.The results show that all filters perform well in smooth rural landscapes, but all produce errors in complex urban areas and rough terrain with vegetation.After filtering is performed, low vegetation measurements, higher vegetation measurements and building measurements can be identified by the features such as height differences on the normalized digital surface model and local height variance, as done in the commercial TerraSolid software (Terrasolid Ltd, 2011).The other way is to separate grounds, buildings, trees, and other kinds of measurements from LiDAR data simultaneously.For example, Elberink and Mass (2000) segments raw laser scanner data in an unsupervised classification using anisotropic height texture measures, which suggests that anisotropic operations have the potential to discriminate between orientated and nonorientated objects.Petzold and Axelsson (2000) find that the reflectance of the laser echo is a good feature to discriminate the neighbouring objects.Secord and Zakhor (2007) proposed an approach to detecting trees in registered and fused aerial image and LiDAR data, and a support vector machine (SVM) is utilized to classify the segmented images.Although the outcomes of data fusion are promising, data fusion is not included in this paper due to its complexity in registration.Golovinskiy et al. (2009) designs a system for recognizing objects in 3D point clouds obtained by mobile laser scanning in urban environments, and the system is decomposed into four steps: locating, segmenting, characterizing, and classifying clusters of 3D points.Lalonde et al. (2006) seperated the points in natural environment into discrete ones, linear ones and the points on smooth surfaces.The above classification approaches have made great progress.However, most of them only make use of the features about local neighbourhood without topological and geometric considerations.As a result, the traditional methods cannot provide reliable results due to the lack of prior knowledge in the process of classification.Fortunately, the processing of LiDAR data can be strengthened by first aggregating points and then analyzing segments rather than individual points (Filin and Pfeifer, 2006).As a matter of fact, segmentation can provide more reliable results since geometric and topological information is considered in the step of classification (Vosselman, 2009).In this paper, an object-based analysis method is proposed to classify the point clouds in urban areas.The main innovation of the proposed method is the classification is made in segmentwise style rather than point-wise one, which is helpful to make use of more exsiting knowledge.

THE PROPOSED METHOD
The proposed object-based analysis method for point clouds is composed of four key steps: outlier removal, point cloud segmentation, features extraction and SVM-based classification.

Outlier removal
Generally, original airborne LiDAR data contains outliers.Outlier elimination is one of the key steps in the postprocessing of airborne LiDAR point cloud data, and it has a significant influence on the subsequent classification operation.In this paper, the method proposed by Silván-Cárdenas and Wang ( 2006) is used to remove the outliers.Particularly, outliers were removed by two sub-steps.In the first sub-step, the elevation histogram was examined and elevation thresholds were set up to eliminate the lowest and highest tails from the distribution.Remaining outliers were searched using the minimum height difference of each point with respect to all its neighbours.A Delaunay triangulation was used to define the neighbours of each point.Points that were too high or too low, with respect to their neighbours, were removed from the dataset.

Segmentation by Surface Growing
Segmentation is often the first step in extracting information from a point cloud (Vosselman and Klein, 2010).Similar to image segmentation, the point cloud segmentation refers to the operation that will separate points into different groups based on characteristics without knowledge of what they really are.The most common segmentations of point clouds are those that group points that fit to the same plane, smooth surface, sphere or cylinder etc.There are a variety of airborne LiDAR point cloud segmentation methods, such as scan line segmentation method (Sithole, 2005), slope adaptive neighbourhood method (Filin and Pfeifer, 2006), octree-based split-and-merge method (Wang and Tseng, 2010).Among the methods, surface growing algorithm proposed by Vosselman is selected in this paper.Surface growing algorithm can be considered as an extension of the well-known region growing method into three dimensions.For processing point clouds, surface growing algorithm can be formulated as a method of grouping nearby points based on some homogeneity criterion, such as planarity or smoothness of the surface defined by the grouped points (Vosselman and Klein, 2010).Surface growing algorithm is composed of two steps: seed detection and growing.The seed detection is performed using 3D Hough transform algorithm, as shown in Figure 1(b).In the seed detection step, select an arbitrarily point to be segmented, and chose all points within some radius around the point.If a robust plane through the above point is found by 3D Hough transform, then the coplanar points form a seed surface.In the growing step, the points of the seed surface are put into a stack.For each point in the stack, the neighbouring points are searched using a data structure such as KD-tree (Arya et al., 1998), octree or Delaunay triangulation.If a neighbouring point has not yet been assigned to a segment, it is verified to determine if the point can be inserted into the surface.If the point is qualified, i.e. the point is within some distance of the fitted plane by the points in surface, the surface label is assigned to the point and the point is put into the stack.Otherwise, the point is popped out the stack.Later, process the next point in the stack.In this way, all points in the stack are processed and the surface is expanded until no more neighbouring points are inserted.Examples of point cloud segmentation are shown in Figure 1

Features calculation
The above segmentation process will produce many segments, the points in each segment nearly being coplanar.Thus, some useful features will be derived from the segments.Features employed in our method consist of eight features, and they are calculated as follows: (1) Average height is defined as the average of the elevation values of the points belonging to the segment.Height or elevation is helpful to distinguish the point clouds in flat urban scene.For example, the lowest segment is usually the ground, while the highest segment is usually the building.However, this is not the case in the urban scenes with steep terrain.Thus, the feature about average height is selective for the human operators in the classification.(2) Segment size is defined as the number of points in a segment.The size is probably the most distinguishable feature for the segmented point clouds in urban areas.It is most likely that the larger segments belong to the ground, the segments with medium sizes belong to the building, and the smaller segments belong to the vegetation, as shown in Figure 1(c) and Figure 2(b).(3) Proportion of multiple echoes is defined as the ratio of the number of the points belonging to the multiple echoes to the segment size.Currently, the multi-pulse airborne LiDAR system is capable of recording both singular returns/echoes and multiple returns, and the difference between the above two types of echoes is whether a laser pulse would occur multiple reflections (Shen et al., 2012).
Experiments suggest that segments belonging to the trees contain few points in which the multiple returns occupy a proportion more than 50%.Simultaneously, the segments belongings to the building contain a large number of points in which singular returns occupy a proportion more than 90%.Therefore, the feature about proportion of multiple echoes is also informative, as shown in Figure 2(c) and (d).( 4) Slope of a segment is defined as the angle between some a segment and a horizontal plane.Slope is also predictable.For example, ground surfaces are somehow horizontal in urban, walls are usually vertical, roofs are never vertical.(5) Elevation difference is calculated as average heights difference between some a segment and the segment with lowest average height within a fixed radius.Elevation difference is also a good feature to differentiate the point clouds.For example, the vegetations and the buildings are usually higher than the ground segments, and the trees are usually higher than the grasses.(6) The three features about rectangularity, ratio of length to width, and compactness reflect the geometric shape of a segment.Their calculation refers to (Benz et al., 2004).The shape is useful to detect the man-made objects.For example, the buildings are rectangular, the roads are elongated.The cores of calculating the three shape features are to obtain the minimal oriented bounding box (MOBB) and polygonal boundary of each segment/cluster, as shown in

SVM-based classification
SVM is a mathematical tool which is based on the structural risk minimization principle and it tries to find a hyperplane in high dimensional feature space to solve some linearly inseparable problems (Vapnik, 1995).The SVM has been applied within the remote sensing community to multi-spectral and hyperspectral imagery analysis.In the following, the mathematical formulations of SVM are outlined briefly.Considering a two class classification task,  1) and ( 2): (1) s.t (2) where is the number of training samples, and the slack variables the regularization parameter are introduced to take into account non-separable data.The constant is used as a penalty for the samples that are located on the wrong side of the hyperplane, and it controls the shape of the discriminant function.The minimization problem in equation ( 1) can be solved through a Lagrange dual optimization, and the final hyperplane decision function can be defined using the kernel methods: (3) where is a kernel function and are Lagrange multipliers.is the set of support vectors, which is the subset of training samples corresponding to the non-zero Lagrange multipliers.The kernel function is introduced into the SVM so that the original input space can be transformed non-linearly into a higher dimensional feature space where linear methods may be applied.A Gaussian radial basis function (RBF) is used in this study since it has been proved effective in many classification problems: ) (4) where is the RBF kernel parameter.

EXPERIMENTS AND RESULTS ANALYSIS
A prototype system for object-based point clouds classification is developed in VC++6.0IDE plus OpenGL library under Win-XP OS to verify our approach.For the implementation of SVM, the software package LIBSVM by Chang and Lin (2001) was adapted.

Testing data
Two point cloud datasets are used to test our approach.The first data is over a residential of Melbourne, Australia with 82m width and 122m length, as shown in Figure 4(a).The dataset is with a point density approximately 40 points/m 2 , and maximum number of returns per pulse reaches 4. The ground surface is very flat, and there are many trees around the houses.The sizes and heights of trees vary greatly.The second data is over the town of Enschede, the Netherlands with 201m width and 152m length, as shown in Figure 5(a).The dataset was recorded with the FLI-MAP 400 system with approximately 30 points/m 2 , and the maximum number of returns per pulse reaches 4. The ground surface is flat.There are some very large trees and some large buildings in this scene.The sizes of buildings vary greatly while most of the shapes of building roofs are rectangular.

Results
In the process of classification for both of the two datasets, the samples of three classes, including ground, building and trees, are selected and used to train the SVM classifier.Gaussian RBF was used as the kernel function with parameter gamma 0.33, and parameter C was set as 100.The two experimental results are showed in Figure 4 (c) and Figure 5(c) respectively.In legends of Figure 4(c) and Figure 5(c), grey color represents the ground class, the yellow color represents the building class and the gree color represents the tree class, respectively.Visual observation tells us that our proposed method works well on the two testing datasets.In detail, it is capable of distinguishing most of the ground points, building points and trees points, and there are few ground points misclassified as other types of objects, as shown in Table 1.However, there are indeed some misclassified points.Obviously, some tree points are mistakenly classified into the building points in the first scene, as shown in Figure 4(c); some low buildings are misclassified into ground measurements, as shown in Figure 5 In order to quantitatively evaluate our proposed algorithm, we manually perform a classification of the above two datasets, which makes the reference data.In the reference data, the wall points are labelled as building points, power lines points are labelled as tree points.Thus, a confusion matrix is derived by comparing the automatic classification results and manual classification results, as shown in Table 1.
The statistics in Table 1 suggest that our proposed method has a very high classification accuracy for both the two testing datasets.Particularly, the overall classification accuracy is larger than 97%, and the Kappa is not lower than 0.95.Additionally, both produce accuracy and user accuracy higher than 96% for the ground class and tree class, 95% for building class, which is meaningful to other applications such as digital terrain model generation and building detection.Overall, our method obtains a desired accuracy in point cloud classification.

CONCLUSION
Airborne LiDAR point cloud classification is meaningful for various applications, but it is a chellenging task due to its complexity.In this paper, an object-based analysis method is proposed for classifying the point clouds in human settlements.
In the process of classification, surface growing algorithm is employed to segment the point clouds into planar patches, and eight features are derived and employed to separate the point clouds into ground measurements, building measurements and tree measurements.Two datasets are employed to test our proposed method.The results suggest that our method will produce good classification.However, the proposed method still has some limitations such as it will misclassify some building points and tree points.The future work will focus on improvement of the surface growing algorithm, introduction of topological analysis, and selection of better classifier to increase the accuracy of classification.

Figure 1 .
(c), Figure 2(b), Figure 4(b) and Figure 5(b), respectively.Point cloud segmentation: (a) point cloud coloured by height; (b) perspective view of result of 3D Hough transforms of the point cloud in (a); (c) segmented point cloud coloured by label number.

Figure 3 .Figure 2 .
Figure 2. Point cloud segmentation and comparison of pulse returns for grounds, buildings and trees: (a) point cloud coloured by height; (b) segmented point cloud coloured by label number; (c) points which belong to pulses with single returns, coloured by label number; (d) points which belong to multiple returns, coloured by label number.

Figure 3 .
Figure 3.A cluster's minimal oriented bounding box and boundary samples with k members.The objective function and constraints of the primal problem for classification of SVM can be written in equation (

Figure 4 .
Figure 4. Point cloud classification of the first scene: (a) point cloud coloured by height; (b) segmented point cloud coloured by label number; (c) classification result by our method.

Figure 5 .
Figure 5. Point cloud classification of the second scene: (a) point cloud coloured by height; (b) segmented point cloud coloured by label number; (c) classification result by our method.

Table 1
Confusion matrix of two testing datasets