What Makes for Effective Few-shot Point Cloud Classification?

怎样才能实现有效的小样本点云分类?

摘要

由于强大的计算资源和大规模注释数据集的出现,深度学习在我们的日常生活中得到了广泛的应用。然而,目前的大多数方法在处理从未见过的新类时需要大量的数据收集和再训练。另一方面,我们人类可以通过观察少数样本快速识别新的类别,这也是最近机器学习社区中流行的小样本学习(FSL)的动机。目前大多数FSL方法都是在二维图像领域工作的,然而,它在三维感知中的意义相对来说还没有被充分发掘。不仅需要像二维领域那样识别未见过的例子,三维小样本学习还具有无序结构、高类内变异和微妙的类间差异,因此更具挑战性。此外,不同的结构和学习算法使得研究现有的2D方法在迁移到3D领域时的有效性变得困难。

在这项工作中,我们首次对最近的二维FSL和三维骨干网络进行了系统而广泛的研究,以确定小样本点云分类的基准,并为三维FSL提出了一个强大的基线和学习架构。然后,我们提出了一个新颖的即插即用的组件,称为跨实例适应(CIA)模块,以解决高的类内变异和微妙的类间差异问题,它可以很容易地插入到当前的基线中,并有显著的性能改进。在两个新引入的基准数据集ModelNet40-FS和ShapeNet70-FS上进行的广泛实验,证明了我们提出的网络在三维FSL上的优越性。

1. 引言

三维点云物体分类是各种计算机视觉的重要任务,被广泛应用于许多场景,如机器人[34]、室内同步定位和绘图(SLAM)[54]、自主车辆(AV)[38, 16]等。与传统的提取手工特征的点云识别算法不同[12, 53, 33, 44],基于深度学习的方法可以通过深度网络从形状投影[51, 24, 7]或原始点[23, 52, 18, 17]中学习更具代表性的特征,在各种点云处理任务中取得更好的性能。

然而,基于深度学习的方法在点云分类中存在两个关键问题。首先,深度网络通常是数据驱动的,强烈依赖大量的标记训练数据,而注释数据的过程很麻烦,成本很高其次,对于从未见过的新类别,网络的泛化能力往往很差。基于数据增强的方法[35, 6, 27]和正则化技术[11, 50]可以在不增加新标记数据的情况下缓解数据不足的问题。但是这些方法在没有足够的标记训练数据的情况下,在未见过的类或新的任务上可能不会得到有希望的结果。近年来,小样本学习(FSL)算法[45, 39]被引入,仅用一个或少数几个标注的例子就能快速将深度网络泛化到新任务中,在二维图像领域取得了巨大的成功。通过构建许多辅助训练元任务,这些二维FSL算法使用度量学习[39, 45]或基于优化的方法[13]来学习可转移的知识并将它们传播到新任务中。

与二维图像领域的FSL相比,其在三维数据上的研究还相对没有得到充分的探索,存在以下挑战。1)点云是一组在欧式空间定义的不规则、非结构化和无序的点[2],现有的点云架构和学习算法能在多大程度上执行3D FSL是未知的;2)大多数二维FSL算法可以使用在大规模基础类数据上预训练的更深层次的网络来学习更多的判别性表征[4, 5],例如,tieredImageNet[29]包含608个类,总共有80万个样本。相比之下,大多数三维模型数据集,例如ModelNet[48]和ShapeNet[3],其标注数据的数量要少得多(ModelNet[48]包括40个类,总样本数为12,311)。因此,在低量数据上训练的基于点的模型可能会产生质量较差的三维特征簇,具有较高的类内变化和细微的类间差异,如图1所示。因此,如何解决这些问题需要进一步探索。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云

图1. 小样本三维点云分类的挑战。(a)是在ImageNet[31]和ShapeNet[3]上分别使用预训练的二维图像和三维点云特征的T-SNE,其中邮箱类被强调。(b) 在视觉和点云嵌入空间中,每个例子与它的类原型之间的平均归一化欧氏距离。二维视觉域的嵌入质量要比三维点云域高得多,因为基于图像的预训练模型[5],如ResNet,使用在数百万张图像上训练的更深的网络,而基于点云的模型,如PointNet,使用在只有几百个点云上训练的更浅的网络,具有高的类内变化和细微的类间差异。

在本文中,我们首次系统地研究了三维小样本学习(3D FSL)。在3D FSL的背景下,我们对各种最先进的点云架构和小样本学习算法进行了广泛的研究和讨论,并提出了3D FSL的强大基线。此外,为了解决类内差异大和类间差异细微的问题,我们为三维FSL提出了一个即插即用的跨实例适应性(CIA)模块。CIA包含两个模块,分别是自通道交互(SCI)模块和跨实例融合(CIF)模块,可以灵活地插入到目前大多数FSL算法中,只需做很少的改动,就能实现明显的性能改进。此外,为了客观评价,我们分别引入了ModelNet[48]和ShapeNetCore[3]的新拆分,并构建了两个基准数据集,即ModelNet40-FS和ShapeNet70-FS,用于三维小样本点云分类。我们将发布代码和数据集,以促进该领域的未来研究。

我们的贡献可以概括为。

- 我们首次在网络结构方面对三维小样本学习(FSL)进行了系统研究,并提出了三维FSL的强大基线。

- 我们提出了一个新颖的即插即用的跨实例适应(CIA)模块,可以灵活地插入到目前大多数FSL算法/骨干中,并实现了对3D点云小样本物体分类的显著改善。

- 所提出的方法在两个新建立的3D FSL基准数据集ModelNet40-FS和ShapeNet70-FS的不同设置下实现了最先进的性能。

2. 问题定义和相关工作

让(x, y)表示一个点云实例x和它的标签y,其中

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_02

是一个包括n个点的无序点集,每个点由其三维坐标表示。在标准的N-way-K-shot FSL设置中[4],FSL的目标是用少数标记的支持实例来训练查询实例的预测器,其中标记的支持实例表示为支持集

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_03

,包含N个类,每个类有K个实例;查询实例表示为查询集

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_04

,包含同样的N个类,每个类有Q个实例。

对于少量拍摄的点云分类,元学习是最先进的范式,通过优化以下目标,有一组元训练事件:

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_05

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_06

其中T是从训练集中取样的,L表示交叉熵损失函数,定义如下。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_07

预测p(y = c|x)可以通过以下方式给出:

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_08

其中x是输入的点云实例,yˆ是预测的标签。F是以j为参数的嵌入网络,C是以θ为参数的分类器。

一旦元训练完成,预测器的泛化就在元测试事件V =上进行评估,这些事件从测试集中抽样。请注意,我们把V中的类表示为新的类,这些类与元训练事件T中的基类是不相干的。

因此,在点云FSL中存在两个关键的挑战:1)如何正确地表示点云数据,以进行少许的学习;2)如何将元训练情节中获得的知识有效地转移到元测试情节中,这些样本数量少,类内差异大,类间差异微妙。在下面的章节中,我们将介绍最近在三维点云分类和二维小样本学习方面的工作。

2.1. 相关工作

三维点云分类。与传统的手工提取特征的方法不同[44, 12],基于深度学习的方法可以通过深度网络学习更复杂和有代表性的特征。根据从结构化网格或原始点提取特征的方式,现有的方法一般可以分为基于投影和基于点的方法。基于投影的网络首先将不规则的点转换成结构化的表示,如多视角投影[42, 51]、体素[20, 30]或网格[41, 26],然后应用典型的二维或三维卷积神经网络(CNN)来提取视图或结构特征。然而,这些方法可能存在明确的信息损失或更高的内存消耗[10]。

相比之下,近年来直接在原始点上应用深度网络正成为一种趋势。PointNet[23]是第一个用于非结构化点云的深度网络,它通过多层感知器(MLP)学习点状特征,并通过最大集合层实现的对称函数聚合全局特征。之后,许多工作,如PointNet++[25]、PointCNN[15]、RSCNN[18]、DensePoint[17]和DGCNN[47],通过基于卷积的网络或基于图形的网络探索特定区域的局部关系,可以捕捉有意义的几何特征并达到最先进的性能。尽管如此,这些深度学习方法对大量注释数据的可用性很贪婪,对训练期间未见过的新类别可能有很差的概括性。

最近,有一些工作也考虑了用少量的训练数据进行三维点云学习。Sharma等人[37]主要研究了使用自我监督的特征表示学习,这与我们的少量数据学习是正交的。LSSB[40]试图为三维模型的多视图图像学习一个带有点云形状偏见的鉴别性嵌入空间。

与这些工作不同的是,我们首次通过回顾最近的3D点云学习网络,以系统的方式研究少样本点云分类,并为该问题提出了强有力的基线。我们还提出了一个有效的即插即用模块--交叉实例适应模块,以解决三维FSL的高类内差异和微妙的类间差异问题,它可以灵活地插入到目前大多数FSL算法中。

二维少样本学习。由于注释的训练数据较少,并且在新的任务上有很好的泛化能力,因此,少样本学习是深度学习的一个很有前途的方向。一般来说,现有的FSL算法是基于元学习框架的,可以大致分为基于度量的方法[45, 39, 43, 14, 22]和基于优化的方法[8, 13, 28, 21, 32]。

基于度量的方法主要是学习相似样本对更接近的嵌入空间,或者设计一个度量函数来比较样本的特征相似度。匹配网络[45]调整了一个双向LSTM模块以获得完整的上下文嵌入,并使用余弦距离对查询样本进行分类。另一方面,Prototypical Network[39]首先对每个类别的支持集特征进行平均,作为类别原型,然后采用欧氏距离的平方来衡量与查询样本的相似性,这比MatchingNet表现得更好。 Relation Net[43]进一步提出了一个可学习的度量模块来获得支持集和查询集之间的关系分数。

另一方面,基于优化的方法将元学习视为一个优化过程。MAML[8]学习了一个与模型无关的初始化参数,在新任务上只需很少的梯度步骤就能产生很大的改善。MetaOptNet[13]结合了一个可微分的二次编程求解器来学习一个与特征相关的线性SVM预测器,这可以为新的类别提供更好的泛化。

在这项工作中,我们对少样本的点云分类任务下的不同元学习算法进行了系统的研究,为该问题提出了强有力的基线和组件。

3. 实证研究

在下面的章节中,我们希望对最近最先进的少样本学习方法进行实证研究,在我们新提出的ModelNet40-FS和ShapeNet70-FS数据集上,使用不同的流行的基于点的网络骨架对点云数据进行学习。实验设置和实施细节可以在第5节找到。

3.1. 点云上最先进的二维FSL

我们首先分析了最近最先进的二维少样本学习方法的性能,当它们迁移到我们新提出的基准数据集上的少样本的点云分类任务时。鉴于其简单性和效率,我们采用PointNet[23]作为特征嵌入的骨干。具体来说,我们将最先进的方法分为以下几组。

- 基于度量的方法M:ProtoNet [39], Relation Net [43], FSLGNN [36],

- 基于优化的方法O:Meta-learner [28], MAML [8], MetaOptNet [13]

基于度量的方法和基于优化的方法比较结果见表1。可以看出,以PointNet[23]为骨干的ProtoNet[39]在两个数据集上都能达到65.31%和65.96%的最高性能,并且仍有较大的改进空间。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_09

表1. 以PointNet[23]为骨干的ModelNet40-FS和ShapeNet70-FS的少数照片点云分类结果及95%置信区间。黑体字表示最佳结果,下划线表示次佳结果。M是基于度量的方法,O是基于优化的方法。PN:参数编号。GFLOPs:浮点运算的数量。TPS:NVIDIA 2080Ti GPU上的每秒推理任务,每个任务有15个查询实例。

此外,我们可以得出结论,在点云场景下,基于度量的方法优于基于优化的方法。一个可能的解释是,基于优化的方法对神经网络结构更敏感,需要艰巨的超参数设置来实现良好的泛化,最近在二维图像领域的研究证明了这一点[1]。

值得注意的是,ProtoNet[39]和MetaOptNet[13]具有相同的参数数量,因为它们分别采用无参数的欧氏距离平方和SVM作为元分类器。然而,在MetaOptNet[13]中,解决SVM的二次编程在计算上非常昂贵。简而言之,ProtoNet[39]在分类精度和算法复杂度之间有一个更好的权衡,推理速度很高。

3.2. 骨干结构对FSL的影响

然后我们进一步研究骨干结构对ProtoNet[39]中点云FSL的影响。我们选择了目前最先进的三种基于点的三维网络,包括

- 基于点的。PointNet[23]和PointNet++[25]。

- 基于卷积的。PointCNN [15], RSCNN [18] 和 DensePoint [17].

- 基于图的。DGCNN[47]。

为了进行公平的比较,我们去掉最后的全连接层,用这些方法所建议的相同的训练策略从头开始训练网络。之后,我们将这些网络产生的嵌入特征送入ProtoNet[39],进行少量分类,比较结果见表2。我们可以得出结论,在这两个数据集上,基于图的网络DGCNN[47]取得了比其他网络更高的分类精度。原因可能是基于图的方法动态地更新特征空间中的点对点连接图,并通过EdgeConv层提取边缘特征,因此可以学到更多的判别特征。

因此,我们将使用ProtoNet[39]与DGCNN[47]作为3D FSL的基准测试的强基线

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_10

表2. ProtoNet[39]在ModelNet40-FS和ShapeNet70-FS上采用不同三维主干结构的结果。黑体字表示最好的结果,下划线表示第二好的结果。

4. 方法

4.1. 概述

鉴于上述章节中的基线,3D FSL仍然面临着某些挑战。1)在少量数据的支持集和查询集之间存在强烈的类内差异和微妙的类间差异;2)许多FSL方法从支持和查询实例中独立提取特征,而不考虑这两组之间的相关性,因此目前的特征学习没有足够的鉴别能力

为了应对这些挑战,我们提出了一个新颖的即插即用的跨实例适应(CIA)模块,它可以插入到现有的骨干和学习框架中,为支持集和查询集学习更多的鉴别性表示,将在第4.2节中阐述。通过将CIA模块与当前的元学习框架相结合,我们建立了一个新颖而强大的3D FSL分类网络,如图2所示。

首先,嵌入模块将支持集S和查询集Q作为输入,并将每个点云实例映射为特征向量,其中。然后,我们将支持集中类的原型特征定义为,作为其K个支持实例的平均值,将查询实例的查询特征定义为,其中i∈[1,N],j∈[1,Nq]。

然而,第一步是分别从支持集和查询集提取特征。它也忽略了3D FSL中的高类内差异和微妙的类间差异问题。因此,学到的支持和查询特征在巨大的分布偏移下没有足够的辨别力,如图3(a)所示。因此,我们建议更新原型特征和查询特征,将它们输入第4.2节中的新型跨实例适应(CIA)模块,以学习更多样、更有鉴别力的支持和查询特征,并减轻分布偏移,以获得更好的分类,如图3(d)所示。

之后,我们采取方形欧氏距离度量函数作为分类器来测量特征空间中每个类原型和查询实例之间的距离。预测标签作为类的概率表示为

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_11

其中d ( . , .)是欧氏距离的平方,和是CIA模块生成的更新特征。最后,我们可以用公式2得到交叉熵损失,并通过最小化公式5来优化网络端到端:

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_12

其中,N和Nq分别是类原型和查询实例的数量,是的ground truth,

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_13

表示Kronecker delta函数。--克罗内克函数的自变量(输入值)一般是两个整数,如果两者相等,则其输出值为1,否则为0。

4.2. 跨实例适应模块

为了学习更多的判别特征,跨实例适应模块(CIA)由两个模块组成。首先,自通道交互(SCI)模块旨在通过对通道相关性的建模来学习点云对象的多样性和鉴别性特征,以解决类间微妙差异的问题;然后,跨实例融合(CIF)模块旨在探索实例间的交互,以解决类内高差异的问题,它可以补偿原型信息,并通过元学习器对支持和查询特征重新加权来纠正特征分布。

4.2.1 自通道交互模块

三维FSL面临着类间细微差异的挑战,例如'椅子'和'长凳'都可以有带把手和坐垫的样本。[49, 9]指出,不同的通道可以传达不同的语义信息。受这一观察的启发,我们试图通过建立渠道关系模型来学习更多样的特征,以解决微妙的类间差异,图4就是一个说明。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_14

图4. 自我通道互动模块的图示。为了清楚起见,我们只介绍了2路1次2次查询的设置。

具体来说,首先从嵌入特征向量f中生成一个查询向量和一个密钥向量,两个线性嵌入函数分别用φ和γ作为参数。然后,通过在和k之间进行双线性运算来执行通道交互模块,得到一个通道级别的关系得分图。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_15

然后我们通过执行softmax函数将R的每一列归一化,得到权重矩阵R′。特别是,R′中第j列的第i个值可以通过以下方式计算。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_16

其中

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_17

。之后,我们用通道式关系得分图R′对初始特征f重新加权,得到矢量v,可以用以下方式表示:

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_18

注意v的第i个通道,定义为

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_19

,是f中所有通道的加权和,所以vi的值越高,说明第i个通道的信息量越大。最后,我们进一步将v和f结合起来,补偿被丢弃的信息,并输出更新的特征

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_20

使用SCI模块后,特征变得更有辨别力,可以区分不同的类别,如图3(b)所示。更多关于SCI模块的可视化分析可以在补充材料中找到。

4.2.2 跨实例融合模块

现有的大多数方法[45, 39, 43, 22]都是独立提取支持特征和查询特征,由于数据量小和类内差异大的问题,支持集和查询集之间存在巨大的特征分布偏移(如图3(a)所示)。因此,我们提出了一个简单而有效的跨实例融合(CIF)模块,通过考虑实例间的关系,对支持特征和查询特征进行重新加权和更新。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_21

图5. 跨实例融合模块的图示。为了清楚起见,我们只介绍了2-way 1-shot 2-query的设置。⊙是元素级别的乘积

具体来说,如图5所示,我们首先将每个原型特征(其中i∈[1,N])与它的前K1个余弦相似查询特征连接起来,得到:

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_22

其中是连接操作,d是特征通道的数量,,代表与原型特征具有最高余弦相似度的查询特征。同样,我们将每个查询特征(其中j∈ [1, Nq])与它的顶级K2(≤N)余弦相似原型特征连接起来,得到: 

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_23

然后,我们采用两个1×1的卷积层作为元语言,对串联的特征进行编码,并为生成一个权重矩阵。之后,我们通过使用的加权和而不是简单的平均来更新原型(查询)特征,这样可以灵活地融合实例信息。例如,的权重矩阵表示为

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_24

而原型特征可以在的基础上,通过结合中的K1个串联的特征来更新

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_25

在使用CIF模块后,支持和查询集之间的分布偏移得到了缓解,如图3(c)所示。更多关于CIF模块的可视化分析可以在补充材料中找到.

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_26

图3. 4.2节中使用CIA模块(SCI和CIF)前后支持集和查询集的特征分布的t-SNE比较。 △代表支持特征,-代表查询特征。

5. 实验

在本节中,首先,我们介绍了两个数据集,用于少样本三维点云分类,并描述了实施细节。然后,我们在这些数据集上使用CIA模块比较了以DGCNN[47]为骨干的最先进的FSL算法。最后,我们进行了广泛的消融研究,以评估CIA模块插入不同算法时的有效性。

5.1. 数据集

ModelNet40[48]和ShapeNetCore[3]是3D点云学习的两个标准基准数据集。然而,现有的训练集和测试集的拆分是类别重叠的,这在几张照片的设置中应该是不连贯的[4, 45]。为了满足这一要求,我们提出了ModelNet40和ShapeNetCore的新拆分,并建立了两个基准,ModelNet40-FS和ShapeNet70-FS,用于三维少样本点云分类。我们根据每个类别中实例的数量仔细分割数据集,确保训练集和测试集的数据分布相似。具体来说,ModeNet40- FS包括30个训练类,有9240个实例,10个测试类,有3104个实例。ShapeNet70-FS有更多的数据,总共包含30,073个例子,50个训练类有21,722个样本,20个测试类有8,351个样本。这些分割的细节在补充材料中列出。

5.2. 训练和测试细节

我们按照标准的基于情节的FSL设置[4]来训练和评估。我们首先用80个历时来训练网络,每个历时包含400个元训练历时和600个从训练集中随机抽取的验证历时。每个情节由N个类组成,每个类有K个标记的支持实例和Q个查询实例,这被表示为N-way K-shot Q-query设置。一旦元训练结束,我们用700个元测试集来测试网络,这些测试集是从测试集中随机抽取的,具有相同的N-way K-shot Q-query设置。我们对这些元测试事件的分类结果进行平均,以95%的置信区间作为最终表现。特别是,我们采用5倍交叉验证,将训练集随机分为5个偶数子集,每个子集作为验证集使用一次。最后,我们报告5个估计值在测试集上的平均性能。

5.3. 实施细节

我们将DGCNN[47]作为嵌入网络,由四个EdgeConv层(64,64,128,256)和一个MLP层组成。更多关于骨干网络和FSL算法的适应性细节可以参考补充材料。每个点云实例由512个从CAD模型表面随机采样的点组成。我们使用亚当优化器,初始学习率为0.0008,伽马值为0.5。学习率每5个 epochs下降一次。在训练过程中,我们还应用了随机点抖动和旋转来增加数据,如[23]。其他具体的实施细节将在下面几个小节中描述。

5.4. 与基线的比较

为了验证我们提出的网络的有效性,我们首先在两个基准数据集ModelNet40-FS和ShapeNet70-FS上与上述FSL基线比较分类精度。表3中的结果显示,我们的方法以很大的幅度超过了其他基线,对于1次拍摄和5次拍摄来说,约为5%,并且在这两个数据集上都超过了其他基线。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_27

表3. 以DGCNN[47]为骨干的ModelNet40-FS和ShapeNet70-FS的少数照片点云分类结果及95%置信区间。黑体字表示最佳结果,下划线表示次佳结果。

一个潜在的解释是,ProtoNet是一个基于度量的方法,它根据与每个类别原型的最近平方欧氏距离来预测查询例子的标签。然而,支持集和查询集的特征是独立提取的。CIA模块可以通过考虑特征级和实例级的关联来调整支持和查询实例在特征空间的分布,这可以提高原型和查询实例之间的区分度。

5.5. 消融分析

在这一节中,我们进行消融研究,以分析所提出的模块的各种设计对少样本点云分类的影响。

将CIA模块添加到不同的FSL基线中。我们将CIA模块嵌入到基于度量和基于优化的FSL基线中,以验证多个系统的泛化能力。所有的实验都以DGCNN为骨干进行特征提取,并采用相同的训练策略进行公平比较。表4显示了将CIA模块适应于每种算法的改进。我们可以看到,在加入CIA模块后,一致性增加了大约2%,这表明所提出的模块可以明显改善基于度量和基于优化的FSL基线。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_28

将CIA模块添加到不同的骨干网中。我们还验证了CIA模块适应表5中提到的具有不同3D支持骨架的ProtoNet的有效性。我们首先移除这些三维网络的FC层,并将输出的特征向量送入CIA模块,以生成重新加权的特征。然后,我们采用欧氏距离的平方作为度量函数,对未标记的查询样本进行分类。表5中的比较结果表明,在加入CIA模块后,不同的最先进的骨干网可以获得明显的性能改善。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_29

CIA模块的消融研究。之后,我们进行了消减研究,以量化CIA中两个拟议模块的贡献,结果列于表6。我们可以清楚地看到,"SCI "和 "CIF "都可以提供积极的影响,并提高ProtoNet在MdoelNet40-FS和ShapeNet70-FS上的性能。特别是,使用 "CIF "的网络在单次设置时有大约3%的改善。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_30

与其他3DFSL方法的比较。我们进一步将我们提出的网络与ModelNet40 FS和ShapeNet70 FS这两个最新的3D FSL作品进行比较。我们遵循[40]和[37]中提到的设置,其中Simpleshot是针对三维模型的二维RGB投影的仅有图像的少样本识别,而/w SB意味着形状偏向,它使用辅助的点云特征来学习鉴别性的嵌入空间。对于SSL3DFSL[37],我们首先用[37]中提出的自监督策略训练基于特征提取器,然后用少量样本对分类器进行微调。表7总结了5路分类任务的结果,我们提出的基线在这两个基准上取得了更高的性能。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_31

5.6. 特征可视化

我们使用t-SNE[19]来可视化ModelNet40 FS上以DGCNN[47]为骨干的5路-5shot-15query设置的特征分布。图3(a)对应的是没有CIA模块的ProtoNet的特征,实现了73.28%的准确率,(b)和(c)是纳入SCI和CIF的结果,分别实现了74.57%和77.28%,而(d)在配备了CIA模块后有更好的表现,达到78.39%。请注意,ProtoNet[39]的学习支持和查询功能是分散的,有巨大的分布变化。在使用SCI模块后,支持特征倾向于向中心性移动,以更好地区别于其他类,如(b)和(d)所示。此外,支持集和查询集之间的分布偏移得到了缓解,如(c)和(d)所示。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_32

6. 结论

在本文中,我们首次系统地研究了三维几率学习(FSL)。我们首先在点云分类的背景下对最先进的二维FSL算法进行了实证研究和分析,并探讨了不同主干架构的影响。然后,我们提出了一个强大的基准线,用于使用ProtoNet与DGCNN对3D FSL进行基准测试。此外,为了缓解支持集和查询集之间的高类内差异和微妙的类间差异,我们还提出了一个由自通道交互(SCI)模块和跨实例融合(CIF)模块组成的即插即用的跨实例适应(CIA)模块,它可以产生更多的鉴别性特征。为了客观评价,我们构建了两个基准ModelNet40-FS和ShapeNet70- FS,用于三维点云分类。最后,大量的实验表明,所提出的CIA模块在不同的FSL算法中具有明显的性能改进,并且可以很好地适应不同的骨干网。

鸣谢。这项工作得到了国家自然科学基金(编号62071127和U1909207)、上海市浦江计划(编号19PJ1402000)、上海市科技重大专项(编号2021SHZDZX0103)、上海市人工智能机器人工程技术研究中心和中国教育部人工智能机器人工程技术研究中心的支持,以及A*STAR的AME计划资助方案(项目A18A2b0046)。


A. 三维骨干网的细节

为了研究不同骨干网结构对FSL的影响,我们选择了目前最先进的三种三维网络作为特征提取的支持骨干网。在本节中,我们将介绍第3节和第5节中采用的骨干网的更多结构细节。输入的点云实例由512个三维坐标的点组成,骨干网络输出1024维的特征向量。

点状MLP网络。PointNet包含五个具有可学习参数的MLP层(64,64,64,128,1024),用ReLU对所有MLP层进行批量标准化。之后,我们使用maxpooling函数来聚合一个全局特征向量。请注意,为了简单和高效,我们删除了原始PointNet[10]框架中的转换层。PointNet++由3级PointNet Set Abstractions与单尺度分组(SSG)组成,它们与[11]中的设置相同。我们去掉全连接(FC)层,将最后一个PointNet Set Abstraction的输出作为全局特征向量。

卷积网络。PointCNN中有4个带ReLU的X-conv层(48,96,192,384)。最后一个X-conv层输出一个384维的特征向量,我们使用2个FC层(512,1024)将维度扩展到1024,以便进行公平比较。RSCNN包含3个RC-Conv层(128,512,1024),采用单尺度邻域(SSN)分组。RC-Conv的其他设置与[6]相同。DensePoint包含3个P-Conv层,2个P-Pooling层和1个全局pooling层。这些层的设置与[5]相同。我们在RSCNN和DensePoint中删除了FC层,以输出1024维的全局特征向量。

基于图的网络。DGCNN是我们3DFSL的基线嵌入网络,由4个EdgeConv层(64,64,128,256)组成。每个EdgeConv的输出将被串联成一个512维的特征图。然后,该特征图将被送入一个MLP层,将其维度扩展到1024。最后,一个maxpooling函数被用来聚合全局特征,并输出一个1024维的特征向量。图6说明了DGCNN的网络结构。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_33

B. 关于FSL基线的细节

在本节中,我们将在第3节和第5节中介绍更多关于FSL算法的适应性细节,用于少许拍摄的点云分类。

基于度量的方法。我们采用平方欧氏距离作为度量函数,在ProtoNet中使用交叉熵损失。对于关系网,我们首先通过连接支持特征向量fs∈R 1×1024和查询特征向量fq∈R 1×1024来构建支持查询配对特征fsq∈R 2×1024。然后,配对特征fsq被送入关系模块,该模块包含两个卷积块((1x1 conv 128 filters, BN, ReLU),(1x1 conv 1 filters, BN, ReLU))和两个FC层(128,L)(L表示一个元任务的类数)。之后,关系模块输出预测的关系分数,并使用均方误差损失将关系分数回归到地面真实。对于FSLGNN,我们用[15]中相同的设置构建了4个GNN层,并使用Cross-Entropy损失作为损失函数。

基于优化的方法。我们使用两个FC层(256,K)作为Meta-learner和MAML的分类器。第一层FC层使用批量归一化,并进行ReLU和Dropout操作。在Metalearner中有一个2层LSTM,遵循[12]中的相同配置,其中第一层是普通LSTM,第二层是用于梯度状态更新的metalearner LSTM。MAML中的元学习率对于5次拍摄是0.1,对于1次拍摄是0.5。MetaOptNet中的分类头是[1]中提出的多类SVM。在这些方法中,我们也采用交叉熵损失作为损失函数。

C. 通道交互模块的细节

通道交互模块的结构如图7所示。查询向量q和关键向量k是由输入特征f用两个线性嵌入函数φ和γ生成的,然后通道关系得分图可以表示为R = q T k。之后,我们可以得到重新加权的特征v = fR′,其中R′ = sof t max(R)。最后,为了补偿被丢弃的信息,我们将v和f结合起来,得到更新的特征f′=v+f。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_34

D. 关于跨实例融合模块的细节

4.2.2节中提出了跨实例融合(CIF)模块来解决规律数据和高类内变异问题,它可以通过元学习器融合原型特征和查询特征来丰富原型信息,纠正特征分布。

如图8所示,为了更新原型特征fp,我们首先将每个原型特征与余弦相似度最高的K1个查询特征连接起来,得到连接后的特征Zfp。然后,我们采用两个简单的1×1 Conv层作为元学习器来学习跨实例的相互作用,并输出更新的原型特征f ′ p 。具体来说,第一层被设计为对Zfp进行编码以生成一个d-dim的特征交互Z′fp,第二层被用来调整交互的维度,从而为Zfp生成一个权重矩阵Wfp。最后,我们通过融合基于Wfp的串联特征Zfp来更新原型特征。同样地,我们也可以通过CIF模块轻松地更新查询特征fq。此外,我们使用验证集来确定K1和h的值,并根据图9所示的结果将它们分别设置为45和64。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_35

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_36

E. 额外的实验结果

我们还进行了额外的实验,以进一步探索我们提出的网络在两个场景中的效果,包括细粒度的少样本分类和二维图像少样本分类。

细粒度的少样本分类。我们在细粒度的分类场景中研究了提议的网络,以评估其区分类似类别的能力。我们首先在ShapeNet70-FS的元数据上训练基线和提议的网络,并在5路-1个样本-15个查询的情况下对元测试数据中 "飞机 "的七个子类别进行测试。每个类别的平均准确率列于表9。可以看出,我们提出的网络在大多数时候都优于其他基线,并提高了3%以上的平均精度。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_37

对SCI模块中残差设计的消融研究。我们把SCI设计成一个残差更新来补偿被丢弃的信息,因为Softmax操作可以突出鉴别通道的权重,但它也可能丢弃原始特征的一些信息。表10中列出的消融研究结果表明,这种残差设计可以获得性能的提高。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_38

更多方式的k-shot设置的比较结果。我们对ShapeNet70-FS进行了N={5,10,15},K={1,5}的实验,结果见表11。更大的N-way设置更具挑战性,性能明显下降。一个可能的解释是,较大的类和较少的支持实例使训练更加困难,导致类的边界不明显。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_39

CIA对二维FSL的影响。虽然CIA模型是为少样本的点云分类任务而设计的,但我们也研究了CIA模型对以ResNet12为骨干的miniImagenet和tieredImagenet的二维图像少样本分类的影响。表12中显示的结果表明,CAI模型也可以提高ProtoNet[16]的分类性能,特别是对于1个样本的设置,并且与最先进的二维FSL方法相比取得了有竞争力的性能。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_40

F. 更多可视化分析

特征热图的可视化分析。我们进一步对点云实例的特征热图进行可视化分析,以对第4.2节中提出的模块进行定性评估。图10是分别加入SCI模块和CIF模块前后的比较结果。颜色越深意味着该区域的特征响应度越高。我们可以观察到,SCI模块更关注不同类别的细粒度部分,如瓶子的 "盖子 "和凳子的 "腿",而CIF模块可以激活更多的区域,这有助于产生更多的信息特征。图11和图12显示了更多的可视化比较。我们可以看到,CIA模块可以突出更多的鉴别性部分和结构,这丰富了从点云实例中学到的信息。

G. 数据集拆分

ModelNet40-FS是ModelNet40的一个新拆分,包含30个训练类,9204个例子和10个不相连的测试类,3104个例子。ModelNet40-FS的统计数据见表13,训练集和测试集拆分的细节见表15。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_41

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_42

ShapeNet70-FS改编自ShapeNetCore,包括34个类别的50个基类和14个类别的20个新类。表14中报告了ShapeNet70-FS的统计数据,表16和表17中分别列出了训练集和测试集的细节。

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据_43

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_点云_44

论文阅读:What Makes for Effective Few-shot Point Cloud Classification?_数据集_45