APP下载

基于动态图卷积的加权点云分类网络

2022-10-17孙一珺

计算机工程与应用 2022年20期
关键词:邻域卷积准确率

孙一珺,胡 辉

华东交通大学 信息工程学院GNSS实验室,南昌 330013

随着激光雷达传感器和深度传感器等3维数据获取设备的普及,点云已经变成了一种常见的计算机视觉数据类型。研究如何使用点云数据服务于各种应用,如:自动驾驶、机器人、遥感等[1],已经成为深度学习计算机视觉领域新的热点,苹果iphoneX所使用的3维结构光深度摄像技术正是这一领域技术的应用。然而,由于点云的稀疏性、非结构性和无序性,使传统的卷积神经网络(convolutional neural network,CNN)不适合直接应用于点云领域。PointNet[2]使用多层感知器(multilayer perceptron,MLP)来获取点云特征,并选择最大池化这一对称函数来处理点云的无序性问题,然而其仅考虑了点云的全局特征,忽略点云的局部特征。DGCNN[3](dynamic graph CNN)提出使用图卷积网络(graph convolutional network,GCN)来获取点云的局部特征,但仍使用的是“赢者通吃”的最大池化方法,导致了信息的损失。

针对这些问题,提出了基于动态图卷积的加权点云分类网络WDGCNN(weighted dynamic graph CNN),使用特征拼接思想优化网络结构以实现多层次特征的融合;通过对k近邻图构成的边缘特征设计恰当的加权函数,弱化远点的干扰,相对加强近点的特征,帮助网络更好地学习点云特征;借助平均池化保留全局特征的优点,结合了最大池化和平均池化,提出了一种新的池化方法以缓解单独使用最大池化造成的信息损失。通过和其他方法在ModelNet40数据集上进行对比分析,验证了本文提出方法的有效性。

1 相关研究工作

现有的研究点云的方法通常是通过学习点云中每个点的特征,来为整个点云聚合一个全局特征[4]。之后使用几个全连接层作为分类器,从而完成对点云的分类。基于对每个点的特征学习方式,现有的3维点云分类方法可以分为基于投影网络的间接法和基于点网络的直接法[5]。

1.1 间接法与直接法

为了将成熟的图片处理领域的卷积神经网络技术应用于点云领域,前期的科研工作者通常采用的方法是将3维点云做投影变换,用于点云特征学习和各种点云理解任务。MVCNN[6](multi-view CNN)是基于多视图法处理点云领域的开拓性的工作,通过卷积神经网络获取点云某一角度的多视图特征,并通过对多视图特性进行最大池化获取全局描述。但是最大池化只保留特定视图中的最大元素,从而导致信息损失。Ma等[7]提出了一种新的基于多视图的3维形状识别和检索网络架构。该网络将卷积神经网络与长短期记忆人工神经网络(long short-term memory,LSTM)相结合,可以从多个卷积神经网络中提取相关信息。VoxNet[8]可以通过3维网栅将点云划分为体素表示,并用3维卷积神经网络进行点云特征的学习。然而,受限于点云数据的稀疏性和计算成本,体素的分辨率增加受到了极大的限制。

Qi等提出的PointNet网络是直接使用原始点云作为网络输入的先驱者,其直接使用点的3维坐标作为输入,借助多层感知器获取点的特征,应用最大池化处理点云的无序性问题,最后通过全连接层输出点云的分类结果,然而却没有涉及到局部特征的学习。其最终网络分别在欧式空间和特征空间使用两个变换网络(transformer network,T-Net)来分别实现点特征在欧式空间和特征空间的对齐,从而处理点云图像的旋转不变性问题。Qi等之后提出的PointNet++网络[9]通过不断使用基于最远点采样(farthest point sampling,FPS)的下采样方法并逐层次地使用PointNet网络,从而获取了一定的点云局部特征。Yang等提出的Point Attention Transformers网络[10],通过选择更具有代表性的子集,使网络能够对输入点云有更强的表示并降低计算成本。Duan等提出了一种结构关系网络SRN-PointNet++[11],使用多层感知器不但能够学习点云的局部结构特征,而且可以学习不同局部结构特征之间的关系。

1.2 基于卷积的方法与基于图的方法

Li等提出了PointCNN网络[12],通过使用所提出的X-Transform,能够给学习到的特征赋予权重并将特征按某种潜在的顺序排列。Thomas等提出了KPConv网络[13],通过线性插值来得到核转换矩阵,将卷积推广到3维点云中。

DGCNN首先提出了边缘卷积(edge convolution,EdgeConv)的概念,相比于传统的直接对稀疏点云使用多层感知器的网络,DGCNN通过k近邻算法在特征空间中构建了一个邻域图,多层感知器被用作每一条边的特征学习,对与每个点的邻域相关联的局部特征进行聚合,并在网络的每一层中动态更新k近邻算法所形成的图。马京晖等[14]通过k-means算法来实现局部邻域构建,进一步验证了局部信息的有效性。Li等[15]提出了DeepGCNs,通过将二维卷积中的残差连接思想(ResNet)[16]和全密集连接思想(DenseNet)[17]应用到图卷积中,同时把空洞卷积(dilated convolution)[18]概念延伸至邻域的选择中,将网络深度扩展到了56层,从而提升网络性能。

2 网络结构图设计

受到DGCNN的启发,提出了基于动态图卷积的加权点云分类网络WDGCNN。相比于DGCNN,WDGCNN借助DenseNet思想拼接多层次特征以提高网络的拟合能力,在此基础上通过为局部特征的输入设计一个恰当的加权函数帮助网络学习到更加适合的局部特征,结合最大池化和平均池化弥补传统池化方法导致的信息损失,从而增强了网络的学习能力,在通用点云分类数据集ModelNet40上取得了领先或相当的结果。通过实验,WDGCNN去除对齐网络T-Net并不会对分类准确度造成影响,在一定程度上减少了生成对齐矩阵所需的计算花费。

2.1 网络学习流程

WDGCNN的网络结构如图1所示。输入一个具有n个点的3维点云,首先对点云进行边缘卷积以获取64维点云特征,之后对64维点云特征重复进行3次边缘卷积操作,分别获得64维、64维、128维的点云特征,每个点都通过边缘卷积构建了边缘特征,需要注意的是,每一层边缘卷积的输入都是之前所有输出特征的拼接。边缘卷积如图2所示。之后通过多层感知器将层次特征拼接后的323维点云训练为1 024维,并通过最大池化与平均池化相结合的池化方法处理点云无序性问题,输出1×1 024维全局特征。最后使用3个全连接层作为分类器,其输出分别为512、256、c,其中c表示数据集所具有的类别数目。在所有全连接层中均使用ReLU激活函数和批归一化。

图1 网络结构图Fig.1 Structure of network

图2 边缘卷积结构图Fig.2 Structure of edge convolution

2.2 基于特征拼接的边缘卷积

对于一个具有n个点的点云数据,假设其维度为F,可定义为:X={x1,x2,…,xn}⊆RF。当不包含法线和颜色等其他信息,只有坐标信息时,F=3,即xi={xi,yi,zi}。在WDGCNN,由于通过网络学习到的每一层的特征输出都会作为下一层的输入,所以维度F可以更泛化地表示为某一层的特征维度。

对于一个用来表示点云局部结构的给定有向图G=(V ,E),其顶点为V={1,2,…,n},边为E⊆V×V。通常选择k近邻算法来为点xi构建一个邻域图,其邻域点可以表示为xj,不同的邻域点可以构成不同的有向边缘(i,ji1),(i,ji2),…,(i,jik)。

边缘特征可定义为:

其中hΘ:RF×RF→RF′是通过可学习参数Θ构成的非线性函数。

第i个顶点的完整边缘特征经过一个池化聚合操作□可表示为:

(1)在PointNet中,hΘ(xi,xj)=hΘ(xi),这种方法只考虑了点云的全局特征而忽略了局部特征。

(2)在DGCNN中,hΘ(xi,xj)=hΘ(xi,xj-xi),此结构同时考虑了点云的全局特征和局部特征,因而对点云分类任务有了较大的性能提升。

在之前的研究工作中,通常选用多层感知器来进行参数Θ的学习,使用最大池化来进行边缘特征的聚合操作□,则边缘特征可具体表示为:

其中Θ=(θ1,θ2,…,θM,φ1,φ2,…,φM),m表示特征通道的数量。

在图3中,给出了边缘卷积的可视化操作。对于局部区域的中心点xi,其周围共有8个邻域点,通过k近邻算法选择距离中心点最近的4个点作为其邻域,则通过eij=hΘ(xi,xj)即可构建其边缘特征ei2,ei4,ei5,ei7。

图3 边缘卷积可视化图Fig.3 Visualization of edge convolution

需要注意的是,WDGCNN使用了特征拼接思想来优化网络结构,其每一层边缘卷积的输入都是之前所有输出特征的拼接,拼接结果为:

则式(1)在第l+1层可具体表示为:

其中[x0,x1,…,xl]表示l+1层网络之前所有的输出特征。

2.3 设计强化邻域特征的加权函数

通过对输入点云进行设计从而使网络学习更好特征的有效性已经被先前的研究者证实。RS-CNN[19]通过设计新的边缘特征hΘ(xi,xj)=hΘ(xi,xj,xj-xi,3D-Ed),增加了邻域点和欧式距离信息,从而提高了网络性能。Moment[20]通过增加点的二阶多项式组合作为特征,构建了点云的面信息,使网络能够更轻易学习到重要特征。

然而以上做法大多都是通过处理3维点云坐标为网络设计新的输入特征,没有尝试通过加权来改变特征分布从而提高网络学习能力。同时PointAtrousGraph[21]指出了邻域重叠现象,这也提供了设计邻域特征要思考的问题。本文基于DGCNN的边缘卷积,通过恰当地设计一个加权函数,从而弱化远点的干扰,相对加强近点的特征,以此来帮助网络更好的学习点云特征。

加权函数的设计为:

则式(1)可表示为:

式(2)可表示为:

其中,Θ=(θ1,θ2,…,θM,φ1,φ2,…,φM),m表示特征通道的数量。在进行实验时要进行的就是对边缘xj-xi进行修改测试。通过3.6节中的网络参数选择实验,当参数α=1.0时结果更优。

2.4 改进的对称函数

自从PointNet提出使用对称函数来处理点云的无序性问题后,大多数的后继研究者都是使用最大池化这一对称函数,然而最大池化的思想是“赢者通吃”,导致了信息的损失。Woo等[22]证明了不同的池化方法可以从不同的角度收集对象的特征,以此来提高网络的表达能力。WDGCNN采用最大池化和平均池化相结合的新池化方法,即□表示为Max+Mean,从而有效地弥补了损失信息,提高了分类准确率。此时式(8)可表示为:

需要注意的是,WDGCNN仅是采用不同的池化方法对同一边缘特征进行融合,并没有增加新的网络变量。

通过实验,验证了新池化方法在边缘特征聚合时的有效性以及在全局特征聚合以处理点云无序性时的有效性。WDGCNN将新池化方法分别应用在全局特征和局部特征的聚合上。

3 实验与结果分析

3.1 数据集

本文选择通用点云分类数据集ModelNet40[23]进行网络性能测试。此数据集共有12 311个点云模型,包含40个物品类别。其中训练集9 842个,测试集2 468个。需要注意的是,此数据集中每个类别具有的点云模型数量并不均匀,飞机和椅子类别分别具有726和989个点云模型,而杯子和凳子类类别分别仅有99和90个点云模型,这在一定程度上给点云分类任务造成了影响。

3.2 实验配置与实现细节

实验的硬件环境为Intel Corei7-6700 CPU、32 GB内存,GeForce GTX 1080ti显卡、11 GB显存。软件环境为Ubuntu 16.04 x64操作系统、Anaconda 1.7.2、Cuda 10.1、Cudnn 7.6.5、TensorFlow 1.14、Python 3.6.1。

实验设置迭代次数200次,初始学习率参数为0.001,batch_size设置为16,使用Adam优化器,邻域k值设置为16。其他数据处理遵循DGCNN的设置。本文使用了冻结特征生成器,重训分类器的训练策略,重训次数为3。如无特殊说明,实验结果均选择3次重训分类器的最优结果。

3.3 ModelNet40点云分类任务结果分析

在表1中给出改进的加权点云分类网络和其他处理点云的经典分类网络在ModelNet40上的分类准确率比较。从表1中可以看到,本文设计的WDGCNN网络在ModelNet40上的分类准确率(overall accuracy,OA)为93.22%,平均类别准确率(mean accuracy,mAcc)为90.58%。在本文中,分类准确率具体指2 468个测试集中模型正确分类的概率,平均类别准确率具体指40个物体类别中每一类物体分类准确率的平均值。

表1 ModelNet40点云分类任务结果Table 1 Results of ModelNet40 point cloud classification task

WDGCNN与体素法VoxNet相比分类准确度提升了10.22个百分点;与多视图法MVCNN相比分类准确度提升了3.12个百分点。这充分说明了使用基于点云的直接法相较于传统的间接法可以更加有效地学习点云特征,以提高点云模型的分类准确率。

和经典的PointNet网络相比,WDGCNN将图卷积应用于分类网络以完成边缘特征的构建,有效地将分类准确率升了4.02个百分点;与通过递归地增加尺度以获得局部特征的PointNet++相比,分类准确率提升了1.32个百分点,且不需要增加输入点云数量和增加点法线特征;与建立多尺度局部区域划分算法的MSP-Net[24]相比,分类准确率提升了1.49个百分点。由于以上网络均没有使用图卷积获取边缘特征,WDGCNN通过使用图卷积获取每个点的边缘特征,在点云分类任务上取得了较大优势。

WDGCNN与动态图卷积网络DGCNN相比,分类准确率提升了1.61个百分点,显示了网络设计的有效性,设计有效性的具体探究将在下文进一步展示。与使用了更多局部特征描述的RS-CNN相比,本文仅是对边缘特征进行了更加深入的研究,并没有增加输入特征维度,分类正确率仅比其低了0.38个百分点。

在表2中给出WDGCNN与基准网络DGCNN运行时间和参数量的对比。本文提出的网络与未使用T-Net的DGCNN网络相比,虽然使用了多次特征拼接,但并未增加新的网络层数,即并未增加网络参数量;与使用了T-Net的DGCNN网络相比,网络训练总时间从10.8 h降低至7.7 h,减少了一定的训练成本。

表2 网络时效性分析Table 2 Timeliness analysis of network

由此可见,WDGCNN与其他经典或最新网络相比,取得了领先或相当的分类结果。

3.4 网络结构设计的有效性分析

本实验旨在对WDGCNN的有效性进行研究,实验结果如表3所示。WDGCNN基于DGCNN,应用常用的冻结特征提取器,重训网络分类器的方法,通过重训3次网络分类器并选择最优分类结果,将分类准确率由91.61%提升到了92.32%;引入多层次特征拼接方法,将分类准确率由91.61%提升到了92.53%;通过使用最大池化与平均池化结合的新池化方法将分类准确率由92.53%提升到了92.70%;同时提供了转换网络T-Net在WDGCNN的有效性探究实验,在DGCNN网络中的转换网络T-Net在WDGCNN中并没有发挥其用处,分类准确率反而由92.70%下降到了92.29%,因而本网络结构设计并没有应用变换网络T-Net。最后,对局部特征应用本文设计的加权函数,分类准确率最终由92.70%提升到了93.22%。

表3 结构设计有效性分析Table 3 Effectiveness analysis of structure design

3.5 池化方法选择

本实验旨在研究不同的池化方法对分类准确率的影响,通过分别对三种常见的具有对称性的池化方法进行单独实验与组合实验,研究如何弥补最大池化“赢者通吃”的缺点,实验结果如表4所示。首先对三种常见的池化函数进行实验,分别为平均池化MEAN、最大池化MAX以及求和池化SUM,分类准确率分别为92.61%、92.69%、89.81%,实验结果如PointNet所提及的,选择最大池化MAX作为对称函数的效果最好。之后对三种池化方法进行了相加组合实验,实验结果表示求和池化SUM是效果最差的池化方法,另外尽管最大池化在三种池化方法中表现优秀,但是由于其会造成一定的信息损失,其实验结果仍然低于本文提出的最大池化与平均池化结合新池化方法的分类准确率,从而验证了提出的新池化方法能够有效地弥补最大池化造成的信息损失。

表4 池化方法选择Table 4 Selection of pooling method

本实验同样进行了新池化方法在局部特征聚合与全局特征聚合时的有效性分析,实验结果如表5所示。对新池化方法进行三组实验:仅应用于局部特征聚合、仅应用于全局特征聚合、局部特征聚合与全局特征聚合均应用。全局特征反映了物体的整体属性,局部特征则侧重反映了物体的某些局部细节信息。先考虑物体的整体属性再考虑物体的局部细节是通常进行物体类别细致划分的合理顺序,二者缺一不可。当仅使用传统的最大池化方法时,分类准确率为92.49%。当仅对局部特征使用新池化方法时,网络的侧重点向局部细节信息偏移,这会对物体分类任务造成一定影响,因而导致准确率下降了0.20个百分点。当仅对全局特征使用新池化方法时,网络的侧重点仍在物体的整体属性,准确率提高了0.20个百分点。当边缘特征聚合与全局特征聚合均应用新池化方法时,分类准确率提高了0.73个百分点,从而证明了新池化方法在兼顾点云局部特征与全局特征时的优势。

表5 特征聚合方法选择Table 5 Selection of feature fusion method

本文同样提供了最大池化与平均池化相结合的新池化方法的普适性研究,实验结果如表6所示。在进行PointNet++模型验证时,本文采用与PointNet相同的输入,即1 024个点,并未使用更多的点和法线信息。可以观察到,使用了最大池化与平均池化相结合的新池化方法后,PointNet模型和PointNet++模型的分类准确率均获得了一定的提升,证明了本文提出的新池化方法具有一定的普适性。

表6 新池化方法普适性分析Table 6 Universality analysis of new pooling method

3.6 网络参数分析

本实验旨在研究所提出的网络结构中加权函数参数对实验结果的影响。选择不同加权函数参数α的实验结果如表7所示。实验结果表明,当α的值为1.0时,分类准确率最高。更大或更小的α值都会使分类准确率降低,其原因是当α值增加或减少时,函数图像会分别向中间靠拢变得“紧凑”或向两轴分散变得“松散”,如图4所示。这就意味着对(与中心点更近的)邻域点的特征的“相对增强”会分别增加或减小,从而改变了邻域点特征的重要性,使邻域更加具体区分度,最终影响了网络分类准确率。

图4 不同的参数α对函数图像的影响Fig.4 Influence of different parameter α on function image

表7 加权函数参数α的选择Table 7 Selection of parameter α in weighting function

3.7 特征可视化

本文同样提供了点云特征提取的可视化结果,通过T-分布随机邻域嵌入(T-distributed stochastic neighborembedding,T-SNE)[25]来展示设计网络的特征抽取器的性能,T-SNE降低了高维特征的维数,可视化了特征的可分性,属于同一类别的点具有相同颜色。原始点云的T-SNE可视化如图5(a)所示,本文设计的WDGCNN网络提取特征的T-SNE可视化如图5(b)所示。可以观察到,WDGCNN所提取的特征比原始点云更具鉴别力。

图5 T-SNE可视化图Fig.5 T-SNE visualization

4 结束语

针对现有的动态图卷积点云分类网络存在网络结构存在层次特征缺失,边缘特征描述简单,池化方法选择困难等问题,本文提出了基于动态图卷积的加权点云分类网络WDGCNN。通过使用多层次特征拼接思想来融合点云高低级层次特征,通过对点云边缘特征设计恰当的加权函数帮助网络学习更优的邻域特征,通过最大池化与平均池化相结合的方法缓解单独使用最大池化造成的信息缺失,同时通过实验分析网络参数的设计,使网络性能进一步提升。WDGCNN在通用点云分类数据集ModelNet40上的分类准确率与其他经典或最新网络相比,取得了领先或相当的分类结果。当然,WDGCNN仍有进步的空间,如更加有效地构建局部特征、更加合理地设计加权函数,这是进一步的研究方向。

猜你喜欢

邻域卷积准确率
基于全卷积神经网络的猪背膘厚快速准确测定
基于FPGA的卷积神经网络加速优化方法
基于混合变邻域的自动化滴灌轮灌分组算法
基于图像处理与卷积神经网络的零件识别
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于深度卷积网络与空洞卷积融合的人群计数
基于近邻稳定性的离群点检测算法