专栏名称: 智驾实验室
欢迎关注“智驾实验室”!本公众号专注于自动驾驶领域,为您带来世界模型的最新研究,多模态大模型的深入解析,以及多模态大模型在自动驾驶领域的应用与落地。在这里,您可以了解到自动驾驶技术的最新动态,洞察行业趋势,与我们一起探索未来出行的无限可能。
目录
相关文章推荐
51好读  ›  专栏  ›  智驾实验室

从历史数据中学习:HRMapNet在自动驾驶中的在线矢量化地图增强 !

智驾实验室  · 公众号  ·  · 2024-09-10 08:00

正文

ADAS Laboratory




点击上方 蓝字 关注 智驾实验室

加入【 智驾实验室 】交流群, 获取更多内容和资料

自动驾驶领域中,对于俯视图(BEV)空间中的端到端在线矢量化地图感知正逐渐引起关注,人们期望它能够取代传统的高成本离线高清晰度(HD)地图。

然而,这些方法的准确性和鲁棒性在遇到挑战性条件,如遮挡或恶劣天气,仅依靠车载传感器时,很容易受到损害。在本文中,作者提出了一种低成本的 HRMapNet ,利用过去预测的矢量化结果构建历史栅格的地图并进行在线矢量化地图感知增强。

历史栅格的地图可以从过去预测的矢量化结果轻松构建,并提供有价值的一致补充信息。为了充分利用历史地图,作者提出两个新的模块,用于增强BEV特性和地图元素 Query 。

对于BEV特性,作者使用特征聚合模块来编码车载图像和历史地图中的特性。对于地图元素 Query ,作者设计了一个 Query 初始化模块,为 Query 赋予历史地图的优先级。这两个模块共同帮助在线感知中利用地图信息。

作者的HRMapNet可以与大多数在线矢量化地图感知方法集成。作者将它集成到两种最先进的算法中,在nuScenes和Argoverse 2数据集上显著提高了它们的性能。

源代码已发布在https://github.com/HKMap/HRMapNet。

1 Introduction

高清(HD)地图包括矢量化地图元素(如车道分隔线、人行横道和道路边界)的位置和结构,这对于无人驾驶车辆的导航至关重要。传统上,高清地图是离线构建的,使用了SLAM(同时定位与地图构建)方法以及复杂的 Pipeline 进行标注和矢量化。高清地图的建设与维护成本非常高,这严重阻碍了自动驾驶的发展。因此,研究行人开始转向使用车载传感器进行在线地图感知。

用于自动驾驶的高清地图是一种矢量化地图,它是由每个地图元素(如车道分隔线、人行横道和道路边界)的点集组成的集合。这种矢量化表示对下游任务(包括运动预测和规划)友好。一些现有工作将地图感知视为分割任务,并产生了一种栅格的地图,这是一种记录每个位置语义标签的矩形像素网格。然而,栅格地图缺乏实例信息,并且需要复杂的处理才能转换为预期的矢量化地图。

为了解决上述限制,MapTR [25] 将高清地图感知定义为一个点集预测任务,并利用DETR [4]在鸟瞰空间(BEV)中直接预测矢量化地图元素。从那时起,提出了许多方法  来提高在线矢量化地图感知。这一趋势提高了在自动驾驶中弃用离线高清地图的预期。然而,仅依靠车载传感器进行在线地图感知的挑战,例如恶劣天气或遮挡等,可能导致其准确度和鲁棒性受到严重影响。

在本论文中,作者想要强调历史地图的重要性。与传统的高价高清地图不同,作者可以通过在线地图感知的改进性能来降低地图需求并保持低功耗地图。作者提出了一种新的框架HRMapNet,旨在维护和利用一个全球历史栅格的矢量化地图来进行矢量化地图感知。在这里,作者选择栅格地图以保留历史信息的原因如下:

1)矢量化地图可以方便高效地栅格化;

2)从全局栅格地图中检索/合并局部栅格地图是直接的;

3)栅格地图可以提供关于寻找理想地图元素的明确先验;

4)栅格地图只需要消耗较少的内存空间。

如图1所示,HRMapNet中的矢量化地图来自在线感知并被栅格化,然后用于更新全局历史地图。在线地图感知中,当前感知范围内的局部栅格地图被检索并作为车载传感器的补充。地图更新和检索可以轻松实现。这种 Pipeline 可以与大部分现有的最先进(SOTA)在线矢量化地图感知方法集成。

维护的全球历史栅格化地图可以从空开始并逐步从在线感知结果更新。在 revisiting 之前的位置时,检索到的局部地图可以通过提供额外的先验信息增强地图感知。在实践中,甚至可以由一群车辆集体构建和维护这样的历史地图。然后,作者的方法可以扩展以促进在线地图感知的众包信息。

现有的矢量化地图感知方法通常将车载图像编码为 BEV 特征,并使用可学习的 Query 来解码理想的地图元素。为了充分利用这个已经相当成熟的框架内的历史栅格化地图,作者提出了两个新颖的模块来增强 BEV 特征和可学习地图元素 Query ,以便充分利用历史地图。具体而言,作者引入了一个地图特征聚合模块,用于将来自图像和检索到的栅格化地图的特征编码在一起,以弥补仅靠车载图像特征的不足。此外,作者将检索到的栅格化地图编码为前向嵌入,并设计了一个 Query 初始化模块,其中基础地图元素 Query 首先与这些地图前向嵌入交互。然后,初始化的 Query 可以更有效地搜索理想的地图元素。因此, HRMapNet 利用车载图像和维护的历史栅格化地图来获得优越性能。

总之,作者的主要贡献如下:

  • 作者提出 HRMapNet,这是一个利用历史栅格化地图进行在线矢量化地图感知的框架。过去的矢量化地图预测被栅格化为更新全局历史栅格化地图,该地图作为后续在线地图感的补充信息。
  • 作者设计了两个模块以增强 BEV 特征和可学习地图元素 Query ,以便充分利用历史地图。对于 BEV 特征,作者采用了一个 BEV 特征聚合模块,用于将来自图像和检索到的栅格化地图的特征编码在一起,以补偿仅靠车载图像特征的不足。对于地图元素 Query ,作者设计了一个 Query 初始化模块,以有效地搜索理想的地图元素。这两个模块都可以提高在线感知性能。
  • 作者将 HRMapNet 与两个最新的研究方法(MapTRv2 [26] 和 StreamMapNet [48])集成,并在 nuScenes [1] 和 Argoverse 2 [43] 数据集上证明了显著的改进。作者在相同设置下还提供了额外的结果,以展示其健壮性和在实际自动驾驶应用中的潜在使用。## 2 相关工作

由于地图元素通常在 BEV 空间中构建,在线地图感知在很大程度上受益于 BEV 特征学习,即将来自自动驾驶车辆周围相机的图像特征从周围相机的图像空间升至 3D 空间,并利用池化产生 BEV 特征。例如,[31, 15] 将图像特征升至 3D 空间,并利用池化产生 BEV 特征。 [22, 23, 5] 在transformer架构中学习 BEV 表示。地图感知一般兼容这些方法。

Map Perception with Single Frame

在早期阶段,地图感知主要专注于车道线检测,道路拓扑推理或地图分割,主要是创建栅格的地图并在需要时进行后处理以产生下游应用程序所需的目标向量化地图元素。例如,HDMapNet [20]中预测栅格的地图被聚类以获得最终的向量化地图。

VectorMapNet [27]和MapTR [25]是直接预测向量化地图元素的先锋作品。VectorMapNet设计了一个地图元素检测器和多边线生成器来生成最终的向量化地图。MapTR提出了一种统一的排列等价建模方法,并利用DETR [4]范式直接预测向量化地图元素。在这些突破之后,向量化地图感知在自动驾驶研究中流行起来,导致了许多提高性能的方法的发展。进化的MapTRv2 [26]在解码器中添加了解耦自注意力机制和辅助损失,大大提高了准确性。可扩展Map [47]利用地图元素的结构性特性和逐步解码器进行远程感知。MapVR [50]引入了基于差分渲染和计算的向量敏感损失。此外,除了预测固定数量的点集表示外,BeMapNet [32]预测Bezier控制点和PivotNet [6]预测轴心点而不是固定数量的点以获得更准确的结果。

Map Perception with Complementary Information

上述方法使用单帧预测地图元素,这限制了进一步的改进。最近,先进技术已经超越了单帧感知,并结合了辅助信息。例如,探索了额外的标准分辨率(SD)图以帮助高清图感知[18]和车道拓扑理解[29]。卫星地图用于增强车载摄像头数据,以进行地图感知[9]。这些方法需要额外的在线感知数据,从而在实际应用中增加了成本。

时间信息是在线感知更易获取的辅助信息。它广泛用于BEV特征学习[22]和目标检测[41]。对于矢量地图感知,StreamMapNet [48]通过 Query 传播和BEV特征融合利用时间信息。SQD-MapNet [42]引入了Stream Query去噪,以方便时间一致性。在这些方法中,使用了短期之前的时间帧进行感知。

再进一步,如果所有时间信息都被收集和利用,地图可以被构建。在[46]中,利用过去激光扫描的地图进行自动驾驶中的目标检测。NMP[45]构建了过去BEV特征的地图进行地图分割。但是,BEV特征需要大量的内存空间,这限制了其实际应用。以 nuScenes 数据集中的波士顿地图[1]为例,NMP[45]中的BEV特征需要超过11 GB的内存。相比之下,作者提出了一种低成本的历史栅格的矢量地图感知,其对同一波士顿地图的内存占用仅为120 MB。

3 Method

Overview

图2:提出的HRMapNet体系结构。灰块保持不变,与最先进的在线矢量化地图感知方法相同。

作者提出的HRMapNet旨在作为最先进的在线矢量化地图感知方法的补充。如图2所示,HRMapNet维护了一个全局历史栅格的地图(见3.2节),以帮助在线感知。将周围图像作为输入,从共享 Backbone 网络中提取2D特征并转换到BEV空间。作者引入了一个地图编码器和解码聚合模块(见3.3节),从搭载的摄像头和获取的局部地图中获得增强的BEV特征。此外,作者还设计了一个新颖的 Query 初始化模块(见3.4节),该模块在原始地图解码器之前工作。这个模块的目的是使基本 Query 具有局部地图的先前信息,以实现更高效地搜索理想地图元素。最终,从预测 Head 直接预测矢量化地图元素,并将栅格化结果合并到全局地图中。

全局栅格地图

首先介绍用于保存历史信息的栅格地图。如图2底左角所示,矢量化地图栅格化以更新全局地图。在这里,作者采用与[19]中的方法中使用的栅格化方法相同。简要来说,栅格化地图中每个像素的标签基于其与矢量化元素边界的距离确定。从每个在线预测的第i个时间戳,作者可以获得语义 Mask ,称为局部栅格地图 ,其中 分别表示BEV空间中的感知范围的大小; 是地图元素类别数量,且有 ,分别表示车道分隔带、人行横道和道路边界,如图中说明。因此, 表示该类别地图元素是否存在。值1表示存在,值0表示不存在。

作者所使用的这种栅格的地图类似于占用网格地图[30],这是一种在机器人导航和映射中广泛研究的概念[11,12]。占用网格映射[37]已经广泛研究,用于根据本地观察更新全局地图。作者使用类似于更新全局栅格化地图 的方法[37],其中 分别表示全局地图的时空形状。对于地图更新,每个像素 的局部坐标 首先根据自身体姿 转化为全局坐标

其中 是相对旋转和平移, 表示将连续坐标转换为栅格地图的离散坐标。另外,给定全局坐标 和姿态 ,相应的局部坐标 如下:

接着,可以根据每个类别的局部地图 更新全局地图

其中 由公式(2)确定, 记录每个地图元类别的状态, 是根据局部预测结果定义的更新状态的值。这种简单的将局部结果集成到全局地图的方法,便于连续精化和更新。对于在线感知,根据自身体姿 从全局地图中检索局部分块化地图,并使用阈值 判断每个类别是否存在元素:

其中, 通过公式(1)确定。

在作者的实现中,将全局映射 缩放到8位无符号整数,以减少内存消耗。因此,一个离散化的地图只占用约1MB的内存空间,每公里消耗约1MB。

BEV Feature Aggregation

已有多种方法提出了从视角视图转换特征到BEV空间的策略,作为地图感知的根本模块。例如,MapTRv2 [26] 利用BEVPoolv2 [15] 获取 BEV 特征







请到「今天看啥」查看全文


推荐文章
遇见漫画  ·  《我的女友是老司机》第24话
8 年前
知心  ·  执子之手,与子偕老
8 年前
十点读书  ·  多少人心情不好,只因不懂这一点
7 年前