当前位置: 首页 > news >正文

【论文精读】MapTR:用于在线矢量化高精地图构建的结构化建模与学习

论文地址: MAPTR: STRUCTURED MODELING AND LEARNING FOR ONLINE VECTORIZED HD MAP CONSTRUCTION

源代码:MapTR 

摘要

       High-definition(HD Map)map为自动驾驶场景提供了丰富且精确的环境信息,是自动驾驶系统规划中不可或缺的基础组件。本文提出了 MapTR,一种用于高效在线矢量化高精地图构建的结构化端到端 Transformer 模型。我们提出了一种统一的排列等价建模方法,即将地图元素建模为一组等价排列的点集,从而准确描述地图元素的形状并稳定学习过程。我们设计了一种层次化的查询嵌入方案,用于灵活编码结构化的地图信息,并通过层次化的二分图匹配进行地图元素学习。MapTR 在 nuScenes 数据集上仅使用摄像头输入,就实现了现有矢量化地图构建方法中最佳的性能和效率。特别是,MapTR-nano 在 RTX 3090 上的实时推理速度达到 25.1 FPS,比现有的基于摄像头的最先进方法快 8 倍,同时平均精度(mAP)高出 5.0。即使与现有的多模态方法相比,MapTR-nano 的 mAP 高出 0.7,MapTR-tiny 的 mAP 高出 13.5,且推理速度比现有方法快 3 倍。丰富的定性结果表明,MapTR 在复杂多样的驾驶场景中能够保持稳定且鲁棒的地图构建质量。MapTR 在自动驾驶中具有重要的应用价值。

1 引言

       High-definition(HD Map)是专为自动驾驶设计的高精度地图,由实例级矢量化地图元素(如人行横道、车道分隔线、道路边界等)组成,包含丰富的道路拓扑和交通规则语义信息,对于自动驾驶车辆的导航至关重要。  
        传统高精地图是通过基于 SLAM(Simultaneous Localization and Mapping,同时定位与建图)的方法离线构建的,这种方法流程复杂且维护成本高昂。近年来,在线高精地图构建逐渐受到关注,它通过车辆搭载的传感器在运行时构建车辆周围的地图,从而摆脱了离线人工操作的限制。 
        早期的研究工作(Chen et al., 2022a; Liu et al., 2021a; Can et al., 2021)利用线形先验知识,基于前视图图像感知开放形状的车道线,但这些方法仅限于单视图感知,无法处理其他具有任意形状的地图元素。随着鸟瞰图(BEV,Bird's Eye View)表示学习的发展,近期的研究工作(Chen et al., 2022b; Zhou & Krähenhübl, 2022; Hu et al., 2021; Li et al., 2022c)通过执行 BEV 语义分割来预测栅格化地图。然而,栅格化地图缺乏矢量化实例级信息(如车道结构),这对于下游任务(例如运动预测和规划)至关重要。为了构建矢量化高精地图,HDMapNet(Li et al., 2022a)通过对像素级分割结果进行分组,但这种方法需要复杂且耗时的后处理。VectorMapNet(Liu et al., 2022a)首次提出了端到端框架,将每个地图元素表示为点序列,并采用级联的粗到细框架,利用自回归解码器顺序预测点,这导致了较长的推理时间。  
        当前的在线矢量化高精地图构建方法受到效率的限制,无法应用于实时场景。最近,DETR(Carion et al., 2020)采用简单高效的编码器-解码器 Transformer 架构,实现了端到端的目标检测。

        自然会提出一个问题:我们能否设计一个类似 DETR 的范式,用于高效的端到端矢量化高精地图构建?我们的 MapTR(Map Transformer)给出了肯定的答案。  
        与目标检测中可以轻松将物体几何抽象为边界框不同,矢量化地图元素具有更动态的形状。为了准确描述地图元素,我们提出了一个新的统一建模方法,将每个地图元素建模为一组等价排列的点集。点集决定了地图元素的位置,而排列群包括了对应于相同几何形状的点集的所有可能组织序列,避免了形状的歧义。  
        基于排列等价建模,我们设计了一个结构化框架,输入为车辆搭载的摄像头图像,输出为矢量化高精地图。我们将在线矢量化高精地图构建简化为一个并行回归问题。我们提出了层次化查询嵌入方案,用于灵活编码实例级和点级信息。所有实例及其所有点通过统一的 Transformer 结构同时预测。训练流程被设计为层次化集合预测任务,我们通过层次化二分图匹配依次分配实例和点,并在点级和边级监督几何形状,使用提出的点到点损失和边方向损失进行监督。  
        凭借所有这些设计,我们提出了 MapTR,一种具有统一建模和架构的高效端到端在线矢量化高精地图构建方法。MapTR 在 nuScenes(Caesar et al., 2020)数据集上实现了现有矢量化地图构建方法中最佳的性能和效率。特别是,MapTR-nano 在 RTX 3090 上的实时推理速度达到 25.1 FPS,比现有的基于摄像头的最先进方法快 8 倍,同时平均精度(mAP)高出 5.0。即使与现有的多模态方法相比,MapTR-nano 的 mAP 高出 0.7,MapTR-tiny 的 mAP 高出 13.5,且推理速度比现有方法快 3 倍。如可视化结果(图 1)所示,MapTR 在复杂多样的驾驶场景中能够保持稳定且鲁棒的地图构建质量。  
我们的贡献可以总结如下:  

  • 我们提出了一种统一的排列等价建模方法,即将地图元素建模为一组等价排列的点集,从而准确描述地图元素的形状并稳定学习过程。  
  • 基于新的建模方法,我们提出了 MapTR,一个用于高效在线矢量化高精地图构建的结构化端到端框架。我们设计了层次化查询嵌入方案,用于灵活编码实例级和点级信息,通过层次化二分图匹配进行地图元素学习,并在点级和边级监督几何形状,使用提出的点到点损失和边方向损失进行监督。  
  • MapTR 是首个在复杂多样的驾驶场景中实现稳定且鲁棒性能的实时 SOTA(State-of-the-Art,最先进)矢量化高精地图构建方法。

2 相关工作

HD Map Construction. 最近,随着2D到BEV(鸟瞰图)方法的发展,高精地图构建被表述为基于车辆周围摄像头捕获的多视角图像数据的分割问题。Chen等人(2022b)、Zhou和Krähenbühl(2022)、Hu等人(2021)、Li等人(2022c)、Philion和Fidler(2020)以及Liu等人(2022b)通过执行BEV语义分割生成栅格化地图。为了构建矢量化高精地图,HDMapNet(Li等人,2022a)通过启发式且耗时的后处理步骤将像素级语义分割结果分组以生成实例。VectorMapNet(Liu等人,2022a)是第一个端到端框架,采用两阶段粗到细的框架,并利用自回归解码器顺序预测点,导致推理时间较长且存在排列的歧义。与VectorMapNet不同,MapTR引入了针对地图元素的新型统一建模方法,解决了歧义问题并稳定了学习过程。此外,MapTR构建了一个结构化且高效的单阶段框架,显著提高了效率。

Lane Detection.  车道线检测可以视为高精地图构建的一个子任务,专注于检测道路场景中的车道线元素。由于大多数车道线检测数据集仅提供单视角注释且专注于开放形状元素,相关方法仅限于单视角。LaneATT(Tabelini等人,2021)利用基于锚点的深度车道线检测模型,在准确性和效率之间取得了良好的平衡。LSTR(Liu等人,2021a)采用Transformer架构直接输出车道线形状模型的参数。GANet(Wang等人,2022)将车道线检测表述为关键点估计和关联问题,并采用自底向上的设计。Feng等人(2022)提出了基于参数化贝塞尔曲线的车道线检测方法。Garnett等人(2019)提出的3D-LaneNet在BEV中执行3D车道线检测。STSU(Can等人,2021)在BEV坐标中将车道线表示为有向图,并采用基于贝塞尔曲线的方法从单目相机图像中预测车道线。Persformer(Chen等人,2022a)提供了更好的BEV特征表示,并优化了锚点设计,同时统一了2D和3D车道线检测。与仅在有限的单视角中检测车道线的方法不同,MapTR能够感知360°水平视场内的各种地图元素,并采用统一的建模和学习框架。

Contour-based Instance Segmentation.   与MapTR相关的另一条研究线是基于轮廓的2D实例分割(Zhu等人,2022;Xie等人,2020;Xu等人,2019;Liu等人,2021c)。这些方法将2D实例分割重新表述为对象轮廓预测任务,并估计轮廓顶点的图像坐标。CurveGCN(Ling等人,2019)利用图卷积网络预测多边形边界。Lazarow等人(2022)、Liang等人(2020)、Li等人(2021)和Peng等人(2020)依赖中间表示,并采用两阶段范式,即第一阶段执行分割/检测以生成顶点,第二阶段将顶点转换为多边形。这些工作将2D实例掩码的轮廓建模为多边形。它们的建模方法无法处理线状地图元素,因此不适用于地图构建。相比之下,MapTR专为高精地图构建量身定制,以统一的方式建模各种地图元素。此外,MapTR不依赖中间表示,且具有高效紧凑的流程。

3 MapTR

3.1 排列等价建模

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

        初步来看,多边形和折线都可以表示为有序点集 V^{F}​= (见图3(Vanilla))。Nv​ 表示点的数量。然而,点集的排列并未明确定义,且不是唯一的。对于多边形和折线,存在许多等价的排列方式。例如,如图2(a)所示,对于两条相对车道线之间的车道分隔线(折线),定义其方向是困难的。车道分隔线的两个端点都可以被视为起点,点集可以按两个方向组织。在图2(b)中,对于人行横道(多边形),点集可以按两个相反的方向(顺时针和逆时针)连接。并且,多边形点集的循环排列不会影响其几何形状。将固定的排列强加给点集作为监督是不合理的。这种强加的固定排列与其他等价排列相矛盾,阻碍了学习过程。

        为了弥合这一差距,MapTR使用 来建模每个地图元素。其中 ​ 表示地图元素的点集(N_{v}​ 是点的数量),而 表示点集 V 的一组等价排列,涵盖所有可能的组织序列。

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

具体来说,对于折线元素(见图3(左侧)),\Gamma 包括2种等价排列:

 对于多边形元素(见图3(右侧)),\Gamma 包括 2 × N_{v} 种等价排列:

 通过引入等价排列的概念,MapTR以统一的方式建模地图元素,并解决了歧义问题。MapTR进一步引入了层次化二分图匹配(见第3.2节和第3.3节)用于地图元素学习,并设计了一个结构化的编码器-解码器Transformer架构,以高效地预测地图元素(见第3.4节)。

3.2 层次化匹配

MapTR并行地推断一组固定大小的 N 个地图元素,遵循DETR(Carion等人,2020;Fang等人,2021)的端到端范式。N 被设置为大于场景中典型地图元素的数量。我们将 N 个预测的地图元素表示为 ​。将真值(GT)地图元素集填充为∅(空对象)以形成大小为 N 的集合,表示为 ​。,其中c_{i}​、V_{i}​ 和\Gamma _{i}​ 分别是GT地图元素y_{i} 的目标类别标签、点集和排列群。,其中 \widehat{p_{i}}\widehat{V_{i}}分别是预测的类别置信度和预测的点集。为了实现结构化的地图元素建模和学习,MapTR引入了层次化二分图匹配,即依次进行实例级匹配和点级匹配。

Instance-levelMatching. 首先,我们需要找到预测地图元素 {\widehat{y_{i}}​} 和GT地图元素 {y_{i}​} 之间的最优实例级标签分配 \widetilde{\pi }\widetilde{\pi } 是 N 个元素的一个排列,其具有最低的实例级匹配成本:

 是预测 \widehat{y}_{\pi (i)}和GT y_{i} 之间的成对匹配成本,它同时考虑了地图元素的类别标签和点集的位置:

 是类别匹配成本项,定义为预测类别置信度 \widehat{p}_{\pi (i)}​ 和目标类别标签 c_{i}之间的Focal Loss(Lin等人,2017)。是位置匹配成本项,它反映了预测点集\widehat{V}_{\pi (i)}​ 和GT点集 V_{i}​ 之间的位置相关性(更多细节见附录B)。我们使用匈牙利算法来找到最优的实例级分配 \widetilde{\pi },这与DETR中使用的算法一致。

Point-level Matching.  在实例级匹配之后,每个预测的地图元素\widehat{y}_{\pi (i)}​ 被分配了一个GT地图元素 y_{i}​。然后对于每个被分配了正标签的预测实例(c_{i} ≠ ∅),我们进行点级匹配,以找到预测点集 \widehat{V}_{\widehat{\pi} (i)} 和GT点集V_{i}之间的最优点到点分配 \widehat{\gamma }​∈\Gamma,其具有最低的点级匹配成本:

 是预测点集\widehat{V} 的第 j 个点和GT点集 V 的第 \gamma(j) 个点之间的曼哈顿距离。

3.3 TRAINING LOSS

MapTR基于最优的实例级和点级分配(\widetilde{\pi }和 {\widehat{\gamma_{i} }})进行训练。损失函数由三部分组成:classification loss、point2point loss和edge direction loss:

 其中 λ、α 和 β 是用于平衡不同损失项的权重。

Classification Loss. 借助实例级最优匹配结果 \widetilde{\pi },每个预测的地图元素被分配一个类别标签。分类损失是一个Focal Loss项,定义如下:

Point2point Loss. Point2point loss用于监督每个预测点的位置。对于每个具有索引 i 的GT实例,根据点级最优匹配结果 \widehat{\gamma_{i} }​,每个预测点​ 被分配一个GT点。点到点损失定义为每对分配点之间的曼哈顿距离之和: 

Edge Direction Loss.  Point2point loss仅监督折线和多边形的节点点,而没有考虑边(相邻点之间的连接线)。为了准确表示地图元素,边的方向也很重要。因此,我们进一步设计了边方向损失,以在更高层次的边上监督几何形状。具体来说,我们考虑预测边和GT边 之间的余弦相似度:

图4. MapTR的整体架构。MapTR采用编码器-解码器范式。地图编码器将传感器输入转换为统一的鸟瞰图(BEV)表示。地图解码器采用层次化查询嵌入方案,明确地对地图元素进行编码,并基于排列等价建模执行层次化匹配。MapTR是完全端到端的,整个流程高度结构化、紧凑且高效。 

 3.4 ARCHITECTURE

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

Input Modality.  MapTR以车辆搭载的多视角摄像头图像作为输入。MapTR也兼容其他车载传感器(例如激光雷达和雷达)。将MapTR扩展到多模态数据是直接且简单的。得益于合理的排列等价建模,即使仅使用摄像头输入,MapTR也能显著优于其他多模态方法。

Map Encoder.  MapTR的地图编码器从多视角摄像头图像中提取特征,并将其转换为统一的特征表示,即鸟瞰图(BEV)表示。给定多视角图像,我们利用传统的主干网络生成多视角特征图。然后,将2D图像特征F 转换为BEV特征。默认情况下,我们采用GKT(Chen等人,2022b)作为基础的2D到BEV转换模块,考虑到其易于部署和高效性。MapTR兼容其他转换方法,并保持稳定性能,例如CVT(Zhou和Krähenhübl,2022)、LSS(Philion和Fidler,2020;Liu等人,2022c;Li等人,2022b;Huang等人,2021)、可变形注意力(Li等人,2022c;Zhu等人,2021)和IPM(Mallot等人,1991)。相关消融研究见表4。

MapDecoder.  我们提出了一种层次化查询嵌入方案,用于明确地对每个地图元素进行编码。具体来说,我们定义了一组实例级查询 和一组点级查询,这些查询被所有实例共享。每个地图元素(索引为 i )对应一组层次化查询。第  i  个地图元素的第 j 个点的层次化查询表示为:

地图解码器包含多个级联的解码器层,这些层迭代更新层次化查询。在每个解码器层中,我们采用多头自注意力(MHSA)机制,使层次化查询之间相互交换信息(包括实例内和实例间)。然后,我们采用可变形注意力(Zhu等人,2021)机制,使层次化查询与BEV特征进行交互,这一设计受到BEVFormer(Li等人,2022c)的启发。每个查询q_{ij}^{hie} 预测参考点 p_{ij}的二维归一化BEV坐标 ( x_{ij},y_{ij})。然后,我们在参考点周围采样BEV特征并更新查询。

地图元素通常具有不规则形状,需要长距离上下文信息。每个地图元素对应一组参考点,这些点具有灵活且动态的分布。参考点能够适应地图元素的任意形状,并为地图元素学习捕获信息丰富的上下文。

MapTR的预测头设计简单,包含一个分类分支和一个点回归分支。分类分支预测实例类别置信度,而点回归分支预测点集\widehat{V}的位置。对于每个地图元素,它输出一个 2N_{v}维向量,表示N_{v} 个点的归一化BEV坐标。

4 实验

Dataset and Metric. 我们在流行的 nuScenes 数据集(Caesar 等人,2020)上评估 MapTR。该数据集包含 1000 个场景,每个场景持续约 20 秒,关键样本以 2Hz 的频率进行标注。每个样本包含来自 6 个摄像头的 RGB 图像,覆盖了车辆周围的 360° 水平视场。按照之前的方法(Li 等人,2022a;Liu 等人,2022a),我们选择了三种地图元素进行公平评估:人行横道、车道分隔线和道路边界。感知范围为 X 轴的 [-15.0m, 15.0m] 和 Y 轴的 [-30.0m, 30.0m]。我们采用平均精度(AP)来评估地图构建的质量。使用 Chamfer 距离 DChamfer​ 来判断预测和真实值是否匹配。我们在几个 Chamfer 距离阈值(\tau∈T,其中 T={0.5,1.0,1.5})下计算 AP_{\tau }​,并取所有阈值的平均值作为最终的 AP 指标:

Implementation Details. MapTR 使用 8 个 NVIDIA GeForce RTX 3090 GPU 进行训练。我们采用 AdamW 优化器(Loshchilov 和 Hutter,2019)和余弦退火学习率调度。对于 MapTR-tiny,我们采用 ResNet50(He 等人,2016)作为backbone,并以总batch size为 32(包含 6 个视角的图像)进行训练。所有消融实验均基于训练了 24 个周期的 MapTR-tiny 进行。MapTR-nano 专为实时应用设计,采用 ResNet18 作为主干网络。更多细节请参阅附录 A。 

 表1. 与最新方法(Liu等人,2022a;Li等人,2022a)在 nuScenes 验证集上的比较。“C”和“L”分别表示摄像头和激光雷达。“Effi-B0”和“PointPillars”分别对应于 Tan和Le(2019)以及 Lang等人(2019)。其他方法的 AP 值取自 VectorMapNet 的论文。VectorMapNet-C 的 FPS 由其作者提供,并在 RTX 3090 上测量。其他 FPS 值均在同一台配备 RTX 3090 的机器上测量。“-”表示相应的结果不可用。即使仅使用摄像头输入,MapTR-tiny 也显著优于多模态方法(+13.5 mAP)。MapTR-nano 实现了基于摄像头的 SOTA性能,并以 25.1 FPS 的速度运行,首次实现了实时矢量化地图构建。

4.1 COMPARISONS WITH SOTA METHODS

在表 1 中,我们将 MapTR 与最新方法进行了比较。MapTR-nano 在 RTX 3090 上的实时推理速度达到 25.1 FPS,比现有的基于摄像头的最佳方法(VectorMapNet-C)快 8 倍,同时平均精度(mAP)高出 5.0。即使与现有的多模态方法相比,MapTR-nano 的 mAP 高出 0.7,MapTR-tiny 的 mAP 高出 13.5,且推理速度比现有方法快 3 倍。MapTR 也是一种快速收敛的方法,24-epoch schedule即可展现出卓越的性能。

4.2 消融研究

为了验证不同设计的有效性,我们在 nuScenes 验证集上进行了消融实验。更多消融实验请参阅附录 B。

 表2. 关于建模方法的消融实验。传统的建模方法为点集强加了一个唯一的排列顺序,导致了歧义。MapTR引入了排列等价建模方法以避免歧义,这不仅稳定了学习过程,还显著提升了性能(+5.9 mAP)。

排列等价建模的有效性。在表 2 中,我们提供了关于排列等价建模的消融实验。与将唯一排列强加于点集的传统建模方法相比,排列等价建模解决了地图元素的歧义问题,并带来了 5.9 mAP 的提升。对于人行横道,提升甚至达到了 11.9 AP,证明了其在建模多边形元素方面的优越性。我们还在图 5 中可视化了学习过程,展示了所提建模方法的稳定性。

Effectiveness of Edge Direction Loss.  表 3 提供了关于边方向损失权重的消融实验。当权重 β=0 时,表示不使用edge direction loss;而当 β=5e^{-3} 时,表示提供了适当的监督,这也是我们默认的设置。

2D-to-BEVTransformation.  在表 4 中,我们对 2D 到 BEV 转换方法进行了消融实验,包括 IPM(Mallot 等人,1991)、LSS(Liu 等人,2022c;Philion 和 Fidler,2020)、Deformable Attention(Li 等人,2022c)和 GKT(Chen 等人,2022b)。为了与 IPM 和 LSS 公平比较,GKT 和可变形注意力均采用了单层配置。实验表明,MapTR 兼容多种 2D 到 BEV 转换方法,并能保持稳定的性能。我们默认采用 GKT 作为 MapTR 的配置,考虑到其易于部署和高效性。

4.3 定性可视化

我们在图 1 中展示了复杂多样的驾驶场景下的预测矢量化高精地图结果。MapTR 保持了稳定且令人印象深刻的结果。更多定性结果请参阅附录 C。我们还在补充材料中提供了视频,以展示其鲁棒性。

5 CONCLUSION

        MapTR 是一个用于高效在线矢量化高精地图构建的结构化端到端框架,采用简单的encoder-decoder Transformer 架构和层次化二分图匹配,基于提出的排列等价建模进行地图元素学习。大量实验表明,该方法能够在具有挑战性的 nuScenes 数据集上精确感知任意形状的地图元素。我们希望 MapTR 能够作为自动驾驶系统的一个基础模块,并推动下游任务(例如运动预测和规划)的发展。

附录

A 实现细节

本节提供了方法和实验的更多实现细节。

Data Augmentation. 源图像的分辨率为1600×900。对于MapTR-nano,我们将源图像按0.2的比例缩放。对于MapTR-tiny,我们将源图像按0.5的比例缩放。默认使用颜色抖动。

Model Setting. 在所有实验中,训练时分别将λ、α和β设置为2、5和5e-3。对于MapTR-tiny,我们将实例级查询和点级查询的数量分别设置为50和20。每个BEV网格的大小设置为0.3米,并堆叠了6个Transformer解码器层。我们以总批量大小为32(包含6个视角的图像)、学习率为6e-4进行训练,主干网络的学习率乘数为0.1。所有消融实验均基于训练了24个周期的MapTR-tiny进行。对于MapTR-nano,我们将实例级查询和点级查询的数量分别设置为100和20。每个BEV网格的大小设置为0.75米,并堆叠了2个Transformer解码器层。我们以110个周期、总批量大小为192、学习率为4e-3进行训练,主干网络的学习率乘数为0.1。我们采用GKT(Chen等人,2022b)作为MapTR的默认2D到BEV模块。

Dataset Preprocessing. 我们按照Liu等人(2022a)和Li等人(2022a)的方法处理地图注释。将感知范围内的地图元素提取为真实值地图元素。默认情况下,感知范围为X轴的[-15.0m, 15.0m]和Y轴的[-30.0m, 30.0m]。

B 消融研究

Point Number. 关于建模每个地图元素所用点数的消融实验结果如表5所示。点数太少无法描述地图元素复杂的几何形状,而点数过多则会影响效率。我们默认设置MapTR的点数为20。

Element Number. 关于地图元素数量的消融实验结果如表6所示。我们默认将MapTR-tiny的地图元素数量设置为50。

Decode rLayer Number.  关于地图解码器层数的消融实验结果如表7所示。随着层数增加,地图构建性能有所提升,但在层数达到6时趋于饱和。

Position Matching Cost.  如第3.2节所述,我们在实例级匹配中采用了位置匹配成本项Lposition​(V^π(i)​,Vi​),以反映预测点集V^π(i)​和真实点集Vi​之间的位置相关性。如表8所示,我们比较了两种成本设计,即Chamfer距离成本和点到点成本。点到点成本与点级匹配成本类似。具体来说,我们找到最佳的点到点分配,并将所有点对的曼哈顿距离之和作为两个点集的位置匹配成本。实验表明,点到点成本优于Chamfer距离成本。

Swin Transformer Backbones. 关于Swin Transformer backbones(Liu等人,2021b)的消融实验结果如表9所示。

Modality. 多传感器感知对于自动驾驶的安全性至关重要,MapTR兼容其他车载传感器,如激光雷达。如表10所示,在仅训练24个周期的情况下,多模态MapTR显著优于先前的最佳结果17.3 mAP,同时速度快2倍。

Robustness to the camera deviation. 在实际应用中,摄像头内参通常较为准确且变化较小,但摄像头外参可能由于摄像头位置偏移、标定误差等原因而不准确。为了验证鲁棒性,我们遍历验证集,并为每个样本随机生成噪声。我们分别添加平移和旋转偏差,其标准差分别为不同数值。需要注意的是,我们为所有摄像头和所有坐标添加噪声,且噪声服从正态分布。存在极个别样本的偏差较大,对性能影响显著。如表11和表12所示,当平移偏差的标准差σ1为0.1米或旋转偏差的标准差σ2为0.02弧度时,MapTR仍能保持相当的性能。

Detailed running time.  为了更深入地了解MapTR的效率,我们在表13中展示了MapTR-tiny(仅使用多摄像头输入)的每个组件的详细运行时间。

C 定性可视化
我们在nuScenes验证集的不同天气条件和复杂道路环境下展示了MapTR的地图构建结果。如图6、图7和图8所示,MapTR保持了稳定且令人印象深刻的结果。视频结果见补充材料。

相关文章:

【论文精读】MapTR:用于在线矢量化高精地图构建的结构化建模与学习

论文地址: MAPTR: STRUCTURED MODELING AND LEARNING FOR ONLINE VECTORIZED HD MAP CONSTRUCTION 源代码:MapTR 摘要 High-definition(HD Map)map为自动驾驶场景提供了丰富且精确的环境信息,是自动驾驶系统规划中不…...

云图库平台(五)——后端图片模块开发

目录 一、需求分析二、库表设计三、图片的处理如何实现图片的上传和下载创建图片的业务流程如何对图片进行解析 四、创建并使用对象存储五、后端操作对象存储初始化客户端通用能力类文档上传文件下载 一、需求分析 管理员功能: 图片的上传和创建:仅管理…...

Linux红帽:RHCSA认证知识讲解(一)RedHat背景与环境配置

Linux红帽:RHCSA认证知识讲解(一)RedHat背景与环境配置 前言一、RedHat公司背景二、RedHat环境安装步骤三、windows使用远程工具连接环境并上传文件到redhat方法: 前言 在接下来的博客中,我们从基础开始将介绍红帽Linu…...

【Linux】基于UDP/TCP套接字编程与守护进程

目录 一、网路套接字编程 (一)基础概念 1、源IP地址与目的IP地址 2、端口号 3、TCP与UDP 4、网络字节序 (二)套接字编程接口 1、socket 常见API 2、sockaddr结构 (三)UDP套接字 1、UDP服务器创建…...

Linux CentOS 上 Ollama 的安装与部署:从入门到实践

Linux CentOS 上 Ollama 的安装与部署:从入门到实践 随着人工智能技术的快速发展,大语言模型(LLMs)的应用场景越来越广泛。Ollama 作为一个轻量级的 AI 模型管理工具,为开发者提供了便捷的模型部署和管理解决方案。本文将详细介绍如何在 Linux CentOS 系统上安装和部署 O…...

大数据学习之任务流调度系统Azkaban、Superset可视化系统

一.任务流调度系统Azkaban 1.课程介绍 2.为什么需要工作流调度系统 3.AZKABAN是什么 4.AZKABAN下载 5.制作安装包 6.tar包准备 7.MYSQL配置AZKABAN 8.配置EXECUTOR SERVER 9.配置WEBSERVER 10.单作业实战_yaml语言(今天稍晚更新) 11.单作业实战 12.多作业依赖实战 13.失败自动重…...

网络空间安全(2)应用程序安全

前言 应用程序安全(Application Security,简称AppSec)是一个综合性的概念,它涵盖了应用程序从开发到部署,再到后续维护的整个过程中的安全措施。 一、定义与重要性 定义:应用程序安全是指识别和修复应用程序…...

UDP、TCP的区别

UDP(用户数据报协议)和TCP(传输控制协议)是两种常用的传输层协议,它们在数据传输方式、可靠性和应用场景等方面有显著区别。以下是它们的主要区别: ### 1. 连接方式 - **TCP**:面向连接。通信前…...

Linux 第二次脚本作业

1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。 2、设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 user1~user50,并设置每个目录的权限,其中其他用户的权…...

高清下载油管视频到本地

下载工具并安装: yt-dlp官网地址: GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader ffmpeg官网地址: Download FFmpeg 注:记住为其添加环境变量 操作命令: 该指令表示以720p码率下载VIDEO_UR…...

Linux 命令大全完整版(07)

2. linux 系统设置命令 ulimit 功能说明&#xff1a;控制 shell 程序的资源。语法&#xff1a;ulimit [-aHS][-c <core 文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小…...

基于CentOS7安装kubesphere和Kubernetes并接入外部ES收集日志

一、修改所有节点主机名 主节点就修改成master hostnamectl set-hostname master 然后输入bash刷新当前主机名 工作节点1就修改成node1 hostnamectl set-hostname node1 然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间 yum -y install socat conntrack ebta…...

Javascript网页设计案例:通过PDFLib实现一款PDF分割工具,分割方式自定义-完整源代码,开箱即用

功能预览 一、工具简介 PDF 分割工具支持以下核心功能: 拖放或上传 PDF 文件:用户可以通过拖放或点击上传 PDF 文件。两种分割模式: 指定范围:用户可以指定起始页和结束页,提取特定范围的内容。固定间距:用户可以设置间隔页数(例如每 5 页分割一次),工具会自动完成分…...

高速差分信号的布线

差分信号如何在PCB上布线&#xff1f; 1.差分信号必须保证线间距相等&#xff0c;禁止打过孔或者放置元器件 2.差分信号必须打孔时&#xff0c;必须要保证伴随屏蔽地过孔&#xff08;缝合定位孔&#xff09;&#xff0c;减少信号干扰问题。 3.差分信号走线弯曲位置推荐&#…...

用openresty和lua实现壁纸投票功能

背景 之前做了一个随机壁纸接口&#xff0c;但是不知道大家喜欢对壁纸的喜好&#xff0c;所以干脆在实现一个投票功能&#xff0c;让用户给自己喜欢的壁纸进行投票。 原理说明 1.当访问http://demo.com/vote/时&#xff0c;会从/home/jobs/webs/imgs及子目录下获取图片列表&…...

智能测试执行 利用算法 利用图像识别、自然语言处理等技术实现自动化测试执行

以下将从Web应用和移动应用两个方面,给出利用图像识别、自然语言处理等技术实现自动化测试执行的实例,并附上部分代码示例。 Web应用自动化测试实例:模拟用户登录操作测试 需求理解 对于一个Web应用的登录功能进行自动化测试,我们可以结合自然语言处理理解测试用例描述,…...

AI学习之-阿里天池

阿里天池&#xff08;Tianchi&#xff09;是阿里巴巴集团旗下的一个数据科学与人工智能竞赛平台&#xff0c;致力于推动数据科学和人工智能的发展。在天池平台上&#xff0c;人们可以参与各种数据竞赛和挑战&#xff0c;解决实际问题&#xff0c;提升数据科学技能。天池平台提供…...

AGI觉醒假说的科学反驳:从数学根基到现实约束的深度解析

文章目录 引言:AGI觉醒论的核心迷思一、信息论视角:意识产生的熵约束1.1 香农熵的物理极限1.2 量子退相干的时间屏障二、数学根基:形式系统的自指困境2.1 哥德尔不完备定理的现代诠释三、概念解构:AGI觉醒假说的认知陷阱3.1 术语混淆的迷雾3.2 拟人化谬误的认知根源四、意识…...

SpringMVC的基本使用

controller标记一个类是控制器类 RequestMapping 进行路由映射可以是类也可以是方法&#xff0c;路由的/可以不加&#xff0c;但建议加上 1&#xff09;简单的映射返回一个hello RequestMapping("/m1")public String m1() { return "hello";} 2&#x…...

【漫话机器学习系列】103.学习曲线(Learning Curve)

学习曲线&#xff08;Learning Curve&#xff09;详解 1. 什么是学习曲线&#xff1f; 学习曲线&#xff08;Learning Curve&#xff09;是机器学习和深度学习领域中用于评估模型性能随训练过程变化的图示。它通常用于分析模型的学习能力、是否存在过拟合或欠拟合等问题。 从…...

ubuntu-24.04.1-desktop 中安装 QT6.7

ubuntu-24.04.1-desktop 中安装 QT6.7 1 环境准备1.1 安装 GCC 和必要的开发包:1.2 Xshell 连接 Ubuntu2 安装 Qt 和 Qt Creator:2.1 下载在线安装器2.2 在虚拟机中为文件添加可执行权限2.3 配置镜像地址运行安装器2.4 错误:libxcb-xinerama.so.0: cannot open shared objec…...

MQTT实现智能家居------2、写MQTT程序的思路

举个最简单的例子&#xff1a; 手机------服务器-------家具 我们这里只看手机和家具的客户端&#xff1a; 手机&#xff1a;1&#xff09;需要连接服务器 2&#xff09;需要发布指令给服务器到家里的家具 3&#xff09;接受来自于家里家具的异常状况 4&#xff09;保持心…...

【个人开发】deepspeed+Llama-factory 本地数据多卡Lora微调【完整教程】

文章目录 1.背景2.微调方式2.1 关键环境版本信息2.2 步骤2.2.1 下载llama-factory2.2.2 准备数据集2.2.3 微调模式2.2.3.1 zero-1微调2.2.3.2 zero-2微调2.2.3.3 zero-3微调2.2.3.4 单卡Lora微调 2.2.4 实验2.2.4.1 实验1&#xff1a;多GPU微调-zero12.2.4.2 实验2&#xff1a;…...

DeepSeek 从入门到精通:全面掌握 DeepSeek 的核心功能与应用

引言 DeepSeek 是一款功能强大的工具&#xff08;或平台/框架&#xff0c;具体根据实际定义&#xff09;&#xff0c;广泛应用于数据分析、人工智能、自动化任务等领域。无论你是初学者还是资深开发者&#xff0c;掌握 DeepSeek 的核心功能和应用场景都将为你的工作和学习带来…...

“国补”带火手机换新,出售旧手机应如何保护个人信息安全

在“国补”政策的推动下,手机换新热潮正席卷而来。“国补”以其诱人的补贴力度,成功激发了消费者更换手机的热情。无论是渴望体验最新技术的科技爱好者,还是对旧手机性能不满的普通用户,都纷纷投身到这场手机换新的浪潮之中。 随着大量消费者参与手机换新,二手手机市场迎来…...

驱动开发系列39 - Linux Graphics 3D 绘制流程(二)- 设置渲染管线

一:概述 Intel 的 Iris 驱动是 Mesa 中的 Gallium 驱动,主要用于 Intel Gen8+ GPU(Broadwell 及更新架构)。它负责与 i915 内核 DRM 驱动交互,并通过 Vulkan(ANV)、OpenGL(Iris Gallium)、或 OpenCL(Clover)来提供 3D 加速。在 Iris 驱动中,GPU Pipeline 设置 涉及…...

Windows使用docker部署fastgpt出现的一些问题

文章目录 Windows使用docker部署FastGPT出现的一些问题1.docker部署pg一直重启的问题2.重启MongoDB之后一直出现“Waiting for MongoDB to start...”3.oneapi启动不了failed to get gpt-3.5-turbo token encoder Windows使用docker部署FastGPT出现的一些问题 1.docker部署pg一…...

六十天前端强化训练之第一天HTML5语义化标签深度解析与博客搭建实战

欢迎来到编程星辰海的博客讲解 目录 一、语义化标签的核心价值 1.1 什么是语义化&#xff1f; 1.2 核心优势 二、语义标签详解与使用场景 2.1 布局容器标签 2.2 内容组织标签 三、博客结构搭建实战 3.1 完整HTML结构 3.2 核心结构解析 3.3 实现效果说明 四、学习要点…...

Oracle中补全时间的处理

在实际数据处理的过程中&#xff0c;存在日期不连续的问题&#xff0c;可能会导致数据传到前后端出现异常&#xff0c;为了避免这种问题&#xff0c;通常会从数据端进行日期不全的处理&#xff1a; 以下为补全年份的案例&#xff1a; with x as (select 开始年份 &#xff08;…...

PHP课程预约小程序源码

&#x1f4f1; 课程预约小程序&#xff1a;为您专属定制的便捷预约新体验 在这个快节奏的时代&#xff0c;我们深知每一位瑜伽爱好者、普拉提追随者以及培训机构管理者对高效、便捷服务的迫切需求。因此&#xff0c;我们匠心独运&#xff0c;推出了一款基于PHPUniApp框架开发的…...

(200): error: #29: expected an expression error: #40: expected an identifier

这是因为你乱加define导致你的define与变量名重复就会出现&#xff0c;他找不到错误只会抱着两个错...

一文讲解Redis中的常用命令

①、操作字符串的命令有&#xff1a; SET key value&#xff1a;设置键 key 的值为 value。GET key&#xff1a;获取键 key 的值。DEL key&#xff1a;删除键 key。INCR key&#xff1a;将键 key 存储的数值增一。DECR key&#xff1a;将键 key 存储的数值减一。 ②、操作列表…...

智能交通系统(Intelligent Transportation Systems):智慧城市中的交通革新

智能交通系统&#xff08;Intelligent Transportation Systems, ITS&#xff09;是利用先进的信息技术、通信技术、传感技术、计算机技术以及自动化技术等&#xff0c;来提升交通系统效率和安全性的一种交通管理方式。ITS通过收集和分析交通数据&#xff0c;智能化地调度、控制…...

Node.js 登录鉴权

目录 Session express-session 配置 express-session 函数 ts 要配置声明文件 express-session.d.ts express-session 使用 express-session 带角色 Token 什么是 JWT token jsonwebtoken 使用 jsonwebtoken 带角色 Session express 使用 express-session 管理会话&…...

EPSON L3118彩色喷墨打印机灯全闪故障维修一例

一台EPSON L3118彩色喷墨打印机&#xff0c;故障时开机灯全闪烁&#xff0c;一般来说这种故障问题都不太大&#xff0c;要么就是打印机内部卡纸了&#xff0c;要么就是传感器故障&#xff0c;一般情况下卡纸的问题比较多… …&#xff1b; 但是遇到一用户又菜又爱玩&#xff0c…...

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键

在 Mac ARM 架构的 macOS 系统上启用 F1 键作为 Snipaste 的截屏快捷键&#xff0c;主要涉及到两个方面&#xff1a;确保 F1 键作为标准功能键工作 和 在 Snipaste 中设置 F1 为快捷键。 因为 Mac 默认情况下&#xff0c;F1-F12 键通常用作控制屏幕亮度、音量等系统功能的快捷键…...

基于AT89C51单片机的教室智能照明控制系统

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/90419908?spm1001.2014.3001.5501 C16 部分参考设计如下&#xff1a; 摘 要 本项目的智能教室灯光控制系统通过合理的软硬件设计&#xff0c;有效地提升了教室…...

JavaSE学习笔记25-反射(reflection)

反射 在Java中&#xff0c;反射&#xff08;Reflection&#xff09; 是一种强大的机制&#xff0c;允许程序在运行时检查和操作类、方法、字段等信息。通过反射&#xff0c;可以动态地创建对象、调用方法、访问字段&#xff0c;甚至修改私有成员。反射的核心类是 java.lang.re…...

ctf网络安全题库 ctf网络安全大赛答案

此题解仅为部分题解&#xff0c;包括&#xff1a; 【RE】&#xff1a;①Reverse_Checkin ②SimplePE ③EzGame 【Web】①f12 ②ezrunner 【Crypto】①MD5 ②password ③看我回旋踢 ④摩丝 【Misc】①爆爆爆爆 ②凯撒大帝的三个秘密 ③你才是职业选手 一、 Re ① Reverse Chec…...

旋转位置编码(ROPE)详解:从Transformer到现代前沿

旋转位置编码&#xff08;ROPE&#xff09;详解&#xff1a;从Transformer到现代前沿 标签&#xff1a;NLP, Transformer, 位置编码, ROPE, 深度学习, 机器学习 摘要&#xff1a;本文详细介绍了旋转位置编码&#xff08;ROPE&#xff09;在Transformer模型中的应用&#xff0…...

ROS2机器人开发--服务通信与参数通信

服务通信与参数通信 在 ROS 2 中&#xff0c;服务&#xff08;Services&#xff09;通信和参数&#xff08;Parameters&#xff09;通信是两种重要的通信机制。服务是基于请求和响应的双向通信机制。参数用于管理节点的设置&#xff0c;并且参数通信是基于服务通信实现的。 1 …...

安全运维,等保测试常见解决问题。

1. 未配置口令复杂度策略。 # 配置密码安全策略 # vi /etc/pam.d/system-auth # local_users_only 只允许本机用户。 # retry 3 最多重复尝试3次。 # minlen12 最小长度为12个字符。 # dcredit-1 至少需要1个数字字符。 # ucredit-1 至少需要1个大…...

【数据标准】数据标准化是数据治理的基础

导读&#xff1a;数据标准化是数据治理的基石&#xff0c;它通过统一数据格式、编码、命名与语义等&#xff0c;全方位提升数据质量&#xff0c;确保准确性、完整性与一致性&#xff0c;从源头上杜绝错误与冲突。这不仅打破部门及系统间的数据壁垒&#xff0c;极大促进数据共享…...

Java 18~20 新特性

文章目录 一、Java 18 新特性1.1、UTF-8 作为默认字符集&#xff08;JEP 400&#xff09;1.2、简易 Web 服务器&#xff08;JEP 408&#xff09;1.3、代码片段标签 snippet&#xff08;JEP 413&#xff09;1.4、使用方法句柄重新实现反射核心&#xff08;JEP 416&#xff09;1.…...

程序员学商务英语之At the Hotel

Dialogue-3 Room service-Cleaning the Room客房服务-打扫房间 A: Who will do the dishes after dinner tonight? 今晚饭后谁来洗碗&#xff1f; B: It’s your turn. 轮到你了。 Go do the room right now. clean the room去打扫房间。Doing the laundry is the last thi…...

探秘路由表:网络世界的导航地图

一、引言 在当今数字化时代&#xff0c;网络已经成为我们生活中不可或缺的一部分。无论是浏览网页、观看视频&#xff0c;还是进行在线办公、游戏娱乐&#xff0c;我们都在与网络进行着频繁的交互。而在这背后&#xff0c;网络中的数据传输就如同现实生活中的快递配送&#xf…...

UniApp SelectorQuery 讲解

一、SelectorQuery简介 在UniApp中&#xff0c;SelectorQuery是一个非常强大的工具&#xff0c;它允许开发者查询节点信息。通过这个API&#xff0c;我们可以获取到页面元素的尺寸、位置、滚动条位置等信息。这在处理动态布局、动画效果或是用户交互时尤为重要。 二、基本使用…...

三数之和:经典问题的多种优化策略

三数之和&#xff1a;经典问题的多种优化策略 大家好&#xff0c;我是Echo_Wish。今天我们来聊一个经典的算法问题——三数之和&#xff08;3Sum&#xff09;。它是许多面试和算法竞赛中常见的问题之一&#xff0c;也常常考察我们对算法优化的理解和技巧。我们不仅要解决问题&…...

Flash-00

下载网站&#xff1a;Flash CC 2015中文版下载-Adobe Flash CC 2015(动画制作软件)免费下载-当快软件园 1-什么是Flash&#xff1f; Flash是一款多媒体设计软件&#xff0c;二维交互式动画设计工具&#xff0c;常用于矢量动画制作 2-Flash的应用领域&#xff1f; 动画制作&a…...

FTP 实验(ENSP模拟器实现)

FTP 概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是一种用于在网络上进行文件传输的标准协议。它允许用户在两台计算机之间上传和下载文件。 1、FTP采用客户端-服务器模型&#xff0c;客户端通过FTP客户端软件&#xff0c;连接到FTP服务…...