本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面&笔者的个人理解
大家好,很开心能够受邀来到自动驾驶之心分享我们的在线重建矢量化高精度地图的抗扰动方法ADMap。我们的代码已经发布在https://github.com/hht1996ok/ADMap
在自动驾驶领域,在线高清地图重建对于规划和预测任务具有重要意义,近期的工作构建了许多高性能的高清地图重建模型来满足这一需求。然而矢量化实例内部的点序由于预测偏差可能会出现抖动或锯齿现象,从而影响后续任务。因此,我们提出了Anti-Disturbance Map reconstruction framework(ADMap)。本文希望兼顾模型速度和整体的精度,并且在部署时不会让工程师们感到困扰。因此,提出了三个高效且有效的模块:Multi-Scale Perception Neck(MPN)、Instance Interactive Attention(IIA)和Vector Direction Difference Loss(VDDL)。通过级联的探索实例间和实例内部的点序关系,我们的模型更好地监督了点序的预测过程。
我们在nuScenes和Argoverse2中验证了ADMap的有效性。实现结果表明,其在各基准中均取得最佳性能。nuScenes基准中,ADMap在camera-only框架下和多模态框架下的mAP相较基准分别提高4.2%和5.5%。ADMapv2不仅减少了推理延迟,还有效提高了基线性能,其最高mAP达到了82.8%。在Argoverse中ADMapv2的mAP提高为62.9%,同时还保持了14.8FPS。
总结来说,我们提出的ADMap主要有以下几点贡献:
- 提出了端到端的ADMap,重建了更稳定的矢量化高精地图。
- MPN在不增加推理资源的情况下更好的捕捉了多尺度信息,IIA完成了实例间和实例内部的有效交互,使点级特征更准确,VDDL更细致的约束了点序重建过程,在点序的几何关系上进行监督。
- ADMap实现了矢量化高精地图的实时重建,并且在nuScenes基准和Argoverse2中达到了最高精度。
方法提出
如图1所示,实例中的预测点往往会不可避免的出现抖动或偏移现象,这种抖动会导致重建后的实例矢量变得不平滑或锯齿状,严重影响了在线高精地图的质量和实用性。我们认为,其原因在于现有模型并未充分考虑实例间和实例内部的交互方式,实例点与地图拓扑信息不完全的交互会导致其预测位置的不准。此外仅通过L1 loss和cosine embedding loss等监督无法有效的利用几何关系来约束实例点的预测过程,网络需要利用各点间的矢量线段来精细捕捉点序的方向信息以更准确的约束每个点的预测过程。
为了缓解以上问题,我们创新的提出了Anti-Disturbance Map reconstruction framework(ADMap),实现了矢量化高精地图的实时稳定重建。
方法设计
如图2所示,ADMap通过多尺度感知颈(Multi-Scale Perception Neck,MPN)、实例交互注意力(Instance Interactive Attention,IIA)和矢量方向差损失(Vector Direction Difference Loss,VDDL)来更精细地预测点序拓扑结构。下面将分别介绍MPN、IIA以及VDDL。
Multi-Scale Perception Neck
为了使网络可以获取更为细致的BEV特征,我们提出了Multi-Scale Perception Neck(MPN),其输入为融合后的BEV特征,。经过下采样后的各层级BEV特征会各自连接一个上采样层使特征图恢复原来的尺寸,最终各层级特征图合并为多尺度BEV特征。
如图2中的虚线代表该步骤仅在训练时实施,实线代表训练和推理过程都会实施该步骤。在训练过程中,多尺度BEV特征图和每一层级的BEV特征图都会被送入Transformer Decoder,这使网络可以在不同尺度预测场景的实例信息以捕捉更精细的多尺寸特征。而在推理过程中,MPN仅保留多尺度BEV特征,不会输出各层级特征图,这保证了该neck在推理时的资源占用不变。
Transformer Decoder
Transformer Decoder中定义了一组实例级别的查询和一组点级别的查询,随后将点级别查询共享到所有实例中,这些分层查询被定义为:
解码器包含几个级联的解码层,这些层迭代地更新分层查询。在各解码层中,分层查询被输入到自注意力机制中,这使得分层查询间可以相互交换信息,Deformable Attention被用来交互分层查询和多尺度BEV特征。
Instance Interactive Attention
为了在解码阶段更好的获取各实例特征,我们提出了Instance Interactive Attention(IIA),其由Instances self-attention和Points self-attention组成。不同于MapTRv2并行提取实例级和点级别的嵌入,IIA级联地提取了查询嵌入。实例嵌入间的特征交互进一步帮助了网络学习点级嵌入间的关系。
如图3所示,Deformable cross-attention输出的分层嵌入被输入到Instances self-attention。将点维度与通道维度合并后维度变换为。随后,分层嵌入接入由多个MLP组成的Embed Layer中获得实例查询,该查询被放入Multi-head self-attention中来捕捉实例间的拓扑关系,得到实例嵌入。为了在点级嵌入中融入实例级别信息,我们将实例嵌入和分层嵌入相加。相加后的特征被输入至Point self-attention中,对各实例内的点特征进行交互,进一步精细关联了点序间的拓扑关系。
Vector Direction Difference Loss
高精地图中包含了矢量化的静态地图元素,包括车道线、路沿和人行横道等。ADMap针对这些开放形状(车道线、路沿)和封闭形状(人行横道)提出了Vector Direction Difference Loss。我们建模了实例内部的点序矢量方向,通过预测矢量方向和真实矢量方向的差值可以更细致的监督点的方向。此外,真实矢量方向差较大的点被认为代表了部分场景拓扑的剧烈变化(更不容易预测),更加需要被模型关注。因此,真实矢量方向差较大的点被赋予了更大的权重,以保证网络可以准确预测到这个剧烈变化的点。
图4展示了预测点序{ 和真实点序{ 中对预测矢量线{ 和真实矢量线{ 的初始建模。为了保证相反的角度不会得到相同的损失,我们计算矢量线角度差余弦值θ':
其中函数累加了矢量线的坐标位置,代表归一化操作。我们利用真实实例中各点的矢量角度差来为它们赋予不同大小的权重。权重定义如下:
其中代表实例中点的数量,函数代表底数为e的指数函数。由于首尾两点无法计算矢量角度差,因此我们将首尾点的权重设置为1。当真实值中的矢量角度差变大时,我们赋予该点更大的权重,这使得网络更为关注显著变化的地图拓扑结构。点序中各点的角度差损失定义为:
我们使用θ将损失值的区间调整为[0.0, 2.0]。通过将各点的相邻矢量线角度差余弦相加,该损失更全面的涵盖了各点的几何拓扑信息。由于首尾两点仅有一根相邻矢量线,因此首尾两点的损失为单个矢量角度差的余弦值。
实验
为了公平的评估,我们将地图元素分为车道线、道路边界和人行横道三种。采用平均精度(AP)来评估地图构建的质量,使用预测点序和真实点序的chamfer距离之和来判断两者是否匹配。Chamfer距离阈值设置为[0.5, 1.0, 1.5],我们分别在这三种阈值下计算AP,并将平均值作为最终指标。
对比实验
表1报告了ADMap和最先进方法在nuScenes数据集的指标。在camera-only框架下,ADMap的mAP相较于baseline(MapTR)提高了5.5%,ADMapv2相较于baseline(MapTRv2)提高了1.4%。ADMapv2最高mAP达到82.8%,取得当前基准中最佳性能,部分细节会在后续arxiv版本中公布。在速度方面,ADMap相较于其baseline在FPS略微降低的情况下显著提高模型性能。值得一提的是,ADMapv2不仅提高了性能,在模型推理速度方面也有提升。
表2报告了ADMap和最先进方法在Argoverse2中的指标。在camera-only框架下,ADMap和ADMapv2相较于baseline分别提高了3.4%和1.3%。在多模态框架下,ADMap和ADMapv2达到了最佳性能,mAP分别为75.2%和76.9%。在速度方面。ADMapv2相较于MapTRv2提升了11.4ms。
消融实验
在表 3 中,我们提供了在 nuScenes 基准上ADMap各个模块的消融实验。
表4给出了插入不同注意力机制对于最终性能的影响。DSA表示decoupled self-attention,IIA表示实例交互注意力。结果表示IIA相较于DSA,mAP提高1.3%。
表5报告了在融合特征后增加backbone和neck层对mAP的影响。增加基于SECOND的backbone和neck层后,mAP提高了1.2%。而增加MPN后,在不增加推理时间的前提下,模型的mAP提高了2.0%。
表6报告了在nuScenes基准中增加VDDL对性能的影响。可以看到,当权重设置为1.0时,mAP最高,达到了53.3%。
表7报告了在nuScenes基准中,MPN下采样层数对最终性能的影响。下采样层数越多,模型推理速度越慢。因此,为了平衡速度和性能,我们设置了下采样层数为2。
为了验证ADMap有效缓解了点序扰动问题,我们提出了average chamfer distance(ACE)。我们挑选了chamfer distance之和小于1.5的预测实例,并计算它们的average chamfer distance(ACE)。当ACE越小代表实例点序预测的越准确。表8证明了ADMap可以有效缓解点云扰动这一问题。
可视化结果
下面两幅图为nuScenes数据集和Argoverse2数据集中的可视化结果。
总结
ADMap是一个高效且有效的矢量化高精地图重建框架,其有效缓解了实例矢量的点序由于预测偏差可能会出现的抖动或锯齿现象。大量实验表明,我们提出的方法在nuScenes和Argoverse2基准上均取得最佳性能。我们相信ADMap协助推进矢量高精地图重建任务的研究,从而更好地推动自动驾驶等领域的发展。
来源:https://mp.weixin.qq.com/s/gvwJiZvHJVVZeLCWmDF7dw