写在前面 & 笔者的个人理解
无图NOA以来,研究人员focus在端到端的在线矢量地图构建上,该技术在鸟瞰图(BEV)空间中实现,希望能够替代传统成本较高的离线高精(HD)地图。但是当前方法在恶劣环境下的准确性和鲁棒性很容易受限。为此本文提出了HRMapNet,其利用低成本的历史光栅化地图来增强在线矢量化地图的感知能力。历史光栅化地图来源于先前预测的结果,因此可以提供当前帧一定的先验信息。为了充分利用历史地图,作者设计了两个模块来增强BEV特征和地图元素的查询。对于BEV特征,本文设计了特征聚合模块,以编码图像和历史地图的特征。对于地图元素的查询,则设计了一个查询初始化模块,以赋予查询从历史地图中得到的先验信息。这两个模块对于在在线感知中利用地图信息至关重要。HRMapNet能够与大多数现有的在线矢量化地图感知方法集成。问鼎nuScenes和Argoverse 2 SOTA。
开源链接:https://github.com/HXMap/HRMapNet
相关工作总结
自动驾驶技术中,高精HD地图对于车辆导航至关重要,它们可以详细表述如车道线、人行横道和道路边界等矢量化地图元素的位置与结构。这些地图以往通过离线方式并结合SLAM等技术构建的。
单帧地图感知
早期的地图感知研究主要集中在车道线检测、道路拓扑推理或地图分割上,这些研究通常产生光栅地图,并需要额外的后处理步骤来生成用于后续任务的矢量化地图元素。例如,HDMapNet通过聚类分析预测的光栅地图来构建最终的矢量化地图。
VectorMapNet和MapTR等工作直接预测矢量化地图。VectorMapNet设计了一个地图元素检测器和一个多边形生成器来构建最终的矢量化地图。MapTR提出了一种统一的排列等价模型,并采用DETR框架直接预测矢量化地图元素。这些突破性的研究推动了在线矢量化地图感知技术的发展,并激发了一系列旨在提升性能的新方法。MapTR的改进版MapTRv2在解码器中引入了解耦的自注意力机制和辅助损失,显著提高了预测精度。ScalableMap利用地图元素的结构特性,设计了一种渐进式解码器以支持长距离感知。MapVR引入了可微分的光栅化和基于渲染的损失函数,以增强对细节的敏感度。此外,BeMapNet和PivotNet等方法通过预测贝塞尔控制点和支点,而非固定数量的点,来提高预测的准确性。
利用额外信息的地图感知
上述方法仅利用单帧图像进行地图元素的预测,这限制了性能的进一步提升。最新的研究进展已经开始突破单帧感知的局限,通过整合额外的信息来提升性能。例如一些研究探索了如何利用额外的标准清晰度(SD)地图来辅助HD地图感知和车道拓扑理解。还有研究利用卫星地图来增强车载图像数据,以改善地图感知。这些方法虽然提高了性能,但需要额外的数据源,从而增加了在线建图的成本。
时间信息作为在线感知中更容易获得的补充信息,在BEV特征学习和目标检测中已被广泛利用。在矢量化地图感知方面,StreamMapNet通过查询传播和BEV特征融合来利用时间信息。SQD-MapNet引入了流查询去噪技术,以增强时间一致性。这些方法通常利用时间上短期的先前帧来辅助感知。
如果能够收集并利用所有时间信息,就可以构建一个地图。一些工作利用过去的LiDAR扫描构建的地图被用于自动驾驶中的目标检测。NMP构建了一个用于地图分割的由历史BEV特征组成的地图。然而,BEV特征占用大量的内存,这限制了它的实际应用。以nuScenes数据集中的波士顿地图为例,BEV特征需要超过11GB的内存在NMP中。相比之下,本文提出维护一个低成本的历史光栅化地图进行矢量化地图感知,大幅减少了内存开销。
HRMapNet方法详解
概述
HRMapNet框架旨在作为现有在线矢量化地图感知技术的补充。如图2所示,该框架通过维护一个全局历史光栅化地图来辅助在线感知过程。输入环视图像后,从共享的主干网络中提取2D特征,并将其转换到鸟瞰图(BEV)空间。作者引入了地图编码器和特征聚合模块,以及一个新颖的查询初始化模块,这些模块在原始地图解码器之前工作,旨在赋予基础查询来自本地地图的先验信息,使搜索所需地图元素的过程更加高效。最终矢量化地图元素直接从预测头输出,并可以光栅化以合并到全局地图中。
图 2: 所提出的 HRMapNet 架构图。图中的灰色块表示与现有最先进在线矢量化地图感知方法保持一致的部分
全局光栅化地图
BEV特征聚合
查询初始化
实验结果和分析
数据集
nuScenes数据集包含1000个场景,这些场景分布在4个不同的地理位置,并且每个场景都提供了由6个环视图像。Argoverse 2数据集则涵盖了6个不同城市的1000个场景,每个场景都包含了7个环视图像。
评估指标
评测主要关注三个地图元素:车道线、人行横道和道路边界。本文使用Chamfer距离来衡量预测结果与真实标注之间的匹配程度,该距离在三个不同的阈值(0.5米、1.0米和1.5米)下进行计算。最终计算这三个类别的平均精度均值(mAP)作为评估指标。
实验细节
与SOTA比较
在 nuScenes 数据集上的比较:如表 1 所示,作者将 HRMapNet 与仅使用单帧图像的当前最先进技术进行了比较。HRMapNet 在这些方法中表现出显著的优势,包括 VectorMapNet、PivotNet、BeMapNet、MapTR、StreamMapNet 和 MapTRv2。具体而言,经过 24 个周期的训练,HRMapNet 将 StreamMapNet 和 MapTRv2 的性能分别提升了 5.9 mAP 和 5.7 mAP。即使在 110 个周期的训练后,HRMapNet 依然在同一设置下比 MapTRv2 高出 4.9 mAP。与引入额外信息的方法相比,HRMapNet 通过全面利用所有历史信息而脱颖而出。例如,P-MapNet 引入了 OpenStreetMap的额外标准清晰度地图,但其改进幅度不如作者的方法。SQD-MapNet 利用流查询去噪策略从先前帧的结果中受益,而 HRMapNet 利用全局栅格化地图不仅整合了时间信息,还整合了所有过去的结果进行在线感知,因此取得了更优越的性能。此外,HRMapNet 在与 StreamMapNet 和 MapTRv2 集成时,推理速度分别达到了 21.1 FPS 和 17.0 FPS,确保了其在自动驾驶实时应用中的实用性。
表 1: 在 nuScenes数据集上的比较结果。每个块中的第一行是基线方法,标记为 “#” 的是改进方法。“Modality” 列中,“means using only a single frame” 表示仅使用单帧图像;“SDMap” 表示添加额外的标准清晰度地图作为输入;“Temporal” 表示使用时间信息;“HRMap” 表示使用历史栅格化地图。MapTR 和 P-MapNet 的结果取自 P-MapNet;StreamMapNet 和 SQD-MapNet 的结果取自 SQD-MapNet,也与作者自己复现的结果一致。其他结果取自各自论文。FPS 是在单块 NVIDIA A100 GPU 上,批量大小为 1 时测量的。作者方法引入的改进用红色标记。
在 Argoverse 2 数据集上的比较:如表 2 所示,Argoverse 2 数据集上的结果进一步证明了 HRMapNet 的有效性。HRMapNet 在 StreamMapNet 和 MapTRv2 上都取得了显著的提升,分别提高了 2.8 mAP 和 4.0 mAP。这些结果强调了作者方法在不同方法论和数据集上的有效性和通用性。
表2:在 Argoverse 2数据集上的比较结果
在新分割数据集上的比较:上述实验是在常用的原始数据集分割上进行的,其中训练和验证数据集之间存在位置重叠。StreamMapNet 提出了 nuScenes 和 Argoverse 2 的新分割方法,其中训练和验证数据在位置上是分开的。作者在表 3 中也提供了这些新分割数据集上的结果。在这些新分割数据上,StreamMapNet 利用查询传播和 BEV 特征融合来整合时间信息。作者没有使用这两种时间融合模块,仅集成了利用全局栅格化地图的策略。HRMapNet 仍然在这两个数据集上提高了 StreamMapNet 的性能,分别提高了超过 3.0 mAP,这加强了集成全局栅格化地图的价值。
表3
消融实验
在本节中,作者对方法进行了消融研究,这些研究在 nuScenes 数据集上进行,使用 24 个训练周期,并将 MapTRv2作为基准模型。
特征聚合与查询初始化:在线感知中,作者的方法利用全局地图信息增强了鸟瞰视图(BEV)特征和查询。表 4 展示了这两个模块的消融研究。基于 MapTRv2,将全局地图信息集成到 BEV 特征中,性能提升了 3.1 mAP。进一步引入查询初始化模块,性能又提升了 2.6 mAP。这两个组件在将全局地图信息集成到在线感知中都起到了显著的正面作用。为了进一步证明提出的查询初始化模块有助于更高效地搜索地图元素,作者在补充材料中提供了减少解码器层数的消融研究。
表4:消融实验
查询初始化中的地图分辨率:在查询初始化过程中,所有地图元素存在的位置都被视为地图先验,并嵌入到基础查询中。然而,有时会产生过多的先验嵌入,占用大量内存。为此,在提取地图先验嵌入之前,作者对检索到的本地栅格地图进行了下采样,以达到更粗糙的分辨率。表 5 展示了不同分辨率下编码地图先验嵌入的消融研究。在 0.3 m 分辨率下,未采用下采样,导致训练过程中产生大量嵌入和显著的 GPU 内存消耗。随着分辨率的降低,内存使用量迅速减少,对推理速度的影响很小。作者将分辨率设置为 0.6 m 作为默认配置,因为此时内存消耗是可以接受的,并且能够获得最佳性能。结果还表明,与 MapTRv2 相比,HRMapNet 在训练中额外消耗了约 9 GB 的 GPU 内存。
表5:消融实验
实际使用中的额外结果
定位误差的鲁棒性:如第 3.2 节所述,全局地图是基于自车定位从本地预测的栅格地图中更新的。在自动驾驶中,自车定位通常使用 GNSS 模块或基于 SLAM 的方法进行高精度定位。为了评估 HRMapNet 对定位误差的鲁棒性,作者在 nuScenes 数据集上进行了额外的实验,结果如表 6 所示。基于 MapTRv2 训练了 24 个周期的模型在不同级别的定位误差下进行了测试;所有结果均来自同一模型,只是定位误差水平不同。作者为自车定位的平移和旋转添加了随机噪声,从而影响了地图的更新和检索。
表 6: 在不同定位误差下测试的 mAP
结果清楚地展示了 HRMapNet 对定位误差的鲁棒性,尤其是在平移方面。一个促成因素是作者方法中使用的相对较小的地图分辨率(0.3m)。尽管存在不同程度的定位误差,HRMapNet 仍然能够一致地提供可比的结果,大多数情况下性能仅下降了 1 mAP。即使在最坏情况下,即噪声最大的情况下,历史地图仍然带来了好处(63.8 mAP),与基线模型 MapTRv2(61.5 mAP)相比有所提升。考虑到自动驾驶中对平移的 0.1 m 误差和对旋转的 0.01 rad 误差是常见的要求,这些额外的结果表明 HRMapNet 在实际使用中的有效性。
不同初始地图:在上述实验中,为了进行更公平的比较,HRMapNet 被测试为使用一个空的初始全局地图。全局地图是逐渐从感知结果中更新的,并有利于后续预测。对于许多帧来说,在线感知实际上只从时间上的前几帧中受益,这削弱了使用全局历史地图的力量。在这里,作者提供了使用预构建初始地图的额外结果,如表 7 所示。这里使用的模型与表 1 中的模型相同,与 MapTRv2 集成并训练了 24 个周期。注意,模型没有重新训练或微调,作者只是用不同的初始地图进行了测试。这里有两种地图可以提供。
表 7: 使用不同初始地图进行测试的 mAP
对于“验证地图”,相同的模型用验证数据运行两次。第一次是使用空的初始地图运行。地图随着验证数据的进入而逐渐更新,最终的全局地图被保存。这个全局地图被加载用于第二次验证。实际上没有额外的数据输入,模型自己构建了一个全局地图并再次用于验证。有了这个更完整的地图的帮助,相同模型的性能进一步提高了 +5.4 mAP。此外,训练期间构建的全局地图被保存并再次加载用于验证。如第 4.2 节所述,训练和验证数据之间存在位置重叠。因此这个训练地图也可以在线感知中受益于验证。因为这个训练地图更准确,性能大大提高了 +16.5 mAP。作者提供这些额外的结果,以显示 HRMapNet 在自动驾驶实际使用中的潜力,包括众包在线地图感知。提供了一个易于维护的全局地图,甚至可以由其他车辆构建,在线矢量化地图感知的性能可以大大提高。
定性结果分析
如图 3 所示,作者对比了在严重遮挡、雨天以及夜间照明条件不佳的情况下的地图感知结果。所有参与比较的方法均基于 24 周期的训练。本研究提出的方法以 MapTRv2 为基础模型。图中,车道线、人行横道和道路边界分别用红色、绿色和蓝色标识。
图 3: 在三个挑战性场景(严重遮挡、雨天和夜间照明不足)下的可视化结果对比
结论
作者提出了一种新颖的框架,即通过维护一个全局的历史栅格化地图来增强在线矢量化地图的感知。这种全局栅格化地图能够利用过往的预测成果被简易地构建和更新。作者通过将历史栅格化地图的信息融合进鸟瞰视图(BEV)特征增强和查询初始化过程中,使其成为在线感知任务中的有益补充。本框架与当前大多数在线矢量化地图感知技术相兼容。实验结果证明,作者所提出的 HRMapNet 显著提升了两种业界领先的在线矢量化地图感知方法的性能。作者期望 HRMapNet 能够成为众包地图感知的基石:由众多自动驾驶车辆共同维护一个精确的全局栅格化地图,并以此为每辆车提供准确的在线矢量化地图感知的先验知识。
局限性:尽管 HRMapNet 专注于如何利用历史栅格化地图来增强在线矢量化地图的感知,作者并未设计过于复杂的地图维护机制,而是采用了一种源自机器人领域的占用网格建图技术的简化版本,用以将局部预测结果整合入全局地图。