![]()
Arxiv:https://arxiv.org/pdf/2307.08991
本期概述
哈喽大家晚上好~
最近接到端到端高精定位的任务,刚好做了一些文献调研~我们今天来学习一篇百度自动驾驶团队的研究:EgoVM: Achieving Precise Ego-Localization using Lightweight Vectorized Maps。
EgoVM将矢量地图元素与BEV感知元素进行匹配,最终实现厘米级的定位精度!主要的创新点如下:
使用轻量化的矢量地图实现高精定位
设计了一种新的跨模态匹配模块
![]()
PipeLine
![]()
EgoVM网络的架构,分为三个主要模块:BEV特征提取、跨模态匹配和姿态求解。BEV特征提取模块,对相机图像和3D LiDAR点云分别进行卷积,然后使用Transformer解码器进行融合。跨模态匹配模块将矢量化地图元素和BEV感知特征输入到Transformer解码器中进行跨模态匹配。姿态求解模块通过姿态采样生成多个候选姿态,并通过双线性插值获取输出位姿。
(1)BEV特征提取:对相机图像和3D LiDAR点云分别进行卷积,然后使用BEV-Former解码器进行融合。图像编码器:使用ResNet或VoVNet提取图像特征。该部分不再赘述LiDAR编码器:将三维点云打平到二维图像上,再使用PointPillars提取特征。该部分不再赘述。BEV融合:利用BEV-Former解码器将相机特征和LiDAR特征融合,使用了自注意力和交叉注意力机制。![]()
BEV-Former:https://arxiv.org/abs/2203.17270(2)跨模态匹配:首先对局部矢量地图进行语义和位置编码处理,然后将地图特征和感知特征进行匹配。语义编码:使用一个语义分割模型,对每一个地图要素匹配一个语义嵌入,以进行后续的匹配处理。位置编码:将每个地图元素的位置编码为一个与其语义嵌入相结合的高维特征向量。具体操作如下:其中, 是初始位置坐标, 是 BEV 空间的尺度范围。语义嵌入 和位置编码 嵌入表示为:自注意力模块:地图查询 输入多头自注意力,以捕捉地图元素之间的关系。具体公式为:其中, 表示注意力头的数量, 和 是可学习的投影矩阵, 表示地图查询 和 之间的注意力权重。交叉注意力模块:将地图查询与BEV特征进行匹配。使用了可变形注意力 (deformable attention) 机制。其中, 是通过将地图元素 的端点投影到 BEV 空间上得到的参考点, 是 BEV 特征, 是 BEV空间的二维位置编码。(3)姿态求解:基于直方图的姿态求解器来估计最优的姿态偏移量。包括三个步骤:候选姿态生成、最优姿态偏移估计。
候选姿态生成:对 和航向角 这三个维度进行网格搜索,生成一系列候选姿态 。每个候选姿态都表示为:最优姿态偏移估计:将矢量化地图元素投影到鸟瞰视角(BEV)平面上,并通过双线性插值在BEV特征图上获取相应的特征。计算感知特征与地图嵌入的相似度得分:其中, 是根据候选姿态 投影得到的BEV特征, 是对应的地图嵌入, 是共享的多层感知器。通过Softmax归一化所有候选姿态的相似度得分,得到后验概率 ,其中 代表BEV特征和地图嵌入的集合。姿态偏移 和协方差 通过以下公式计算得到:![]()
EgoVM模型(包括结合LiDAR数据和仅视觉输入的版本)在纵向、横向和航向上的定位精度都是最高。![]()
EgoVM的多模态融合表现,能够生成更清晰、可信的BEV特征图
李小毛其实最关注的是运行效率,不过在实验部分没有展示?路口的车道级高精定位确实是一个比较重要,并且复杂的问题。传统的方法通常会使用感知要素和高精地图矢量要素进行拓扑匹配。但是这种方法通常受限于感知信息和地图信息的同步性。本文的方法似乎也没有进行讨论?如果对你的开发、科研有帮助,拜托拜托关注我们,我们将持续奉上优秀的端到端自动驾驶领域研究的分享干货!![]()
温馨提示:点赞=学会,收藏=精通![]()