基于多尺度特征和PointNet的LiDAR点云地物分类方法 下载: 1816次
1 引言
激光雷达测量(LiDAR)是一种将激光测距、动态全球定位系统(GPS)差分以及惯性导航姿态测定高度集成的技术[1]。LiDAR技术通过主动向目标发射激光脉冲来获取多种目标信息,例如点位信息、距离信息、目标反射物材质信息等[2],对三维(3D)城市建模和城市规划、森林资源调查、灾害评估、变化检测等民用领域应用和目标识别、精确制导等**应用有着非常重要的作用。LiDAR点云数据应用的关键是LiDAR点云数据的分类。
LiDAR点云数据分类方法目前主要有两类:1)基于特征提取的分类方法。一般通过提取点云数据高程、强度、回波次数等信息,以及其他空间信息设计特征来进行分类。如吴军等[3]提取了点云高程
目前在利用深度学习对点云进行分类的研究中,对点云进行体素化或投影到2D图像处理会产生信息损失,直接将点云作为输入的PointNet网络在局部特征提取能力上稍弱。因此,本文在PointNet的基础上,对网络进行改进,提出构建多尺度邻域的深度神经网络模型,将不同尺度邻域提取的局部特征与PointNet提取得到的全局特征结合,增强网络对点云中点局部信息的利用,实现LiDAR点云数据大规模场景分类并提高分类精度。
2 算法描述
PointNet网络对点云局部特征描述能力稍弱,因此对PointNet网络进行改进,在PointNet网络基础上,增加多尺度网络结构提取点的局部特征,提高点云分类精度。算法以原始点云作为网络输入,通过三个不同尺度对点云中的每个点选取邻域,利用PointNet提取邻域特征作为每个点的局部特征,将不同尺度下的局部特征通过全连接层组合,并与PointNet从原始点云中提取的全局特征结合,最后返回每个点的分类结果。具体神经网络模型如
图 1. 多尺度特征与PointNet结合的深度神经网络模型
Fig. 1. Deep neural network model combining multiscale features with PointNet
2.1 PointNet
所提方法是在PointNet网络结构基础上对机载LiDAR点云数据进行分类的。PointNet是第一种直接处理无序点云数据的深度神经网络。一般情况下,深度神经网络要求输入信息具有规范化的格式,比如2D图像、时序性的语音等。而原始3D点云数据通常是空间中一些无序点集,假设某一个点云中包含
式中:
PointNet中将经过特征对齐后的64维特征看作点的特征,把最后的1024维特征看作点的全局特征。因此,通过简单的拼接,将局部和全局特征捆绑在一起得到1088维特征,利用MLP进行融合,将特征维数降为128,最后训练分类器输出每个点对应
PointNet网络中的T-net是一个预测特征空间变换矩阵的子网络,它从输入数据中学习出与特征空间维度一致的变换矩阵,然后与原始数据相乘,实现对输入特征空间的变换操作,使得后续的每一个点都与输入数据中的点有关系。通过数据融合,实现对原始点云数据包含特征的逐级抽象。
2.2 多尺度的生成
PointNet提取每一个独立点的特征描述以及全局点云特征的描述,并没有考虑点的局部特征和结构约束,因此与多视图卷积神经网络(MVCNN)[10]等其他神经网络相比,其在局部特征描述方面的能力稍弱。先为点云中的点选取邻域,再利用PointNet网络提取邻域内点的特征,作为点的局部特征增强PointNet网络对点局部特征的描述能力。将不同尺度邻域下提取的局部特征通过组合作为点的局部特征,并应用于PointNet网络,提高机载LiDAR点云分类精度。
Lindeberg[13]提出了尺度空间及对于图像进行多尺度表示的基本概念,并且通过大量数学证明和运算对该概念进行了完善和发展。生成尺度空间的目的是模拟图像数据多尺度特征,在尺度空间中进行多尺度分析更容易获得图像的本质特征[14]。在获得的机载LiDAR点云数据中,将邻域视为一个尺度参数,改变邻域大小相当于对LiDAR点云应用一个平滑滤波器。因此,可以通过改变邻域大小建立尺度空间,进行多尺度分析。对LiDAR点云中每个点
图 3. 点云中不同尺度下的邻域。(a)尺度一;(b)尺度二;(c)尺度三
Fig. 3. Neighbors of different scales in point clouds. (a) Scale 1; (b) scale 2; (c) scale 3
不同数据具有不同的点云密度,因此尺度大小对于不同的激光点云数据也不相同。由于点云的密度越大,点云的平均点距越小,所以根据点云的平均点距确定尺度大小。首先利用八叉树组织点云计算点云的平均点距
式中
2.3 多尺度网络架构
完整的多尺度网络架构如
由于机载LiDAR点云数据的稀疏性,当网络在进行参数更新时,相同的学习率不能适应所有参数更新。使用梯度下降算法及其变体随机梯度下降(SGD)会影响网络训练的效率和精度,因此所提神经网络使用Adam优化算法。
Adam最开始是由Kingma等[17]提出。Adam优化算法是SGD算法的扩展式,近来广泛用于深度学习,尤其是计算机视觉和自然语言处理等任务中。Adam是一种替代传统SGD过程的一阶优化算法,能基于训练数据迭代地更新神经网络权重。
同时神经网络使用ReLU和Softmax分别作为激活函数和损失函数,ReLU在2016年被提出[18],其数学表达式为
Softmax函数是 Logistic 函数的推广,用于多分类,正确类别得分的概率表示为
式中:
3 实验仿真及结果
使用两种LiDAR数据集对所提出的神经网络进行评估,一是Semantic 3D户外数据集[19],二是ISPRS提供的德国Vaihingen城市测试数据集。
Semantic 3D数据集是一个大型户外数据集,使用地面激光扫描仪获得,总共包含40亿个点。数据集包含了各种城市和乡村场景,如农场、市政厅、运动场、城堡和广场。该数据集包含15个训练数据集和15个测试数据集,另外还包括4个缩减了的测试数据集,如
Vaihingen数据集由ISPRS提供,使用Leica ALS50机载LiDAR系统扫描得到,文献[
20]提供了该数据集的相关说明。数据集包含了丰富的地理环境、城区环境及建筑物类型,如
图 4. Semantic 3D数据集的点云。(a)区域1;(b)区域2
Fig. 4. Point cloud of Semantic 3D dataset. (a) Area 1; (b) area 2
图 5. Vaihingen城市数据集的点云。(a)区域1;(b)区域2;(c)区域3
Fig. 5. Point cloud of Vaihingen city dataset. (a) Area 1; (b) area 2; (c) area 3
图 6. Semantic 3D数据集的分类结果。(a)输入点云;(b) PointNet;(c)所提算法
Fig. 6. Classification results of Semantic 3D dataset. (a) Input point cloud; (b) PointNet; (c) proposed algorithm
利用Semantic 3D数据集对所提出的网络进行测试,并与其他神经网络方法进行对比。当训练网络时,网络批量归一化的衰减率从0.5逐渐增加到0.99,使用Adam优化器时,初始学习率为0.001,样本大小为32,其余超参设置与PointNet网络相同。训练时每个点由(
在Vaihingen城市数据集中,使用PointNet网络和所提算法进行测试,数据集中点的语义标签包含9类(电力线、车辆、低矮植物、不透水表面、护栏、屋顶、墙面、灌木、树)。数据集共包含753876个点,选取301550个点作为训练数据集,452326个点作为测试数据集。多尺度网络中选取[0.5,1,2]三个尺度提取点的局部特征。分类结果如
图 7. Vaihingen城市数据集的分类结果。(a)输入点云;(b) PointNet;(c)所提算法
Fig. 7. Classification results of Vaihingen city dataset. (a) Input point cloud; (b) PointNet; (c) proposed algorithm
4 实验结果分析
采用交并比(IoU)[21]、平均每类精度和整体精度对分类结果进行评价,IoU值用百分比表示。假设原始样本中有两类,其中有
式中:
表 1. 不同尺度下的实验结果
Table 1. Experimental results of different scales
|
表 2. Semantic 3D数据集的各类别IoU
Table 2. Each category IoU of Semantic 3D dataset%
|
表 3. Semantic 3D数据集的分类精度以及运行时间
Table 3. Classification accuracy and runtime of Semantic 3D dataset
|
表 4. Vaihingen城市数据集的各类别IoU
Table 4. Each category IoU of Vaihingen city dataset%
|
表 5. Vaihingen城市数据集的分类精度以及运行时间
Table 5. Classification accuracy and runtime of Vaihingen city dataset
|
5 结论
提出了一种将多尺度特征与PointNet网络结合的深度神经网络,用于LiDAR点云数据的分类。在PointNet网络结构的基础上,采用多尺度对点云内点的邻域特征进行提取,并作为点的局部特征与PointNet提取的全局特征结合,完成对LiDAR点云的分类。通过在Semantic 3D数据集和Vaihingen城市数据集上进行测试,对不同尺度的分类结果进行评估,选出最优尺度,相比于其他神经网络算法,所提算法能取得更好的分类结果。同时从实验结果可知,相比于地面3D激光扫描仪,机载LiDAR由于高度和扫描角度等问题,得到的点云数据更加稀疏,点云的分类具有更高的难度,需要与航空影像等融合实现更高的分类精度。另外所提算法由于需要提取局部特征,在算法效率上有所降低,需要继续改进。
[1] 赖旭东. 机载激光雷达基础原理与应用[M]. 北京: 电子工业出版社, 2010.
Lai XD. Basic principle and application of airborne laser radar[M]. Beijing: Publishing House of Electronics Industry, 2010.
[2] 慧振阳, 程朋根, 官云兰, 等. 机载LiDAR点云滤波综述[J]. 激光与光电子学进展, 2018, 55(6): 060001.
[3] 吴军, 刘荣, 郭宁, 等. SVM加权学习下的机载LiDAR数据多元分类研究[J]. 武汉大学学报·信息科学版, 2013, 38(1): 1-5.
Wu J, Liu R, Guo N, et al. Aerial LiDAR data classification using weighted support vector machines[J]. Geomatics and Information Science of Wuhan University, 2013, 38(1): 1-5.
[4] MacFaden S W, O'neil-Dunne J P M, Royar A R, et al. . High-resolution tree canopy mapping for New York City using LIDAR and object-based image analysis[J]. Journal of Applied Remote Sensing, 2012, 6(1): 063567.
[5] 何曼芸, 程英蕾, 廖湘江, 等. 融合光谱特征和几何特征的建筑物提取算法[J]. 激光与光电子学进展, 2018, 55(4): 042803.
[6] 程效军, 郭王, 李泉, 等. 基于强度与颜色信息的地面LiDAR点云联合分类方法[J]. 中国激光, 2017, 44(10): 1010007.
[7] Guo B, Huang X F, Zhang F, et al. Classification of airborne laser scanning data using JointBoost[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2015, 100: 71-83.
[8] Wu ZR, Song SR, KhoslaA, et al. 3D ShapeNets: a deep representation for volumetric shapes[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1912- 1920.
[9] MaturanaD, SchererS. VoxNet: a 3D convolutional neural network for real-time object recognition[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems, 2015: 922- 928.
[10] Qi CR, SuH, NiebnerM, et al. Volumetric and multi-view CNNs for object classification on 3D data[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2016: 5648- 5656.
[11] YiL, SuH, Guo XW, et al. SyncSpecCNN: synchronized spectral CNN for 3D shape segmentation[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 6584- 6592.
[12] Charles RQ, SuH, Mo KC, et al. PointNet: deep learning on point sets for 3D classification and segmentation[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 77- 85.
[13] LindebergT. Scale-space theory in computer vision[M]. Berlin: Springer, 1994: 349- 382.
[14] 蔡晋茹, 况立群, 韩燮. 基于散乱点云的多尺度特征点提取算法[J]. 计算机工程与设计, 2016, 37(12): 3255-3259.
Cai J R, Kuang L Q, Han X. Multi-scale feature point extraction algorithm based on scattered point cloud[J]. Computer Engineering and Design, 2016, 37(12): 3255-3259.
[15] 岳冲, 刘昌军, 王晓芳. 基于多尺度维度特征和SVM的高陡边坡点云数据分类算法研究[J]. 武汉大学学报·信息科学版, 2016, 41(7): 882-888.
Yue C, Liu C J, Wang X F. Classification algorithm for laser point clouds of high-steep slopes based on multi-scale dimensionality features and SVM[J]. Geomatics and Information Science of Wuhan University, 2016, 41(7): 882-888.
[16] 朱俊锋, 胡翔云, 张祖勋, 等. 多尺度点云噪声检测的密度分析法[J]. 测绘学报, 2015, 44(3): 282-291.
Zhu J F, Hu X Y, Zhang Z X, et al. Hierarchical outlier detection for point cloud data using a density analysis method[J]. Acta Geodaetica et Cartographica Sinica, 2015, 44(3): 282-291.
[17] Kingma DP, BaJ. Adam: a method for stochastic optimization[C]∥3 rd International Conference for Learning Representations , 2015.
[18] ShangW, SohnK, AlmeidaD, et al. Understanding and improving convolutional neural networks via concatenated rectified linear units[C]∥International Conference on Machine Learning, 2016: 2217- 2225.
[19] HackelT, SavinovN, LadickyL, et al. Semantic3D. net: a new large-scale point cloud classification benchmark[J]. ISPRS Annals of Photogrammetry, RemoteSensing and Spatial InformationSciences, 2017, IV-1/W1: 91- 98.
[20] Rottensteiner F, Sohn G, Gerke M, et al. ISPRS test project on urban classification and 3D building reconstruction[J]. Commission III-Photogrammetric Computer Vision and Image Analysis, Working Group III/4-3D Scene Analysis, 2013: 1-17.
[21] Garcia-Garcia A, Orts-Escolano S, Oprea S, et al. A survey on deep learning techniques for image and video semantic segmentation[J]. Applied Soft Computing, 2018, 70: 41-65.
[22] Lawin FJ, DanelljanM, TostebergP, et al. Deep projective 3D semantic segmentation[C]∥International Conference on Computer Analysis of Images and Patterns, 2017: 95- 107.
[23] BoulchA, Saux BL, AudebertN. Unstructured point cloud semantic labeling using deep segmentation networks[C]∥Eurographics Workshop on 3D Object Retrieval, 2017: 17- 24.
[24] TchapmiL, ChoyC, ArmeniI, et al. SEGCloud: semantic segmentation of 3D point clouds[C]∥International Conference on 3D Vision, 2017: 537- 547.
[25] 赵中阳, 程英蕾, 何曼芸. 基于面特征和SIFT特征的LiDAR点云与航空影像配准[J]. 空军工程大学学报(自然科学版), 2018, 19(5): 65-70.
Zhao Z Y, Cheng Y L, He M Y. Registration of LiDAR point cloud and aerial image based on surface feature and SIFT feature[J]. Journal of Air Force Engineering University (Natural Science Edition), 2018, 19(5): 65-70.
赵中阳, 程英蕾, 释小松, 秦先祥, 李鑫. 基于多尺度特征和PointNet的LiDAR点云地物分类方法[J]. 激光与光电子学进展, 2019, 56(5): 052804. Zhongyang Zhao, Yinglei Cheng, Xiaosong Shi, Xianxiang Qin, Xin Li. Terrain Classification of LiDAR Point Cloud Based on Multi-Scale Features and PointNet[J]. Laser & Optoelectronics Progress, 2019, 56(5): 052804.