点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心技术交流群
后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!
后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!
后台回复【数据集下载】获取计算机视觉近30种数据集!
导读
ECCV 2022放榜,商汤科技联合上海人工智能实验室、上海交通大学的研究工作在今年的ECCV中以Oral Presentation被接收。
传统的单目2D车道检测方案在自动驾驶的跟踪规划和控制任务中性能较差;3D车道检测方案在前视图和鸟瞰视图(BEV)之间的空间转换设计过于简单,并且缺乏真实的数据,在复杂场景下不适用。针对这些问题,团队提出了PersFormer (Perspective Transformer):一种端到端的单目3D车道线检测器,其中有一个基于Transformer的空间特征转换模块。模型以相机参数为参考,通过关注相关的前视图局部区域来生成BEV特征。PersFormer采用统一的2D/3D锚点设计和加入一个辅助任务来同时检测2D/3D车道,多任务之间分享特征,增强了特征的一致性。
同时,在该论文中发布了业内第一个大规模真实场景3D车道数据集——OpenLane,具有高质量的注释和场景多样性。该数据集基于自动驾驶领域的主流数据集Waymo Open Dataset构建。OpenLane包含20万帧、超过88万条实例级车道、14个车道类别(单白色虚线、双黄色实体、左/右路边等),以及场景标签和路线邻近目标(CIPO)注释,以鼓励开发3D车道检测和更多与产业相关的自动驾驶方法。
论文名称:
PersFormer: 3D Lane Detection via Perspective Transformer and the OpenLane Benchmark
Part 1 Motivation
自动驾驶行业蓬勃发展,而其中的辅助驾驶系统 (ADAS) 或者L2到L4的驾驶场景都需要提供一些车道线检测功能如Automated Lane Centering (ALC)和 Lane Departure Warning (LDW)。这其中的核心模块就是一个鲁棒的,泛化性能好的车道线检测器。而随着深度学习的不断演进,2D车道线检测已经有了较为成熟的做法。但是2D车道线其实是无法满足工业界的真正需求,主要体现在两点。
1. 下游的规控模块需要车道线检测发生在鸟瞰图视角(BEV),而仅作简单的前视图到鸟瞰图的投影会极大依赖于相机参数,而这在实际场景中是很难获取到准确的真值。
2. 车道线的高度信息在投影过程中占有很重要的地位,尤其是在上下坡场景中,高度信息会极大地影响投影质量,而之前的投影做法是在水平路面的假设上进行的。而目前市面上缺少一个带高度信息的车道线数据集。
如图所示是直观的介绍从(a)Perspective View到(b)中Bird Eye View做车道线检测的动机:在平面假设下,车道将在投影BEV中分叉/汇聚,考虑到高度的3D解决方案可以准确预测这种情况下的平行拓扑结构。而(c)在特征层面用PersFormer做投影,能较好地增强投影特征,进而解决BEV下检测不准的问题。
基于这些问题,团队分别提出了PersFormer(Perspective Transformer)一种端到端的单目3D车道线检测器,和大规模真实场景3D车道数据集——OpenLane。
Part 2 Perspective Transformer
整体Pipeline
如图是整个PersFormer流水线:其核心是学习从前视图到BEV空间的空间特征转换,关注参考点周围的局部环境,在目标点(target point)生成的BEV特征将更具代表性;PersFormer由自注意模块组成,用于与本身BEV查询进行交互;交叉注意模块从基于IPM的前视图特征中获取key-value对,生成细粒度BEV特征。
PersFormer整体pipeline
这里主干网将resized图像作为输入,并生成多尺度前视图特征。主干网采用了流行的ResNet变型,这些特征可能会受到尺度变化、遮挡等缺陷的影响,这些缺陷来自前视图空间中固有的特征提取。最后,车道检测头负责预测2D和3D坐标以及车道类型。2D/3D检测头被称为LaneATT和3D LaneNet,其中对结构和锚点设计进行了一些修改。
View Transformation
如何做Perspective View到Bird Eye View的转换是PersFormer的重点,这里我们使用了交叉注意力机制来解决这个问题。如图所示是交叉注意中生成key:BEV空间中的点(x,y)通过中间态(x′,y′)投射前视图中的对应点(u,v);通过学习偏移量,网络学习从绿色矩框到黄色目标参考点之间的映射,以及相关的蓝色框作为Transformer的key。
交叉注意力机制示意图
Unified Anchor Design
进一步的目标是统一2-D车道检测和3-D车道检测任务,采用多任务学习(multi-task learning)进行优化。一方面,透视图中,2D车道检测仍然作为大家的兴趣;另一方面,统一2D和3D任务自然是可行的,因为预测3D输出的BEV特征来自2D分支中的对应项。
如图是在2D和3D中统一锚点设计:首先在BEV空间(左)放置策划的锚点(红色),然后将其投影到前视图(右)。偏移量xik和uik(虚线)预测真值(黄色和绿色)到锚点的匹配。这样就建立了对应关系,并一起优化了特征。
统一2D和3D锚点设计示意图
Part 3 OpenLane
OpenLane包含20万帧、超过88万条实例级车道、14个车道类别(单白色虚线、双黄色实体、左/右路边等),以及场景标签和路线邻近目标(CIPO)注释,以鼓励开发3D车道检测和更多与产业相关的自动驾驶方法。
如表是OpenLane和其他基准线的比较:
OpenLane与现有基准的比较
“Avg. Length”表示分段的平均持续时间;
“Inst.Anno.”指示车道是否按实例注释(按c.f.语义注释);
“Track. Anno.”表示车道是否具有唯一的跟踪ID;
“#Frames”中的数字分别是总帧中带注释的帧数;
“Line Category”表示车道种类;
“Scenario”表示场景标签。
标注类型
• 车道形状:每个2D/3D车道显示为一组2D/3D点
• 车道类别:每条车道都有一个类别,例如双黄线或路缘
• 车道属性:某些车道具有右、左等属性
• 车道跟踪ID:除路缘外,每条车道都有唯一的ID
• 停车线和路缘
(有关更多注释标准,请参考车道Anno标准)
CIPO/场景注释
• 二维边界框:其类别表示对象的重要性级别
• 场景标记:它描述了在哪个场景中收集此帧
• 天气标签:它描述了在什么天气下收集此帧
• 小时标记:它注释了收集此帧的时间
数据集可视化
OpenLane标注样例
OpenLane样例概览,涵盖夜晚、日光、弯道等多种场景
Part 4 实验结果
我们在小规模仿真3D车道线数据集Apollo和大规模真实场景3D车道线数据集OpenLane分别做了实验,均达到SOTA水平。
Apollo实验结果
OpenLane实验结果
消融实验对比
相关资料
►论文地址:
https://arxiv.org/pdf/2203.11089.pdf
►项目地址:
https://github.com/OpenPerceptionX/OpenLane
【自动驾驶之心】全栈技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;
加入我们:自动驾驶之心技术交流群汇总!
自动驾驶之心【知识星球】
想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!