Paper Reading-----MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction

PAPER LINK

        MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction

ABSTRACT

        【背景】高精地图提供了丰富而精确的驾驶场景环境信息,是自动驾驶系统规划中必不可少的基础组成部分。【方案】我们提出了MapTR,一个结构化的端到端转换器,用于高效的在线向量化HD地图(矢量HD地图)构建。【核心要点】我们提出了一种统一的排列等效建模方法(a unified permutation-equivalent modeling approach),即将地图元素建模为具有一组等效排列的点集准确地描述了地图元素的形状,稳定了学习过程。设计了一种灵活编码的**分层查询嵌入方案(a hierarchical query embedding scheme)结构化地图信息,对地图进行分层二部匹配(hierarchical bipartite matching)元素的学习。【评测结果】在只有相机输入nuScenes数据集上,对比现有的矢量化地图构造方法,MapTR实现了最佳的性能和效率。特别是,MapTR-nano以实时推理速度运行(25:1 FPS)在RTX 3090,比现有的最先进的相机快8倍方法,同时实现5:0更高的mAP。即使与现有的最先进的多模态方法相比,MapTR-nano也达到了0:7更高的mAP,并且MapTR-tiny的mAP提高了13:5,推理速度提高了3倍。大量的定性结果(qualitative results)**表明,MapTR在复杂多样的驾驶场景下保持了稳定、鲁棒的地图构建质量。MapTR在自动驾驶领域具有重要的应用价值。代码和更多演示可以查阅github

1. INTRODUCTION

         高精地图(High-definition map) 是专为自动驾驶设计的高精度地图,由地图元素(人行横道、车道分隔线、道路边界等)的 实例级向量化(instance-level vectorized representation) 表示组成。高清地图包含丰富的道路拓扑和交通规则语义信息,对自动驾驶汽车导航至关重要。
        传统的高精地图是通过基于slam的方法 离线构建 的(Zhang & Singh, 2014; Shan & Englot, 2018;Shan et al., 2020),管道复杂,维护成本高。近年来, 在线高精地图构建 受到越来越多的关注,它利用车载传感器在运行时围绕自我车辆构建地图,摆脱了离线的人工工作。
        早期工作(Chen et al., 2022a;Liu et al., 2021a;Can等人,2021) 利用 线形先验 来基于前视图图像感知开放式车道。它们局限于单视角感知,无法处理其他任意形状的地图元素。随着 鸟瞰(BEV)表示学习 的发展,最近的工作(Chen等人,2022b;Zhou & Krahenb¨uhl¨,2022;Hu等人,2021;Li等人,2022c)通过执行BEV语义分割来预测栅格化地图(rasterized map)。然而,栅格化地图缺乏向量化的实例级信息,例如车道结构,这对下游任务(例如,运动预测和规划)很重要。为了构建矢量化高精地图,HDMapNet (Li et al., 2022a)对像素分割结果进行分组,这需要复杂且耗时的后处理。VectorMapNet (Liu et al., 2022a)将每个地图元素表示为一个点序列。它采用了级联的粗到细框架,利用自回归解码器对点进行顺序预测,推理时间较长。
        现有的在线矢量化高清地图构建方法受到效率的限制,不适用于实时场景。最近,DETR (Carion et al., 2020)采用了一种简单高效的编码器-解码器Transformer架构,实现了端到端对象检测。
        我们很自然地会问这样一个问题:我们能否设计一个类似DETR的高效端到端矢量化高清地图构建范式? 我们用我们提出的Map TRansformer (MapTR)来证明答案是肯定的。
        与物体检测中物体可以简单地几何抽象为边界框不同,矢量化地图元素具有更动态的形状。为了准确描述地图元素,提出了一种新的统一建模方法。我们将每个地图元素建模为具有一组等效排列的点集。点集决定地图元素的位置。排列组包含了点集对应于相同几何形状的所有可能的组织序列,避免了形状的模糊性【the ambiguity of shape】。
        在排列等效建模的基础上,设计了以车载摄像头图像为输入,输出矢量化高精地图的结构化框架。我们将在线矢量化高精地图构建简化【streamline】为并行回归问题【a parallel regression problem】。为了灵活地编码实例级点级信息,提出了分层查询嵌入 【hierarchical query embeddings】方法。使用统一的Transformer结构同时预测所有实例和实例的所有点。训练流程被表述为一个分层集【a hierarchical set】预测任务,其中我们执行分层二部匹配【hierarchical
bipartite matching 】来依次分配实例和点。利用所提出的点向损失【 point2point loss】边向损失【 edge direction loss】 对点和边两级的几何形状【geometrical shape】 进行监督。
        基于所有提出的设计,我们提出了MapTR,一种高效的端到端在线矢量化高清地图构建方法,具有统一的建模和架构。MapTR在nuScenes (Caesar et al., 2020)数据集上实现了现有矢量化地图构建方法中最佳的性能和效率。特别是,MapTR-nano在RTX 3090上以25.1 FPS的实时推断速度运行,比现有的最先进的基于相机的方法快8倍,同时实现5.0的mAP。即使与现有最先进的多模态方法相比,MapTR-nano的mAP提高了0:7,推理速度提高了8倍,MapTR-tiny的mAP提高了13:5,推理速度提高了3倍更快的推理速度。如图1所示,在复杂多样的驾驶场景中,MapTR地图构建质量稳定且稳健。
在这里插入图片描述
        我们的贡献可归纳如下:

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

2. RELATED WORK

2.1. HD Map Construction.

        最近,随着2D-to-BEV方法的发展(Ma et al., 2022),高j精地图的构建被制定为基于车载摄像头捕获的环绕视图数据的分割问题。Chen et al. (2022b);《周与克拉亨布¨uhl¨》(2022);Hu et al. (2021);Li et al. (2022c);Philion & Fidler (2020);Liu等(2022b)通过执行BEV语义分割生成栅格化地图。为了构建向量化高清地图,HDMapNet (Li等人,2022a)将像素级语义分割结果与启发式和耗时的后处理进行分组,以生成实例。VectorMapNet (Liu et al., 2022a)是第一个端到端框架,采用两阶段粗到细框架,利用自回归解码器对点进行顺序预测,导致推理时间长,排列模糊。与VectorMapNet不同,MapTR对地图元素进行了新颖统一的建模,解决了模糊问题,稳定了学习过程。MapTR以更高的效率构建了一个结构化的并行的一级框架。

2.2. Lane Detection.

        车道检测可以看作是高精地图构建的一个子任务,主要是检测道路场景中的车道元素。由于大多数车道检测数据集只提供单视图注释,且主要关注开放形状元素,因此相关方法仅限于单视图。LaneATT (Tabelini et al., 2021)利用基于锚点的深车道检测模型在精度和效率之间实现了良好的平衡。LSTR (Liu et al., 2021a)采用Transformer架构直接输出车道形状模型的参数。GANet (Wang et al., 2022)将车道检测制定为关键点估计和关联问题,并采用自底向上的设计。Feng等人(2022)提出了基于参数Bezier曲线的车道检测方法。Garnett等人(2019)提出了3D- lanenet,在BEV中执行3D车道检测,而不是在2D图像坐标中检测车道。STSU (Can et al., 2021)将车道表示为BEV坐标中的有向图,并采用基于曲线的Bezier方法从单目摄像机图像中预测车道。performer (Chen et al., 2022a)提供了更好的BEV特征表示,并优化锚点设计,以同时统一2D和3D车道检测。MapTR可以感知360◦水平FOV的各种地图元素,具有统一的建模和学习框架,而不仅仅是在有限的单个视图中检测车道。

2.3. Contour-based Instance Segmentation.

        与MapTR相关的另一项工作是基于轮廓的二维实例分割(Zhu等人,2022;谢等,2020;Xu等,2019;Liu等,2021c) 定义为目标轮廓预测任务,并估计轮廓顶点的图像坐标。CurveGCN (Ling等人,2019)利用图卷积网络来预测多边形边界。Lazarow等人(2022);Liang et al. (2020);Li et al. (2021);Peng et al.(2020)依赖于中间表示,采用两阶段范式,即第一阶段进行分割/检测以生成顶点,第二阶段将顶点转换为多边形。这些工作将二维实例蒙版的轮廓建模为多边形。它们的建模方法不能处理线形地图元素,不适用于地图构建。不同的是,MapTR是为高精地图构建量身定制的,并对各种地图元素进行统一建模。此外,MapTR不依赖于中间表示,具有高效而紧凑的流程

3. MAPTR

3.1. PERMUTATION-EQUIVALENT MODELING

        MapTR的目的是对高精地图进行统一建模和学习【如何才能做到统一?】。高精地图是矢量化静态地图元素的集合,包括人行横道、分道线、道路边界等。对于结构化建模,MapTR在几何上将地图元素抽象为封闭形状(如人行横道)和开放形状(如车道分割线)。通过沿形状边界依次采样点,将闭形状单元离散为多边形,开形状单元离散为折线。
        初步地,多边形【polygon】折线【polyline】都可以表示为一个有序点集 V F = [ v 0 , v 1 , . . . , v N v − 1 ] V^F=[v_0,v_1,...,v_{N_v-1}] VF=[v0,v1,...,vNv1] (see Fig. 3 (Vanilla))。 N v N_v Nv表示点数。然而,点集的排列没有明确定义,也不是唯一的。多边形和折线存在许多等价排列。例如,如图2 (a)所示,对于两个相对车道之间的车道分割线(折线),很难确定其方向。车道分配器的两个端点都可以看作起点,点集可以在两个方向上组织。在图2 (b)中,对于人行横道(多边形),点集可以按照逆时针和顺时针两个相反的方向组织。循环改变点集的排列对多边形的几何形状没有影响。将一个固定的排列强加于点集作为监督是不合理的。强加的固定排列与其他等价排列相矛盾,阻碍了学习过程。【对于一个地图元素的外轮廓多边形,多变形点链的起点在什么位置无所谓】
在这里插入图片描述
        为了弥补这一差距,MapTR用 V = ( V , Γ ) \mathcal{V} = (V, \Gamma) V=(V,Γ), V = { v j } j = 0 N v − 1 V = \{v_j\}^{N_v-1}_{j=0} V={vj}j=0Nv1 表示地图元素的点集( N v N_v Nv 为点的个数)。 Γ = γ k \Gamma={\gamma^k} Γ=γk 表示点集 V V V 的一组等价排列,涵盖了所有可能的组织序列。具体而言,对于折线元(图3(左)), Γ \Gamma Γ 包含2种等价排列:
在这里插入图片描述
        通过引入等效排列的概念,MapTR以统一的方式对映射元素进行建模,并解决了任意性问题。MapTR进一步引入了分层二部匹配(参见第3.2节和第3.3节)用于地图元素学习,并设计了一个结构化的编码器-解码器Transformer架构来有效地预测地图元素(参见第3.4节)。

3.2. HIERARCHICAL MATCHING

         MapTR遵循DETR的端到端范式,在一次传递中并行地推断一个固定大小为N的映射元素集(Carion等人,2020;Fang等人,2021)。 N N N 被设置为大于 场景中典型的地图元素数量。让我们用 Y ^ = { y ^ } i = 0 N − 1 \hat{Y} = \{\hat{y}\}^{N-1}_{i=0} Y^={y^}i=0N1 来表示 N N N 个预测映射元素的集合。ground-truth (GT)地图元素集是用 Φ \Phi Φ (无对象)形成一个大小为N的集合,表示为 Y = { y } i = 0 N − 1 Y = \{y\}^{N-1}_{i=0} Y={y}i=0N1 y i = ( c i , V i , Γ i ) y_i = (c_i, V_i, \Gamma_i) yi=(ci,Vi,Γi) ,其中 c i c_i ci V i V_i Vi Γ i \Gamma_i Γi 分别为GT图元素 y i y_i yi的目标类标签、点集和排列群。 y ^ i = ( p ^ i , V ^ i , ) \hat{y}_{i} = (\hat{p}_{i}, \hat{V}_{i}, ) y^i=(p^i,V^i,) p ^ i \hat{p}_{i} p^i, V ^ i \hat{V}_{i} V^i 分别为预测的分类分数【predicted classification score】和预测的点集【predicted point set】。为了实现结构化的地图元素建模和学习,MapTR引入了分层的二部匹配,即按顺序执行实例级匹配和点级匹配

Instance-level Matching

         首先,我们需要在预测的地图元素 { y i ^ } \{\hat{y_i}\} {yi^}GT地图元素 { y i } \{y_i\} {yi} 之间找到一个最优的实例级标签分配【an optimal instance-level label assignment】 π ^ \hat{\pi} π^ π ^ \hat{\pi} π^ N N N 个元素的排列 ( π ^ ∈ Π N \hat{\pi}\in\Pi_N π^ΠN),具有最低的实例级匹配代价:
π ^ = a r g m i n π ∈ Π N ∑ i = 0 n L i n s _ m a t c h ( y ^ π ( i ) , y i ) \hat{\pi}=\underset {\pi\in\Pi_N}{argmin}\sum\limits_{i = 0}^{n}\mathcal{L}_{ins\_match}(\hat{y}_{\pi(i)}, y_i) π^=πΠNargmini=0nLins_match(y^π(i),yi)
L i n s _ m a t c h ( y ^ π ( i ) , y i ) \mathcal{L}_{ins\_match}(\hat{y}_{\pi(i)}, y_i) Lins_match(y^π(i),yi) 是预测结果 y ^ π ( i ) \hat{y}_{\pi(i)} y^π(i) 与 GT真值结果 y i y_i yi之间的成对匹配代价,它同时考虑了地图元素的类标签【the class label of map element 】和点集的位置【position of point set】:
L i n s _ m a t c h ( y ^ π ( i ) , y i ) = L F o c a l ( p ^ π ( i ) , c i ) + L p o s t i o n ( V ^ π ( i ) , V i ) \mathcal{L}_{ins\_match}(\hat{y}_{\pi(i)}, y_i)=\mathcal{L}_{Focal}(\hat{p}_{\pi(i)}, c_i) + \mathcal{L}_{postion}(\hat{V}_{\pi(i)}, V_i) Lins_match(y^π(i),yi)=LFocal(p^π(i),ci)+Lpostion(V^π(i),Vi)
L F o c a l ( p ^ π ( i ) , c i ) \mathcal{L}_{Focal}(\hat{p}_{\pi(i)}, c_i) LFocal(p^π(i),ci)类别匹配代价项,定义为预测分类分数 p ^ π ( i ) \hat{p}_{\pi(i)} p^π(i)目标类别标签 c i c_i ci 之间的Focal Loss (Lin et al., 2017)。 L p o s t i o n ( V ^ π ( i ) , V i ) \mathcal{L}_{postion}(\hat{V}_{\pi(i)}, V_i) Lpostion(V^π(i),Vi)位置匹配代价项,它反映了预测点集 V ^ π ( i ) \hat{V}_{\pi(i)} V^π(i)GT点集 V i V_i Vi 之间的位置相关性(详见B节)。参照DETR,利用匈牙利算法求解最优实例级分配 π ^ \hat{\pi} π^

Point-level Matching.

        在实例级匹配之后,每个预测的地图元素 y ^ π ^ ( i ) \hat{y}_{\hat{\pi}(i)} y^π^(i) 被分配一个GT地图元素 y i y_i yi 。然后,对于每个分配有正标签的预测实例 c i ≠ ϕ c_i\neq\phi ci=ϕ ,我们执行点级匹配,以在预测点集 V ^ π ^ ( i ) \hat{V}_{\hat\pi(i)} V^π^(i) 和GT点集 V i V_i Vi 之间找到最优的点到点分配 γ ^ ∈ Γ \hat\gamma\in\Gamma γ^Γ γ ^ \hat\gamma γ^ 从预定义的排列组 Γ \Gamma Γ 中选择,并且具有最低的点级匹配代价:
γ ^ = a r g m i n γ ∈ Γ ∑ j = 0 N v − 1 D M a n h a t t a n ( v ^ j , v γ ( j ) ) \hat\gamma=\underset {\gamma\in\Gamma}{argmin}\sum\limits_{j = 0}^{N_v-1}D_{Manhattan}(\hat{v}_j,v_{\gamma(j)}) γ^=γΓargminj=0Nv1DManhattan(v^j,vγ(j))
D M a n h a t t a n ( v ^ j , v γ ( j ) ) D_{Manhattan}(\hat{v}_j,v_{\gamma(j)}) DManhattan(v^j,vγ(j)) 是预测点集 V ^ \hat{V} V^ 的第 j j j 点与 GT点集 V V V的 第 γ ( j ) \gamma(j) γ(j) 点之间的曼哈顿距离。

3.3. TRAINING LOSS

        MapTR基于最优实例级和点级分配( π ^ \hat{\pi} π^ { γ i ^ } \{\hat{\gamma_{i}}\} {γi^})进行训练。损失函数由分类损失【 classification loss】、点2点损失【point2point loss】和边缘方向损失【edge direction loss】三部分组成:
L = λ L c l s + α L p 2 p + β L d i r \mathcal{L}=\lambda\mathcal{L}_{cls} + \alpha\mathcal{L}_{p2p} + \beta\mathcal{L}_{dir} L=λLcls+αLp2p+βLdir
其中 λ \lambda λ α \alpha α 和 $ \beta$ 为平衡不同损失项【 balancing different loss terms】的权重。

Classification Loss.

        利用实例级最优匹配结果 π ^ \hat\pi π^,为每个预测映射元素分配一个类标签。分类损失是一个 a Focal Loss term,可表述为:
L c l s = ∑ i = 0 N − 1 L F o c a l ( p ^ π ^ ( i ) , c i ) \mathcal{L}_{cls}=\sum\limits_{i = 0}^{N-1}\mathcal{L}_{Focal}(\hat{p}_{\hat\pi(i)}, c_i) Lcls=i=0N1LFocal(p^π^(i),ci)

Point2point Loss

        点对点损失监督每个预测点的位置【position of each predicted point】。对于每个具有索引 i i i 的GT实例,根据点级最优匹配结果 γ i ^ \hat{\gamma_i} γi^ ,为每个预测点 v ^ π ^ ( i ) , j \hat{v}_{\hat{\pi}(i),j} v^π^(i),j 分配一个GT点 v i , γ ^ ( j ) v_{i,\hat{\gamma}(j)} vi,γ^(j) 。点对点损失定义为每个指定点对【each assigned point pair】之间计算的曼哈顿距离:
L p 2 p = ∑ i = 0 N − 1 1 { c i ≠ ϕ } ∑ j = 0 N v − 1 D M a n h a t t a n ( v ^ π ^ , j , v i , γ ^ i ( j ) ) (8) \mathcal{L}_{p2p}=\sum\limits_{i = 0}^{N-1}\mathcal{1}_{\{c_i\neq\phi\}}\sum\limits_{j = 0}^{N_v-1}D_{Manhattan}(\hat{v}_{\hat{\pi},j}, v_{i, \hat\gamma_{i}(j)}) \tag {8} Lp2p=i=0N11{ci=ϕ}j=0Nv1DManhattan(v^π^,j,vi,γ^i(j))(8)

Edge Direction Loss

        点到点损失仅监督折线和多边形的节点【the node point of polyline and polygon】,不考虑边缘(相邻点之间的连接线)【edge (the connecting line between adjacent points)】。为了准确地表示地图元素,边缘的方向很重要。因此,我们进一步设计边缘方向损失来监督更高边缘层的几何形状【geometrical shape】。具体来说,我们考虑成对预测边 e ^ π ^ ( i ) , j \hat{e}_{\hat{\pi}(i),j} e^π^(i),j 和GT边的 e i , γ i ^ ( j ) e_{i, \hat{\gamma_{i}}(j)} ei,γi^(j)余弦相似度:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值