Segmentation-Based Classification for 3D Point Clouds in...

27
Article Segmentation-Based Classification for 3D Point Clouds in the Road Environment Binbin Xiang 1 , Jian Yao 1,* , Xiaohu Lu 1 , Li Li 1 , Renping Xie 1 , and Jie Li 2 1 Computer Vision and Remote Sensing (CVRS) Lab, School of Remote Sensing and Information Engineering, Wuhan University, Wuhan, Hubei, P.R. China 2 School of Electrical and Electronic Engineering, Hubei University of Technology, Wuhan, Hubei, China * Correspondence: [email protected]; Tel.: +86-27-68771218; Web: http://cvrs.whu.edu.cn/ Version May 5, 2017 submitted to Remote Sens.; Typeset by L A T E X using class file mdpi.cls Abstract: The 3D point cloud classification in urban scenes has been widely applied in the fields 1 of automatic driving, map updating, change detection, etc. Accurate and effective classification 2 of mobile laser scanning (MLS) point clouds remains a big challenge for these applications. In 3 this paper, we propose a unified framework to classify 3D urban point clouds acquired in the 4 road environment. At first, an efficient 3D point cloud segmentation approach is applied to 5 generate segments for further classification. This is achieved by using the Pairwise Linkage 6 (P-Linkage) algorithm for the initial point clouds segmentation followed by our proposed two-step 7 post-processing approach to improve the original segmentation results for accurate classification. 8 Secondly, a set of novel features are extracted from each segment and an effective classifier for 9 training and testing is used. The good performance of the extracted features is determined by 10 employing three popularly used classifiers, Support Vector Machine (SVM), Random Forests (RF) 11 and Extreme Learning Machine (ELM), respectively. Thirdly, the contextual constraints among 12 objects are used to further refine the classification results based on segments via graph cuts. A 13 set of experiments on our own manually labelled dataset show that our proposed framework can 14 effectively segment the testing point clouds. On the test dataset, the initial classification can reach 15 a high precision of 80.8%92.9% and a good recall rate of 77.5%79.2%, respectively. After the 16 classification refinement via graph cuts, the precision and recall rate are increased about 0.3% and 17 3.1%, respectively. These experimental results convincingly prove that our proposed framework 18 is effective for classifying 3D urban point clouds acquired by a vehicle LiDAR system in the road 19 environment. 20 Keywords: Point Classification, Graph Cuts, Pairwise Linkage Segmentation, Support Vector 21 Machine, Mobile Laser Scanning 22 1 Introduction 23 The accurate 3D spatial information has been attracted considerable interest in recent years 24 due to the increasing demand of the scene understanding and detailed semantic analysis in road 25 environments. As the rapid advancements of 3D laser scanning technology, accurate 3D point clouds 26 of large areas can be obtained easily and cheaply [1]. A common way to quickly collect 3D data of 27 urban road environments is by using the mobile laser scanning (MLS) technology. The 3D information 28 acquired by the MLS technology can be applied to complete various missions. For example, in road 29 environments, the efficient collection of accurate 3D data can benefit future driver assistance and 30 automotive navigation systems [2,3] and can make possible the semiautomatic inventory of important 31 urban scene structures, such as traffic signs [4,5], pole-like objects [6] and roadside trees [7,8]. 32 Submitted to Remote Sens., pages 1 – 27 www.mdpi.com/journal/remotesensing

Transcript of Segmentation-Based Classification for 3D Point Clouds in...

Page 1: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Article

Segmentation-Based Classification for 3D PointClouds in the Road Environment

Binbin Xiang1, Jian Yao1,∗, Xiaohu Lu1, Li Li1, Renping Xie1, and Jie Li2

1Computer Vision and Remote Sensing (CVRS) Lab, School of Remote Sensing and Information Engineering,

Wuhan University, Wuhan, Hubei, P.R. China2School of Electrical and Electronic Engineering, Hubei University of Technology, Wuhan, Hubei, China

* Correspondence: [email protected]; Tel.: +86-27-68771218; Web: http://cvrs.whu.edu.cn/

Version May 5, 2017 submitted to Remote Sens.; Typeset by LATEX using class file mdpi.cls

Abstract: The 3D point cloud classification in urban scenes has been widely applied in the fields1

of automatic driving, map updating, change detection, etc. Accurate and effective classification2

of mobile laser scanning (MLS) point clouds remains a big challenge for these applications. In3

this paper, we propose a unified framework to classify 3D urban point clouds acquired in the4

road environment. At first, an efficient 3D point cloud segmentation approach is applied to5

generate segments for further classification. This is achieved by using the Pairwise Linkage6

(P-Linkage) algorithm for the initial point clouds segmentation followed by our proposed two-step7

post-processing approach to improve the original segmentation results for accurate classification.8

Secondly, a set of novel features are extracted from each segment and an effective classifier for9

training and testing is used. The good performance of the extracted features is determined by10

employing three popularly used classifiers, Support Vector Machine (SVM), Random Forests (RF)11

and Extreme Learning Machine (ELM), respectively. Thirdly, the contextual constraints among12

objects are used to further refine the classification results based on segments via graph cuts. A13

set of experiments on our own manually labelled dataset show that our proposed framework can14

effectively segment the testing point clouds. On the test dataset, the initial classification can reach15

a high precision of 80.8%−92.9% and a good recall rate of 77.5%−79.2%, respectively. After the16

classification refinement via graph cuts, the precision and recall rate are increased about 0.3% and17

3.1%, respectively. These experimental results convincingly prove that our proposed framework18

is effective for classifying 3D urban point clouds acquired by a vehicle LiDAR system in the road19

environment.20

Keywords: Point Classification, Graph Cuts, Pairwise Linkage Segmentation, Support Vector21

Machine, Mobile Laser Scanning22

1 Introduction23

The accurate 3D spatial information has been attracted considerable interest in recent years24

due to the increasing demand of the scene understanding and detailed semantic analysis in road25

environments. As the rapid advancements of 3D laser scanning technology, accurate 3D point clouds26

of large areas can be obtained easily and cheaply [1]. A common way to quickly collect 3D data of27

urban road environments is by using the mobile laser scanning (MLS) technology. The 3D information28

acquired by the MLS technology can be applied to complete various missions. For example, in road29

environments, the efficient collection of accurate 3D data can benefit future driver assistance and30

automotive navigation systems [2,3] and can make possible the semiautomatic inventory of important31

urban scene structures, such as traffic signs [4,5], pole-like objects [6] and roadside trees [7,8].32

Submitted to Remote Sens., pages 1 – 27 www.mdpi.com/journal/remotesensing

Page 2: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 2 of 27

Accurate 3D data also can be used in community planning [9], map updating [10], and change33

detection [11,12]. However, the amount of data collected by MLS from a road environment is huge34

(e.g., more than 100 million points/km). To utilize these data, it needs to be processed efficiently. The35

automatic classification of 3D MLS point clouds is an important and classical problem in the fields of36

remote sensing, photogrammetry, computer vision and robotics. It plays the key role in overall point37

cloud processing work flow because it can contribute to the subsequent use in object recognition,38

object extraction and scene reconstruction.39

However, accurately classifying objects in urban road environments is a difficult task and40

there are still many problems that remain to be solved. Compared with airborne laser scanning41

(ALS) point clouds, MLS will get point cloud data with greater densities, which means that42

some small objects, such as telegraph poles, street lights, curb, etc., can possibly be automatically43

classified. Simultaneously extracting useful features for both big and small objects from MLS point44

clouds remains a big challenge for the MLS point cloud classification. Noise, occlusion caused45

by obstructions and density variation caused by different distances of objects from the sensors are46

also unavoidable and difficult problems in the MLS point clouds classification. It is necessary to47

find a superior pipeline and some optimization post-processing strategies to effectively solve the48

classification problems caused by the incomplete and noisy point cloud data. In addition, even if the49

MLS point cloud classification has drawn considerable attention, the public data sets with ground50

truth class labels are still relatively rare. Researchers often need to manually label the original point51

cloud data, which not only greatly extends the time required for the whole experiment, but also52

increases the difficulties in comparing the classification precision and recall rate with other methods53

on the same dataset. Thus, a public dataset that can be used for direct MLS point cloud classification54

is very necessary.55

After analyzing and summarizing various automatic methods for MLS point cloud classification56

in road environments, this paper proposes an effective overall work flow for the classification of57

unstructured 3D point clouds. At first, an efficient segmentation approach is used to segment58

3D point clouds, which can help to eliminate some noise. In this paper, we employ a point59

clouds segmentation approach to obtain the original segments. This segmentation approach is a60

novel hierarchical clustering algorithm named Pairwise Linkage (P-Linkage). Then we propose a61

two-step post-processing method to obtain a more complete segments. Secondly, we extract a set62

of features from each segment for training and testing by using a classifier. Thirdly, the contextual63

constraints among objects is used to refine the classification results based on segments via graph cuts.64

Experimental results on 3D urban point clouds acquired by a vehicle LiDAR system illustrate that65

our proposed classification framework is effective.66

The main contributions of our work are summarized as follows:67

• A unified framework is proposed for classifying the MLS point clouds based on segments.68

• A set of features for each segment are well-designed, which can be used to effectively69

distinguish nine common object classes in urban street scenes.70

• A graph cuts energy minimization algorithm using contextual constraints among objects is71

performed on the initial labeling of the 3D scene to improve the classification precision of the72

point clouds in urban environments.73

• A publicly available point cloud dataset with ground truth is provided for further point cloud74

classification study.75

The remaining part of this paper is organized as follows. After summarizing related works76

in Section 2, we describe our proposed novel point cloud classification framework in Section 3.77

Subsequently, in Section 4, we demonstrate the performances in precision, recall rate and efficiency78

of our proposed classification framework on our built point cloud dataset representing an urban road79

environment. After that, a discussion about our proposed framework is given in Section 5 followed80

by a conclusion drawn in Section 6.81

Page 3: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 3 of 27

2 Related Works82

In last decades, a lot of methods have been proposed to solve the point cloud classification83

problem. Generally, the methods used to classify 3D point cloud acquired from laser scanning data84

can be divided into two main categories according to the basic elements employed in classification:85

the point-based classification and the segment-based classification.86

The point-based methods classify the 3D point clouds by analyzing the characteristics of single87

point. For instance, Aparajithan and Shan [13] classified ground points from raw LiDAR data88

for bald ground Digital Elevation Model (DEM) generation in urban areas by labeling a single89

point as either a ground one or a non-ground one. Guo et al. [14] found that the multiple returns90

and echoes of the laser pulse can be discriminant features for a single point used to distinguish91

adjacent objects. In addition to the reflectance and return count information, the point-based92

point cloud classification methods often calculate some local statistical features in the neighborhood93

of each individual point [15–18]. However, due to the variation in local 3D structures and94

point densities, a fixed size of neighborhood can not obtain satisfactory results. Many studies95

focused on the neighborhood selection methods. Generally, common neighborhood forms are96

spherical neighborhood [16,19], cylindrical neighborhood [20], voxel neighborhood [21], K-nearest97

neighborhood [22] and combination of multi-scale and various neighborhood shapes [23,24]. Among98

them, although the methods that combine multi-scale and various neighborhood selection methods99

can obtain good classification accuracy, this kind of methods don’t fundamentally solve the problem100

caused by uneven density distribution and incompleteness of point clouds. In addition, repetitive101

calculations of eigenvectors and eigenvalues for each point are required, which greatly increase the102

computational complexity.103

When dealing with large 3D data sets, the computational cost of processing all individual points104

is very high, making it impractical for real time applications. Besides, those point-based methods105

maybe fail in some complex point cloud classification conditions due to the limitation of features106

extracted at the point scale. Therefore, for complex classification consisting of multiple types of107

objects, many methods segment the original point clouds into voxel or object candidates at first. Then,108

a set of features that describe, for example, the size and shape of the segment are calculated for each109

segment, based on which the segments are classified into two or multiple classes. For example, Aijazi110

et al. [25] clustered individual 3D points together to form a voxel level representation. The methods111

presented in [26–31] tried to segment the original point clouds in the object level. These methods112

not only can solve the slow computational efficiency problem resulting from the increasing amount113

of point cloud data, but also extract richer information than the point-based methods. In addition,114

the segmentation can help removing some noisy points by setting the threshold for the segment size.115

Thus, the segment-based classification has drawn more attentions in recent years.116

In order to obtain a better understanding of the scene and capability of autonomous perception,117

many methods have proved that effective segmentation is the key to success in the next classification118

process. Surface discontinuities are widely used in point clouds segmentation, which can be used119

to segment two adjacent points. For instance, the method presented in [32] used only local surface120

normals and point connectivity to segment the industrial point clouds and performed well. For urban121

scenes, other surface features, such as normals, curvatures and the height differences, were widely122

used to find the smoothly connected areas [33–35]. Segmentation based on individual points may123

be carried out very efficiently, but there is a severe drawback, namely the noisy appearance of the124

segmentation results [36]. Many algorithms applied graph cuts [37,38] and Markov random fields [39]125

to generate the smoother segments than traditional region-growing methods via using neighborhood126

smoothing constraints. The basic idea of those methods is to first construct a weighted graph where127

each edge weight cost represents the similarity of the corresponding segments, and then find the128

minimum solution in this graph. The k-Nearest Neighbors (k-NN) [40] algorithm is often used to129

build the graph to improve the efficiency. But the limitation of these methods is that it requires prior130

Page 4: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 4 of 27

knowledge of the location of the objects to be segmented. Actually, a single point cloud segmentation131

method will typically not provide a satisfactory segmentation due to the complex geometries and132

visual appearances in urban scenes. As all points of a segment will obtain the same class label,133

any under-segmentation will lead to classification errors. Researchers usually adopt the hierarchical134

segmentation method. The method presented in [36] produced the result of over-segmentation at135

first, then some post-processing strategies were used to merge the over-segmented parts, and finally136

it can achieve the results that the same segment contains the objects with a same class as much as137

possible without the phenomenon of under-segmentation.138

After the segmentation, certain classification algorithm is employed to assign each segment139

with an unique class label. Traditionally, the point cloud classification is completed by manually140

defining a series of discriminant thresholds to distinguish points for each class. For example, Yu141

et al. [41] segmented the point clouds at first, and then established a hierarchical decision tree to142

classify each segment into ground, buildings, traffic signs, parterres, trees and others. However,143

the rules for classification are difficult to be manually set in many cases. To solve this problem, the144

machine learning method can be applied to learn the classification rules automatically from training145

data [42]. Firstly, the features of each segment are extracted. For example, Lehtomäki et al. [43]146

applied features describing the global shape and the distribution of the points in an object, such as147

local descriptor histograms (LDHs) and spin images, in the classification of typical roadside objects.148

Some methods use the features recorded by scanner systems, such as the reflectance intensity, return149

count and color information [25,44]. In addition, height-related features, geometrical shape features,150

eigenvalue-based features, point type, density and orientation are widely used in the state-of-the-art151

methods [25,28,45–48]. Then a classifier is used to learn the discriminant rules automatically. For152

example, in outdoor urban scenes, the researchers used Support Vector Machine (SVM) to distinguish153

basic categories, such as buildings, ground and vegetation [49,50]. In addition, the Random Forests154

(RF) algorithm was also successfully applied to the LiDAR feature selection to classify urban scenes155

in [51]. Moreover, the AdaBoost algorithm formed a strong classifier by using simple geometrical156

features extracted from single laser range scan to classify the points into several semantic classes, like157

rooms, hallways, corridors, and doorways [52].158

Most of the aforementioned classifiers just take into account local features to complete the point159

classification and ignore the topological relationships between different objects usually existed in160

urban environments. Thus, it is an effective way to improve the accuracy of classification results161

by integrating the contextual information into the machine learning framework. The classification162

approach of a LiDAR point cloud based on Conditional Random Fields (CRF) successfully obtained163

three basic object classes: vegetation, building and ground [53,54]. Combining CRF with the164

random forests classifier can obtain more reliable classification results, especially the number of165

confusions between buildings and larger trees reduced obviously [55]. Moreover, the Associative166

Markov Network (AMN) was widely used to classify 3D point cloud by utilizing contextual167

information [56,57].168

In this paper, we propose a three-stage classification framework for 3D point cloud classification169

in the road environment. We make full use of the advancement of segment-based point cloud170

classification, such as higher computational efficiency and richer information than the point-based171

methods. In addition, the machine learning methods, such as linear SVM, RF and Extreme Learning172

Machine (ELM), are used to classify point clouds based on the features extracted from segments.173

Besides, in order to apply contextual constraints which may not fully performed in the classification174

procedure, we employ a post-processing procedure by using graph cuts to optimize the initial175

classification results.176

Page 5: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 5 of 27

Figure 1. The overview flowchart of our proposed unified framework for classifying 3D urban points

clouds acquired in the road environment.

3 Our Approach177

In this section, we will give detailed description of our proposed point cloud classification178

framework. The overall work-flow can be separated into three stages, as illustrated in Figure 1. The179

first stage is to segment the original unstructured 3D point cloud by using the P-Linkage algorithm,180

which is a recently proposed region-growing-based hierarchical segmentation algorithm [35]. After181

that, in order to solve the problems caused by over-segmentation, such as the reduction of the quality182

of the segment features and the increment of noise, a two-step post-processing approach is proposed:183

1) the segments of cars, trees and curbs are grouped by the connected component analysis; 2) nearly184

co-linear segments of electronic wires and telegraph poles are merged. In the second stage, we extract185

a set of features from each segment for training and testing by using an effective classifier. For186

comparison, we employ three classifiers (SVM, RF and ELM) to classify the point clouds, respectively.187

In the third stage, due to that the classifier cannot give smooth and high accurate results, we use the188

contextual constraints among objects via the graph cuts energy minimization algorithm to further189

refine the initial classification.190

3.1 3D Point Cloud Segmentation191

The key to the success of a segmentation-based classification is, of course, the segmentation. In192

the case of under-segmentation, points belonging to different object classes will be divided into the193

same segment. As all points of one segment will obtain the same class label, any under-segmentation194

will lead to classification errors. The contrary situation, over-segmentation, however, will seriously195

reduce the quality of the segment features and may lead to some man-made “noise”. Furthermore,196

segment shape descriptors designed specifically for a certain class may become less useful. Therefore,197

in order to achieve a superior result, people always over-segment a point cloud at first, and then apply198

some proper post-processing strategies to merge the segments belonging to the same class before199

classifying segments. In this paper, we firstly over-segment the original unstructured 3D point clouds200

by using the P-Linkage algorithm. Then we propose a two-step post-processing approach to improve201

the original segmentation results. Detailed descriptions of the P-Linkage and the post-processing202

method are presented in the following.203

Page 6: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 6 of 27

3.1.1 P-Linkage Based Segmentation204

The P-Linkage point cloud segmentation algorithm is based on clustering analysis and contains205

four steps: normal estimation, linkage building, slice creating and slice merging.206

1) Normal Estimation: The normal for each point is estimated by fitting a plane to some207

neighbouring points. The K nearest neighbors (KNN) based method is employed to find the208

neighbours of each data point and estimate the normal of the neighbouring surface via the Principal209

Component Analysis (PCA), which is implemented via the ANN library [58] as follows. Firstly, for210

each data point pi, its covariance matrix is formed by the first K data points in its KNN set as follows:211

Σ =1

K ∑K

i=1(pi − p)(pi − p)T, (1)

where Σ denotes the 3 × 3 covariance matrix and p represents the mean vector of the first K data212

points in the KNN set. Then, the standard eigenvalue equation:213

λV = ΣV (2)

can be solved using Singular Value Decomposition (SVD), where V is the matrix of eigenvectors214

(Principal Components, PCs) and λ is the matrix of eigenvalues. The eigenvectors v2, v1, and v0215

in V are defined according to the corresponding eigenvalues sorted in the descending order, i.e.,216

λ2 > λ1 > λ0. The third PC v0 is orthogonal to the first two PCs, and approximates the normal217

n(pi) of the fitted plane. λ0 estimates how much the points deviate from the tangent plane, which218

can represent the flatness λ(pi) of the data point pi. Finally, the Maximum Consistency with the219

Minimum Distance (MCMD) algorithm [59] is employed to filter out the outliers neighbouring points220

for each point cloud, and the inlier neighbouring points is denoted as the Consistent Set CS(pi) of the221

data point pi. Thus for each data point pi, we obtain its normal n(pi), flatness λ(pi) and Consistent222

Set CS(pi).223

2) Linkage Building: With the normals, flatnesses and Consistent Sets of all the data points,224

the pairwise linkage can be recovered in a non-iterative way, which is performed as follows. For each225

data point pi we search in its CS to find out the neighbours whose flatnesses are smaller than that of pi226

and choose the one among them whose normal has the minimum deviation to that of pi as CNP(pi).227

If there exists CNP(pi), a pairwise linkage between CNP(pi) and pi is created and recorded into a228

lookup table T. Otherwise, pi is considered as a cluster center, and inserted into the list of cluster229

centers Ccenter.230

3) Slice Creating: To create the surface slices, the clusters C are firstly formed by searching along231

the lookup table T from each cluster center in Ccenter to collect the data points that are directly or232

indirectly connected with it. Then for each cluster Cp, a slice is created by plane fitting via the MCS233

method [59] and outlier removing via the MCMD algorithm [59]. Thus for each slice Sp, we obtain its234

normal n(Sp), flatness λ(Sp) and Consistent Set CS(Sp) in the same way as each data point.235

4) Slice Merging: To obtain complete planar and curved surfaces which are quite common in236

the indoor and industry applications, a normal and efficient slice merging method is proposed. First,237

we search for the adjacent slices for each one, two slices Sp and Sq are considered adjacently if the238

following condition is satisfied:239

∃ pi ∈ CS(Sp) and pj ∈ CS(Sq),

where pi ∈ CS(pj) and pj ∈ CS(pi).(3)

Then, for a slice Sp and one of its adjacent slice Sq, they will be merged if the following condition is240

satisfied:241

arccos∣

∣n(Sp)

⊤ · n(Sq)∣

∣< θ, (4)

Page 7: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 7 of 27

where n(Sp) and n(Sq) are the normals of Sp and Sq, respectively, and θ is the threshold of the angle242

deviation.243

3.1.2 Post-Processing244

Actually, although the P-Linkage segmentation algorithm can achieve more robust segmentation245

results than many other methods as described in [35], the general point cloud segmentation method246

will typically not provide a satisfactory segmentation results for the purpose of classification.247

Normals for the points near geometric singularities such as edges and corners are usually differently248

oriented and discontinuous. It may lead to many smooth but non-planar surfaces to be split249

up into multiple planar patches, such as the segments of trees, cars and curbs. In addition,250

unexpected interruption resulting from data acquisition and occlusion among different objects may251

cause discontinuities, such as gaps and holes in the original 3D point cloud data. This phenomenon252

always appears in buildings, telegraph poles and electric wires which are usually occluded by cars or253

other objects. To improve the results of initial segmentation, two post-processing steps are proposed254

to be applied, which are described in detail in the following.255

In the first step, we aim to group the broken cars, trees and curbs into the whole ones by using256

the connected component analysis. The implementation steps are summarized as follows. At first,257

we find all candidate segments Scandidate to be merged, which consist of relatively few points and258

contain enough scatter type points. A segment S will be picked out as a candidate segment when the259

number of points is less than the predefined threshold Tb and the ratio between numbers of scatter260

type points and total points is more than the predefined threshold Ts (Tb = 500 and Ts = 0.5 were used261

in this paper), respectively, which are determined by all kinds of factors empirically, such as the sizes262

of initial segments obtained by the P-Linkage segmentation and the densities of the original point263

clouds. During the previous segmentation process, for any point p, we can obtain three eigenvalues264

λ2, λ1, and λ0 (λ2 > λ1 > λ0 > 0) via PCA which represent the local neighborhood distribution of265

this point p in three dimensional space, respectively. The multiple geometric features of the point p266

are defined as follows:267

Sλ(p) =λ0

λ2, Lλ(p) =

λ2 − λ1

λ2, and Pλ(p) =

λ1 − λ0

λ2, (5)

where Sλ(p), Lλ(p), and Pλ(p) represent the scatter, linear, and planar geometric features of the268

point p, respectively. We consider p as a scatter type point when its scatter geometric feature Sλ(p)269

is higher than the manually set threshold Tsλ (Ts

λ = 0.1 was used in this paper). A general region270

growing strategy is used to merge all the candidate segments Scandidate. Two adjacent segments Si271

and Sj will be merged only if the minimum Euclidean Distance dmin(Si, Sj) between Si and Sj is less272

than the predefined threshold Td (Td = 0.3 was used in this paper). The minimum Euclidean Distance273

dmin(Si, Sj) is defined as:274

dmin(Si, Sj) = minpk∈Si,ql∈Sj

d(pk, ql), (6)

where d(pk, ql) = ‖pk − ql‖ is the Euclidean Distance between pk and ql.275

In the second step, we try to merge the co-linear segments, such as the segments of telegraph276

poles and electric wires. Similar to the first step, we firstly find all the candidate segments Scandidate277

to be merged, which have enough linear type points. A segment will be picked out as a candidate278

segment when the ratio between numbers of linear type points and total points is more than the279

predefined threshold Tl (Tl = 0.5 was used in this paper). We consider p as a linear type point when280

its linear geometric feature Lλ(p) is higher than the manually set threshold Tlλ (Tl

λ = 0.75 was used281

in this paper). The same region growing method as in the first step is used to merge the candidate282

segment Scandidate but with different merging condition for two adjacent segments. Two adjacent283

segments Si and Sj will be merged if they satisfy the following two conditions: 1) the intersection284

Page 8: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 8 of 27

Figure 2. An illustration of our proposed segmentation post-processing strategies: (a) the original

P-Linkage segmentation result; (b) the ratios of scatter points for each segment, which range from 0

to 1; (c) the candidate segments in the first-step post-processing; (d) the ratios of linear points for each

segment, which range from 0 to 1; (e) the candidate segments in the second-step post-processing; (f)

the final segmentation result after two-step post-processing.

angle θ(Si, Sj) between the direction vectors (the first PC v2) of the two segments is less than the285

predefined threshold Tθ (Tθ = 30◦ was used in this paper); 2) the Orthogonal Distance (OD) d(Si, Sj)286

between the direction vectors of two segments is less than the predefined threshold Tod (Tod = 0.3287

was used in this paper). These two specific calculation formulas are defined as follows:288

θ(Si, Sj) = arccosv2(Si) · v2(Sj)

|v2(Si)||v2(Sj)|and d(Si, Sj) =

(v2(Si)× v2(Sj)) ·−−−−−−→c(Si)c(Sj)

|v2(Si)× v2(Sj)|, (7)

where the θ(Si, Sj) and d(Si, Sj) represent the intersection angle and the OD between the direction289

vectors v2(Si) and v2(Sj) of the two segments Si and Sj, respectively, c(S) denotes the weighted290

center point of some segment S, the operators ‘×’ and ‘·’ denote the cross and dot products between291

two vectors, respectively, and−−−−−−→c(Si)c(Sj) denotes the direction vector from c(Si) to c(Sj).292

To present our post-processing method clearly, we picked out an example scene as shown293

in Figure 2, containing parts of trees, street lights, electric wires, fences and the ground. From294

Figure 2(b), we find all the candidate segments for the first-step post-processing which consist of295

few points and contain enough scatter type points, as shown in Figure 2(c). From Figure 2(d), we296

find the candidate segments for the second-step post-processing, as shown in Figure 2(e). Finally, the297

segmentation result after two-step post-processing will be improved, as shown in Figure 2(f).298

Page 9: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 9 of 27

Table 1. A list of features extracted from a point cloud segment.

Categories Features

Orientation The angle between the normals of the segment and the Z-axis

HeightsThe relative height of the segmentThe height standard deviation

Geometrical shapes

The U-V plane projection areaThe U-Z plane projection areaThe V-Z plane projection areaThe ratio between the U-V and U-Z plane projection areasThe ratio between the U-V and V-Z plane projection areasThe ratio between the U-Z and V-Z plane projection areas

Point types

The percentage of scatter type pointsThe percentage of horizontal type pointsThe percentage of slope type pointsThe percentage of vertical type pointsThe percentage of linear type pointsThe percentage of planar type points

DensitiesThe U-V plane projection densityThe U-Z plane projection densityThe V-Z plane projection density

3.2 Segmentation-Based Classification299

3.2.1 Feature Extraction300

The classification accuracy highly depends on the qualities of the predefined features. In this301

work, in order to classify these segments into special object classes accurately, we design five kinds of302

geometrical and local features based on the characteristics of different types of objects. These features303

are summarized in Table 1 and described in detail in the following.304

1) Orientation: The orientation of the surface is found essentially for the classification between305

the ground and the building facades. For the ground objects, the surface normals are predominantly306

along the Z-axis (i.e., the height axis), whereas for building facades, the surface normals are307

predominantly parallel to the X-Yaxis (i.e., the ground plane). So, at first, the normal vector of308

the entire segment can be obtained by PCA. Then we calculate the angle between the normal and309

the Z-axis to obtain the orientation information, which ranges from 0◦ to 90◦. The segments on the310

ground will get an orientation value close to 0◦, while the segments on buildings will get a value at311

around 90◦.312

2) Heights: The height-related features are very useful to distinguish the objects with different

heights, like buildings, fences, cars and grounds. In our case, we separately calculate two kinds

of height-related features. The first one is the relative height of one segment. We use an improved

filtering model to find all ground points. This model is based on the traditional sliding window model

and is combined with optimized rules on determining the standard elevation value, the tolerance of

elevation difference and the dynamic thresholds [60]. Then, for each point of one segment, we obtain

the relative height by subtracting the average Z value of its three nearest ground points from the

Z value of this point. Finally we acquire the relative height of a segment easily by calculating the

average relative height of all the points from the segment. We set the relative height for all ground

points as 0. This height-related feature may can not distinguish some objects from classes that have

a similar average relative height, for example, trees and electric wires have almost the same relative

height in most road environments. Therefore, we employ another height-related feature, the height

Page 10: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 10 of 27

standard deviation, to effectively solve this problem and distinguish those different classes with the

similar relative height. The definition of this feature is given as follows:

σ =

1

N

N

∑i=1

(Zi − µ)2, (8)

where σ represents the height standard deviation, N represents the point number of the segment,313

µ represents the average relative height of the segment and Zi represents the relative height of the314

i-th point in this segment. The height standard deviation can effectively distinguish the situation315

in which segments from different classes have a similar average height but have different internal316

elevation differences. For instance, as mentioned before, the trees and electric wires have almost the317

same relative height. However, the height differences of the points in the tree segments are relatively318

larger than those of electric wires. So the height standard deviation feature can be effectively used to319

separate these two classes.320

3) Geometrical shapes: Objects in different classes have different geometrical shapes in general.321

For instance, the ground can be represented as a low flat plane. The buildings can be represented as322

large and vertical planes. The minimum bounding box of trees and cars are almost broad and short.323

Figures 3(a) and (b) show an example of the car class in the X-Z plane (i.e., the front view) and the324

X-Y plane (i.e., the top view), respectively. From Figure 3, we can find that the car class is diagonal.325

It is necessary to compare a training example with a testing example from the same point of view. In326

order to avoid such a rotate-variant property in the X-Y plane, the example is transformed into the327

U-V axes (i.e., the arrows in the middle of Figure 3(b)), which are the principle axes obtained by PCA.328

Figure 3(c) shows the example after the transformation in the U-Z plane. By doing so, training and329

testing examples can be compared from the same point of view without the rotate-variant property.330

In total, we calculate two kinds of features related to the object geometrical shape. The first one331

is the projection area. In order to display the geometrics of the objects in all directions, we calculate 3332

kinds of projection areas. We separately project the segment onto the U-V plane, the U-Z plane and333

the V-Z plane. However, the segment projection area calculation is a quite complex process, especially334

for those with complex structures. Thus, we can calculate the projection area approximately by the335

following method, as one example clearly showed in Figure 4. At first, in order to estimate projection336

area, we establish a regular grid on the projection plane. According to the actual calculative precision,337

we manually adjust the width of the grid cell. Then if there is at least one point project onto a cell, then338

this cell can be set as occupied. Finally, we count how many cells have been occupied. The projection339

area will be obtained by multiplying the number of occupied cells by the area of single cell.340

In order to measure the relationship among three projection areas, the second feature related to341

the geometrical shape is the ratio among the 3 kinds of projection areas. We can get three ratio-related342

features for each segment: the ratio between the U-V and U-Z plane projection areas, the ratio343

between the U-V and V-Z plane projection areas, and the ratio between the U-Z and V-Z plane344

projection areas. Here we require dividing the large projection area by the small projection area,345

namely, the ratios must be larger than one.346

4) Point types: For the purpose of classifying all unknown-class segments according to347

component difference of each segment, we should perform some data preprocessing like the point348

type extraction. According to the orientation value as described before, we can divide all the349

points into 4 categories: scatter type, horizontal one, slope one and vertical one. The calculation350

of the orientation value and the type extraction in detail are showed in Algorithm 1. Then we351

respectively calculate four point-type-related features by the means of dividing the point number of352

the corresponding point type by the number of total points in the segment for 4 different types. The353

values of these features all range from 0 to 1. The segments from trees have the almost “1” value for354

scatter type points. The floor segments have almost “1” value for horizontal type points and almost355

“0” value of vertical type points, while the house and fence segments have the completely opposite356

Page 11: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 11 of 27

X

Z

(a)

X

Y

V

U

(b)

U

Z

(c)

Figure 3. An example for the rotation-invariant geometrical shape of a car: (a) the X-Z plane (i.e.,

the front view); (b) the X-Y plane (i.e., the top view) where the arrows represent the principle axes

obtained by PCA (i.e., the U-V plane); (c) the U-Z plane.

Figure 4. A tree example for the projection area calculation. The green points represent the original

point clouds, and the red points are the projected points on the projection plane. The grey cells stand

for the occupied areas which are counted to calculate the projection areas.

situations. As for other classes, such as cars, around the doors and the side surfaces, vertical type357

points appear. Near the window frames, there exist slope type points due to inclined surfaces. And358

it also has some scatter type points because of some uneven surfaces. For the curbs, most points are359

slope and vertical types. Even through these four point types can distinguish most categories, there360

are still some categories difficult to be separated from, especially for telegraph poles and street lights.361

Therefore we define other 2 features to deal with such situation: linear and planar type features. At362

first, we calculate all the linear and planar values of all the points from each segment by Eq. (5). Then363

we calculate the average value of each segment.364

5) Densities: The nearer the object is far away from the laser point emission center, the larger365

the point density is. Thus, we re-sample the original point cloud data to make the same number of366

points per cubic meter. Then, we calculate the projection point densities of three projection directions:367

the U-V plane, the U-Z plane and the V-Z plane. They can be estimated by using total number of368

points after re-sampling divided by the projection area of the segment which can be processed by369

the same ways as we mentioned before. This kind of features can effectively distinguish the classes370

with a great projected density in one projection direction, such as the telegraph poles, which have a371

extremely small projection area on the U-V plane resulting in a large density value in this direction.372

Page 12: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 12 of 27

Algorithm 1 Determining the point type.

Input: The normal n = (nx, ny, nz)⊤, the minimum eigenvalue λ0, and the maximum eigenvalue λ2

of a point p.

Output: The point type of p.

1: if λ0/λ2 > 0.1 then

2: p is a scatter type point.

3: else

4: Calculating the angle θ between n and the Z-axis as follows:

θ = tan−1 |nz|

|nx |2 + |ny|

2. (9)

5: if 0◦ ≤ θ < 30◦ then

6: p is a horizontal type point.

7: else if 30◦ ≤ θ ≤ 60◦ then

8: p is a slope type point.

9: else if 60◦ < θ ≤ 90◦ then

10: p is a vertical type point.

11: end if

12: end if

3.2.2 Classifiers373

After feature extraction, each segment will have a high-dimensional feature vector, and each374

segment for training will have only one class label. Then, we formulate the classifier as a function375

of predicting the class label of the segment. As for the comparisons, we apply three popularly used376

classifiers, SVM, RF and ELM, to validate the extracted features, respectively.377

1) SVM classifier: The support vector machine (SVM) is a very popular classifier and has been378

widely used in many fields of computer vision, which is possible to split apart different types of379

samples in the high-dimensional space by obtaining the most optimal hyperplanes. In our work, the380

software package libSVM provided by [61] was applied to automatically complete all the operations381

including data normalization and parameter selection.382

2) RF classifier: The random forests (RF) [62] is a combination of tree predictors. It has383

excellent performance in classification tasks compared with many other machine learning classifiers,384

sometimes even better than SVM. The RF is also widely used in the remote sensing data classification.385

But in the field of point cloud classification, most of researches applied the RF to classify the airborne386

laser point clouds, and rarely applied it to classify the mobile laser scanner data. In our work, we387

apply the RF to classify the mobile point clouds captured form urban road scenes.388

3) ELM classifier: The extreme learning machine (ELM) [63] is a single-hidden layer feedforward389

neural networks (SLFNs) which randomly chooses hidden nodes and analytically determines the390

output weights of SLFNs. It tends to ensure the high accuracy of learning results at extremely fast391

learning speed. The ELM has not yet been used to classify the mobile laser scanner data.392

3.3 Optimization via Graph Cuts393

To refine initial classification results and achieve more smooth and accurate ones, we formulate394

this problem as an energy optimization problem and solve it via graph cuts. We can refine the class395

labels of the small and possibly misclassified objects as those of their nearest and reliably classified396

objects by such an optimization.397

At first, the region growing algorithm is used to cluster the initial classification result. Similar398

to the region growing strategies described in Section 3.1.2, two neighboring segments Si and Sj399

will be merged if the following two conditions are satisfied: 1) the minimum Euclidean Distance400

Page 13: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 13 of 27

Figure 5. An illustration of classification refinement via graph cuts: (a) the initial classification results;

(b) the region growing result based on the same initial classification labels where different colors

represent different objects; (c) the separation of reliable and unreliable objects according to their point

sizes where unreliable objects are represented by black points; (d) the classification refinement of

unreliable points for each reliable object by applying the graph cuts optimization; (e) the finally refined

classification results after optimization.

dmin(Si, Sj) between them is less than the threshold Td (Td = 0.3 was used in this paper); 2) the class401

labels of Si and Sj are the same. After that, the merged individual objects will be recognized as the402

reliable and unreliable ones according to the numbers of the points in these objects. For different403

object classes, different number thresholds are used to separate objects in each object class into the404

reliable and unreliable ones. For example, the thresholds of buildings and the ground are relatively405

large, while the threshold of cars is small. For each reliable object associated with its neighbouring406

points, the graph-cuts-based foreground/background segmentation is successively used to refine the407

classification results, and the flowchart is illustrated in Figure 5. The data range for the currently408

selected reliable object Or to be optimized is a 3D spherical region whose center is the gravity point409

of Or (i.e., c(Or) = 1/|Or | ∑pk∈Orpk, where |Or | denotes the number of the points in Or) and410

whose radius is the maximum Euclidean Distance between the center c(Or) and the points in the411

current reliable object, i.e., maxpk∈Or ‖c(Or)− pk‖. The radius of the 3D spherical region is gradually412

expanding until it contains not only some points in other reliable objects, but also some points in413

some unreliable objects. For all points in Or , we consider them as the foreground seed set F . The414

points in other reliable objects in the 3D spherical region are considered as the background seed set415

B. The class labels of the foreground and background seed points are fixed. All the points from the416

unreliable objects are regarded as the points whose class labels need to be optimized via graph cuts,417

which is denoted as the set U .418

To implement the optimization, we construct a graph G = 〈V , E〉 where V consists of all points419

P = U⋃

F⋃

B in the spherical region and two terminal points s and t which are the gravity points420

of the foreground seed sets F and B, respectively, i.e., V = P⋃

{s, t}. The edge set E consists of two421

types of undirected edges: n-links (neighborhood links) and t-links (terminal links). Each point p in422

P has two t-links {p, s} and {p, t} connecting it to each terminal. Any pair of neighboring points423

{p, q} in P is connected by a n-link and all these n-links constructed from the points in P is denoted424

Page 14: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 14 of 27

Table 2. The settings for weights of edges in graph cuts.

Types of Edges Edges Weights Conditions

n-links {p, q} w(p, q) {p, q} ∈ N

t-links

w(p, s) p ∈ U

{p, s} maxq∈U w(q, s) p ∈ F

0 p ∈ B

w(p, t) p ∈ U

{p, t} 0 p ∈ F

maxq∈U w(q, t) p ∈ B

as the set N = {{p, q}|p, q ∈ P , p 6= q}. Thus, the edge set E = N⋃

{{p, s}, {p, t}|p ∈ P}. The425

weights of edges in E are calculated according to Table 2, where the weight value of some edge {p, q}426

connecting any two nodes p and q is calculated as follows:427

w(p, q) = exp

(

−d(p, q)2

σ2

)

, (10)

where d(p, q) = ‖p − q‖ is the Euclidean Distance between p and q, and σ is the average weight428

of all the edges in E , i.e., σ = 1|E | ∑{p,q}∈E d(p, q). Finally, we find the best solution via graph cuts429

by segmenting the points into the classes of foreground or background. After optimization, the class430

labels of unreliable points that are segmented to the foreground seed set F are adjusted to the label of431

the corresponding reliable object in F , but the labels of all other points segmented to the background432

seed set won’t be changed.433

4 Results434

Our proposed algorithm was implemented and tested in a computer Intel(R) Core(TM) i7-4770435

CPU at 3.4GHz and the 8 GB RAM memory. In order to improve the computational efficiency, the436

parallel computing technique was employed. To validate the performance of our proposed algorithm,437

we applied both qualitative and quantitative evaluations on our own built dataset.438

4.1 Dataset439

The point cloud dataset used in this paper was captured form Huangshi city of Hubei Province440

in China, and this data was acquired by using the SICK LMS511 laser scanners mounted on a vehicle.441

The total length of this original data is 33.5km and the size of this data is 11.7GB. We only selected442

partial data to conduct our experiments. We constructed the ground truth dataset by manually443

labeling each 3D point with corresponding object class. All of these operations were implemented444

by using an open source software CloudCompare 1, which is a 3D point cloud and mesh processing445

software. By observing the original data, we choose the following nine class labels: ground, buildings,446

cars, trees, curbs, fences, street lights, telegraph poles and electric wires. The dataset finally consists447

of 7 separately continuous point clouds. The informations of the dataset are presented in Table 3,448

which is publicly available for downloading at http://cvrs.whu.edu.cn.449

1 Available at http://www.cloudcompare.org/.

Page 15: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 15 of 27

Table 3. The informations of manually labeled class ground truth point cloud dataset.

Sets #Points Ground Buildings Cars Trees Curbs FencesStreet Telegraph Electric

Lights Poles Wires

S1 1,050,774 447,822 257,125 18,527 260,738 22,369 34,199 3,596 3,979 2,419

S2 1,074,792 561,797 177,267 13,206 125,464 1,633 186,343 1,913 4,778 2,391

S3 975,256 497,100 137,812 8,526 207,427 31,429 80,787 2,907 3,301 5,967

S4 724,598 377,269 129,863 9,879 129,543 29,026 37,582 1,181 5,712 4,543

S5 713,367 309,787 102,062 10,898 247,539 36,597 1,070 1,921 2,962 531

S6 1,239,388 595,236 355,448 18,288 255,966 1,122 1,274 1,598 7,083 3,373

S7 1,452,821 772,333 353,405 28,944 241,177 0 43,630 2,023 7,886 3,423

Note: The overall length of the data set is about 5643 meters.

Table 4. Segmentation statistical results of 3 sets of point clouds.

Sets #Points #Segments via P-Linkage #Segments After Post-processing

S1 1,050,774 40,718 667

S2 1,074,792 21,083 479

S3 975,256 30,714 558

4.2 Segmentation450

The segmentation of dense laser scanner points acquired by a vehicle-mounted platform is a451

challenging task due to the existence of varied kinds of road furnitures which contain grounds,452

building facades, cars, trees, curbs, fences, street lights, telegraph poles and electric wires. To test the453

robustness of the proposed point cloud segmentation method, we applied it on 3 sets of laser scanner454

point clouds (S1, S2 and S3 as shown in Table 3) from our built dataset, which consist of 1, 050, 774,455

1, 074, 792 and 975, 256 points, respectively. These point clouds are unstructured and only supply456

3D coordinate information without corresponding RGB color values and reflectance intensities. In457

all these tests, we only adjusted the value of the parameter θ for slice mering (see Eq. (4)) to get the458

best P-Linkage segmentation results and set the minimum point number of each segment in order to459

make a simple noise filtering effect. In our experiments, we uniformly set the value of θ as 15◦ and460

the minimum point number for each valid segment empirically is set as 10.461

The detailed informations and segmentation results are summarized in Table 4. After462

post-processing, the number of segments is obviously less than one of segments obtained by463

P-Linkage. In order to show the segmentation results clearly, Figure 6 and Figure 7 presented the464

segmentation results of two regions before and after post-processing, respectively. These two regions465

were selected from the point cloud set S2, which are named as region I and region II, respectively.466

From both Figure 6 and Figure 7, we observed that the road surfaces were clustered into a complete467

one separated entirely from other objects. Besides, the building facades were segmented quite468

completely and well despite that their densities vary in a wide range. However, except for planar469

objects, such as building facades, walls and floors, the other linear objects and curved-surface objects470

are always over-segmented. For example, from Figure 6(a), we can find that a complete electric wire471

and some completely individual trees were segmented into multiple small segments after applying472

the original P-Linkage segmentation algorithm. In addition, from Figure 7(a), we observed that473

sometimes the over-segmentation problem also appears in the regions of cars, telegraph poles and474

street lights. However, after the post-processing operation, all those problems mentioned above475

have been greatly solved. As shown in Figure 6(b) and Figure 7(b), most of the original segments476

of the same object were merged together and our proposed post-processing strategies greatly solve477

Page 16: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 16 of 27

(a) the original P-Linkage segmentation results for the region I from the point cloud set S2.

(b) the segmentation result after post-processing for the region I from the point cloud set S2.

Figure 6. The segmentation results before and after post-processing for the region I from the point

cloud set S2.

the over-segmentation problem. More accurate segments will effectively improve the accuracy of the478

next segmentation-based classification.479

4.3 Initial Classification480

The dataset with seven sets of point clouds was divided into two parts: training dataset and481

testing dataset. The first three sets S1, S2 and S3 were used as the testing dataset. The remaining four482

sets were used to train the classifiers. The trained classifiers were then used to classify the testing483

dataset.484

We conducted two comparative experiments to verify the effectiveness of our proposed485

approach. To validate the effectiveness of our proposed post-processing strategies for classification,486

in the first experiment, we compared the classification results based on the segments before and after487

post-processing on the three testing point cloud sets using the SVM classifier, as shown in Table 5.488

In default, the SVM classifier was used in all the following experiments unless clearly stated. It can489

be seen from Table 5 that better classification performances (with higher precisions and recalls) can490

be achieved based on the segments after applying our proposed post-processing strategies than ones491

based on the segments obtained by the original P-Linkage segmentation algorithm. On average,492

the precisions and recall rates increase by about 10.7% and 14.4% on the three testing sets using the493

segments obtained after post-processing, respectively.494

In addition, in order to prove that our extracted features are also applicable to other classifiers495

except for SVM, we also conducted a comparative experiment among three different kinds of496

classifiers: SVM, RF and ELM. In this experiment, we used the same segmention results and the497

same features associated with different kinds of classifiers. Both RF and ELM classifiers were all498

implemented in Matlab. Through a series of comparative experiments, we obtained the best set of499

parameters for RF and ELM classifiers, respectively. As for RF, the number of trees is 200 and the500

number of splits for each tree node is 15. As for ELM, the number of hidden neurons is 100 and the501

activation function type is the sigmoid function. The classification performances for three different502

classifiers on the three testing sets are showed in Table 6. On average, the SVM classifier reaches a503

Page 17: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 17 of 27

(a) the original P-Linkage segmentation results for the region II from the point cloud set S2.

(b) the segmentation result after post-processing for the region II from the point cloud set S2.

Figure 7. The segmentation results before and after post-processing for the region II from the point

cloud set S2.

Table 5. The comparison results between the classification of original P-Linkage segmentation and

the classification based on the segmentation after post-processing for 3 testing point clouds.

SetsOriginal P-Linkage Segmentation P-Linkage+Post-Processing

Precision (%) Recall (%) Precision (%) Recall (%)

S1 72.8 62.7 87.4 79.1

S2 79.3 63.0 92.9 77.5

S3 76.8 65.4 80.8 77.6

precision of 87.0% and a recall rate of 78.1%. The RF classifier reaches a precision of 87.9% and a recall504

rate of 77.6%. The ELM classifier reaches a precision of 76.9% and a recall rate of 71.1%. On average,505

both SVM and RF classifiers reach the similar precisions and recall rates, which are higher than ones506

of the ELM classifier.507

The under-segmentation appears when two objects are too close to each other, which will greatly508

decrease the classification performance. For example, many street light points were mistakenly509

Page 18: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 18 of 27

Table 6. The classification performances for the three testing point cloud sets using three kinds of

classifiers (SVM, RF and ELM).

SetsPrecision (%) Recall (%)

SVM RF ELM SVM RF ELM

S1 87.4 86.9 71.4 79.1 74.8 72.2

S2 92.9 84.6 81.3 77.5 76.6 66.6

S3 80.8 92.1 78.0 77.6 81.5 74.6

Figure 8. A misclassification example in which the street light points were mistakenly classified as

trees due to under-segmentation: (a) the ground truth; (b) the original classification result.

labeled as trees because the street lights are too close to the trees and the parts of the street lights510

are hidden in the trees, as shown in Figure 8. There are also many misclassified points among trees,511

buildings and fences. Due to occlusion and other reasons, sometimes the building and fence surfaces512

are not too smooth as planes which can be easily merged with the trees during segmentation and513

post-processing. These under-segmentation errors also appear frequently when the trees clings to the514

front of the fences, as shown in Figure 9. In general, the point clouds for the buildings obtained by a515

vehicle LiDAR system are often incomplete and finely broken, which will result in over-segmentation.516

In this case, the small segments from buildings were often misclassified into other object classes, such517

as cars, trees, etc, as shown in Figure 10.518

4.4 Optimization Evaluation519

By the observation of the original classification results, we found that many classification errors520

result from over-segmentation as shown in Figure 10. Since objects themselves were finely broken521

and incomplete, there exist always some gaps inside the objects. Our proposed post-processing522

strategies will not solve such this over-segmentation efficiently and completely. To reduce the523

misclassification caused by over-segmentation, we adopted the graph cuts method to optimize the524

initial classification results. Firstly, we grouped the points with the same initial classification labels525

and close distances. Secondly, according to the point numbers of objects, all the targets were divided526

into reliable and unreliable ones. Then we built a graph model for each reliable object. All of527

the small and unreliable objects around the reliable object were merged into the reliable object via528

graph cuts. Finally, we will get a smoother and more refined classification result. Figure 11 shows529

some close-ups of the final classification results after applying the graph cuts optimization algorithm.530

The generated segmentation result shows clearly distinguished labeling results for different objects.531

To quantitatively evaluate our proposed optimization approach, we compared the classification532

performances before and after optimization. The precisions and recall rates of three testing sets533

for the initial classification and the classification after optimization are reported in Table 7. The534

Page 19: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 19 of 27

Figure 9. A misclassification example in which the fence points were mistakenly classified as trees

due to under-segmentation: (a) the side view of the ground truth; (b) the front view of the ground

truth; (c) the classification result.

Figure 10. A misclassification example in which some small segments from buildings were mistakenly

classified as other object classes such as cars and trees due to over-segmentation.

confusion matrix of all the three testing sets for the initial classification and the classification after535

optimization are reported in Table 8 and Table 9, respectively. As the misclassification results536

from over-segmentation and the high similarity between certain object classes are inevitable , the537

classification results can not reach a very high precision. However, by comparing the results before538

and after optimization, we can observe that both the precisions and recall rates of different object539

classes are improved significantly, especially for the recall rates. In particular, the recall rate of the540

point cloud set S2 increases by 4.8% after optimization which gets the highest increase in the three541

testing sets. The overall precisions for final classification reach 81.5%-93.3% and the overall recall542

rates reach 80.2%-82.3%.543

Page 20: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 20 of 27

(a)

(b)

(c) (d)

(e) (f)

Figure 11. Close-ups of the classification result after optimization: (a) the street view with grounds,

buildings, fences, trees, street lights, cars and telegraph poles; (b) the street view with grounds, fences,

buildings, trees, telegraph poles, street lights and electric wires; (c) and (e) the street view with all the

9 object classes; (d) and (f) the local details of partial regions in (c) and (e), respectively.

Page 21: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 21 of 27

Table 7. The comparative results between the initial classification and the classification after

optimization for three testing sets.

SetsBefore Optimization After Optimization

Precision (%) Recall (%) Precision (%) Recall (%)

S1 87.4 79.1 87.3 81.1

S2 92.9 77.5 93.3 82.3

S3 80.8 77.6 81.5 80.2

Table 8. The confusion matrix among 9 object classes and the classification performance of each object

class for initial classification on the testing dataset.

Ground Building FenceTelegraph

PoleTree

ElectricWire

StreetLight

Curb CarRecall

(%)

Ground 1461348 628 14760 14 700 0 32 7276 182 98.4

Building 2834 720233 44230 710 335 1037 279 18 1474 93.4

Fence 6934 12217 346985 0 10872 24 0 432 0 91.9

TelegraphPole

52 762 26 19923 603 0 1192 0 0 88.3

Tree 5063 13140 12904 441 537850 395 1458 3509 3059 93.1

ElectricWire

1070 391 4880 0 649 15066 98 0 0 68.0

StreetLight

107 1943 136 1112 620 407 9116 0 0 67.8

Curb 38549 2181 5315 0 254 0 0 38643 707 45.1

Car 8157 1323 4273 46 1290 0 88 8983 35905 59.8

Precision(%)

95.9 95.7 80.0 89.6 97.2 89.0 74.3 65.7 86.9

Overall precision: 86.0%, Overall recall: 78.4%.

5 Discussion544

It is challenging for comparing the classification results obtained in this paper with those of545

previous studies. At first, the quality and density of the experimental data are quite different. If the546

data quality is good, for example, the phenomenon of occlusion between objects is relatively small,547

or the data is more complete. If the Euclidean distance between objects belonging different classes548

is relatively large, it will help to obtain a higher overall classification accuracy. Secondly, except for549

the three-dimensional coordinates, in some previous algorithms, there are the reflection intensity,550

the RGB color values and other auxiliary information which can help improving the classification.551

In addition, different algorithms were tested with different kinds of objects and different numbers552

of object classes on different datasets, which will also affect the classification accuracy. For some553

object classes, such as trees, buildings and the ground, a high classification accuracy can be obtained.554

However, for some other less discriminatory object classes, such as buildings and fences, street lights555

and telegraph poles, it is difficult to efficiently classify them. In addition, the higher the number of556

object classes to be classified, the more difficult to obtain a high classification accuracy.557

Despite the challenges aforementioned, here we aim to demonstrate that the performance of our558

proposed classification approach is comparable with those of previous algorithms. We only consider559

the point cloud classification studies of urban road environments obtained by using MLS. For the used560

nine object classes in this paper, we discuss the results reported in previous works for comparison561

with our results one by one in the following.562

Page 22: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 22 of 27

Table 9. The confusion matrix among 9 object classes and the classification performance of each object

class for the optimized classification via graph cuts on the testing dataset.

Ground Building FenceTelegraph

PoleTree

ElectricWire

StreetLight

Curb CarRecall

(%)

Ground 1473997 1138 15536 60 2269 48 212 7335 795 98.2

Building 6294 727605 43157 638 80 986 279 13 1351 93.2

Fence 3022 11077 355120 0 10617 24 0 448 0 93.4

TelegraphPole

81 774 0 19850 632 0 1192 0 0 88.1

Tree 3439 7683 11731 586 537233 353 1521 3338 2782 94.5

ElectricWire

1012 150 3864 0 554 15159 18 0 294 72.0

StreetLight

103 1340 109 1112 480 359 9005 0 0 72.0

Curb 31251 1832 1136 0 118 0 0 38926 499 52.8

Car 4915 1219 2856 0 1190 0 36 8801 35606 65.2

Precision(%)

96.7 96.7 81.9 89.2 97.1 89.5 73.4 66.1 86.2

Overall precision: 86.3%, Overall recall: 81.0%.

In previous works [17,18,25,41,46,56,57,64–68], the classification precisions of the ground are563

between 87% and 99% and the recall rates are between 60.6% and 99%. Most of them achieve a564

high precision of more than 94%, except for the precisions of 91.8% in [41] and 87.4% in [68]. The565

ground classification precision (96.7%) for our algorithm reaches an average level. The recall rate566

(98.2%) reaches a relatively high level which is only lower than ones in [57,65].567

The classification of trees varied its precision from 60.1% to 99% and its recall rates from 51.1%568

to 99% in previous studies [25,41,45–47,57,64–66,68,69]. Our classification precision (97.1%) and recall569

rates (94.5%) of trees are at a moderate level. More than one species and varying sizes of trees will570

increase the tree classification difficulty which are existed in our testing data and in the previous571

studies [43,70]. However, in our work, we will get a superior tree classification results than the results572

in the previous studies [43,70]. This mainly results from the feature “percentage of scatter type points"573

which will effectively distinguish the trees and the other class.574

For the building class, the precisions are between 82.2% and 99.28%, and the recall rates575

are between 86.7% and 95.7% in previous works [17,18,45,46,64,66–69]. Our results fall in these576

ranges. It can be seen from the confusion matrix that the buildings and fences are really easy to be577

misclassified. Because the buildings and fences are all the planes perpendicular to the ground surface,578

the distinction between these two classes is not very large except for the height-related features. This579

reason results in that the precision of the building class is not particularly high compared to the580

previous works that didn’t distinguish these two types of objects.581

The precisions of cars in our results are higher than or approximately equal to those in previous582

works [17,18,46,67–69]. There are many parked cars at various orientations in our built dataset. Most583

of the parked cars were correctly classified. This demonstrates the rotation-invariant property of584

the proposed method as described in Section 3.2.1. However, the recall rates of cars are relatively585

lower than ones in previous works [17,18,46,67–69]. There are two possible reasons. At first, the data586

obtained by MLS is incomplete. The points of one side of the car are relatively dense, while there exist587

very few points in the other side due to acquisition occlusion, which can be obviously observed in588

Figure 3. This greatly increases the difficulty in identifying cars. In particular, curbs are similar to this589

kind of incomplete cars, making it easy for curbs to be classified as cars. Secondly, as cars are tightly590

attached to the ground, the segmentation will inevitably produce under-segmentation phenomenon,591

Page 23: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 23 of 27

which merge some of the points on the ground with the points on the car into one segment. Thus,592

these segments were often classified as cars, thus pulling down the recall rate of cars.593

Both telegraph poles and electric wires usually appear in urban street scenes simultaneously.594

For these two object classes, our results are comparable with ones reported in [56,57,64,66]. Previous595

works report the precision rates of 34.65%-87% for telegraph poles and the precision rates of596

9.34%-90% for electric wires. Most of them show a lower precision than our results. The recall rates597

of telegraph poles vary between 26% and 83.7%. As for electric wires, the recall rates vary between598

13.4% and 87%. When comparing the precision and recall rate simultaneously, our algorithm shows599

excellent results. For example, Munoz et al. [56] achieved a higher telegraph poles precision (90.6%)600

and electric wires precision (90.6%) than ours for these two classes. But it generated a very low601

recall rate, especially for electric wires (13.4%). A high precision and low recall rate were achieved602

by Munoz et al. [57]. The recall rates of telegraph poles (82.07%) and electric wires (87%) reported603

in [64] are higher than or approximately equal to those in our results (88.1% and 72%). But it has604

a very low precision for these two classes (34.65% for telegraph poles and 9.34% for electric wires),605

which are far below the precisions obtained in this paper. The results in [66] are relatively balanced,606

but they are still lower than our results.607

The results for fence classification are previously reported in [46,47]. Similar to ours, they608

suffered from the confusion between fences and buildings, which is a significant reason for the609

accuracy values being modest in both works.610

To our knowledge, only Bremer et al. [65] had evaluated the classification precision of curbs.611

It obtains a high precision of 94% and a low recall rate of 69%, which are better than our results.612

The confusion between the ground and the curbs is the largest in [65]. However, their work didn’t613

distinguish the car class, which has the largest confusion with curbs in our research.614

In the previous works of the point cloud classification in the urban road environment, there is no615

direct classification of street lights. Therefore, we compared our results with those obtained from two616

object detectors described in [71,72]. Velizhev et al. [71] reported a precision of 72% and a recall rate617

of 82% for light poles. The precision is approximately equal to our result (73.4%), but the recall rate is618

higher than ours (72%). However, Velizhev et al. [71] only detected two object classes: light poles and619

cars. The difficulty of this classification is much lower than our study. The precision of light standards620

in [72] is 45% and the recall rate is 62%, which are lower compared with our results. Golovinskiy et al.621

[72] obtained the classification results of traffic lights and light standards at the same time. Similar622

to them, we distinguished the telegraph poles and street lights at the same time, which are easily623

confused with each other.624

Overall, our proposed segmentation-based classification method can obtain better results than625

ones of the point-based classification methods [18,41,56,57,64,68] in the urban road environment.626

Compared with other segmentation-based classification methods [25,45–47,67], our method can627

generate a good classification result. Due to that the used point cloud dataset and the object classes to628

be classified are different, we cannot do a very fair comparison. But the proposed post-processing629

strategies and the graph-cuts-based classification optimization algorithm have been sufficiently630

proved to be efficient on our built dataset. It is believed that other existed algorithms can be improved631

by combining our post-processing and optimization techniques.632

6 Conclusions633

In this paper, we proposed an efficient three-stage classification framework for 3D point clouds634

in the urban road environment. At first, we applied a hierarchical and fast segmentation algorithm635

called P-Linkage to obtain initial segmentation results. In order to achieve a better segmentation636

result, we proposed a two-step post-processing strategy to merge the initial segments. Compared637

with the results of the initial segmentation, the segmentation after post-processing has obviously638

improved the classification accuracy and the recall rate. Secondly, we define a series of rational639

Page 24: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 24 of 27

features to distinguish the 9 different object classes and use the learned classifier to classify segments640

into these 9 classes. In the experiments, we used 3 kinds of classifiers (i.e. SVM, RF and ELM) and each641

classifier can achieve a good classification result. Thirdly, to reduce the misclassification of each object642

class and obtain a smoother classification results, we adopted graph cuts to optimally adjust the class643

labels of unreliable and small objects into the corresponding reliable objects. The experimental results644

on our built dataset show that the proposed optimization method can improve both the precision and645

recall rate of the initial point cloud classification, and achieve a superior result in three testing point646

cloud sets in the road environment.647

Acknowledgments648

This work was partially supported by the National Natural Science Foundation of China (Project649

No. 41571436), the Hubei Province Science and Technology Support Program, China (Project No.650

2015BAA027), the National Natural Science Foundation of China under Grant 91438203, LIESMARS651

Special Research Funding, and the South Wisdom Valley Innovative Research Team Program.652

Bibliography653

1. Scopigno, R.; Andujar, C.; Goesele, M.; Lensch, H.P.A. 3D Data Acquisition; Eurographics Association,654

2002.655

2. Krlzger, T.; Nowak, S.; Hecker, P. Towards autonomous navigation with unmanned ground vehicles using656

LiDAR. Proceedings of the 2015 International Technical Meeting of the Institute of Navigation 2015.657

3. Brenner, C. Extraction of features from mobile laser scanning data for future driver assistance systems.658

Advances in Giscience, Proceedings of the Agile Conference, Hannover, Germany, 2-5 June, 2009, pp.659

25–42.660

4. Selvam, S. Design and development of Integrated semi - autonomous fire fighting mobile robot 2015. 4.661

5. Riveiro, B.; Diaz-Vilarino, L.; Conde-Carnero, B.; Soilan, M. Automatic segmentation and shape-based662

classification of retro-reflective traffic signs from mobile LiDAR data. IEEE Journal of Selected Topics in663

Applied Earth Observations & Remote Sensing 2015, 9, 1–9.664

6. Yokoyama, H.; Date, H.; Kanai, S.; Takeda, H. Detection and classification of pole-like objects from mobile665

laser scanning data of urban environments. International Journal of Cad/cam 2013, 13.666

7. Martin, R.; Pratihast, A.K.; Elberink, S.J.O. Tree modelling from mobile laser scanning data-sets.667

Photogrammetric Record 2011, 26, 361lC372.668

8. Puttonen, E.; Jaakkola, A.; Litkey, P.; Hyypp?, J. Tree classification with fused mobile laser scanning and669

hyperspectral data. Sensors 2011, 11, 5158.670

9. Shiravi, S.; Zhong, M.; Beykaei, S.A. Accuracy assessment of building extraction using LIDAR data for671

urban planning/transportation applications. The 2012 Conference of the Transportation Association of672

Canada Fredericton, New Brunswick, 2012.673

10. Meyer, J.A.; Filliat, D. Map-based navigation in mobile robots: : II. A review of map-learning and674

path-planning strategies. Cognitive Systems Research 2015, 4, 283–317.675

11. Roynard, X.; Deschaud, J.E.; Goulette, F. Fast and robust segmentation and classification for change676

detection in urban point clouds. ISPRS - International Archives of the Photogrammetry, Remote Sensing and677

Spatial Information Sciences 2016, XLI-B3, 693–699.678

12. Qin, R.; Gruen, A. 3D change detection at street level using mobile laser scanning point clouds and679

terrestrial images. ISPRS Journal of Photogrammetry & Remote Sensing 2014, 90, 23–35.680

13. Aparajithan, S.; Shan, J. Urban DEM generation from raw LiDAR data. Photogrammetric Engineering and681

Remote Sensing 2005, 71, 217–226.682

14. Guo, L.; Chehata, N.; Mallet, C.; Boukir, S. Relevance of airborne LiDAR and multispectral image data683

for urban scene classification using random forests. ISPRS Journal of Photogrammetry and Remote Sensing684

2011, 66, 56–66.685

15. Lalonde, J.F.; Vandapel, N.; Huber, D.F.; Hebert, M. Natural terrain classification using three dimensional686

ladar data for ground robot mobility. Journal of Field Robotics 2006, 23, 839lC861.687

Page 25: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 25 of 27

16. Behley, J.; Steinhage, V.; Cremers, A.B. Performance of histogram descriptors for the classification of 3D688

laser range data in urban environments. IEEE International Conference on Robotics and Automation,689

2012, pp. 4391–4398.690

17. Weinmann, M.; Urban, S.; Hinz, S.; Jutzi, B.; Mallet, C. Distinctive 2D and 3D features for automated691

large-scale scene analysis in urban areas. Computers & Graphics 2015, 49, 47–57.692

18. Weinmann, M.; Jutzi, B.; Mallet, C. Semantic 3D scene interpretation: A framework combining optimal693

neighborhood size selection with relevant features 2014. ii-3, 181–188.694

19. Lee, I.; Schenk, T. Perceptual organization of 3D surface points. The International Archives of the695

Photogrammetry, Remote Sensing and Spatial Information Sciences 2002, 34, 193–198.696

20. Filin, S.; Pfelfer, N. Neighborhood systems for airborne laser data. Photogrammetric Engineering & Remote697

Sensing 2005, 71, 743–755.698

21. Plazaleiva, V.; Gomezruiz, J.A.; Mandow, A.; Garclłacerezo, A. Voxel-based neighborhood for spatial699

shape pattern classification of LiDAR point clouds with supervised learning. Sensors 2017, 17.700

22. Niemeyer, J.; Rottensteiner, F.; Soergel, U. Contextual classification of lidar data and building object701

detection in urban areas. Isprs Journal of Photogrammetry & Remote Sensing 2014, 87, 152–165.702

23. Guo, B.; Huang, X.; Zhang, F.; Sohn, G. Classification of airborne laser scanning data using JointBoost.703

Isprs Journal of Photogrammetry & Remote Sensing 2015, 100, 71–83.704

24. Blomley, R.; Jutzi, B.; Weinmann, M. Classification of airborne laser scanning data using geometric705

multi-scale features and different neighbourhood types. Isprs Annals of Photogrammetry Remote Sensing706

& Spatial Informa 2016, III-3, 169–176.707

25. Aijazi, A.K.; Checchin, P.; Trassoudaine, L. Segmentation based classification of 3D urban point clouds:708

A super-voxel based approach with evaluation. Remote Sensing 2013, 5, 1624–1650.709

26. Wardale, J.; Mullen, L.; Howard, D. Object classification and recognition from mobile laser scanning point710

clouds in a road environment. IEEE Transactions on Geoscience & Remote Sensing 2015, 54(2), 1–14.711

27. Zhang, J.; Lin, X.; Ning, X. SVM-based classification of segmented airborne LiDAR point clouds in urban712

areas. Remote Sensing 2013, 5, 3749–3775.713

28. Ni, H.; Lin, X.; Zhang, J. Classification of ALS point cloud with Improved point cloud segmentation and714

random forests 2017.715

29. Rutzinger, M.; H?fle, B.; Hollaus, M.; Pfeifer, N. Object-based point cloud analysis of full-waveform716

airborne laser scanning data for urban vegetation classification. Sensors 2008, 8, 4505–4528.717

30. Krishnan, R. Object-oriented semantic labelling of spectrallCspatial LiDAR point cloud for urban land718

cover classification and buildings detection. Geocarto International 2016, 31, 121–139.719

31. Rollan, T.A.M.; Blanco, A.C. Assessment of point cloud analysis in improving object-based agricultural720

land cover classification using discrete lidar data in Cabadbaran, Agusan del Norte, Phillippines 2016.721

32. Rabbani, T.; Van Den Heuvel, F.; Vosselmann, G. Segmentation of point clouds using smoothness722

constraint. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences 2006,723

36, 248–253.724

33. Klasing, K.; Althoff, D.; Wollherr, D.; Buss, M. Comparison of surface normal estimation methods for725

range sensing applications. IEEE International Conference on Robotics and Automation, 2009.726

34. Belton, D.; Lichti, D.D. Classification and Segmentation of Terrestrial Laser Scanner Point Clouds727

Using Local Variance Information. ISPRS Commission V Symposium ’Image Engineering and Vision728

Metrology’, 2012.729

35. Lu, X.; Yao, J.; Tu, J.; Li, K.; Li, L.; Liu, Y. Pairwise linkage for point cloud segmentation. XXIII ISPRS730

Congress, 2016.731

36. Vosselman, G. Point cloud segmentation for urban scene classification. ISPRS - International Archives of732

the Photogrammetry, Remote Sensing and Spatial Information Sciences 2013, XL-7/W2(7), 257–262.733

37. Golovinskiy, A.; Funkhouser, T. Min-cut based segmentation of point clouds. IEEE International734

Conference on Computer Vision Workshops (ICCV Workshops), 2009.735

38. Strom, J.; Richardson, A.; Olson, E. Graph-based segmentation for colored 3D laser point clouds.736

IEEE/RSJ International Conference on Intelligent Robots and Systems, 2010.737

39. Anguelov, D.; Taskarf, B.; Chatalbashev, V.; Koller, D.; Gupta, D.; Heitz, G.; Ng, A. Discriminative learning738

of Markov random fields for segmentation of 3D scan data. IEEE Computer Society Conference on739

Computer Vision and Pattern Recognition, 2005.740

Page 26: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 26 of 27

40. Arya, S.; Mount, D.M.; Netanyahu, N.S.; Silverman, R.; Wu, A.Y. An optimal algorithm for approximate741

nearest neighbor searching fixed dimensions. Journal of the ACM 1998, 45, 891–923.742

41. Yu, K.; Li, T.; Chen, J.; Wu, F.; Sun, C. Classification method for object feature extraction based on laser743

scanning data. Communications in Computer and Information Science 2013, 398, 155–165.744

42. Bishop, C. Pattern Recognition and Machine Learning (Information Science and Statistics); Springer, New York,745

2007.746

43. Lehtomäki, M.; Jaakkola, A.; Hyyppä, J.; Lampinen, J.; Kaartinen, H.; Kukko, A.; Puttonen, E.; Hyyppä,747

H. Object classification and recognition from mobile laser scanning point clouds in a road environment.748

IEEE Transactions on Geoscience and Remote Sensing 2016, 54, 1226–1239.749

44. Lin, X.; Zhang, J.; Shen, J. Object-based classification of airborne LiDAR point clouds with multiple750

echoes. International Symposium on Image and Data Fusion, 2011, pp. 1–4.751

45. Zhu, X.; Zhao, H.; Liu, Y.; Zhao, Y. Segmentation and classification of range image from an intelligent752

vehicle in urban environment. Ieee/rsj International Conference on Intelligent Robots and Systems, 2010,753

pp. 1457–1462.754

46. Babahajiani, P.; Fan, L.; Gabbouj, M. Object recognition in 3D point cloud of urban street scene. Asian755

Conference on Computer Vision. Springer, 2014, pp. 177–190.756

47. Zhou, Y.; Yu, Y.; Lu, G.; Du, S. Super-segments based classification of 3D urban street scenes. International757

Journal of Advanced Robotic Systems 2012, 9, 1.758

48. Choe, Y.; Ahn, S.; Chung, M.J. Online urban object recognition in point clouds using consecutive point759

information for urban robotic missions. Robotics and Autonomous Systems 2014, 62, 1130–1152.760

49. Zhang, J.; Lin, X.; Ning, X. SVM-based classification of segmented airborne LiDAR point clouds in urban761

areas. Remote Sensing 2013, 5, 3749–3775.762

50. Tang, T.; Dai, L. Accuracy test of point-based and object-based urban building feature classification and763

extraction applying airborne LiDAR data. Geocarto International 2014, 29, 710–730.764

51. Chehata, N.; Guo, L.; Mallet, C. Airborne LiDAR feature selection for urban classification using random765

forests. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences,766

2009, Vol. 38, p. W8.767

52. Mozos, O.M.; Stachniss, C.; Burgard, W. Supervised learning of places from range data using AdaBoost.768

IEEE International Conference on Robotics and Automation (ICRA), 2005.769

53. Niemeyer, J.; Mallet, C.; Rottensteiner, F.; Soergel, U. Conditional random fields for the classification of770

LiDAR point clouds. ISPRS - International Archives of Photogrammetry, Remote Sensing and Spatial771

Information Sciences, 2011.772

54. Niemeyer, J.; Rottensteiner, F.; Soergel, U. Contextual classification of point clouds using a two-stage crf.773

Computer & Information Technology 2015, XL-3/W2(3), 141–148.774

55. Niemeyer, J.; Rottensteiner, F.; Soergel, U. Classification of urban LiDAR data using conditional random775

field and random forests. Joint Urban Remote Sensing Event (JURSE), 2013.776

56. Munoz, D.; Vandapel, N.; Hebert, M. Directional associative markov network for 3-D point cloud777

classification. Fourth International Symposium on 3D Data Processing, Visualization and Transmission,778

2008.779

57. Munoz, D.; Bagnell, J.A.; Vandapel, N.; Hebert, M. Contextual classification with functional max-margin780

markov networks. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2009.781

58. Mount, D.M.; Arya, S. ANN: A Library for Approximate Nearest Neighbor Searching.782

https://www.cs.umd.edu/~mount/ANN/, 2010.783

59. Nurunnabi, A.; West, G.; Belton, D. Outlier detection and robust normal-curvature estimation in mobile784

laser scanning 3D point cloud data. Pattern Recognition 2015, 48, 1404–1419.785

60. Li, H.; Hu, W.; Yao, J. Anti-excessive filtering model based on sliding window. International Conference786

on Computer Science and Electronic Technology, 2015.787

61. Chang, C.C.; Lin, C.J. LIBSVM: A library for support vector machines. ACM788

Transactions on Intelligent Systems and Technology 2011, 2, 27:1–27:27. Software available at789

http://www.csie.ntu.edu.tw/~cjlin/libsvm.790

62. Breiman, L. Random forests. Machine Learning 2001, 45, 5–32.791

63. Huang, G.B.; Zhu, Q.Y.; Siew, C.K. Extreme learning machine: Theory and applications. Neurocomputing792

2006, 70, 489–501.793

Page 27: Segmentation-Based Classification for 3D Point Clouds in ...cvrs.whu.edu.cn/projects/PCC/papers/3DPointCloudClassification.pdfAt first, an efficient 3D point cloud segmentation approach

Version May 5, 2017 submitted to Remote Sens. 27 of 27

64. Weinmann, M.; Jutzi, B.; Hinz, S.; Mallet, C. Semantic point cloud interpretation based on optimal794

neighborhoods, relevant features and efficient classifiers. ISPRS Journal of Photogrammetry and Remote795

Sensing 2015, 105, 286–304.796

65. Bremer, M.; Wichmann, V.; Rutzinger, M. Eigenvalue and graph-based object extraction from mobile laser797

scanning point clouds. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences798

2013, 5, W2.799

66. Huang, J.; You, S. Point cloud labeling using 3D convolutional neural network. Proc. of the International800

Conf. on Pattern Recognition (ICPR), 2016, Vol. 2.801

67. Aijazi, A.K.; Serna, A.; Marcotegui, B.; Checchin, P.; Trassoudaine, L. Segmentation and classification of802

3D urban point clouds: Comparison and combination of two approaches. Field and Service Robotics.803

Springer, 2016, pp. 201–216.804

68. Choe, Y.; Shim, I.; Chung, M.J. Urban structure classification using the 3D normal distribution transform805

for practical robot applications. Advanced Robotics 2013, 27, 351–371.806

69. Wang, Z.; Zhang, L.; Fang, T.; Mathiopoulos, P.T.; Tong, X.; Qu, H.; Xiao, Z.; Li, F.; Chen, D. A multiscale807

and hierarchical feature extraction method for terrestrial laser scanning point cloud classification. IEEE808

Transactions on Geoscience and Remote Sensing 2015, 53, 2409–2425.809

70. Pu, S.; Rutzinger, M.; Vosselman, G.; Elberink, S.O. Recognizing basic structures from mobile laser810

scanning data for road inventory studies. Isprs Journal of Photogrammetry & Remote Sensing 2011,811

66, S28–S39.812

71. Velizhev, A.; Shapovalov, R.; Schindler, K. Implicit shape models for object detection in 3D point clouds.813

ISPRS Congress, 2012.814

72. Golovinskiy, A.; Kim, V.G.; Funkhouser, T. Shape-based recognition of 3D point clouds in urban815

environments. IEEE International Conference on Computer Vision, 2009, pp. 2154–2161.816

c© 2017 by the authors. Submitted to Remote Sens. for possible open access publication under the terms and817

conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/4.0/)818