DSVT: Dynamic Sparse Voxel Transformer with Rotated Sets(CVPR2023)

目录

原文:https://arxiv.org/abs/2301.06051
代码:https://github.com/Haiyang-W/DSVT
作者机构:Haiyang Wang1* Chen Shi5* Shaoshuai Shi2† Meng Lei1,4 Sen Wang3 Di He5 Bernt Schiele2 Liwei Wang1,5† 1Center for Data Science, Peking University
2Max Planck Institute for Informatics, Saarland Informatics Campus 3Huawei 4Zhejiang Lab
5National Key Laboratory of General Artificial Intelligence, School of Intelligence Science and Technology, Peking University {wanghaiyang@stu, shichen@stu, leimeng@stu, dihe@, wanglw@cis}.pku.edu.cn {sshi, schiele}@mpi-inf.mpg.de wangsen31@huawei.com.

摘要

设计一个高效而又便于部署的(efficent yet deployment-friendly)三维骨干网(3D Backbone)来处理稀疏(sparse)的点云是三维感知(3D perception)的一个基本问题。与定制的稀疏卷积(customized sparse convolution)相比,Transformers中的注意力机制(attention mechanism)更适合于灵活地模拟长距离关系(long-range relationships),并且更容易在现实世界的应用中被部署。
然而,由于点云的稀疏特性、在稀疏点上应用一个标准的transformer是不容易的。在本文中,我们提出了动态稀疏体素transformer(Dynamic Sparse Voxel Transformer, DSVT),一个用于户外三维感知(outdoor 3D perception)的基于单行窗的体素Transformer骨干网(a single-stride window-based voxel Transformer backbone)。为了高效地并行处理稀疏点,我们提出了动态稀疏窗口注意力(Dynamic Sparse Window Attention),它在每一个窗口中都划分出一系列的局部区域,根据其稀疏程度然后以完全并行的方式计算所有区域的特征。为了允许跨集连接(cross-set connection),我们设计了一个旋转集的分区策略(a rotated set partitioning strategy),在连续的自我注意力层中交替使用两种分区配置。为了支持有效的下采样和更好地编码几何信息,我们还提出了一个关于稀疏点的注意力3D池化模块(an attention-style 3D pooling module on sparse points),该模块功能强大,部署方便,无需利用任何定制的CUDA操作。我们的模型在广泛的三维感知任务中取得了最先进的性能。更重要的是,DSVT可以很容易地被TensorRT部署,具有实时推理速度(27Hz).

1.背景

3D感知是计算机视觉中的一个重要挑战,由于其在自动驾驶系统[2, 45]和现代机器人技术[48, 58]等各个领域的潜在应用,三维感知获得了越来越多的关注。在本文中,我们提出了DSVT,一个通用的、便于部署的只用transformer的3D骨干网,可以很容易地应用于各种三维感知任务的点云处理。
研究得很好的2D领域,输入的图像是一个密集的packed array。与之不同的是,由于三维传感器的特性,三维点云在连续空间中的分布是稀疏和不规则的,这使得直接应用于传统常规数据的技术具有挑战性。为了支持从原始点云中进行稀疏特征学习,以前的方法主要应用定制的稀疏操作、如PointNet++[31, 32]和稀疏卷积[14, 15]。基于PointNet的方法[31, 32, 43]使用point-wise MLPs,包括ball-query和最大池化操作来提取特征。基于稀疏卷积的方法[7, 14, 15]首先将点云转换为规则网格并有效地处理稀疏的volumes。虽然令人印象深刻,但它们存在着采样和分组的密集计算[32],或者由于子域扩张(submanifold dilation)而导致的有限的表示能力(limited representation capacity )[15]。更重要的是,这些专门设计的操作一般不能用优化的深度学习工具(如PyTorch和TensorFlow)来实现,并且需要编写定制的CUDA代码,这大大限制了它们在现实世界中的应用。
见证了Transformer[44]在2D领域的成功,许多基于注意力的3D视觉方法已经在点云处理中得到研究。然而,由于3D点的稀疏性,每个局部区域的非空体素(non-empty voxels)的数量会有很大的变化,这使得直接应用标准transformer是不可行的。为了有效地处理稀疏数据上的注意力,许多方法通过随机抽样[29,54]或将具有相似数量的局部区域组合在一起[12, 41]来重新平衡标记的数量(token number)。这些方法要么是与多余的计算分不开的(例如,假令牌填充和非平行注意dummy token padding and non-parallel attention),要么性能不具备竞争力(例如,令牌随机丢弃token random dropping)。另外,一些方法[18, 28]试图通过编写定制的CUDA操作来解决这些问题,这些操作需要大量的优化才能部署在现代设备上。因此,建立一个高效的、便于部署的3D transformer backbone是我们在本文中要解决的主要挑战。
本文中,我们试图扩大Transformer的适用性,使其能够作为户外3D感知的强大backbone,就像它在2D视觉中的作用一样。我们的骨干网 的骨干是高效的,但又是易于部署的,不需要任何定制的 CUDA操作。为了实现这一目标,我们提出了两个主要模块,一个是动态稀疏窗口注意力机制(dynamic sparse window attention)来支持具有不同稀疏度的局部窗口的高效并行计算,另一个是新的可学习的3D池化操作,对特征图进行降采样,并更好地编码几何信息。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

具体来说,如图2所示,给定稀疏体素化表征和窗口分区(sparse voxelized representations and window partition),我们首先将每个窗口的稀疏体素划分为一些不重叠的子集,其中每个子集都保证有相同数量的体素,以便进行并行计算。这些子集的分区配置将根据X轴和Y轴之间的旋转分区轴在连续的自注意力层中改变。它将前面几层的子集连接起来,用于窗内融合,提供它们之间的联系,大大增强建模能力(见表6)。为了更好地处理窗口间的融合,并对多尺度信息进行编码,我们提出了混合窗口分区,它在连续的transformer块中交替使用其窗口形状。它导致了计算成本的下降,而性能甚至更好(见表7)。通过上述设计,我们以完全并行的方式处理所有区域,在同一批次中计算它们。这种策略在现实世界的延迟方面是有效的:i) 所有的窗口所有窗口都是并行处理的,这几乎与体素分布无关;ii) 使用自注意力,没有键的重复,这有利于硬件的内存访问。我们的实验表明,动态稀疏窗口注意力方法比以前的基于桶的策略(bucketingbased strategies)[12, 41]或虚构窗口注意力(vanilla window attention)[24]的延迟要低得多,但在建模能力上是相似的(见表5)。

其次,我们提出了一个强大而又便于部署的3D稀疏池化操作,以有效地处理下采样和更好的编码几何表示。为了解决3D点云的稀疏特征,以前的方法采用了一些定制的操作,例如定制的散点函数函数(customized scatter function)[13]或分层稀疏卷积(strided sparse convolution)来生成下采样的特征体(feature volumes)[51,55]。对高效部署的大量优化要求,限制了它们在现实世界中的应用。更重要的是,我们根据经验发现,在我们的transformer block之间插入一些线性或最大池化层也会损害网络收敛性和编码的几何信息。为了解决上述问题的限制,我们首先将稀疏的下采样区域转换成密集的,并处理一个注意力式的3D池化操作来自动聚集局部空间特征(local spatial features)。 我们的3D池化模块功能强大且易于部署,不需要任何自行设计的CUDA操作,其性能提升(见表8)证明了其有效性。

简而言之,我们的贡献有四个方面:
1)我们提出了动态稀疏窗口注意力(Dynamic Sparse Window Attention),这是一种新型的基于窗口的注意力策略,用于有效、并行地处理稀疏的3D voxels 。
2)我们提出了一种可学习的3D池化操作,它可以有效地对稀疏体素(sparse voxels)进行降采样并对几何信息进行更好的编码。
3) 基于上述关键设计,我们引入了一个高效且易于部署的transformer 3D 骨干网,无需任何定制的
CUDA操作
。它可以很容易地通过NVIDIA TensorRT加速,以实现实时推理速度(27Hz),如图1所示。
4)在大规模的Waymo[39]和nuScenes[4]数据集上的各种三维感知任务,我们的方法优于以前的最先进的方法。

2.相关工作

点云3D感知

以前的三维感知方法可以粗略地分为基于点的方法和基于体素的方法。由于强大的PointNet系列[31, 32]、基于点的方法[6, 26, 30, 37, 47, 52]已被广泛用于直接从原始点云中提取几何特征。
然而,这些方法存在着点采样和邻居搜索(point sampling and neighbor searching)的耗时过程,以及计算密集型的点状特征重复。基于体素的方法[9,10,16,35,36,38,46,51,53]主要应用于户外自动驾驶的场景。
输入的点云首先被转换为常规的三维体素(3D voxels),然后通过三维稀疏卷积(3D sparse convolution)进行处理。虽然印象深刻,但为了避免计算量的扩大,这些方法通常采用 submanifold 稀疏卷积,这大大减少了感受野并限制了它的表达能力。更重要的是,无论是PointNet++还是稀疏卷积
卷积都是通过定制的CUDA代码实现的,在现实世界的应用中需要大量的优化。为了解决这个问题,我们提出了一个高效且易于部署的点云处理器,以促进三维感知的发展。

三维感知的转化器。

由于Transformer[44]在计算机视觉界的巨大成功,许多研究人员试图将这种架构引入点云处理。由于点云的稀疏性,如何有效地应用一个标准的变换器是不容易的。VoTr[28]首先提出了局部注意力和扩张的注意力(local attention and dilated attention),用一个self-designed voxel query在稀疏体素(sparse voxel)上实现注意力机制。SST[12]和SWFormer[41]将具有相似数量(token)标记的区域分为一个批次,并对其进行单独填充,以实现并行计算。尽管这些方法已经探索了各种稀疏注意策略(sparse attention strategies),但它们都不可避免地存在着冗余的计算(例如,非平行的注意力,token重复)或不具竞争性的性能(例如,随机令牌丢弃和采样)。此外,这些方法中的大多数也是
高度依赖于一些自行设计的CUDA操作(如散点函数[18]和查询函数[28]), 这大大限制了它们在现实世界中的应用。为了解决这些问题,我们提出了动态稀疏窗口注意力,这是一种高效的注意力机制,只需在优化好的深度学习框架(如PyTorch)的基础上,在同一批次中并行计算所有的稀疏标记。

3.方法

3.1 概览

图3展示了DSVT架构的概况,它阐明了 pillar 版本(DSVT-P)。它首先通过体素特征编码(VFE,voxel feature encoding)模块将输入的点云(input point clouds)转换为稀疏的体素(sparse voxels),就像以前基于体素的方法一样[41,50,53]。每个体素将被视为一个 “标记”(token)。
考虑到transformer的足够感受野(sufficient receptive field)和室外物体的小尺度,我们没有使用分层表示方法,而是按照[12]的做法,采用了单行的网络设计(single-stride network design),这并没有缩小特征图在X/Y轴上的尺寸,并且在户外三维物体检测中表现得更好。在这种设计下,几个具有动态稀疏窗口注意力dynamic sparse window attention 的体素转换块voxel transformer blocks (DSVT Block)被应用于这些体素。为了提供稀疏体素之间的联系,我们设计了两种分区方法:旋转集和混合窗口(rotated set and hybrid window, 在第3.2节中描述),它们可以在保持高效计算的同时,引入窗口内和窗口间的特征传播(intra- and inter-window feature propagation)。为了支持3D variant并更好地编码精确的3D几何信息而无需任何额外的CUDA操作,设计了一个可学习的3D池化模块,以实现有效的降采样(见 §3.3)。由我们提出的DSVT提取的体素特征(voxel features)被投射到鸟瞰图(BEV)上。最后,被连接上各种感知头用于各类3D感知任务(见第3.4节)。我们提出的架构可以无缝地替代现有方法中的3D backbone、 增强户外3D感知的性能。

3.2 动态稀疏窗口注意力

基于窗口的Transformer架构[11, 24]在2D物体检测方面取得了巨大的成功。然而,由于点云在3D空间中是稀疏分布的,许多体素是空的,没有有效的点。因此,每个窗口中的非空体素的数量可能会有很大变化,这使得直接应用标准Transformer是不可行的。在每个窗口中简单地将稀疏体素(sparse volume)填充为密集(intense)的,计算成本很高(见表5)。以前的方法[12,18,41]试图通过抽样[29,54]或将具有相似数量token的区域组合在一起[12,41]来重新平衡体素数量。虽然令人印象深刻,但它们都存在冗余计算或性能不稳定的问题。另外,一些方法编写了定制的CUDA操作来缓解这些问题,其运行速度不如深度学习框架(如PyTorch)中经过良好优化的原生(native)操作,限制了它们在实际应用中的部署。
为了解决上述限制,我们提出了动态稀疏窗口注意,一种基于窗口的注意力策略,有效地并行处理稀疏的3D voxels。值得注意的是,它全部由深度学习工具中、经过良好优化的原生(native)操作实现,没有任何自行设计的CUDA操作,因此对部署在现代GPU上是很友好的。
动态集合划分。 为了在每个窗口内给定的稀疏体素( given sparse voxels)之间有效地执行标准注意力(perform standard attention),我们将其重新表述为在一系列有窗口限制和大小相等的子区域(subsets)内并行计算的自注意力。
具体来说,在将点转换为3D voxels后,它们被进一步划分为一列不重叠的三维窗口,与以前基于窗口的方法[12, 24, 41]一样,这些窗口具有固定的L×W×H大小。对于一个特定的窗口,它有N个非空的体素,即、
V = { v i ∣ v i = [ ( x i , y i , z i ) ; f i ; d i ] } i = 1 N . ( 1 ) V = \{v_i | v_i= [(x_i ,y_i ,z_i );f_i ; d_i ] \}^N_{i=1}. (1) V={vivi=[(xi,yi,zi);fi;di]}i=1N.1

其中, ( x i , y i , z i ) ∈ R 3 (x_i ,y_i ,z_i )\in\mathbb R^3 (xi,yi,zi)R3 f i ∈ R C f_i \in\mathbb R^C fiRC分别代表稀疏体素的坐标和特征。 d i ∈ [ 1 , N ] d_i \in[1, N] di[1,N]是对应窗口内的体素ID,可以通过指定这些体素的排序策略来生成。为了生成不重叠且大小相等的局部集合(local sets),我们首先计算出这个窗口中所需要的子集的数量,如下所示:
S = ⌊ N τ ⌋ + Ⅱ [ v i = [ ( N % τ ) > 0 ] . ( 2 ) S = \left \lfloor \frac{N}{\tau} \right \rfloor + Ⅱ [v_i= [ (N \% \tau ) > 0]. (2) S=τN+[vi=[(N%τ)>0].2
其中, ⌊ ∗ ⌋ \left \lfloor * \right \rfloor 是floor函数, Ⅱ [ ∗ ] Ⅱ[*] []是indicator函数。 τ \tau τ是超参数,表示分配给每一集合(set)的非空体素的最大数量。通过这种方式,我们可以用最少的子集(subsets)覆盖这个窗口中的所有体素。值得注意的是, S S S会随着窗口的稀疏程度而动态地变化。非空的体素越多,就会有更多的子集和计算资源被分配给处理这个窗口,这就是我们的动态稀疏窗口关注的关键设计。
随着分配的集合 S S S数量的增加,我们将 N N N个非空体素均匀地分配到 S S S个集合。具体来说,对于属于第 j j j个集合(j-th set)的体素(表示为 Q j = { q j k } k = 0 τ − 1 Q_j = \{q^k_j\}^{τ-1} _{k=0} Qj={qjk}k=0τ1),我们计算其第k个索引(k-th index)为
q k j = ⌊ j × τ + k S × τ × N ⌋ , f o r k = 0 , . . . , τ − 1 , ( 3 ) q^j_k = \left \lfloor \frac{j × τ + k}{S × τ} ×N\right \rfloor , for k=0,...,τ-1, (3) qkj=S×τj×τ+k×N,fork=0,...,τ1,3
其中, ⌊ ∗ ⌋ \left \lfloor * \right \rfloor 是floor函数。注意,这个操作可以为每个集合(set)生成特定数量(如, τ τ τ)的体素,而不考虑 N N N,这使得注意力层可以以完全并行的方式(in a fully parallel manner)在所有的集合(sets)上执行。尽管公式(9)可能会在每个集合中重复一些体素以达到 τ τ τ体素的数量,但这些多余的体素在进行注意力机制时将被屏蔽掉。
在获得第j个集合(j-th set)的分区 Q j Q_j Qj后,我们再根据体素内窗口ID D = { d i } i = 1 N D = \{d_i\}^N _{i=1} D={di}i=1N,收集对应的体素特征和坐标,如下所示、
F j , O j = I N D E X ( V , Q j , D ) , ( 4 ) F_j, O_j = INDEX(V, Q_j, D), (4) Fj,Oj=INDEX(V,Qj,D),(4)
其中INDEX(-voxels, -partition, -ID)是索引操作, F j ∈ R τ × C F_j∈ \mathbb R^{τ×C} FjRτ×C O j ∈ R τ × 3 O_j∈ \mathbb R^{τ×3} OjRτ×3是这个集合(set)对应的体素特征和空间坐标 ( x , y , z ) (x,y,z) xyz
通过这种方式,我们得到了一些不重叠的、具有相同数量稀疏体素的窗口边界的子集(window-bounded subsets)。
值得注意的是,我们的动态集合分区高度依赖于窗口内体素ID(见公式(4)),所以我们可以很容易地通过体素ID采用不同的排序策略重新排序,来控制每个集合的覆盖局部区域。
旋转的集合注意力窗口内特征传播。 上述动态集合的划分可以将稀疏的体素分组为不重叠的、以窗口为界的子集,其中每个子集都有相同数量的体素,这使得每个子集内能够以完全并行的方式进行自注意力层。然而,在不变的分区内计算自注意力,缺乏跨子集的连接,限制了其建模能力。为了连接体素,在非重叠集合之间架起桥梁,同时保持高效的计算能力,我们提出了我们提出了旋转集注意的方法,在连续的注意力层中交替使用两种分区配置。
如图3所示,我们的DSVT模块包含两个自注意层。而第一层使用X-轴分区,其中体素ID根据其坐标在X轴上的主要顺序进行排序。下一层采用的是旋转的分区配置,以Y轴的主要顺序进行排序。通过上述设计,DSVT块的计算方式为:
F l , O l = I N D E X ( V l − 1 , { Q j } j = 0 S − 1 , D x ) , V l = M H S A ( F l , P E ( Q l ) , F l + 1 , O l + 1 = I N D E X ( V l , { Q j } j = 0 S − 1 , D y ) , V l + 1 = M H S A ( F l + 1 , P E ( Q l + 1 ) , ( 5 ) F_l, O_l = INDEX(V^l-1, \{Q_j\}^{S-1}_{j=0}, D_x), \\ V_l= MHSA(F^l, PE(Q^l), \\ F^{l+1}, O^{l+1} = INDEX(V^l, \{Q_j\}^{S-1}_{j=0}, D_y), \\ V^{l+1}= MHSA(F^{l+1}, PE(Q^{l+1}), (5) Fl,Ol=INDEX(Vl1,{Qj}j=0S1,Dx),Vl=MHSA(Fl,PE(Ql),Fl+1,Ol+1=INDEX(Vl,{Qj}j=0S1,Dy),Vl+1=MHSA(Fl+1,PE(Ql+1),(5)
其中 D x D_x Dx D y D_y Dy分别是X轴和Y轴上排序的窗口内体素索引。 M H S A ( − ) MHSA(-) MHSA()表示带有FFN和层归一化(Layer Normalization)的、传统的多头自注意力层。 P E ( − ) PE(-) PE()代表[24]中使用的位置编码函数。 F ∈ R S × τ × C F∈ \mathbb R^{S×τ×C} FRS×τ×C O ∈ R S × τ × 3 O∈\mathbb R^{S×τ×3} ORS×τ×3是对应的索引体素特征和坐标的所有集合。为此,原始稀疏窗口注意将被近似地重新表述为集合注意力,可以在同一批次中并行处理。这样一来
这样,就很容易在当前流行的深度学习框架中实现一个高效的DSVT模块,而不需要额外的工程部署的努力。
旋转集合分区在前一层的非重叠集合之间引入了连接,并被发现在户外三维感知中是有效的(见表6)。
用于窗口间特征传播的混合窗口分区。 为了连接不同窗口的体素并降低计算成本,我们(在block层级)提出了块级的混合窗口分区。我们观察到,我们的动态窗口注意力层具有线性计算复杂度与子集的总数有关。然而,增加窗口的大小将减少子集的数量,并导致自注意力层计算成本下降,但也会破坏小物体的检测性能。这就促使我们采用混合窗口分割法来提供良好的性能-效率权衡。
具体来说,我们遵循swin-transformer[24],在两个连续的DSVT块之间,使用窗口移动技术来重新划分稀疏窗口,但是他们的窗口大小是不同的。通过这种设计,我们的块可以在不牺牲性能的情况下,有效地节省计算成本。

3.3 注意力式的3D池化

与pillar-style的2D编码器相比,基于体素的3D backbone可以捕获更精确的位置信息,这对三维感知是有利的。然而,我们观察到,简单地填充稀疏区域和应用MLP网络进行下采样[24]会降低性能(见表8)。有太多的零填充孔,这对单层MLP学习稀疏的几何信息是具有挑战性的。此外,我们观察到
在我们的transformer块之间插入一个MLP也会损害了网络优化。为了支持有效的三维降采样和更好地编码空间信息,我们提出了一个注意力式(attention-style)的3D池化操作,它与我们的完全注意力(full attention)设置相兼容,并且在实施时不需要任何自主设计的CUDA操作。
给定一个池化局部区域(pooling local region) l × w × h l×w×h l×w×h,(例如2×2×2)、有 P P P个非空的体素 { p i } i = 1 P \{p_i\}^P_{i=1} {pi}i=1P,我们首先把这个稀疏的区域填充为密集区域, { p ~ i } i = 1 l × w × h \{\widetilde p_i\}^{l×w×h}_{i=1} {p i}i=1l×w×h,并沿体素维度进行标准的最大池化,即
P = M a x P o o l ( { p ~ i } i = 1 P ) , ( 6 ) P = MaxPool(\{\widetilde p_i\}^{P}_{i=1}), (6) P=MaxPool({p i}i=1P),(6)
我们不直接将池化后的特征送入后续模块,而是使用池化后的特征 P P P来构建查询向量,而原始的未池化的 { p ~ i } i = 1 P \{\widetilde p_i\}^{P}_{i=1} {p i}i=1P则起着键和值向量的作用,即
P ~ = A t t n ( Q = P , K V = { p ~ i } i = 1 l × w × h ) , ( 7 ) \widetilde P = Attn(Q=P, KV = \{\widetilde p_i\}^{l×w×h}_{i=1}), (7) P =Attn(Q=P,KV={p i}i=1l×w×h),(7)
通过这种注意力式的3D池化操作,我们的3D骨干网保持了完全注意力的特点,并达到了比我们的pillar variant有更好的性能。

3.4 感知模型

Backbone Variants(骨干变体) 我们建立了我们的基础骨干模型,称为DSVT-P,这是一个单行的基于支柱的稀疏体素骨架(single-stride pillar based sparse voxel backbone),其模型大小与广泛使用的稀疏卷积骨干模型[51, 55]相似。我们还引入了DSVT-V,这是一个单行的基于体素的三维骨架(single-stride voxel-based 3D backbone),它只通过我们的注意力式三维池化模块(attention-style 3D pooling module)逐步减少Z轴范围上的特征图的大小。值得注意的是,输出的这两个变体的体素数和相应的坐标是相同的,这可以很容易地用来消减我们的池化模块的有效性。
检测头和训练目标。 我们的DSVT是灵活的,可以应用于大多数基于体素的检测框架[22, 53]。在Waymo的变体中,我们采用了CenterPoint-Pillar[53]的框架,并将我们的DSVT加在BEV骨架之前。对于nuScenes,我们只是简单的用DSVT取代Transfusion-L[1]的3D编码器。除此之外,我们还遵循[20,23,34],使用IoU-rectification方案将IoU信息纳入置信度评分。
两阶段模型。 尽管我们的主要贡献集中在骨干网络中稀疏体素transformer结构的设计上,但单阶段和两阶段检测器之间仍有相当大的收益。为了匹配的性能差距(gap),我们提供了一个两阶段版本的
CT3D[33],它是一个广泛使用的两阶段框架,从点云中进行提案意识的聚合( performs proposal-aware aggregation)。
分割头。 在地图分割任务中,我们遵循BEVFusion[25]的激光雷达分支,只切换了3D主干,而其他组件保持不变。

4.实验(未完待续)

4.1 实现细节

网络架构。

训练和推理。

4.2 3D目标检测

Waymo.

NuScenes.

4.3 BEV map分割(鸟瞰图分割)

为进一步阐述我们提出方法的普适性,我们在仅用雷达作为输入的nuScenes数据集上评估了鸟瞰图分割任务。表3中是与最先进的方法的比较结果。

4.4 消融实验

与稀疏卷机骨干网比较。
动态稀疏窗口的有效性。
3D池化模块的有效性。

4.5 推理速度

在表格9中和其他最先进的方法对比了推理速度和表现精度。

5.总结

在这篇文章中,我们提出了DSVT,一种部署友好且功能强大,仅有transformer的3D骨干网络。为了高效处理点云,我们引入动态稀疏窗口注意力,一种新的注意力机制,它将所有的稀疏体素划分为一系列大小相当且有窗口限制的子集,无需任何定制的CUDA操作即可进行并行处理。因此,我们提出的DSVT可以被良好优化过的NVIDIA TensoRT来加速,其在各种3D感知基准测试中以实时运行的速度实现了最先进的性能。我们希望我们的DVST不仅能够成为实际应用中用于3D感知的一个可靠的点云处理器,还能为其他任务中高效处理点云任务提供可靠的解决方案。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值