Transformers in 3D Point Clouds A Survey(翻译)

【技术解析】MultiPatchFormer:多尺度时间序列预测的全新突破 通过在七个真实数据集上的大量实验,我们的模型(MultiPatchFormer)在误差指标上超越了当前主流基线模型,取得了最先进的性能,并展现出更强的泛化能力。这篇论文提出了一种基于Transformer的创新模型,旨在解决时间序列预测中的关键挑战,特别是在处理多尺度时间依赖性和复杂通道间相关性时的难题。和以往一样,我会严格依照论文的结构框架,从研究背景、核心论点、实验设计到最终结论,逐一对文章的各个关键部分进行细致剖析 ,力求为大家呈现这篇时间序列预测论文的全貌,挖掘其中的研究价值与创新点。 阅读详情

​

Transformers in 3D Point Clouds: A Survey(翻译)

​ 卢德宁,谢倩,魏明强,高级会员,IEEE 徐琳琳,会员,IEEE,李强生,高级会员,IEEE、

原文链接:Transformers in 3D Point Clouds: A Survey


​ 摘要 : 近年来,Transformer模型已被证明具有显著的长距离依赖关系建模能力。它们在自然语言处理(NLP)和图像处理方面都取得了令人满意的结果。这一重大成就引起了三维点云处理研究人员的极大兴趣,他们希望将其应用于各种三维任务。由于其固有的包络不变性和强大的全局特征学习能力,三维Transformer非常适合于点云处理和分析。与最先进的非Transformer算法相比,它们已经取得了具有竞争力甚至更好的性能。本调查旨在全面介绍为各种任务(如点云分类、分割、物体检测等)设计的三维Transformer。我们首先介绍了一般Transformer的基本组成部分,并对其在二维和三维领域的应用进行了简要描述。然后,我们提出了三种不同的分类法(即基于Transformer实现的分类法、基于数据表示的分类法和基于任务的分类法)进行方法分类,这使我们能够从多个角度对涉及的方法进行分析。此外,我们还对为提高性能而设计的三维自我关注机制变体进行了调查。为了证明三维Transformer的优越性,我们比较了基于Transformer的算法在点云分类、分割和物体检测方面的性能。最后,我们指出了三个潜在的未来研究方向,期望为三维Transformer的发展提供一些有益的参考。

I. 简介

​ Transformer模型,作为编码器-解码器架构,已经成为自然语言处理(NLP)中的主导算法。由于长距离依赖关系建模的能力令人印象深刻,它们已被扩展到计算机视觉领域。如图1所示,一个标准的Transformer编码器一般由六个主要部分组成。1)输入(字)嵌入;2)位置编码;3)自我注意机制;4)归一化;5)前馈操作;6)跳过连接。对于三维点云处理,Transformer解码器是为密集预测任务设计的,如部分分割和语义分割。它通常采用PointNet++[1]或U-Net设计,其中Transformer块也被纳入其中。在这里,我们以输入点云P={p1, p2, p3, …, pN }∈RN×D为例来描述Transformer编码器中的每个组件。∈RN×D作为例子来描述Transformer编码器中的每个组件。D是输入点的特征维度。D等于3意味着只取点云的三维坐标作为输入,而D等于6意味着三维坐标和法向量都被作为输入。上述组件的细节如下。- 首先,对于输入的嵌入,P被投影到一个高维的特征空间,这可以促进后续的学习。它可以通过多层感知(MLP)或其他特征提取骨干网络如PointNet[2]来实现。我们把嵌入的特征图表示为X∈RN×C。

- 其次,位置编码被用来捕捉输入数据的几何信息。由于三维坐标可以作为自然位置信息,位置编码可以通过正弦和余弦函数或一些归一化操作来手工制作[3]。此外,还存在一些带有可训练参数矩阵B的位置编码方案[4],[5],它对不同的输入数据有更强的适应性。

- 第三,Transformer编码器的核心部分是自我注意机制。将嵌入的特征图X和位置编码结果的总和作为输入。然后通过三个可学习的权重矩阵WQ∈RC×CQ, Wk∈RC×CK , WV∈RC×C,其中CK等于CQ,将其投影到三个不同的特征空间。这样,查询矩阵、密钥矩阵和价值矩阵可以表示为:
在这里插入图片描述

这种操作能够提高自我注意机制的表达能力。给定查询、关键和价值矩阵,一个注意力图可以表示为:
在这里插入图片描述

其中,Q、K、V分别表示查询、关键和价值矩阵,"×"表示矩阵乘法。

我们可以看到,大小为N×N的注意力图衡量任何两个输入点的相似性,所以它也被称为相似性矩阵。然后,将注意力图和Value矩阵相乘,生成新的特征图F,其大小与X相同。F中的每个特征向量都是通过计算所有输入特征的加权和得到的,所以它能够建立连接与所有输入特征。而这也是Transformer擅长全局特征学习的原因。

- 第四,规范化层放在前馈层的前后,对特征图进行标准化和规范化操作。这一层中使用的归一化方法有两种。LayerNormalization或BatchNormalization。前者常用于自然语言处理(NLP),而后者则常用于计算机视觉,如二维或三维数据处理。

- 第五,添加一个前馈层以增强注意力特征的表示。一般来说,它由两个具有RELU功能的完全连接层组成。

- 最后,用跳过连接来建立自我注意模块的输入和输出之间的连接。

已经有很多使用各种跳过连接形式的自我注意变体[6]-[8],我们将在第五节给出更多细节。

请注意,也有一些三维Transformer并不完全包括这六个部分。例如,早期的三维Transformer网络,如点注意(P-A)网络[6]和注意形状上下文网络[7],并没有位置编码模块。他们专注于将自我注意机制应用于三维点云处理。点云Transformer(PCT)[8]提出了一个由EdgeConv[9]实现的邻居嵌入机制。该机制将位置编码纳入了输入嵌入模块。由于自留地机制是Transformer的核心组成部分,我们也将主要利用自留地机制进行点云处理的方法纳入了三维Transformer家族。

Transformer模型已被广泛引入到图像处理中,并在图像分割[10]、物体检测[11]和跟踪[12]等各种任务中取得了满意的效果。Vision Transformer(ViT)[13]首次提出了一个用于图像分类的纯Transformer网络。与最先进的卷积网络相比,它取得了优异的性能。在ViT的基础上,有大量的Transformer变体被提出用于图像分类[14]-[17]、分割[18]-[20]、物体检测[11]、[15]、[21]、[22]和其他视觉任务。此外,为了提高性能,还提出了各种Transformer结构,如卷积+Transformer[16]、多尺度Transformer[17]和自监督Transformer[23]。也有一些调查[24]-[26]提出将所有涉及的二维Transformer分为多组。他们使用的分类法通常是基于算法架构的分类法和基于任务的分类法。
在这里插入图片描述

​ 由于Transformer架构具有显著的全局特征学习能力和不依赖于顺序的操作,它也被应用于三维点云的处理和分析。

​ 如图2所示,许多三维Transformer骨架被提出用于点云分类和分割[4]、[8]、[30]、[33]、[66]、[67]、检测[31]、[50]、跟踪[52]-[54]、注册[55]-[59]、[68]、[69]、完成[46]、[62]-[65]、[70] 等。此外,三维Transformer网络也被应用于各种实际应用领域,如医疗数据分析[33]和自动驾驶[71], [72]。因此,有必要对3D Transformer作品进行系统的调查。最近,有几篇与3DTransformer/注意力相关的评论已经发表。例如,Khan等人[25]根据基于架构和任务的分类法对视觉Transformer进行了回顾。然而,它主要关注的是二维图像分析的Transformer,只对三维Transformer网络做了简单介绍。Qiu等人[73]介绍了几种三维自关注机制的变体,并对它们在SUN RGBD[74]和ScanNetV2数据集[75]上进行了详细的比较和分析。然而,到目前为止,还没有对三维点云中的Transformer模型进行全面调查。本调查的目的是在上述现有回顾性工作的基础上,对三维Transformer进行全面调查。如图3所示,我们设计了三种不同的分类法:1)基于Transformer实现的分类法;2)基于数据表示的分类法;以及3)基于任务的分类法。通过这种方式,我们能够从多个角度分析Transformer网络。不同类别之间可能会有交叉。以点Transformer(PT)[4]为例:1)在Transformer实现方面,它属于局部Transformer类别,在目标点云的局部邻域运行;2)在数据表示方面,它属于基于点的多尺度Transformer类别,分层提取几何和语义特征;3)在三维任务方面,它被设计为点云分类和分割。此外,我们还对三维点云处理中不同的自我注意变体进行了调查。我们期望为基于Transformer的网络的发展提供一些有益的参考。

本调查报告的主要贡献可以概括为以下几点。- 就我们所知,这是第一篇侧重于全面涵盖三维点云处理和分析中的Transformer的调查论文。

3-本文研究了三维点云处理中的一系列自留地变体。它引入了新颖的自留地机制,旨在提高三维Transformer的性能和效率。

- 本文对基于Transformer的方法在几个三维任务上进行了简要的比较和分析,包括三维形状分类和三维形状/语义分割,以及几个公共基准上的三维物体检测。

- 本文可以为读者提供SOTA方法,因为本文提供了Transformer在三维点云上的最新和最先进的进展。

本文在导言之后分为六个部分。第二、三、四节设计了三种不同的三维变形体分类法。第五节回顾了为提高Transformer的性能而提出的不同的自我注意变体。第六节对所涉及的三维Transformer网络进行了简要的比较和分析。最后,第七节总结了我们的调查工作。

第七节总结了我们的调查工作,并指出了三维Transformer的三个潜在的未来方向。

II. TRANSFORMER 实现

​ 在本节中,我们从多个角度对三维点云Transformer进行大致分类。首先,从操作规模上看,三维Transformer可以分为两部分。全局Transformer和局部Transformer(第二部分)。II-A)。操作尺度代表算法在点云中的范围,如全局域或局部域。其次,就操作空间而言,三维Transformer可分为点状Transformer和通道状Transformer(第二节B)。操作尺度代表算法操作的维度,如空间维度或通道维度。最后,我们回顾了旨在降低计算成本的高效Transformer网络(第二节C)。
在这里插入图片描述

​ 图2:Transformer在三维点云处理中的应用。

A. 操作规模

根据操作规模,3DTransformer可分为两部分。全局Transformer和局部Transformer。前者是指将Transformer块应用于所有输入点进行全局特征提取,而后者是指将Transformer块应用于局部斑块进行局部特征提取。

**\1) 全局Transformer。**有许多现有的工作[5]-[8],[27],[29],[33],[34],[48],[76]专注于全局Transformer研究。对于全局Transformer块,F中的每个新的输出特征可以与所有的输入特征X建立连接,使其具有包络不变性,并能够学习全局的上下文特征[8]。

与PointNet[2]的结构类似,Guo等人[8]提出了Point Cloud Transformer(PCT),一个纯全局Transformer网络。以三维坐标作为输入P,PCT首先提出了一个邻居嵌入架构,将点云映射到高维特征空间。这一操作也可以将局部信息纳入嵌入的特征中。然后,这些特征被送入四个堆叠的全局转化器块以学习语义信息。全局特征最终由全局最大和平均(MA)池提取,用于分类和分割。

此外,PCT设计了一个改进的自我注意模块,名为偏移-注意(OA),其灵感来自于图卷积网络中的拉普拉斯矩阵[77]。我们在第五章A节详细介绍了OA模块的结构。它能够锐化注意力权重并减少噪声的影响。PCT在各种任务上的最先进的性能证明了Transformer适用于三维点云处理。

与PCT的单一尺度不同,Han等人[27]提出了一个跨级别跨尺度跨注意力的

Transformer网络,名为3CROSSNet。首先,它对原始输入点云进行最远点采样(FPS)算法[1],以获得三个具有不同分辨率的点子集。其次,它利用堆叠的多个共享多层感知(MLP)模块来提取每个采样点的局部特征。第三,它将Transformer模块应用于每个点子集,进行全局特征提取。最后,提出了跨层交叉关注(CLCA)模块和跨尺度交叉关注(CSCA)模块,在不同分辨率的点子集和不同层次的特征之间建立联系,以实现长距离的层间和层内依赖关系建模。

Yu等人[29]提出了一种BERT式的三维全局Transformer预训练策略,它将BERT[78]的概念推广到三维点云处理。以局部斑块为输入,他们首先利用mini-PointNet[2]进行输入嵌入,遵循ViT[13]。然后,他们设计了一个带有离散变异自动编码器(dVAE)[79]的点云Tokenizer,将嵌入的点转换成离散的点tokens,用于预训练。Tokenizer网络是由DGCNN[9]实现的,用于有意义的局部信息聚合,并通过基于dVAE的点云重建学习。

在预训练期间,带有一些屏蔽标记的点嵌入被送入转化器编码器。在标记器生成的点标记的监督下,编码器可以通过训练来恢复被遮挡位置的相应标记。作者进行了全面的实验,表明BERT式的预训练策略能够提高纯Transformer在点云分类和分割中的性能。

**2)局部Transformer。**与全局Transformer不同,局部Transformer[4], [30], [31], [38]旨在实现局部补丁而不是整个点云的特征聚合。

Point Transformer(PT)[4]采用了PointNet++[1]的分层结构,用于点云分类和分割。它专注于局部斑块的处理,并用局部转化器模块取代了PointNet++中的共享MLP模块。PT有五个局部转化器模块,对逐步降样的点集进行操作。每个块都是在采样点周围的KNN局部邻域内应用。特别是,PT使用的自我注意算子是向量注意[80],而不是标量注意。前者已被证明对点云处理更有效,因为它支持通道明智的注意力权重分配,而不仅仅是为整个特征向量分配一个权重。关于标量注意力的具体表达,请参考第七节。

同样,局部特征Transformer网络(LFT-Net)[30]也提出要提高局部细粒度特征的表达能力。它由四个堆叠的局部Transformer和Trans-pool块组成,因此局部特征可以不断地被聚合到全局特征中。LFT-Net和PT之间有两个主要区别。一是LFTNet提出了一个跨池模型,而不是常用的对称函数,如最大/平均/和池。这个模型能够缓解特征丢弃的问题。另一个是LFT-Net应用多焦点损失,而不是标准的交叉熵损失函数。这种损失可以解决语义分割任务中复杂区域的类不平衡和学习能力弱的问题。它通过增加一个基于类的权重和衰减系数来重塑标准的交叉熵损失,能够平衡数据分布,增强低准确率类对损失的影响。

Pan等人[31]提出Pointformer,将Transformer块提取的局部和全局特征结合起来,用于三维物体检测。它有三种主要模块:局部转化器(LT)模块、全局转化器(GT)模块和局部-全局转化器(LGT)模块。首先,LT块在FPS生成的每个中心点的附近应用密集的自我注意操作[1]。其次,以整个点云为输入,GT 块旨在通过自我注意机制学习全局上下文感知的特征。

最后,LGT模块采用多尺度交叉注意模块,在LT的局部特征和GT的整体特征之间建立联系。具体来说,LGT模块将LT的输出作为查询,将GT的输出作为键和值来进行自我关注的操作。这样一来,所有的中心点都可以被用来整合全局信息,从而实现有效的全局特征学习。

受Swin Transformer[17]的启发,Lai等人[47]提出了用于三维点云分割的Stratified Transformer。它通过三维体素化将点云分割成一组不重叠的立方体窗口,并在每个窗口中进行局部Transformer操作。分层Transformer也遵循编码器-解码器的结构。编码器是一个由多个阶段组成的分层结构,每个阶段有两个连续的转化器块。前一个块利用分层自我关注(SSA)来捕捉长距离和短距离的依赖关系。而后一个块利用移位的SSA,按照Swin Transformer[17],进一步加强不同独立窗口之间的联系。具体来说,为了解决局部Transformer在捕捉全局信息方面比较弱的问题,SSA为每个查询点生成密集的局部关键点和稀疏的远端关键点。前者是在查询点所属的窗口中生成的,而后者是通过对整个输入点云进行下采样,在更大的窗口中生成的。这样一来,查询点的感受野就不会在本地窗口中受到限制,允许SSA建立长距离的上下文依赖关系。此外,Stratified Transformer在第一阶段进行KPConv[81]嵌入,以提取输入点云的局部几何信息。这一操作在他们的消融实验中被证明是有效的。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fJA2rcIk-1660641995432)
在这里插入图片描述

B. 操作空间

根据操作空间,三维Transformer可分为两类。点式Transformer和通道式Transformer。前者是测量输入点之间的相似性,而后者是沿着通道分配注意力权重,而不关心点云的无序性[36]。一般来说,根据公式2,这两种Transformer的注意力图可以表示为。
在这里插入图片描述

其中P oint - wise Attn的大小为N×N,而Channel - wise Attn的大小为CK×CK。
**1)点-明智的变换。**Point-wise Transformers旨在研究各点之间的空间相关性,并学习长距离的上下文相关的表示。Point-wise Transformers的输出特征图可以被表述为所有输入特征的加权和。它在空间上描述了长距离的上下文依赖关系[35]。由于II-A节中的全局Transformer和局部Transformer是以空间操作尺度来区分的,即整个点云或局部斑块,所以II-A节中所有涉及的方法[4]-[8]、[27]、[29]-[31]、[33]、[34]、[38]、[47]、[48]、[76]都可以被视为点式变形。除了这些方法外,点式Transformer也被广泛地应用于其他任务。

Xu等人[32]提出了一个用于点云去噪的编码器-解码器Transformer网络(TD-Net)。该编码器由一个基于坐标的输入嵌入模块、一个自适应采样模块和四个堆叠的点式自注意模块组成。四个自关注模块的输出被串联起来作为解码器的输入。此外,自适应采样方法可以自动学习由FPS生成的每个采样点的6个偏移量[1]。这种操作使采样点更接近于底层表面。解码器被应用于根据提取的高层次特征来构建底层流形。最后,通过流形采样可以重建一个干净的点云。

Yu等人[33]提出了用于医学点云分析的三维医学点Transformer(3DMedPT)。具体来说,它提出了一个用于分类的分层点智转换器和一个用于分割的统一尺度点智转换器。特别是,3DMedPT将卷积操作引入到点智Transformer块中。它在每个Transformer块之前增加了一个由DGCNN[9]实现的局部特征提取模块。点注意网络(PA)[6]和金字塔点云Transformer(PPT)[48]也有类似的结构。考虑到医学领域的训练样本处理不足,3DMedPT提出了一个名为多图推理(MGR)的特殊模块,以丰富特征表示。

**\2) 通道式Transformer。**与point-wise Transformers不同,channel-wise Transformers[34]-[37], [66]侧重于测量不同特征通道的相似度。

他们能够通过强调不同渠道之间的互动作用来改善情境信息的建模[35]。

Han等人[35]提出了用于点云分析的双Transformer网络(Dual Transformer Network, DTNet),它同时应用点-明智Transformer和通道-明智Transformer操作。在分别提取了点状和通道状的特征后,通过元素相加的操作将它们串联起来,以提高特征的代表性。[35]中的消融研究表明,与仅使用点式和信道式Transformer的DT-Net相比,同时使用点式和信道式Transformer的DT-Net取得了最佳效果。

Qiu等人[36]利用纠错反馈结构的思想,提出了一个用于局部特征捕获的背投CNN模块。它设计了一个信道亲和注意(CAA)模块,以获得更好的特征表示。具体来说,CAA模块由两个块组成:一个紧凑的信道亲和比较器(CCC)块和一个信道亲和估计器(CAE)块。CCC块可以在信道空间中生成相似性矩阵,而不必担心点云的无序性。CAE块进一步计算亲和矩阵,其中具有较高注意力值的元素代表相应的两个通道的较低相似度。这种操作可以锐化注意力权重,避免聚集相似/多余的信息。这样一来,输出特征的每个通道与其他不同的通道有足够的交集,这已被证明对最终结果是有益的。我们还在第五章中详细介绍了CAA的结构。

在[37]中提出的TransformerConv不是只使用特征通道,而是结合了坐标和特征通道来设计一个新的通道明智的Transformer。具体来说,查询矩阵是由坐标信息直接生成的,不需要任何线性转换,而关键矩阵是由特征通道和MLP生成的。然后,注意力矩阵通过元素乘法而不是点乘法计算。这样一来,注意力矩阵就能够代表每个点的坐标通道和特征通道之间的关系。

由于所有的特征都来自于坐标空间,在注意力矩阵中数值较高的元素往往代表相应的特征通道更忠实于坐标空间。之后,V alue矩阵由Key矩阵展开

C. 高效的Transformer

尽管在点云处理方面取得了巨大的成功,但由于大量的线性操作,标准的Transformer往往会导致高计算成本和内存消耗。

给定一个有N个点的输入点云,标准的自我关注模块的计算和内存复杂度是N的二次方,也就是O(N2)。这是在大规模点云数据集上应用Transformer时的主要缺点。

最近,有几个3DTransformer在研究如何改进自我注意模块以提高计算效率。例如,Centroid Transformer[38]将N个点的特征作为输入,同时输出较少数量的M个点的特征。通过这种方式,输入点云中的关键信息可以被概括为较少的输出(称为中心点)。具体来说,它首先通过优化一般的 "软K-means "目标函数,从N个输入点构建M个中心点。然后,它使用M个中心点和N个输入点,分别生成查询矩阵和关键矩阵。注意力图的大小从N×N减少到M×N,所以自我注意的计算成本从O(N2)减少到O(N M)。为了进一步节省计算成本,作者应用了K-Nearest Neighbor(KNN)近似法。这一操作实质上是将全局Transformer转换为局部Transformer。在这种情况下,相似性矩阵是通过测量每个查询特征向量和它的K个邻居关键向量之间的关系而产生的,而不是N个向量。所以计算成本可以进一步降低到O(N K)。同样地,Cheng等人[82]也提出了PatchFormer来减少注意力图的大小。它首先将原始点云分割成M个斑块,然后将每个斑块中的局部特征聚集起来。显著的区别是,PatchFormer使用M个聚合的局部特征来生成Key矩阵,而Centroid Transformer使用M个中心点来生成Query矩阵。这样一来,PatchFormer中自我关注的计算成本也可以降低到O(N M)。

Wang等人[39]提出轻量级Transformer网络(LighTN),以不同的方式降低计算成本。

7 LighTN旨在简化标准Transformer中的主要部件,在提高效率的同时保持Transformer的优异性能。首先,它删除了位置编码块,因为输入的三维坐标可以被看作是位置编码的替代品。

这一操作消除了位置编码本身的开销。其次,它利用一个小尺寸的共享线性层作为输入嵌入层。与[8]中节省计算的邻居嵌入设置相比,嵌入特征的尺寸减少了一半。这样一来,输入嵌入的计算成本就可以降低。

第三,它提出了一个单头自相关层作为自关注模块。WQ、WK和WV的投影矩阵被移除,以减少可学习的参数,达到高效率。由于注意力图只由输入的自相关参数产生,所以自我注意力模块也被命名为自相关模块,可以表述为:
在这里插入图片描述

其中SA(∗)代表自我注意块,F Cout代表线性变换,sof tmax(∗)是激活函数,C是公式2中声明的输入特征尺寸。最后,作者在前馈网络(FFN)中建立了三个线性层(一个标准的FFN块一般有两个线性层),并在中间层使用扩展-还原策略[83]。所以可以缓解自相关层中可学习参数减少造成的负面影响。通过这种方式,LighTN能够保证性能,而FFN只导致计算成本的轻微增加。类似地,[40]中提出的Group Shuffle Attention(GSA)也简化了其Transformer网络中的自我注意机制。它将共享的投影权重矩阵和非线性函数整合到自我注意机制中(关于GSA的详细描述,请参见第五章A节)。

III. 数据表示

有几种形式的三维数据表示,如点和体素,它们都可以作为三维Transformer的输入。由于点可以用体素来表示,所以在点云上也可以进行一些基于体素的方法,从而实现3D变形。根据不同的输入格式,我们将3DTransformer分为基于体素的Transformer和基于点的Transformer。

A. 基于体素的Transformer

与图像不同,三维点云通常是非结构化的,不能直接用传统的卷积运算器处理。然而,三维点云可以很容易地转换为三维体素,其结构类似于图像。因此,一些基于转化器的工作[41]-[43], [47]探索将三维点云转化为基于体素的表示。最一般的体素化方法可以描述如下[84]。首先通过栅格化将点云的包围盒有规律地划分为三维立方体。包含点的立方体被保留,生成点云的体素表示。

受稀疏卷积快速处理体素数据能力的启发[85],[86],Mao等人[42]首次提出了用于三维物体检测的体素Transformer(VoTr)主干。他们提出了子域体素模块和稀疏体素模块,分别从非空和空体素中提取特征。在这两个模块中,在多头自我关注机制(MSA)的基础上,设计了局部关注和扩张关注操作,以保持对众多体素的低计算消耗。如前所述,所提出的VoTr可以被集成到大多数基于体素的三维检测器中。为了解决基于体素的室外三维检测器中Transformer的计算问题,[43]中提出了体素集Transformer(VoxSeT),以集对集的方式检测室外物体。基于自我注意矩阵的低秩特性,通过为每个体素分配一组可训练的 “潜伏代码”,设计了一个基于体素的自我注意(VSA)模块,其灵感来自Set Transformer[87]中的诱导集注意块。

受基于体素的表征在大规模点云上的有效性启发,基于体素的Transformer也可以应用于大规模点云处理。例如,Fan等人[44]提出了用于大规模地点识别的超轻量级稀疏体素Transformer(SVT-Net)。他们设计了一个基于原子的稀疏体素Transformer(ASVT)和一个基于簇的稀疏体素Transformer(CSVT)。前者用于编码短距离的局部关系,而后者则用于学习长距离的上下文关系。Park等人[45]提出高效点Transformer(EPT),用于从点云中理解大规模的三维场景。为了缓解体素化过程中的几何信息损失问题,他们引入了中心感知的体素化和去体素化操作。在此基础上,采用高效自我关注(ESA)层来提取体素特征。他们的中心感知的体素化可以保留体素中的点的位置信息。

B. 基于点的变换

尽管体素是常规格式,但对体素的变换会在一定程度上导致几何信息的损失,并引发问题[1], [2]。点云的格式是原始表示,它保留了输入数据的完整几何信息。因此,大多数基于Transformer的点云处理框架都属于这个类别。而他们的算法架构通常设计为两大类:统一尺度架构[8]、[29]、[46]、[59]、[76]和多尺度架构[4]、[5]、[33]、[35]、[47]、[48] 。

**\1) 统一尺度。**统一尺度架构通常在数据处理过程中保持点特征的尺度不变。

每个模块的输出特征的数量与输入特征的数量一致。最具代表性的工作是PCT[8],在第二章A节已经讨论过。在输入嵌入阶段之后,PCT的四个全局Transformer块直接堆叠在一起,以细化点特征。

没有分层的特征聚合操作,这8有利于解码器设计密集的预测任务,如点云分割。而将所有的输入点送入Transformer块,有利于全局特征学习。然而,由于缺乏局部邻域,统一尺度的Transformer在提取局部特征方面往往比较弱。而且直接处理整个点云会导致高计算成本和内存消耗。

**2)多尺度。**多尺度Transformer是指在特征提取过程中采用渐进式点采样策略的Transformer,也叫分层Transformer。点Transformer(PT)[4]是将多尺度结构引入纯Transformer网络的先驱者。PT中的Transformer层采用的是渐进式采样点集。一方面,采样操作可以通过减少Transformer的参数来加速整个网络的计算。另一方面,这些分层结构通常带有基于KNN的局部特征聚合操作。这种局部特征聚合有利于需要精细语义感知的任务,如分割和完成。而网络最后一层的高度聚集的局部特征可以作为全局特征,可以用于点云分类。此外,还存在许多多尺度的Transformer网络[5]、[33]、[47]、[48],它们利用EdgeConv[9]或KPconv[81]进行局部特征提取,利用Transformer进行全局特征提取。通过这种方式,他们能够将卷积的强大局部建模能力和Transformer的显著全局特征学习能力结合起来,以获得更好的语义特征表示。

IV. 三维任务

与图像处理[25]类似,三维点云相关的任务也可以分为两大类:高层和低层任务。高级任务涉及语义分析,重点是将三维点云转化为人们可以理解的信息。低层次的任务,如去噪和完成,主要是探索基本的几何信息。它们与人类的语义理解没有直接关系,但可以间接地促进高级别任务。

A. 高层次的任务。

在三维点云处理领域,高层任务通常包括。 在这里,我们首先介绍分类和分割任务,这是三维计算机视觉领域中非常普遍和基本的研究课题。

**1)分类和分割。**与图像分类[92]-[95]类似,三维点云分类方法旨在将给定的三维形状分为特定的类别,如室内场景的椅子、床和沙发,室外场景的行人、骑车人和汽车。在三维点云处理领域,由于分割网络的编码器通常是从分类网络发展而来的,因此我们在此将这两项任务整合为一体进行介绍。

Xie等人[7]首次提出将自我注意机制引入点云识别的任务。受形状上下文[96]在形状匹配和物体识别中的成功启发,作者首先将输入的点云转化为一种形状上下文的表示形式。它是由一组同心的壳仓组成的。基于所提出的新型表示,他们随后提出了ShapeContextNet(SCN)来进行点特征提取。为了自动捕捉丰富的局部和全局信息,在形状上下文表征上进一步采用了一个sot-product自我注意模块,形成了注意力形状上下文网络(A-SCN)。

受图像分析[80],[97]和自然语言处理(NLP)[78]中的自我注意网络的启发,Zhao等人[4]设计了一个基于矢量注意的点转化器层。

在点Transformer层的基础上,以残差的方式构建了一个点Transformer块。点Transformer的编码器仅由点Transformer块、点变换和池化操作构建,用于点云分类。此外,点Transformer还使用U-Net结构进行点云分割,其中解码器被设计成与编码器对称。它提出了一个Transition Up模块,从降采样的点集恢复具有语义特征的原始点云。

这种模块由线性层、批量归一化、ReLU和三线插值组成,用于特征映射。此外,在编码器块和相应的解码器块之间引入了一个跳转连接,以增强插值的特征。有了这些精心设计的模块,Point Transformer成为第一个在S3DIS数据集第5区的语义分割中达到70%以上mIoU(70.4%)的模型[98]。至于ModelNet40数据集上的形状分类任务,Point Transformer也达到了93.7%的总体准确率。

Point Cloud Transformer (PCT) [8]提出为点云分类捕捉输入点之间的长距离关系(即全局背景)。由于PCT对所有的输入点都进行了Transformer操作,而没有进行降采样,所以很容易设计一个用于分割任务的解码器。如第二章A节所述,作者首先使用两个级联前馈网络将输入点嵌入到高维特征空间。然后,他们采用四个Transformer块来改进特征表示。此外,受Graph卷积网络中Laplacian矩阵的启发[77],他们设计了一种新颖的偏移-注意力(OA)机制来取代标准的自注意力,以获得更好的性能。最后,PCT在ModelNet40分类数据集上取得了93.2%的总体准确率,在ShapeNet部分分割数据集上取得了86.4%的部分平均交集-Union。所提出的OA模块的有效性也被点云分类中1.0%的总体准确率所验证。

PointASNL[28]将局部信息和全局信息并行起来,用于点云的理解,其灵感来自图像中的非局部操作[99]。具体来说,它首先提出了一个基于注意力的自适应采样(AS)模块9来取代FPS算法[1]。然后,它设计了一个局部非局部(LNL)模块来提取每个采样点的局部和全局特征。局部特征通过采用吸引人的方法(如PointNet++[1],PointConv[100])在局部邻域进行聚合,而全局特征则通过对所有采样点应用自我注意机制来提取。最后,用非线性卷积的通道求和法来融合提取的局部和全局特征。毕竟,PointASNL在ModelNet40上达到了93.2%的总体分类精度[101]。

Masked Point Modeling(MPM)[29]被提出来帮助预训练基于Transformer的纯模型进行点云分类。它的灵感来自于BERT[78]和屏蔽自动编码器[102]的概念。具体来说,一个点云首先被划分为几个局部的点斑块。然后利用miniPointNet来获得每个斑块的嵌入特征(可被视为标记)。与[29]一样,一些标记被随机丢弃(屏蔽),其余的被送入Transformer网络,以恢复被屏蔽的点标记。

训练过程是完全自我监督的,因为被遮蔽的点标记有地面真相。以8192个点作为输入,Point-BERT在ModelNet40上可以达到93.8%的总体精度。

双Transformer网络(DTNet)[35]被提出来,从位置和通道两个角度对输入点之间的上下文依赖关系进行编码,用于点云分类和分割。基于这一思想,构建了两个平行的特征细化分支。第一个分支是标准的点式转化器,它可以捕获特征之间的长距离空间环境依赖。第二个分支是一个通道式转化器,测量不同通道的相似性,其结构与第一个分支相同。最终的精炼特征图是通过对上述两个分支的输出进行元素加和操作得到的。

与标准的自我关注机制相比,中心点关注机制[38]需要N个输入,输出M个元素(M小于N)。输出的元素可以被看作是输入序列的中心点。详细描述请见第二节C。作者认为,当M等于N时,标准的自我注意可以被看作是其中心点注意的特例。对于点云处理,他们通过堆叠多个自我注意层和中心点注意层提出了中心点Transformer。Centroid Transformer在ModelNet40上达到了93.2%的总体精度。对于点云重建的任务,中心点关注块被证明能够在ShapeNet部分[103]和ShapeNet Core13数据集[104]上取得更好的重建结果,其网络参数比3D Capsule Network[105]中的动态路由模块少。

鉴于多头自我关注(MSA)操作在点云分析中成本很高,Y ang等人[40]设计了一个轻量级但高性能的分组洗牌关注(GSA)模块。GSA由组注意和通道洗牌组成[106]。详细来说,首先将点特征图划分为少量的组。然后在每个组内进行多头的自我注意操作,最后再进行通道洗牌操作。

需要注意的是,由于GSA利用共享投影权重矩阵来生成查询和关键矩阵,并使用ELU激活来生成V alue矩阵,所以它比标准MSA更具有参数效率。作为自我关注的变体之一,GSA的架构也在第五节中详细介绍。以GSA为装备,开发了用于点云推理的点关注Transformer(PATs),并在形状分类、室内场景分割和手势识别等任务上显示出良好的效果。

Zhang等人[41]提出了一个纯粹的基于Transformer的点云学习骨干,将三维体素作为输入,称为点-体素Transformer(PVT)。受最近的Swin Transformer[17]的启发,设计了一个稀疏窗口注意(SWA)操作,分别在非重叠和移位的三维体素窗口内进行自我注意。同时,还引入了相对注意力(RA)操作来计算点的细粒度特征。通过上述两个设计模块,PVT可以在一个纯粹的Transformer架构中同时利用基于点和基于体素的网络的优势。

同样,Lai等人[47]提出了Stratified Transformer来明确地编码长距离的上下文。它还将Swin Transformer[17]扩展到通过三维体素化进行点云处理。与PVT的主要区别是,Stratified Transformer将密集的局部点和稀疏的远方点都作为每个查询向量的关键向量。这种操作有利于立方体窗口之间的信息传递和进一步捕捉全局信息。PVT和Stratified Transformer在ShapeNet数据集的部分分割上都达到了86.6%的pIoU。然而,Stratified Transformer在语义分割方面表现更好,在S3DIS数据集上超过PVT 4.7% mIoU。

为了缓解昂贵的计算成本问题,Patch A Ttention(PA T)[82]以线性复杂度计算注意力图,与输入大小成正比。其核心思想是,每个输入点云(N个点)将通过K-Means算法被过度分割成若干个斑块(M个斑块)。与点的数量N相比,这些分割的斑块的数量M要小得多。然后计算出这些斑块的特征图B∈RM×D,并取代传统自留地公式中的关键矩阵(∈RN×D),其中D是嵌入特征空间的维度。这样一来,计算复杂度可以从O(N 2)降低到O(N M)。在PA T的基础上,提出了一个高效的点云处理框架,PatchFormer。根据[82]中的实验,PatchFormer在点云分类中可以达到有竞争力的性能,比以前的3D Transformers快9倍以上。

Han等人[88]为了加强多层次和多尺度之间的特征交互,提出了一个多层次多尺度点Transformer(MLMSPT),用于高效的点表示学习。他们结合了特征金字塔网络[107]和自我注意机制的思想。MLMSPT的输入是一组特征图,它是由基于MLP的点特征嵌入网络在三个具有不同采样分辨率的点集上产生。然后设计了一个点金字塔Transformer块来提取多尺度表征。对于每个分辨率的分支,采用多10级Transformer(MLT)块来编码输入点之间的丰富关系,通过从多个点金字塔Transformer层中获取串联的特征图。在MLT之后,来自三个分支的特征图被串联在一起,并被送入多尺度转化器块,以从多个尺度中提取上下文信息,遵循PF-Net[108]。跨层跨尺度交叉注意力网络(3CROSSNet)[27]也有类似的结构,如第二节A所示。

**2)物体检测。**由于三维点云扫描仪的快速发展,三维物体检测正成为一个越来越流行的研究课题。与二维物体检测任务类似,三维物体检测器的目的是以点云为输入数据输出三维边界盒。最近,Carion等人[11]推出了第一个基于Transformer的二维物体检测器DETR。它提出结合Transformer和卷积神经网络(CNN)来消除非最大抑制(NMS)。此后,在基于点云的三维物体检测领域,与Transformer相关的工作也呈现出蓬勃发展的态势。

在VoteNet[109]的基础上,Xie等人[49],[110]首次将Transformer的自我注意机制引入室内场景的三维物体检测任务中。他们提出了多级上下文投票网(MLCVNet),通过对上下文信息的编码来提高检测性能。在他们的论文中,每个点补丁和投票簇都被视为Transformer中的标记。然后利用自我关注机制,分别通过捕捉点补丁和投票群内的关系来加强相应的特征表示。由于自我注意模块的整合,MLCVNet在ScanNet[75]和SUN RGB-D数据集[74]上都取得了比其基线模型更好的检测结果。Chen等人[90]提出了PQ-Transformer来检测三维物体并同时预测房间布局。整个框架也是基于VoteNet,并利用Transformer解码器来增强提议特征。在房间布局估计和Transformer解码器的帮助下,PQ-Transformer在ScanNet上达到了67.2%的mAP@0.25。

为了实现有效的特征学习,Pan等人[31]提出了一个纯粹的基于Transformer的主干,Pointformer,其结构遵循U-Net的方式。如第二节A所示,Pointformer中引入了三个基于Transformer的模块。本地Transformer(LT)、本地-全球Transformer(LGT)和全球Transformer(GT)。与MLCVNet类似,这些模块的设计是为了借助于编码Transformer的长距离依赖性来增强特征的代表性。拟议的Pointformer提高了室内数据集(SUN RGB-D[74]和ScanNet V2[75])和室外数据集(nuScenes[111]和KITTI[112])的检测性能。

上述方法采用手工制作的分组方案,通过学习仅仅在相应的局部区域内的点来获得物体候选的特征。然而,Liu等人[50]认为,在有限区域内的点分组操作往往会阻碍三维物体检测的性能。因此,他们借助Transformer中的注意力机制,提出了一个无组的框架。其核心思想是,候选物体的特征应该来自给定场景中的所有点,而不是点云的一个子集。在获得候选物体后,他们的方法首先利用一个自我注意模块来捕捉候选物体之间的上下文信息。然后,他们设计了一个交叉注意模块,用所有点的信息来完善物体特征。通过改进的注意力堆叠方案,他们的检测器在ScanNet数据集上实现了69.1%的mAP@0.25。

受二维物体检测的DETR[11]的启发,首先提出了一个端到端的三维检测转化器网络,称为3DETR[51],将三维物体检测表述为一个集到集问题。借用DETR[11]和VoteNet[109]的思路,3DETR也遵循一般的编码器-解码器方式。在编码器部分,采样点和由MLP提取的相应特征被直接送入转化器块以细化特征。在解码器部分,这些特征经过一个平行的Transformer式解码器,变成一组对象候选特征。

这些对象候选特征最后被用来预测三维边界盒。毕竟,3DETR在ScanNetV2和SUN RGB-D上分别将VoteNet提高了9.5% AP50和4.6% AP25。

众所周知,图像可以为三维点云的物体检测提供补充信息[113]。Wang等人[114]专注于探索多模式融合策略。

他们提出了一个端到端的Transformer架构,以融合点云和图像,用于室内场景的三维物体检测,称为桥式Transformer(BrT)。考虑到点云和图像的异质性几何特征,它们并不直接通过简单地对它们施加关注来相互作用。相反,点和图像补丁标记都被送入桥接Transformer层。并利用对象查询在点和图像之间架起信息沟通的桥梁。受益于这种桥接设计,BrT在ScanNetV2验证集上达到71.3% mAP@0.25。

除了上述专注于室内场景的方法外,Sheng等人[66]提出了一个基于通道明智Transformer的两阶段框架(CT3D),以提高室外LiDAR点云中的三维物体检测性能。通道明智Transformer的输入来自区域提议网络(RPN)。此外,Transformer网络由两个子模块组成:提案到点的编码模块和通道明智的解码模块。编码模块首先将建议和其对应的三维点作为输入。然后,它通过一个基于自我注意的模块提取精炼的点特征。信道明智的解码模块通过信道明智的重新加权方案将从编码器模块中提取的特征转化为全局表示。最后,进行前馈网络(FFN)的检测预测。通过这种方式,CT3D在KITTI测试集的中度汽车类别中取得了81.77%的AP。

在与DETR[11]类似的范式中,Bai等人[115]提出了一个基于Transformer的LiDAR和相机融合的3D物体检测器,称为TransFusion。在TransFusion中,注意力机制被用来自适应地融合图像的特征。它旨在缓解由11个校准矩阵建立的LiDAR点和图像像素之间的不良关联问题。CA T-Det[91]也被提出来,以更有效地融合LiDAR点云和RGB图像,提高三维物体检测性能。首先在点云和图像的分支中分别引入一个点Transformer和一个图像Transformer来提取多模态特征。

然后设计了一个跨模态Transformer(CMT)模块,将上述两个数据流的特征结合起来。凭借在KITTI测试中67.05%的mAP性能,CA TDet成为第一个明显超过纯LiDAR的多模式解决方案。

Temporal-Channel TRansformer(TCTR)[72]被提出来处理基于激光雷达的三维视频,以便在自动驾驶中有效地检测物体。其关键思想是基于相邻帧可以为当前帧提供背景信息的观察。具体来说,输入的原始点云首先被转换为图像,而不是仅仅将当前帧t的点云作为输入,它建议包括以前的T帧,以协助t帧的物体检测。然后,TCTR被设计为从多个帧中提取和聚集特征,通过对连续帧的时间通道域和空间上的关系进行编码。

**3)物体跟踪:**三维物体跟踪需要两个点云(即模板点云和搜索点云)作为输入。它在搜索点云中输出目标(模板)的三维边界盒。它涉及点云的特征提取和模板与搜索点云之间的特征融合。

Cui等人[52]认为,大多数现有的跟踪方法没有考虑跟踪过程中物体区域的注意力变化。也就是说,搜索点云中的不同区域应该对特征融合过程贡献不同的重要性。基于这一观察,他们提出了一种基于LiDAR的三维物体跟踪与TRansformer网络(LTTR)。该方法能够通过捕捉跟踪时间内的注意力变化来改善模板和搜索点云的特征融合。具体来说,他们首先建立了一个Transformer编码器来分别改进模板和搜索点云的特征表示。然后,他们采用交叉注意力机制来建立一个转化器解码器。它可以通过捕捉给定的两个点云之间的关系来融合模板和搜索点云的特征。受益于模板和搜索点云之间基于Transformer的特征融合,LTTR在KITTI跟踪数据集上达到了65.8%的精度。Zhou等人[53]也提出了一个点关系Transformer(PRT)模块,以改善其粗到细的点跟踪Transformer(PTTR)框架中的特征融合。与LTTR类似,PRT采用自我注意和交叉注意来分别编码点云内部和之间的关系。不同的是,PRT利用偏移注意[8]来缓解噪声数据的影响。毕竟,PTTR在平均成功率和精确率方面分别超过了LTTR 8.4%和10.4%,成为KITTI跟踪基准的新SOTA。

与上述两种侧重于特征融合步骤的方法不同,Shan等人[54]在特征融合步骤之后引入了一个点跟踪Transformer(PTT)模块来增强特征表示。来自融合步骤的特征和相应的点坐标被映射到嵌入空间中。还设计了一个位置编码块,通过KNN算法和一个MLP层来捕捉位置特征。有了上述两个嵌入的语义和位置特征作为输入,最后应用一个自我关注块来获得更多的代表性特征。为了验证所提出的PTT的有效性,作者将其整合到P2B[116]模型的种子投票和提案生成阶段,得到PTT-Net。正如实验所证明的,PTT-Net在汽车类别的KITTI上将P2B的精确度提高了9.0%。

**4)注册。**给定两个点云作为输入,点云注册的目的是找到一个变换矩阵来对齐它们。

Wang等人[55]通过设计他们的深度最接近点(DCP)模型将Transformer编码器引入到点云注册的任务中。按照惯例,输入的未对齐的点云首先被送到一个特征嵌入模块,如PointNet[2]和DGCNN[9],将三维坐标转移到一个特征空间。然后应用一个标准的Transformer编码器,在两个嵌入的特征之间进行上下文聚合。最后,作者利用一个可微分的奇异值分解(SVD)层来计算刚性转换矩阵。DCP是第一个采用Transformer模型来改善登记中的点云特征提取的工作。在同样的范式下,Wang等人[56]也部署了Transformer层来完善EdgeConv[9]层所提取的点状特征,捕捉点云间的长期关系。由此产生的网络被称为STORM,在ModelNet40数据集上实现了比DCP更好的部分注册性能。同样,Fischer等人[57]也利用多头自我和交叉注意机制来学习目标和源点云之间的背景信息。但他们的方法主要是处理室外场景,例如KITTI数据集[112]。

为了在两个点云之间找到更稳健的对应关系,Fu等人[58]提出了第一个基于深度图匹配的框架(RGM)来执行稳健的点云注册,该框架对异常值不太敏感。在图的建立过程中,他们采用Transformer编码器来获得图中两个节点的软边缘。利用生成的软图边缘,在注册部分对部分的点云时,可以为重叠的部分获得更好的对应关系。当用全连接边缘和稀疏连接边缘取代ModelNet40时,所提出的基于Transformer的边缘生成器的有效性通过性能下降得到证明。

为了解决由浅宽Transformer架构引起的特征提取不明确的问题,Chen等人[59]提出了深度交互Transformer(Deep Interaction Transformer,DIT)来改善特征识别。他们精心设计了三个新颖的模块来进行特征提取和对应的置信度评估。为了获得每个输入点云的良好表示,提出了一个点云结构提取器(PSE)。它采用了Transformer编码器来模拟全局关系,并提出了一个局部特征集成器(LFI)来编码结构信息。两个输入点云的提取特征(FX,FY)然后被送入12个深窄的点特征Transformer(PFT),以建立全面的关联。此外,他们还插入一个位置编码网络来编码点之间的相对位置信息。通过这种方式,可以得到具有更丰富信息的特征表示(ΨX, ΨY )。给定两个特征和已建立的对应关系,设计了一个基于几何匹配的对应关系置信度评估(GMCCE)来过滤掉置信度低的不良对应关系。通过完整的Transformer网络提取的更具代表性的特征,DIT优于以前的方法,在ModelNet40的清洁点云上达到1.1e - 8的tM AE[101]。

最近,Y ew等人[69]认为,在点云注册中通过RANSAC进行的显式特征匹配和离群点过滤可以用注意力机制代替。因此,他们设计了一个端到端的Transformer框架,称为REGTR,以直接找到点云的对应关系。在REGTR中,来自KPconv[81]主干的点特征被送入几个多头的自我关注和交叉关注层,用于捕捉关系。通过上述简单的设计,REGTR成为目前ModelNet40[101]和3DMatch[117]数据集上最先进的点云注册方法。同样,Qin等人[68]也在他们的GeoTransformer中利用自我和交叉注意力来寻找稳健的超点对应关系。在注册召回率方面,REGTR和GeoTransformer在3DMatch数据集上都达到92.0%。然而,GeoTransformer在3DLoMatch[118]数据集上比REGTR高出10.2%。

**5)点云视频理解。**我们周围的三维世界在时间上是一致的、动态的,传统的单帧和固定的点云不能完全代表它。相比之下,点云视频,一组以固定帧率拍摄的点云,可能是我们真实物理世界的一种有希望的数据表示。对于智能系统来说,理解点云视频以更好地与世界互动更为重要。点云视频的理解涉及到处理三维点云的时间序列,这些点云之间有一个长距离的关系。

因此,Transformer可能是处理点云视频的一个有希望的选择,因为它们善于处理全局的长距离互动。

基于上述观察,Fan等人[60]提出了点4DTransformer网络,称为P4Transformer,用于处理点云视频的动作识别。为了提取点云视频的时空局部特征,输入数据首先由一组时空局部区域表示。然后使用点4D卷积对每个局部区域的特征进行编码。之后,作者设计了一个Transformer编码器,通过捕捉整个视频的长距离关系来接收和整合局部区域的特征。P4Transformer被成功地应用于点云的三维动作识别和四维语义分割的任务。它在许多基准上取得了比基于PointNet++的方法更高的结果(例如,用于3D动作识别的MSR-Action3D[119]、NTU RGB+D 60[120]和120[121]数据集,以及用于4D语义分割的Synthia 4D[86]数据集)。P4Transformer展示了Transformer对点云视频理解的有效性。

B. 低层任务。

低层次任务的输入数据通常是带有遮挡、噪声和不均匀密度的原始扫描点云。因此,低级任务的最终目标是获得高质量的点云,这可能有助于高级任务。一些典型的低层次任务包括点云的下采样[39]、上采样[34]、去噪[32]、[61]、完成[46]、[62]-[65]、[70]等。

**\1) 下采样。**给定一个有N个点的点云,下采样方法的目的是输出一个有M个点的更小的点云,同时保留给定点云的几何信息。wang等人[39]利用Transformer的强大学习能力,提出了轻量级Transformer网络(LighTN),以任务导向的方式对点云进行下采样。如第二节C所示,它首先删除了位置编码,然后使用一个小尺寸的共享线性层作为嵌入层。此外,MSA模块被替换为一个单头自相关层。实验结果表明,上述策略大大降低了计算成本,同时保留了特征学习的能力。在只对32个点进行采样的情况下,仍然可以达到86.18%的分类精度。

此外,所设计的轻量级Transformer网络是一个即插即用的模块,可以很容易地插入到其他相关网络中。

**2)上采样。**与下采样相反,上采样方法旨在输出一个比输入点云更大的点云。预计上采样的点将位于给定的稀疏点云所代表的物体的底层表面。PU-Transformer[34]是第一个将基于Transformer的模型应用于点云重采样的工作。其核心思想是通过在Transformer编码器中设计两个新的块来激活Transformer编码器在点云特征表示中的强大能力。

第一个块是位置融合块(PosFus),其目的是捕捉点云数据的局部位置相关信息。第二个是移位通道多头自留(SC-MSA)块。它是为了解决传统MSA中不同头的输出之间缺乏联系的问题。关于SC-MSA的更多细节,请参见第五节。 PU-Transformer显示了基于Transformer的模型在点云上采样中的巨大潜力。

**\3) 去噪。**去噪方法将被噪声破坏的点云作为输入,并通过利用局部几何信息输出干净的点云。Xu等人[32]提出了基于Transformer的去噪网络(TDNet),以编码器-解码器的方式处理点云。将每个点作为一个词,他们改进了NLP Transformer[3],使其适用于点云特征提取。基于Transformer的编码器可以将输入的点云映射到一个高维的特征空间,并进一步学习点之间的语义关系。通过编码器提取的特征,可以得到输入噪声点云的潜流形。最后,通过对每个补丁流形的采样,可以生成一个干净的点云。

13 另一类点云去噪是直接从输入点云中过滤掉噪声点。例如,一些激光雷达点云可能包含大量的虚拟(噪声)点。这些点是由玻璃或其他类型的反射材料的镜面反射产生的。为了检测这些反射噪声点,Gao等人[61]首先将输入的三维激光雷达点云投影到一个二维范围图像。然后采用一个基于Transformer的自动编码器网络来预测一个噪声掩码,以指示来自反射的点。

**4)完成。**在大多数三维实际应用中,由于其他物体的遮挡或自我遮挡,通常很难获得物体或场景的完整点云。

这个问题使得点云的完成成为三维视觉领域中一个重要的低级任务。完整的点云包含更多关于物体的几何信息,这些信息可以用来帮助计算机更好地理解物理世界。

PoinTr在[62]中提出,首次将点云完成转换为集对集的翻译任务。具体来说,作者声称,输入的点云可以由一组局部点组来表示,称为 “点代理”。

以一连串的点代理作为输入,精心设计了一个几何感知的转换块,以生成缺失部分的点代理。以一种从粗到细的方式,FoldingNet[122]最终被用于根据预测的点代理生成点。几何感知的Transformer模块是一个即插即用的模块,它可以捕获点之间的语义和几何关系。PoinTr在PCN数据集上达到了8.38的平均L1倒角距离(CD)[123]。

与PointTr不同,Xiang等人[63]提出将点云完成的任务表述为三维点以雪花状的方式增长。基于这一见解,SnowflakeNet被提出来,专注于恢复完整点云的精细几何细节,如角落、尖锐边缘和平滑区域。其核心思想是将Snowflake Point Deconvolution(SPD)层与skip-Transformer相结合,以更好地指导点分割过程。

SPD可以从一个给定的点生成多个点。SkipTransformer能够从给定的点和生成的点中捕捉到上下文和空间信息。

在集成了skip-Transformer之后,SPD层能够对结构特征进行建模,从而产生更加紧凑和结构化的点云。受益于雪花状的理念和跳过Transformer,SnowflakeNet在PCN数据集上的平均L1倒角距离(CD)超过了PoinTr 1.17。

由于部分扫描数据的存在,机器人抓取方法经常会出现错误的抓取估计。为了解决这个问题,Chen等人[64]提出了一个面向机器人抓取的形状完成模型,称为TransSC。一个基于Transformer的多层感知(TMLP)模块被设计用来提取更好的点状特征表示。然后采用一个基于流形的解码器,通过对点特征的解码来产生完整的点云。Lin等人[46]在他们的点云完成网络(称为PCTMA Net)中也利用了一个Transformer编码器来改善特征表示。与TransSC类似,他们声称基于Transformer的嵌入网络比基于MLP的网络能够为每个点提取更多的鉴别性特征。Liu等人[70]在他们提出的基于Transformer的动态点云完成框架中,也整合了自我注意和交叉注意来增强特征提取。

[65]提出的V ector Quantized Deep Implicit Functions(VQDIF)不是直接在点云上工作,而是引入了一种新的三维稀疏表示。它将三维点云转换为一组离散的2元组。因此,他们设计了一个VQDIF编码器和解码器来执行三维点云和拟议的2元组之间的转换。然后,来自部分观测的2元组特征序列可以被送入基于Transformer的自回归模型,即ShapeFormer,以生成完整的特征序列。

接下来,这些序列会被VQDIF解码器投射到一个特征网格中。最后,采用3D-Unet[124]来生成物体整体形状的局部深度隐含函数。

V. 三维自适应变体

在标准自适应模块的基础上,有许多变体被提出来以提高Transformer在三维点云处理中的性能,如图4和5所示。

根据II-B节,我们将相关的变体分为两部分。点式Transformer和通道式Transformer。

A. Point-wise V ariants Point Attention (P-A) network [6] (Fig. 4(a)) and Attentional ShapeContextNet (A-SCN) network [7] (Fig. 4(b)) in their Transformer encoders design different residual structures。

前者加强了模块的输出和输入之间的联系,而后者则建立了模块的输出和V alue矩阵之间的关系。

而相关的实验证明,为了学习一个好的模型,残差连接是必要的[7]。

受图卷积网络中拉普拉斯矩阵L=D-E的启发[77],点云Transformer(PCT)[8]进一步提出了偏移-注意(OA)模块(图4(c))。

它通过矩阵减法计算自我关注(SA)特征和输入特征X之间的偏移(差异),这类似于离散的拉普拉斯运算。此外,它通过用Softmax + L1 Norm (SL)操作取代Scale + Softmax (SS),完善了相似性矩阵的标准化。它能够锐化注意力权重并减少噪声的影响。在偏移-注意的基础上,Zhou等人[53]提出了一个关系注意模块(RAM),其结构与OA模块相似。不同的是,它首先通过线性层将查询、关键和V alue矩阵投射到潜在的特征空间。然后,它不是通过直接将查询矩阵和关键矩阵相乘来生成Attentionmap,而是对查询矩阵和关键矩阵进行二级归一化处理。这种操作可以防止少数特征通道以极大的幅度占主导地位。[53]中的消融实验表明,L2归一化能够提高模型的性能。
在这里插入图片描述

他的信道空间。如图5(a)所示,与标准的自我注意机制不同,信道明智的MSA将转置的查询矩阵和密钥矩阵相乘。通过这种方式,可以生成注意力图来衡量不同信道之间的相似性,如公式3所描述。

如图5(b)所示,Channel-wise Affinity Attention (CAA)模块[36]利用类似的方法,Compact Channel-wise Comparator block (CCC),来生成不同通道之间的相似性矩阵。此外,它还设计了一个通道亲和估计器块(CAE)来生成亲和矩阵,加强不同通道之间的联系,避免聚集相似/多余的信息。V alue矩阵由一个MLP层生成,最终的特征图由亲和矩阵和V alue矩阵相乘得到。此外,CAA模块在输入和输出特征图之间使用了一个常规的跳过连接。

在[37]中提出的Transformer-Conv模块可以学习特征通道和坐标通道之间的潜在关系。如图5(c)所示,查询矩阵和关键矩阵分别由点云的坐标和特征生成。然后,相似性矩阵可以通过关系函数β(例如,元素相乘)和通道softmax操作产生。与上述方法不同,Transformer-Conv模块中的V alue矩阵是通过线性投影从Key矩阵生成的。

这种操作能够在V alue矩阵和相似性矩阵之间建立一种响应关系。而这样的关系可以通过将相似度矩阵和V alue矩阵以元素的方式相乘来获取。最后,最终的特征图可以通过使用通道最大集合和进一步的1×1卷积产生。

VI. 比较和分析

本节简要介绍了三维Transformer在几个主流任务上的总体比较和分析,包括分类、部件分割、语义分割和物体检测。

A. 分类和分割

三维点云分类和分割是两项基本但具有挑战性的任务,Transformer在其中发挥了关键作用。分类最能反映网络的特征提取能力。因此,我们首先根据分类任务对这些三维Transformer进行总结。

表一显示了不同方法在ModelNet40[101]数据集上的分类精度。为了公平比较,还显示了输入数据和输入规模。我们使用被广泛采用的整体准确率(OA)作为评价指标。

从表中我们可以看出,自2020年ViT[13]首次将Transformer架构应用于图像分类以来,基于Transformer的点云处理方法近期不断涌现。由于强大的全局信息聚合能力,Transformer在这项任务中迅速占据了主导地位。就性能而言,大多数三维Transformer的分类精度达到了93.0%左右。最新的PVT[41]将这个极限推到了94.0%,超过了同一时期的大多数非Transformer算法。作为一项新兴技术,Transformer在点云分类中的成功表明了它在三维点云处理领域的优越性和巨大潜力。

我们还介绍了几种最先进的非基于Transformer的方法的结果作为参考。可以看出,最近的非基于Transformer的分类方法的分类精度方法已经超过了94.0%,最高的是PointMLP[136]取得的94.5%。因此,很难说哪种算法是最好的,我们相信在未来三维Transformer会有新的突破。

对于零件分割,在ShapeNet零件分割数据集[103]上进行了比较。常用的零件平均数Intersection-over-Union被设定为性能指标。如表二所示,除了ShapeContextNet[7]是2019年前的早期模型外,所有基于Transformer的方法都能达到86%左右的pIOU。请注意,Stratified Transformer[47]在所有比较方法中实现了最高的86.6%的pIoU。而且它也是S3DIS语义分割数据集[98]上语义分割任务中的最佳模型(表三)。

表一: 在ModelNet40[101]数据集上对所涉及的点云分类方法进行了比较分析。OA指的是总体精度。所有引用的结果都来自引用的论文。P=点,N=法线。
在这里插入图片描述

B. 物体检测

来自点云的三维物体检测仍然是由Transformer开发的。与上述三个任务相比,目前仅有少数基于Transformer或注意力的方法被提出。其原因可能是物体检测的任务比分类更复杂。表四和表五总结了这些基于Transformer的网络在两个公共室内场景数据集上的表现。SUN RGB-D[74]和ScanNetV2[75]。这里还报告了VoteNet[109]作为参考,它是三维物体检测方面的开创性工作。就ScanNetV2数据集的AP @25而言,所有基于Transformer的方法都比V oteNet表现得更好。其中,Pointformer[31]和MLCVNet[49]是基于V oteNet的,并取得了类似的性能。它们都是利用Transformer中的自我关注机制来增强特征表示。GroupFree3D[50]没有利用上述两种方法中的局部投票策略,而是直接聚合了场景中所有点的语义信息来提取物体的特征。其69.1%的性能表明,通过自我关注机制聚合所有元素的特征是一种比VoteNet、MLCVNet和Pointformer中的局部投票策略更有效的方法。3DETR[51]作为第一个基于Transformer的端到端三维物体检测器,在ScanNetV2数据集中取得了第二好的检测性能,达到65.0%。

VII. 讨论和结论

A. 讨论

与二维领域一样,Transformer在三维点云处理中也显示出其优越性。从三维任务的角度来看,基于Transformer的方法主要集中在高水平的任务上,如分类和分割。而且他们在准确度方面取得了突破性的提高。我们认为原因在于Transformer通过捕捉长依赖关系更好地提取全局上下文信息,这与高层任务的语义信息相对应。相反,低层次的任务,如去噪和采样,侧重于探索局部几何特征。从性能的角度来看,三维Transformer提高了这些任务的准确性,超过了大多数现有的方法。然而,正如第6节中所显示的那样,三维Transformer在这些任务的准确性方面仍有差距。

第六节所示,它们与最开始的非基于Transformer的方法之间仍然存在差距。因此,尽管三维Transformer发展迅速,但作为一种新兴技术,它们仍然需要进一步探索和改进。

基于Transformer的特性及其在二维领域的成功应用,我们为三维Transformer指出了几个潜在的未来方向,希望它能点燃这项技术的进一步发展。

**\1) 补丁式Transformer。**如第二部分B节所述,三维Transformer可分为两组。点式Transformer和通道式Transformer。此外,参考二维图像处理中对Transformer的探索[80],我们能够根据操作形式进一步将Point-wise Transformers分为Pair-wise Transformers和Patch-wise Transformers。前者是通过一对相应的点来计算一个特征向量的注意权重,而后者是通过纳入给定补丁中所有点的信息来计算。具体来说,对偶Transformer的自我关注机制可以描述为:yi = X j∈<i α(xi, xj) ? β(xj), (6) 其中yi是输出特征,<i是自我注意模块的操作范围,β通过线性层将特征xj投射到新的特征空间,α(xi, xj)被用来衡量xi和xj之间的关系,可以分解为。 α(xi, xj) = ρ(γ(δ(xi, xj))), (7) 其中ρ是归一化函数,如so
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目前,在三维点云处理领域几乎没有补丁式Transformer的研究。考虑到补丁式Transformer的优点及其在图像处理中的突出表现,我们认为将补丁式Transformer引入到点云处理中有利于提高性能。

2)自适应集合抽象。PointNet++[1]提出了一个集合抽象(SA)模块来分层提取点云的语义特征。它主要利用FPS和查询球分组算法来分别实现采样点搜索和局部补丁构建。然而,由FPS生成的采样点往往均匀地分布在原始点云中,而忽略了不同部分的几何和语义差异。

例如,飞机的尾部比机身部分在几何上更加复杂和明显,这使得前者需要更多的采样点来描述。此外,查询球分组只注重根据欧氏距离来搜索邻居点。然而,它忽略了点之间的语义特征差异,这使得具有不同语义信息的点很容易被分组到同一个局部补丁中。因此,开发一个自适应的集合抽象有利于提高三维Transformer的性能。最近,在三维领域已经有一些基于Transformer的方法在探索自适应采样[39]。但几乎没有一种方法能充分利用自我注意机制产生的丰富的短距离和长距离依赖关系。在图像处理领域,[137]提出的Deformable Attention Transformer(DAT)通过引入偏移网络来生成变形的采样点。

它在综合基准上取得了持续改进的结果,并降低了计算成本。提出一种基于分层Transformer的自我注意机制的自适应采样方法将是有意义的。

此外,受二维领域的超级像素[138]的启发,我们认为利用三维Transformer中的注意力图来获得点云超分的 “超级点”[139]是可行的,将点级三维数据转换为区级数据。这样一来,这种自适应聚类技术就可以用来替代查询球分组的方法。

**3)自监督的Transformer预训练。**Transformer在NLP和二维图像处理任务上表现出令人印象深刻的性能。然而,他们的成功不仅源于他们出色的可扩展性,而且还源于大规模的自我监督预训练[78]。Vision Transformer[13]进行了一系列的自我监督实验,并展示了自我监督的Transformer的潜力。

在点云处理领域,尽管有监督的点云方法取得了重大进展,但点云标注仍然是一项劳动密集型的工作。而有限的标注数据集阻碍了监督方法的性能提升,尤其是在点云分割任务方面。最近,有一系列自监督方法被提出来解决这些问题,如生成对抗网络(GAN)[140],自动编码器(AE)[141],[142],和高斯混合模型(GMM)[143]。这些方法使用自动编码器和生成模型来实现自我监督的点云表示学习[89]。它们令人满意的表现证明了自监督点云方法的有效性。

然而,目前很少有自监督的Transformer被应用于三维点云处理。随着三维点云数据集的增加,特别是大规模复杂点云数据集的增加,值得探索用于点云表示学习的自监督三维Transformer。

总的来说,我们可以看到,Transformer刚刚开始应用于点云相关的任务。而Transformer在点云处理中的真正威力仍有很大的空间需要深入探索。

B. 结论

云标注仍然是一项劳动密集型的工作。而有限的标注数据集阻碍了监督方法的性能提升,尤其是在点云分割任务方面。最近,有一系列自监督方法被提出来解决这些问题,如生成对抗网络(GAN)[140],自动编码器(AE)[141],[142],和高斯混合模型(GMM)[143]。这些方法使用自动编码器和生成模型来实现自我监督的点云表示学习[89]。它们令人满意的表现证明了自监督点云方法的有效性。

然而,目前很少有自监督的Transformer被应用于三维点云处理。随着三维点云数据集的增加,特别是大规模复杂点云数据集的增加,值得探索用于点云表示学习的自监督三维Transformer。

总的来说,我们可以看到,Transformer刚刚开始应用于点云相关的任务。而Transformer在点云处理中的真正威力仍有很大的空间需要深入探索。

B. 结论

​ Transformer模型在三维点云处理领域引起了广泛的关注,并在各种三维任务中取得了令人瞩目的成果。在本文中,我们全面回顾了近期基于Transformer的网络在点云相关任务中的应用,如点云分类、分割、物体检测、注册、采样、去噪、补全和其他实际应用。我们首先介绍了Transformer的基本定义,并简要介绍了二维和三维Transformer的发展和应用。然后,我们利用三种不同的分类法,将所涉及的方法分为多组,从多个角度进行分析。此外,我们还研究了一系列旨在提高性能和降低计算成本的自注意变体。在点云分类、分割和物体检测方面,本文对所涉及的方法进行了简要比较。最后,我们为三维Transformer的发展提供了三个潜在的未来研究方向。我们希望这次调查能给研究人员提供一个3DTransformer的整体视图,并推动他们对进一步提高性能的兴趣。

Transformer 构建三维世界:从图片到可探索 3D 场景的生成与部署 在大模型技术快速迭代的背景下,三维生成已成为继文本和图像之后的新前沿。Transformer 架构以其强大的自注意力机制,能够有效捕捉跨视角的几何关联,将二维视觉特征映射为结构化的三维表示,从而成为连接 2D 与 3D 的桥梁。借助 3D Gaussian Splatting、NeRF 等表示技术,配合 LRM、SF3D、VastGaussian 等开源模型,现在仅需几张普通照片即可生成可自由漫游的 3D 场景。这一技术路径正加速落地于数字孪生、游戏开发、室内设计与工业仿真等领域。本文围绕这一主题,梳理了 阅读详情

相关推荐

论文精读(2)| CVPR2025 | VGGT:用一个Transformer搞定3D重建,速度、精度全面超越传统方法!

近年来,3D计算机视觉领域在 SfM、MVS、深度估计等多个任务上取得了飞跃发展,尤其是在大模型和Transformer架构的推动下,一些端到端系统开始尝试挑战传统“视觉几何 + 后处理”的范式。这个模型厉害在哪?一句话总结:🧠VGGT 是一个仅靠前向传播就能完成从图像到3D重建全过程的大型 Transformer,甚至无需 Bundle Adjustment,就能在多个3D任务中超越现有SOTA!

qq_43587443的博客 1446

Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)

Transformer 一直是自然语言处理 (NLP) 和计算机视觉 (CV) 的核心。NLP 和 CV 的巨大成功激发了研究者对 Transformer 在点云处理中的使用的探索。但是,Transformer如何应对点云的不规则性和无序性?Transformer 对不同的 3D 表示(例如点云或体素)的适用性如何?Transformer 对各种 3D 处理任务的能力如何?到目前为止,还没有对这些问题的研究进行系统的调查。论文全面概述了用于 3D 点云分析的 Transformer算法。

abcwsp的博客 4666

C++时间复杂度分析

如果想要知道一个程序运行需要花费多少时间,直接运行测试不是更简单更准确吗?何必去花精力推算复杂度!首先,这个想法没问题,确实可以直接跑出来,但这属于马后炮,无法提前预估算法的时间复杂度,而且也非常受限:1、测试结果在不同处理器上运行的结果会有很大波动2、即使在同一环境下运行,不同数据也会导致结果有很大波动所以需要一个不用具体测试就能评估程序执行效率的方法,也就是时间、空间复杂度分析方法。

hls0611的博客 3839

探索3D视觉中的Transformer架构:通用Backbone与自适应采样策略 !

计算机视觉中的一个基本问题是在三维空间中理解和识别场景与物体。它允许以紧凑的方式表达关系,并提供在现实世界中导航和操作的能力。3D视觉在各个领域都发挥着重要作用,包括自动驾驶、机器人技术、遥感、医疗、增强现实、设计行业等众多应用。由于以下几个原因,3D领域引起了越来越多的兴趣:(1)各种3D捕获传感器的发展,例如激光雷达(LiDAR)和RGB-D传感器;(2)引入了大量在3D空间收集和标记的大型3D几何数据集;(3)3D深度学习方法取得的进展。常见的3D深度学习方法采用深度卷积神经网络(CNNs)和多层感知

2401_85375186的博客 2918

获取本机正版windows10激活密钥,以及正版office

本方法面向的是以前买过笔记本电脑给你预装了正版系统,激活了正版office(一般是家庭版)的情况,其他情况请自行尝试。

qq_45774917的博客 2万+

Flowable第一篇、快速上手(Flowable安装、配置、集成)

Flowable是一个轻量级、高效可扩展的工作流和业务流程管理(BPM)引擎,支持在Java应用程序中实现复杂的工作流自动化。Flowable最初是作为Activiti项目的一个分支发展而来的,但它现在已经成为一个独立的开源项目,并在企业级应用中得到了广泛使用

Du_XiaoNan的博客 1万+

2022年机器视觉综述论文

2022机器视觉综述

weixin_47659520的博客 8116

Kettle 连接 Oracle 数据库全流程指南

例如:C:\Oracle\product\19.0.0\dbhome_1\jdbc\lib\ojdbc8.jar 2. 替换 Kettle 驱动文件 将驱动文件复制到 Kettle 的 目录: 删除旧版本驱动:如 ojdbc14.jar 只能保留一个oracle驱动 重启 Kettle 以加载新驱动 二、配置数据库连接 1. 启动 Kettle 并新建转换 运行 (Windows)或 (Linux)。 新建转换(Transformation),添加 “表输入” 步骤,双击进入配置。 2.

qq_44724453的博客 3481

TIP2023| nnFormer:利用交织3D卷积和Transformer进行医学分割的新方案

Transformer作为自然语言处理的首选模型,在医学影像界引起了很少的关注。考虑到利用长期依赖关系的能力,Transformer有望帮助非典型卷积神经网络克服其空间归纳偏差的固有缺点。nnFormer不仅利用**交织卷积和自注意**操作的结合,还引入了局部和全局基于体积的自注意机制来学习体积表示。此外,nnFormer提出在U-Net类架构中**使用跳跃注意**来代替传统的跳跃连接中的连接/求和操作

qq_45807235的博客 6575

AI辅助发明专利撰写实战:30分钟高效生成高质量技术专利文档

在技术专利撰写领域,尤其是软件、算法或系统架构相关的发明专利,如何将创新的技术构思快速、规范地转化为符合《专利法》要求的申请文件,是许多开发者和技术团队面临的共同挑战。传统的人工撰写方式不仅耗时耗力,对撰写人的法律和技术双重背景要求极高,还容易因格式或术语不规范导致审查意见增多。本文将分享一套利用 AI 辅助工具,系统化、高效率地完成一篇高质量发明专利说明书撰写的实战流程。通过清晰的步骤拆解、可复制的提示词(Prompt)工程以及关键注意事项,即使是首次接触专利撰写的开发者,也能在短时间内掌握从技术方案梳理

子夜轻风 952

避开命令行!在VMware vCenter 8.0图形化界面里搞定SSL证书续期全流程

本文详细介绍了在VMware vCenter 8.0图形化界面中完成SSL证书续期的全流程,包括计算机SSL证书、VMCA根证书和STS证书的管理。通过可视化操作,管理员无需使用命令行即可高效处理证书问题,确保vSphere环境的稳定运行。文章还提供了证书监控与预警配置的实用技巧,帮助用户提前规避证书过期风险。

weixin_27051161的博客 282

一文尽览 | 首篇Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)...

Transformer 一直是自然语言处理 (NLP) 和计算机视觉 (CV) 的核心。NLP 和 CV 的巨大成功激发了研究者对 Transformer 在点云处理中的使用的探索。但是,Transformer如何应对点云的不规则性和无序性?Transformer 对不同的 3D 表示(例如点云或体素)的适用性如何?Transformer 对各种 3D 处理任务的能力如何?到目前为止,还没有对这些问题的研究进行系统的调查。论文全面概述了用于 3D 点云分析的 Transformer算法。

CV_Autobot的博客 3576

Sentaurus TCAD建模:宽温区n型FinFET模型校准与低温仿真分析

本文基于Sentaurus TCAD平台,建立了n型FinFET的宽温区(233K-393K)仿真模型,解决了低温(73K-193K)仿真失效问题。研究对比了Sprocess工艺仿真与SDE几何建模两种方法,分析了载流子冻析效应、不完全电离和迁移率退化等低温物理机制。通过优化模型参数,实现了在233K、313K和393K条件下仿真误差小于10%,并建立了符合物理趋势的低温外推模型。研究提供了完整的Sentaurus TCAD代码实现,包括器件结构定义、物理模型配置和温度相关参数校准,为宽温区FinFET仿真

huanghm88的专栏 264

17篇点云处理综述-点云语义分割、点云物体检测、自动驾驶中的点云处理……

收集了17篇点云处理的综述文章,方便大家全面了解三维点云处理的技术发展、了解其发展路线,便于咱们自己的学习规划及学术方向研究。

一点人工一点智能的博客 2442

【知识分享】高速印刷电路板(PCB)寄生参数计算指南

对于高速PCB设计而言,寄生参数一直是令人讨厌的问题,它们会悄悄潜入PCB并在电路中造成严重的破坏,具体来说,它们是渗透到高速电路中的隐藏杂散电容器和电感器,包括由封装引线和长走线形成的电感器、PCB焊盘对金属平面形成的电容器、走线之间形成的电容器等等。

一只豌豆象的博客 1780

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Transformer-M:一个能理解2D和3D分子的Transformer

Transformer-M,2D和3D分子联合表征学习

qq_45331246的博客 2002

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

适合小白的Detr3D详解:3D目标检测的“Transformer革命”

本文用大白话+代码逐行解析的形式,带你搞懂Detr3D这个将Transformer引入3D目标检测的开创性工作。

shyr_sheyu的博客 3309

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Transformer统一化3D目标检测基于体素的表征

点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心技术交流群后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!后台回复【数据集下载】获取计算机视觉近30种数据集!arXiv论文“Unifying Voxel-based Representation with Transformer fo...

CV_Autobot的博客 702

首篇Transformer在3D点云中的应用综述(检测/跟踪/分割/降噪/补全)

论文全面概述了用于 3D 点云分析的 Transformer算法。1.Transformer 结构的理论及其在 2D/3D 领域的应用。2.提出了三种不同的分类法(即基于实现、数据表示和任务),从多个角度对当前基于 Transformer 的方法进行分类。3.论文展示了 3D 中self-attention机制的变体和改进的相关结果。5.对各种基于 Transformer 的分类、分割和目标检测方法进行了全面比较。6.提出了三个潜在的研究方向,为3D Transformer 的发展提供有益参考。

limingmin2020的博客 2535

5种3D Attention/Transformer整理(A-SCN、Point Attention、CAA、Offset Attention、Point Transformer)

本文介绍5种可直接用于点云的3D attention模块的结构。

weixin_45657478的博客 1万+

Pathformer做时间序列

超越Transformer!时间序列预测新方法,霸榜AI顶会 超越Transformer,霸榜AI顶会,patch做时间序列预测成为新烫门,强烈推荐想发论文的伙伴多关注! 具体看,以往的时间序列预测创新着眼改模型,越来越卷,难度越来越大,而基于patch的方式,主要关注数据的输入形式,这是一个新思路,目前还在蓬勃发展中,创新机会多!而且patch的方式能够把各种复杂时序数据,转换成深度学习模型能...

辛宣的博客 1670

MultiPatchFormer改进|爆改模型|涨点|使用TiDE中的MLP结构替换半自动回归的线性层(附代码+修改教程)

MultiPatchFormer是一种的基于Transformer的模型,用于多元时间序列预测使用多尺度时间嵌入来捕捉不同尺度的时间相关性,包括一个通道编码器来建模输入序列之间的关系并捕捉交互作用。MultiPatchFormer 采用了一种简单但有效的方法来避免过拟合的问题,即通过线性层在连续的步骤中解码提取的信息,而不是使用单一的线性层将模型维度映射到预测窗口。这种方法被称为"半自回归解码"(multi-step linear decoder),可以减少过拟合和噪声的影响。

weixin_50092436的博客 856

Pathformer学习笔记

1、

m0_74924995的博客 821

实时部署!DSVT:3D动态稀疏体素Transformer主干(北大&华为)

本文中提出了DSVT,这是一种部署友好但功能强大的仅transformer 3D主干,用于3D目标检测。为了有效地处理稀疏点云,引入了动态稀疏窗口注意力,这是一种新的稀疏注意力策略,它将所有稀疏体素划分为一系列大小相等且窗口有界的子集。这些子集可以并行处理,而无需任何自定义CUDA操作。然后提出了一种可学习的3D池化操作,以更好地处理下采样和编码几何信息。更重要的是,NVIDIA TensorRT可以加速提出的DSVT,它以实时运行速度在Waymo基准上实现了最先进的性能。

CV_Autobot的博客 3176

基于深度神经网络的3D模型合成【Transformer vs. CNN】

从单一视角合成 3D 数据是一种基本的人类视觉功能,这对计算机视觉算法来说极具挑战性,这是一个共识。但在 3D 传感器(如 LiDAR、RGB-D 相机(RealSense、Kinect)和 3D 扫描仪)的可用性和可负担性提高之后,3D 采集技术的最新进展取得了巨大飞跃。与广泛可用的 2D 数据不同,3D 数据具有丰富的比例和几何信息,从而为机器更好地理解环境提供了机会。然而,与 2D 数据相比,3D 数据的可用性相对较低,而且采集成本较高。

新缸中之脑 3327

ICLR 2023|场景三维重建新SOTA!基于3D Transformer的单目场景重建

©作者 |原力单位 |阿里巴巴达摩院研究方向 |三维重建从单目序列图像进行场景三维重建是一个很具有挑战性的任务,最近有很多 volume-based 方法学习直接预测 TSDF volume 来实现三维重建,展现了非常不错的结果,相比于之前的 depth-based 方法可以重建出更加完整、一致、连贯的场景几何。然而,大多数这类方法都是在研究如何提取 2D 特征、如何融合 2D 特征形成 3...

Paper weekly 1724
上一篇: PointNeXt:个人阅读笔记(WZS的博客)
下一篇: 基于k折交叉验证理解S3DIS 6-fold
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值