PTV3论文阅读

本文提出点转换器V3(PTv3),通过简化设计和利用序列化策略,克服了3D点云处理中精度与效率的权衡。PTv3通过大规模表示学习的启示,强调模型性能受规模影响大于设计细节,实现了显著的扩展,提升了处理速度和内存效率,且在多个下游任务中取得最先进的结果。
摘要由CSDN通过智能技术生成

Abstract

本文并没有在关注机制内寻求创新的动力。相反,它侧重于克服点云处理背景下精度和效率之间的现有权衡,利用规模的力量。从3D大规模表示学习的最新进展中获得灵感,我们认识到模型性能更受规模而不是复杂设计的影响。因此,我们提出了点转换器V3 (PTv3),它优先考虑简单性和效率,而不是缩放后对整体性能影响较小的某些机制的准确性,例如用具有特定模式组织的点云的高效序列化邻居映射取代KNN的精确邻居搜索。这个原理可以实现显著的扩展,在保持效率的同时将接受域从16点扩展到1024点(处理速度提高了3倍,内存效率提高了10倍)。PTv3在超过20个跨越室内和室外场景的下游任务上获得了最先进的结果。PTv3通过多数据集联合训练进一步增强,将这些结果推向更高的水平。

1. Introduction

深度学习模型在2D视觉[24,38,78,86]和自然语言处理(NLP)[1,37,56,79]等各个领域都取得了快速发展,其进步通常归因于对规模的有效利用,包括数据集的大小、模型参数的数量、有效接受域的范围以及分配给训练的计算能力等因素。

然而,与2D视觉或NLP的进展相比,3D主干的发展[16,46,62,88]在规模上受到阻碍,主要是由于在不同领域中可用的点云数据的大小和多样性有限[92]。因此,在应用驱动其他领域进步的缩放原则方面存在差距[37]。这种尺度的缺失通常会导致3D主干网的精度和速度之间的有限权衡,特别是对于基于变压器架构的模型[27,106]。通常,这种权衡涉及牺牲效率以获得准确性。这种有限的效率阻碍了这些模型充分利用变压器固有强度的能力,从而阻碍了它们在3D数据处理中的全部潜力。

3D表示学习的最新进展[92]通过引入跨多个3D数据集的协同训练方法,在克服点云处理中的数据规模限制方面取得了进展。与此策略相结合,高效的卷积主干[13]有效地弥补了通常与点云变压器相关的精度差距[40,90]。然而,由于与稀疏卷积相比,点云变压器本身的效率差距还没有完全受益于这种规模特权。这一发现形成了我们工作的最初动机:用缩放原理的透镜重新权衡点变压器的设计选择。我们假设模型性能受尺度的影响比复杂设计的影响更显著

因此,我们引入点转换器V3 (PTv3),它优先考虑简单性和效率,而不是某些机制的准确性,从而实现可伸缩性。这种调整对扩展后的整体性能的影响可以忽略不计。具体来说,PTv3进行了以下调整,以实现卓越的效率和可伸缩性

  • 受最近两项进展[51,83]的启发,并认识到结构化非结构化点云的可扩展性优势,PTv3从传统的由k -最近邻(KNN)查询定义的空间接近度转变为占28%的前向时间。相反,它探索了点云中序列化社区的潜力,根据特定模式进行组织
  • PTv3取代了更复杂的注意力补丁交互机制,如移位窗口(阻碍注意力操作符的融合)和邻域机制(导致高内存消耗),采用为序列化点云量身定制的精简方法。
  • PTv3消除了对相对位置编码的依赖,相对位置编码占前向时间的26%,支持更简单的前置稀疏卷积层

我们认为这些设计是由缩放原则和现有点云变压器的进步驱动的直观选择。重要的是,本文强调了认识到可扩展性如何影响主干设计而不是详细的模块设计的重要性。

这一原理显著提高了可扩展性,克服了传统的准确性和效率之间的权衡(见图1)。与前代相比,PTv3的推理速度提高了3.3倍,内存使用减少了10.2倍。更重要的是,PTv3利用其固有的扩展感知范围的能力,在保持效率的同时将其接受域从16点扩展到1024点。这种可扩展性巩固了其在现实世界感知任务中的卓越性能,PTv3在室内和室外场景中的20多个下游任务中实现了最先进的结果。通过多数据集训练进一步扩大其数据规模[92],PTv3进一步提升了这些结果。我们希望我们的见解能够启发未来在这个方向上的研究。

2. Related Work

3D understanding.

通常,用于理解3D点云数据的深度神经架构可以根据其建模点云的方法大致分为三类:基于投影的方法,基于体素的方法和基于点的方法。基于投影的方法将三维点投影到各种图像平面上,并利用基于二维cnn的主干进行特征提取[8,43,45,71]。基于体素的方法将点云转换为规则的体素网格,以方便3D卷积操作[53,70],随后通过稀疏卷积提高其效率[13,25,84]。然而,就内核大小而言,它们通常缺乏可伸缩性。相比之下,基于点的方法直接处理点云[52,62,63,77,105],并且最近转向基于变压器的架构[27,65,90,101,106]。虽然这些方法很强大,但它们的效率经常受到点云的非结构化特性的限制,这给扩展它们的设计带来了挑战。

Serialization-based method.

最近的作品[7,51,83]介绍了与传统的点云处理范式不同的方法,我们将其归类为基于序列化的。这些方法根据特定的模式对点云进行分类,将非结构化、不规则的点云转化为可管理的序列,同时保持一定的空间接近性。OctFormer[83]在八叉树化过程中继承顺序,类似于z顺序,提供可伸缩性,但仍然受到八叉树结构本身的限制。另一方面,FlatFormer[51]采用基于窗口的排序策略对点柱进行分组,类似于窗口分区。然而,这种设计在接受领域缺乏可扩展性,更适合于基于柱的3D物体检测器。这些开创性的工作标志着基于序列化的方法的开始。我们的PTv3建立在这个基础上,定义和探索点云序列化的全部潜力。

3D representation learning.

与2D领域相比,大规模预训练已经成为增强下游任务的标准方法[6],3D表示学习仍处于探索阶段。大多数研究仍然依赖于使用特定目标数据集从头开始训练模型[94]。虽然3D表征学习的主要工作集中在单个对象上[57,68,69,87,103],但最近的一些进展将注意力转向了以现实世界场景为中心的点云的训练[30,36,91,94,107]。这一转变标志着3D场景理解向前迈出了重要一步。值得注意的是,点提示训练(Point Prompt Training, PPT)[92]通过多数据集协同学习引入了大规模表示学习的新范式,强调了规模的重要性。这种方法极大地影响了我们的设计理念和开发PTv3的最初动机,我们已经将这种策略纳入了我们的最终结果中。

3. Design Principle and Pilot Study

在本节中,我们介绍了缩放原理和试点研究,这指导了我们模型的设计。

Scaling principle.

传统上,模型性能的准确性和效率之间的关系被描述为一种“权衡”,以牺牲效率为代价的典型偏好准确性。为了实现这一点,已经提出了许多方法,但操作繁琐。点变压器[90,106]通过用可学习层和归一化来代替计算注意权值中的矩阵乘法来优先考虑准确性和稳定性,这可能会降低效率。同样,Stratified Transformer[40]和Swin3D[101]通过结合更复杂的相对位置编码形式来提高精度,但这通常会导致计算速度下降。

然而,准确性和效率之间的权衡并不是绝对的,通过参与缩放策略出现了一个值得注意的反例。具体来说,稀疏卷积以其速度和存储效率而闻名,在3D大规模预训练中仍然是首选。利用多数据集联合训练策略[92],稀疏卷积[13,25]显示出显著的性能改进,将ScanNet语义分割的mIoU从72.2%提高到77.0%[107]。这比从头开始训练的PTv2高出1.6%,同时保持了优越的效率。然而,这些进步并没有完全扩展到点变压器,主要是因为它们的效率限制,这给模型训练带来了负担,尤其是在计算资源有限的情况下

这一观察结果使我们假设模型性能可能更显著地受到规模的影响,而不是复杂的设计细节。我们考虑以某些机制的准确性换取简单性和效率的可能性,从而实现可扩展性。通过利用规模优势,这样的牺牲对整体业绩的影响可以忽略不计。这一概念构成了我们的主干设计缩放原则的基础,我们在设计中实践了它。

Breaking the curse of permutation invariance.

尽管稀疏卷积的效率得到了证明,但问题是需要一个可扩展的点转换器。虽然多数据集联合训练允许数据缩放,并且合并更多的层和通道有助于模型缩放,但有效地扩展接受域以增强泛化能力仍然是卷积主干的一个挑战(参见表1)。它是注意力,一个自然适应核形状的算子,可能是通用的。
在这里插入图片描述

然而,由于点云数据的非结构化特性,目前的点变压器在满足排列不变性的要求时遇到了缩放方面的挑战。在PTv1中,应用k近邻(KNN)算法来表示局部结构引入了计算复杂性。与PTv1相比,PTv2试图通过将KNN的使用量减半来缓解这种情况。尽管有了这种改进,KNN仍然构成了显著的计算负担,消耗了28%的前向时间(参见图2)。此外,虽然图像相对位置编码(RPE)受益于允许预定义相对位置的网格布局,但点云RPE必须求助于计算两两欧几里得距离,并使用学习层或查找表将这些距离映射到嵌入,这被证明是效率低下的另一个来源。占用26%的前向时间(见图2)。这些极其低效的操作给扩展主干带来了困难。
在这里插入图片描述

受最近两项进展的启发[51,83],我们摆脱了将点云视为无序集的传统范式。相反,我们选择通过将点云序列化为结构化格式来“打破”排列不变性的约束。这种策略转换使我们的方法能够利用结构化数据低效率的好处,同时牺牲了位置保持属性的准确性。我们将这种权衡作为我们设计的切入点。

4. Point Transformer V3

在本节中,我们以第3节讨论的缩放原理为指导,介绍了我们的点变压器V3 (PTv3)的设计。我们的方法强调简单和速度,促进可扩展性,从而使其更强大。

4.1. Point Cloud Serialization

为了利用结构化数据的简单性和高效性,我们引入了点云序列化,将非结构化点云转换为结构化格式。

Space-filling curves.

空间填充曲线[59]是通过高维离散空间内的每个点并在一定程度上保持空间接近性的路径。数学上,它可以定义为一个双射函数φ: Z→Z n,其中n是空间的维数,在点云上下文中为3,也可以扩展到更高的维数。我们的方法以两条代表性的空间填充曲线为中心:z阶曲线[54]和希尔伯特曲线[29]。z阶曲线(见图3a)因其简单和易于计算而受到重视,而希尔伯特曲线(见图3b)因其与z阶曲线相比具有优越的保域特性而闻名

标准空间填充曲线通过分别沿着x、y和z轴进行顺序遍历来处理3D空间。通过改变遍历的顺序,例如将y轴优先于x轴,我们引入了标准空间填充曲线的重新排序变体。为了区分标准配置和空间填充曲线的替代变体,我们用前缀“trans”表示后者,从而产生诸如trans Zorder(见图3c)和trans Hilbert(见图3d)之类的名称。这些变量可以为空间关系提供不同的视角,潜在地捕捉到标准曲线可能忽略的特殊的局部关系
在这里插入图片描述

Serialized encoding.

为了利用空间填充曲线的位置保持特性,我们采用了序列化编码,一种将点的位置转换为反映其在给定空间填充曲线内顺序的整数的策略。由于这些曲线的双射性质,存在一个逆映射φ−1:Z n→Z,它允许将点的位置pi∈R 3转换为序列化码。通过将点的位置投影到一个网格大小为g∈R的离散空间上,我们得到这个编码为φ−1(⌊p / g⌋)。这种编码也适用于批处理的点云数据。通过为每个点分配一个64位整数来记录序列化代码,我们将尾k位分配给φ−1编码的位置,将剩余的前导位分配给批索引b∈z。根据该序列化代码对点进行排序,使批点云按照每个批内选择的空间填充曲线模式排序。整个过程可以写成如下:
在这里插入图片描述
其中≪表示左位移位,|表示位向或。

Serialization.

如图3中三部分的中间部分所示,点云的序列化是通过对序列化编码产生的代码进行排序来完成的。排序以一种尊重给定空间填充曲线定义的空间顺序的方式有效地重新排列点,这意味着数据结构中的相邻点在空间上也可能是接近的

在我们的实现中,我们不需要对点云进行物理重新排序,而是记录由序列化过程生成的映射。该策略保持了与各种序列化模式的兼容性,并提供了在它们之间有效转换的灵活性

4.2. Serialized Attention

Re-weigh options of attention mechanism.

图像转换器[20,49,50]受益于像素数据的结构化和规则网格,自然更倾向于窗口[49]和点积[21,80]的注意机制。这些方法利用图像数据固有的固定空间关系,允许高效和可扩展的本地化处理。然而,当面对点云的非结构化特性时,这种优势就消失了。为了适应这种情况,先前的点变换[90,106]引入邻域注意来构建均匀大小的注意核,并采用向量注意来提高空间关系更为复杂的点云数据的模型收敛性。

鉴于序列化点云的结构化性质,我们选择重新审视并采用有效的窗口和点积注意机制作为我们的基本方法。虽然由于精确的空间邻居关系的减少,序列化策略可能暂时比KNN等一些邻居构建策略产生更低的性能,但我们将证明,通过利用序列化中固有的可伸缩性潜力,任何初始精度差距都可以有效地弥合。

从窗口注意演变而来,我们定义了补丁注意,这是一种将点分组到不重叠的补丁中并在每个单独的补丁中执行注意的机制。补丁注意的有效性依赖于两个主要的设计:补丁分组和补丁交互

Patch grouping.

在最近的进展中,将** 点分组到序列化点云中的补丁中已经得到了很好的探索**[51,83]。这个过程既自然又有效,涉及到沿填充后的序列化顺序对点进行简单分组。我们的补丁注意力设计也是基于这种策略,如图4所示。实际上,重新排序和填充补丁的过程可以集成到一个索引操作中。
在这里插入图片描述
此外,我们在图3中说明了从三元组右侧的四个序列化模式派生的补丁分组模式。这种分组策略与我们的序列化模式相结合,可以有效地扩大注意机制在3D空间中的接受场,同时在可行的程度上保持空间邻居关系。尽管与KNN相比,这种方法可能会牺牲一些邻居搜索的准确性,但这种权衡是有益的。考虑到注意力对参考点的重新加权能力,效率和可伸缩性方面的收益远远超过邻域精度方面的微小损失(我们所需要的就是扩大规模)

Patch interaction.

不同补丁点之间的交互对于模型集成整个点云的信息至关重要。这种设计元素克服了非重叠架构的局限性,并且在使补丁注意功能发挥作用方面发挥了关键作用。基于这一见解,我们研究了如下所述的各种补丁交互设计(也在图5中可视化):

  • 在Shift Dilation[83]中,补丁分组在序列化的点云上错开一个特定的步骤,有效地将模型的接受场扩展到邻近点之外

  • 在Shift Patch中,Patch的位置在序列化的点云上移动,灵感来自图像转换器中的Shift -window策略[49]。该方法最大限度地提高了补丁之间的相互作用。

  • 在Shift Order中,点云数据的序列化顺序在注意块之间动态变化。该技术与我们的点云序列化方法无缝结合,有助于防止模型过度拟合到单一模式,并促进跨数据的更健壮的特征集成。

  • 洗牌顺序(Shuffle Order) *,建立在移位顺序(Shift Order)的基础上,在序列化顺序的排列中引入随机洗牌。我们用*标记了我们的主要方案,并强调了它在模型消融中的优越性能。

Positional encoding.

为了处理大量数据,点云转换器通常采用局部关注,它依赖于相对位置编码方法[40,101,106]以获得最佳性能。然而,我们的观察表明,rpe是非常低效和复杂的。作为一种更有效的替代方案,条件位置编码(CPE)[14,83]被引入到点云转换器中,其中通过基于八树的深度卷积实现[84]。我们认为这种替换是优雅的,因为RPE在点云转换器中的实现本质上可以被视为大核稀疏卷积的一种变体。即便如此,单个CPE也不足以达到峰值性能(与RPE结合使用时,仍有可能额外提高0.5%)

因此,我们提出了一种增强的条件位置编码(xCPE),通过在注意层之前直接添加一个带有跳过连接的稀疏卷积层来实现。我们的实验结果表明,与标准CPE相比,xCPE完全释放了性能,延迟稍微增加了几毫秒,性能收益证明了这一微小的权衡是合理的。

4.3. Network Details

在本节中,我们详细介绍了PTv3的宏观设计,包括块结构、池策略和模型体系结构(如图6所示)。我们对这些组件的选择是经验的,但对整体的简单性也至关重要。这些选择的详细说明可在附录中找到
在这里插入图片描述

Block structure.

我们简化了传统的块结构,通常是一个广泛的规范化和激活层堆栈,通过采用前范数[12]结构,根据后范数[80]替代方案进行评估。此外,我们从批归一化(BN)转向层归一化(LN)。建议的xCPE直接在注意层之前通过跳过连接进行准备。

Pooling strategy.

我们一直采用PTv2中引入的网格池,认识到它的简单和高效。我们的实验表明,BN是必不可少的,不能被LN有效地取代。我们假设在池化过程中,BN对于稳定点云中的数据分布至关重要。此外,拟议的洗牌顺序,而shuffle则是将移位顺序的序列排列整合到池化中。

Model architecture.

PTv3的架构与U-Net[66]框架保持一致。它由4级编码器和解码器组成,各自的块深度为[2,2,6,2]和[1,1,1,1]。对于这些阶段,网格大小乘数设置为[×2, ×2, ×2, ×2],表示相对于前池化阶段的扩展比率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值