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

MapTR论文笔记

MAPTR: STRUCTURED MODELING AND LEARNING FOR ONLINE VECTORIZED HD MAP CONSTRUCTION

目的

传统高精地图 通过一些离线的基于 SLAM 的方法生成,需要复杂的流程以及高昂的维护费用。基于 bev 分割的建图方法,缺少向量化 实例级的信息,比如说lane结构。为了获得向量化的 HD map,HDMapNet 将像素级的分割结果分组,需要复杂且耗时的后处理。VectorMapNet 将地图的元素表示成点序列,采用了层级式 coarse-to-fine 网络,并且利用了自回归的 decoder 预测 序列化的点集,需要较长的推理时间。
![[attachments/Pasted image 20230806170047.png]]
当前在线向量化的在线高清地图的构建方法的效率较低,无法应用到实时的场景。DETR 采用了简单的 encoder-decoder transformer 结构,实现了端到端的目标检测。本文的目的是设计一个 类似于 DETR 结构,高效的端到端的 高清地图的构建方法。

本文的主要贡献主要有两点:

  1. 对于地图元素的统一表示
  2. 针对这种统一表示给出了 一个端到端学习的网络结构

方法

地图元素表示

地图的元素可表示成 折线 和 多边形 两种类别。这两种都可以用 点集 表示。然而点集的排列方式不是唯一的,存在多种排列方式。比如说 折线,它的起点和终点是可以互换的,代表两种方向,对于一些方向不敏感的元素,比如说人行道或者 车道线,两种方向都是可以的。如下图所示:

如果让网络只学习某一种排列方式,是不合理的。因此本文对于每一个地图元素都给出了所有的排列组合方式,用于后续网络的训练。
对于折线,根据起点位置的不同,有两种排列方式。对于多边形,需要考虑两个因素: 起点的位置 以及 连接的顺序(顺时针 或 逆时针),这样可以产生多种排列方式。

在这里插入图片描述

匹配方法

和 DETR 一样,MapTR 同时预测 N 个地图元素,N 是一个较大的数字,比一般场景中地图元素的数量要大。
MapTR 中需要使用两种匹配方法以实现 网络预测的元素 和 gt 某个元素的某一个具体的排列方式的匹配。本文的匹配方法有两个层级:Instance-level Matching 以及 Point-level Matching。

Instance-level Matching

在训练时,我们需要把 网络预测的元素 和 gt 匹配起来,这里也是使用的匈牙利匹配算法。
预测元素 和 gt 的 cost 考虑两部分:
元素的类别 以及 位置。类别使用的是 Focal loss,位置的loss使用的是 关于点位置的距离函数。

Point-level Matching

在 实例级的匹配之后,我们已经拿到了 预测元素 和 gt 的匹配关系,然后我们还需要做 点级的 匹配。
预测的点集 会和 gt 排列组合 中 每一个 排列方法 计算 距离,选择距离最小的一个配对。这里使用的是曼哈顿距离。

训练的 loss

  • 分类 loss focal loss
  • point2point loss,曼哈顿距离
  • edge direction loss,point2point loss 只考虑了点,并没有考虑 和折线 和 多边形的 边。edge direction loss 加入了对 边方向的 监督。这里使用的是余弦相似度。
    边可以用向量来表示(空间中两个点的坐标相减)

网络结构

MapTR 结构还是比较直接的 使用的是 bev + transformer decoder 结构

在这里插入图片描述

相关资料

https://www.bilibili.com/video/BV1uh4y1X7Ah/?spm_id_from=333.337.search-card.all.click

http://www.lryc.cn/news/112658.html

相关文章:

  • JS进阶-Day4
  • 【C语言】初阶完结练习题
  • c++类与对象详解
  • I/O 函数/缓存和字节流、占位符、getchar(),putchar()
  • MySQL日期常见的函数
  • Python获取CPU温度
  • 后端整理(MySql)
  • HashSet的详细介绍
  • 【SCI征稿】JCR1区,中科院2区,有关大数据、人工智能、机器学习的应用研究均可
  • 【UE】AI导航,多个导航物体无法走到同一终点问题
  • 途游游戏 x 极狐GitLab “通关” DevOps :单元测试从无到优,覆盖率 0→80%
  • 【云原生】Docker-Compose全方面学习
  • 基于 Redux + TypeScript 实现强类型检查和对 Json 的数据清理
  • HIVE语法优化之Join优化
  • 如何申请境内金融信息服务报备
  • VS code:Task
  • 《Java-SE-第三十章》之哲学家就餐问题
  • 关于接口测试用例设计的一些思考
  • gin和gorm框架安装
  • 今天小编继续给大家分享五款高效的电脑宝藏软件
  • SQL Server数据库如何添加mysql链接服务器(Windows系统)
  • scala连接mysql数据库
  • datax-web登陆时出现账号密码错误
  • Redis 和 MySQL如何保证数据一致性
  • VR虚拟仿真技术在道路桥梁中有哪些具体应用?
  • 如何找到死锁的线程?_java都学什么
  • MFC遍历目录包括子目录下所有文件、特定类型文件
  • Kubernetes 集群calico网络故障排查思路
  • OBS视频视频人物实时扣图方法(四种方式)
  • DROP USER c##xyt CASCADE > ORA-01940: 无法删除当前连接的用户