计算机视觉中的一个基本问题是在三维空间中理解和识别场景与物体。它允许以紧凑的方式表达关系,并提供在现实世界中导航和操作的能力。3D视觉在各个领域都发挥着重要作用,包括自动驾驶、机器人技术、遥感、医疗、增强现实、设计行业等众多应用。
由于以下几个原因,3D领域引起了越来越多的兴趣:
(1)各种3D捕获传感器的发展,例如激光雷达(LiDAR)和RGB-D传感器;
(2)引入了大量在3D空间收集和标记的大型3D几何数据集;(3)3D深度学习方法取得的进展。
常见的3D深度学习方法采用深度卷积神经网络(CNNs)和多层感知器(MLPs)。然而,基于 Transformer (transformer)的架构,利用注意力机制,在自然语言处理(NLP)和2D图像处理等领域的表现显示出强大的竞争力。尽管卷积运算符具有有限的感受野和平移等方差特性,但注意力机制在全局范围内操作,因此可以编码长距离依赖性,使基于注意力的方法能够学习更丰富的特征表示。
鉴于基于 Transformer 的架构在图像领域的成功,近年来许多3D视觉方法在模型设计中采用了 Transformer 。这些架构已被提出作为大多数常见3D视觉应用问题的解决方案。在3D空间中, Transformer 已经取代或补充了以前的学习方法,得益于其捕捉长距离信息和学习特定任务感应偏差的能力。
鉴于对3D视觉中 Transformer 的兴趣日益增加(图1左侧),一个概述现有方法的调查对于全面了解这个新兴领域至关重要。在本次调查中,作者回顾了将 Transformer 用于3D视觉任务的方法,包括分类、分割、检测、补全、姿态估计等(图1右侧)。作者突出了3D视觉中 Transformer 设计选择,使其能够处理具有各种3D表示的数据。对于每个应用,作者讨论了提出的基于 Transformer 方法的关键特性和贡献。最后,作者将在广泛使用的3D数据集/基准测试上将其性能与替代方法进行比较,以评估 Transformer 集成在此领域的竞争力。
作者注意到,许多调查研究了3D视觉中的深度学习方法。在这些调查中,许多已发表的研究提供了处理3D数据的总体回顾[1]、[2]、[3]、[4]。其他研究则专注于特定的3D视觉应用,如分割,分类[8],或检测。此外,一些调查从表示法的角度审视3D深度学习方法[11]、[12],而其他研究则将研究限制在特定的数据输入传感器。考虑到大多数调查在 Transformer 架构最近的成功之前发表,对基于 Transformer 的架构的关注仍然缺失。
由于众多依赖注意力机制和 Transformer 架构的视觉方法的涌现,出现了许多调查这些方法的作品。其中一些作品考虑了视觉中的一般 Transformer ,而其他作品则专注于特定方面,如效率[19],或特定应用,如视频[20]或医学成像[21]。考虑到2D和3D数据表示和处理的差异,将注意力特别关注应用于3D视觉应用的 Transformer 至关重要。因此,作者专注于应用于3D视觉领域的 Transformer 架构。
本次调查包括了采用3D输入和/或输出的 Transformer 架构的方法。3D数据可以通过多种传感器获得,例如室内的RGB-D传感器,室外的激光雷达,以及专业的医疗传感器。作者包括使用点云作为输入或密集3D网格的方法。密集3D网格也可以通过在不同切片处获取图像来获得,这在医学成像中很常见。此外,还包括将 Transformer 架构应用于其他输入数据(如多视图图像或鸟瞰图图像)并在3D空间生成输出的代表性方法。
在三维计算机视觉领域,最近取得了重大进展。在本节中,作者首先回顾了三维数据的不同表示方法,以及使能从这类数据中学习的众多处理技术。对于 Transformer 模型,作者介绍了其主要组成部分(注意力机制)、架构以及其宝贵的特性。
图像和视频具有固有的自然表示形式,特点在于标准网格上的像素。另一方面,3D几何并没有这种有序的网格结构。在本节中,作者将讨论广泛使用的 数据表示形式,这些形式允许采用不同的深度学习算法/技术。图2展示了斯坦福兔子不同的3D表示。
多视角表示。一个3D形状可以通过从不同视角捕获的一组2D图像来表示。与其他3D表示形式相比,这种表示相对高效,主要因为它少了一个维度,从而数据大小较小。利用这种表示,可以利用2D学习方法进行3D分析。与昂贵的且较少见的3D传感器相比,使用2D相机捕获此类数据相对容易。尽管多视角表示针对的是更简单的2D处理,但也可以提取3D信息并在3D中进行处理。这是通过立体视觉完成的,多个视图中物体的相对位置允许通过摄像机射线三角测量提取 信息。
深度图像。深度图像提供了每个像素对应的摄像机与场景之间的距离(图2)。这种数据通常以RGB-D数据的形式呈现,这是一种结构化表示,由彩色图像和相应的深度图像组成。使用诸如Kinect等深度传感器可以轻松获取此类数据。深度图像也可以从多视角/立体图像中获得,此时为图像中的每个像素计算视差图。由于深度图像是从一个视角捕获的,因此它不能描述整个物体的几何形状——物体仅从一个侧面被看到。然而,由于许多 算法可以直接应用于这种结构化数据,因此使用这种表示形式可以充分利用2D处理的巨大进步。
点云。点云是3D空间中的一组顶点,通过它们在 和 轴上的坐标来表示。可以从3D扫描仪(例如激光雷达或RGB-D传感器)从一个或多个视角获取此类数据。通过RGB相机捕获的颜色信息可以选择性地叠加到点云上,作为附加信息。与通常表示为矩阵的图像不同,点云是一个无序集合。因此,处理此类数据需要一种排列不变的方法,以确保输出不随点云的不同排序而变化。
Voxel 。 Voxel 表示在3D空间中提供规则的网格信息。 Voxel (体积元素)类似于像素(图像元素),2D图像的信息就放置在像素上。每个 Voxel 提供的信息包括占用、颜色或其他特征。可以通过 Voxel 化过程从点云获得 Voxel 表示,该过程将所有 点的特征在 Voxel 内分组以供后续处理。3D Voxel 的结构化特性允许像2D方法一样处理此类信息,例如卷积。在3D卷积中,卷积核在三个维度上滑动,而2D卷积仅在两个维度上滑动。另一方面, Voxel 表示通常是稀疏的,因为它包含许多对应于物体周围空间的空体积。此外,由于大多数捕获传感器收集的是物体表面的信息,物体的内部也由空体积表示。
网格。网格是由顶点、边和面(多边形)的集合。基本组件是多边形,它是一个由一组 顶点连接定义的平面形状。与仅提供顶点位置的点云相比,网格包括物体的表面信息。网格通常用于计算机图形应用程序中,以表示3D模型。然而,直接使用深度学习方法处理表面信息并不简单,许多技术采用从表面采样点的方法,将网格表示转换为点云。
在二维图像理解中,通常采用规则网格上的常见表示方法。另一方面,三维数据的表示方式可以不同,已经提出了各种方法。现有的三维深度学习方法可以分为以下几类:(1)基于点的,(2)基于 Voxel 的,以及(3)基于投影的。
基于点的深度网络。基于点的方法直接处理数据,无需将其转换为规则集。因此,这些方法使用排列不变技术提取特征信息。PointNet [23] 使用逐点多层感知器(MLPs)与全局最大池化操作符来提取特征,同时保持排列不变性(图3)。然而,PointNet 并未捕获三维点周围物理空间中的局部结构。因此,提出了 PointNet++ [25] 来融合多尺度上的局部特征。
一些最近的方法使用图神经网络(GNNs)来处理点云。图上的节点对应于三维点,信息通过连接节点的边传递。动态图CNN [26] 通过使用K最近邻(kNN)构建局部邻域图来利用局部几何结构。
另一种直接处理三维点云的方法是使用连续卷积操作。例如,SpiderCNN [27] 使用一系列多项式函数作为卷积核。相邻点的核权重因此依赖于到这些点的距离。KPConv [28] 引入了点卷积,其中核表示为欧几里得空间中一组点的集合,并带有核权重。另一方面,PointConv [29] 使用局部三维坐标的非线性函数作为卷积核,以及权重和密度函数。权重函数通过多层感知器学习,而密度函数则通过核密度估计学习。
基于 Voxel 的深度网络。与处理无序和不规则点云集的方法不同,许多方法通过 Voxel 化将三维数据转换为规则网格。在文献[24]中,对稠密 Voxel 网格应用了三维卷积进行目标识别。然而,与2D图像相比,增加的维度导致待处理数据量的显著增加,这限制了目标大小或 Voxel 分辨率。此外,这种方法在计算上并不高效,因为它没有利用三维数据的稀疏性。作为替代,其他方法[30],[31]仅在占用的 Voxel 上操作卷积,这大大降低了计算需求。这使得可以在更高分辨率下进行处理,与稠密方法相比,这反映在更高的准确性上。其他方法[32],[33]提出通过将空间划分为八叉树层次来学习更高分辨率的三维表示。在八叉树结构中,稠密占据区域以高精度建模,而空区域则由大单元格表示。图3比较了基于 Voxel 的方法和基于点的方法。
基于投影的深度网络。将不规则的点云集转换为规则的另一种方式是通过投影。一旦三维数据被投影到平面上,就可以使用许多2D方法进行分析。现有方法包括将点云集投影到多个视图,在2D平面上进行处理[38],或者投影到估计的切线平面上,并应用带有连续核的卷积[39]。
自注意力机制。Transformer模型[40]已被广泛应用于众多语言和视觉任务中。在Transformer中,缩放的点积注意力是关键,其旨在捕捉不同输入元素之间的依赖关系。图4(a)展示了一个典型的缩放点积注意力模块。该注意力模块接收一个 Query 向量、一个键向量和一个值向量作为输入,并生成值的加权和:
其中表示 Query 和键中的特征维度,用于缩放点积操作的输出。
缩放的点积注意力生成单一的注意力图来表示 Query 和键之间的关系。为了更好地表示这种关系,多头注意力(图4(b))旨在关注来自不同子空间的信息。多头注意力包含个缩放点积注意力模块,并生成个不同的输出:
其中 {f}{att} 表示等式中的缩放点积注意力, {W}{i}^{q},{W}{i}^{k},{W}{i}^{v} 是为、键和值学习的可训练权重矩阵。最后,多头注意力将 h 个输出进行拼接,并通过一个线性层生成最终的输出。
Transformer架构。图4(c)展示了一个基于编码器-解码器结构的典型Transformer模型。编码器包含 {N}{e} {N}{d} 个相同的块,每个块由一个多头自注意力子层、一个多头交叉注意力子层和一个前馈网络组成。多头自注意力子层捕捉解码器中不同元素之间的关系,而多头交叉注意力子层通过将编码器的输出作为键和值,在编码器的输出上执行注意力。前馈网络通过多层感知机转换每个输入元素的特征。与编码器类似,在解码器的每个子层后也存在残差连接和归一化操作。
Transformer特性。Transformer的特性总结如下:
这些特性表明,在3D计算机视觉任务中使用Transformer具有良好的前景。因此,基于Transformer的3D视觉任务近年来受到了广泛关注。
注意力模块能够捕获远程依赖关系,这有助于学习在基于卷积的网络中未充分利用的上下文。这些远程依赖关系在场景理解中尤为重要,尤其是在局部信息模糊的情况下。此外, Transformer (transformers)可以应用于集合,这是点云的自然表示形式。与图像表示不同,点云可以具有不同的长度,类似于句子中的单词。鉴于 Transformer 在自然语言处理(NLP)领域的成功,人们希望将 Transformer 集成到3D领域将呈现类似的趋势。另外,在2D中应用的 Transformer 需要在特征信息中添加位置信息。在3D中,位置信息作为点云中点的坐标而存在。上述 Transformer 的特性为在3D领域使用 Transformer 架构奠定了基础。然而,将 Transformer 集成到3D应用流程中有许多方法。因此,在本节中作者将讨论这种集成的一些关键特性。作者的讨论基于图5所示的分类。
3D输入到 Transformer 。可以使用 Transformer 架构处理不同的3D数据表示。数据表示的选择会影响数据大小、数据分布、细节 Level (粒度)和结构。此外,数据表示将允许基于 Transformer 的技术与针对特定表示的现有方案相结合。
Transformer 处理无序集合的能力使其可以直接应用于点云。在这种情况下,输入到 Transformer 的将是点坐标以及与非 Transformer 架构一起使用的任何附加特征,如颜色、法线和地面高度等。由于点属于连续域,因此在处理之前需要有效的采样技术。
大型点云可以裁剪到一定的物理尺寸,以处理较少的点,同时保持足够的分辨率以捕捉局部几何特征。在欧几里得空间中,固定的大小并不导致固定数量的点。因此,处理固定大小输入的模型需要从点云中采样。采样可以通过随机采样、最远点采样、k最近邻(kNN)采样或从网格采样等方法实现。这种采样会影响代表给定目标的点数,因为它取决于场景的复杂性。尽管大多数方法在预处理阶段进行采样,但有些方法在训练过程中进行采样。这可能导致训练过程中的显著开销。
相对于直接使用 Transformer 处理点云,另一种方法是先将输入转换为规则网格。等距的 Voxel 允许不管点云中点的数量如何,都能相似地表示物体。如果需要,它也便于进行邻域搜索,因为可以通过哈希表进行搜索。另一方面,为了捕捉精细的形状信息,需要使用精细的网格分辨率,这将导致待处理数据的三次方增长。此外,由于3D场景主要由空白空间组成,处理空的 Voxel 网格是不高效的。处理被占用的 Voxel 会导致不同大小的输入,因此可以像点云一样进行采样。不过,对于 Voxel 表示,点密度的一致性和更简单的搜索仍然存在。
上下文 Level 。一个高效的视觉应用应该能够捕捉到精细的局部信息以及全局上下文。在这两种情况下,都会遇到计算需求增加的问题。因此,通常会在不同的尺度上处理数据,以实现这两个目标。
处理3D信息的 Transformer 可以应用于点的局部邻域以捕捉局部形状信息。与2D领域的方法类似,局部池化允许在不同尺度上处理,拥有更大的感受野。更大的感受野使得远点之间可以进行交互以学习上下文。
由于在局部信息上应用 Transformer 需要多层应用,因此一次性使用整个3D数据的 Transformer 也是可行的。这减少了局部邻域采样的必要性,因为整个点云一次被使用。然而,输入数据的大小是有限的,需要在点云覆盖范围和点的密度之间找到良好的平衡。
纯 Transformer 和混合 Transformer 。纯 Transformer 架构依赖于注意力层来提取特征并生成特定任务的输出。在某些情况下,非注意力层被用来编码输入或补充注意力层。如果架构在所 Proposal 的流程中不依赖于先前的非注意力架构或主干网络,作者将其视为纯 Transformer 。
由于 Transformer 能够捕捉全局上下文,因此它们可以用来提取更丰富的特征。将 Transformer 集成到深度学习架构中的一种方式是用基于注意力/ Transformer 的特征提取模块替换原有的模块。除了完全依赖 Transformer 提取特征外,还可以使用基于非 Transformer 的局部特征提取方法,然后与 Transformer 结合进行全局特征交互。 Transformer 还可以通过非 Transformer 层来提取更丰富的信息。这种互补性可能是因为每种方法可以应用的不同分辨率造成的。
可扩展性。与2D数据相比,3D数据因增加了第三个维度而包含更多信息。另一方面, Transformer (transformers)在计算上较为昂贵,因为它们需要生成一个大的注意力图(attention map),其复杂度与输入大小成二次关系。鉴于数据量和 Transformer 输入大小的增加,这需要一个采样方案以支持处理。典型的处理方法通过减少 Transformer 的输入大小来提高可扩展性,包括:对点云使用最远点采样结合kNN特征聚合,对低分辨率体积表示进行 Voxel 特征聚合,采用图像块特征嵌入,利用基于CNN的方法进行特征下采样,以及目标 Level 的自注意力。
Transformer架构已被整合到各种3D视觉应用中。在本节中,作者根据特定的3D视觉任务回顾了相关方法,这些任务包括目标分类、目标检测、分割、点云补全、姿态估计等。
作者首先概述了在定义的局部区域内应用 Transformer 的方法,然后讨论了在全局层面上应用 Transformer 的方法。表1根据上述分类法展示了这些方法的概览。
局部 Transformer 。Point Transformer [44] 在每个数据点的局部邻域中应用自注意力。点 Transformer 块包括注意力层、线性投影和残差连接(图6)。此外,不是使用3D点坐标作为位置编码,而是使用带有线性层和ReLU非线性的编码函数。为了增加所提 Transformer 架构的感受野,引入了下采样层以及上采样以恢复原始数据大小。
3DCTN [57] 提出将图卷积层与 Transformer 结合。前者高效学习局部特征,而后者能够学习全局上下文。网络以带有法线的点云作为输入,包含两个模块以减少点集,每个模块都有两个块:第一个块是使用图卷积的局部特征聚合模块,第二个块是使用包含偏移注意力和平行注意力的 Transformer 进行全局特征学习的模块。LFT-Net [60] 提出了一种局部特征 Transformer 网络,使用自注意力来学习点云的特征。它还引入了Trans-pooling层,该层聚合局部特征以减小特征大小。
全局 Transformer 。在全局尺度上,注意力模块已被集成到网络的各个部分,具有不同的输入和位置嵌入。Attentional ShapeContextNet [47] 是早期采用自注意力进行点云识别的方法之一。为了学习形状上下文,自注意力模块用于选择上下文区域、聚合和转换特征。这是通过用自注意力学习的加权聚合函数替换手工设计的分区和池化来完成的,该自注意力应用于所有数据。在 [56] 中,自适应小波 Transformer 首先在神经网络内进行多分辨率分析,以生成使用提升方案技术的视觉表示分解。生成的近似和细节组件捕获了下游任务感兴趣的几何信息。然后使用 Transformer 对不同来自近似和细节组件的特征给予不同关注,并将它们与原始输入形状特征融合。TransPCNet [55] 使用特征嵌入模块聚合特征,将它们输入到核大小为1的可分离卷积层,然后使用注意力模块学习检测由3D点云表示的排水沟缺陷的特征。
表1 基于 Transformer 的分类方法概览。这里展示了 Transformer 集成的重要属性,包括输入、启用 Transformer 处理采样元素、架构(纯或混合)以及 Transformer 操作的上下文 Level 。还包括了主要贡献的突出显示。所有这些方法还执行目标部分分割,除了带有星号(*)的例外。
其他方法提出了注意模块的变体。杨等人[51]通过将注意模块应用于由绝对和相对位置嵌入表示的点云,开发了点注意力 Transformer (PATs)。注意模块采用了具有组注意力的多头注意力设计,类似于深度可分离卷积[52],以及通道混洗[53]。点云 Transformer (PCT)[41]对输入点嵌入应用偏移-注意力。偏移-注意力层计算自注意力特征与输入特征之间的逐元素差异(图6)。它还通过采样和分组邻近点来获得邻居嵌入,以改善局部特征表示。DTNet[58]汇总了点状和通道状的多头自注意力模型,以学习来自位置和通道的上下文依赖。
一些方法专注于通过 Mask 输入的部分内容来预训练 Transformer 。Point-BERT[61]首先将输入点云划分为点块,受Vision Transformers[69]的启发,并使用迷你-Pointnet[23]生成一系列点嵌入。然后,这些点嵌入被用作转换编码器的输入,该编码器通过使用 Mask Token Mask 一些点嵌入进行预训练,类似于[70]。通过使用预学习的点状分词器获取 Token ,该分词器将点嵌入转换为离散的点 Token 。类似地,Pang等人[63]在预训练期间将输入点云划分为块并随机 Mask 它们。基于 Transformer 的自编码器用于通过从未 Mask 的点块学习高级潜在信息来检索 Mask 的点块。
局部和全局 Transformer 。已有许多方法提出使用转换架构来学习局部和全局信息。为此, Transformer 被部署在不同的阶段来处理不同的信息。Engel等人[50]采用局部-全局注意力来捕获局部和全局几何关系和形状信息。注意模块的输入特征是有序子集的局部特征,通过置换不变网络模块学习得到。在[59]中,CpT使用动态点云图创建点嵌入,然后输入到转换层。转换层由样本注意力组成,动态处理局部点集邻居以及点间注意力。另一方面,Liu等人[62]使用最远距离采样和K最近邻来分组点。然后它使用组抽象和基于半径的特征抽象来获得组特征。然后, Transformer 用于组内以及所有点组之间。3DMedPT[66]通过下采样点并将局部特征分组(类似于DGCNN[26])来嵌入局部点云上下文。它提出使用相对位置嵌入和 Query 位置的局部响应聚合。
点- Voxel Transformer (PVT)[54]结合了基于 Voxel 和基于点的转换模型来提取特征信息。基于 Voxel 的模型由于规则数据局部性有效地捕获局部特征。它使用一个局部注意力模块,其计算复杂度与输入 Voxel 大小成线性关系。基于点的模型捕获全局特征,并修正 Voxel 化过程中的信息丢失。它使用相对注意力,这是一种自注意力变体,考虑输入点之间的一对关系或距离。
另一方面,一些方法专注于在多个尺度上应用注意力机制。Patchformer [64] 构建了一个基于 Voxel 的结构,该结构融合了 Patch 注意力模块(PAT)和多尺度注意力模块(MST)。PAT模块对一组小基进行加权和,以捕捉全局形状,从而实现对输入大小的线性复杂度;而MST模块对不同尺度的特征应用注意力。在文献[65]中,3CROSSNet首先使用点状特征金字塔模块提取多尺度特征。然后跨 Level 应用交叉注意力以学习 Level 间和 Level 内的依赖关系。另一个跨尺度注意力模块应用于更好地表示尺度间和尺度内的相互作用。MLMSPT [68] 提出了一种点状金字塔 Transformer ,它从多个 Level 和尺度捕捉特征。然后使用多 Level Transformer 和多尺度 Transformer 来捕捉不同 Level 和尺度上的上下文信息。
Wu等人[67]引入了质心注意力,其中自注意力将输入中的信息映射到较小的输出。在训练期间,优化软K-means聚类目标函数。质心注意力然后将输入序列转换为质心集合。
许多基于注意力的方法已用于3D目标检测。表2展示了这些方法及其采用的 Transformer 概述。这些方法大多应用于单一领域:室内或室外。将应用限制在一个领域内是由于室内与室外收集的数据模态存在差异,室内常用的3D传感器为RGB-D传感器,而室外常用的是激光雷达(LiDAR)。这导致了数据集分布、密度和范围的不同。尽管如此,一个领域的 方法可应用于具有相同表示的另一领域,但通常需要大量适配才能达到竞争性的结果。
一种在室内外都应用了的方法是Pointformer [71]。它使用基于 Transformer 的特征学习块,包含三部分:局部 Transformer 捕获局部区域的细微信息,局部-全局 Transformer 将学习的局部特征与全局信息整合,以及全局 Transformer 捕获全局上下文。局部 Transformer 将局部区域的特征聚合到一组子采样点,从而降低计算需求。其他方法仅应用于室内或室外数据集。
室内目标检测 MLCVNet [83] 建立在[84]之上,并使用多级自注意力模块聚合上下文信息,这些 Level 包括 Patch 、目标和全局场景。在 Patch Level ,注意力模块用于生成更好的投票到目标质心点。目标 Level 的注意力模块捕捉 Proposal 之间的上下文信息,而全局 Level 的注意力模块使用 Patch 和簇信息来学习全局场景上下文。3DETR [45] 提出了一个端到端的 Transformer ,包含两个模块:直接在点云上应用的 Transformer 编码器,用于提取特征信息,以及一个 Transformer 解码器,用于预测3D边界框(见图7)。解码器转换层使用来自种子点的非参数 Query 嵌入以获得更好的3D检测。
刘等 [46] 使用转换模块从使用PointNet++ [25]学习特征的目标候选中提取和精化目标表示。转换模块包括多个多头自注意力和多头交叉注意力,并作用于使用k最近点采样技术采样的点子集。ARM3D [80] 使用基于注意力的模块提取由非 Transformer 架构学习到的 Proposal 特征之间的细粒度关系。使用目标性得分来选择 Proposal ,并与其他 Proposal 匹配以学习关系上下文。
在[92]中,BrT利用 Transformer (transformer)使图像和点云之间的交互学习成为可能。它采用了对齐点的条件目标 Query 和图像块,并增加了点对块投影以改善学习效果。
户外目标检测。对于户外环境, Transformer 架构已被用于处理来自不同来源和不同表示形式的数据。已经提出了许多具有 Voxel 表示的 Transformer 模型。其中一种方法是Voxel Transformer [42],它通过一系列稀疏和子流形 Voxel 模块处理输入 Voxel 网格。它对非空 Voxel 通过局部关注和膨胀关注执行多头自注意力。采用 Voxel Query 机制来加速搜索非空 Voxel ,得益于规则网格上的数据。Fan等人[77]指出,在3D中类似2D域中对特征图进行下采样会导致信息丢失,并提出单一步长 Transformer 以保持整个网络中相同的分辨率。它也使用 Voxel 化输入,但 Transformer 采用稀疏区域关注以减少 Transformer 模块的计算需求。Fast Point Transformer [78]旨在加快局部自注意力网络的速度。由于局部自注意力通常需要找到k近邻点,这通常是一个瓶颈。所提出的自注意力模块在采用 Voxel 哈希架构的点云上进行学习,这允许快速选择邻域,并且与以质心为意识的 Voxel 化和去 Voxel 化相结合,嵌入连续的3D坐标。最近,Voxel Set Transformer [79]提出了一种全局方法来建模点云中的长距离依赖。它引入了基于 Voxel 的集合注意力(VSA)模块,该模块由两个交叉注意力代替自注意力组成,并可以以线性复杂性并行处理大小不同的输入。PDV [94]使用3D稀疏卷积从 Voxel 化的3D场景中提取特征信息,然后通过区域 Proposal 网络 Head 生成边界框。接着对 Voxel 特征进行池化,并将其作为自注意力模块的输入以细化边界框。
其他方法选择将 Transformer 应用于点云表示。在文献[72]中,Sheng等人用自注意力模块补充了两阶段的三维检测器。这种方法首先通过基于3D Voxel 的空间 Proposal 网络生成 Proposal ,然后将原始点云和 Proposal 作为输入送到逐通道 Transformer 中,以使 Proposal 富含全局上下文信息。逐通道 Transformer 包括一个 Proposal 到点的编码模块和一个逐通道解码模块,将编码特征转换为最终的物体 Proposal ,包括置信度预测和边界框回归。另一方面,PLNL-3DSSD[95]使用局部和非局部注意力与集合抽象模块来建模物体间的关系。
此外,许多方法将 Transformer 应用于多视图图像或鸟瞰图(BEV),从而得益于 Transformer 在图像应用方面的进展。Transfusion[88]使用卷积 Backbone 网络提取激光雷达BEV特征图以及图像特征图。基于 Transformer 的解码器接收目标 Query 作为输入,并使用激光雷达信息输出初始边界框预测。接下来,空间调制交叉注意力机制将相机图像特征与激光雷达目标 Query 进行融合。SCANet[86]使用两个VGG-16编码器从RGB图像和点云鸟瞰图中提取特征。然后使用空间通道注意力模块提取多尺度和全局上下文特征以重新校准特征。BoxeR[91]引入了边界框注意力,它学习在边界框内网格上采样的点的注意力权重。在2D中,它使用卷积编码器特征作为 Proposal 输入并生成目标 Query 。然后,使用实例注意力将目标 Query 解码为边界框。它学习的注意力权重对旋转是不变的,因此另一个 Transformer 用于在鸟瞰图中生成3D边界框。最近,MonoDETR[87]修改了DETR以从单目图像生成3D边界框。修改包括将深度特征添加到 Transformer 的输入中。深度特征是使用深度预测器和深度编码器生成的。 Transformer 包括一个深度感知解码器,具有自注意力以及视觉和深度交叉注意力。VISTA[93]提出用卷积算子替换常规注意力模块中的线性投影。它将所提出的注意力应用于将 Voxel 化的3D场景特征投影到两个视图,即鸟瞰图和范围视图。
对于点云视频,Yuan等人[81]提出了一个时间通道编码器和一个空间解码器,用于基于3D激光雷达的视频目标检测。时间通道编码器用于利用多头注意力机制学习不同帧之间的关系。空间解码器也利用多头注意力机制来聚合相邻视频帧的相关信息。
由于不同的表征可能提供互补的信息,一些研究工作使用了具有多种表征的 Transformer 模型。SA-Det3D [75] 提出了一种增强方法,将基于点的点云、 Voxel 和柱状的多种卷积方法与自注意力模块相结合。它引入了两种自注意力的变体:一种是完全自注意力模块,它是一种成对的自注意力机制;另一种是可变形自注意力模块,它学习在随机采样位置上的形变,以覆盖最具代表性和信息性的部分。另一方面,M3DETR [76] 在统一的 Transformer 架构下,从原始点云、 Voxel 和鸟瞰图中聚合信息。 Transformer 使得多表征、多尺度、多位置特征关注之间的交互成为可能。Dao等人[82]提出使用向量注意力来细化基于 Voxel 的区域 Proposal 网络。与多头注意力相比,向量注意力为不同的点特征通道学习不同的权重,因此能够将更丰富的信息捕获到感兴趣区域和汇聚点中。CAT-Det [89] 将应用于点云的Pointformer与应用于RGB图像的Imageformer相结合。这两种模态通过跨模态特征交互和多模态特征聚合的 Transformer 进行互补。另一方面,Yin等人[85] 使用空间特征在由柱状离散化的点云上编码信息。空间特征是通过基于图的运算和2D CNN从给定的点云中提取的。来自连续帧的特征随后传递到一个由空间 Transformer 注意力和时间 Transformer 注意力组成的时空 Transformer 模块中。
其他方法使用 Transformer 来融合或精化由非 Transformer 方法生成的信息。DETR3D [73] 使用多视图RGB图像来检测3D空间中的物体。它使用了基于非 Transformer 的2D特征提取以及3D框预测。它仅使用多头注意力通过结合物体交互来精化物体 Query ,类似于DETR [74]。PETR [90] 首先使用2D Backbone 网络(ResNet)从多视图图像中提取特征。然后,它使用相机视锥空间生成3D网格栅格和3D空间中的坐标。2D图像特征和3D坐标随后通过基于MLP的编码器融合,以生成3D位置感知特征。一个 Transformer 解码器然后根据它们与3D位置感知特征的交互来更新物体 Query 。
三维分割旨在根据给定的语义类别对构成元素的三维数据进行分割。它需要克服各种挑战,如类别不平衡、尺寸变化和形状变化。在本节中,作者将方法根据输入数据领域进行分类。首先,作者回顾了那些以单个目标的3D表示为输入并对其部分进行分割的方法。接下来,作者调查那些对包含多个目标的完整场景进行分割的方法。然后,作者介绍从视频提供点云分割的方法。此外,作者还回顾了分割三维医学图像的方法。这些方法的 Transformer 设计概述展示在表3中。
目标部分分割。要对给定的点执行3D语义分割,每个点都需要一个标签。许多学习点云分类的点状特征的方法可以用于语义分割。这个过程在相对较小的点云的部分分割方法中很常见。已经开发了许多 Transformer 模型用于点云分类和语义分割,包括:关注形状上下文网[47],杨等[51],Point2Sequence[113],Point Transformer[44],点云 Transformer (PCT)[41],点 Voxel Transformer (PVT)[54],自适应小波 Transformer [56],以及双 Transformer [58]。
完整场景分割。快速点 Transformer [78]提出加快局部自注意力网络,因为每个这样的模块通常需要找到k近邻点,这是计算上昂贵的。所提出的自注意力模块在 Voxel 散列架构上学习点云。 Voxel 散列允许快速选择邻域,并与重心感知 Voxel 化和去 Voxel 化相结合,以保留连续坐标的嵌入。另一方面,分层 Transformer [96]首先使用点嵌入模块[28]聚合局部结构信息。然后,它使用具有多个下采样层的基于 Transformer 的分层结构来获得多级特征,这些特征然后逐层上采样,类似于U-Net[114]。所提出的 Transformer 使用分层策略进行关键采样,以增加感受野并聚集长距离上下文(见图8)。Segment-Fusion[97]采用图形分割方法将点及其相应特征分组到具有分段特征的段中。这些特征随后通过堆叠的注意力编码块进行融合,其中注意力矩阵还与邻接矩阵相乘,以考虑各段之间的连接。基于注意力的输出随后使用连通组件算法分组到目标实例中。
表3 使用 Transformer 架构的3D分割方法概述。作者将3D分割方法分为三类:(1)对完整场景(而不是单个目标部分分割)执行3D语义分割的方法,(2)全景分割,以及(3)医学成像分割。与由LiDAR和RGB-D传感器收集的稀疏数据不同,三维医学图像由密集规则网格表示。
Transformer 也已被应用于点云的全景分割。徐等[100]首先为给定的点云生成点状特征和稀疏 Voxel 特征。然后,通过跨尺度注意力模块聚合 Voxel 特征,这允许捕捉长距离…
点云视频分割。P4Transformer [98] 将 Transformer 应用于点云视频,用于三维动作识别和四维语义分割。它首先采样并构建局部的时空区域,并使用4D卷积将它们编码为一个特征向量,该特征向量可以被 Transformer 处理。[99]中,Wei等人首先使用来自[25]的集合抽象层提取特征,并使用分辨率嵌入模块在提取的特征中保留几何信息。然后对相邻帧的特征应用卷积,将它们分组为 Patch 。这些 Patch 作为输入送到时空 Transformer 中,以捕获三维动作识别和四维语义分割任务上下文信息。
3D医学图像分割。UNETR [43] 将输入的3D体积分成一系列均匀的非重叠 Patch ,并使用线性层将它们投射到嵌入空间。然后应用 Transformer 学习输入体积的序列表示(编码器)并捕获全局多尺度信息。[48]中,CoTr使用CNN编码器从输入的3D医学图像中提取多尺度特征图。特征图与位置编码相结合,并使用可变形自注意力 Transformer 进行处理。然后使用CNN解码器将这些特征上采样到原始分辨率。
[102]中,T-AutoML提出了一种自动搜索算法,用于找到最佳的神经网络架构、超参数和增强方法,用于3D CT图像中的病变分割。它使用 Transformer 模型,因为其能够处理不同的嵌入长度。另一方面,D-Former [101] 提出了一种基于局部和全局注意力的模块,以在不增加 Patch 数量的情况下增加信息交互的范围。膨胀 Transformer 对局部和全局范围内捕获的成对 Patch 关系应用自注意力。它还应用动态位置编码来嵌入相对和绝对位置信息。
最近,Transfuse [49] 提出了一个融合模块,用于融合来自两个分支的信息:一个CNN分支,它从局部到全局编码特征,另一个是 Transformer 分支,它从全局自注意力开始,然后恢复局部信息。[103]中,Karimi等人首先将输入的3D图像块划分为3D Patch 。然后为每个 Patch 计算一维嵌入并通过基于注意力的编码器预测中心 Patch 的分段。SpecTr [104] 以一系列光谱图像作为输入,并交替使用深度卷积、光谱归一化和具有稀疏约束的 Transformer 处理它们。然后在编码器中使用类似于3D U-Net [115]的带有跳跃连接的解码器。另一方面,TransBTS [105] 使用3D CNN生成捕获空间和深度信息的特征图,然后利用 Transformer 编码器建模长距离的全局上下文依赖。 Transformer 输出交替上采样、堆叠和卷积以产生分割标签。Segtran [106] 使用CNN层提取特征,作为输入送到压缩和扩展 Transformer 层以学习全局上下文。在 Transformer 之前应用特征金字塔网络以增加空间分辨率,在 Transformer 之后上采样到原始分辨率。
周等人通过应用nnFormer [107] 中的局部和全局体积自注意力操作,将卷积和自注意力操作相结合。它还提出使用跳注意力,这类似于UNet-like架构中的跳跃连接。BiTr-UNet [108] 在3D UNet架构的瓶颈处应用 Transformer 块,即在3D CNN编码器之后和上采样层之前。它将CBAM [116] 集成到卷积层中,并将其扩展到3D CNN。AFTer-UNet [109] 使用CNN编码器编码相邻切片组,然后应用轴向融合 Transformer 。轴向融合 Transformer 融合了层间和层内信息,然后传递到CNN解码器进行分割。Peiris等人[110] 提出了一种具有局部和全局自注意力层的编码器块设计。它使用基于窗口的自和交叉注意力解码器,其中两种注意力机制都使用一个共享的 Query 投影。此外,它在解码器中提出了一种凸组合方法,并辅以傅里叶位置编码。Swin UNETR [111] 将多模态输入数据投影到1D嵌入序列,并将其作为输入送到由分层Swin Transformer [112]组成的编码器中。Swin Transformer使用移位窗口在多个分辨率上计算自注意力,并具有到FCNN解码器的跳跃连接。
表格4简要总结了一些使用 Transformer 结构的3D点云补全方法。图9展示了PoinTr [117]的结构。PoinTr [117]将点云补全视为一种集合到集合的翻译任务,并采用一种几何感知 Transformer 来预测缺失的点云。与普通的 Transformer 相比,几何感知 Transformer 包含两个分支,其中一个分支采用自注意力机制提取语义特征,另一个分支采用kNN模型提取几何特征。两个分支的输出特征被融合以生成几何感知 Transformer 的输出特征。Wang等人[118]将提出的下采样和上采样操作整合到 Transformer 编码器-解码器结构[117]中,以执行点云补全。下采样操作不是采用最大池化,而是采用邻居池化来选择激活度最高的特征。在[119]中,Wang等人引入了一个几何细节感知模块和一个自特征增强模块,以捕捉局部和全局信息,避免局部近邻操作。
表格4 使用 Transformer 的前沿3D点云补全方法。这些方法采用各种输入表示,使用纯或混合架构,并在局部或全局应用 Transformer 。
作者注意到,一些方法仅使用 Transformer 编码器或解码器进行3D点云补全。Xiang等人[120]在解码器中提出了一种跳转 Transformer 模块,以捕捉点反卷积的上下文。跳转 Transformer 旨在在点生成阶段使用注意力机制从先前的解码层学习空间上下文。最近,Su等人[121]使用 Transformer 编码器从粗略点云生成中提取上下文信息。之后,使用点云上采样生成精细点云。在[122]中,Lin等人利用 Transformer 编码器学习语义亲和性信息,然后使用形变图点生成解码器。一些方法考虑在应用 Transformer 进行点云补全时降低计算成本。Mittal等人[123]提出首先将高维3D形状映射到低维潜在空间,然后进行基于 Transformer 的自回归建模。另一方面,Yan等人[124]使用一种新颖的向量量化深度隐式函数对3D形状进行稀疏编码,并采用 Transformer 模块预测位置和内容的条件分布。
一些方法采用 Transformer 中的注意力模块来辅助特征提取。例如,Lyu等人[125]采用注意力操作而不是池化操作来聚合局部特征。Cao等人[126]在全球细化模块中添加了一个自注意力层,用于增强细节并避免失真。
表5总结了使用 Transformer 结构的相关三维姿态估计方法。一些针对基于视频的姿态估计融合了时空信息的方法已经得到发展。郑等人[127]提出了一种时空 Transformer 编码器模块PoseFormer,用以建模帧内的局部关系和帧间的全局关系。图10展示了PoseFormer的架构。哈桑宁等人[128]指出PoseFormer存在局部性差的问题,并提出了两种新的交叉交互模块以整合局部性和交互作用。具体来说,交叉关节交互模块用于编码帧内的局部部件信息,而交叉帧交互模块用于编码跨帧的关节信息。另一方面,李等人[129]采用了一个简单的 Transformer 来利用长距离信息,并设计了一个跨步 Transformer 逐步将不同帧的长距离信息聚合到一个单一的三维表示中。[130]中, Shan等人引入了一种自监督的预训练方法,该方法使用 Transformer 进行三维人体姿态估计。李等人[132]提出了一种多假设 Transformer 来学习多个姿态假设的时空表示。在多假设 Transformer 中,有三个模块:多假设生成(MHG)、自假设精化(SHR)和跨模块交互(CHI)。MHG旨在探索帧内的空间信息,而SHR和CHI旨在探索跨帧的时间信息。赵等人[133]开发了一种面向图的 Transformer 来建模不同关节之间的关系,该 Transformer 将图卷积和注意力结合在一起。上述方法都使用 Transformer 来预测视频中中心帧的单个三维姿态估计(称为seq2frame)。与这些方法不同,张等人[131]提出了MixSTE用于三维姿态序列估计,它对视频中的所有帧进行三维姿态估计(称为seq2seq)。MixSTE将每个2D关节视为一个标记,并以交替的方式执行时空注意力。
表5 使用 Transformer 结构的三维姿态估计相关方法的总结。有些方法关注视频或多帧,有些方法关注多视角帧,有些方法以单深度或RGB图像作为输入,还有些方法是用于6D姿态估计。
而不是依赖于单一视角,一些方法使用多视角进行三维姿态估计。He等人[134]提出了一种对极 Transformer [146],用以增强参考视角的特征,并与源视角中对应点的特征相结合。Tyszkiewicz等人[135]利用多帧特征和空的体积特征作为输入,并采用光线追踪 Transformer 逐步交换信息以进行三维表示。
一些方法从深度或RGB图像估计三维姿态。Huang等人[136]引入了一种非自回归手部 Transformer (NARHT),以避免在 Transformer 中进行顺序推理,并实现了快速推理速度。受非自回归 Transformer [147]的启发,NARHT使用结构化参考提取器预测参考姿态,并并行建模输入点与参考姿态之间的关系。程等人[137]提出了一种基于注意力的置信度网络,用于预测每个虚拟视图的置信度,并选择对基于深度的手部姿态估计重要的视图。[138]中,Lin等人提出了一种渐进维度降低 Transformer ,用于预测基于RGB的人体姿态和网格重建中每个关节的3D坐标。上述方法主要关注单一目标的姿态估计。Huang等人[139]开发了一种手部-目标变换网络,利用手部和目标之间的联合相关性进行手部-目标姿态估计。此外,还提出了一些多目标姿态估计方法。Hampali等人[140]首先提取一组关键点,其次将它们的外观和空间编码作为输入到 Transformer 中,用于3D手部和目标姿态估计。[141]中,郭等人使用自注意力模块,通过整合其他人的嵌入来改善每个个体的嵌入。最近,Ugrinovic等人[142]利用集合 Transformer [148]编码多个人的全局信息,以改善多人姿态估计。
除了3D姿态估计,也有少数模型被开发用于描述6D姿态信息。邹和黄[143]设计了一个双分支的 Transformer 编码器-解码器结构,分别从图像和点云中提取特征,并根据两个分支的聚合特征进行6D姿态估计。党等人[144]采用基于学习的点云配准方法来进行6D姿态估计,其中在点云配准架构DCP[149]中使用 Transformer 来结合两个点输入的特征。古德温等人[145]开发了一种新颖的零样本类别级6D姿态估计任务,并采用自监督 Transformer 进行特征提取。
三维目标跟踪。三维点云目标跟踪旨在给定一个模板点云的情况下,在三维空间中定位目标。最近,一些基于 Transformer (transformers)的3D跟踪方法得到了发展。Cui等人[150]使用 Transformer 来利用点云内的局部和全局信息,以及跨不同点云的3D跟踪预测。同样,Zhou等人[151]采用自注意力模块来捕捉长距离依赖关系,以及一个交叉注意力模块进行粗略匹配。
三维运动预测。3D运动预测旨在根据过去的运动历史来预测未来的姿态。Mao等人[152]提出了一种运动注意力模块,以捕捉长期运动历史中的运动关系。类似于3D姿态估计,一些方法[153],[154],[155]使用 Transformer 来捕捉关节之间的空间和时间长距离依赖。Gonzalez等人[156]将姿态序列作为输入,并使用非自回归 Transformer [147]进行运动预测。Zheng等人[157]提出了一个以自我为中心的运动预测数据集,并为这一任务开发了跨模态 Transformer 模块。
三维重建。Wang等人[158]专注于多视角3D目标重建,并提出了一种用于特征提取和融合的3D体积 Transformer 。Zanfir等人[159]使用THUNDR模型从单目图像中重建人体3D形状。THUNDR预测并规范了一个中间的标记表示,通过CNN特征提取和 Transformer 细化。Mahmud和Frahm[160]开发了一种单视角和多视角目标重建方法,称为VPFusion,该方法基于 Transformer 进行特征融合。VPFusion采用 Transformer 执行跨视角特征融合。
表6:3D视觉任务的常见数据集。这些数据集涵盖了3D应用的范围:分类、分割、检测、补全和姿态估计。它们使用不同的传感器收集室内场景、室外场景和目标。
点云配准。DCP [149]使用自注意力和条件注意力来近似两个点云之间的组合匹配。在[161]中,Fu等人介绍了一种基于图匹配的点云配准技术。它利用 Transformer 生成图的边。REGTR [162]通过预测每个点位于两个扫描重叠区域的概率,使用 Transformer 进行点云配准。
为了理解将Transformer架构融入3D视觉流水线中的效果,与先前方法进行比较至关重要。在本节中,作者将在基准数据集上展示基于Transformer的架构与最先进的非Transformer方法的定量比较。作者首先提供数据集和评估指标的详细信息,然后展示不同任务的定量结果。
数据集在计算机视觉任务的发展中扮演着两个重要角色。首先,标注使深度学习模型能够解决具有挑战性的问题。其次,数据集为定量比较提供了基础,用以衡量所提出方法的有效性。已经为3D视觉任务开发了众多数据集。对于3D物体分类,ModelNet40 [163]被广泛使用,ScanObjectNN [166]也同样受欢迎。对于3D分割任务,ShapeNet [164]提供了部分分割的标注,而S3DIS [165]和ScanNet [168]则提供了室内场景的分割数据。对于室内3D目标检测,SUN RGB-D [167]为单个RGB-D帧中的场景提供了定向边界框标注,而ScanNet [168]也可以通过将实例分割标签转换为轴对齐边界框标注来使用。对于户外场景中的3D目标检测,KITTI [169]和nuScenes [170]是最常用的数据集。对于3D点云补全,Completion3D [171]和PCN [172]是两个最广泛使用的数据集。对于3D姿态估计,Human3.6M [173]和MPI-INF-3DHP [174]是最受欢迎的数据集之一。这些数据集的主要属性展示在表6中。
表7 在ModelNet40基准上的形状分类结果(P:点,N:法线,*:预训练)。
作者在表7中展示了基于 Transformer 的3D目标分类方法在ModelNet40数据集[163]上的基准性能。该数据集由9843个训练CAD模型和2468个测试CAD模型组成,分为40个类别。作者将基于 Transformer 的方法与最先进的不基于 Transformer 的方法进行了比较。对于给定的CAD模型,目标分类方法统一采样固定数量的点,在某些情况下,还会将法线信息附加到输入中。此外,一些方法选择在另一个数据集上以自监督的方式预训练分类网络[61],[63]。在ModelNet40上的定量评估显示了基于 Transformer 架构的竞争性结果。多种 Transformer 方法的准确度已经超过了最先进的不基于 Transformer 的方法。
表9展示了在ShapeNet[164]上的目标部分分割以及S3DIS[165]上的场景语义分割结果。作者将基于 Transformer 的方法与最先进的不基于 Transformer 的方法进行了比较。对于部分分割,作者展示了实例平均交并比(IoU),而对于场景分割,作者报告了平均准确度(mAcc)和平均交并比(IoU)。
基于 Transformer 的方法以及最先进的不基于 Transformer 的方法在ScanObjectNN数据集[166]上的分类准确度显示在表8中。这个数据集代表了包含背景和遮挡的真实世界场景中的点云。作者展示了在ShapeNet数据集[164]上进行预训练并在ScanObjectNN上进行微调的结果。基于 Transformer 的方法相较于不基于 Transformer 的方法显示了性能的改进。
作者展示了基于 Transformer 的方法在两个领域:目标部件分割和完整场景分割的分割的基准性能。尽管这两个领域的任务相似,但正确表示形状信息所需的数据量通常不同。
对于3D目标部件分割,作者在广泛使用的ShapeNet数据集[164]上进行评估。该数据集包含14,007个点云目标的训练样本和2874个测试样本。目标分为16个不同的类别,每个类别标有2到6个部分,共计50个部分。在评估时,每个类别的交并比(IoU)计算为该类别所有目标的平均IoU。此外,实例mIoU表示所有目标实例的平均IoU。
在ShapeNet数据集上的定量评估如表9所示。几乎所有的基于 Transformer 的方法都超过了基于点的最先进方案。与仅需要对目标的整体理解进行类别标注的分类任务相比,部件分割需要局部形状理解以进行适当的分割。这表明 Transformer 架构中对全局上下文的增强关注支持局部形状理解。
对于场景语义分割,作者使用了斯坦福大规模3D室内空间数据集(S3DIS)[165]。它使用Matterport扫描仪收集,包含了3个不同建筑中3个室内区域的271个房间的3D点云。在评估时,一些方法进行6折验证,而其他方法则使用区域5作为测试集,其他区域来训练模型。由于区域5与其他区域不同,后一种方法更为常见,因为它更能显示方法对不同场景的泛化能力。在S3DIS数据集上的定量比较如表9所示。定量评估显示,早期采用注意力机制[47]进行3D分割的方法并没有比非注意力方法显示出显著的性能提升。最近,分层 Transformer [96]实现了显著的改进,目前在S3DIS数据集上成为3D语义分割的最先进技术。性能的提升可以归因于有效的 Transformer 实现,它在局部上下文中应用 Transformer 以捕捉精细的形状信息,并使用分层结构和稀疏远距离采样,通过大接收域捕捉全局上下文。
对于室内3D目标检测,SUN RGB-D数据集[167]为单个RGB-D帧中的场景提供了3D边界框标注。它包含了10,335个带有模态和定向边界框的RGB-D帧,涉及37个目标类别。然而,标准的评估协议是仅使用10个常见类别进行训练和评估。训练集由5285个帧组成,而测试集有5050个帧。
在SUN RGB-D数据集上,将 Transformer 模型与最先进的VoteNet[84]和H3DNet[177]方法进行定量评估的结果显示在表10中。尽管表现最差的 Transformer 模型是3DETR,但它是一个直接的 Transformer 编码器和解码器,没有利用3D目标检测中最近的 技术。尽管如此,3DETR的表现与VoteNet方法相当,后者已被其他方法[83]、[177]、[178]所采用。桥接 Transformer (BrT)[92]在SUN RGB-D数据集上取得了最佳性能。它得益于RGB图像的可用性以及 Transformer 对图像和点云的适用性,从而在两个领域之间桥接学习过程。
表11在KITTI 3D目标测试集[169]上与最先进方法的性能评估。结果以mAP(平均精度)报告,具有40个召回点,对于汽车类别使用0.7的IoU(交并比)阈值,其他类别为0.5。(L:激光雷达,C:颜色)
ScanNet[168]数据集由基于多个RGB-D帧重建的3D网格表示的场景组成。原始的ScanNet数据集不包含3D边界框标注,基准中的隐藏测试集不包括3D目标检测的评估。因此,常见的做法是生成与提供的3D实例分割 Mask 对齐的轴对齐3D边界框。训练集包含1201个扫描,用于评估的验证集有312个扫描。
在表10中展示了在ScanNet数据集上的性能评估结果。桥接 Transformer (Bridged Transformer,BrT)[92]在@mAP@IoU=0.5的指标上取得了最高成绩。除了3D扫描数据外,它还使用了用于重建ScanNet场景的25,000帧图像。需要提取用于 Transformer 输入的图像块,该 Transformer 桥接图像和点云之间的信息。对于那些不使用额外的2D图像作为输入的方法,Liu等人[46]通过一种无分组基于 Transformer 的方法取得了最佳性能。这种方法使用PointNet++提取局部点特征,而 Transformer 则全局生成边界框。
对于户外3D目标检测,KITTI数据集[169]是用于自动驾驶的最广泛使用的数据集之一,并提供3D目标检测标注。它包含7481个训练样本和7518个测试样本,并在简单、中等和困难难度上使用标准平均精度(AP)。在KITTI基准上的性能评估结果展示在表11中。作者还展示了每种方法中使用的输入,可能是仅LiDAR、仅RGB或两者都有。仅依赖RGB的方法的性能不如利用LiDAR信息的方法。由于任务是在3D场景中定位目标,仅RGB缺乏准确放置边界框所需的必要3D信息。尽管如此,基于 Transformer 的架构MonoDETR[87]的性能超过了Monoflex[181]。对于LiDAR输入,PDV[94]在“简单”汽车类别上取得了最佳性能。它利用自注意力模块捕获网格点的长距离依赖关系,其中特征是通过使用3D稀疏卷积计算的。对于中等和困难难度,Voxel Transformer[42]和Voxel Set Transformer[79]取得了最佳性能,这得益于将注意力机制集成到特征提取模块中。
表12在nuScenes 3D目标检测测试集[170]上展示了基于 Transformer 的方法与最先进的非 Transformer 方法的性能评估。作者报告了10个类别的检测mAP。
表13在Completion3D[171]和PCN[172]上对点云补全的性能评估。在Completion3D上使用L2 Chamfer距离作为度量标准,而在PCN上使用L1 Chamfer距离。
另一个广泛用于三维目标检测的户外数据集是nuScenes [170],其中包含1000个场景,包括交通繁忙和具有挑战性的驾驶情况。作者在表12中展示了各种方法的检测结果。作者将使用来自激光雷达和/或图像深度的 Transformer 模型与最先进的非 Transformer 方法进行了比较。 Transformer 方法在基于激光雷达和基于图像的三维目标检测方面均显示出性能的提升。最佳性能由Transfusion方法[88]实现,该方法通过 Transformer 融合了来自深度和彩色模态的信息。结果显示, Transformer 能够从这两种模态中学习到互补信息。
正如先前讨论的,Completion3D [171] 和 PCN [172] 通常用于三维点云补全。Completion3D 数据集包含8个类别的30,958个点云模型。部分点云和完整点云的大小均为 。部分三维点云是来自 空间的深度图像的反投影,而在 Completion3D [171] 上进行性能评估时使用了L2 Chamfer距离。表13(中间列)展示了在 Completion3D 数据集 [171] 上,一些非 Transformer 方法和基于 Transformer 的方法的点云补全性能。PCN [172] 和 PMP-Net [185] 是非 Transformer 方法,而 PoinTr [117]、Snowflakenet [120]、PointAttN [119] 和 Wang 等人 [118] 是基于 Transformer 的方法。显然,对于这项任务,基于 Transformer 的方法在 Completion3D 上的表现更佳。在这些基于 Transformer 的方法中,PointAttN [119] 和 Wang 等人 [118] 的 L2 Chamfer 距离最小(即6.63和6.64),这是因为它们采用 Transformer 来提取全局和局部信息,以提高性能。
表14 在 Human3.6M [173] 数据集上,使用2D姿态检测作为输入,根据协议1和2进行的三维姿态估计性能比较。
表15 在 MPI-INF-3DHP [174] 数据集上的三维姿态估计性能比较。
PCN [172] 数据集包含8个类别的30,974个点云模型。部分点云的点的数量少于20,48个,而完整点云则有16,384个点。在以下实验中,使用 L1 Chamfer 距离对 PCN 数据集 [172] 进行性能评估。表13(右列)展示了在 PCN [171] 上的点云补全性能。在这些基于 Transformer 的方法中,Snowflakenet [120] 和 PointAttN [119] 的 L1 Chamfer 距离最小(即7.21和6.86)。
Human3.6M [173] 和 MPI-INF-3DHP [174] 是两种广泛用于三维姿态估计的数据集。Human3.6M数据集[173]包含360万个视频帧,在室内场景的4个不同视角下录制。有11位不同的演员执行了17个动作类别。性能评估采用两种度量标准(MPJPE和P-MPJPE)。平均关节位置误差(MPJPE)度量,即协议1,是通过计算预测关节和真实关节之间的平均欧氏距离(以毫米为单位)得出的。P-MPJPE度量,即协议2,是经过刚体对齐后处理的MPJPE。表14展示了在Completion3D [171]上,一些非 Transformer 方法和基于 Transformer 的方法在三维姿态估计性能上的比较。与非线性转换方案相比,大多数基于 Transformer 的方法通常在协议1和协议2下都有更好的性能。在这些基于 Transformer 的方法中,MixSTE [131]表现最佳,协议1下的平均MPJPE为42.4,协议2下为33.9。MixSTE由时间 Transformer 和空间 Transformer 组成,两个 Transformer 以交替方式进行。时间 Transformer 用于学习每个关节的时间关系,而空间 Transformer 用于构建不同关节的空间相关性。
MPI-INF-3DHP数据集[174]包含130万个帧,在室内外场景中录制。有8位不同的演员执行了8个动作类别。表15展示了某些方法的成果。性能评估采用了三种度量标准(MPJPE、PCK和AUC)。PCK度量是正确关键点百分比的3D扩展,阈值为 ,而AUC是在PCK阈值范围内计算的。在这些基于 Transformer 的方法中,P-STMO [130]表现最佳,PCK为97.9,AUC为75.8,MPJPE为32.2。P-STMO采用自监督预训练 Transformer 进行姿态估计。
将Transformer整合到3D应用流程中已经在众多领域显示出其有效性。鉴于在多个数据集上的竞争性表现,Transformer被证明可以成为卷积和多层感知机操作的合适替代品,这归功于其能够学习长距离依赖关系。然而,针对3D处理的通用Transformer Backbone 网络仍然缺失。与采用Transformer进行图像处理的方法不同,后者有许多方法依赖于焦点方法[69]、[112],大多数基于Transformer的3D方法使用不同的Transformer设计和整合方式。开发一个用于处理点云并同时在局部和全局尺度上学习丰富特征的通用Transformer方法是非常有意义的。Transformer需要学习精细的形状信息,同时在整个场景全局范围内操作以利用场景上下文。
此外,大多数基于Transformer的3D方法将3D数据子采样到固定大小的输入。在考虑到给定像素数量的情况下,固定输入大小在图像中是常态,但3D输入大小通常会有所变化。
因此,一个合适的采样策略对于(1)保留学习精细信息的能力,(2)无论场景大小如何,保持类似物体结构,(3)为Transformer处理生成可行数据大小来说至关重要。尽管自然语言处理(NLP)处理可变大小的输入,但句子中的单词都会被标记化,输入信息并未丢失。另一方面,3D输入采样可能会遗漏潜在的重要信息,并且取决于场景的大小。
一个值得探索的采样策略是使用数据驱动的方法。例如,可以使用输入的小样本作为种子,进行灵活且数据驱动的采样。这类似于之前的输入聚合方法,但采样将适应输入信息,原始信息始终是可以访问的。
位置嵌入的选择也同样关键。3D字段中的位置信息不仅对信息序列进行排序,而且还是理解形状信息的主要特征。尽管大多数3D视觉方法将3D位置作为输入到Transformer的一部分,但此信息可能需要先进行编码,并且在经过多层特征提取后可能不再明确可用。因此,适当的位置嵌入将有助于学习任务。位置嵌入的选择应帮助模型学习平移不变性并保留来自其他场景元素的上下文信息。
现有的Transformer模型依赖于训练过程中的数据增强。尽管许多Transformer方法使用现成的3D增强方法,但一些3D增强技术已经显示出相对于常见的非Transformer方法的显著改进[188]、[189]。类似的趋势也可能有利于基于Transformer的方法,通过利用适合于训练Transformer的特定于3D的增强。
与NLP或2D图像处理相比,3D视觉较少依赖于预训练。这在基于Transformer的方法中也可以观察到,预训练很少被使用。大规模的全监督或自监督预训练有助于提高2D模型的性能以及鲁棒性。类似的预训练模型也将有利于3D领域。这可以通过在完全标记的大型数据集上进行学习来实现,类似于2D中的ImageNet,或者通过自监督学习。
[1]. 3D Vision with Transformers: A Survey.