WidthFormer:实时自动驾驶!助力基于Transformer的BEV方案量产

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

>>点击进入→自动驾驶之心【BEV感知】技术交流群

写在前面&行业理解

基于BEV的transformer方案今年量产的主要方案,transformer结构和CNN相比,特征提取能力更强,但需要较多的算力,这也是为什么许多车上都是1~2颗orin芯片支持。所以如何轻量化基于Transformer的BEV方案,成为各大自动驾驶公司后面优化的重点,地平线的最新工作,将Transformer+BVE轻量化,保持了性能领先和速度领先。

WidthFormer有哪些优势?

WidthFormer是一种轻量级且易于部署的BEV变换方法,它使用单层transformer解码器来计算BEV表示。除此之外,还提出了参考位置编码(RefPE),这是一种新的用于3D对象检测的位置编码机制,以辅助WidthFormer的视图转换,重点来啦!它还可以用于以即插即用的方式提高稀疏3D检测器的性能。在nuScenes 3D检测数据集上评估了所提出的模块,结果表明RefPE可以显著提高稀疏目标检测器的性能。此外,WidthFormer在一系列3D检测架构中的性能和效率都优于以前的BEV变换方法。

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

WidthFormer在不同的3D检测架构中优于以前的方法。当使用256×704输入图像时,它在NVIDIA 3090 GPU和地平线J5芯片上实现了1.5毫秒和2.8毫秒的延迟。此外,WidthFormer对不同程度的相机扰动也表现出较强的鲁棒性。这个研究为在现实世界复杂的道路环境中部署BEV transformation方法提供了宝贵的见解。

基于BEV变换的方法一览

直观的基于IPM的方法通过3D-2D投影和插值计算BEV特征。其中的一个问题是,当平坦地面假设不成立时,BEV特征的质量将受到严重损害。在基于Lift Splat的方法中,BEV特征是通过垂直汇集投影的点云特征,并根据其预测深度进行加权来计算的。尽管Lift splat工艺具有高性能,但其效率远远不够。BEVFusion通过多线程机制加速了这个池化过程!

e35aaead294d53f545ad86912c70c9d5.png

M2BEV通过假设均匀的深度分布来节省存储器使用。MatrixVT通过在垂直维度上压缩视觉特征来提高整体效率,然后使用有效的极坐标变换来计算BEV特征。BEVDepth结合了点云,用于改进深度估计。基于transformer的VT方法通过注意力机制直接输出BEV表示。PYVA使用交叉注意力来学习BEV特征,并使模型具有周期一致性。CVT和PETR依赖于3D位置编码来向模型提供3D几何信息。为了提高效率,最近的许多方法采用了可变形注意力。

网络结构

如图3所示,WidthFormer将多视图图像作为输入,并输出转换后的BEV特征。它首先通过合并图像的高度维度将图像特征压缩为宽度特征。然后使用RefineTransformer对宽度特征进行细化,以补偿潜在的信息损失。在添加了参考位置编码后,宽度特征被输入到转换器解码器中,用作key和value,这些key和value由根据预定义的BEV极坐标计算的BEV查询向量进行查询!

230952f14e28eb4e61f0a02243a93f16.png

1)参考位置编码 (RefPE)

作者为基于transformer的3D检测器(例如,PETR)和本文的BEV视图变换模块设计了一种新的3D位置编码机制:参考位置编码(RefPE)。RefPE有一个旋转部分和一个距离部分。对于稀疏的3D检测器,它有另一个高度部分。旋转编码简单地通过对BEV平面上的相机射线的旋转度进行编码来计算。如(a)所示,为了计算逐点距离PE和高度PE,利用从视觉特征预测的参考系数来聚合相机射线上参考点的距离和高度PE。如(b)所示,对于宽度特征,去除高度PE,并通过使用预测的高度分布沿着图像列聚合所有逐点距离PE来计算它们的距离PE。

1f2ee29037f94865eeef1aaaa89a2e17.png

2) 使用WidthForme完成BEV Transformation

WidthFormer将多视图图像作为输入,并输出转换后的BEV特征。它首先通过合并图像的高度维度将图像特征压缩为宽度特征。然后使用RefineTransformer对宽度特征进行细化,以补偿潜在的信息损失。在添加了我们的参考位置编码后,宽度特征被输入到转换器解码器中,用作关键字和值,这些关键字和值由根据预定义的BEV极坐标计算的BEV查询向量进行查询。在所提出的RefPE的支持下,设计了一种新的基于transformer的BEV视图转换模块WidthFormer。形式上,WidthFormer的输入是多视图图像特征,输出是统一的BEV表示,WidthFormer的概述如图3所示!

3)细化Width特征

虽然将二维特征压缩为一维特征可以极大地提高模型的效率和可扩展性,但是不可避免的引入了信息丢失,那么有什么方法可以补偿这个丢失的信息呢?

Refine transformer。Refine Transformer是一种轻量级的transformer解码器。它通过关注其他宽度特征和原始图像特征并从中检索信息来细化初始宽度特征。如图3所示,通过MaxPooling图像特征的高度维度来计算初始宽度特征。在Refine Transformer中,宽度特征首先通过自注意操作从其他宽度特征中检索信息;然后它从相应的 使用交叉注意力操作的图像列。最后,使用前馈网络来计算最终的宽度特征。

补充任务。为了进一步提高宽度特征的表示能力,在训练过程中,用互补任务训练模型,将任务相关信息直接注入宽度特征,这是由BEVFormer v2推动的。如图3(a)所示,互补任务包括单目3D检测任务和高度预测任务。为这两个任务附加了一个FCOS3D样式的Head。头部采用1D宽度特征作为输入,并以单目方式检测3D目标。为了使其能够以1D宽度特征作为输入,进行了两个修改:(1)将所有2D卷积操作更改为1D卷积;(2) 在标签编码过程中,忽略了高度范围,只限制了宽度范围。为了使互补任务与WidthFormer保持一致,将原来的回归深度估计改为分类风格。对于高度预测,在FCOS3D头部添加了一个额外的分支,以预测目标在原始图像特征中的高度位置,这可以补充高度pooling中丢失的信息。注意,负责补充任务在模型推理过程中可以完全去除,不会影响推理效率。此外,训练辅助头只消耗<10M的额外GPU内存,因此对训练效率的影响最小!

实验结果对比

在常用的nuScenes数据集上对提出的方法进行了基准测试,该数据集分为700、150和150个场景(分别用于训练、验证和测试)。每个场景包含6个视图的图像,这些图像覆盖了整个周围环境。这里遵循官方评估协议,对3D检测任务,除了常用的平均精度(mAP)之外,评估度量还包括nuScenes(TP)误差,其包括平均平移误差(mATE)、平均尺度误差(mASE)、平均方向误差(mAOE)、平均速度误差(mAVE)和平均属性误差(mAAE),除此之外还有nuScenes检测分数(NDS)!

这里使用两种3D检测架构:BEVDet和BEVDet4D来测试提出的WidthFormer,其涵盖单帧和多帧设置。采用了BEVDet代码库中所有三个检测器的实现方式。除非另有规定,否则使用BEVDet的默认数据预处理和扩充设置。将BEV特征大小设置为128×128,将BEV通道大小设置为64。对于BEVDet4D和BEVDepth4D实验,遵循仅使用一个历史帧的原始BEVDet4D实现。所有模型都使用CBGS进行了24个epoch的训练,ImageNet预训练的ResNet-50用作默认骨干网络。所有训练和CUDA延迟测量均使用NVIDIA 3090 GPU进行。

使用PETR-DN和StreamPETR检测器的不同位置编码方法的比较。ResNet-50-DCN用作默认主干网。输入大小对于PETR-DN设置为512×1408,对于StreamPETR设置为256×704。所有模型都在没有CBGS的情况下训练了24个epoch。

74ce46efcbb90063b0f4039eceaf966b.png

使用BEVDet和BEVDet4D检测器的不同BEV视图转换方法的比较。ResNet-50被用作默认的骨干网络。输入大小设置为256×704。所有模型都使用CBGS进行了划时代训练。

88540257a6fce8db47e40ccfba312827.png

在不同尺寸设置下使用BEVDet的不同VT方法的CUDA延迟和mAP权衡比较:

59e13d2e97972d471fee11ac13f34cc9.png 82922ddbae81f8b123facd55351595ff.png

放大检测结果,并与nuScenes val-set上其他最先进的3D检测器进行比较。‘MF’代表多帧融合,’C'代表相机;'L'代表LIDAR!

51e4c9fac11fa3f1bd4104c2a31f9424.png

参考

WidthFormer: Toward Efficient Transformer-based BEV View Transformation

链接:https://arxiv.org/pdf/2401.03836.pdf

投稿作者为『自动驾驶之心知识星球』特邀嘉宾,欢迎加入交流!

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合多传感器标定多传感器融合多模态3D目标检测车道线检测轨迹预测在线高精地图世界模型点云3D目标检测目标跟踪Occupancy、cuda与TensorRT模型部署大模型与自动驾驶Nerf语义分割自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习

348ad88bd4d316f42e5fa389cff89faf.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2400人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

2285bbf8fcaccb510c7abb3e591186e5.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

66de18f9ae7fddf350aa2185bd882451.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

fe6c6f89c51dd050d8725f931efbd95f.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值