浙大最新开源:MGMap-掩码引导学习的在线矢量化高精地图构建方法

news2024/11/26 5:42:00

论文标题:

MGMap: Mask-Guided Learning for Online Vectorized HD Map Construction

论文作者:

Xiaolu Liu, Song Wang, Wentong Li, Ruizi Yang, Junbo Chen, Jianke Zhu

作者单位:浙江大学,有鹿科技

开源地址:

https://github.com/xiaolul2/MGMap

导读:

本作提出了一种名为MGMap的新方法,旨在改进高精地图的在线构建过程,特别是解决当前技术在定位地图要素和保留细节结构方面的不足。©️【深蓝AI】编译

1. 摘要

MGMap利用学习到的掩码,通过一种mask-guided策略,在不同尺度的鸟瞰特征图上实现更精确的地图要素定位。该方法包含两个核心部件:一是Mask-activated instance (MAI)解码器,它整合全局实例与结构信息来增强实例级别的特征识别;二是位置引导的掩码补丁细化(PG-MPR,Position-guided mask patch refinement)模块,从点级别细化信息,提高定位精度。实验结果显示,与现有基线方法相比,MGMap能显著提升约10个mAP,彰显出更好的鲁棒性和泛化性。

2. 介绍

高精地图在自动驾驶中扮演着关键角色,它为自我定位、路径规划及其他下游任务提供厘米级的路面信息。如VectorMapNet和MapTR等高效直接的方法被提出以构建矢量地图,这些方法用稀疏点集表示地图元素,并直接采用基于Transformer的架构更新实例查询和回归点位置。尽管已取得可喜的成果,但仍受内在问题限制。

在这里插入图片描述
图1|展示了对于某些精细结构,本文提出的MGMap方法能够通过学习到的掩码突出信息丰富的区域,从而实现地图要素的有效定位©️【深蓝AI】编译

如图1所示,道路边缘、分隔线及人行横道等地图要素具有强烈的形状先验。模糊的特征和粗略的位置易导致预测中丢失详细信息,特别是不规则边界和转角的突然变化。

针对上述问题,本文提出了一种细粒度方法MGMap,旨在通过融合学习到的地图掩码来改进定位并突出特定特征。MGMap在nuScenes和Argoverse2数据集上的广泛实验表明,它达到了最先进的性能。不同设置下的实验结果彰显了所提模型的鲁棒性和泛化能力。本工作的主要贡献总结如下:

●提出了一种有效的在线HD地图矢量化方法,借助学习到的掩码实现精确定位,有效提取实例掩码和二进制掩码特征以学习独特的车道线和形状。

●设计了掩码激活实例解码器和创新的位置引导掩码补丁细化模块,充分利用掩码特征从实例和点层面解码地图要素。

●在两大测试平台上展现的优异结果证明,本文的MGMap大幅超越先前方法,具有强大的鲁棒性和泛化能力。

3. 相关工作

3.1 在线高精地图构建

包括将地图构建视为图像分割任务、使用自回归解码器连接顶点的两阶段框架、通过实例点间连接构建地图,以及采用Transformer架构同时预测固定数量点位等。相关工作有:VectorMapNet,MapTR,BeMapNet,PivotMap。

3.2 基于相机的BEV感知

高精地图构建依赖于高质量的BEV特征,这些特征也是大多数三维感知任务的基础。通常,BEV特征是从透视视角图像中提取并转换而来。相关工作有:BEVFormer,BEVFusion。

3.3 分割的掩码细化

掩码细化技术被用于改善分割任务中的实例或语义特征质量,通过各种策略如边界增强、实例特征互动和基于Transformer的注意力机制来优化掩码质量。

4. MGMap

在这里插入图片描述
图2|MGMap框架概述©️【深蓝AI】编译

4.1 BEV特征提取

首先,使用共享的卷积神经网络(CNN)骨干网络从透视视图图像中抽取2D特征。然后,通过透视图与周围视图图像特征的交互,运用可变形注意力机制,将这些特征转换为BEV表示。

增强型多层次颈部。为了获得富含语义和位置信息的BEV特征,在BEV空间,本文设计了一个包含三层的增强型多层次(EML)颈部,它利用融合注意力来构建统一的BEV特征。通过这一设计,本文可以得到具有更大感受野的多尺度BEV特征,以便更好地理解整体结构。可学习注意力图的计算可形式化表示如下:

F i + 1 = ( C A ( F i ) × F i ) × S A ( F i ) F_{i+1}=(CA(F_i) \times F_i) \times SA(F_i) Fi+1=(CA(Fi)×Fi)×SA(Fi)

之后就可以获得多层BEV特征 ( F i ) i = 1 3 (F_i)^3_{i=1} (Fi)i=13,最后,通过拼接后的一个3×3卷积层来聚合多级特征,从而获得增强的BEV特征 F c F_c Fc

4.2 基于掩码激活的实例解码器

针对每个车道实例,需要带有实例和结构信息的特定查询嵌入,以便对车道形状和位置进行回归。在丰富了BEV特征的基础上,本节重点讨论了掩码激活车道查询的设计,以及随后的更新过程。

掩码激活查询: 为了实现更详细且特定的表示,MGMap采用了一种混合方法,该方法结合了车道查询Qlane和点查询Qpoint来对单个地图实例进行编码。

在这里插入图片描述
图3|展示了不同阶段掩码构建的示意图©️【深蓝AI】编译

可变形解码器: 通过增强后的多尺度BEV特征,使用级联可形变Transformer解码器更新这些掩码激活的实例查询。这有助于根据全局上下文和局部细节逐步优化查询嵌入,从而提高对车道线等复杂结构的理解和定位能力。

4.3 位置引导的掩码块细化

尽管在实例级别上可以大致回归地图元素的形状和结构,但某些细节信息仍然难以精确构建。因此,本节提出了一种细化模块,旨在从更精细的点级别上利用二进制掩码特征进行优化。

掩码特征构建:

●首先,通过在摄像机特征(Fc)上应用基本卷积和sigmoid函数,获得二进制掩码Mb,它能突出显示与车道线相关的特征,而背景特征则相对减弱。训练阶段辅以栅格化监督的辅助损失来优化掩码学习。

●接着,基于二进制掩码Mb构建掩码特征Fm。具体操作包括:首先通过D(·)操作将掩码的维度从2扩展到32,然后将扩展后的二进制掩码、摄像机特征Fc及包含空间局部信息的二维归一化位置网格Gbev进行拼接,最后通过卷积操作融合这些特征,以强调车道线周围的具体位置和语义信息。

块提取和细化:

●该模块设计用于从局部块特征中提取更精确的点位置。通过上述构建的掩码特征,模型能够在更小的局部范围内精炼点的位置信息,从而提高预测的精度。

●利用掩码特征的指引,模型能够关注到车道线上的细微变化,对于复杂环境下的车道线检测尤为重要,它帮助模型在点级别上区分和精确定位车道结构,尤其是在实例级别处理难以捕获的细节时。

在这里插入图片描述
图4|(a) 传统的可变形注意力从采样点提取稀疏特征,可能会选择不相关的特征;(b) 本文提出的掩码区块精细化从可靠区块的区域中提取更多相关特征©️【深蓝AI】编译

4.4 训练损失

MGMap采用端到端的方式进行训练。为了将预测的地图实例与其真实标注配对,采用了二分匹配法。在点的回归和类别标签预测之外,还需要辅助损失来指导掩码分割任务。具体而言,总损失是检测损失和掩码分割损失之和,即 L = L d e t + L m a s k L = L_{det} + L_{mask} L=Ldet+Lmask

检测损失: 车道检测旨在回归车道坐标和分类标签。

L lane = ∑ i = 0 M ∑ j = 0 N λ dis ⋅ Dis ( p ^ i j , p i j ) + λ dir ⋅ CosSim ( e ^ i j , e i j ) L_{\text{lane}} = \sum_{i=0}^{M} \sum_{j=0}^{N} \lambda_{\text{dis}} \cdot \text{Dis}(\hat{p}_{ij}, p_{ij}) + \lambda_{\text{dir}} \cdot \text{CosSim}(\hat{e}_{ij}, e_{ij}) Llane=i=0Mj=0NλdisDis(p^ij,pij)+λdirCosSim(e^ij,eij)
L det = L lane + λ cls ∑ i = 0 M L local ( c ^ i , c i ) L_{\text{det}} = L_{\text{lane}} + \lambda_{\text{cls}} \sum_{i=0}^{M} L_{\text{local}}(\hat{c}_i, c_i) Ldet=Llane+λclsi=0MLlocal(c^i,ci)

掩码构建损失: 掩码学习通过像素级别的密集监督减少了过拟合的风险。

L mask = λ ins L ins ( M ^ ins , M ins ) + λ b L b ( M ^ b , M b ) L_{\text{mask}} = \lambda_{\text{ins}} L_{\text{ins}}(\hat{M}_{\text{ins}}, M_{\text{ins}}) + \lambda_{b} L_{b}(\hat{M}_{b}, M_{b}) Lmask=λinsLins(M^ins,Mins)+λbLb(M^b,Mb)

5. 实验

5.1 数据集与基准测试

本文在两个公开数据集上进行了广泛的实验,分别是nuScenes和Argoverse2。nuScenes数据集包含了从波士顿和新加坡收集的1000个驾驶场景。其中,750个和150个场景序列分别用于训练和验证,每个场景序列包含40帧关键帧数据,采样率为2Hz。对于每一帧关键帧,都有6张前视图像以及来自32线激光雷达的相应点云数据。Argoverse2数据集包含了来自六个城市的1000个场景,并提供了7张前视图像。本文使用的Argoverse2子集是由在线高精地图构建挑战赛提供的。本文的主要关注点集中在三种地图要素上,包括车道分隔线(div.)、人行横道(ped.)和道路边界(bou.)。

5.2 精度评估

为了进行全面的评估,本文采用了基于Chamfer距离的指标,包括平均精度 A P c h a m f e r AP_{chamfer} APchamfer和基于IoU的平均精度 A P r a s t e r AP_{raster} APraster。这些指标从点坐标角度出发,同时将每个地图要素视为独立的整体单元进行评估,确保地图矢量化质量能从不同视角得到评判。

5.3 实现细节

为了确保公平的比较,本文选用ResNet50作为图像模态的主干网络。对于激光雷达模态,本文采用SECOND作为主干网络。定义的鸟瞰图(BEV)尺寸,即高HBEV乘以宽WBEV,设置为200×100。最大实例数量和点查询数量分别设置为50和20。

5.4 主要结果

在这里插入图片描述
表1|在不同输入模态和主干网络配置下,于nuScenes验证集上对60m×30m感知范围内的地图矢量化进行的定量评估©️【深蓝AI】编译

在这里插入图片描述
图5|MapTR方法、本文提出的MGMap方法以及相应地面真实情况的可视化结果展示©️【深蓝AI】编译

在nuScenes数据集上的性能:

如表1所示,本文在nuScenes验证集的不同设置下,将MGMap方法与最先进的方法进行了对比。可以看出,本文提出的方法超越了以往的方法,取得了最佳性能。与基线MapTR相比,在使用ResNet-50和训练30轮的相同设置下,基于多视角摄像头输入的MGMap实现了10.3mAP的提升。值得注意的是,MGMap在仅使用LiDAR时达到67.9mAP,在融合摄像头数据与LiDAR时达到71.7mAP,这证明了本文方案的强大泛化能力。此外,图5展示了MGMap在几种驾驶场景下的视觉效果。

在这里插入图片描述
表2|在Argoverse2数据集的一个子集上,60m×30m感知范围内与基线方法的性能对比©️【深蓝AI】编译

在Argoverse2数据集上的性能:

按照在线高精地图构建挑战赛的设置,本文在Argoverse2数据集上重新实现了MapTR和MGMap。表2展示了本文的实验结果。可以观察到,本文的方法在Argoverse2数据集上表现出了竞争力,与MapTR相比,MGMap实现了5.4 mAP的提升,进一步证明了本文所提方法的有效性。

在这里插入图片描述
表3|在nuScenes数据集上,采用扩大感知范围设置的实验结果。本文提出的MGMap方法在所有评估指标上显著优于MapTR©️【深蓝AI】编译

扩大感知范围的性能评估:

为了评估模型的鲁棒性,本文在扩大的感知范围内进行了实验。在相同的设置下,本文针对BEV空间中X轴和Y轴上的60m×60m和30m×90m感知范围,重新实现了MapTR和本文的MGMap,此时查询数量按比例增大以保持基本属性。所有模型均训练了30个周期。表3报告了实验结果。与MapTR相比,本文的MGMap在两种设置下都持续表现出性能提升,对于60m×60m的感知范围提升了9.5mAP,对于30m×90m的范围则提升了10.2mAP。

5.5 消融实验

在这里插入图片描述
表4|实例与点级别上的掩码引导设计消融研究。Ins.代表实例级别的MAI解码器,Point指的是点级别的PG-MPR模块设计©️【深蓝AI】编译

掩码引导设计的消融实验: 这部分验证了掩码引导设计(包括MAI解码器和PG-MPR模块)的重要性。MAI解码器通过掩码捕获全局结构信息,而PG-MPR模块专注于局部细节。结果显示,分别添加这两个模块可提升1.9mAP和2.6mAP,组合使用时达到最高mAP为61.4,证明了该设计在理解和定位目标方面的有效性。

在这里插入图片描述
表5|通过考察PV和BEV阶段多级特征的表现来研究EML颈部设计的消融实验。经验结果表明,利用BEV层级的EML颈部设计来辅助掩码引导设计能达到最佳性能©️【深蓝AI】编译

EML颈部设计的消融实验: 探索了EML(多尺度特征融合颈部)设计相较于传统FPN在PV和BEV空间的应用效果。实验发现,BEV空间中的EML设计显著提高了性能,特别是在处理复杂形状物体的检测上,而PV空间的直接应用效果不佳。此外,EML设计还增强了掩码生成的质量,进一步优化了掩码引导流程的性能。

在这里插入图片描述
表6|不同补丁大小(d)与细化阶段(s)下点级别PG-MPR设计的性能表现。第一行表示未采用点级别细化的结果©️【深蓝AI】编译

PG-MPR设计的消融实验: 针对位置引导的掩码补丁细化模块,研究了补丁大小和细化阶段数对性能的影响。实验结果显示,合理的补丁大小(例如0.1)和适当的细化阶段(两阶段)能最大化模型性能。过小或过大的补丁尺寸都会导致性能下降,表明了在保持信息相关性和细节捕捉之间的平衡是至关重要的。

6. 结论

本文提出了MGMap这一有效方法,旨在学习掩码的指导下实现在线高精地图矢量化。通过在实例和点两个层级利用掩码,本文缓解了由于高精地图中细微且稀疏标注所带来的粗略检测与细节丢失难题。所提出的MGMap不仅展现了当前最优的性能表现,还在多种实验设定下展示了在线地图矢量化方面的强大鲁棒性。对于未来研究,融合其他感知任务以构建更全面的表示形式仍是一个值得探索的方向,这有望为自动驾驶技术带来进一步的发展与进步。

编译|蒙牛二锅头

审核|Los

移步公众号【深蓝AI】,第一时间获取自动驾驶、人工智能与机器人行业最新最前沿论文和科技动态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652289.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RUST 编程语言使构建更安全的软件变得更加容易。RUST ALL THE THINGS 需要什么?

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

极致设计!详解专业网页设计的全套步骤和流程

在当今的数字时代,拥有一个专业、易于使用和有吸引力的网页对任何企业或个人都至关重要。专业的网页设计是实现这一目标的关键步骤之一。本文将详细介绍专业的网页设计步骤和过程,以帮助您了解如何设计一个优秀的网页。 在介绍专业网页设计步骤和流程之…

温暖家居新风尚,能率壁挂炉——设计新风尚,体验再升级

随着家居品质要求的提升,现代人对家居的舒适性和设计感有了更高的追求。壁挂炉,作为现代家居中不可或缺的一部分,其重要性日益凸显。中国国际供热通风空调、卫浴及舒适家居系统展览会(ISH China & CIHE)将于2024年…

短视频矩阵系统电脑端/手机版双端加盟saas技术源头开发

短视频矩阵系统是为了帮助用户更高效地管理、编辑、发布和分析短视频内容而设计的综合性平台。这种系统通常包含电脑端和手机端两个部分,每个部分都有其特定的功能模型,以适应不同设备的操作习惯和使用场景。以下是根据搜索结果中提供的信息,…

差动绕组电流互感器过电压保护器ACTB

安科瑞薛瑶瑶18701709087/17343930412 电流互感器在运行中如果二次绕组开路或一次绕组流过异常电流,都会在二次侧产生数千伏甚至上万伏的过电压。这不仅会使CT和二次设备损坏,也严重威胁运行人员的生命安全,并造成重大经济损失。采用电流互感…

java项目+maven+sonarqube+githook 实现代码提交审查

java项目mavensonarqubegithook 实现代码提交审查 当在团队开发过程中, 由于开发人员技术和风格的不同,导致代码质量和风格各不相同, 为了减少合并时的工作量, 以及基础的一些bug 的避免, 可以使用 (sonarqube阿里巴巴开发规范) 实现代码质量的检测. 为了更加简便, 即在使用git…

大规模LiDAR数据处理

点云存在许多描述环境或建筑物等物体的 x、y、z 坐标。通过激光技术 (LiDAR) 获取的点云通常带有每个坐标的额外测量值和特征。例如,反射强度、回波次数、回波、扫描角度和 RGB 值。换句话说,点云本质上是大量的数据集。 在本文中,我们使用开…

acwing算法提高之数据结构--平衡树Treap

目录 1 介绍2 训练 1 介绍 本博客用来记录使用平衡树求解的题目。 插入、删除、查询操作的时间复杂度都是O(logN)。 动态维护一个有序序列。 2 训练 题目1&#xff1a;253普通平衡树 C代码如下&#xff0c; #include <cstdio> #include <cstring> #include …

小语言模型的潜力

想象一下这样一个世界&#xff1a;智能助手不在云端&#xff0c;而是在你的手机上&#xff0c;无缝了解你的需求并以闪电般的速度做出响应。这不是科幻小说&#xff0c;而是科幻小说。这是小语​​言模型 (SLM) 的希望&#xff0c;这是一个快速发展的领域&#xff0c;有可能改变…

Beego 使用教程 5:页面视图

beego 是一个用于Go编程语言的开源、高性能的 web 框架 beego 被用于在Go语言中企业应用程序的快速开发&#xff0c;包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado&#xff0c; Sinatra 和 Flask beego 官网&#xff1a;http://beego.gocn.vip/ 上面的 bee…

【笔试训练】day21

1.爱丽丝的人偶 题目意思就是构造一个序列&#xff0c;序列的每个元素要么比左右两个高&#xff0c;要么比左右两个低。 可以看成是一条上下波动的曲线。 我们可以模拟波动的这个过程。 假设有一个数组&#xff0c;里面元素是1-n.遍历每一个位置。用一个指针pos来表示当前检…

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发

短视频矩阵系统源码/saas--总后台端、商户端、代理端、源头开发 搭建短视频矩阵系统源码的交付步骤可以概括为以下几个关键环节&#xff1a; 1. **系统需求分析**&#xff1a;明确系统需要支持的功能&#xff0c;如短视频的上传、存储、播放、分享、评论、点赞等。 2. **技术选…

C++算法题 - 二叉树(2)

TOC 114. 二叉树展开为链表 LeetCode_link 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与…

比亚迪CAN数据实时监控分析应用数字化差异化的决策价值洞察

在当今这个信息化飞速发展的时代&#xff0c;汽车数字化转型已成为企业持续竞争力的关键。中国新能源汽车行业的领军企业——比亚迪&#xff0c;其数字化之旅充分展现了企业的创新精神和对未来的深远洞察。 比亚迪的数字化战略不是简单的技术应用&#xff0c;而是一场深刻的商…

Calendar 366 II for Mac v2.15.5激活版:智能日历管理软件

在繁忙的工作和生活中&#xff0c;如何高效管理日程成为了许多人的难题。Calendar 366 II for Mac&#xff0c;作为一款全方位的日历管理软件&#xff0c;以其独特的功能和优秀的用户体验&#xff0c;成为您的日程好帮手。 Calendar 366 II for Mac支持多种视图模式&#xff0c…

成功解决:Could not install packages due to an OSError

成功解决&#xff1a;Could not install packages due to an OSError: 错误&#xff1a; ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: C:\Users\XIAODA~1\AppData\Local\Temp\pip-install-yeyhod79\opencv-contribpython_fb…

在线音视频下载

https://cobalt.tools/ 支持 bilibili 等网站

STM32F103学习笔记 | 7.使用寄存器点亮LED灯

int main(void) { // 分析指南者硬件原理图得知要实现点亮灯泡需要将PB0设置为低电位&#xff0c; // 查阅STM32F10x中文手册的端口配置低寄存器&#xff0c;得知一个PB有8个配置位&#xff0c;查阅手册找到了PB0的位置是3:2位置&#xff0c; // 插入未知知识&#xff1a;将端…

电脑文件批量重命名不求人:快速操作,高效技巧让你轻松搞定

在数字化时代&#xff0c;电脑文件的管理与整理显得尤为重要。当面对大量需要重命名的文件时&#xff0c;一个个手动修改不仅耗时&#xff0c;还容易出错。那么&#xff0c;有没有一种方法可以快速、高效地完成这一任务呢&#xff1f;答案是肯定的&#xff0c;下面就来介绍几种…

delphi6直连redis服务(用lua脚本redis模块)

一、创建一个exe程序 创建一个exe程序,引用LuaRedis.pas单元(此单元自己封装的代码,目前主要封装了获取key和设置key/value功能),代码如下: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;type…