Query-based Transformer
在许多图像域任务中显示出构建远程注意力的巨大潜力,但由于点云数据的庞大规模,在基于LiDAR
的 3D 目标检测中很少被考虑。在本文中提出了CenterFormer
,一种Center-based Transformer
网络,用于 3D 目标检测。
CenterFormer
首先使用Center Heatmap
在标准的基于Voxel
的点云编码器之上选择中心候选。然后它使用中心候选的特征作为query embedding
到Transformer
中。为了进一步聚合来自多个帧的特征,作者设计了一种通过交叉注意力融合特征的方法。最后,添加回归头来预测输出中心特征表示的边界框。本文的设计降低了
Transformer
结构的收敛难度和计算复杂度。结果表明,在Anchor-free
目标检测网络的强基线方面有显著改进。CenterFormer
在Waymo
开放数据集上为单个模型实现了最先进的性能,验证集的 mAPH 为 73.7%,测试集的 mAPH 为 75.6%,显著优于所有先前发布的CNN
和基于Transformer
的方法。
1、简介
LiDAR
是自动驾驶中重要的传感和感知工具,因为它能够提供扫描环境的高精度 3D 点云数据。基于 LiDAR
的 3D 目标检测旨在检测 LiDAR
点云中目标的边界框。与图像域目标检测相比,LiDAR
数据中的扫描点可能稀疏且不规则分布,具体取决于与传感器的距离。最近的方法依赖于将点云离散化为Voxel
或投影鸟瞰图 (BEV
) 特征图,以使用 2D
或 3D
卷积网络。有时,它需要二阶段的 RCNN
式细化网络来补偿体素化中的信息损失。然而,当前的两阶段网络缺乏上下文和全局信息学习。他们只使用提案 (RoI) 的局部特征来细化结果。忽略其他框或相邻位置中也可能有利于细化的特征。而且,自动驾驶场景的环境不是静止的。当使用一系列扫描时,局部特征学习有更多的限制。
在图像领域,Transformer
编解码器结构已成为检测和分割任务的竞争方法。Transformer
能够在整个特征图和不同的特征域中捕获远程上下文信息。最具代表性的方法之一是 DETR
,它使用参数查询直接从编码器-解码器中学习目标信息。DETR
作为一个集合匹配问题进行端到端训练,以避免任何手工过程,如非最大抑制 (NMS
)。然而,DETR
风格的编码器-解码器网络存在2个主要问题:首先,计算复杂度随着输入大小的增加呈二次方增长。这限制了Transformer
仅将低维特征作为输入,从而导致对小目标的性能低下。其次,query embedding
是通过网络学习的,因此训练很难收敛。
能否为 LiDAR
点云设计一个 Transformer
编解码器网络,以便更好地感知点云数据的全局连接?考虑到 LiDAR
点云数据的绝对大小,以及要检测目标的相对较小的大小,Voxel
或 BEV
特征图表示需要足够大,以保持这些目标的特征是可分离的。因此,由于输入大小较大,在特征图上使用Transformer
编码器结构是不切实际的。此外,如果对 Transformer
解码器使用较大的特征图,则query embedding
也难以在训练期间专注于有意义的注意力。
为了缓解这些收敛问题,一种解决方案是为Transformer
提供良好的初始query embedding
,并将注意力学习区域限制在更小的范围内。在 Center-based 3D
检测网络中,目标中心的特征用于捕获所有目标信息,因此中心特征可以很好地替代目标特征嵌入。多尺度图像金字塔和可变形卷积是增加特征学习的感受野而不显著增加复杂度的两种常用方法。最近的一些工作在Transformer
网络中应用了这两种方法。
考虑到上述方面,作者提出了一个Center-based
的Transformer
网络,称为Center Transformer
(CenterFormer
),用于 3D 目标检测。具体来说,首先使用标准的基于Voxel
的骨干网络将点云编码为 BEV
特征表示。接下来,采用多尺度中心提议网络将特征转换为不同尺度并预测初始中心位置。提议中心的特征作为query embedding
被馈送到Transformer
解码器中。在每个Transformer Block
中,使用可变形的交叉注意力层来有效地聚合来自多尺度特征图的特征。然后输出对象表示回归到其他属性以创建最终预测。
如图 1 所示,本文的方法可以对目标级连接和远程特征注意力进行建模。为了进一步探索 Transformer
的能力,还提出了一种多帧设计,通过交叉注意里融合来自不同帧的特征。在大规模 Waymo
开放数据集和 nuScenes
数据集上测试 CenterFormer
大大优于流行的基于中心的 3D 检测网络,后者在公共基准测试中占主导地位,实现了最先进的性能,在 waymo
验证和测试集上分别具有 73.7% 和 75.6% 的 mAPH。
方法的贡献可以总结如下:
- 为 3D 检测引入了一个基于中心的
Transformer
网络。 - 使用中心特征作为初始
query embedding
,以促进Transformer
的学习。 - 提出了一个多尺度交叉注意力层来有效地聚合相邻特征,而不会显著增加计算复杂度。
- 建议使用交叉注意力
Transformer
来融合来自不同帧的目标特征。
2、本文方法
2.1、准备工作
基于中心的 3D 检测是由最近的Anchor-Free
图像目标检测方法推动的。它通过预测 BEV 特征图上的Heatmap
来检测每个目标作为中心关键点。给定一个普通Voxel
点云特征编码器 的输出,其中 h 和 w 是 BEV
图大小,c 是特征维度,基于中心的 LiDAR
检测通过两个分离的Head
预测Center Heatmap
和框回归 。Center Heatmap
H 有 l 个通道,每个目标类一个。在训练中,ground truth
是从带注释框中心的高斯热图生成的。框回归 B 包含 8 个目标属性:从预测网格中心到GT框中心的网格偏移量、目标的高度、3D 大小和偏航旋转角度。在评估过程中,它采用前 N 个最高Heatmap
分数的类和回归预测,并使用 NMS
预测最终的边界框。
Transformer Decoder
基于query-key pairwise attention
将源表示中的特征聚合到每个query
。每个 Transformer
模块由2层组成:多头自注意力层、多头交叉注意力层和前馈层。在每一层中,还有一个跳跃连接,用于连接输入和输出特征以及层归一化。令 和 为query
特征和key
特征。多头注意力可以表述为:
其中 i 和 j 分别是query
特征和source
特征的索引,m 是Head
索引, 是attending key
特征的集合,σ 是 softmax
函数,d 是特征维度, 是位置嵌入,W 是可学习的权重。在自注意力层中,query
特征和key
特征来自同一组query
特征嵌入,而在交叉注意力层中,key
特征集是source
特征表示。
2.2、Center Transformer
模型的架构如图 2 所示。使用标准的基于稀疏体素的骨干网络将每个点云处理成 BEV
特征表示。然后将 BEV 特征编码为多尺度特征图并预测中心提议。然后将提议的中心用作嵌入在Transformer
解码器中的query
特征,以聚合来自其他中心和多尺度特征图的特征。最后,使用回归头来预测每个增强中心特征的边界框。在多帧 CenterFormer
中,帧的最后 BEV
特征在中心预测阶段和交叉注意力Transformer
中融合在一起。
1、Multi-scale Center Proposal Network
DETR
风格的 Transformer
编码器需要将特征图压缩成小尺寸,以便计算成本可以接受。这使得网络失去了对检测小物体至关重要的细粒度特征,这些小物体通常占据 BEV
地图中小于 1% 的空间。因此,提出了一个多尺度中心提议网络(CPN)来代替 BEV
特征的Transformer
编码器。为了准备多尺度特征图,使用特征金字塔网络将 BEV
特征表示处理成3个不同的尺度。在每个尺度结束时,添加一个卷积块注意力模块 (CBAM
),以通过通道和空间注意力来增强特征。
使用最高比例特征图 C 上的中心Head
来预测目标中心的 l 通道Heatmap
。每个通道包含一个类的Heatmap
分数。将前 N 个Heatmap
分数的位置作为中心提案。在实验中凭经验使用 N = 500。
2、Multi-scale Center Transformer Decoder
在建议的中心位置提取特征作为Transformer
解码器的query embedding
。使用线性层将中心的位置编码为位置嵌入。传统的 DETR
解码器使用可学习的参数初始化query
。因此,在解码器中获得的注意力权重在所有特征中几乎相同。通过使用中心特征作为初始query embedding
,可以引导训练专注于包含有意义的目标信息的特征。
在 vanilla Transformer
解码器中使用相同的自注意力层来学习目标之间的上下文注意力。计算中心query
对所有多尺度 BEV
特征的交叉注意力的复杂度为 。由于 BEV
特征图的分辨率需要相对较大以保持小目标的细粒度特征,因此将所有 BEV
特征用作attending keypoints
是不切实际的。或者,将attending keypoints
限制在每个尺度的中心位置附近的一个 3×3 小窗口,如图 3 所示。这种交叉注意力的复杂度为 ,比正常实现更有效。由于具有多尺度特征,因此能够在提议的中心周围捕获广泛的特征。多尺度交叉注意力可以表述为:
其中p表示中心建议,这里的是中心周围的窗口,s是尺度的索引。前馈层也保持不变。
3、Multi-scale Deformable Cross-attention layer
受 Deformable DETR
的启发还使用了一个可变形的交叉注意力层来自动对attending keypoints
进行采样。图 3 显示了可变形交叉注意力层的结构。与普通的多头交叉注意力层相比,可变形交叉注意力层使用线性层来学习参考中心位置 p 在所有头和尺度上的 2D 偏移量 Δp。p+Δp 处的特征将通过双线性采样提取为交叉注意力attending
特征。使用线性层直接从query embedding
中学习注意力分数。来自多个尺度的特征聚合在一起形成交叉注意力层输出:
其中,为多尺度BEV特征,C(p)为中心特征,为注意力权重。在实验中使用了K = 15。
2.3、Multi-frame CenterFormer
多帧通常用于 3D 检测以提高性能。当前基于 CNN
的检测器无法有效融合快速移动物体的特征,而由于注意力机制,transformer
结构更适合融合。为了进一步探索 CenterFormer
的潜力,提出了一种使用交叉注意力transformer
的多帧特征融合方法。如图 2 所示,使用相同的骨干网络单独处理每个帧。前一帧的最后一个 BEV
特征被转换为当前坐标,并与中心头和交叉注意力层中的当前 BEV
特征融合。
由于目标的移动,目标的中心可能会在不同的帧中移动。由于只需要预测当前帧中的中心,因此在中心head中使用空间感知融合来减轻错位误差。如图 4 所示,空间感知模块使用与 CBAM
类似的空间注意层,根据当前的 BEV
特征计算像素级注意。将当前的 BEV
特征和先前 BEV
特征甲醛连接起来,并使用一个额外的卷积层将它们融合在一起。还根据它们的相对时间将时间嵌入添加到 BEV
特征中。最后,将输出融合特征馈送到中心Head
以预测中心候选者。
在交叉注意力层中,使用中心提案的位置来查找对齐的前一帧中的相应特征。提取的特征将被添加到attending key
中。由于正常的交叉注意力设计在靠近中心位置的小窗口中使用特征,因此如果目标由于快速移动而超出窗口区域,则它的可学习性有限。同时,可变形交叉注意力能够模拟任何级别的运动,更适合长时间范围的情况。因为多帧模型只需要前一帧的最终 BEV
特征,所以通过将 BEV
特征保存在内存库中,很容易部署到在线预测中。
2.4、Loss Functions
除了一般的分类和回归损失函数外,还添加了两个额外的损失函数来更好地解释基于中心的目标检测。首先,受 CIA-SSD
设计的启发,将 IoU-aware confidence rectification
模块从其他方法的第二阶段移至回归Head
。更具体地说,为每个边界框提案预测一个 IoU
分数,在Smooth L1 Loss
中,预测和所有GT之间的最高 IoU 受到监督。在评估过程中,使用 用预测的 IoU
分数校正置信度分数,其中 α 是置信度分数,β 是控制校正程度的超参数。
其次,与 CenterNet3d
类似,还在center heatmap head
旁边添加了一个corner heatmap head
作为辅助监督。对于每个框,生成4个边界框边缘中心和目标中心的corner heatmap
,使用相同的方法绘制center heatmap
,除了高斯半径是一半大小。在训练期间,用 MSE
损失在ground truth heatmap score
0 的区域上监督corner
预测。
模型中使用的最终损失是以下4部分的加权组合:
将focal loss
和 L1 损失用于heatmap
分类和框回归。在实验中,heatmap
分类损失、框回归损失、IoU 校正损失和角点分类损失的权重分别为 [1, 2, 1, 1]。
3、实验
3.1、Object Detection Results
3.2、消融实验
4、参考
[1].CenterFormer: Center-based Transformer for 3D Object Detection
[2].https://github.com/TuSimple/centerformer
5、推荐阅读
YOLOU 集成超轻量化 YOLO 系列模型YOLO-Fastest v2,ONNX一键导出部署!