写在前面 && 笔者理解
感知和理解道路地图元素是在自动驾驶业务中十分重要。高清(HD)地图提供了道路元素的类别和几何信息,使自动驾驶车辆能够保持车道位置、预测交叉口并规划最佳路线以降低潜在风险。然而,构建HD地图需要大量的人力来注释和更新,这限制了自动驾驶技术在大范围的可扩展性。
论文链接:https://arxiv.org/pdf/2410.07733v1
所以,最近有很多研究研究,用基于学习的方法从车载传感器中
在线构建HD地图
。这些方法根据表征方式的不同,主要可分为两类:基于光栅地图的表示方法(e.g., BEVFormer)和基于矢量地图的表示方法(e.g., MapTR系列)。基于光栅地图的方法通常需要复杂的后处理以满足下游模块的需求,这个过程可能导致次优结果,毕竟这些结果并非完全端到端优化。因此,越来越多人关注使用矢量表示的端到端地图构建方法。
该类方法通常采用鸟瞰图(BEV)空间进行端到端感知,有效地整合了各种传感器信息。较为先进的方法通常采用类似DETR的架构:编码器最初将多传感器信息提取到BEV表示,而解码器随后通过查询解码每个道路元素的类别和几何信息。这些方法实现了输出地图元素的端到端矢量化表示,省去了光栅地图表示中涉及的复杂后处理步骤的需求。
SOTA方法使用点级查询或实例级查询来生成地图元素。点级查询擅长描述道路元素的几何位置。例如,在MapTR中,一种排列等价的点表达准确地表示了地图元素的位置信息,确保了稳定的训练过程。MapTRv2通过引入one2many训练策略和解耦的自注意力操作进一步增强了感知精度。然而,这些方法可能缺乏对地图元素的整体描述,导致在表示车道关系方面的不足。例如,MapTRv2可能会错过远距离和合并场景中的车道线,如图1中紫色椭圆区域所示。
虽然实例级查询擅长捕获道路元素的整体类别信息,但它们可能难以准确表示几何细节,尤其是对于不规则或细长的地图元素。例如,在StreamMapNet中,提出了一种多点注意力机制来捕获道路元素的整体信息,允许在保持计算效率的同时进行更长的注意力范围。然而,这种方法可能在准确感知不规则或细长元素的几何形状方面遇到困难,导致局部扰动。图1中的绿色框突出了从实例级查询获得的不准确点坐标的问题,其中地图元素虽然被检测到,但其位置精度受到影响。
为了同时结合细粒度的局部位置和粗粒度的全局分类信息,作者提出了一个简单的框架,称为MGMapNet,它通过多粒度查询来表示地图元素。在每个解码器层中,通过使用多粒度聚合器查询多尺度鸟瞰图(BEV)特征,同时计算点级查询和实例级查询。随后,设计了点实例交互模块,包括点对点注意力和点对实例注意力,以增强固有关系。最终,使用点粒度查询来定位点坐标,而实例粒度查询用于确定地图元素的类别。
作者的主要贡献可以总结如下:
-
作者提出了一种鲁棒的多粒度表示,通过在一个框架中使用粗粒度实例级和细粒度点级查询,实现了矢量高清地图的端到端构建。
-
多粒度聚合器结合点实例交互,促进了点级和实例级查询之间的有效交互,有效地交换了类别和几何信息。
-
作者将几种策略优化纳入训练中,使其提出的MGMapNet在nuScenes和Argoverse2数据集上都实现了最先进的(SOTA)单帧性能。
相关工作
在线高清地图构建
上面笔者也提到,目前,高清地图构建可以分为两种类型:基于光栅地图的方法和基于矢量地图的方法。光栅方法,如HDMapNet,使用BEV特征进行语义分割,然后通过后处理步骤获得矢量化地图实例。同样,BEVLaneDet输出每个网格的置信度分数、聚类嵌入、y轴偏移和平均高度。虽然光栅地图可以提供详细的道路信息,但后处理的需求限制了它们的应用。随着基于矢量的DETR类端到端方法的出现,消除了后处理的需求。VectorMapNet是第一个利用变换器的端到端地图重建模型。MapTR和MapTRv2引入了一种新颖且统一的地图元素建模方法,解决了歧义并确保了稳定的学习过程。PivotNet采用统一的、基于支点的表示方法,并被构建为直接的集合预测范式。
车道检测
车道检测可以被视为高清地图构建的一个子任务,专注于在道路场景中检测车道元素。当前的一些方法主要从单一透视图(PV)图像中进行车道检测,大多数车道检测数据集仅提供单一视角的注释。LaneATT提出了一种新颖的基于锚点的注意力机制,该机制聚合了全局信息。与车道检测不同,矢量化高清地图构建涉及车辆感知范围内更复杂的地图元素,包括车道标记、路缘和人行道。
论文方法
总体架构
MGMapNet的总体网络架构如图2(a)所示。与其他基于DETR的端到端高清地图构建模型类似,MGMapNet包括一个BEV特征编码器,负责从透视图图像中提取多尺度BEV特征,以及一个变换器解码器,它堆叠了多层多粒度注意力来生成地图元素的预测。每一层的预测都包含了感知范围内的类别和几何信息。
BEV特征编码器
模型以多视角RGB图像为输入,将它们表达为用于后续变换器解码器的统一感知BEV特征表示。BEV特征表示为
。考虑到地图元素的不同长度,仅依赖单尺度BEV特征无法满足检测不同长度所有元素的要求。因此,作者采用下采样模块来降低BEV特征
的空间分辨率一半,生成
。更多的尺度可能是有益的,但作者发现两个尺度已经足够。
表示多尺度BEV特征,通过连接
和
的扁平化张量获得。
解码器
解码器有
层。每一层由自注意力、多粒度注意力和前馈网络组成,如图2(b)所示。多粒度注意力由两个组件组成:多粒度聚合器和点实例交互。实例级查询通过可学习参数初始化,这些参数通过在BEV特征上查询进行更新,点查询是通过聚合BEV特征动态生成的。之后,采用点实例交互来执行局部几何信息和全局类别信息之间的相互交互。
多粒度注意力
如图2(b)所示,多粒度注意力包含两个主要组件:多粒度聚合器(Multi-Granularity Aggregator)和点实例交互(Point Instance Interaction)。
多粒度聚合器
在多粒度聚合器中,实例级查询与多尺度BEV特征交互并生成点级查询。作者通过为每个查询引入多个参考点来改进多头可变形注意力,以从多尺度BEV特征中聚合长距离特征。
具体来说,多粒度聚合器的输入包括第一层中的实例级查询
,以及后续层中的点级查询
和参考点
。
是实例级查询的总数,
是属于一个实例的点的总数。注意,第一层中的参考点是由
预测的,后续层中的参考点是由前一层的参考点以下面方程的形式更新的。
由于一个实例被表示为点序列,位置编码被添加到实例级查询中。给定参考点
的位置,作者使用
生成位置编码
:
作者为每个参考点分配
个采样点,其中聚合了来自这些点的特征以增强参考点的特征。采样点相对于参考点的位置偏移
和相关权重
通过结合实例级查询
和
计算如下:
其中
相应地扩展以匹配
的形状。通过使用采样偏移和参考点,采样位置
通过添加
和
进行更新。
随后,
和
通过采样特征的加权和生成:
其中
是实例上的
个点的索引,
是分配给参考点的
个采样点中的索引,
分别表示
,
的
的softmax归一化权重,sampling表示双线性采样操作符。
通过多粒度聚合器,
和
从多尺度BEV特征中生成,捕获每个地图元素的全局和局部信息。与StreamMapNet中提出的多点注意力相比,作者的方法通过采样点直接从多尺度BEV特征中聚合点级查询,提高了预测几何点的精度。此外,与MapTR和MapTRv2等仅使用点级表示的方法相比,作者的模型通过采样点特征更新了实例级查询,有效地捕获了道路元素的整体类别和形状信息。
点实例交互
点实例交互旨在增强两种不同粒度查询之间的位置和类别信息交互。如图2(c)所示,点实例交互包括两个不同的注意力操作符:P2P(点对点)注意力和P2I(点对实例)注意力。
同时,从第
层的多粒度聚合器获得的采样位置
和注意力权重
被展平和连接以编码P2P注意力和P2I注意力中的位置信息:
其中
和
分别是实例级查询和点级查询的多层感知机(MLP)。
是相应生成的位置嵌入。
P2P注意力
由于地图元素的坐标是基于前一层多粒度注意力层中的点级查询进行细化的,因此这些点级查询在预测当前层的坐标中起着关键作用。因此,P2P注意力模块被设计为包括当前第l层和前一层(l−1)层的点级查询作为注意力层的输入。正式地:
值得注意的是,由于第一层多粒度注意力层没有前一层,自注意力操作仅在当前点级查询中进行。在后续多粒度注意力层的P2P注意力中,先前的点级查询
和当前生成的点级查询
在P2P注意力之前混合。
P2I注意力
在P2P注意力之后,P2I注意力操作实现了不同粒度之间的信息交互。点级查询通过交叉注意力与实例级查询交换几何信息:
最终,属于同一实例级查询的点级查询被聚合以更新相应的实例级查询如下:
其中
代表
的索引。
输出
最终,点粒度查询用于通过MLP作为回归头来预测点位置,而实例粒度查询用于使用另一个MLP来预测地图元素的类别。总之,通过利用多粒度聚合器和点实例交互,多粒度查询被生成和更新。同时,每个地图元素的几何形状和类别可以被有效地感知。
实验结果
实验设置
实验在 nuScenes 和 Argoverse2 做训练和测试
评估指标
与MapTR一致,作者采用了基于Chamfer距离的广泛接受的均值平均精度(mAP)指标,这是高清地图构建任务中常用的度量。评估阈值设置为0.5m、1.0m和1.5m。
辅助损失
作者结合了MapTRv2中的点损失
、分类损失
、边缘方向损失
和密集预测损失
。此外,作者引入了新的辅助损失
,包括实例分割损失
和参考点损失
,以进一步提高性能。
为了提高多粒度聚合器内采样位置的精度,作者添加了参考点损失