基于特征通道和空间位置注意力的三维点云特征学习网络*
2022-08-11吴亦奇张德军何发智陈壹林
吴亦奇,韩 放,张德军,何发智,陈壹林
(1.中国地质大学(武汉)计算机学院,湖北 武汉 430078; 2.智能地学信息处理湖北省重点实验室(中国地质大学(武汉)),湖北 武汉 430078; 3.武汉大学计算机学院,湖北 武汉 430072;4.武汉工程大学计算机科学与工程学院,湖北 武汉 430205)
1 引言
点云数据易于获取,可以充分表示物体的表面、结构及形状等信息,基于点云数据构建的点云模型是目前被广泛应用的一种三维模型表示方法[1]。点云模型由物体表面采样得到的离散点集构成,通常由点云中各点的三维坐标表示,部分点云数据还包含法向量、颜色等其他信息。
与传统图像处理方法类似,传统的点云模型处理方法一般需要从点云中提取适应不同任务的点云特征[2]。获得有效的点云特征往往需要研究人员具备相当程度的领域知识并加以精心的设计。随着深度学习技术的兴起,除传统特征工程方法外,构建针对特定任务的深度神经网络也成为当前图形与图像处理领域的研究热点,并取得了出色的成果[3 - 6]。
与规则的图像数据不同,点云数据是一种无序的、不规则的三维数据。这种表现形式使得图像处理中经典的卷积神经网络无法直接用于处理点云数据。早期研究尝试将点云数据转换为可被卷积神经网络直接处理的形式,如多视图方法[7 - 11]、点云体素化[12 - 15]等方法,但此类方法难以避免地存在丢失空间信息、增加冗余计算量等问题。
Qi等[16]开创性地提出了端到端直接处理点云数据的深度网络模型PointNet,在点云分类和分割任务上取得了很好的效果。PointNet的基本思想是通过多层感知机逐点获取各点的高维特征,再通过池化操作得到点云模型的全局特征。由于该网络模型可得到具有对称性的函数,能够学习到具有置换不变性的点云特征,使得网络输出与点云中各点的输入顺序无关,很好地适应了点云数据的特点。在此基础上,PointNet++网络[17]采用多层次提取特征的方式,将三维形状局部信息包含在采样点特征中,增强了点云特征的表达能力。此外,更多的研究工作致力于使用多层感知机[18 - 21]、卷积网络[22 - 26]和图神经网络[27 - 29]等多种方法,通过深度神经网络直接利用三维点云中各点的空间信息获取点云模型的特征,进一步完善点云数据处理的方法。
使用深度学习方法处理点云数据的关键在于提取点云的特征。一种常用的点云特征提取方法是首先获得点云中各点的特征,在此基础上获得点云形状的全局性特征。一方面,在获取到逐点的高维特征后,可以推断特征中某些通道的信息对具体的点云处理任务起到更关键的作用;另一方面,尽管点云数据表现为无序的离散点集,但与规则的图像数据类似,关键区域的信息对于特定任务有更重要的影响。因此,需要增强网络模型对关键的特征通道及关键区域的关注程度,从而更好地获取点云形状的特征。
注意力机制[30]是一种通过分析输入数据各个部分间的关联,确定高关注度部分,提升关键部分表示的方法。其基本实现方式是通过网络学习得到各部分的注意力权重,通过注意力权重的控制,增强重要信息,抑制非重要信息。目前注意力机制已在文本、语音和视觉等诸多研究领域中得到了有效的应用[31 - 35]。
综上,本文提出一种三维点云数据处理网络,考虑点云特征各通道间及点云中各点间的关联,在多层特征提取的基础上引入2种注意力机制,增强点云特征的表达能力。所提网络首先将点云的位置信息映射至高维特征空间,进而通过特征通道注意力机制和空间位置注意力机制,从点云特征通道和点云空间位置2个维度获取注意力权重,最终获得基于2种注意力的点云特征,并使用该特征实现点云模型的高精度分类与部件分割。
2 本文方法概述
(1)
(2)
随后对点云进行下采样,并对下采样后的点云继续进行上述点特征提取过程。该过程进行M次,实现了一种基于特征通道注意力和空间位置注意力的多层次点云特征提取。最后通过分类及分割网络,实现形状分类与部件分割任务。
Figure 1 Feature learning network of point cloud based on channel attention and spatial attention图1 基于特征通道和空间位置注意力的 点云模型特征学习网络
3 多层次逐点特征提取
点云中各点的三维坐标信息不足以为后续任务提供丰富的信息。在基于深度学习的点云处理方法中,通常需要将点云中各点的三维坐标信息映射至更高维度的特征空间,获取点云中各点的高维特征。
此外,由于点云数据中往往包含大量的点,对每一个点展开计算不仅消耗大量的计算资源,而且往往会产生冗余信息,并非高效的做法。因此,出于均衡效率和性能的考虑,研究人员在处理点云数据时,通常会对原始的点云数据进行下采样后,再在较小规模的子云上进行处理。
本文采用最远点采样方法对点云进行下采样。使用最远点采样方法可以获取在点云形状上分布更为均匀的点,采样得到的点集能更好地表示出三维形状的轮廓。在得到下采样的点云后,将其输入网络,学习逐点的高维特征。本文采用基于多层感知机的方法,使用PointNet++中多尺度特征提取方法得到逐点特征,其基本思路如图2所示,对于输入点云中的某一点pi,选择其在下采样前周围不同规模相邻点集,构造若干个不同的分组。将每个分组输入共享权重的多层感知机及池化层,得到每个分组的特征。将这些特征拼接起来,即可得到pi的多尺度特征Fi。更多方法细节可参考文献[16,17]。
Figure 2 Point-wise feature extraction图2 逐点特征提取
本文采用3层逐点特征提取方法。首先将原始点云通过下采样获得包含1 024个点的点云作为初始输入,第1个特征提取层从输入的1 024个点中采样512个点并提取各点的多尺度特征;第2个特征提取层从512个点中采样128个点并提取各点的多尺度特征;第3个特征提取层利用128个点获取点云的全局特征。
对于多尺度的特征提取的具体实现细节,第1个和第2个特征提取层分别使用3个尺度的分组提取特征。第1个特征提取层采样最邻近的16,32,128个点作为该点的邻域,构成多尺度;第2个特征提取采样最邻近的32,64,128个点作为邻域,构成多尺度;第3层把128个点整体作为一个分组进行特征提取,没有继续使用多尺度。
4 特征通道注意力
在获取到各点的高维特征后,关注每个特征通道上的信息对整个点云信息的影响,通过获取特征各通道上信息之间的关联实现点云数据通道注意力机制,突出各点特征中更加关键的通道上的信息。首先获取一种反映点云全局的特征,在此基础上学习得到点云特征上各通道的注意力权重,从而得到经过特征通道注意力模块处理后的点云特征。
Figure 3 Channel attention mechanism图3 特征通道注意力机制
5 空间位置注意力
点云模型中特定区域的形状对判定点云所属类别具有显著作用,因此除了需要关注点云特征重要通道上的信息外,还应从空间位置的维度上关注模型中的重要区域。在经过特征通道注意力对点云中各点的特征进行处理后,本文进一步使用空间位置注意力机制获取各点之间的关联,确定感兴趣的区域,即关注更能为下游任务(如分类、分割等)提供有用信息的点。
6 点云分类与分割
7 实验与结果分析
本节对所提出的基于特征通道和空间位置注意力的点云特征学习网络在形状分类、模型部件分割等任务上的表现进行验证,并对注意力模块的性能进行评估与分析。实验硬件配置为:CPU:Intel i5,GPU:NVIDIA-Geforce 2080Ti,16 GB内存。开发环境为:Ubuntu 18.04,CUDA 10.1,cudnn7,PyTorch 1.8.0。
7.1 形状分类
ModelNet40[36]数据集包含约1.3万个CAD模型,分为40个不同物体类别,其中约1万个模型组成训练集,其余模型组成测试集,是当前用于三维形状分类的常用公共数据集。
在ModelNet40数据集上测试本文所提网络在形状分类任务上的效果,并与近年来主要相关研究工作进行对比。实验结果及对比如表1所示。
从表1可以看出,在分类任务常用的2种评价指标上(平均类精度和整体精度),本文网络分别达到90.29%的平均精度和93.2%的整体精度,达到或优于近年在点云形状分类上一些有代表性的网络模型的水平。本文网络的主干网络结构基于PointNet++网络,可以看出,在引入空间-通道注意力层对点云特征进行处理后,点云分类效果得到了较大提升,相关分析将在后面消融实验中进行详细介绍。
7.2 模型部件分割
ShapeNet[42]数据集是目前常用三维模型部件
Table 1 Classification experiment results and comparison表1 分类实验结果及对比
分割数据集。数据集内含有16个类别共约1.7万个模型,其中,1.4万个模型组成训练集,3千个模型组成测试集。每个模型由2到6种不同部件组成,共有50个不同的部件类别。
在ShapeNet数据集上测试本文网络在模型部件分割任务上的效果,采用平均交并比及在各类上的交并比作为评价指标。实验结果及与近年来其他研究工作的结果对比如表2所示。
由表2可以看出,与近期相关研究相比,本文方法达到了较高的水平。为了进一步展示本文网络在部件分割上的有效性,对分割的结果进行可视化展示,效果如图5所示,可以看出使用本文网络能够清晰、准确地分割出模型的各个部件。
Figure 5 Visualization of part segmentation on ShapeNet图5 ShapeNet模型部件分割效果
7.3 消融实验
本文在PointNet++的网络结构基础上,引入了通道-空间注意力模块,对点云特征进行处理。因此,本节设计消融实验,分别对通道注意力模块和空间注意力模块在形状分类与部件分割任务中产生的效果进行测试分析。分类和分割任务的消融实验结果分别如表3和表4所示。表中方法A为不含注意力模块的网络模型,即原始PointNet++模型;方法B仅采用特征通道注意力模块;方法C仅采用空间注意力模块;方法D代表同时采用2种注意力模块的方法,即本文网络。可以看出,针对分类任务,通道注意力模块与空间注意力模块均对原始网络的性能有明显提升。
Table 2 Part segmentation experiment results and comparison 表2 部件分割实验结果和对比
Table 3 Ablation experiment results of classification 表3 分类任务消融实验结果
Table 4 Ablation experiment results of part segmentation 表4 分割任务消融实验结果
而对于分割任务,本文网络相较于原始网络效果有一定提升,但每种注意力模块对效果的提升有限。这可能是因为在本文注意力机制下,关注的重点是各点或各通道对点云全局的影响,而最终用于分割的逐点特征又包含跳跃拼接的信息,从而使得注意力机制对逐点特征的影响较小。因此,本文网络对分类任务的效果更加明显。
7.4 鲁棒性实验
实际应用中采样得到的点云数据可能存在采样点缺失、稀疏或分布不均匀等问题,影响对三维形状的表达。为模拟现实场景,本节采用在原始点云数据上随机舍弃部分点云的方法来测试本文网络对分类任务的鲁棒性。实验中,原始点云中的点个数为1 024,分别对保留512个点、256个点和128个点时的情况进行分类测试,实验结果如图6所示。
Figure 6 Experiments of robustness图6 鲁棒性实验
由实验结果可以看出,当舍弃原始点云中75%的点时,使用本文网络的分类精度仍然能够保持在90%左右的较高水平。一方面,PointNet++中多尺度、多层次提取点云特征的架构本身具有很强的鲁棒性,本文网络保持了这一特性;另一方面,引入通道-空间注意力机制,增强了关键通道和关键点的表达能力,保证了本文网络的鲁棒性。
8 结束语
本文提出了一个针对形状分类与部件分割任务的点云数据特征学习网络,基于多层特征提取方法提取点云特征,在特征提取过程中,使用注意力机制提升点云特征的表达能力。本文采用的注意力机制可部署于各种基于逐点特征的三维点云处理网络中。本文选用了基于PointNet++网络的多层次特征提取结构,在提取点云特征的过程中引入特征通道注意力和空间位置注意力机制,关注重要的特征通道和点云区域,增强关键点和关键通道上信息的表达。通过在ModelNet40和ShapeNet数据集上的实验及结果对比,验证了本文网络的有效性,消融实验也验证了各注意力模块对提升点云特征的效果。在未来工作中,可将通道-空间注意力模块引入至其他点云特征提取方法中[44,45],以及将本文提取特征的方法应用到其他任务中[46 - 48]。