【ICLR 2023】精度、速度两手抓!华科&地平线提出端到端在线构建矢量高精地图新方案MapTR
一、论文导读
在本文中,作者提出了纯视觉输入的端到端矢量化高精地图在线构建算法MapTR,在nuScenes数据集上实现了速度和精度的SOTA性能,超过了现有的其他矢量地图构建算法(单模或者多模态算法),MapTR算法的在线建图效果如下所示
二、论文研究背景
矢量高精地图当中包含了道路拓扑的丰富语义信息和交通规则,这些信息对于自动驾驶汽车的感知和导航任务都至关重要。传统的高精地图主要是采用基于SLAM的方法进行离线构建,导致高精地图构建和维护成本高、地图鲜度低等问题。
由于目前的矢量高精地图在线构建算法需要复杂和耗时的后处理流程,效率较低,很难在实际驾驶场景中进行应用;同时,与目标检测任务不同,矢量化地图元素具有更多动态形状,很难直接用粗糙的2D框进行建模。
因此,基于上述提到的相关问题,本文借鉴了DETR中简单且有效的Transformer架构,并且把地图元素建模为一组具有等价排列的点集,设计了具有统一建模和架构的端到端在线矢量高精地图构建算法MapTR,并且在nuScenes数据集上实现了SOTA的性能和效率。MapTR网络模型的具体结构以及技术细节在下文进行重点讲解。
三、网络模型结构&技术细节梳理
下图展示了MapTR算法模型的整体网络结构
通过上图可以看出,MapTR采用了Encoder-Decoder的设计范式。输入的六张环视图像喂入到Map Encoder模块当中得到BEV空间特征,采用的是常规的3D目标检测中的BEV生成范式,这里不再赘述。Map Decoder也是采用了Self-Attention + Cross Attention的结构,Cross Attention是Deformable Attention结构。在Map Decoder模块中,Self Attention用于实例级别和点级别的信息交互,Cross Attention用于Hierarchical Query与BEV Embeding的交互从而实现地图元素的定位和分类。
所以接下来就先引出本文的第一个核心创新点,高精地图中的元素是如何进行建模的
核心创新点一:Permutation-Equivalent Modeling(排列等价建模)
在本文中,MapTR将地图元素抽象为闭环形状(比如人行横道)和开环形状(车道分割线及车道边界线),然后沿着不同形状进行采点的方式将闭环的形状抽象为多边形(Polygon),开环的形状抽象为折线(Polyline)。由于多边形或者折线可以看作是一种离散点组合成的有序点集合。同时点集的排列顺序并没有明确的定义,而且并不唯一。对于多边形和折线而言,存在许多等价的排列方式,如下图所示。
- 对于折线形式的分道线而言,定义其方向是比较困难的,可以把分道线的两个点均看成起点,按两种不同的方向组织点集;
- 对于多边形形式的人行横道而言,点集可以按照顺时针或者逆时针的方向进行排列,且选择点集中的任何一点开始都不影响多边形的几何形状;
因此,本文提出了一种排列等价的方式对地图元素进行统一的建模,并且解决了顺序歧义的问题,核心思路表述如下
- 对于折线地图元素而言,可以采用两种等价排列方式进行建模
- 对于多边形元素而言,可以采用2N种等价排列形式进行建模
核心创新点二:Hierarchical Matching(层次匹配)
通过看MapTR的网络结构图可以看出,Decoder中包括Instance-level和Point-level两种匹配机制。
- Instance-Level(实例级匹配):实例级的二分匹配包括两部分,分别是地图要素类别的匹配和位置的匹配。其中类别匹配是模型预测的地图元素和对应真值元素类别的Focal Loss损失;位置匹配是模型预测的地图元素和对应的真值元素的距离损失和IoU损失;
- Point-Level(点级匹配):由于每个地图元素实例都是由点集构成的,所以在实例级匹配的基础上,还需要进行点对点的匹配,包括点与点之间的距离损失以及点和点之间的连线方向损失;
四、实验结果部分
整体实验对比
首先是各类算法模型在nuScenes val数据集上的实验结果对比以及在线建图结果的可视化
消融实验对比
排列等价建模对于模型性能的增益
关于每个地图元素用多少点进行建模的消融实验结果
关于设置的每次预测的地图元素个数的消融实验结果
#牛客创作赏金赛##论文##自动驾驶##互联网##算法#记录一位智驾感知算法工程师的日常读论文笔记(不定期更新~)