MapTR, MapTRv2学习

MapTR提出了一种基于DETR-like的端到端HD矢量地图网络,采用permutation-equivalent模型处理地图实例。MapTRv2升级了模型结构,包括decoupledself-attention和层次化查询嵌入,以及在线高精矢量化地图构建的新方案。
摘要由CSDN通过智能技术生成

一、MapTR

1.1 MapTR概述

已有的实时建图算法:

  • 目标检测?无法表达不规则实例

  • 语义分割?缺乏拓扑结构 HDMapNet(语义分割+后处理)

  • 图结构?稀疏图,复杂度过高 InstraGraM(点检测+GNN)

  • Auto-regression?VectorMapNet (已知前n个车道关键点,预测n+1)

MapTR提出一种DETR-like(一种基于transformer的目标检测网络) 的端到端的HD矢量地图网络结构。

  • permutation-equivalent:将地图实例模拟成一堆点集(并非单一起始结束点序列,而是一堆点集不同排列方式的组合)。分为polyline和polygon两类要素

  • 贡献点不在于Encoder,而在于获得BEV特征后,如何处理BEV特征。

1.2 模型结构

cost计算

  • Instance-level Matching :实例级匹配cost计算 (分类cost和回归cost(代码中是用的点对点cost))

  • Point-level Matching :

        

loss计算 (主要是点对点之间的回归,而不是instance级别的回归)

  • Classification Loss

        

  • Point2point Loss

        

  • Edge Direction Loss (约束点序列)

        

二、MapTR v2

2.1 v1 核心贡献

  • permutation-equivalent modeling :将地图实例模拟成一堆点集(并非单一起始结束点序列,而是一堆点集不同排列方式的组合)。

  • hierarchical query embedding (层次化查询嵌入):类似在自然语言处理中,如果你有一个包含嵌套结构的句子或段落,你可能会使用层次化查询嵌入来将这些信息嵌入到神经网络模型中,以便模型可以有效地处理这种层次结构的数据。

2.2 v1 vs v2

  • decoupled self-attention

    • transformer 复杂度是 n^2,(point query * instance query) ^ 2,计算量巨大。

    • 改为decoupled sef-attention,inter-ins self-attention + intra-ins self-attention

  • auxiliary one-to-many set prediction

  • center-line

  • 取消了部分类别的permutation,如center-line

  • PV vs BEV

  • dense supervision

2.3 模型结构

三、【地平线*自动驾驶之心】在线高精矢量化地图构建SOTA方案MapTR v1/v2、LaneGAP

3.1 核心内容摘要

道路拓扑建模:

方案一(Pixel-wise modeling):基于分割的方式,通过后处理将分割变为一个像素宽度的线,再后处理沿着线trace得到道路拓扑。

方案二(Piece-wise modeling):预测段,再预测段与段的连接关系。

新方案(Path-wise modeling):更长且相对完整,有overlap,可以隐式将分歧点连接关系编码到完整的实例中。

MapTR:

引入permutation-equivalent(等价置换),LaneGAP引入Path-wise modeling。可学好学。

MapTR v2:

中心线分割;支持2d/3d 矢量化地图;模型升级;训练方法升级

  • 模型结构,decoder 两个改进

    • v1 训练代价大,v2 只做实例间的self-attention,另外self-attention解耦为2个,推理慢一些,训练快些。

    • pv based cross attention

  • 正负样本分配

    • 车道中心线不给增广图

  • 辅助监督

四、附录

4.1 术语

FPS :每秒帧数

PV to BEV:某个特定的视角(Point of View)转为鸟瞰视图(Bird's Eye View),即从相机或传感器的特定位置(视角)获取的信息,转换为整个场景的鸟瞰视图。

mAP:mAP 是一种用于评估目标检测模型性能的指标,全称是 mean Average Precision(平均精度均值),值越高表示性能越好。

边缘的余弦相似性:计算两个边缘图像之间的相似性,其中边缘图像指的是包含对象边缘信息的二值图像。常见的边缘检测算法包括Sobel、Canny等,得到两个图像的边缘后,可以使用余弦相似性来衡量它们之间的相似程度。

损失函数(Loss Function ):定义在单个样本上的,算的是一个样本的误差。
代价函数(Cost Function ):定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

4.2 参考

https://www.eet-china.com/mp/a251318.html

MapTR/MapTRV2,实时建图万字长文

手撕MapTRv2:百忙之中敷衍大家_哔哩哔哩_bilibili

【地平线×自动驾驶之心】在线高精矢量化地图构建SOTA方案MapTR v1/v2、LaneGAP_哔哩哔哩_bilibili

  • 13
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根你提供的引用内容,出现了几个ModuleNotFoundError错误。根据的引用,出现了No module named 'projects'错误。这意味着无法找到名为'projects'的模块。根据的引用,出现了No module named 'numpy.typing'错误。这意味着无法找到名为'numpy.typing'的模块。根据的引用,出现了No module named 'tkinter'错误。这意味着无法找到名为'tkinter'的模块。 而对于你提到的mim import requests ModuleNotFoundError: No module named 'requests'错误,这意味着无法找到名为'requests'的模块。 解决这些错误的一种方法是安装所需的模块。你可以使用pip工具来安装模块。例如,对于requests模块,你可以运行以下命令来安装它: pip install requests 对于其他的模块,你可以根据错误信息中提到的模块名使用pip来安装它们。如果这些模块不在Python Package Index(PyPI)上,你可能需要先在你的环境中配置正确的Python路径。你可以参考中提到的export PYTHONPATH的方法,将你的包路径添加到PYTHONPATH环境变量中。 希望这些解决方法能帮助你解决这些ModuleNotFoundError错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MapTR复现记录](https://blog.csdn.net/Super_CoolC/article/details/132057051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值