当前位置:AIGC资讯 > AIGC > 正文

首次超过70% mAP!GeMap:局部高精地图SOTA再次刷新

本文经自动驾驶之心公众号授权转载,转载请联系出处。

写在前面&笔者的个人理解

实时根据传感器数据构建向量化高精地图对于预测和规划等下游任务至关重要,可以有效弥补离线高精地图实时性差的缺点。随着深度学习的发展,在线向量化高精地图构建逐渐兴起,代表性的工作如HDMapNet,MapTR等相继涌现。然而,现有的在线向量化高精地图构建方法缺乏对地图元素几何性质(包括元素的形状,垂直、平行等几何关系)的探索。

向量化高精地图的几何性质

向量化高精地图对道路上的元素进行了高度抽象,将每一个地图元素表示为二维点序列。而城市道路的设计具有特定的规范,例如,人行横道在多数情况下表现为方正的矩形平行四边形;在不涉及分流合流的路段,相邻的两条车道互相平行。高精地图中不同元素还具有许多类似的特点,这些常识性的规律,抽象为高精地图的几何性质,包括地图元素的形状(矩形、平行四边形、直线等),或者不同地图元素之间的关联(平行、垂直等)。几何性质强有力地约束着地图元素的表现形式,在线构建模型如果充分理解了几何性质,就能得到更精确的结果。

提出针对高精地图的几何表示的重要性

尽管理论上现有模型仍可能学到地图元素的几何性质,然而,几何性质的特点决定了至少在传统的设计下,模型并不容易学到。

  • 几何性质的不变性

中心车辆在道路上直线行驶,变道,或者转弯时,(在车辆坐标系下)地图元素的绝对坐标不断发生变化。而人行横道、车道、道路边界等的形状并不会随之改变;类似的,车道之间平行关系也不会改变。地图元素的几何性质是客观的,它的一个重要特点就是不变性。更具体的,是刚性不变性(对旋转、平移变换保持不变)。以往的工作,不论是使用朴素的折线表示,还是使用带控制点的多项式曲线(比如贝塞尔曲线、分段贝塞尔曲线),都基于绝对坐标,并在绝对坐标基础上端到端优化。基于绝对坐标的优化目标本身不具备刚性不变性,因此很难期待模型陷入的局部最优解包含对几何性质的理解。因此,一种能充分刻画几何性质且具有一定不变性的表示是必要的。

图1. 几何不变性的示例。

车辆右转时,绝对坐标会发生明显的变化。右图展示了一个对应的真实场景。

  • 几何性质的多样性

此外,尽管具有强烈的先验知识,道路的几何性质仍然是多样的。这些多样的几何性质总体上可以分为两大类,一类是关于单个地图元素的几何形状,一类是关于不同地图元素的几何关联。由于几何性质的多样性,穷举并人工地将几何性质转变为约束是不可能的,因此我们更希望模型能够端到端地自主学习多样的几何性质。

GeMap的设计

几何表示

针对上述两个问题,我们首先改进表示方法。我们希望在传统的基于绝对坐标的表示之外,引入一种良好的几何表示,它需要满足:

  • 能刻画地图元素的形状
  • 能刻画地图元素之间的关联
  • 刚性不变性

为保证平移不变性,我们使用了相对量,即点之间的偏移向量;为进一步保证旋转不变性,我们选择了偏移向量的长度,以及不同偏移向量之间的夹角。这二者——长度和夹角——构成了我们提出的几何表示的基础。此外,为了更好地区分并刻画形状、关联两类不同的几何性质,我们还按照从简的原则进一步细化了设计:

为刻画形状,我们计算单个地图元素中相邻点之间的偏移向量,并计算偏移向量长度、相邻偏移向量之间的夹角。这一表示能够唯一确定任意的折线/多边形。两个形象的例子如下图所示:

图2. 几何形状表示。

对于一个矩形,使用一个直角和两对相等的边就可以描述;对于一条直线,所有的夹角均为0度或者180。

为刻画关联,类似地,我们首先考虑了任意两点之间的距离。然而,如果对所有点对点的偏移向量两两计算夹角,表示的复杂度过高,且计算代价不可承受。具体地,假设一共有个地图元素,每个元素使用个个点来表示,那么所有夹角的数据量将达到(取1000时,假设每一个角度数据都是32位浮点数,这样的表示仅占据的空间将达到TB级别)。事实上,对于一般的垂直、平行等关系来说这不是必要的。因此,我们先计算元素内部的偏移,然后仅对这些偏移计算两两之间的夹角作为几何表示的一部分。这种简化的关联表示保留了对平行、垂直等关系的描述能力,同时所对应的数据量仅为(前述条件下,大致4MB)。为了便于理解,我们同样提供了一些例子:

图3. 几何关联表示。

平行关系和垂直关系表现为偏移向量的夹角为0度或者90度;两点之间的距离可以一定程度反映车道宽度信息

为优化几何形状和关联的表示,我们采用最朴素的做法,直接计算预测和标签的几何表示,然后用范数作为优化目标

这里和分别表示根据标签计算得到的长度和夹角,和则表示根据预测计算得到的长度和夹角。在处理夹角时使用了一个技巧:直接计算角度涉及到不连续的arctan函数,在优化时会遇到困难(在±90度附近存在梯度消失的问题),因此我们实际上比较的是夹角的余弦和正弦值:

几何表示的基础是角度和距离,因此我们形象地将对应的几何损失称为”欧几里得损失“,也代表着这一损失对于旋转和平移变换的鲁棒性。

几何解耦注意力

一种被MapTR,PivotNet等采用的架构将地图元素上的每一个点对应到Transformer的一个查询。这一架构的问题在于:对两大类的几何性质不加区分。

在自注意力中,所有查询(也就是“点”)之间都平等地相互作用。然而,地图元素的形状对应着一组一组的查询。这些组之间的交互,在感知元素形状时就成为了累赘。反之在感知元素之间关联的时候,形状亦成为了冗余因素。这意味着将形状、关联的感知解耦,可能带来更好的结果

为了解耦对几何形状和关联处理,我们将自注意力分成两个步骤进行:

  • 每个地图元素包括个查询,在这个查询内部进行注意力,用以处理几何形状
  • 补充跨元素的注意力关系,用以处理几何关联

几何解耦的注意力更形象的表示如下图所示。我们的实现方式比较朴素,直接使用mask控制注意力的范围。事实上,由于这两种注意力是互补的,合理地实现有可能让时间复杂度等同于进行单次自注意力。

图4. 几何解耦注意力。

左侧为单个元素内部进行的形状注意力,右侧为元素之间进行的关联注意力。

实验结果

我们在nuScenes和Argoverse 2两个数据集上进行了大量实验。二者都是常用的大规模自动驾驶数据集,且都提供了地图标注。

主要结果

在nuScenes上,我们进行了三组实验。我们首先使用了一种比较纯粹的目标函数组合,只包括几何损失和其它必要的损失(如点到点距离、边的方向、分类),这一组合是为了体现我们提出的几何性质的重要价值,而不过多追求SOTA的结果。可以看到,在这种情况下,相比于MapTR,我们的方法能在mAP提升了。为了探索GeMap的极限,我们也加上了一些辅助目标,包括分割和深度估计,在这种情况下我们也取得了SOTA的结果(mAP提升)。值得注意的是,取得这样的提升并不需要牺牲太多的推理速度。最后,我们还尝试了引入额外的LiDAR模态输入,在额外模态输入的加持下,GeMap的性能也能取得进一步提升。

同样,在Argoverse 2数据集上,我们的方法也取得了非常突出的效果。

消融实验

在nuScenes上进一步进行的消融实验证明了几何损失和几何解耦注意力的价值。有趣的是,正如我们所预料的,直接使用几何损失反而会带来模型表现的下降。我们认为这是因为结构上的对形状和关联处理的耦合,导致模型很难优化几何表示;而在与几何解耦注意力结合之后,几何损失就发挥了应有的作用(从”+Euclidean Loss“到”Full“)。

更多结果

此外,我们还在nuScenes上进行了可视化分析。可视化的结果表明,GeMap除了具有对旋转和平移的鲁棒性,在处理遮挡问题上也表现出了一定优势,如下图。图中有挑战性的地图元素使用橘色方框标出。

图5. 可视化对比结果。

关于对遮挡的鲁棒性,在雨天的实验结果中(见下表”“)也得到了定量验证(因为雨水对相机有天然的遮挡):

这可以解释为模型学到了几何性质,因此即使有遮挡,也能更好地猜出地图元素。例如,模型理解了车道线的形状,那么只需要”看到“一部分,就能够估计剩下的部分;模型理解了车道线之间的平行关系,或者车道的宽度特点,因此哪怕其中一条被遮挡,也能根据平行、宽度因素猜测被遮挡的部分。

总结

我们指出了地图元素所具有的几何性质,以及其对于在线向量化高精地图构建的价值。基于此,我们提出了一种强有力的方法,初步对这一价值进行了验证。此外,GeMap表现出的对遮挡的鲁棒性,或许预示着在其它自动驾驶任务(例如检测、占有预测等)中利用几何性质处理遮挡的思路——因为车辆和道路都具有相对规范的几何性质。当然,我们的方法本身也有很多可以进一步探索的地方。比如不同复杂度的几何元素是否可以适应性地使用不同的点来描述?是否能从概率的角度出发理解几何表示,让其对噪音更具鲁棒性?因为我们对于元素关联进行了简化,那么是否存在更好的几何关联的表示方法?这些都是进一步优化的方向。

原文链接:https://mp.weixin.qq.com/s/BoxlskT68Kjb07mfwQ7Swg

更新时间 2023-12-13