基于多尺度图卷积的点云分类网络*

2021-02-22 02:38:26胡永东张正文
科技创新与应用 2021年8期
关键词:准确度尺度卷积

胡永东,张正文,李 婕

(湖北工业大学 电气与电子工程学院,湖北 武汉430068)

1 概述

传统的点云分类方法是通过人工设计一系列的特征,然后使用合适的分类器对三维点云直接进行分类[1]。这种分类方法在很多特定场景中取得了成功,但该分类方法只能在特定数据集下实现不错的分类效果,应用到新的数据集中效果并不是很理想[2]。

近些年,深度学习在计算机视觉领域快速发展。常用的方法是先将三维点云数据进行体素化,使其变成规则的三维网格结构[2],然后使用三维卷积神经网络对规则化后的数据进行操作。但是随着点云密度的增长,这种方法所需要的内存和计算量将会随分辨率的提高呈三次方增长。所以该方法只适用于较浅的三维网络模型。在2017年,Qi 等提出了PointNet 网络[3],通过使用多层感知器(MLP)学习每个点的高维特征,同时,将最大池化层作为对称函数,实现了对无序点云的直接处理,网络获得了不错的分类效果。但PointNet 无法获取每个点的邻域几何信息,所以在复杂的点云场景中使用时,表现不佳。之后,Qi 等又提出了PointNet++[3],该网络使用欧氏距离差值法对点进行上采样,并将插值计算得到的语义特征与低层学习的语义特征融合,从而获取到每个点更加丰富的语义特征,但该方法对局部空间内每个点进行的依旧是单独处理,仍有部分结构信息的损失。

近些年,由于图卷积在二维图像处理领域获得了较好的效果。在2018年,Wang 等人提出了一种动态图卷积神经网络DGCNN[2],通过引入边缘卷积模块来获取到点云数据的局部特征,获得较好的分类效果。然而,该方法只能捕获到有限邻域内的边缘特征,缺少多尺度特征,最终还是损失了部分局部几何信息[4]。

针对以上问题,本文在提出一种可以获取多尺度点云局部特征的深度学习网络。通过获取不同范围内等间隔采样的k个邻近点,将点云数据构造成包含顶点和边信息的图结构数据,然后使用图卷积模块学习其高维度特征。该网络的多尺度图卷积结构,既保证了点云的置换不变性,又可以获取到多个尺度的局部几何信息和全局特征。本文网络通过在ModelNet40[5]数据集上进行实验,结果显示,网络在点云分类准确度上有所提高。

2 多尺度图卷积点云分类网络

2.1 M-KNN

由于点云本身存在的无序性、稀疏性,很多网络在构建大型邻域图时,通常会使用KNN 邻近算法获取距离最近的k个邻近点,从而提取到点云中固定大小的单尺度局部特征信息。然而很多点云数据中的物体是以多尺度形式呈现的,所以,这种网络并不能获取到足够的特征,分类性能相对较低。本文提出一种M-KNN 多尺度邻近算法,通过对不同范围内的邻近点进行等间隔采样获取到k个点,用来表示点云数据不同尺度的局部特征信息,而且该方法不会增加网络的计算量。

将一个具有n个点的D 维点云表示为:

其中X 表示一个点云集合,Xi表示每一个点。每个点具有D 维特征,当D=3 时,表示每个点只包含三维坐标信息,即xi=(xi,yi,zi)。以点xi为中心,计算它与每个点的欧式距离,然后进行排序。传统KNN 邻近算法是将距离xi最近的k个点提取出来作为其邻近点,本文为了达到提取多尺度局部特征的目的,提出M-KNN 邻近算法,即在距离xi点最近的前n/m个点中进行等间隔采样,获取到k个邻近点。m 值的大小表示对点云集合不同程度的划分,越小的m 值对应获取到的k个邻近点所表征的邻域范围越大。

2.2 图卷积模块

点云的局部结构可以用一个有向图表示:

其中,V={1,...,n} 表示图结构的顶点,E⊆V×V 表示图结构的边。

首先,通过xi及其邻近点构建点云的图结构G。对于点xi,其k个邻近点(用xji1,...,xjik表示),与邻近点之间的定向边为(i,ji1),...,(i,jik)。定义有向图的边缘特征为:

其中,xj-xi代表邻近点构成的局部块信息。hθ是由可学习参数θ 构成的非线性激活函数,这里使用多层感知器(MLP)对中心点xi的局部信息进行提取和学习。然后再用一个最大池化层MaxPooling 来聚合特征,用来完成RD×RD→RD′,即输入具有n个点的D 维点云,通过图卷积后输出具有D′维点云特征的n个点。图卷积模块(GraphConv)的数学表达式如下:

2.3 多尺度图卷积深度网络模型

本文中提出的多尺度图卷积点云分类网络结构的框架如图1 所示。网络中所有卷积核参数设置为(1×1),k取值为16。网络读取到点云数据后,首先使用两个通道数都为64 的图卷积模块提取点云的局部特征,此时设置m=n/k=64,即以距离xi最近的k个点作为邻近点。然后再对提取到的点云数据的高维特征进行多尺度特征提取,分别设置m=64、32、16、8,逐步扩大邻域范围,每个尺度的特征提取都包含两个图卷积模块,通道数分别为64、128。然后使用concat 操作将多个尺度的特征融合,接着再添加一个通道数为1024 的卷积层。使用MaxPooling获取到点云集合中最大的1024 维特征值。

最后再引入三层全连接层,通道数分别为:(512,256,c),其中c 表示数据集的类别数,即网络的最终输出为c个类别的语义标签。为了防止网络过拟合,在全连接层中加入了dropout 层,阈值设置为0.5。

训练过程中使用交叉熵损失函数,表示为:

其中:M 表示数据集中的类别数;yic为指示变量,若该类别和样本i 相同则为1,否则为0;pic表示样本i 属于类别c 的预测概率。

3 实验与分析

3.1 数据集及实验环境

图1 多尺度图卷积网络模型

图2 分类准确率随迭代次数的变化趋势

本文网络使用ModelNet4 数据集进行训练和测试。ModelNet40 中包含40个类别的人造物体,共12311个模型。参照PointNet,均匀采样1024个点,并且仅将采样点的坐标作为模型的输入。本文使用Ubuntu18.04 作为系统环境,Python 版本为2.7,TensorFlow 版本为1.15。

3.2 结果分析

网络通过200 轮迭代学习,获得的总体分类准确度、平均分类准确度变化趋势如图2 所示。网络的总体分类准确度随迭代次数的增加维持在92.8%附近,平均准确率维持在90.2%附近。

对比本文网络与现有点云分类网络在测试集上的分类准确度,结果如表1 所示:

表1 ModelNet40 数据集上的分类实验结果对比

根据表1 结果显示,在总体分类准确度和平均分类准确度上,本文所提出的网络都获得了较好的性能。在平均分类准确度上,本文网络比PointNet 高出4.2%,比DGCNN 高出1.1%,比GAPNet 高出0.5%。在总体分类准确度上,本文网络比PointNet 高出3.6%,比DGCNN 高出0.6%,比GAPNet 高出0.4%。

4 结束语

本文针对传统点云分类网络在进行特征学习时存在的局部特征不足、多尺度信息缺失等问题,提出一种基于多尺度图卷积的点云分类网络,通过获取不同范围内等间隔采样的k个点,以搭建不同尺度的图卷积模块来学习点云数据的多尺度局部特征,最后再将这些特征进行融合处理获得点云分类的结果。实验结果表明,本文所提出的网络总体分类准确度能达到92.8%,平均分类准确度能达到90.2%,相比于其他网络,本文提出的网络分类准确度更高。

猜你喜欢
准确度尺度卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
财产的五大尺度和五重应对
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
幕墙用挂件安装准确度控制技术
建筑科技(2018年6期)2018-08-30 03:40:54
基于傅里叶域卷积表示的目标跟踪算法
宇宙的尺度
太空探索(2016年5期)2016-07-12 15:17:55
动态汽车衡准确度等级的现实意义
9
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20
高炉重量布料准确度的提高
天津冶金(2014年4期)2014-02-28 16:52:58