激光与光电子学进展, 2019, 56 (21): 211004, 网络出版: 2019-11-02   

基于图卷积网络的深度学习点云分类模型 下载: 1790次

Deep Learning Model for Point Cloud Classification Based on Graph Convolutional Network
作者单位
河北工业大学电子信息工程学院, 天津 300401
摘要
PointNet是三维点云分类中具有代表性的研究成果,该模型开创性地利用深度学习模型对点云进行分类,取得了较好的效果。但是PointNet模型只考虑点云的全局特征而忽略每个点的局部信息,为弥补这个缺陷,提出基于图卷积网络的点云分类模型。在PointNet模型中插入一个kNN graph层,通过在点云空间构造k近邻图,利用图结构有效地获取点云的局部信息,从而提高整体点云分类准确率。分类实验在ModelNet40数据集上进行,对比不同近邻值k对输出精度的影响,结果表明在k取20时,分类准确率最高,达到了93.2%,比PointNet高4.0%。
Abstract
PointNet is one of the representative research results obtained from three-dimensional point cloud classification, which innovatively employs a deep learning model for point cloud classification and achieves good results. However, PointNet does not capture local information of each point, and it considers only the global features of point clouds. Herein, we propose a model for point cloud classification based on graph convolutional networks to solve this problem, in which a k-nearest neighbor (kNN) graph layer is designed and plugged into a PointNet model. The local information of point clouds can be effectively obtained by constructing the kNN graph layer in the point cloud space, which can improve the accuracy of point cloud classification. The point cloud classification experiment is conducted on the ModelNet40 dataset, and the effects of the different neighbor values of k on the output accuracy are compared. The results demonstrate that the highest classification accuracy is achieved when k is 20, reaching 93.2%, which is 4.0% higher than that of PointNet.

1 引言

点云分类是点云处理领域中十分重要的一项任务。传统的点云分类方法是通过手工提取的特征来捕捉点云的几何属性[1-3],但手工提取无法完全利用三维点云的全部信息,即该方法的分类精度存在瓶颈。深度学习兴起之后,研究者开始探索利用深度神经网络学习点云特征。典型的处理方法是将点云数据转换为体素表示,进而在三维深度学习模型上进行特征提取,完成分类任务。三维体素的表示形式完整地保留了原始三维形状信息,因而具有较好的特征鉴别力,但是该方法对内存的开销很大,导致在实际情况下无法使用分辨率高的体素网络。斯坦福大学的Charles等[4]提出PointNet模型,开创性地利用深度网络直接处理不规则的三维点云数据,模型以原始的点云作为输入,是一个可以同时进行分类和分割的联合结构,在分类任务上取得了较好的效果。但该模型仍存在一个明显的不足,即没有考虑到点云的局部结构,这也导致其识别细粒度模式的能力及对复杂场景的泛化能力较差。本文针对此问题,设计一个基于图卷积网络的分类模型,提出一个kNN(k-nearest neighbor )graph层,通过在点云空间构造k近邻图,利用图结构获取局部信息,进而提高分类准确率。

2 算法描述

2.1 图卷积网络

卷积网络在计算机视觉领域已经取得了巨大的成功,受此启发,研究者开始在图数据上进行卷积操作,这些研究统称为图卷积网络(GCN)[5-7]。GCN的模型框架如图1所示,模型的目标是学习图G[G=(V,E)]上的信号或特征的一个映射,其中V表示节点的集合,E表示边的集合,网络输入包括:1)节点i的特征描述为xi,xi可以写成一个N×D的特征矩阵X,N表示节点数,D表示输入的特征数;2)矩阵形式的图结构的特征描述,一般用邻接矩阵A表示。输出为特征图映射,图结构在层之间共享,标签用Yi表示。图1X1,X2,X3,X4为输入特征矩阵,Z1,Z2,Z3,Z4为输出特征矩阵,Y1,Y4为标签。

图 1. GCN模型框架

Fig. 1. Framework of GCN model

下载图片 查看所有图片

现有的图卷积网络可以分为两类:基于谱的图卷积网络和基于空间的图卷积网络。基于谱的图卷积网络在谱图理论的框架下提出一种CNNs的表达式,利用图信号处理中的滤波器来定义图卷积,图信号中的噪声可以通过图卷积运算去除[8];基于空间的图卷积网络将图卷积定义为来自邻居的特征信息的聚合[9]。本文中的图卷积结构参考基于空间的图卷积网络,利用k近邻图得到边缘特征,并使用聚合函数(池化)对特征进行聚合。再将CNN推广到图结构数据时,图池化模块是至关重要的一个环节。图卷积网络中的图池化模块与CNNs的池化层相似,都是对原始特征数据进行下采样以降低方差和计算复杂度,实现方式是使用average、max或sum池化。

2.2 基于图卷积网络的点云分类模型设计

本文在PointNet体系结构基础上,改进点云信息编码方式,提出一个kNN graph层,通过图结构更有效地利用点云的局部结构,从而提高分类精度。基于GCN的点云分类网络如图2所示。

图 2. 基于GCN的点云分类网络设计

Fig. 2. Design of point cloud classification network based on GCN

下载图片 查看所有图片

网络的原始输入是一个n点的F维点云,每个点xi包含三维坐标信息,除此之外还可以包括表示颜色、表面法线等信息的附加坐标。在深度神经网络体系中,后续的每一层都对前一层的输出进行操作,维度F通常表示给定层的特征维度。其中mlp为多层感知器,括号中的数字代表多层感知器中每个隐藏层的大小,mlp(64,64,64)表示多层感知器有3个隐藏层,每个隐藏层分别有64,64,64个神经元;mlp(128) 表示有1个隐藏层,大小为128;mlp(1024)表示有1个隐藏层,大小为1024;mlp(512,256,c)表示有3个隐藏层,大小分别为512,256,c,其中c为最终输出的分类数。在 kNN graph层中,首先构造RF空间(F为特征聚合之前的维度)中的 k 近邻图G,G=(V,E),定义xj1,…,xjk为节点xik个近邻,eij为边缘特性。图3kNN graph层图卷积操作示意图。

图 3. kNN graph层图卷积示意图

Fig. 3. Schematic of graph convolution in kNN graph layer

下载图片 查看所有图片

模型kNN graph层的输出是每个顶点的所有边的边缘特征的聚合。边缘特性定义为eij=hΘ(xi,xj),其中Θ是训练参数,hΘ:RF×RF→RF'是参数化的非线性函数,F'为特征聚合之后的维度。eij1,eij2,…,eij5分别为点xi与其5个近邻点的边缘特征。在kNN graph层中第i个顶点的输出可以表示为

x'i=jhΘ(xi,xj),(1)

式中,(i,j)∈ε。类比图像中的卷积运算,将xi看作中心像素,xj则是xi周围的像素块。若kNN graph层输入为n点的F维点云,则输出为n点的F'维点云。

边缘函数和聚合操作的选择对kNN graph层生成的属性具有重要的影响。

边缘函数选择:PointNet中只编码了全局形状信息而没考虑局部邻域结构,导致其识别细粒度特征的能力受到限制。考虑点云的局部特征,即关注点和邻近点之间的联系,将边缘函数定义为

hΘ(xi,xj)=hΘ(xj-xi)(2)

(1)式将三维形状看作是多个patch的集合,编码时考虑到点云的局部特征,从而得到更好的分类效果。

聚合函数的选择:图的邻接矩阵表示节点的局部连接,与图像的卷积运算不同的是,图中相邻的节点无法区分。节点x0的特征向量定义为

x0=gWi=0k'xi,(3)

式中,k'为相邻节点的个数,W为分配给所有节点的权重矩阵,g(·)为聚合函数。在GCN中,聚合函数常任意选用max或mean函数。本文中选用max函数进行聚合操作。

图2的分类网络包括2个kNN graph层、1个池化层和3个全连接层。分类模型的输入为n个点,通过第一个kNN graph层完成空间转换,计算kNN graph层中每个点的大小为k'的边缘特征集合,并通过对每个集合进行max pooling以聚合特征,计算对应点的响应。最后一个kNN graph层的输出特性被全局聚合,形成一个一维的描述符,用于生成c类的分数。

3 实验及结果分析

为评估模型的分类效果,在ModelNet40数据集上进行训练和测试。该数据集包含用于训练深度网络的40个类别的12311个CAD模型。根据官方的训练和测试标准,有9843个形状用于训练,2468个形状用于测试。实验在Ubuntu14.04.5系统下进行,配置显卡GTX 1060,Python 2.7,TensorFlow-GPU 1.2.0,实验数据集为Princeton ModelNet40。

分类结构中,k近邻图中的k值取20。在每个全连接层之后使用ReLU激活函数。优化器采用自适应矩估计优化器(ADAM),其余参数设置如表1所示。

表 1. 参数设置

Table 1. Parameter settings

OptimizerLearningrateBatchsizeMomentumWeightdecay
ADAM0.001640.91×10-5

查看所有表

为获得三维点云,从ModelNet40中每个物体形状的网格面上均匀采样1024个点,并将它们归一化到一个单位球面[10]。部分采样结果如图4所示。

图 4. ModelNet40部分形状的采样结果

Fig. 4. Sampling results of partial shapes on ModelNet40

下载图片 查看所有图片

表 2. 几种模型在ModelNet40上的分类精度和计算复杂度对比

Table 2. Comparisons of classification accuracy on ModelNet40 and computational complexity of several models

ModelMean classaccuracy /%Overallaccuracy /%Forwardtime /ms
3D ShapeNets[11]77.384.7
VoxNet[12]8385.9
PointNet8689.225.3
ointNet++[13]90.7163.2
Kd-network[14]86.3
Ours91.693.229.4

查看所有表

将模型在ModelNet40数据集上的分类准确率与其他三维模型分类网络输出精度作对比,同时也比较模型的复杂性,衡量指标为forward time,如表2所示。

表2数据可知,与其他三维形状数据分类网络相比,本文模型在ModelNet40数据集上的分类准确率更高。本文模型的总体分类精度比PoinNet高4.0%,比PoinNet++高2.5%。同时,模型计算速度与PoinNet的很接近,但比PoinNet++的快5倍多。

为验证k值的选择对于模型分类结果的影响,本文还对不同k值下模型的分类精度进行对比,结果如表3所示。

表3可知,k的取值并非越大越好。对于较大的k,网络的分类性能会下降。在k取20时,网络达到最高的总体精度93.2%。

表 3. 不同k值下分类精度对比

Table 3. Comparison of classification accuracy under different k values

kMean classaccuracy /%Overallaccuracy /%
587.689.2
1088.090.4
1590.192.6
2091.693.2
2591.292.9
3090.892.5
3589.991.8
4089.791.6

查看所有表

4 结论

设计并实现一种基于图卷积网络的深度学习点云分类模型。该模型考虑点云的局部特征对点云分类的重要作用,在PointNet模型的结构基础上,加入一个kNN graph层,通过在点云空间构造k近邻图对局部信息进行编码和特征聚合。在ModelNet40数据集上模型的分类准确率达到93.2%,分类效果优于PointNet模型,证明本文模型在三维点云分类任务中的有效性。

参考文献

[1] 雷钊, 习晓环, 王成, 等. 决策树约束的建筑点云提取方法[J]. 激光与光电子学进展, 2018, 55(8): 082803.

    Lei Z, Xi X H, Wang C, et al. Building point clouds extraction from airborne LiDAR data based on decision tree method[J]. Laser & Optoelectronics Progress, 2018, 55(8): 082803.

[2] 佟国峰, 杜宪策, 李勇, 等. 基于切片采样和质心距直方图特征的室外大场景三维点云分类[J]. 中国激光, 2018, 45(10): 1004001.

    Tong G F, Du X C, Li Y, et al. Three-dimensional point cloud classification of large outdoor scenes based on vertical slice sampling and centroid distance histogram[J]. Chinese Journal of Lasers, 2018, 45(10): 1004001.

[3] 贾勇杰, 熊风光, 韩燮, 等. 基于SHOT的多尺度关键点检测技术研究[J]. 激光与光电子学进展, 2018, 55(7): 071013.

    Jia Y J, Xiong F G, Han X, et al. Multi-scale keypoint detection based on SHOT[J]. Laser & Optoelectronics Progress, 2018, 55(7): 071013.

[4] Charles RQ, SuH, KaichunM, et al. PointNet: deep learning on point sets for 3D classification and segmentation[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE, 2017: 652- 660.

[5] Li YG, YuR, ShahabiC, et al. Diffusion convolutional recurrent neural network: data-driven traffic forecasting[J/OL]. ( 2018-02-22)[2019-2-20]. https:∥arxiv.org/abs/1707. 01926.

[6] YuB, Yin HT, Zhu Z X. Spatio-temporal graph convolutional networks: a deep learning framework for traffic forecasting[J/OL]. ( 2018-07-12)[2019-2-20]. https:∥arxiv.org/abs/1709. 04875.

[7] Yan SJ, Xiong YJ, Lin DH. Spatial temporal graph convolutional networks for skeleton-based action recognition[C]∥The Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18), February 2-7, 2018, Hilton New Orleans Riverside, New Orleans, Louisiana, USA. New York: AAAI, 2018: 7444- 7452.

[8] JainA, Zamir AR, SavareseS, et al. Structural-RNN: deep learning on spatio-temporal graphs[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 5308- 5317.

[9] Pan S R, Wu J, Zhu X Q, et al. Joint structure feature exploration and regularization for multi-task graph classification[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(3): 715-728.

[10] Cignoni P, Callieri M, Corsini M, et al. Meshlab: an open-source mesh processing tool[J]. Eurographics Italian Chapter Conference, 2008, 2008: 129-136.

[11] Wu ZR, Song SR, KhoslaA, et al. 3D ShapeNets: a deep representation for volumetric shapes[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 1912- 1920.

[12] MaturanaD, SchererS. VoxNet: a 3D convolutional neural network for real-time object recognition[C]∥2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), September 28-October 2, 2015, Hamburg, Germany. New York: IEEE, 2015: 922- 928.

[13] Qi CR, YiL, SuH, et al. Pointnet++: deep hierarchical feature learning on point sets in a metric space[C]∥Advances in Neural Information Processing Systems, December 4-9, 2017, Long Beach Convention Center, Long Beach. New York: NIPS, 2017: 5099- 5108.

[14] KlokovR, LempitskyV. Escape from cells: deep kd-networks for the recognition of 3D point cloud models[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy. New York: IEEE, 2017: 863- 872.

王旭娇, 马杰, 王楠楠, 马鹏飞, 杨立闯. 基于图卷积网络的深度学习点云分类模型[J]. 激光与光电子学进展, 2019, 56(21): 211004. Xujiao Wang, Jie Ma, Nannan Wang, Pengfei Ma, Lichaung Yang. Deep Learning Model for Point Cloud Classification Based on Graph Convolutional Network[J]. Laser & Optoelectronics Progress, 2019, 56(21): 211004.

本文已被 6 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!