
# 用于三维目标检测的Voxel Transformer

毛嘉赓 $^{1*}$ 徐宇晶 $^{2*}$ 梁小丹 $^{5}$

牛敏哲 $^{3}$

徐航 $^{3\dagger}$

白浩宇 $^{4}$ 冯嘉玺 $^{2}$

徐春静 $^{3}$

## 摘要

我们提出Voxel Transformer（VoTr），这是一种新颖有效的基于体素的Transformer骨干网络，面向点云三维目标检测任务。基于体素的三维检测器所用的传统三维卷积骨干网络受限于有限的感受野，无法有效捕获对目标识别和定位至关重要的大尺寸上下文信息。本文中，我们通过引入基于Transformer的架构解决了这一问题，该架构通过自注意力建模体素之间的长程关联。考虑到非空体素天然稀疏但数量众多，直接将标准Transformer应用于体素并非易事。为此，我们提出了稀疏体素模块和子流形体素模块，可高效处理空体素与非空体素位置。为了进一步扩大注意力范围，同时保持与卷积方法相当的计算开销，我们在上述两个模块的多头注意力中设计了两种注意力机制：局部注意力（Local Attention）和膨胀注意力（Dilated Attention），还进一步提出快速体素查询（Fast Voxel Query）来加速多头注意力中的查询过程。VoTr包含一系列稀疏体素模块与子流形体素模块，可适配大多数基于体素的检测器。在KITTI数据集和Waymo开放数据集上的结果表明，我们提出的VoTr在保持计算效率的同时，相比卷积基线取得了稳定的性能提升。

### 1. 引言

三维目标检测在自动驾驶与机器人领域得到了越来越多的关注。从点云检测三维目标对研究界而言仍然充满挑战，主要原因在于点云天生是稀疏且非结构化的。基于体素的检测器将不规则点云转换为规则的体素网格，在该任务上展现出了优异的性能。本文中，我们提出Voxel Transformer（VoTr），这是一种高效的基于Transformer的骨干网络，可应用于大多数基于体素的检测器来

![Image](images/237d129b3766e38eee4002abd398ba0fa548c376575a85134586a8a3fe6cd030.jpg)

<div style="text-align: center;">(a) 3D convolutional network</div>

![Image](images/4f5de1cbc998e2265ec7880f50827dd0ee0e9f75949260b6989d35e353b5d0e3.jpg)

<div style="text-align: center;">(b) Voxel Transformer</div>

<div style="text-align: center;">Figure 1. Illustration of the receptive field obtained by the 3D convolutional network and our proposed VoTr. In (a), the orange cube denotes a single 3D convolutional kernel, and the yellow voxels are covered by the maximum receptive field centered at the red voxel. In (b), the red voxel denotes a querying voxel, and the blue voxels are the respective attending voxels for this query in voxel attention. Our observation is that a single self-attention layer in VoTr can cover a larger region than the whole convolutional backbone, and it can also maintain enough fine-grained 3D structures.</div>

## 进一步提升检测性能

现有研究方法可分为两大分支。基于点的方法[^27] [^20] [^35] [^36]直接在点云上进行处理并生成三维边界框。这类方法一般采用点算子[^24] [^17]直接从点云提取特征，但受点分布稀疏非均匀的影响，且邻点采样与搜索过程十分耗时。与之不同，基于体素的方法[^44] [^34] [^38] [^16] [^37]先将点云栅格化为体素，通过三维卷积网络提取体素特征，再将体素转换为鸟瞰图（Bird-Eye-View，BEV）特征图，最终在BEV图上生成三维检测框。基于点的方法严重依赖耗时的点算子，相比之下，基于体素的方法结合稀疏卷积效率更高，能够实现当前最优的检测性能。

三维稀疏卷积网络是大多数基于体素的检测模型的核心组件。尽管三维卷积主干网络具备效率优势，但其受限于有限的感受野，无法捕捉丰富的上下文信息，阻碍了仅含少量体素的三维目标的检测。例如，在KITTI数据集中，使用常用的三维卷积主干网络[^34]，体素大小为$(0.05m, 0.05m, 0.1m)$时，最后一层的最大感受野仅为

---

(3.65米, 3.65米, 7.3米)，几乎无法覆盖长度超过4米的车辆。扩大感受野也十分棘手。每个体素的最大理论感受野大致与体素大小V、卷积核大小K、下采样步长S和网络层数L的乘积成正比。扩大V会导致点云的量化误差升高；增加K会使卷积特征的规模呈三次方增长；增大S会得到低分辨率的BEV图，不利于检测框预测；增加L则会带来大量额外计算开销。因此，对于三维卷积主干网络来说，获得大感受野的计算成本极高。鉴于检测本身天然稀疏、不完整的三维目标非常需要大感受野，因此需要设计一种新架构，相比卷积主干能够编码更丰富的上下文信息。

近年来，二维目标分类、检测与分割领域的进展[^6] [^2] [^42]表明，Transformer是比卷积神经网络更有效的架构，这主要是因为Transformer模块中的自注意力可以建立像素之间的长程关系。然而，直接将标准Transformer模块应用于体素是不可行的，主要原因有两点：1）非空体素在体素网格中呈稀疏分布。与密集排布在图像平面上的像素不同，非空体素仅占总体素的很小一部分，例如在Waymo Open数据集中[^30]，非空体素通常仅占总体素空间的不到0.1%。因此，不需要在整个体素网格上执行自注意力，应当设计特殊操作，仅对这些非空体素进行高效的注意力计算。2）一个场景中的非空体素数量仍然很大，例如Waymo Open数据集每帧会生成近9万个非空体素。因此，像标准Transformer那样应用全连接自注意力在计算上是不可行的。因此，人们迫切需要新方法来扩大注意力范围，同时将每个查询对应的注意力体素数量保持在较小水平。

为此，我们提出了Voxel Transformer（VoTr），这是一种基于Transformer的3D主干网络，能够高效应用于体素，可作为传统3D卷积主干网络的更优替代方案。为了有效处理非空体素的稀疏特性，我们提出稀疏体素模块和子流形体素模块作为VoTr的基础构建模块。子流形体素模块仅在非空体素上运算，以保留原始3D几何结构，而稀疏体素模块可在空位置输出特征，灵活性更强，还能进一步扩大非空体素空间。为了解决非空体素数量过多、无法进行自注意力计算的问题，我们进一步为稀疏体素模块和子流形体素模块中的多头注意力设计了两种注意力机制：局部注意力（Local Attention）和膨胀注意力（Dilated Attention）。局部注意力聚焦于邻域以保留细节信息。膨胀注意力通过逐步增大搜索步长，仅用少数参与计算的体素即可获得大的注意力范围。为了进一步加速局部注意力和膨胀注意力的查询过程，我们提出了快速体素查询（Fast Voxel Query），该方法包含一个基于GPU的哈希表，可高效存储和查询非空体素。结合上述所有组件，与卷积基线方法相比，VoTr在保持计算效率的同时，显著提升了检测性能。

我们的主要贡献总结如下：

1) 我们提出了Voxel Transformer，这是首个面向基于体素的3D检测器的基于Transformer的3D主干网络。

2) 我们提出稀疏体素模块和子流形体素模块来处理体素的稀疏特性，还进一步提出了专门的注意力机制和快速体素查询（Fast Voxel Query）以实现高效计算。

3) 我们的VoTr始终优于卷积基线方法，取得了当前最优性能，分别在Waymo数据集上获得74.95%的车辆类LEVEL-1 mAP，在KITTI数据集上获得82.09%的中等难度汽车类mAP。

### 2. 相关工作

点云三维目标检测。3D目标检测器可分为两大方向：基于点的方法和基于体素的方法。基于点的检测器直接在原始点云上运算，生成3D检测框。F-PointNet [^22]是一项开创性工作，它利用平截头体生成候选框。PointRCNN [^27]以自底向上的方式从前景点生成3D候选框。3DSSD [^35]为点云引入了一种新的采样策略。基于体素的检测器将点云转换为规则体素网格，再使用3D和2D卷积网络生成3D候选框。VoxelNet [^44]使用3D CNN从稠密网格中提取体素特征。SECOND [^34]提出3D稀疏卷积来高效提取体素特征。HVNet [^37]设计了利用混合体素表示的卷积网络。PV-RCNN [^26]使用关键点提取体素特征来优化检测框。基于点的方法需要对不规则点进行特征采样和聚合，该过程十分耗时，而基于体素的方法因体素的规则结构效率更高。我们的Voxel Transformer可以插入大多数基于体素的检测器，在保持计算效率的同时进一步提升检测性能。

计算机视觉中的Transformer。Transformer [^31]为机器翻译引入了全注意力框架。近年来，基于Transformer的架构已经超越了卷-

---

![Image](images/00b130e53afac77a80a6373d7ce1f69d90f660a3e6bd36ebc5f59b1fb673bc6e.jpg)

<div style="text-align: center;">Figure 2. The overall architecture of Voxel Transformer (VoTr). VoTr is a Transformer-based 3D backbone that can be applied in most voxel-based 3D detection frameworks. It contains a series of sparse and submanifold voxel modules. Submanifold voxel modules perform multi-head self-attention strictly on the non-empty voxels, while sparse voxel modules can extract voxel features at empty locations.</div>

卷积架构在图像分类、检测与分割任务中展现出更优异的性能。Vision Transformer [^6] 将图像拆分为图像块，再将这些图像块输入Transformer完成图像分类。DETR [^2] 将基于Transformer的骨干网络和基于集合的损失函数用于目标检测。SETR [^42] 在基于Transformer的骨干网络上应用渐进式上采样，实现语义分割。MaX-DeepLab [^32] 使用掩码Transformer完成全景分割。基于Transformer的架构也被应用于三维点云领域。Point Transformer [^41] 为点云分类和分割任务设计了一种全新的点算子。Pointformer [^20] 引入注意力算子提取点特征，用于三维目标检测。我们提出的Voxel Transformer扩展了Transformer在图像领域的研究思路，提出了一种将Transformer应用于稀疏体素的新方法。与基于点的Transformer相比，Voxel Transformer得益于规则体素网格的高效性，在三维目标检测任务中展现出更优异的性能。

### 3. 体素Transformer

在本节中，我们将介绍体素Transformer（Voxel Transformer，简称VoTr），这是一种基于Transformer的三维骨干网络，可应用于大多数基于体素的三维检测器。VoTr能够通过稀疏体素模块和子流形体素模块，在空体素和非空体素位置执行多头注意力计算，并通过高效的注意力机制构建体素之间的长程关联。我们进一步提出了快速体素查询（Fast Voxel Query），用来加速多头注意力中的体素查询过程。我们将在后续章节详细介绍每个组件的设计。

#### 3.1. 整体架构

在本节中，我们介绍Voxel Transformer的整体架构。传统卷积架构 [^34] 包含3个稀疏卷积块和6个子流形卷积块，与该设计类似，我们的VoTr由一系列稀疏体素模块和子流形体素模块构成，如图2所示。具体来说，我们设计了3个稀疏体素模块，对体素网格进行3次下采样，输出不同体素位置、不同分辨率的特征作为输入。每个稀疏体素模块后连接2个子流形体素模块，这类模块保持输入和输出的非空位置一致，能够在扩大感受野的同时保留原始三维结构。所有上述模块都执行多头注意力计算，在多头注意力中，每个查询体素对应的参与注意力计算的体素由两种特殊的注意力机制决定：局部注意力和扩张注意力，这两种机制可以很好地捕捉不同范围的多样上下文信息。我们进一步提出快速体素查询，用来加速多头注意力中非空体素的搜索过程。

VoTr提取得到的体素特征随后会被投影到BEV特征图，用来生成三维候选框，而体素及其对应的特征也可用于第二阶段的RoI优化。我们注意到，本文提出的VoTr具有良好的灵活性，可应用于大多数基于体素的检测框架 [^34] [^26] [^5]。

---

#### 3.2. 体素Transformer模块

在本节中，我们介绍稀疏体素模块和子流形体素模块的设计。稀疏体素模块与子流形体素模块的主要区别在于：子流形体素模块仅在非空体素上运行，仅在非空位置提取特征，以此保留3D场景的几何结构；而稀疏体素模块可以在空位置提取体素特征，灵活性更强，能够根据需求扩展原始的非空体素空间。我们首先介绍稀疏体素上的自注意力机制，随后详细介绍稀疏体素模块和子流形体素模块的设计。

稀疏体素上的自注意力。我们定义了一个总共有$N_{dense}$个体素的密集体素网格，用于对整个3D场景进行光栅化。实际计算中，为了提升效率，我们仅通过一个$N_{sparse} \times 3$整数索引数组$\mathcal{V}$和对应的特征数组$N_{sparse} \times d$ $\mathcal{F}$来存储非空体素，其中$N_{sparse}$是非空体素的数量，且$N_{sparse} \ll N_{dense}$。在每个稀疏和子流形体素模块中，我们使用多头自注意力来构建非空体素之间的长程关联。具体来说，给定查询体素i，我们首先通过注意力机制确定注意力范围$\Omega(i) \subseteq \mathcal{V}$，随后对参与注意力计算的体素$j \in \Omega(i)$执行多头注意力操作，得到特征$f_i^{attend}$。设$f_i, f_j \in \mathcal{F}$分别为查询体素和参与注意力计算体素的特征，$v_i, v_j \in \mathcal{V}$分别为查询体素和参与注意力计算体素的整数索引。我们首先通过$v_i, v_j$将索引$p_i, p_j$转换为实际体素中心对应的3D坐标$p = r \cdot (v + 0.5)$，其中r为体素大小。随后对于单个注意力头，我们计算查询嵌入$Q_i$、键嵌入$K_j$和值嵌入$V_j$如下：

 $$ Q_{i}=f_{i}W_{q},K_{j}=f_{j}W_{k}+E_{pos},V_{j}=f_{j}W_{v}+E_{pos}, $$

其中$W_{q}, W_{k}, W_{v}$分别是查询、键和值的线性投影，位置编码$E_{pos}$可通过下式计算：

 $$ E_{{p o s}}=(p_{i}-p_{j})W_{{p o s}}. $$

因此，体素上的自注意力可以表示为：

 $$ f_{i}^{a t t e n d}=\sum_{j\in\Omega(i)}\sigma(\frac{Q_{i}K_{j}}{\sqrt{d}})\cdot V_{j}, $$

其中$\sigma(\cdot)$是softmax归一化函数。我们注意到，体素自注意力是标准2D自注意力的自然3D扩展，它采用稀疏输入，并将相对坐标作为位置嵌入。

子流形体素模块。子流形体素模块的输出位置与输入非空体素的位置完全一致，这说明它具备

![Image](images/6f5d398ed822d9e11cc4791728636e474802a9d2cc76b1121ae1313620d5bb09.jpg)

<div style="text-align: center;">Figure 3. Illustration of Local and Dilated Attention. We note that this is a 2D example and can be easily extended to 3D cases. For each query (red), Local Attention (yellow) focuses on the local region while Dilated Attention (green) searches the whole space with gradually enlarged steps. The non-empty voxels (light blue) which meet the searching locations are selected as the attending voxels (dark blue).</div>

保留输入原始3D结构的能力。在子流形体素模块中，我们设计了两个子层来捕获每个非空体素的长程上下文信息。第一个子层是融合了所有注意力机制的自注意力层，第二个是[^31]中的简单前馈层。我们在各子层外围使用了残差连接。标准Transformer模块与我们提出的模块主要存在三点区别：1）我们在前馈层后额外添加了一个线性投影层，用于调整体素特征的通道数。2）我们用批量归一化替换了层归一化。3）我们移除了模块中的所有dropout层，因为参与注意力计算的体素数量本身就很小，随机丢弃部分体会阻碍学习过程。

稀疏体素模块。与仅对非空体素进行运算的子流形体素模块不同，稀疏体素模块可以为空位置提取特征，从而实现原始非空空间的扩展，它在体素降采样过程中通常是必需的 [^34]。由于空体素没有可用的特征 $f_i$，我们无法从 $Q_i$ 中得到查询嵌入 $f_i$。为了解决该问题，我们基于注意力特征 $Q_i$ 给出空位置处 $f_j$ 的近似：

 $$ \begin{array}{r}{Q_{i}=\underset{j\in\Omega(i)}{\mathcal{A}}(f_{j}),}\end{array} $$

其中函数 $\mathcal{A}$ 可以是插值、池化等。本文中我们将 $\mathcal{A}$ 选择为所有注意力特征 $f_j$ 的最大池化。我们同样使用式3计算多头注意力。稀疏体素模块的架构与子流形体素模块类似，区别在于我们移除了自注意力层周围的第一个残差连接，因为输入和输出不再相同。

#### 3.3. 高效注意力机制

在本节中，我们深入研究注意力范围 $\Omega(i)$ 的设计，该范围决定了每个

---

![Image](images/d06440b35fa88a5b50eeb817539d7f83d0144b2c96e82b9a5d7bd5aa5367ec1a.jpg)

<div style="text-align: center;">Figure 4. Illustration of Fast Voxel Query. For each querying index  $v_i$, an attending voxel index  $v_j$ is determined by Local and Dilated Attention. Then we can lookup the non-empty index j in the hash table with hashed  $v_j$ as the key. Finally, the non-empty index j is used to gather the attending feature  $f_j$ from  $\mathcal{F}$ for multi-head attention. Our proposed Fast Voxel Query is efficient both in time and in space and can significantly accelerate the computation of sparse voxel attention.</div>

查询i的参与体素，是稀疏体素自注意力中的关键因素。$\Omega(i)$ 需要满足以下要求：1) $\Omega(i)$ 应当覆盖相邻体素，以保留细粒度三维结构。2) $\Omega(i)$ 应当尽可能覆盖更远区域，以获取充足的上下文信息。3) $\Omega(i)$ 中的参与体素数量应当足够小，例如小于50，以避免高额计算开销。为了解决这些问题，我们从 [^40] 获得灵感，提出了两种注意力机制：局部注意力（Local Attention）和空洞注意力（Dilated Attention），用于控制注意力范围 $\Omega(i)$。两种机制的设计如下。

局部注意力（Local Attention）。我们将 $\varnothing(start, end, stride)$ 定义为一个函数，该函数返回闭集[start, end]中步长为stride的非空索引。例如在三维场景中，$\varnothing((0, 0, 0), (1, 1, 1), (1, 1, 1))$ 在拥有8个索引的集合 $\{(0, 0, 0), (0, 0, 1), (0, 1, 0), \cdots, (1, 1, 1)\}$ 中搜索非空索引。在局部注意力中，给定一个查询体素 $v_i$，由 $\Omega_{local}(i)$ 参数化的局部注意力范围 $R_{local}$ 可以表示为：

 $$ \Omega_{{l o c a l}}(i)=\varnothing(v_{i}-R_{{l o c a l}},v_{i}+R_{{l o c a l}},(1,1,1)), $$

在我们的实验中使用 $R_{local} = (1,1,1)$。局部注意力将步长固定为 $(1,1,1)$，以利用局部范围 $R_{local}$ 内的每个非空体素，因此局部注意力可以保留细粒度结构。

空洞注意力（Dilated Attention）。空洞注意力的注意力范围 $\Omega_{dilated}(i)$ 由参数列表 $R_{dilated}$: $[(R_{start}^{(1)}, R_{end}^{(1)}, R_{stride}^{(1)}), \cdots, (R_{start}^{(M)}, R_{end}^{(M)}, R_{stride}^{(M)})]$ 定义，$\Omega_{dilated}(i)$ 的形式可以表示为：

 $$ \begin{array}{r}{\Omega_{d i l a t e d}(i)=\bigcup_{m=1}^{M}\varnothing(v_{i}-R_{e n d}^{(m)},v_{i}+R_{e n d}^{(m)},R_{s t r i d e}^{(m)})\backslash}\\ {\varnothing(v_{i}-R_{s t a r t}^{(m)},v_{i}+R_{s t a r t}^{(m)},R_{s t r i d e}^{(m)}),}\end{array} $$

其中$\backslash$为集合减法运算符，函数$\bigcup$对所有非空体素集取并集。我们注意到$R_{start}^{(i)} < R_{end}^{(i)} \leq R_{start}^{(i)}$和$R_{stride}^{(i)} < R_{stride}^{(i)}$，这意味着我们在搜索距离更远的非空体素时，会逐渐增大查询步长$R_{stride}^{(i)}$。这使得我们在查询点附近保留更多参与注意力计算的体素，同时仍然保留部分远处参与注意力计算的体素，并且$R_{stride}^{(i)} > (1, 1, 1)$大幅降低了搜索时间和内存成本。通过精心设计的参数列表$R_{dilated}$，注意力范围可以达到15米以上，但每个查询体素对应的参与注意力计算的体素数量仍然保持在50以下。值得注意的是，当$R_{start} = (0, 0, 0)$、$R_{end} = (1, 1, 1)$和$R_{stride} = (1, 1, 1)$时，局部注意力可以被看作是膨胀注意力的一个特殊情况。

#### 3.4 快速体素查询

在体素自注意力中，为每个查询搜索对应的非空参与注意力计算的体素并非易事。稀疏索引数组$\mathcal{V}$无法将三维稀疏体素索引有序排列在一维$N_{sparse}$中。因此，即使我们可以轻松得到对应的整数体素索引$j \in \Omega(i)$，也无法直接得到其在$\mathcal{V}$中的索引$v_j \in \mathbb{R}^3$。迭代-

---

遍历所有$N_{sparse}$个非空体素以找到匹配的j，每次查询过程的时间复杂度为$O(N_{sparse})$，该过程极其耗时，因为在Waymo Open数据集中$N_{sparse}$通常达到90k。在[^5]中，研究者使用密集三维体素网格存储所有空体素和非空体素对应的j（若为空则存储-1），但维护这些密集三维体素网格非常耗费内存，其总体素数量$N_{dense}$超过了$10^7$。本文提出了快速体素查询（Fast Voxel Query）这一新方法，该方法应用基于GPU的哈希表，以极少的内存开销高效查找参与注意力计算的非空体素。

快速体素查询的示意图如图4所示。快速体素查询主要包含四个步骤：1）我们在GPU上构建哈希表，将哈希处理后的非空整数体素索引$v_j$存储为键，数组$\mathcal{V}$对应的索引j存储为值。2）对于每个查询i，我们应用局部注意力和膨胀注意力得到参与注意力计算的体素索引$v_j \in \Omega(i)$。3）我们使用哈希表中的哈希键$\mathcal{V}$查找$v_j$对应的各索引j，如果哈希值返回-1，则判断$v_j$为空体素并将其剔除。4）最终我们可以根据j从$v_j$和$f_j$中收集出参与体素自注意力的体素索引$\mathcal{V}$和特征$\mathcal{F}$。我们注意到，所有步骤都可以在GPU上并行执行，即每个查询体素i分配一个独立的CUDA线程，并且在第三步中，每个查询的查找过程仅需$O(N_\Omega)$的时间复杂度，其中$N_\Omega$是$\Omega(i)$和$N_\Omega \ll N_{spars}$中的体素数量。

为了利用GPU内存的空间局部性，我们将哈希表构建为$N_{hash} \times 2$张量，其中$N_{hash}$是哈希表大小，$N_{sparse} < N_{hash} \ll N_{dense}$。该$N_{hash} \times 2$哈希表的第一行存储键，第二行存储值。我们使用线性探测方案解决哈希表中的冲突，并使用原子操作避免CUDA线程之间的数据竞争。与传统方法[^25] [^5]相比，我们提出的快速体素查询在时间和空间上都十分高效，并且我们的方法显著加速了体素自注意力的计算。

### 4. 实验

在本节中，我们在常用的Waymo开放数据集[^30]和KITTI数据集[^8]上对Voxel Transformer进行评估。我们首先介绍实验设置和两种基于VoTr的框架，随后将我们的方法与现有最优方法在Waymo开放数据集和KITTI数据集上进行对比。最后，我们通过消融实验评估不同配置的效果。

#### 4.1. 实验设置

Waymo开放数据集。Waymo开放数据集总共包含1000个序列，其中训练集包含798个序列（约15.8万个点云样本），验证集包含202个序列（约4万个点云样本）。官方评估指标为标准3D平均精度均值（mAP）和按航向精度加权的mAP（mAPH）。两个指标对于车辆都采用IoU阈值0.7，对其他类别采用IoU阈值0.5。测试样本分为两种划分方式：第一种根据物体到传感器的距离划分：0–30m、30–50m和>50m；第二种根据难度等级划分：LEVEL_1对应包含超过五个LiDAR点的框，LEVEL_2对应包含至少一个LiDAR点的框。

KITTI数据集。KITTI数据集包含7481个训练样本和7518个测试样本，训练样本进一步被划分为训练子集（3712个样本）和验证子集（3769个样本）。官方评估指标是针对汽车的、旋转IoU阈值为0.7的平均精度均值（mAP）。测试集的mAP由官方服务器使用40个召回率位置计算。验证集的结果使用11个召回率位置计算，以保证与其他方法的公平比较。

我们提供两种基于Voxel Transformer的架构：VoTr-SSD是以VoTr作为骨干网络的单阶段基于体素的检测器。VoTr-TSD是基于VoTr的两阶段基于体素的检测器。

VoTr-SSD。面向单阶段检测器的Voxel Transformer构建在常用的单阶段框架SECOND [^34]之上。具体来说，我们将SECOND的3D稀疏卷积骨干网络替换为我们提出的Voxel Transformer作为新的骨干网络，并且仍然遵循[^34]使用基于锚框的分配策略。为了公平比较，其他模块和配置都保持不变。

VoTr-TSD。面向两阶段检测器的Voxel Transformer构建在现有最优的两阶段框架PV-RCNN [^26]之上。具体来说，我们将PV-RCNN第一阶段的3D卷积骨干网络替换为我们提出的Voxel Transformer作为新的骨干网络，并且我们使用关键点从Voxel Transformer中提取体素特征，用于第二阶段的RoI细化。为了公平比较，其他模块和配置都保持不变。

实现细节。VoTr-SSD和VoTr-TSD在KITTI数据集与Waymo数据集上采用相同的架构。输入的非空体素坐标首先通过线性投影层转换为16通道的初始特征，随后初始特征被输入VoTr进行体素特征提取。体素特征的通道数在第一个和第二个稀疏体素模块中分别提升至32和64，其余模块保持输入输出通道数不变，因此最终输出特征为64通道。每个查询体素的总参与注意力计算的体素数设置为48，多头注意力的头数设置为4。GPU哈希表大小 $N_{hash}$ 设置为400k。请读者参考补充

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td style='text-align: center; word-wrap: break-word;'>LEVEL_1</td><td style='text-align: center; word-wrap: break-word;'>LEVEL_2</td><td colspan="3">LEVEL_1 3D mAP/mAPH by Distance</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D mAP/mAPH</td><td style='text-align: center; word-wrap: break-word;'>3D mAP/mAPH</td><td style='text-align: center; word-wrap: break-word;'>0-30m</td><td style='text-align: center; word-wrap: break-word;'>30-50m</td><td style='text-align: center; word-wrap: break-word;'>50m-Inf</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointPillars [^11]</td><td style='text-align: center; word-wrap: break-word;'>63.3/62.7</td><td style='text-align: center; word-wrap: break-word;'>55.2/54.7</td><td style='text-align: center; word-wrap: break-word;'>84.9/84.4</td><td style='text-align: center; word-wrap: break-word;'>59.2/58.6</td><td style='text-align: center; word-wrap: break-word;'>35.8/35.2</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MVF [^43]</td><td style='text-align: center; word-wrap: break-word;'>62.93/-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>86.30/-</td><td style='text-align: center; word-wrap: break-word;'>60.02/-</td><td style='text-align: center; word-wrap: break-word;'>36.02/-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Pillar-OD [^33]</td><td style='text-align: center; word-wrap: break-word;'>69.8/-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>88.5/-</td><td style='text-align: center; word-wrap: break-word;'>66.5/-</td><td style='text-align: center; word-wrap: break-word;'>42.9/-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>AFDet [^7]</td><td style='text-align: center; word-wrap: break-word;'>63.69/-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>87.38/-</td><td style='text-align: center; word-wrap: break-word;'>62.19/-</td><td style='text-align: center; word-wrap: break-word;'>29.27/-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LaserNet [^18]</td><td style='text-align: center; word-wrap: break-word;'>52.1/50.1</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>70.9/68.7</td><td style='text-align: center; word-wrap: break-word;'>52.9/51.4</td><td style='text-align: center; word-wrap: break-word;'>29.6/28.6</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CVCNet [^3]</td><td style='text-align: center; word-wrap: break-word;'>65.2/-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>86.80/-</td><td style='text-align: center; word-wrap: break-word;'>62.19/-</td><td style='text-align: center; word-wrap: break-word;'>29.27/-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>StarNet [^19]</td><td style='text-align: center; word-wrap: break-word;'>64.7/56.3</td><td style='text-align: center; word-wrap: break-word;'>45.5/39.6</td><td style='text-align: center; word-wrap: break-word;'>83.3/82.4</td><td style='text-align: center; word-wrap: break-word;'>58.8/53.2</td><td style='text-align: center; word-wrap: break-word;'>34.3/25.7</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>RCD [^1]</td><td style='text-align: center; word-wrap: break-word;'>69.0/68.5</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>87.2/86.8</td><td style='text-align: center; word-wrap: break-word;'>66.5/66.1</td><td style='text-align: center; word-wrap: break-word;'>44.5/44.0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Voxel R-CNN [^5]</td><td style='text-align: center; word-wrap: break-word;'>75.59/-</td><td style='text-align: center; word-wrap: break-word;'>66.59/-</td><td style='text-align: center; word-wrap: break-word;'>92.49/-</td><td style='text-align: center; word-wrap: break-word;'>74.09/-</td><td style='text-align: center; word-wrap: break-word;'>53.15/-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SECOND $^{{*}}$ [^34]</td><td style='text-align: center; word-wrap: break-word;'>67.94/67.28</td><td style='text-align: center; word-wrap: break-word;'>59.46/58.88</td><td style='text-align: center; word-wrap: break-word;'>88.10/87.46</td><td style='text-align: center; word-wrap: break-word;'>65.31/64.61</td><td style='text-align: center; word-wrap: break-word;'>40.36/39.57</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-SSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>68.99/68.39</td><td style='text-align: center; word-wrap: break-word;'>60.22/59.69</td><td style='text-align: center; word-wrap: break-word;'>88.18/87.62</td><td style='text-align: center; word-wrap: break-word;'>66.73/66.05</td><td style='text-align: center; word-wrap: break-word;'>42.08/41.38</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN [^26]</td><td style='text-align: center; word-wrap: break-word;'>70.3/69.7</td><td style='text-align: center; word-wrap: break-word;'>65.4/64.8</td><td style='text-align: center; word-wrap: break-word;'>91.9/91.3</td><td style='text-align: center; word-wrap: break-word;'>69.2/68.5</td><td style='text-align: center; word-wrap: break-word;'>42.2/41.3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN $^{{*}}$ [^26]</td><td style='text-align: center; word-wrap: break-word;'>74.06/73.38</td><td style='text-align: center; word-wrap: break-word;'>64.99/64.38</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-TSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>74.95/74.25</td><td style='text-align: center; word-wrap: break-word;'>65.91/65.29</td><td style='text-align: center; word-wrap: break-word;'>92.28/91.73</td><td style='text-align: center; word-wrap: break-word;'>73.36/72.56</td><td style='text-align: center; word-wrap: break-word;'>51.09/50.01</td></tr></table>

<div style="text-align: center;">Table 1. Performance comparison on the Waymo Open Dataset with 202 validation sequences for the vehicle detection.  $*$: re-implemented with the official code.</div>

材料查看注意力机制的详细设计。

训练与推理细节。Voxel Transformer与整个框架一起使用ADAM优化器训练。在KITTI数据集上，VoTr-SSD和VoTr-TSD分别采用批量大小32和16，在8块V100 GPU上以0.01的学习率训练80个epoch。在Waymo Open数据集上，我们遵循[^26]的设置，均匀采样20%的帧用于训练，使用完整验证集进行评估。VoTr-SSD和VoTr-TSD在8块V100 GPU上训练，批量大小为16，学习率为0.003，分别训练60和80个epoch。学习率衰减采用余弦退火策略。数据增强和其他配置均与对应基线方法保持一致 [^34] [^26]。

#### 4.2 Waymo Open数据集上的对比实验

我们在Waymo Open数据集上开展实验，验证本文提出的VoTr的有效性。如表1所示，对于SECOND [^34]和PV-RCNN [^26]，仅将3D卷积骨干网络替换为VoTr后，LEVEL-1 mAP分别提升了1.05%和3.26%。在30-50m和50m以上的距离区间，VoTr-SSD的LEVEL_1 mAP分别提升1.42%和1.72%，VoTr-TSD的LEVEL_1 mAP分别提升3.37%和4.83%。远距离区域的显著性能提升表明，VoTr获取的大尺度上下文信息对3D目标检测至关重要。

#### 4.3 KITTI数据集上的对比实验

我们在KITTI数据集上开展实验，验证VoTr的有效性。如表2所示，在KITTI验证集的中等难度汽车类别上，VoTr-SSD和VoTr-TSD的mAP分别提升了2.29%和0.66%。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td rowspan="2">Modality</td><td colspan="3">$AP_{{3D}}$ (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Easy</td><td style='text-align: center; word-wrap: break-word;'>Mod.</td><td style='text-align: center; word-wrap: break-word;'>Hard</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MV3D [^4]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>74.97</td><td style='text-align: center; word-wrap: break-word;'>63.63</td><td style='text-align: center; word-wrap: break-word;'>54.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>AVOD-FPN [^10]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>83.07</td><td style='text-align: center; word-wrap: break-word;'>71.76</td><td style='text-align: center; word-wrap: break-word;'>65.73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>F-PointNet [^23]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>82.19</td><td style='text-align: center; word-wrap: break-word;'>69.79</td><td style='text-align: center; word-wrap: break-word;'>60.59</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>MMF [^13]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>88.40</td><td style='text-align: center; word-wrap: break-word;'>77.43</td><td style='text-align: center; word-wrap: break-word;'>70.22</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D-CVF [^39]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>89.20</td><td style='text-align: center; word-wrap: break-word;'>80.05</td><td style='text-align: center; word-wrap: break-word;'>73.11</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CLOCs [^21]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>88.94</td><td style='text-align: center; word-wrap: break-word;'>80.67</td><td style='text-align: center; word-wrap: break-word;'>77.15</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ContFuse [^14]</td><td style='text-align: center; word-wrap: break-word;'>R+L</td><td style='text-align: center; word-wrap: break-word;'>83.68</td><td style='text-align: center; word-wrap: break-word;'>68.78</td><td style='text-align: center; word-wrap: break-word;'>61.67</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoxelNet [^44]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>77.47</td><td style='text-align: center; word-wrap: break-word;'>65.11</td><td style='text-align: center; word-wrap: break-word;'>57.73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointPillars [^11]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>82.58</td><td style='text-align: center; word-wrap: break-word;'>74.31</td><td style='text-align: center; word-wrap: break-word;'>68.99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointRCNN [^27]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>86.96</td><td style='text-align: center; word-wrap: break-word;'>75.64</td><td style='text-align: center; word-wrap: break-word;'>70.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Part- $A^{2}$ Net [^28]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>87.81</td><td style='text-align: center; word-wrap: break-word;'>78.49</td><td style='text-align: center; word-wrap: break-word;'>73.51</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>STD [^36]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>87.95</td><td style='text-align: center; word-wrap: break-word;'>79.71</td><td style='text-align: center; word-wrap: break-word;'>75.09</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Patches [^12]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>88.67</td><td style='text-align: center; word-wrap: break-word;'>77.20</td><td style='text-align: center; word-wrap: break-word;'>71.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3DSSD [^35]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>88.36</td><td style='text-align: center; word-wrap: break-word;'>79.57</td><td style='text-align: center; word-wrap: break-word;'>74.55</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SA-SSD [^9]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>88.75</td><td style='text-align: center; word-wrap: break-word;'>79.79</td><td style='text-align: center; word-wrap: break-word;'>74.16</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TANet [^15]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>85.94</td><td style='text-align: center; word-wrap: break-word;'>75.76</td><td style='text-align: center; word-wrap: break-word;'>68.32</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Voxel R-CNN [^5]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>90.90</td><td style='text-align: center; word-wrap: break-word;'>81.62</td><td style='text-align: center; word-wrap: break-word;'>77.06</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>HVNet [^37]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>87.21</td><td style='text-align: center; word-wrap: break-word;'>77.58</td><td style='text-align: center; word-wrap: break-word;'>71.79</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointGNN [^29]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>88.33</td><td style='text-align: center; word-wrap: break-word;'>79.47</td><td style='text-align: center; word-wrap: break-word;'>72.29</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SECOND [^34]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>84.65</td><td style='text-align: center; word-wrap: break-word;'>75.96</td><td style='text-align: center; word-wrap: break-word;'>68.71</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-SSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>86.73</td><td style='text-align: center; word-wrap: break-word;'>78.25</td><td style='text-align: center; word-wrap: break-word;'>72.99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN [^26]</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>90.25</td><td style='text-align: center; word-wrap: break-word;'>81.43</td><td style='text-align: center; word-wrap: break-word;'>76.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-TSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>L</td><td style='text-align: center; word-wrap: break-word;'>89.90</td><td style='text-align: center; word-wrap: break-word;'>82.09</td><td style='text-align: center; word-wrap: break-word;'>79.14</td></tr></table>

<div style="text-align: center;">Table 2. Performance comparison on the KITTI test set with AP calculated by 40 recall positions for the car category. R+L denotes the methods that combines RGB data and point clouds. L denotes LiDAR-only approaches.</div>

对于困难难度汽车类别，VoTr-TSD取得了79.14%的mAP，大幅优于所有已有方法，这表明VoTr捕获的体素间长距离关系对3D目标位置检测具有重要意义。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Methods</td><td colspan="3">$AP_{{3D}}$ (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Easy</td><td style='text-align: center; word-wrap: break-word;'>Mod.</td><td style='text-align: center; word-wrap: break-word;'>Hard</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointRCNN [^27]</td><td style='text-align: center; word-wrap: break-word;'>88.88</td><td style='text-align: center; word-wrap: break-word;'>78.63</td><td style='text-align: center; word-wrap: break-word;'>77.38</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>STD [^36]</td><td style='text-align: center; word-wrap: break-word;'>89.70</td><td style='text-align: center; word-wrap: break-word;'>79.80</td><td style='text-align: center; word-wrap: break-word;'>79.30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3DSSD [^35]</td><td style='text-align: center; word-wrap: break-word;'>89.71</td><td style='text-align: center; word-wrap: break-word;'>79.45</td><td style='text-align: center; word-wrap: break-word;'>78.67</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoxelNet [^44]</td><td style='text-align: center; word-wrap: break-word;'>81.97</td><td style='text-align: center; word-wrap: break-word;'>65.46</td><td style='text-align: center; word-wrap: break-word;'>62.85</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Voxel R-CNN [^5]</td><td style='text-align: center; word-wrap: break-word;'>89.41</td><td style='text-align: center; word-wrap: break-word;'>84.52</td><td style='text-align: center; word-wrap: break-word;'>78.93</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PointPillars [^11]</td><td style='text-align: center; word-wrap: break-word;'>86.62</td><td style='text-align: center; word-wrap: break-word;'>76.06</td><td style='text-align: center; word-wrap: break-word;'>68.91</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Part- $A^{{2}}$ Net [^28]</td><td style='text-align: center; word-wrap: break-word;'>89.47</td><td style='text-align: center; word-wrap: break-word;'>79.47</td><td style='text-align: center; word-wrap: break-word;'>78.54</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>TANet [^15]</td><td style='text-align: center; word-wrap: break-word;'>87.52</td><td style='text-align: center; word-wrap: break-word;'>76.64</td><td style='text-align: center; word-wrap: break-word;'>73.86</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SA-SSD [^9]</td><td style='text-align: center; word-wrap: break-word;'>90.15</td><td style='text-align: center; word-wrap: break-word;'>79.91</td><td style='text-align: center; word-wrap: break-word;'>78.78</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SECOND [^34]</td><td style='text-align: center; word-wrap: break-word;'>87.43</td><td style='text-align: center; word-wrap: break-word;'>76.48</td><td style='text-align: center; word-wrap: break-word;'>69.10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-SSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>87.86</td><td style='text-align: center; word-wrap: break-word;'>78.27</td><td style='text-align: center; word-wrap: break-word;'>76.93</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN [^26]</td><td style='text-align: center; word-wrap: break-word;'>89.35</td><td style='text-align: center; word-wrap: break-word;'>83.69</td><td style='text-align: center; word-wrap: break-word;'>78.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-TSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>89.04</td><td style='text-align: center; word-wrap: break-word;'>84.04</td><td style='text-align: center; word-wrap: break-word;'>78.68</td></tr></table>

<div style="text-align: center;">Table 3. Performance comparison on the KITTI val split with AP calculated by 11 recall positions for the car category.</div>

仅包含少量点的目标。表3中验证集的结果显示，对于中等难度汽车类别，VoTr-SSD和VoTr-TSD的mAP分别比基线方法高出1.79%和0.35%。KITTI数据集上的观测结果与Waymo Open数据集上的结论一致。

#### 4.4 消融实验

局部注意力和膨胀注意力的影响。表4表明，与仅使用局部注意力相比，膨胀注意力为每个体素提供了更大的感受野，带来了2.79%的中等难度mAP提升。

Voxel Transformer中dropout的影响。表5详细展示了不同dropout率对VoTr的影响。我们发现，在每个模块中添加dropout层会损害检测性能。当dropout概率为0.3时，mAP下降了8.52%。

参与注意力计算的体素数量的影响。表6显示，将参与注意力计算的体素数量从24增加到48可使性能提升1.19%，这表明通过在多头注意力中引入更多参与注意力的体素，单个体素可以获得更丰富的上下文信息。

模型参数量对比。表7显示，将3D卷积主干网络替换为VoTr可减少0.5M模型参数，这主要是因为VoTr中的模块仅包含线性投影层，这类层的参数量很少，而3D卷积核通常包含大量参数。

推理速度对比。表8显示，凭借精心设计的注意力机制和快速体素查询（Fast Voxel Query），VoTr在单阶段检测器上保持了计算效率，运行速度可达14.65 Hz。将卷积主干网络替换为VoTr仅会每帧增加约20 ms的延迟。

注意力权重可视化。图5显示，查询体素可以动态选择参与注

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>L.A.</td><td style='text-align: center; word-wrap: break-word;'>D.A.</td><td style='text-align: center; word-wrap: break-word;'>AP_{3D} (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(a)</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>75.48</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(b)</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>✓</td><td style='text-align: center; word-wrap: break-word;'>78.27</td></tr></table>

<div style="text-align: center;">Table 4. Effects of attention mechanisms on the KITTI val split. L.A.: Local Attention. D.A.: Dilated Attention.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Dropout probability</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{3D}}$ (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(a)</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>78.27</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(b)</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>75.97</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(c)</td><td style='text-align: center; word-wrap: break-word;'>0.2</td><td style='text-align: center; word-wrap: break-word;'>70.82</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(d)</td><td style='text-align: center; word-wrap: break-word;'>0.3</td><td style='text-align: center; word-wrap: break-word;'>69.75</td></tr></table>

<div style="text-align: center;">Table 5. Effects of dropout probabilities on the KITTI val split.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Number of attending voxels</td><td style='text-align: center; word-wrap: break-word;'>$AP_{{3D}}$ (%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(a)</td><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>77.08</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(b)</td><td style='text-align: center; word-wrap: break-word;'>32</td><td style='text-align: center; word-wrap: break-word;'>77.72</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>(c)</td><td style='text-align: center; word-wrap: break-word;'>48</td><td style='text-align: center; word-wrap: break-word;'>78.27</td></tr></table>

<div style="text-align: center;">Table 6. Effects of the number of attending voxels for each querying voxel on the KITTI val split.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Model parameters</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SECOND [^34]</td><td style='text-align: center; word-wrap: break-word;'>5.3M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-SSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>4.8M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN [^26]</td><td style='text-align: center; word-wrap: break-word;'>13.1M</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-TSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>12.6M</td></tr></table>

<div style="text-align: center;">Table 7. Comparisons on the model parameters for different frameworks on the KITTI dataset.</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Methods</td><td style='text-align: center; word-wrap: break-word;'>Inference speed (Hz)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SECOND [^34]</td><td style='text-align: center; word-wrap: break-word;'>20.73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-SSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>14.65</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PV-RCNN [^26]</td><td style='text-align: center; word-wrap: break-word;'>9.25</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>VoTr-TSD (ours)</td><td style='text-align: center; word-wrap: break-word;'>7.17</td></tr></table>

<div style="text-align: center;">Table 8. Comparisons on the inference speeds for different frameworks on the KITTI dataset. 48 attending voxels are used.</div>

![Image](images/74a4138d88058f0c841855f1debd3be6a2e77b78f4a95a3a72dff9d12f4752f4.jpg)

<div style="text-align: center;">Figure 5. Visualization of attention weights for attending voxels.</div>

意力计算的体素的特征，可覆盖极大的上下文范围，这有利于检测稀疏且不完整的目标。

### 5. 结论

我们提出了Voxel Transformer，这是一种通用的基于Transformer的3D主干网络，可应用于大多数基于体素的3D检测器。VoTr由一系列稀疏体素模块和子流形体素模块组成，能够对

---

稀疏体素通过特殊的注意力机制和快速体素查询（Fast Voxel Query）高效完成自注意力计算。未来工作中，我们计划在3D检测领域探索更多基于Transformer的架构。

## 参考文献

[^1]: Alex Bewley, Pei Sun, Thomas Mensink, Dragomir Anguelov, and Cristian Sminchisescu. Range conditioned dilated convolutions for scale invariant 3d object detection. arXiv preprint arXiv:2005.09927, 2020. 7

[^2]: Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-to-end object detection with transformers. In European Conference on Computer Vision, pages 213–229. Springer, 2020. 2, 3

[^3]: Qi Chen, Lin Sun, Ernest Cheung, and Alan L Yuille. Every view counts: Cross-view consistency in 3d object detection with hybrid-cylindrical-spherical voxelization. Advances in Neural Information Processing Systems, 33, 2020. 7

[^4]: Xiaozhi Chen, Huimin Ma, Ji Wan, Bo Li, and Tian Xia. Multi-view 3d object detection network for autonomous driving. In Proceedings of the IEEE conference on Computer Vision and Pattern Recognition, pages 1907–1915, 2017. 7

[^5]: Jiajun Deng, Shaoshuai Shi, Peiwei Li, Wengang Zhou, Yanyong Zhang, and Houqiang Li. Voxel r-cnn: Towards high performance voxel-based 3d object detection. arXiv preprint arXiv:2012.15712, 2020. 3, 6, 7, 8

[^6]: Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth $16 \times 16$ words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020. 2, 3

[^7]: Runzhou Ge, Zhuangzhuang Ding, Yihan Hu, Yu Wang, Sijia Chen, Li Huang, and Yuan Li. Afdet: Anchor free one stage 3d object detection. arXiv preprint arXiv:2006.12671, 2020.7

[^8]: Andreas Geiger, Philip Lenz, Christoph Stiller, and Raquel Urtasun. Vision meets robotics: The kitti dataset. The International Journal of Robotics Research, 32(11):1231–1237, 2013. 6

[^9]: Chenhang He, Hui Zeng, Jianqiang Huang, Xian-Sheng Hua, and Lei Zhang. Structure aware single-stage 3d object detection from point cloud. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 11873–11882, 2020. 7, 8

[^10]: Jason Ku, Melissa Mozifian, Jungwook Lee, Ali Harakeh, and Steven L Waslander. Joint 3d proposal generation and object detection from view aggregation. In 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pages 1–8. IEEE, 2018. 7

[^11]: Alex H Lang, Sourabh Vora, Holger Caesar, Lubing Zhou, Jiong Yang, and Oscar Beijbom. Pointpillars: Fast encoders for object detection from point clouds. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12697–12705, 2019. 7, 8

[^12]: Johannes Lehner, Andreas Mitterecker, Thomas Adler, Markus Hofmarcher, Bernhard Nessler, and Sepp Hochreiter. Patch refinement-localized 3d object detection. arXiv preprint arXiv:1910.04093, 2019. 7

[^13]: Ming Liang, Bin Yang, Yun Chen, Rui Hu, and Raquel Urtasun. Multi-task multi-sensor fusion for 3d object detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 7345–7353, 2019. 7

[^14]: Ming Liang, Bin Yang, Shenlong Wang, and Raquel Urtasun. Deep continuous fusion for multi-sensor 3d object detection. In Proceedings of the European Conference on Computer Vision (ECCV), pages 641–656, 2018. 7

[^15]: Zhe Liu, Xin Zhao, Tengteng Huang, Ruolan Hu, Yu Zhou, and Xiang Bai. Tanet: Robust 3d object detection from point clouds with triple attention. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, pages 11677–11684, 2020. 7, 8

[^16]: Jiageng Mao, Minzhe Niu, Chenhan Jiang, Hanxue Liang, Xiaodan Liang, Yamin Li, Chaoqiang Ye, Wei Zhang, Zhengguo Li, Jie Yu, et al. One million scenes for autonomous driving: Once dataset. arXiv preprint arXiv:2106.11037, 2021.

[^17]: Jiageng Mao, Xiaogang Wang, and Hongsheng Li. Interpolated convolutional networks for 3d point cloud understanding. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 1578–1587, 2019. 1

[^18]: Gregory P Meyer, Ankit Laddha, Eric Kee, Carlos Vallespi-Gonzalez, and Carl K Wellington. Lasernet: An efficient probabilistic 3d object detector for autonomous driving. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 12677–12686, 2019. 7

[^19]: Jiquan Ngiam, Benjamin Caine, Wei Han, Brandon Yang, Yuning Chai, Pei Sun, Yin Zhou, Xi Yi, Ouais Alsharif, Patrick Nguyen, et al. Starnet: Targeted computation for object detection in point clouds. arXiv preprint arXiv:1908.11069, 2019. 7

[^20]: Xuran Pan, Zhuofan Xia, Shiji Song, Li Erran Li, and Gao Huang. 3d object detection with pointformer. arXiv preprint arXiv:2012.11409, 2020. 1, 3

[^21]: Su Pang, Daniel Morris, and Hayder Radha. Clocs: Cameralidar object candidates fusion for 3d object detection. arXiv preprint arXiv:2009.00784, 2020. 7

[^22]: Charles R Qi, Wei Liu, Chenxia Wu, Hao Su, and Leonidas J Guibas. Frustum pointnets for 3d object detection from rgb-d data. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 918–927, 2018. 2

[^23]: Charles R Qi, Wei Liu, Chenxia Wu, Hao Su, and Leonidas J Guibas. Frustum pointnets for 3d object detection from rgb-d data. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 918–927, 2018. 7

[^24]: Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 652–660, 2017. 1


### [^25]: Charles R Qi, Li Yi, Hao Su, and Leonidas J Guibas. Point-net++: Deep hierarchical feature learning on point sets in a metric space. arXiv preprint arXiv:1706.02413, 2017. 6


---

[^26]: Shaoshuai Shi, Chaoxu Guo, Li Jiang, Zhe Wang, Jianping Shi, Xiaogang Wang, and Hongsheng Li. Pv-rcnn: Point-voxel feature set abstraction for 3d object detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10529–10538, 2020. 2, 3, 6, 7, 8

[^27]: Shaoshuai Shi, Xiaogang Wang, and Hongsheng Li. Point-cnn: 3d object proposal generation and detection from point cloud. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 770–779, 2019. 1, 2, 7, 8

[^28]: Shaoshuai Shi, Zhe Wang, Jianping Shi, Xiaogang Wang, and Hongsheng Li. From points to parts: 3d object detection from point cloud with part-aware and part-aggregation network. IEEE transactions on pattern analysis and machine intelligence, 2020. 7, 8

[^29]: Weijing Shi and Raj Rajkumar. Point-gnn: Graph neural network for 3d object detection in a point cloud. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 1711–1719, 2020. 7

[^30]: Pei Sun, Henrik Kretzschmar, Xerxes Dotiwalla, Aurelien Chouard, Vijaysai Patnaik, Paul Tsui, James Guo, Yin Zhou, Yuning Chai, Benjamin Caine, et al. Scalability in perception for autonomous driving: Waymo open dataset. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 2446–2454, 2020. 2, 6

[^31]: Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. arXiv preprint arXiv:1706.03762, 2017. 2, 4

[^32]: Huiyu Wang, Yukun Zhu, Hartwig Adam, Alan Yuille, and Liang-Chieh Chen. Max-deeplab: End-to-end panoptic segmentation with mask transformers. arXiv preprint arXiv:2012.00759, 2020. 3

[^33]: Yue Wang, Alireza Fathi, Abhijit Kundu, David Ross, Caroline Pantofaru, Tom Funkhouser, and Justin Solomon. Pillar-based object detection for autonomous driving. arXiv preprint arXiv:2007.10323, 2020. 7

[^34]: Yan Yan, Yuxing Mao, and Bo Li. Second: Sparsely embedded convolutional detection. Sensors, 18(10):3337, 2018. 1, 2, 3, 4, 6, 7, 8

[^35]: Zetong Yang, Yanan Sun, Shu Liu, and Jiaya Jia. 3dssd: Point-based 3d single stage object detector. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 11040–11048, 2020. 1, 2, 7, 8

[^36]: Zetong Yang, Yanan Sun, Shu Liu, Xiaoyong Shen, and Jiaya Jia. Std: Sparse-to-dense 3d object detector for point cloud. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 1951–1960, 2019. 1, 7, 8

[^37]: Maosheng Ye, Shuangjie Xu, and Tongyi Cao. Hvnet: Hybrid voxel network for lidar based 3d object detection. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 1631–1640, 2020. 1, 2, 7

[^38]: Tianwei Yin, Xingyi Zhou, and Philipp Krähenbühl. Center-based 3d object detection and tracking. arXiv preprint arXiv:2006.11275, 2020. 1

[^39]: Jin Hyeok Yoo, Yecheol Kim, Ji Song Kim, and Jun Won Choi. 3d-cvf: Generating joint camera and lidar features using cross-view spatial feature fusion for 3d object detection. arXiv preprint arXiv:2004.12636, 3, 2020. 7

[^40]: Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, et al. Big bird: Transformers for longer sequences. arXiv preprint arXiv:2007.14062, 2020. 5

[^41]: Hengshuang Zhao, Li Jiang, Jiaya Jia, Philip Torr, and Vladlen Koltun. Point transformer. arXiv preprint arXiv:2012.09164, 2020. 3

[^42]: Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng, Tao Xiang, Philip HS Torr, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers. arXiv preprint arXiv:2012.15840, 2020. 2, 3

[^43]: Yin Zhou, Pei Sun, Yu Zhang, Dragomir Anguelov, Jiyang Gao, Tom Ouyang, James Guo, Jiquan Ngiam, and Vijay Vasudevan. End-to-end multi-view fusion for 3d object detection in lidar point clouds. In Conference on Robot Learning, pages 923–932. PMLR, 2020. 7


### [^44]: Yin Zhou and Oncel Tuzel. Voxelnet: End-to-end learning for point cloud based 3d object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4490–4499, 2018. 1, 2, 7, 8


---

![Image](images/26313d08e3851647575693668bebdbef36012a5f80430e756c1a124f97fedd67.jpg)

<div style="text-align: center;">Figure 6. Architecture of Voxel Transformer.</div>

![Image](images/1e17996751e94c09be0b21f5e977c10ee5b830dcebc39ddf601f03edea8d7b57.jpg)

<div style="text-align: center;">Figure 7. Illustration of voxel downsampling process with stride 2.</div>

### A. 网络架构

Voxel Transformer的详细架构如图6所示。输入体素通过3个稀疏体素模块完成3次下采样，步长为2。图7展示了体素下采样过程的示意图。我们注意到，下采样后的体素中心不再与原始体素中心重叠，因为下采样过程中体素尺寸翻倍了。因此需要稀疏体素模块在这些空位置上进行体素注意力计算。

### B. 空洞注意力

本节中，我们在表9中给出了Dilated Attention的配置。我们在KITTI数据集上为VoTr-TSD和VoTr-SSD使用了相同的配置。凭借精心设计的Dilated Attention，单个自注意力层仅需少量参与计算的体素即可获得大范围的上下文信息。

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Module</td><td style='text-align: center; word-wrap: break-word;'>$R_{{start}}$</td><td style='text-align: center; word-wrap: break-word;'>$R_{{end}}$</td><td style='text-align: center; word-wrap: break-word;'>$R_{{stride}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>(2,2,0)\n(5,5,0)\n(25,25,0)</td><td style='text-align: center; word-wrap: break-word;'>(5,5,3)\n(25,25,15)\n(125,125,15)</td><td style='text-align: center; word-wrap: break-word;'>(1,1,1)\n(5,5,2)\n(25,25,3)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2-4</td><td style='text-align: center; word-wrap: break-word;'>(2,2,0)\n(4,4,0)\n(12,12,0)</td><td style='text-align: center; word-wrap: break-word;'>(4,4,3)\n(12,12,8)\n(60,60,8)</td><td style='text-align: center; word-wrap: break-word;'>(1,1,1)\n(3,3,2)\n(12,12,2)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5-7</td><td style='text-align: center; word-wrap: break-word;'>(2,2,0)\n(3,3,0)\n(8,8,0)</td><td style='text-align: center; word-wrap: break-word;'>(3,3,2)\n(8,8,4)\n(32,32,4)</td><td style='text-align: center; word-wrap: break-word;'>(1,1,1)\n(2,2,1)\n(8,8,1)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>8-9</td><td style='text-align: center; word-wrap: break-word;'>(2,2,0)\n(4,4,0)</td><td style='text-align: center; word-wrap: break-word;'>(4,4,3)\n(16,16,5)</td><td style='text-align: center; word-wrap: break-word;'>(1,1,1)\n(2,2,1)</td></tr></table>

<div style="text-align: center;">Table 9. Configurations of Dilated Attention on the KITTI dataset. The modules are indexed in a sequential order.</div>

### C. 定性结果

本节中，我们在图8给出了KITTI数据集上的定性结果，在图9给出了Waymo Open数据集上的定性结果。凭借自注意力捕获的丰富上下文信息，我们的Voxel Transformer能够有效检测那些稀疏且不完整的3D目标。

---

![Image](images/3b4f6cf3d8f284ca65465cb4adb079bbf4e497d10a07f643b282624f0bc534d3.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/c1643c9b8e3a0ebd9ae6bd1966a9d3b0effac1732c483dc4c7e3a9de30778159.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/1b6bd56acf611a5afcc07c26a6cae530cf3514ddee73ad35e0b5a39de61c035a.jpg)

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">Figure 8. Visualization of detection results on the KITTI dataset. Blue boxes are the ground truth boxes, and red boxes are the boxes predicted by VoTr-TSD.</div>

![Image](images/af93688dbd81eb37413a55ef82952d3ad736699476ca81f8f06c88ffa129350c.jpg)

<div style="text-align: center;">(a)</div>

![Image](images/cfc04d734f7826ad504178bb34538a977303d87622991ef86dbae56f2d709deb.jpg)

<div style="text-align: center;">(b)</div>

![Image](images/dd0ccde28b8d226bb1ea627228c6f275f30f103879dd56c5298e9313d9ee8063.jpg)

<div style="text-align: center;">(c)</div>

<div style="text-align: center;">Figure 9. Visualization of detection results on the Waymo Open dataset. Blue boxes are the ground truth boxes, and red boxes are the boxes predicted by VoTr-TSD.</div>
