地平线&华科最新!环视车道线MapTR阅读笔记

作者 | Malignus  编辑 | 汽车人

原文链接:https://zhuanlan.zhihu.com/p/564565206?

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【车道线检测】技术交流群

后台回复【车道线综述】获取基于检测、分割、分类、曲线拟合等近几十篇学习论文!

最近比较新出炉的一篇基于环视车道线检测的工作~ 由华中科技大学的vision lab & 地平线共同推出的工作,由于目前本身在忙秋招的工作,所以这篇论文整体阅读的没有特别的细致。对于试验的很多ablation study内容没有过多关注,这里就简单介绍一下整篇paper的method部分啦

1Permutation-based modeling

整篇论文基于的前提是nuScenes数据集中,车道线的标注并未区分方向。这里也特别要提一下我自己先前混淆的内容,先前的环视车道线检测工作包括这篇中涉及的vectorized的定义,与我们数学中自带方向的矢量化定义还有差别。这里的vectorized与之相反的是rasterized,感觉更类似稀疏化表示与稠密化表示的区别,而非方向性。

5c2a91d3e251a31d46703293a76b37b9.png

对于图左情况,人行横道采用polyline进行表征。由于polyline没有区分方向,所以起点终点不需要强调一致性,两种等价排列方式均可进行表征。
对于图右情况,人行横道采用polygon进行表征,对于一个人行横道的polygon而言,没必要在意其对应Keypoint的排列顺序。故k个点组成的polygon, 可以通过2* k种等价排列方式进行表征。

2b2d32f1efb7f44be0fb2969bd08e571.png

2Hierarchical matching

Symbol

  • N: 地图元素总数,该数量大于数据集中任意一个图片的地图元素数量,多余的空值通过padding补齐,目的是对齐GT数量,方便多Batch_size的训练和验证。

e7f14caeec54838c90779f558fb17967.png c2e13292da44bf3165cd3bd58bbca598.png
  • : N个元素的排列

整体的matching包括两部分:Instance-level matching和point-level matching

Instance-level Matching

c8a3176c2893571a4a3ab462ee74c6b7.png

用匈牙利匹配来找到最优匹配,这里的position matching cost就是point2point cost,与point-level matching的cost完全一致。

Point-level Matching

在实例匹配后,将与非空匹配的实例标注为正样本。对正样本进行点级别的匹配,匹配cost基于曼哈顿距离。

Loss

a30307edee6854f29c4e951a4d0a4fb6.png

整体loss包括三方面组成,classification loss&point2point loss&direction loss

Classification Loss

基于实例级匹配的结果,每个道路元素会被分配class label,使用focal loss。

Point2point Loss

这里的loss在于限制预测点的位置,该loss定义为所有匹配的两两点间的曼哈顿距离。

Edge Direction Loss

点与点间的距离并未在边的维度上进行几何信息的约束,基于这点,作者提出对匹配的预测边和GT边的余弦相似度作为loss. 这里的边的计算,就是通过点与点的x, y差值得到。

Architecture

模型整体采用Encoder-Decoder的结构范式,具体如图所示。

05431836370106aef6a43a786d328a7b.png

Map Encoder

模型的编码器负责从环视相机提2D features,并将特征投影至BEV下。作者这里采用的是GKT,其实与BEVFormer整体思路基本一致。其中GKT是fixed的kernel,而BEVFormer是类似于Deformable detr, 他的reference points的offset是不断学习的。

Map Decoder

1c140a8f1f335411c7f11476b6b4ebac.png

The detail unknown right now

这篇论文当中当然也还是有一些细节目前还没有特别搞明白,由于代码也还没有开源,所以这里简单mark一下。

  1. 作者提到每个道路元素会用20个点来进行表征,但nuScenes中好像不是所有的数据都会用20个点来进行表征?所以是将nuScenes的每个map element都先interpolation到20还是说进行了补0之类的操作呢?

  2. 点与点的匹配这里其实是我有一点困惑的,基于我的理解,对于polyline,作者希望点的预测本身就是带顺序的,即预测map element的20个点与GT的点集匹配时,就是0-0, 1-1, ……到19-19。而作者的motivation,是认为polyline既可以从0-19,也可以是19-0,所以匹配的原则可以是从0-0, 1-1, ……到19-19,或0-19, 1-18, ……到19-0这样子?这里我也不是特别确定。不清楚我对这一段表述的理解是否准确。

ee20801549ffd53d953e2886d3afcb92.png

视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

c2e64eacfba9d5ba525f46904fbd2e5d.png

(扫码学习最新视频)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

9eac8bd41551d97a8a392bbf7fbb7870.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

4a5843985c207712e75f150bd9ac2448.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值