短小精悍的BEV实例预测框架:PowerBEV

人工智能 智能汽车
BEV(鸟瞰图)发展至今,已然成为自动驾驶特征不可或缺的重要部分。然而,过于繁重的算法架构和输出冗余使得基于BEV的自动驾驶算法不能直接投入量产使用,本文提出了一个短小精悍的BEV实例预测框架,提高BEV算法部署和应用的效率。

本文经自动驾驶之心公众号授权转载,转载请联系出处。

01 摘要

准确感知实例并预测其未来运动是自动驾驶汽车的关键任务,可使其在复杂的城市交通中安全导航。虽然鸟瞰图(BEV)表示法在自动驾驶感知中很常见,但其在运动预测设置中的潜力却较少被发掘。现有的环绕摄像头 BEV 实例预测方法依赖于多任务自动回归设置和复杂的后处理,以时空一致的方式预测未来实例。在本文中,我们偏离了这一模式,提出了一种名为 "POWER BEV "的高效新型端到端框架。首先,POWER BEV 并非以自动回归的方式预测未来,而是使用由轻量级二维卷积网络构建的并行多尺度模块。其次,我们证明了分割和向心倒流足以进行预测,通过消除多余的输出模式简化了以往的多任务目标。在这种输出表示法的基础上,我们提出了一种简单的、基于流经的后处理方法,这种方法能产生更稳定的跨时间实例关联。通过这种轻量级但功能强大的设计,POWER BEV 在 NuScenes 数据集上的表现优于最先进的基准,为 BEV 实例预测提供了另一种范例。

图片

▲图1|PowerBEV和其他模式的对比

02 引言

准确获取周围车辆信息是自动驾驶系统面临的一项关键挑战。考虑到驾驶环境的高度复杂性和动态性,除了目前对道路使用者的精确检测和定位外,预测他们的未来运动也非常重要。一种广为接受的模式是将这些任务分解为不同的模块。在这种模式下,首先通过复杂的感知模型对感兴趣的物体进行检测和定位,并在多个帧中进行关联。然后,通过参数轨迹模型,利用这些检测到的物体过去的运动来预测其未来的潜在运动。但由于感知和运动模型是分开进行预测的,因此整个系统在第一阶段很容易出现误差。

近年来,许多研究都证明了鸟瞰图(BEV)表示法在以视觉为中心的精确驾驶环境感知方面的潜力。为解决误差累积问题,研究人员试图利用端到端框架直接确定 BEV 中的物体位置,并以占位网格图的形式预测全局场景变化。

如图1和图4所示,虽然采用了端到端范例,但现有方法预测了多个部分冗余的表征,如分割图、实例中心、前向流和指向实例中心的偏移。这些冗余表征不仅需要各种损失项,还需要复杂的后处理才能获得实例预测。

在这项工作中,我们简化了之前工作中使用的多任务设置,并提出了一种只需要两种输出模式的方法:分割图和流量。具体来说,我们直接从分割中计算实例中心,从而省去了多余的单独中心图。这也消除了估计中心和预测分割之间不一致的可能性。此外,与前人使用的前向流不同,我们计算的是向心后向流。这是一个矢量场,从当前每个被占据的像素点指向上一帧中其对应的实例中心。它将像素级关联和实例级关联合并为单一的像素实例分配任务。因此,不再需要偏移头。此外,这种设计选择还简化了关联过程,因为它不再需要多个步骤。与自动回归模型相比,我们还发现二维卷积网络足以让所提出的 POWER BEV 框架获得令人满意的实例预测,从而形成一个轻量级但功能强大的框架。

我们在NuScenes数据集上对我们的方法进行了评估,结果表明我们的方法优于现有框架,并达到了最先进的实例预测性能。我们还进一步进行了消融研究,以验证我们强大而轻巧的框架设计。

我们的主要贡献可总结如下:

●我们提出了 POWER BEV,这是一种新颖而优雅的基于视觉的端到端框架,它仅由二维卷积层组成,可对 BEV 中的多个物体进行感知和预测。

●我们证明,冗余表征导致的过度监督会损害预测能力。相比之下,我们的方法通过简单的预测分割和向心后向流就能完成语义和实例级代理预测。

●基于向心后向流的分配方案优于之前的前向流和传统的匈牙利匹配算法。

03 相关工作

■3.1 BEV针对基于相机的3D感知

虽然基于激光雷达的感知方法通常会将三维点云映射到 BEV 平面上,并进行 BEV 分割或三维边界框回归,但将单目相机图像转换为 BEV 表示仍然是一个难题。虽然有一些方法结合激光雷达和相机数据生成 BEV,但这些方法依赖于精确的多传感器校准和同步。

LSS(Lift Splat Shoot)可被视为第一个将二维特征提升到三维并将提升后的特征投射到 BEV 平面上的工作。它将深度离散化,并预测深度分布。然后,图像特征将根据该分布在深度维度上进行缩放和分布。BEVDet 将 LSS 适应于从 BEV 特征图进行 3D 物体检测。2021 年特斯拉人工智能日首先提出使用 Transformer 架构将多视角相机特征融合到 BEV 特征图中,其中密集 BEV 查询和透视图像特征之间的交叉关注充当视图变换。通过利用 BEVFormer和 BEVSegFormer中的相机校准和可变形注意力来降低变换器的二次方复杂性,这种方法得到了进一步改进。此外,已有研究表明,BEV 特征的时间建模可显著提高三维检测性能,但代价是高计算量和内存消耗。与检测或分割不同,预测任务自然需要对历史信息进行时间建模。为此,我们的方法在 LSS 的基础上使用轻量级全卷积网络提取时空信息,既有效又高效。

■3.2 BEV未来预测

早期基于 BEV 的预测方法将过去的轨迹渲染为 BEV 图像,并使用 CNN 对光栅化输入进行编码,假设完美检测和跟踪物体。另一项工作是直接从 LiDAR 点云进行端到端轨迹预测。与实例级轨迹预测不同,MotionNet和 MP3 通过每个占用网格的运动(流)场来处理预测任务。与上述依赖 LiDAR 数据的方法相比,FIERY 首先仅根据多视图相机数据预测 BEV 实例分割。FIERY 按照 LSS 提取多帧 BEV 特征,使用循环网络将它们融合成时空状态,然后进行概率实例预测。StretchBEV 使用具有随机残差更新的随机时间模型改进了 FIERY。BVerse 提出了一种潜在空间中的迭代流扭曲,用于多任务 BEV 感知框架中的预测。这些方法遵循 Panoptic-DeepLab ,它利用四个不同的头来计算语义分割图、实例中心、每像素向心偏移和未来流。他们依靠复杂的后处理从这四种表示生成最终的实例预测。在本文中,我们表明只需两个头,即语义分割和向心向后流,再加上简化的后处理就足以用于未来的实例预测。

图片

▲图2|PowerBEV算法架构

04 方法

在本节中,我们概述了我们提出的端到端框架。该方法的概述如图 2 所示。它由三个主要部分组成:感知模块、预测模块和后处理阶段。感知模块遵循 LSS ,并以时间戳中的 T 为输入,将 M 个多视图相机图像作为输入,并将它们提升到 BEV 特征图中的 T(参见第 3.1节)。然后,预测模块融合提取的 BEV 特征中包含的时空信息(参见第 3.2 节),并并行预测未来帧的分割图序列和向心向后流(参见第 3.3 节)。最后,从预测的分割中恢复未来的实例预测,并通过基于变形的后处理(参见第 3.4 节)。下面我们详细描述每个涉及的组件。

图片

▲图3|多尺度预测模型架构

■4.1 基于LSS的感知模块

为了获得用于预测的视觉特征,本文遵循他人的工作并且在 LSS 上构建,从周围相机图像中提取 BEV 特征网格。更准确的,针对每张图像在时刻,然后应用一个共享的EfficientNet基干,提取透视特征,其中我们指定的第一个通道参数表示一个上下文特征,接着通道表示一个类别深度分布。一个3D特征张量是由外积均值组成:

这个公式表示了上下文特征提升到不同深度,根据估计到的深度分布置信度。之后,每个相机特征分布图,在每个时间戳被转换到本体车辆中心坐标系统,同时利用对应相机的内参和外参。之后,将转换后的特征沿着高度维度进行加权,得到全局的BEV状态在时间戳,其中是状态通道数量,是BEV状态图的网格尺度。最后,所有BEV状态被统一到当前帧,然后如同FIERY一样堆叠,因此表示当前全局状态且独立于本体车辆位置。

■4.2 多尺度预测模块

在获得对于过去上下文的一个紧凑表示之后,我们使用一个类似于U-Net的多尺度编解码架构,以观测到的BEV特征作为输入,预测未来分割图和向心后向流场,如图3所示。为了获得时空特征,本文仅用2D卷积进行处理,具体是将时间和特征维度压缩进单个维度,生成一个输入张量结果。编码器首先按照空间尺度逐步对进行下采样,得到一个多尺度BEV特征,其中。在一个中间预测阶段,特征图从映射到得到。最后,解码器在输入尺度重建未来BEV特征。

每个分支在监督下分别预测未来的分割图或向心后流场,考虑到任务和监督的不同,我们对每个分支采用相同的架构,但不进行权重共享。与之前基于空间 LSTM 或空间 GRU 的工作相比,我们的架构只利用了2D卷积,在很大程度上缓解了空间 RNN 在解决长程时间依赖性方面的局限性。

图片

▲图4|任务相似度

■4.3 多任务设定

现有方法采用自下而上的流程,为每帧生成实例分割,然后根据前向流使用匈牙利匹配(HM)跨帧关联实例。因此,在 BEV 中需要四个不同的头部:语义分割、中心性、未来前向流和每像素向心偏移(图1.a)。这就导致了多任务训练带来的模型冗余和不稳定性。通过比较,我们首先发现流量和向心偏移都是实例掩码内的回归任务(图4.b),流量可以理解为运动偏移。

此外,这两个量与中心度的结合分为两个阶段:

(1)向心偏移将像素分组到每帧中预测的实例中心,为像素分配实例 ID;

(2)流量用于匹配连续两帧中的中心,进行实例 ID 关联。

基于上述分析,我们可以直观地使用统一的表示方法来解决这两项任务。

总之,我们的网络仅产生两个输出:语义分割图,以及向心后向流。我们使用top-k交叉熵,且k=25%作为分割损失,以及一个平滑距离作为流损失,整体的损失函数表示如下:

■4.4 实例关联

图片

▲图5|实例匹配

关于实例预测,现有方法使用前向流将实例中心投射到下一帧,然后使用匈牙利匹配法(Hungarian Matching)匹配最近的代理中心,如图5.a 所示。因此,只有位于物体中心的流向量才会被用于运动预测。这种方法有两个缺点:首先,没有考虑物体的旋转;其次,单个位移矢量比覆盖整个实例的多个位移矢量更容易出错。在实践中,这可能会导致投影实例重叠,从而导致 ID 分配错误。在较长的预测范围内,这一点对于距离较近的物体尤为明显。

利用我们的后向心流,我们进一步提出了基于经变的像素级关联来解决上述问题。图 5.b 展示了我们的关联方法。对于每个前景网格单元,该操作直接将实例 ID 从上一帧中位于流矢量目的地的像素传播到当前帧。使用这种方法,每个像素的实例 ID 都是单独分配的,从而产生像素级关联。

与实例级关联相比,我们的方法可以容忍更严重的流量预测误差,因为真实中心周围的相邻网格单元倾向于共享相同的标识,而误差往往发生在单个外围像素上。此外,通过使用后向流量扭曲,可以将多个未来位置与前一帧中的一个像素相关联,这有利于多模态未来预测。

05 实验验证

■5.1 实验设定

· 数据集:

我们在 NuScenes 数据集上对我们的方法进行评估,并将其与最先进的框架进行比较,这是一个广泛用于自动驾驶感知和预测的公共数据集。该数据集包含从波士顿和新加坡收集的 1000 个驾驶场景,分为训练集、验证集和测试集,分别有 750、150 和 150 个场景。每个场景由 20 秒的交通数据组成,并以 2 Hz 的频率标注语义注释。

· 实施细节

我们沿用了现有研究的设置,即使用过去 1 秒(包括当前帧)对应的 3 个帧的信息来预测未来 2 秒对应的 4 个帧的语义分割、流量和实例运动。为了评估模型在不同感知范围内的性能,采用了两种空间分辨率:

(1)100 米 ×100 米区域,分辨率为 0.5 米(长);

(2)30 米 ×30 米区域,分辨率为 0.15 米(短)。

使用学习率为 3 × 10 -4 的 Adam 优化器,端到端框架在 4 个配备 16 GB 内存的 Tesla V100 GPU 上进行了20 次训练,批量大小为 8。我们的实现基于 FIERY 的代码。

· 指标

我们沿用了 FIERY 的评估程序。为了评估分割的准确性,我们使用“交集大于联合”(Intersection-over-Union,IoU)作为分割质量的评估指标。

· 基准方法

我们将 PowerBEV 与三种最先进的方法 FIERY、Stretch-BEV 和 BEVerse进行了比较。FIERY 和 StretchBEV 的实验设置与我们的工作相同,只是批量更大,为 12 批,使用 4 个 Tesla V100 GPU,每个GPU 有 32GB 内存。BEVerse 将骨干系统升级为更先进的 SwinTransformer,将图像输入大小大幅增加到 704 × 256,批量大小增加到 32,使用32 个 NVIDIA GeForceRTX 3090 GPU 训练端到端模型。为了证明我们框架的有效性,我们故意不使用像 BEVerse 那样的大型模型或大尺寸图像,而是在 FLOPs 和 GPU 内存使用量方面将自己限制在FIERY 设置中,以便进行公平的比较。

■5.2 实验结果

(1)量化结果

我们首先在表 1 中比较了我们的方法与基准框架的性能。我们还将 FIERY 与我们提出的标签生成方法(参见第 4.1 节)进行了比较,结果发现我们在远距离领域的性能有所提高,这对自动驾驶汽车的安全性至关重要。

图片

▲表1|实例预测对比结果

如表2所示,我们改变了额外训练目标的数量和类型。只有两个头部的方法(模型 [D])比所有其他变体的表现都要好。增加中心点(模型 [B])或偏移点(模型 [C])会对各种指标产生负面影响。

图片

▲表2|不同预测头对比结果

从表 3 的上半部分可以看出,我们的方法(模型 [F])在 IoU 和 VPQ 方面都优于基于 HM 的实例级关联(模型 [E])。

图片

▲表3|PowerBEV与HM的对比结果

(2)定性结果

如图6所示,该结果展示了在三个典型驾驶场景中与 FIERY 的比较:动态交通密集的城市场景、静态车辆众多的停车场和雨天场景。在最常见的密集交通场景中,我们的方法提供了更精确、更可靠的轨迹预测,这一点在第一个例子中尤为明显,即车辆在本体车辆左侧拐入小路。

图片

▲图6|实例预测示意图

06 结语

在这项工作中,我们提出了一个新颖的框架 POWERBEV,用于预测 BEV 中的未来实例。我们的方法采用并行方案,利用2D网络(2D-CNNs)仅预测语义分割和向心后向流。此外,它还采用了一种新颖的后处理方法,能更好地处理多模态未来运动,在 NuScenes 基准中实现了最先进的实例预测性能。我们提供了详尽的消融研究,对我们的方法进行了分析,并展示了其有效性。实验证实,POWERBEV 比以前的方法更轻便,但性能有所提高。因此,我们相信这种方法可以成为 BEV 实例预测的新设计范例。

原文链接:https://mp.weixin.qq.com/s/KpJ9SsfkdR5vpawz6suvFQ

责任编辑:张燕妮 来源: 自动驾驶之心
相关推荐

2022-04-25 08:43:47

pandas代码Python

2021-04-12 15:34:33

C语言printfscanf

2021-06-08 09:36:20

Python代码内存

2020-12-30 19:08:16

Python编程程序段

2020-03-03 14:55:03

Python代码编程语言

2020-03-03 10:18:42

Python数据程序员

2024-11-14 08:52:12

2021-12-19 22:48:53

JavaScript开发代码

2019-06-24 09:57:39

网络工具调试

2010-07-16 14:00:07

乔布斯

2011-03-25 13:22:45

mSQL数据库

2012-05-22 00:55:44

代码工具CodeMirror

2019-06-27 17:00:09

nc命令 Linux

2020-09-15 08:53:08

parallelStr表达式函数

2017-11-23 15:24:35

Python速览实战

2020-09-29 06:37:30

Java泛型

2010-09-28 11:05:49

jQuery

2018-09-21 10:45:54

2018-11-12 10:13:38

2018-10-11 09:40:53

前端JavaScript编程语言
点赞
收藏

51CTO技术栈公众号