基于动态图卷积的混合注意力点云特征学习网络

2023-10-21 02:36谢晓尧
计算机技术与发展 2023年10期
关键词:注意力卷积局部

陈 奔,谢晓尧,刘 嵩

(贵州师范大学 贵州省信息与计算科学重点实验室,贵州 贵阳 550001)

0 引 言

点云模型通常由通过专业设备对物体表面采样得到的离散点集构成,一般由各离散点的三维坐标表示,部分点云数据还包含法向量、颜色特征等信息。因为包含信息丰富,基于点云数据的点云模型在自动驾驶、医学成像、遥感测绘、虚拟现实等领域[1-2]均有广泛应用。传统方法手工设计几何形状[3]或签名描述符[4]的方法对研究人员的专业知识和针对性设计能力要求颇高,逐渐难以适应当下快速发展的需要,因此深度学习被引入点云处理领域以解决这些问题[5]。

面对三维点云的空间分布特点,深度学习主要有两个大的研究方向:

(1)先对点云数据进行预处理,得到规则结构化的数据,再使用图像处理中成熟的卷积神经网络模型进行操作[6-8]。

例如多视图投影[9]和体素网络[10]两个最具代表性的技术路线。这些方法通过将不规则、非结构化的点云数据转化为规则、结构化的图像或体素网络,随后使用二维或三维CNN提取点云的局部和全局特征。这些方法虽然解决了点云的无序分布问题,但也带来了很多计算上的挑战和额外的内存消耗问题。

(2)不对原始数据进行过多干预,直接送入深度学习网络中处理。通过针对原始点云数据设计特殊的卷积神经网络来学习点云的特征表示[11]。这种方法由于内存消耗较低、结构简单越来越受到研究人员的关注。

其中PointNet[12]在点云分类和分割任务上取得了很好的效果,其通过多层感知机MLP逐点提取高维特征再通过池化操作得到全局特征。整个过程与点云数据的输入顺序无关,可以很好地适应点云数据的置换不变特性,但由于PointNet网络没有划分点云区域以及针对性提取区域特征,这对其处理局部细节的性能影响较大。

PointNet++[13]在PointNet的基础上采用多层次结构提取特征,应用KNN分组和层次化结构将点云划分为多个局部区域,允许重复捕获局部信息并多次叠加得到最终效果,一定程度上弥补了PointNet在局部细节方面的不足。然而这种方法至少简单地划分局部区域,并没有能够进一步发掘局部点之间存在的内在关系。同时提取局部特征的过程是相互独立的,点云子区域之间没有信息交换导致部分点云结构信息的丢失。也由于它只是将局部特征简单地聚合,所以区域信息还没有被充分利用。

DGCNN[14]为代表的图卷积技术路线[15]则提出了一种边缘卷积的方法,在特征空间的近邻点中通过KNN采样构建局部图结构,得到邻边特征。通过共享权重的MLP对图结构的邻边特征进行卷积操作从邻边集合中提取特征信息,随后使用最大池化的方式进行聚合进一步得到局部特征,随后在网络结构的每一层中动态更新局部图结构。这种方法强化了局部结构中点与点之间的联系,然而DGCNN只针对特征空间中的领域,因此具有一定的局限性。同时由于点云的稀疏性和非均匀分布特点,邻域内每个节点和中心节点的关联度都是不同的,而DGCNN却平等地处理每一条邻边。这种提取方法有一定局限性,导致尽管DGCNN能够很好地采集低级语义信息,却无法很好地描述高级语义信息和隐式高级语义特征。

综上所述,目前点云深度学习领域需求旺盛,然而现有主流点云深度学习网络[16-17]在设计上存在对坐标空间中各区域间信息传递的不够重视、区域内近邻点聚合方式单一的问题,导致模型对区域信息、高级语义信息未能充分利用,限制了深度学习网络提取更多特征信息进行点云分类分割任务的能力。

近年来,在NLP等领域大火的注意力机制[18]为点云深度学习网络的设计带来了新的思路。注意力机制的核心设计理念是在众多输入信息中提高对当前任务更为重要的信息的关注度,相对降低对其他信息的关注度,甚至直接过滤无关信息,以此解决庞大信息量带来的信息过载问题,同时提高任务处理的效率和准确性。

综上所述,为了更好地应对现有主流点云深度学习网络在设计上存在的问题,该文提出了一种新的三维点云分析网络EDANet,尝试通过在特征空间和坐标空间中分别引入特征通道注意力和局部区域注意力机制,在坐标空间中以更广泛的视角提炼点云特征信息,同时有区别地对待同一区域内不同近邻点所提供的点云信息。以此增强点云特征的表达能力,实现点云模型的高精度形状分类和部件分割。同时由于没有点云下采样过程,让分割任务避免在上采样过程中的信息损失,进一步提高了点云分割精度。

1 方法介绍

1.1 EDANet架构

如图1所示,EDANet由多层EdgeDualAttention模块组成。输入原始点云集合Pin={P1,P2,…,Pn},Pin∈Rn×c,其中n是原始点云的点数量,c是每个点的初始维度,一般为三维坐标参数,个别情况下还包含颜色或法向量等额外维度的信息。EDANet首先使用一层特征嵌入通过MLP将输入原始点云数据的维度c向更高的维度d映射,方便后续处理的同时增强点云的信息表达能力。

图1 EDANet架构

其中,EdgeDualAttention从局部和全局两个方面综合计算了注意力权重,通过对这两个模块得到的权重信息进行加权求和来深入挖掘每个点的上下文表示。逐层聚合不断提炼积累特征信息,得到不同尺寸的点云特征矩阵,最终将不同尺寸的逐点特征拼接通过max-pooling与avg-pooling相结合的池化手段得到全局特征用于完成形状分类任务。

分割模型与分类模型基本一致,但由于部件分割需要获取逐点特征,因此分割网络需要在分类模型得到的全局特征基础上repeat并与之前各层得到的不同尺寸的逐点特征拼接,以此补全得到同时具备全局特征信息与局部特征信息的逐点特征,用于完成部件分割任务。

1.2 EdgeDualAttention模块

如图2所示,EdgeDualAttention由三个主要部分构成:Edge Create模块负责构建一个边缘特征集合,Dual Attention模块负责从全局和局部两个方面综合考虑点对之间的相关性,以获得更丰富的上下文信息,Feature Aggregation模块负责聚合采集得到的特征信息并送入下一层网络。

图2 EdgeDualAttention模块

Edge Create:输入点云数据Pin∈Rn×d,通过KNN采集每个点的k个近邻点组成近邻点集分类模型接收n个点作为输入,为每个点采集其在特征空间中的k个近邻点组成边缘特征集L={L1,L2,…,Ln},L∈Rn×k×d,其中{Li∈Rk×d|i=1,2,…,n}表示每个局部邻域,通过Li与K可以唯一确定一个区域的某一个点。

Dual Attention:如图3所示,为了更好地表述高维语义信息同时增加特征之间的区分度,该文构建了特征通道注意力模块Channel Attention Module(CAM)和局部区域注意力模块Local Region Attention Module(LRAM)(将在后续详细描写)。这两个模块基于多头自注意力构成,主要功能分别是对任意通道之间的相互依赖进行建模以及计算任意区域之间的相互依赖权重。

图3 Dual Attention子模块组成

自注意力机制作为注意力机制的改进[19],其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。常规卷积层通过卷积核和原始特征的线性组合得到输出特征,由于卷积核通常是局部的,导致许多任务因语义信息不足影响了最终性能。而自注意力机制通过捕捉全局的信息来获得更大的感受野和上下文信息,对不同的特征和点进行了针对性的处理,为处理不同类型的信息提供了额外的灵活性,扩展了CNN的表达能力。同时为了克服局部感受野的极端数值感染,为了更全面地获取不同层次的特征信息,Dual Attention引入了多头注意力的架构。

多头注意力定义如下:

Multihead(E)=(head1⊕…⊕headn)Wo

其中,⊕表示矩阵拼接操作,Wo表示一个可学习参数,以更好地聚合多头注意力所采集的信息。headi代表多头注意力架构中的第i个CAM头或者LRAM头。通过引入多头注意力的架构使得输入每个CAM或LRAM模块的向量集合E的特征维度d下降为d/h。这在一定程度上可以降低模块的计算复杂度,增加并行运算效率。

通道注意力模块CAM:如图4所示,首先通过卷积运算处理输入的向量集合E,通过不同的可学习参数Wq,Wk,Wv将其特征维度从d投影到d',分别得到矩阵Q∈Rn×k×d',K∈Rn×k×d',V∈Rn×k×d'。然后将Q矩阵转置,再通过QT与K矩阵相乘以及归一化得到特征维度层面的相似度矩阵A∈Rn×d'×d',将A与V矩阵相乘得到最终的经过权重缩放的目标矩阵Z∈Rn×k×d'。通过使用所有特征维度映射的加权和更新每个特征维度的映射来捕获任意两个特征维度映射之间的依赖关系,以此达成对区域内信息的更高效聚合。

图4 通道注意力

当前大多数点云分析网络在对邻域信息采样聚合时选择了所有节点共享相同的卷积核参数,然而近邻点对于中心点的影响是各不相同的,这必然会限制模型的能力。通过引入特征注意力机制重新构建相邻节点的关系,对邻域节点信息做到有区别的聚合,实际上可以视作为邻域的每个节点隐式分配不同的卷积核参数。

局部区域注意力模块LRAM:如图5所示,首先通过与CAM相同的操作得到矩阵QKV,重构QKV,得到Q'∈RN*lr,其中lr=k*d',K'、V'同理。然后将Q'矩阵转置与K'矩阵相乘归一化得到局部区域层面的相似度矩阵A'∈RN*N,将A'与V'矩阵相乘得到最终的经过权重缩放的目标矩阵Z'∈RN*lr,经过重构得到Z''∈Rn×k×d'。通过使用所有区域映射的加权和更新每个区域的映射对各区域之间的依赖关系加以捕获,以此加强区域信息之间的流动。

图5 局部区域注意力

当前大多数点云分析网络只是孤立地学习每个点的特征信息,未能充分探索上下文表示,变相地放弃了开发每个点之间的相关信息,这直接导致具有较强上下文表示的点及区域权重过大主导整个场景。通过引入局部区域注意力机制重新评估相关区域的关系,改进非优势目标的上下文表示,有意识地增加非优势目标的权重。

Dual Attention可以总结为:

Fout=CAM(Fin)⊕LRAM(Fin)

通过构建CAM和LRAM模块计算每个特征图通道在全局点和局部区域之间的相互依赖权重来更新特征信息,确保所需提取的特征具有更高的特征区分度。因为特征通道与局部区域的权重需要随客观变化而变化,所以最后通过两个可学习参数WCAM与WLRAM,对CAM得到的特征矩阵Z以及LRAM得到的特征矩阵Z''分别将其特征维度从d'映射回d,得到FCAM∈Rn×k×d,FLRAM∈Rn×k×d,再将FCAM与FLRAM拼接得到输出特征矩阵Fout∈Rn×k×2d,以此增强局部邻域特征矩阵的灵活性。

Feature Aggregation:特征聚合公式可以表示为:

Gnext=max-avg-pool(MLP(concat(pi;α(pj)-pi)))

其中,α函数表示Dual attention模块,输入代表局部邻域信息的边向量集合,输出经过通道及局部区域注意力权重加成的邻域信息集合,将其与中心点pi相减得到区域内的邻域特征。最后将中心点pi与其拼接送入MLP处理,经过maxpool和avgpooling相结合的池化操作处理聚合得到一个融合了全局形状信息以及局部邻域信息的新的全局特征值Gnext送入下一层网络。

2 实 验

2.1 实验设置

实验环境为ubuntu18.04、PyTorch 1.7.0、Python3.8、Cuda11.0,使用两个NVIDIA RTX 3080 Ti GPU训练所有模型。所有任务的batchsize大小设置为24,迭代200次,初始学习率lr=0.002,权重衰减10-4,采用AdamW[20]优化器和CrossEntropyLoss训练。并在每个FC层后都加入比例为0.5的dropout,以抑制过拟合。

2.2 形状分类任务Classification

实验采用ModelNet40[21]数据集评估相关模型的形状分类任务性能,在训练分类任务时每次采样1 024个点送入模型。ModelNet40由包含40个类别的12 331个CAD模型组成。数据集分成了9 843个训练模型和2 468个测试模型。

形状分类任务采用的评价指标为:mAcc (mean Accuracy)和OAcc (Overall Accuracy)。mAcc是所有类别的平均准确率,所有Class Accuracy 取平均值。而OAcc表示不分类别的全体数据的准确性。

对比算法包括经典逐点特征信息聚合方法PointNet、PointNet++;基于树状结构重新设计了点云信息分析架构的Kd-Net[22];经典的体素化点云信息的网络架构Subvolume[23];通过多视角转化为二维图像再使用CNN进行分析的MVCNN;通过SOM直接将高维数据降维而后处理的SO-Net[24];SpiderCNN[25]则在CNN与点云的结合方面做出了卓越贡献、动态图卷积代表DGCNN。

EDANet与基于深度学习各技术路线上的诸多经典网络模型使用数据集ModelNet40进行了性能对比,如表1所示。EDANet在与这些经典网络模型对比中,无论是mAcc还是OAcc均具有较高性能提升,由此可见引入通道特征注意力以及局部区域注意力的双重注意力机制显著地提高了分类效果,相关分析将在后续消融实验中详细介绍。

表1 MobenNet40上各模型性能对比 %

2.3 部件分割任务Part Segmentation

点云分割是一项具有挑战性的任务,旨在将3D模型划分为多个有意义的部分。为了进行细粒度的3D分割,实验最终选取数据集ShapeNet[26]进行实验评估,该数据集是一个用于零件分割的对象级数据集,注释丰富,规模较大,由16种不同大类组成,每个大类包含2~6个零件,下属合计50个零件标签。作者将包含16 881个模型的数据集分成14 006个训练模型和2 875个测试模型。在训练分割任务时每次采样2 048个点送入模型。

部件分割任务采用的评价指标为:IoU(Intersection over Union),表示某一类的预测结果和真实值的交集与其并集的比值。cIoU(category IoU),表示平均所有类的预测结果交并集。mIoU(mean IoU),表示取出所有类别中每一项的预测结果交并集取平均值。ShapeNet上各模型性能对比如表2所示。

表2 ShapeNet上各模型性能对比 %

可见与近期相关研究相比,EDANet方法也达到较高水平。

2.4 消融实验

为了验证CAM以及LRAM组成Dual attention在EDANet网络中的有效性,尝试在ModelNet40数据集上进行了消融实验。除了包含完整CAM和LRAM的EDANet,还设计了三组额外模型进行对比,不包含Dual attention的模型EDANet-Dual,包含CAM但不包含LRAM的模型EDANet-LRAM,包含LRAM但不包含CAM的模型EDANet-CAM。比较结果如表3所示。

表3 不同模块在EDANet中的影响 %

可见当LRAM与CAM均加入EDANet时,分类准确率将达到最大值。

3 结束语

当前大多数点云分析网络只是从增强区域特征提取的角度来增强网络模型的表达能力,却忽略了子区域之间特征信息的交换。EDANet尝试通过局部区域注意力机制以自适应的学习特征权重并获取子区域之间局部特征的相关性。同时特征通道注意力模块专门对每个点的特征的相互依赖关系进行建模,而局部区域注意力模块则将每个局部邻域视为一个整体,并通过捕获每个局部领域之间的特征映射的相互依赖关系来更新权重。EDANet在多个数据集上的实验结果表明,其在点云分类分割任务上成功实现了高性能。同时通过消融实验证明了文中网络模型的有效性。

猜你喜欢
注意力卷积局部
让注意力“飞”回来
局部分解 巧妙求值
基于3D-Winograd的快速卷积算法设计及FPGA实现
非局部AB-NLS方程的双线性Bäcklund和Darboux变换与非线性波
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
局部遮光器
吴观真漆画作品选