Advertisement

【论文解读】BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird‘s-Eye View Representation

阅读量:

BEVFusion

  • 摘要
  • 引言
  • 方法
  • 实验
  • 结论

摘要

多传感器融合对于准确可靠的自动驾驶系统至关重要。最近的方法基于点级融合:用相机功能增强LiDAR点云。然而,相机到激光雷达的投影丢弃了相机特征的语义密度,阻碍了这些方法的有效性,特别是对于面向语义的任务(如3D场景分割)。本文提出了一种高效通用的多任务多传感器融合框架BEVFusion。它将多模态特征统一在共享鸟瞰图(BEV)表示空间中,很好地保留了几何和语义信息。为了实现这一目标,我们通过优化的BEV池来诊断和解除视图转换中的关键效率瓶颈,将延迟减少了40倍以上。BEVFusion从根本上讲是任务无关的,几乎不需要架构更改即可无缝支持不同的3D感知任务。它在nuScenes基准上建立了新的技术水平,在3D对象检测上实现了1.3%的mAP和NDS,在BEV地图分割上实现了13.6%的mIoU,计算成本降低了1.9倍。复制我们结果的代码可用athttps://github.com/mit-han-lab/bevfusion.

引言

自动驾驶系统配备了各种传感器。例如,Waymo的自动驾驶汽车有29个摄像头、6个雷达和5个LiDAR。不同的传感器提供互补的信号:例如,相机捕获丰富的语义信息,LiDAR提供准确的空间信息,而雷达提供即时速度估计。因此,多传感器融合对于准确可靠的感知至关重要。来自不同传感器的数据以根本不同的方式表示:例如,相机在透视图中捕获数据,激光雷达在3D视图中捕获数据。为了解决这种视图差异,我们必须找到一个适用于多任务多模态特征融合的统一表示。由于2D感知的巨大成功,自然的想法是将LiDAR点云投影到相机上,并用2D CNN处理RGB-D数据。然而,这种LiDAR-to-camera投影引入了严重的几何失真(见图1a),这使得它对面向几何的任务(如3D对象识别)的效果较差。
最近的传感器融合方法遵循另一个方向。他们用语义标签[1]、CNN特征[2]、[3]或2D图像中的虚拟点[4]来增强LiDAR点云,然后应用现有的基于LiDAR的探测器进行预测框。尽管它们在大规模检测基准测试中表现出了显著的性能,但这些点级融合方法几乎不适用于面向语义的任务,如BEV地图分割[5]、[6]、[7]、[8]。这是因为相机到LiDAR的投影在语义上是有损耗的(见图1b):对于典型的32光束LiDAR扫描仪,只有5%的相机特征将与LiDAR点匹配,而所有其他特征都将被丢弃。对于更稀疏的LiDAR(或雷达)来说,这种密度差异将变得更加剧烈。
在本文中,我们提出了BEVFusion,将多模态特征统一到共享鸟瞰图(BEV)表示空间中,用于任务无关学习。我们保持几何结构和语义密度(见图1c),并自然支持大多数3D感知任务(因为它们的输出空间可以在BEV中自然捕获)。在将所有特征转换为BEV时,我们发现了视图转换中主要的效率瓶颈:即,仅BEV池化操作就占用了模型时间的80%以上。然后,我们提出了一种具有预计算和区间缩减的专用内核来消除这一瓶颈,实现了40倍以上的加速。最后,我们应用全卷积BEV编码器来融合统一的BEV特征,并附加一些特定于任务的头部来支持不同的目标任务。
BEVFusion在nuScenes和Waymo基准测试中设置了最新的最先进的3D物体检测性能。无论是否使用测试时间增强和模型集成,它都优于所有已发布的方法。BEVFusion在BEV图分割方面显示出更显著的改进。它的mIoU比仅使用相机的模型高6%,比仅使用激光雷达的模型高13.6%,而现有的融合方法几乎不起作用。BEVFusion高效,以1.9倍的计算成本提供所有这些结果。
虽然点级融合在过去三年中一直是首选,但BEVFusion通过重新思考“激光雷达空间是进行传感器融合的合适场所吗?”为多传感器融合领域提供了新的视角。它展示了一种以前被忽视的替代范式的卓越性能。简单也是它的主要优势。我们希望这项工作能够为未来的传感器融合研究提供一个简单而强大的基线,并激励研究人员重新思考通用多任务多传感器融合的设计和范式。
在这里插入图片描述

方法

在这里插入图片描述
如图2所示,BEVFusion侧重于多传感器融合(即多视图相机和LiDAR),用于多任务3D感知(即检测和分割)。给定不同的感官输入,我们首先应用特定于模态的编码器来提取它们的特征。我们将多模态特征转换为统一的边界元法表示,该表示保留了几何和语义信息。我们识别了视图转换的效率瓶颈,并通过预计算和区间缩减加速了BEV池化。然后,我们将基于卷积的BEV编码器应用于统一的BEV特征,以减轻不同特征之间的局部失准。最后,我们附加了一些特定于任务的头来支持不同的3D任务。
A. Unified Representation
不同的视图中可能存在不同的特征。例如,相机功能位于透视图中,而激光雷达/雷达功能通常在3D/鸟瞰图中。即使是相机功能,它们中的每一个都有不同的视角(即前、后、左、右)。这种视图差异使得特征融合变得困难,因为不同特征张量中的相同元素可能对应于非常不同的空间位置(在这种情况下,朴素的元素特征融合将不起作用)。因此,找到一个共享的表示至关重要,这样(1)所有传感器特征都可以很容易地转换为它,而不会丢失信息,并且(2)它适用于不同类型的任务。

  • 对相机。受RGB-D数据的启发,一种选择是将LiDAR点云投影到相机平面并渲染2.5D稀疏深度。然而,这种转换在几何上是有损耗的。深度图上的两个邻居在3D空间中可能相距甚远。这使得相机视图对于专注于对象/场景几何体的任务(如3D对象检测)的效果较差。
  • 对LiDAR。大多数最先进的传感器融合方法[1]、[4]、[3]用相应的相机特征(例如语义标签、CNN特征或虚拟点)装饰LiDAR点。然而,这种相机到激光雷达的投影在语义上是有损耗的。相机和LiDAR功能的密度截然不同,导致只有不到5%的相机功能与LiDAR点相匹配(对于32通道LiDAR扫描仪)。放弃相机特征的语义密度会严重损害模型在面向语义的任务(如BEV地图分割)上的性能。类似的缺点也适用于潜在空间中的最新融合方法(例如,对象查询)[48],[49]。
  • 对鸟瞰图。我们采用鸟瞰图(BEV)作为融合的统一表示。这种观点对几乎所有的感知任务都很友好,因为输出空间也在BEV中。更重要的是,向BEV的转换保留了几何结构(来自LiDAR特征)和语义密度(来自相机特征) 。一方面,LiDAR to BEV投影使稀疏的LiDAR特征沿高度维度变平,因此不会在图1a中产生几何失真。另一方面,相机到BEV投影将每个相机特征像素投射回3D空间中的光线中(详见下一节),这可能会导致图1c中的密集BEV特征图保留了来自摄像机的完整语义信息。

B. Efficient Camera-to-BEV Transformation
相机到边界元的转换并非易事,因为与每个相机特征像素相关的深度本质上是模糊的。根据LSS[6],我们明确地预测了每个像素的离散深度分布。然后,我们沿着相机光线将每个特征像素分散到D个离散点中,并根据相应的深度概率重新缩放相关特征(图3a)。这将生成大小为N HW D的相机特征点云,其中N是相机的数量,(H,W)是相机特征图的大小。这种3D特征点云沿着x、y轴以步长r(例如0.4m)进行量化。我们使用BEV池操作来聚合每个r×r BEV网格内的所有特征,并沿z轴展平这些特征。虽然简单,但BEV池的效率和速度惊人地低,在RTX 3090 GPU上需要超过500毫秒(而我们模型的其余部分只需要大约100毫秒)。这是因为相机特征点云非常大:对于典型的工作负载*,每帧可能生成约200万个点,比LiDAR特征点云密集两个数量级。为了克服这一效率瓶颈,我们建议通过预计算和区间缩减来优化BEV池。

BEV池化的第一步是将相机特征点云中的每个点与BEV网格相关联。与LiDAR点云不同,相机特征点云的坐标是固定的(只要相机内部和外部保持不变,通常在适当校准后是这样)。受此启发,我们预先计算了每个点的3D坐标和BEV网格索引。我们还根据网格索引对所有点进行排序,并记录每个点的排名。在推理过程中,我们只需要根据预先计算的排名对所有特征点进行重新排序。这种缓存机制可以将网格关联的延迟从17ms减少到4ms。
在这里插入图片描述
C. Fully-Convolutional Fusion
将所有感官特征转换为共享的BEV表示后,我们可以很容易地将它们与元素运算符(如连接)融合在一起。尽管在同一空间中,但由于视图变换器中的深度不准确,LiDAR BEV特征和相机BEV特征仍然可能在一定程度上在空间上错位。为此,我们应用了基于卷积的BEV编码器(具有少量残差块)以补偿这种局部失准。我们的方法可能会受益于更精确的深度估计(例如,用地面真实深度监督视图变换器[42],[53]),我们将其留给未来的工作。

D. Multi-Task Heads
我们将多个特定于任务的头应用于融合的BEV特征图。我们的方法适用于大多数3D感知任务。对于3D对象检测,我们遵循[17],[49]使用特定于类的中心热图头来预测所有对象的中心位置,并使用一些回归头来估计对象的大小、旋转和速度。对于地图分割,不同的地图类别可能会重叠(例如,人行横道是可驾驶空间的一个子集)。因此,我们将这个问题表述为多个二元语义分割,每个类一个。我们遵循CVT[8],用标准焦损训练分割头[54]。

实验

在这里插入图片描述
在这里插入图片描述

结论

我们提出了BEVFusion,这是一种用于多任务多传感器3D感知的高效通用框架。BEVFusion在共享的BEV空间中统一了相机和LiDAR功能,充分保留了几何和语义信息。为了实现这一目标,我们将慢速相机到BEV的转换速度加快了40多倍。BEVFusion重新思考了多传感器感知系统中点级融合的有效性,并在nuScenes 3D检测和BEV地图分割任务上取得了卓越的性能,与现有解决方案相比,计算量减少了1.5-1.9倍,测量速度提高了1.3-1.6倍。BEVFusion在Waymo开放数据集上的表现也优于所有现有的传感器融合方法。我们希望BEVFusion可以作为一个简单但强大的基线,激励未来多任务多传感器融合的研究。

全部评论 (0)

还没有任何评论哟~