AI学习者 · 1月12日 · 广东

地平线提出全新BEV方法WidthFormer | 全新3D位置编码+信息补偿模块,部署很友好!

image.png

在这项工作中提出了WidthFormer,一种专为实时自动驾驶应用设计的基于Transformer的Bird's Eye View(BEV)3D检测方法。WidthFormer在计算效率、鲁棒性方面表现出色,并且不需要任何特殊的工程努力即可部署。

在本工作中提出了一种新的3D位置编码机制,能够准确地捕获3D几何信息,使得WidthFormer仅使用一个Transformer解码器层就能生成高质量的BEV表示。这种机制也对现有的稀疏3D目标检测器有益。受到最近提出的各项工作的启发,作者在作为注意力Key和Value时,通过垂直压缩图像特征来提高模型的效率。作者还引入了两个模块来补偿由于特征压缩可能导致的潜在信息损失。

在广泛使用的nuScenes 3D目标检测基准测试中进行实验评估,WidthFormer在不同的3D检测架构中优于以前的方法。更重要的是,WidthFormer具有很高的效率。例如,在使用输入图像时,它可以在NVIDIA 3090 GPU上实现1.5ms的延迟。此外,WidthFormer对不同程度的相机扰动具有很强的鲁棒性。作者的研究为在实际、复杂的公路环境中部署BEV转换方法提供了有价值的见解。

代码:https://github.com/ChenhongyiYang/WidthFormer

1 Introduction

近年来,基于视觉的Bird's Eye View(BEV)3D目标检测领域引起了广泛关注,并取得了显著的进步。与直接从图像特征中检测物体不同,从统一的BEV表示中识别3D物体更符合人类的感知,并且可以方便地适应诸如自动驾驶的3D物体跟踪等任务。此外,BEV表示可以很容易地与其他模态(如LIDAR点云)集成。

将多视图图像特征转换为统一的BEV表示,也称为View Transformation(VT),在BEV-based 3D目标检测中起着核心作用。这些方法可以广泛地分为两个流派:

  1. 基于Lift-Splat的方法,这些方法首先将图像特征提升到3D空间,然后收集在垂直方向上的投影图像特征,从而为每个BEV bin生成特征;
  2. 基于Transformer的方法,这些方法通过注意力操作 Query 图像特征来推导BEV表示。尽管这两种类型的方法都取得了巨大成功,但将它们部署到运行在边缘计算设备上的实时自主驾驶应用中仍然面临相当大的挑战。

在这里,作者概述了三种主要阻碍这些方法成功部署的障碍。

  1. 需要非标准操作:基于Lift-Splat和Transformer的方法都需要执行特殊的操作,这些操作需要大量的工程投入以实现高效实现。例如,在BEVFusion中,为在每个空间网格中收集点特征而设计了一个复杂的CUDA多线程机制。BEVFormer和PolarFormer中使用的变形注意力操作在部署到边缘计算设备时也需要专门的工程投入。
  2. 大量计算:以前的基于Transformer的方法使用多个Transformer解码器层来计算BEV表示,这显著影响了处理速度,并阻碍了它们在实时应用中的部署。此外,堆叠变形注意力操作会导致大量随机内存读取,这在边缘计算芯片上通常是一个瓶颈。
  3. 缺乏鲁棒性:由于各种因素(如碰撞或磨损)导致车辆上的相机姿态通常会发生扰动。如作者在第4节中所示,这些扰动会极大地降低先前基于提升-平板和Transformer方法产生的BEV表示的质量。这使得这些方法在实际、复杂的驾驶环境中应用起来很困难。

考虑到这些因素,作者的目标是开发一种新的BEV转换方法,该方法高效、鲁棒,并且不需要专门的工程投入来进行部署。

在本文中作者引入了一种新的基于Transformer的BEV视图转换方法,称为WidthFormer。作者的高效VT模块包含一个Transformer解码器层,并且不涉及任何非标准操作。通过Reference Positional Encoding (RefPE),一种用于计算基于Transformer的3D目标检测位置编码的新方法。WidthFormer通过直接使用从BEV平面上坐标计算的BEV Query 来计算BEV表示。

为了进一步减轻由大量BEV Query 向量造成的显著计算成本,作者遵循最近提出的各项方法,在垂直方向上压缩图像特征,显著提高了WidthFormer的效率和可扩展性。

image.png

在图1中展示了提出的WidthFormer与其他BEV转换方法之间的高级比较。此外,为了补偿这些压缩特征中的任何潜在信息损失,作者还设计了两种技术:

  1. 设计了一种高效Refine Transformer,其中压缩特征关注并从原始图像特征中提取有价值的信息;
  2. 提出了一种训练模型与互补任务的方法,直接将任务相关的知识注入到压缩特征中。

总之,作者做出了以下4个贡献:

  1. 引入了一种轻量级且易于部署的BEV转换方法,即WidthFormer,它使用一个Transformer解码器层来计算BEV表示。
  2. 提出了Reference Positional Encoding (RefPE),这是一种新的位置编码机制,用于3D目标检测,以帮助WidthFormer协助WidthFormer进行视图转换。它也可以用于以插件和即用型方式提高稀疏3D目标检测器的性能。
  3. 在广泛使用的nuScenes 3D目标检测数据集上评估了所提出的模块。结果表明,RefPE可以显著提高稀疏目标检测器的性能。
  4. 此外,WidthFormer在各种3D检测架构的性能和效率方面都超过了以前的BEV转换方法。

2 Related Work

基于图像的3D目标检测是许多下游应用的基本模块。单目3D检测旨在从单张输入图像中检测3D物体。例如,FCOS3D通过回归3D边界框扩展了2D FCOS检测器进行3D检测。多视图3D目标检测将多个图像集成在一起以进行更好的几何推理。例如,PETR通过引入3D位置编码扩展了稀疏检测器DETR。PETRv2通过结合时间建模改进了PETR。StreamPETR提出了一个新颖的 Query 传播算法,以更好地利用长程时间信息。CAPE通过在局部相机坐标系下创建位置编码改进了PETR的位置编码。

最近提出的3DDPE通过结合多模态监督准确计算深度,从而计算点状位置编码。BEV-based 3D目标检测首先将多视图图像转换为统一的BEV表示,然后从该表示中检测3D物体。BEVDet及其后续工作使用LSS计算BEV特征并使用卷积头预测物体。BEVFormer使用变形注意力操作计算BEV特征,并依赖DETR风格的头进行目标检测。

基于图像的BEV变换。直观的IPMR方法通过3D到2D投影和插值计算BEV特征。这些方法的一个问题是,当地面假设不成立时,BEV特征的质量将受到严重影响。在基于Lift-Splat的方法中,BEV特征通过垂直池化预测的点云特征,并按其预测的深度加权。

虽然这些方法性能很高,但Lift-splat过程在效率方面远不如其他方法。BEVFusion通过多线程机制加速了池化过程。MBEV通过假设均匀深度分布来节省内存使用。MatrixVT通过在垂直方向上压缩视觉特征,然后使用高效的极坐标变换计算BEV特征来提高整体效率。BEVDepth通过引入点云来改进深度估计。

基于Transformer的VT方法直接通过注意力机制输出BEV表示。PYVA使用交叉注意力学习BEV特征并使用循环一致性正则化模型。CVT和PETR依赖于3D位置编码为模型提供3D几何信息。为了提高效率,许多最近的方法采用了可变形注意力。

3 Method

在本节中将详细介绍WidthFormer。首先,在3.1节中介绍了新的3D位置编码机制。然后,在3.2节中介绍了作者的BEV变换模块。在3.3节中将描述如何针对潜在的信息损失优化压缩特征。

Reference Positional Encoding (RefPE)

image.png
image.png
image.png

BEV Transformation with WidthFormer

受RefPE的启发,作者设计了一个新的高效基于Transformer的BEV视图转换模块WidthFormer。正式地,WidthFormer的输入是多视图图像特征,输出是一个统一的BEV表示,其中和是BEV特征的高度和宽度。

WidthFormer的概述如图3所示。

image.png
image.png
image.png

Refining Width Features

将2D图像特征压缩成1D的宽度特征可以极大地提高模型效率和可扩展性。然而,在压缩过程中也可能会丢失重要的信息。因此,作者引入了以下两种技术来补偿任何潜在的信息损失。

改进的Transformer 改进的Transformer是一个轻量级Transformer解码器。它通过自注意力和交叉注意力从其他宽度特征和原始图像特征中获取信息,从而优化初始的宽度特征。如图3所示,初始的宽度特征是通过图像特征的高度维度进行池化得到的。在改进的Transformer中,宽度特征首先通过自注意力从其他宽度特征中获取信息;然后通过交叉注意力从其对应的图像列中获取信息。

最后,使用一个前馈网络计算最终的宽度特征。改进的Transformer非常高效,因为与输入图像大小相关的计算复杂度为线性复杂度,即。在4.3节中证明了只添加改进的Transformer只会对模型产生微小的延迟。

互补任务 为了进一步提高宽度特征的表达能力,在训练过程中,使用互补任务来直接将任务相关的信息注入到宽度特征中,这是受到BEVFormer v2的启发。如图3(a)所示,互补任务包括单目3D检测任务和高度预测任务。

具体而言,作者为这两个任务添加了一个FCOS3D风格的头。头将1D的宽度特征作为输入,以单目方式检测3D物体。为了使其能够接受1D的宽度特征作为输入,作者进行了两项修改:

  1. 将所有2D卷积操作更改为1D卷积;
  2. 在标签编码过程中仅限制了宽度范围,而忽略了高度范围。

为了使互补任务与WidthFormer对齐,作者将原回归深度估计更改为分类风格。对于高度预测,在FCOS3D头中添加了一个额外的分支,用于预测原图像特征中物体的身高位置,以补充池化过程中丢失的信息。

请注意,互补任务的头可以在模型推理过程中完全移除,因此不会影响推理效率。另外,训练辅助头只会消耗额外的10M GPU内存,对训练效率的影响最小。

4 Experiments

Experiment Settings

数据集 在常用的nuScenes数据集上评估WidthFormer,该数据集包括700、150和150个场景,用于训练、验证和测试。每个场景包含6个视图图像,覆盖周围环境的整个环境。

遵循官方评估协议。具体而言,对于3D目标检测任务,除了常用的平均平均精度(mAP),评估指标还包括nuScenes真实阳性(TP)错误,其中包含平均平均翻译误差(mATE)、平均平均尺度误差(mASE)、平均平均方向误差(mAOE)、平均平均速度误差(mAVE)和平均平均属性误差(mAAE)。还报告了nuScenes检测得分(NDS),其计算方式为:。作者使用nuScenes训练集进行模型训练,并在nuScenes的_val_集上评估模型。

实现细节 开源的实现测试RefPE用于稀疏3D目标检测器。作者使用两种3D检测架构:BEVDet和BEVDet4D,涵盖了单帧和多帧设置。采用BEVDet代码库中所有三个检测器的实现。除特别指定外,使用BEVDet的默认数据预处理和增强设置。作者还遵循[12]将BEV特征大小设置为,BEV通道大小设置为。对于BEVDet4D和BEVDept4D实验,作者遵循原始BEVDet4D实现,其中只使用一个历史帧。所有模型在CBGS上进行24个周期训练。使用ImageNet预训练的ResNet-50作为默认 Backbone 网络。所有训练和CUDA延迟测量均使用NVIDIA 3090 GPU进行。

Main Results

image.png

在表1中,作者将RefPE与其他3D位置编码方法进行了比较,使用了基准检测器PETR和最先进的StreamPETR。竞争性PE方法包括PETR论文中提出的原始3D PE,特征化的3D PE,CAPE和最近提出的3DPPE。

为了进行公平的比较,所有模型在无CBGS的条件下训练24个周期,使用ResNet-50-DCN作为 Backbone。结果表明,RefPE在所有三个基准上都取得了最佳性能。具体而言,在PETR-DN检测器上,WidthFormer相对于基准PETR在mAP和NDS方面分别取得了显著的2.8和4.0的改进。

此外,在性能强大的StreamPETR上,RefPE相对于使用FPE作为位置编码的基准StreamPETR,在mAP方面提高了1.6,在NDS方面提高了1.2。还注意到,在作者的训练配方下,最近提出的3DPPE没有达到令人满意的性能,显示出其对训练集的敏感性。这些结果证实了RefPE的有效性。

image.png

在表2中将提出的WidthFormer与其他VT方法进行了比较,使用了BEVDet和BEVDet4D 3D检测器。竞争方法包括:

  1. 逆视角映射(IPM),
  2. 基于Lift-splat的LSS,MatrixVT和FastBEV,
  3. 基于Transformer的BEVFormer(6层版本)。

请注意,竞争方法在其原始论文中可能使用不同的 Backbone 网络和头设置,多帧融合策略和训练配方。在这里,为了确保公平比较,作者只使用这些VT方法计算BEV表示,并保持所有其他设置相同,遵循原始3D检测器。作者还确保从不同VT方法计算的BEV表示具有相同的分辨率和通道维度。

WidthFormer在所有三个基准架构上都优于所有竞争方法,实现了更好的mAP和NDS性能。请注意,WidthFormer和BEVFormer都是基于Transformer的方法,但WidthFormer在单帧和多帧设置上都优于BEVFormer。

此外,MatrixVT和WidthFormer都从宽度特征中计算BEV表示,但始终优于MatrixVT在两种设置上。这些结果证实了WidthFormer作为通用VT方法的有效性。

image.png

在图4中比较了在不同输入分辨率和特征通道()上的WidthFormer和其他VT方法,在BEVDet检测器上。

图6也比较了再J5上的速度,相较于GKS、LSS以及Matrix,WidthFormer再J5的部署性能还是非常友好的:

image.png

具体而言,作者测试了四个设置{256,704,64},{384,1056,64},{512,1408,64}和{512,1408,128}。结果表明,WidthFormer在速度和准确性之间取得了良好的平衡:输入规模扩大时,检测mAP保持提高,而VT延迟保持低。作者确实注意到IPM,MatrixVT和FastBEV的速度比作者好,但这是以牺牲准确性为代价的。

Ablation Studies and Discussions

作者进行消融研究来测试作者方法的不同设计选择。除特别指定外,实验均在基于ResNet-50的BEVDet上进行。逐步构建WidthFormer。作者首先通过逐步向模型中添加所提出的模块来检查它们的效果,并报告准确性和速度结果在表3中。

image.png

作者开始使用原始的LSS Baseline ,该 Baseline 在4.5毫秒的VT延迟下实现29.5 mAP。然后,将LSS替换为基于Transformer的模块,其中BEV Query 直接与图像特征交互,而无需3D位置编码(PE)。但是,模型无法收敛。然后,将提出的RefPE编码添加到模型中,其中为每个特征像素计算PE,而不在高度维度上进行平均。模型实现31.0 mAP,比LSS Baseline 更好。这个结果证实了3D PE的必要性。

然而, Query 整个图像特征是不高效的(4.6 ms)。通过采用宽度特征作为注意力Key和Value,延迟减少到1.3 ms。但是,准确性下降到28.3 mAP,这意味着特征压缩使作者失去了信息。作者通过添加Refine Transformer来缓解这个问题,该模块在计算开销较小(+0.2 ms)时带来1.0 mAP的改进。最后,添加互补任务以提高最终mAP到30.7。这些结果表明,提出的Refine Transformer和互补任务确实可以缓解信息损失问题。

Refine Transformer的设计 作者检查了Refine Transformer的设计,并在表4中呈现了结果。没有对宽度特征进行优化的基准模型实现了30.0 mAP和1.3 ms VT延迟。当添加MatrixVT中基于卷积的优化时,准确率提高到30.2 mAP。然而,当作者添加作者提出的Refine Transformer时,mAP显著提高到30.7。

作者注意到,Refine Transformer比基于卷积的优化稍微慢一些,但与总体延迟相比,这是可以忽略的。作者还尝试将Refine Transformer与基于卷积的优化结合使用,但发现它只带来了微小的准确性改进。这个实验证实了Refine Transformer的有效性。

image.png

互补任务 作者研究了提出的互补任务,并在表5中报告了结果。当禁用互补任务训练时,WidthFormer实现了29.3 mAP。然后,作者将3D单目检测任务(如FCOS3D)添加到模型中,检测精度提高到29.7 mAP。然后,添加了一个高度估计分支,其中模型在2D图像特征中估计物体的身高,性能进一步提高了30.5 mAP。最后,将回归深度估计损失修改为类别深度估计损失,这得到了最终的mAP,为30.7。这个实验证实了训练策略的有效性。

image.png

在摄像机扰动下的鲁棒性 在本节中研究了WidthFormer和其他VT方法在6自由度摄像机扰动下的鲁棒性:相对于摄像机坐标系中的,和轴进行意外旋转和翻译。

具体而言,扰动是通过在摄像机姿态上添加零均值高斯噪声来实现的,其幅度由添加的高斯噪声的标准差控制。作者独立研究了6种不同的扰动类型。

image.png

作者在图5中显示了不同VT方法与不同类型扰动的关系的mAP曲线。有趣的是,作者发现不同的VT方法对不同类型的扰动敏感。例如,轴平移导致IPM和BEVFormer的性能降低,而WidthFormer和其他基于Lift-splat的LSS和MatrixVT方法对这种扰动完全免疫,因为这些方法在高度维度上被省略了。

总的来说,基于LSS的方法比IPM和BEVFormer更鲁棒。原因在于,IPM和BEVFormer依赖于将3D空间坐标投影到2D图像中,微小的扰动可能导致巨大的位置差异,从而损害性能。

特别是,WidthFormer对轴旋转非常鲁棒,与其他竞争方法相比,性能降低相对较小。WidthFormer也对和轴旋转具有鲁棒性。然而,作者注意到,所有VT方法,包括WidthFormer,对轴旋转都具有类似的强烈敏感性,随着噪声幅度的增加,mAP迅速降低到零。这是因为轴旋转可以严重损害预定义的多视图布局。

扩展实验 在表6中将模型扩展并与其他最新的3D检测方法在nuScenes _ val_集上进行比较。具体而言,对于基于BEV的方法,使用ResNet-101作为图像编码器;作者还扩展了输入分辨率和BEV通道尺寸到5121408和128,分别。

结果表明,WidthFormer与其他最先进的方法具有相似的性能。例如,BEVFormer在单帧和多帧设置中分别实现了37.5 mAP & 44.8 NDS和41.6 mAP & 51.7 NDS,而WidthFormer分别实现了37.9 mAP & 44.8 NDS和40.1 mAP & 52.7 NDS。

在多模态设置中,最近提出的BEVDistill实现了41.7 mAP & 52.4 NDS,而WidthFormer实现了40.9 mAP & 53.3 NDS。作者还比较了使用V2-99 Backbone 的StreamPETR+RefPE与其他高性能方法,这也证实了WidthFormer的优势。

image.png

5 Conclusion

本文介绍了一种新的基于Transformer的BEV转换方法,即WidthFormer。通过使用一种新的3D位置编码RefPE,该编码方法还可以用于提高稀疏3D检测器的性能,WidthFormer使用单层Transformer解码器从图像特征中计算BEV表示,这些特征在垂直方向上进行压缩。

与先前的BEV转换方法相比,WidthFormer更高效,并且易于部署到边缘计算设备上。还展示了WidthFormer在摄像机扰动下具有良好的鲁棒性。作者希望WidthFormer可以作为未来研究和实际自动驾驶应用的简单基准模型。

参考

[1].WidthFormer: Toward Efficient Transformer-based BEV View Transformation.

作者:AI驾驶员
文章来源:智驾实验室

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
16883
内容数
1235
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息