经典文献阅读之--MapTR(环视车道线地图提取)

news2024/10/5 16:30:05

0. 简介

最近环视图像处理其实已经非常火了,最近地平线&华科则是提出了一种新的环视车道线地图提取工具。高清(HD)地图提供了驾驶场景丰富而精确的环境信息,是自动驾驶系统规划中基础且不可或缺的组成部分。《MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction》提出了一种用于高效在线矢量化HD地图构建的结构化端到端Transformer。通过统一的置换等价建模方法,即将地图元素建模为一个具有一组等价置换的点集,准确描述了地图元素的形状并稳定了学习过程。文中使用统一的置换等价建模方法,即将地图元素建模为一个具有一组等价置换的点集,准确描述了地图元素的形状并稳定了学习过程。相关的代码已经在Github上开源了。

1. 文章贡献

在这里插入图片描述

图1. MapTR在复杂和多样的驾驶场景中保持了稳定而强健的矢量化高清地图构建质量

本文的贡献可以总结如下:

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

2. MAPTR置换等价建模

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

一开始,多边形和折线都可以表示为有序点集 V F = [ v 0 , v 1 , . . . , v N v − 1 ] V^F = [v_0, v_1, . . . , v_{N_v −1}] VF=[v0,v1,...,vNv1](见图3(Vanilla))。 N v N_v Nv表示点的数量。然而,点集的排列没有明确定义,也不唯一。多边形和折线存在许多等价的排列方式。例如,如图2(a)所示,对于两条相对车道之间的车道分隔线(折线),很难定义其方向。车道分隔线的两个端点都可以视为起点,点集可以按两个方向进行组织。在图2(b)中,对于人行横道(多边形),**点集可以按两个相反的方向(顺时针和逆时针)进行组织。**而且,循环改变点集的排列对多边形的几何形状没有影响。对点集施加固定的排列作为监督是不合理的。这种固定的排列与其他等价的排列相矛盾,阻碍了学习过程。

在这里插入图片描述

图2. 用于说明地图元素关于起点和方向模糊性的典型案例。(a) 折线:对于两条相对车道之间的车道分隔线,定义其方向是困难的。车道分隔线的两个端点都可以被视为起点,并且点集可以按两个方向进行组织。(b) 多边形:对于人行横道,多边形的每个点都可以被视为起点,并且多边形可以按两个相反的方向(顺时针和逆时针)连接。

为了弥合这一差距,MapTR用 V = ( V , Γ ) V = (V, Γ) 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 Γ = {γ^k} Γ=γk表示点集 V V V的一组等价排列,覆盖了所有可能的组织顺序。

具体而言,对于折线元素(见图3(左)), Γ Γ Γ包括两种等价排列方式。
在这里插入图片描述

对于多边形元素(见图3(右)), Γ Γ Γ包括 2 × N v 2 × N_v 2×Nv种等价排列方式。
在这里插入图片描述
通过引入等价排列的概念,MapTR以统一的方式对地图元素进行建模,并解决了模糊性问题。MapTR进一步引入了层次化的双向匹配(详见第3节和第4节)进行地图元素学习,并设计了一个结构化的编码器-解码器Transformer架构以高效预测地图元素(详见第5节)。

在这里插入图片描述

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

3. 层次匹配(重要内容)

MapTR在单次传递中并行推断一组固定大小的 N N N个地图元素,遵循DETR(Carion等,2020; Fang等,2021)的端到端范例。 N N N被设定为大于场景中地图元素的典型数量。我们用 Y ^ = { y ^ i } i = 0 N − 1 \hat{Y} = \{\hat{y}_i\}^{N −1}_{i=0} Y^={y^i}i=0N1 表示 N N N个预测地图元素的集合。将地面实况(GT)地图元素集合填充为具有大小 N N N的集合,用 Y = { y i } i = 0 N − 1 Y = \{y_i\}^{N −1}_{i=0} Y={yi}i=0N1 表示。其中, y i = ( c i , V i , Γ i ) y_i = (c_i, V_i, Γ_i) yi=(ci,Vi,Γi) c i c_i ci V i V_i Vi Γ i Γ_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分别是预测的分类得分和预测的点集。为了实现结构化的地图元素建模和学习,MapTR引入了层次化的双向匹配,即按照顺序进行实例级匹配和点级匹配

3.1 实例级匹配

首先,我们需要在预测的地图元素 { y ^ i } \{\hat{y}_i\} {y^i}和GT地图元素 { y i } \{y_i\} {yi}之间找到最优的实例级标签分配 π ^ \hat{π} π^ π ^ \hat{π} π^是N个元素的排列( π ^ ∈ Π N \hat{π} ∈ Π_N π^ΠN ),具有最低的实例级匹配成本:
在这里插入图片描述
L_{ins_match}(\hat{y}_π(i),y_i)是预测 y ^ π ( i ) \hat{y}π(i) y^π(i)和GT y i y_i yi之间的逐对匹配成本,它考虑了地图元素的类别标签和点集位置。
在这里插入图片描述
L F o c a l ( p ^ π ( i ) , c i ) L_{Focal}(\hat{p}_π(i),c_i) LFocal(p^π(i)ci)是类别匹配成本项,定义为预测的分类得分 ∣ h a t p π ( i ) |hat{p}_{π(i)} hatpπ(i)和目标类别标签 c i c_i ci之间的Focal损失(Lin等,2017)。 L p o s i t i o n ( V ^ π ( i ) , V i ) L_{position}(\hat{V}_{π(i)},V_i) Lposition(V^π(i)Vi)是位置匹配成本项,反映了预测的点集 V ^ π ( i ) \hat{V}_{π(i)} V^π(i)和GT点集 V i V_i Vi之间的位置相关性。使用匈牙利算法在DETR中寻找最优的实例级分配 π ^ \hat{π} π^

3.2 点级匹配

在实例级匹配之后,每个预测的地图元素 y ^ π ^ ( i ) \hat{y}_{\hat{π}(i)} y^π^(i)与一个GT地图元素 y i y_i yi进行匹配。然后,对于每个被分配了正类别标签( c i ≠ ∅ c_i \neq ∅ ci=)的预测实例,我们进行点级匹配,以找到预测点集 V ^ π ^ ( i ) \hat{V}_{\hat{π}(i)} V^π^(i)和GT点集 V i V_i Vi之间的最优点对点分配 γ ^ ∈ Γ \hat{γ} ∈ Γ γ^Γ γ ^ \hat{γ} γ^从预定义的排列组 Γ Γ Γ中选择,具有最低的点级匹配成本。
在这里插入图片描述
D M a n h a t t a n ( v ^ j , v γ ( j ) ) D_{Manhattan}(\hat{v}_j, v_{γ(j)}) DManhattan(v^j,vγ(j))是预测点集 V ^ \hat{V} V^的第 j j j个点与GT点集 V V V的第 γ ( j ) γ(j) γ(j)个点之间的曼哈顿距离。

4. 训练损失

MapTR基于最优的实例级和点级分配( π ^ \hat{π} π^ { γ ^ i } \{\hat{γ}_i\} {γ^i})进行训练。损失函数由三个部分组成,包括分类损失、点对点损失和边方向损失。
在这里插入图片描述

4.1 点对点损失

点对点损失用于监督每个预测点的位置。对于具有索引 i i i的每个GT实例,根据点级最优匹配结果 γ ^ i \hat{γ}_i γ^i,将每个预测点 v ^ π ^ ( i ) , j \hat{v}_{\hat{π}(i),j} v^π^(i),j分配给一个GT v i , γ ^ i ( j ) v_{i,\hat{γ}_i(j)} vi,γ^i(j)。点对点损失定义为计算每个配对点之间的曼哈顿距离:
在这里插入图片描述

…详情请参照古月居

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

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

相关文章

“益路同行”栏目专访 第06期—小星星关爱联盟创始人魏洁荣老师

中国善网在本届(第十届)慈展会上特别推出了《益路同行》采访栏目,《益路同行》栏目旨在寻觅公益之路上同行者的故事,挖掘公益更深层次的内涵,探索新时代公益发展道路。希望公益企业、人物、故事被更多人看到&#xff0…

软件测试/测试开发丨App自动化测试-弹窗异常处理

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27692 黑名单处理 运行过程中不定时弹框(广告弹窗,升级提示框,新消息提示框等等) 弹框不是 BUG&#xff0…

2023/9/28 -- ARM

【内存读写指令】 int *p0X12345678 *p100;//向内存中写入数据 int a *p;//从内存读取 1.单寄存器内存读写指令 1.1 指令码以及功能 向内存中写: str:向内存中写一个字(4字节)的数据 strh:向内存写半个字(2字节)的数据 strb:向内存写一个字…

TS中Class类的继承

我们有下面一个代码,其中创建了一个Dog类和Cat类,这两个类中都有姓名和年龄属性和bark方法 class Dog {name: string;age: number;constructor(name: string, age: number) {this.name name;this.age age;}bark() {console.log(this.name "汪汪…

温故 Spring5 特性

一、前言 随着技术的不断发展,Spring框架也在不断地更新迭代。我们将温故Spring 5的特性,并探讨如何在实际项目中应用这些特性来提升开发效率和系统性能。 Spring 5是Spring框架的一个重要版本,它带来了许多新特性,包括对Java 8…

Eclipse iceoryx(千字自传)

1 在固定时间内实现无任何限制的数据传输 在汽车automotive、机器人robotics和游戏gaming等领域,必须在系统的不同部分之间传输大量数据。使用Linux等操作系统时,必须使用进程间通信(IPC)机制传输数据。Eclipse iceoryx是一种中间件,它使用零拷贝Zero-Copy、共享内存Share…

MySQL笔记(进阶篇)

包含内容: 存储引擎 索引 SQL优化 视图/存储过程/触发器 锁 InnoDB引擎 MySQL管理 存储引擎 MySQL体系结构 连接层:最上层是一些客户端和连接服务,主要完成一些类似于连接处理,授权认证,及相关的安全方案.服务器也会为安全接入的每个客户验证它所…

SAP配置BOM数据结构详解-整车(SAP配置BOM攻略十)

一、MBOM数据 1、一个产品由多个物料构成,每个物料构成MBOM的一行。 2、工程变更号在BOM数据中是必须的。变更号的实质是通过变更号指向某个生效日期。通过变更号关联的日期区间,可用决定这个物料数据是否启用。 二、特征数据 1、一个车可用分类为多个…

P1-P5_动手学深度学习-pytorch(李沐版,粗浅的笔记)

目录 预告  1.学习深度学习的关键是动手  2.什么是《动手学深度学习》  3.曾经推出的版本(含github链接) 一、课程安排  1.目标  2.内容  3.上课形式  4.你将学到什么  5.资源 二、深度学习的介绍  1.AI地图  2.深度学习在一些应用上…

【数据结构与算法】之“堆”介绍

目录 堆的基本存储 一、概念及其介绍 二、适用说明 三、结构图示 堆的 shift up 堆的 shift down 基础堆排序 一、概念及其介绍 二、适用说明 三、过程图示 优化堆排序 索引堆及其优化 一、概念及其介绍 二、适用说明 三、结构图示 堆的基本存储 一、概念及其介…

SiegedSec 黑客组织袭击北约网络系统

Security Affairs 网站披露,一个名为 SiegedSec 的网络攻击组织近期成功入侵了北约网络系统,并在网上散布盗取的大量非机密文件。 目前,北约正在就此事展开积极调查,其所属官员发表声明表示,北约内部已经组织了大量的网…

智能导览与实时监测:数字孪生助力景区管理

在当今旅游业快速发展的背景下,景区“人流管理”成为了一个越来越重要的问题。数字孪生技术由于其自身优势,可以为景区管理者提供更智能、更高效的管理方案。本文结合山海鲸可视化几个数字孪生案例带大家一起了解数字孪生在景区人流管理方面的应用&#…

计算机竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

架构师选择题--计算机网络

架构师选择题--计算机网络 真题 真题 d http:80 https:httpssl :443 b b pop3是邮件接收协议:110 SMTP是邮件发送协议:25 http:80 A 网络隔离:防火墙(逻辑),网闸(物理) …

OpenCV4(C++) —— 图像数据类型转换和颜色模型转换

文章目录 一、图像数据类型转换二、颜色模型转换三、通道的分离和融合 一、图像数据类型转换 OpenCV中使用imread读取一张彩色图像时,默认采用的是BGR通道和整数类型(0-255,CV_8U)。 在某些情况下,会将整数类型(0-255)转换为浮点类型(0-1)&a…

助力电力行业数字化转型:智慧风电项目介绍

智慧电力作为电力领域的突破性进展,旨在实现能源领域的数字化转型。智慧电力借助数字孪生、IOT、云计算等技术,将传统的电力系统升级为高智能、高效能的系统,助力传统能源企业实现数字化转型。下面让我们来看一看山海鲸可视化提供的智慧电力相…

c#利用Chart 画图

c#利用Chart 画图 添加画图组件 编写代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; …

【网络安全-sql注入(5)】sqlmap以及几款自动化sql注入工具的详细使用过程(提供工具)

一,sqlmap 工具的详细使用 kali系统自带这个工具,无需安装直接sqlmap 后面接参数使用 Windows上参照以下方法安装即可 1-1 工具下载 1-1-1 sqlmap下载 sqlmap 工具下载地址: GitHub - sqlmapproject/sqlmap: Automatic SQL injection a…

6-6 两个有序链表序列的合并 分数 10

List Merge(List L1, List L2) {if (L1 NULL)return L2;if (L2 NULL)return L1;// 定义指针p和q分别指向链表L1和L2的头结点List p L1->Next;List q L2->Next;// 定义新链表的头结点和指针rList head (List)malloc(sizeof(struct Node));head->Next NULL;List r…

WinScope跟踪window/layer pb文件

WinScope web用来跟踪分析WindowManager或SurfaceFlinger在window转换期间和转换后的状态,跟踪记录会被写入 /data/misc/wmtrace/wm_trace.pb 和 /data/misc/wmtrace/layers_trace.pb,同时还会包含在错误报告中。 一、下载winscope.html curl https://a…