0. 简介

最近环视图像处理其实已经非常火了,最近地平线&华科则是提出了一种新的环视车道线地图提取工具。高清(HD)地图提供了驾驶场景丰富而精确的环境信息,是自动驾驶系统规划中基础且不可或缺的组成部分。《MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction》提出了一种用于高效在线矢量化HD地图构建的结构化端到端Transformer。通过统一的置换等价建模方法,即将地图元素建模为一个具有一组等价置换的点集,准确描述了地图元素的形状并稳定了学习过程。文中使用统一的置换等价建模方法,即将地图元素建模为一个具有一组等价置换的点集,准确描述了地图元素的形状并稳定了学习过程。相关的代码已经在Github上开源了。

1. 文章贡献

图1. MapTR在复杂和多样的驾驶场景中保持了稳定而强健的矢量化高清地图构建质量

本文的贡献可以总结如下:

  1. 我们提出了一种统一的置换等价建模方法,用于地图元素,即将地图元素建模为一个具有一组等价置换的点集,准确描述了地图元素的形状并稳定了学习过程。
  2. 基于这种创新的建模方法,我们提出了MapTR,一个用于高效在线矢量化高清地图构建的结构化端到端框架。我们设计了一种层次化查询嵌入方案,以灵活地编码实例级和点级信息,进行地图元素的层次双向匹配学习,并通过提出的点对点损失和边方向损失在点和边的级别上监督几何形状。
  3. MapTR是第一个在复杂和多样的驾驶场景中具有稳定而强健性能的实时和最先进的矢量化高清地图构建方法。

2. MAPTR置换等价建模

MapTR旨在以统一的方式对高清地图进行建模和学习。高清地图是由矢量化的静态地图元素组成,包括人行横道、车道分隔线、道路边界等。为了进行结构化建模,MapTR将地图元素几何地抽象为闭合形状(如人行横道)和开放形状(如车道分隔线)。通过沿着形状边界顺序采样点,闭合形状元素被离散化为多边形,而开放形状元素被离散化为折线。

一开始,多边形和折线都可以表示为有序点集V^F = [v_0, v_1, . . . , v_{N_v −1}](见图3(Vanilla))。N_v表示点的数量。然而,点集的排列没有明确定义,也不唯一。多边形和折线存在许多等价的排列方式。例如,如图2(a)所示,对于两条相对车道之间的车道分隔线(折线),很难定义其方向。车道分隔线的两个端点都可以视为起点,点集可以按两个方向进行组织。在图2(b)中,对于人行横道(多边形),点集可以按两个相反的方向(顺时针和逆时针)进行组织。而且,循环改变点集的排列对多边形的几何形状没有影响。对点集施加固定的排列作为监督是不合理的。这种固定的排列与其他等价的排列相矛盾,阻碍了学习过程。

图2. 用于说明地图元素关于起点和方向模糊性的典型案例。(a) 折线:对于两条相对车道之间的车道分隔线,定义其方向是困难的。车道分隔线的两个端点都可以被视为起点,并且点集可以按两个方向进行组织。(b) 多边形:对于人行横道,多边形的每个点都可以被视为起点,并且多边形可以按两个相反的方向(顺时针和逆时针)连接。

为了弥合这一差距,MapTR用V = (V, Γ)来对每个地图元素进行建模。V = {v_j}^{N_v −1}_{j=0}表示地图元素的点集(N_v是点的数量)。Γ = {γ^k}表示点集V的一组等价排列,覆盖了所有可能的组织顺序。

具体而言,对于折线元素(见图3(左)),Γ包括两种等价排列方式。

对于多边形元素(见图3(右)),Γ包括2 × N_v种等价排列方式。

通过引入等价排列的概念,MapTR以统一的方式对地图元素进行建模,并解决了模糊性问题。MapTR进一步引入了层次化的双向匹配(详见第3节和第4节)进行地图元素学习,并设计了一个结构化的编码器-解码器Transformer架构以高效预测地图元素(详见第5节)。

图3. MapTR的置换等价建模示意图。地图元素被几何地抽象化并离散化为折线和多边形。MapTR用(V, Γ)(一个点集V和一组等价排列Γ)来对每个地图元素进行建模,避免了模糊性并稳定了学习过程。

3. 层次匹配(重要内容)

MapTR在单次传递中并行推断一组固定大小的N个地图元素,遵循DETR(Carion等,2020; Fang等,2021)的端到端范例。N被设定为大于场景中地图元素的典型数量。我们用\hat{Y} = {\hat{y}_i}^{N −1}_{i=0} 表示N个预测地图元素的集合。将地面实况(GT)地图元素集合填充为具有大小N的集合,用Y = {y_i}^{N −1}_{i=0} 表示。其中,y_i = (c_i, V_i, Γ_i)c_iV_iΓ_i分别是GT地图元素y_i的目标类别标签、点集和排列组。\hat{y}_i = (\hat{p}_i, \hat{V}_i)\hat{p}_i\hat{V}_i分别是预测的分类得分和预测的点集。为了实现结构化的地图元素建模和学习,MapTR引入了层次化的双向匹配,即按照顺序进行实例级匹配和点级匹配

3.1 实例级匹配

首先,我们需要在预测的地图元素{\hat{y}_i}和GT地图元素{y_i}之间找到最优的实例级标签分配\hat{π}\hat{π}是N个元素的排列(\hat{π} ∈ Π_N ),具有最低的实例级匹配成本:

L_{ins_match}(\hat{y}_π(i),y_i)是预测\hat{y}π(i)和GT y_i之间的逐对匹配成本,它考虑了地图元素的类别标签和点集位置。

L_{Focal}(\hat{p}_π(i),c_i)是类别匹配成本项,定义为预测的分类得分|hat{p}_{π(i)}和目标类别标签c_i之间的Focal损失(Lin等,2017)。L_{position}(\hat{V}_{π(i)},V_i)是位置匹配成本项,反映了预测的点集\hat{V}_{π(i)}和GT点集V_i之间的位置相关性。使用匈牙利算法在DETR中寻找最优的实例级分配\hat{π}

3.2 点级匹配

在实例级匹配之后,每个预测的地图元素\hat{y}_{\hat{π}(i)}与一个GT地图元素y_i进行匹配。然后,对于每个被分配了正类别标签(c_i \neq ∅)的预测实例,我们进行点级匹配,以找到预测点集\hat{V}_{\hat{π}(i)}和GT点集V_i之间的最优点对点分配\hat{γ} ∈ Γ\hat{γ}从预定义的排列组Γ中选择,具有最低的点级匹配成本。

D_{Manhattan}(\hat{v}_j, v_{γ(j)})是预测点集\hat{V}的第j个点与GT点集V的第γ(j)个点之间的曼哈顿距离。

4. 训练损失

MapTR基于最优的实例级和点级分配(\hat{π}{\hat{γ}_i})进行训练。损失函数由三个部分组成,包括分类损失、点对点损失和边方向损失。

4.1 点对点损失

点对点损失用于监督每个预测点的位置。对于具有索引i的每个GT实例,根据点级最优匹配结果\hat{γ}_i,将每个预测点\hat{v}_{\hat{π}(i),j}分配给一个GTv_{i,\hat{γ}_i(j)}。点对点损失定义为计算每个配对点之间的曼哈顿距离:

4.2 边方向损失

点对点损失只对折线和多边形的节点进行监督,而不考虑边(相邻点之间的连接线)。为了准确表示地图元素,边的方向是重要的。因此,我们进一步设计了边方向损失,以监督更高层次上的几何形状。具体而言,我们考虑配对预测边\hat{e}_{\hat{π}(i),j}和GT边e_{i,\hat{γ}_i(j)}之间的余弦相似度:


图4. MapTR的整体架构。MapTR采用编码器-解码器范式。地图编码器将传感器输入转换为统一的BEV表示。地图解码器采用层次化查询嵌入方案来明确编码地图元素,并基于置换等价建模进行层次匹配。MapTR完全端到端。该流程具有高度结构化、紧凑和高效的特点。

5. 架构

MapTR采用了编码器-解码器的范式。整体架构如图4所示。

5.1 输入模态

MapTR以车载摄像头的全景图像作为输入。MapTR也兼容其他车载传感器(如激光雷达和雷达)。将MapTR扩展到多模态数据是直接而简单的。而且,由于合理的置换等价建模,即使仅有摄像头输入,MapTR在性能上也显著优于其他具有多模态输入的方法。

5.2 地图编码器

MapTR的地图编码器从多个车载摄像头的图像中提取特征,并将这些特征转换为统一的特征表示,即BEV(鸟瞰视图)表示。给定多视图图像I = {I_1, . . . , I_K},我们使用传统的骨干网络生成多视图特征图F = {F_1, . . . , F_K}。然后,2D图像特征F被转换为BEV特征B ∈ RH×W×C。默认情况下,我们采用GKT(Chen等,2022b)作为基本的2D到BEV转换模块,考虑到其易于部署的特性和高效性。MapTR与其他转换方法兼容并保持稳定的性能,例如CVT(Zhou和Kr ̈ahenb ̈uhl,2022)、LSS(Philion和Fidler,2020;Liu等,2022c;Li等,2022b;Huang等,2021)、可变形注意力(Li等,2022c;Zhu等,2021)和IPM(Mallot等,1991)。我们在表4中进行了消融研究。

地图解码器。我们提出了一种层次化的查询嵌入方案,以明确地对每个地图元素进行编码。具体而言,我们定义了一组实例级查询{q^{ins}_i}^{N−1}_{i=0}和一组点级查询{q^{pt}_j}^{Nv−1}_{j=0},这些查询对所有实例都共享。每个地图元素(索引为i)对应一组层次化查询{q^{hie}_{
ij}}^{Nv−1}_{j=0}
。第i个地图元素中第j个点的层次化查询定义如下:

地图解码器包含多个级联的解码器层,通过迭代更新层次化查询。在每个解码器层中,我们采用多头自注意力(MHSA)使层次化查询相互交换信息(实例间和实例内)。然后,我们采用可变形注意力(Deformable Attention)(Zhu等,2021)使层次化查询与BEV特征进行交互,受到BEVFormer的启发。每个查询qhie
ij预测参考点pij的2维归一化BEV坐标(x_{ij},y_{ij})。然后,我们在参考点周围对BEV特征进行采样并更新查询。地图元素通常具有不规则的形状,并且需要远程的上下文信息。每个地图元素对应一组灵活且动态分布的参考点{p_{ij}}^{Nv −1}_{j=0}。参考点{p_{ij}}^{Nv −1}_{j=0}可以适应地图元素的任意形状,并捕捉有关地图元素学习的信息上下文。

MapTR的预测头部很简单,包括一个分类分支和一个点回归分支。分类分支预测实例类别得分。点回归分支预测点集\hat{V}的位置。对于每个地图元素,它输出一个2N_v维的向量,表示N_v个点的归一化BEV坐标。

6. 参考链接

https://mp.weixin.qq.com/s/kqFVvny0hFd_TgfwpacFlA