生成城市规模的车道 Level 地图面临着重大挑战,由于复杂城市环境(如车道标记模糊或缺失)的影响。
此外,一个标准的车道 Level 地图需要对车道的分组进行全面的组织,包括车道方向、样式、边界和拓扑,但这一点在之前的研究中并未得到彻底的探讨。这些障碍导致了人工标注劳动力的增加和高昂的维护成本。
本文克服了这些限制,并提出了一种名为DuMapNet的工业级解决方案,该方案以端到端的方式输出标准化的、矢量化地图元素及其拓扑。
为此,作者提出了一种分组车道预测(GLP)系统,通过精心定制基于 Transformer 的网络输出车道组的矢量化结果。同时,为了在挑战性场景(如道路磨损和遮挡)中增强泛化能力,以及提高全局一致性,作者提出了一个上下文提示编码器(CPE)模块,该模块利用空间邻域的预测结果作为上下文信息。
在大量实际世界的规模数据集上的实验证明了DuMapNet的优越性和有效性。
此外,DuMapNet已于2023年6月在百度地图中投入生产使用,支持超过360个城市的车道 Level 地图生成任务,同时成本降低了95%。这表明DuMapNet作为一个实际且具有成本效益的工业解决方案,适用于城市规模的车道 Level 地图生成。
1 Introduction
传统的地图生成解决方案通常成本高昂且劳动密集,因为它们需要经过培训的专家手动标注地理元素。为了在减少人力的情况下提高效率,利用计算机视觉的进步进行地图生成已经成为一种可行的途径。这些算法大致可以分为基于分割的方法、基于车道线检测的方法以及基于矢量的方法(Golovne等人,2013年;张等人,2017年;张等人,2018年)。特别是,基于分割的方法通常不是最优选择,因为它们经常需要一系列后处理策略,例如细化和拟合,将 Mask 转换为矢量化的地图。基于车道线检测的方法在地图元素类型的可扩展性和灵活性方面通常有限。尽管基于矢量的解决方案已经取得了令人称赞的结果,但它们在预测准确性、后处理逻辑以及处理复杂道路情况(如道路磨损和车辆遮挡)方面仍存在局限性。此外,这种车载方法通常受到计算能力和局部构造模式的限制,阻止了它们满足城市尺度车道级地图所需的精确性和全球一致性。
为了充分探索大规模车道级地图生成的范例,作者提出了一个名为DuMapNet的自动工业级离线解决方案。给定一个鸟瞰图(BEV)图像,DuMapNet可以将多段线样式和多边形样式的地图元素统一建模为一组点。为了显著提高在道路磨损、遮挡和复杂交叉口等困难场景的预测结果,以及帧间矢量化结果的连接,作者提出了
上下文提示编码器(CPE)
模块。通过使用当前BEV图像邻域的空间预测结果作为提示信息,CPE在大范围感受野内显著增强了预测结果在几何和类别上的一致性。为了避免传统多阶段制图方法的误差累积效应和泛化能力弱的问题,并考虑到标准化地图构建的要求,作者设计了
分组车道预测(GLP)
,通过车道组多边形与车道线的相互约束输出车道组的矢量化结果,无需复杂的后处理逻辑。最后,为了实现端到端的大规模地图生成模式,作者开发了
拓扑预测
模块,该模块预测BEV图像之间的车道线拓扑关系,实现大规模地图关联。作者对研究界和工业界的主要贡献如下:
潜在影响:
作者引入了DuMapNet,一个端到端的矢量建模框架,作为城市尺度车道级地图生成的工业级解决方案。DuMapNet已经在百度地图的生产中成功部署,支持超过360个城市的车道级地图生成,实现了95%的成本降低。
创新性:
DuMapNet代表了城市尺度车道级地图生成任务的新范式,实现了从鸟瞰图(BEV)图像到满足制图标准的矢量化结果的端到端预测。其创新性在于每个阶段,从统一的矢量建模、分组车道预测系统、上下文提示编码器到拓扑预测模块,使得车道级地图生成任务高度自动化且具有成本效益。
技术质量:
在从百度地图收集的大型真实世界数据集上进行了广泛的定性和定量实验,证明了DuMapNet的优越性。DuMapNet在百度地图的成功部署进一步表明,它是城市尺度车道级地图生成的实用且健壮的解决方案。
2. DuMapNet
Preliminaries
车道级地图从BEV图像生成的任务定义如下:给定一个来自车载传感器的BEV图像
作为输入,网络应该预测矢量化的地图元素
。接下来,作者将描述数据准备和统一矢量化的过程。
数据准备。
与大多数使用多视图图像作为输入在BEV特征上操作的车载方法不同,遵循(Golovne等人,2013;Zhang等人,2017)的方法,作者的非车载方法建立在BEV图像之上,该图像是由多视图图像、点云数据和车辆姿态信息生成的。其主要优势在于两个方面:首先,可以充分利用区域全局信息,如几何平滑性约束、语义相关性以及全局精度一致性;其次,进行多次数据收集可以缓解诸如精度偏差和动态遮挡等不可避免的挑战。作者没有依赖繁重的标注人力,而是通过百度地图数据库以自动化的方式解决大规模标注问题。具体来说,给定一个
分辨率的BEV图像
,每个像素的空间分辨率为
,它覆盖了
米乘以
米的区域,具有一定的地理坐标范围。首先,作者从数据库中索引该范围内的实例几何、标签和车道组ID。其次,基于车道组ID,将实例几何按车道组粒度组织成列表格式,并映射到像素坐标系统。同时,作者计算每个车道组内包含的所有实例的最小外接矩形以创建组多边形。最后,基于BEV图像之间的空间关系,向地面真相中添加邻域ID。为了更好的理解,作者在GitHub上发布了一个演示供参考,地址为https://github.com/XiyanLiu/DuMapNet。
统一矢量化。
作者为每个局部陆地区域的核心地理元素定义了一个统一的矢量化表示。正式地,给定一个BEV图像
,作者将其对应的车道级矢量化表示为
,其中
表示局部陆地区域中的车道组数量。每个车道组
由一组地理元素
和元素样式
组成,其中
是一个具有
种元素样式的独热向量。因此,作者将车道组表示为
,其中
是车道组中的元素数量。接下来,每个元素实例的点集表示为
,其中
是点的数量,
表示每个点的坐标。
Overall Architecture
城市规模的车道 Level 地图生成本质上是复杂的,需要对车道分组进行全面的组织,而现有方法仅生成车道分组的部分元素。同时,DuMapNet 是首个端到端的解决方案,用于实现城市规模的车道 Level 地图生成,实现了实际且有效的工业收益。
具体来说,图2展示了作者提出的DuMapNet的总体架构。为了获得城市规模的车道 Level 矢量地图,DuMapNet采用滑动窗口方法按照之字形扫描序列处理整个陆地面积。模型的输入包含两部分:鸟瞰图(BEV)图像和上下文提示。具体而言,BEV图像是通过前述数据准备过程获得的,提供了局部陆地面积的丰富外观特征。作者使用了一个图像编码器,包含一个 Backbone 网络和特征金字塔网络(FPN),从BEV图像
中提取BEV特征
。同时,为了使相邻陆地面积的车道 Level 矢量预测保持空间连贯性,作者提出将相邻扫描区域的预测矢量地图作为DuMapNet的附加输入。作者进一步定制了一个上下文提示编码器(CPE),以实现对相邻扫描区域预测的有效编码。此外,作者设计了一个 Query 组合,包含一系列用于车道线预测的分层 Query ,一个前景分割 Query ,以及一系列用于车道组多边形预测的 Query 。在解码器中,所提出的 Query 组合与来自CPE的BEV特征和上下文提示嵌入进行交互。最后,作者构建了多个任务预测头,以促进各种预测,其中预测包括矢量化的元素和它们的拓扑结构。
图2. DuMapNet的总体架构。DuMapNet使用滑动窗口方法处理整个城市规模的陆地面积。对于每个局部区域,利用图像编码器从BEV图像中提取图像特征。同时,作者提出了一种新颖的上下文提示编码器(CPE)来编码相邻扫描区域的预测。为了实现分组车道预测(GLP),作者精心定制了关键的网络组件,包括 Query 、解码器和预测头。因此,网络能够生成包含矢量元素及其拓扑的矢量地图。此外,还生成了两个辅助预测:使用组多边形有助于车道组的组织,而前景分割则有助于提高车道点的定位。详细说明请参见第2节。
Contextual Prompts Encoder (CPE)
受到基于提示的视觉模型(Liu et al., 2019; Liu et al., 2019; Liu et al., 2019)近期成功的启发,作者提出的CPE采用了一种简单而有效的架构来编码相邻土地区域的矢量化结果的几何和语义信息,在滑动窗口操作期间为当前土地区域的矢量化提供上下文线索。正式地,作者定义
其中
表示一组相邻土地区域。
表示与解码器中间层的特征交互的提示嵌入。其中
分别表示预测的总组数、每组中的元素实例数以及每个实例中的点数。
CPE的架构如图2所示。具体来说,作者采用共享的多层感知机(MLP)网络对每个元素的预测样式类型进行编码,作为语义编码。对于几何信息,作者对元素点的坐标执行共享的位置编码子网络。该子网络由不同频率的正弦和余弦函数以及随后的MLP组成。最后,将几何和语义线索连接起来,然后输入到MLP中,生成最终的提示嵌入
。此外,作者在CPE中引入了一种记忆机制来实现长期的特征依赖。具体来说,作者采用先进先出(FIFO)队列作为记忆库,用于存储先前
帧局部土地区域的
提示嵌入。记忆库高效地存储剩余
个相邻帧的提示嵌入。这些嵌入随后在CPE中使用加权求和操作进行聚合。分配给每个存储帧的权重是由CPE中的中间层生成的可学习参数,使模型能够自适应地关注相关信息。这种设计有效地减少了提示信息中的噪声(例如,提示可能包含预测误差),同时保持了最小计算开销的轻量级架构。记忆库是CPE的核心模块,直接反映了其性能。最后,通过学习存储嵌入的聚合来获得
。
Group-wise Lane Prediction (GLP)
车道组指的是共享相同特性(例如,相同的风格或指向共同的目标或目的地)的车道集合。实际上,车道组对于路径规划和导航至关重要,因为它们有助于理解复杂的道路结构。然而,预测精确的车道组是具有挑战性的,因为它需要复杂的语义分析和几何推理。特别是,要定位车道实例的端点,需要了解同一组中其他车道的风格和拓扑变化。为此,作者 Proposal 使用一个多边形,即组多边形来勾勒出车道组的边界。作者在网络架构中进一步引入了一个辅助任务来预测组多边形。由于所有预测的地图元素点都位于组多边形内,作者 Proposal 增加一个点在多边形内的损失,以促进车道组的预测。
在本节中,作者将介绍关于车道组预测(GLP)的关键组成部分,包括 Query 设计、解码器架构和预测头。
** Query 。** 作者设计了一个 Query 组合,以灵活地编码结构化地图信息,并为地图元素和组多边形学习进行分层双向匹配。具体来说,作者扩展了MapTR(Liu等人,2019)中的分层 Query 方案,并定制了两套 Query ,分别是元素 Query
和组多边形 Query
。这两种类型的 Query 采用相同的分层 Query 方案,有效地编码实例 Level 和点 Level 信息。此外,作者引入了一个额外的前景-背景(FG) Query
,用于辅助的语义分割任务。
解码器。
所有地图元素、组多边形和分割 Mask 同时使用统一的Transformer结构进行预测。解码器由几个级联层组成,每个层包括一个自注意力模块、两个交叉注意力模块和一个实例内自注意力模块。最初的自我注意力模块旨在让分层 Query 在整个特征空间内交换信息。随后的交叉注意力模块促进了分层 Query 与鸟瞰图(BEV)特征之间的交互。为了提高预测准确性和空间一致性,创新性地引入了额外的交叉注意力模块,使用上下文提示嵌入作为输入键和值与分层 Query 进行交互。最后,实例内自注意力模块允许同一实例内的点之间的交互,从而提高几何光滑度。最终,通过解码器处理后,分层 Query 有效地编码为组 Level Query 嵌入
,线 Level Query 嵌入
,以及一个前景嵌入
。
预测。
对于预测车道线和车道组多边形,作者将地图元素和组多边形 Query 嵌入输入共享的分类分支和共享的回归分支,分别进行类型分类和几何属性回归。对于每个预测的实例,回归分支输出一个维度为
的向量,表示
个点的归一化坐标。
此外,为了增强分类和回归分支的性能,从而提高预测准确性和加速训练收敛,作者提出了一个前景分割分支。不是直接利用BEV特征进行分割,而是引入了一个单独的前景 Query
,与分层 Query 并行。经过传统解码网络和MLP编码处理后,前景 Query 嵌入与BEV特征交互生成分割图。
Topology Prediction
考虑到作者目标是以端到端的方式生成城市规模的车道 Level 地图,仅仅预测单帧BEV图像的矢量化是不够的。预测帧之间的拓扑关系对于作者这项任务来说是不可或缺的。为此,作者提出直接预测一个拓扑矩阵
,该矩阵指示当前陆地区域中
个元素实例与上下文陆地区域中
个元素实例之间的连接。
受到(Wang等人,2019)的启发,作者将拓扑预测公式化为一个分类任务,其中拓扑矩阵作为解码器的额外输出产生。该架构在图2中概述,并在图3中具体说明。具体来说,作者采用与CPE类似的子网络来编码预测的地图元素,产生一个嵌入
,它包含了实例的预测坐标和类别信息。随后,作者计算
与提示嵌入
之间的相关性,然后采用MLP生成拓扑矩阵。在推理过程中,根据它们之间的几何关系聚合车道线和车道组多边形,有助于生成连贯的车道组配置。
End-to-End Training
在训练阶段,对于每一帧,作者应用MapTR(宋等人,2019年)中的分层匹配方案来获得地图元素预测与 GT 值的配对,表示为