z6尊龙官方网站

申请试用
登录
核心技术
以原创技术体系为根基,SenseCore商汤AI大装置为核心基座,布局多领域、多方向前沿研究,
快速打通AI在各个垂直场景中的应用,向行业赋能。

ECCV 2022 Oral | OpenLane:超大规模真实场景3D车道线检测任务

2022-09-18

1.png

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下检测不准的问题。


2.png

基于这些问题,团队分别提出了PersFormer(Perspective Transformer)一种端到端的单目3D车道线检测器,大规模真实场景3D车道数据集——OpenLane。


Part 2 Perspective Transformer


整体Pipeline


如图是整个PersFormer流水线:其核心是学习从前视图到BEV空间的空间特征转换,关注参考点周围的局部环境,在目标点(target point)生成的BEV特征将更具代表性;PersFormer由自注意模块组成,用于与本身BEV查询进行交互;交叉注意模块从基于IPM的前视图特征中获取key-value对,生成细粒度BEV特征。


3.png

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。


4.png

交叉注意力机制示意图


Unified Anchor Design


进一步的目标是统一2-D车道检测和3-D车道检测任务,采用多任务学习(multi-task learning)进行优化。一方面,透视图中,2D车道检测仍然作为大家的兴趣;另一方面,统一2D和3D任务自然是可行的,因为预测3D输出的BEV特征来自2D分支中的对应项。


如图是在2D和3D中统一锚点设计:首先在BEV空间(左)放置策划的锚点(红色),然后将其投影到前视图(右)。偏移量xik和uik(虚线)预测真值(黄色和绿色)到锚点的匹配。这样就建立了对应关系,并一起优化了特征。


5.png

统一2D和3D锚点设计示意图


Part 3 OpenLane


OpenLane包含20万帧、超过88万条实例级车道、14个车道类别(单白色虚线、双黄色实体、左/右路边等),以及场景标签和路线邻近目标(CIPO)注释,以鼓励开发3D车道检测和更多与产业相关的自动驾驶方法。


如表是OpenLane和其他基准线的比较:


6.png

OpenLane与现有基准的比较


“Avg. Length”表示分段的平均持续时间;

“Inst.Anno.”指示车道是否按实例注释(按c.f.语义注释);

“Track. Anno.”表示车道是否具有唯一的跟踪ID;

“#Frames”中的数字分别是总帧中带注释的帧数;

“Line Category”表示车道种类;

“Scenario”表示场景标签。


标注类型


• 车道形状:每个2D/3D车道显示为一组2D/3D点

• 车道类别:每条车道都有一个类别,例如双黄线或路缘

• 车道属性:某些车道具有右、左等属性

• 车道跟踪ID:除路缘外,每条车道都有唯一的ID

• 停车线和路缘

(有关更多注释标准,请参考车道Anno标准)


CIPO/场景注释


• 二维边界框:其类别表示对象的重要性级别

• 场景标记:它描述了在哪个场景中收集此帧

• 天气标签:它描述了在什么天气下收集此帧

• 小时标记:它注释了收集此帧的时间


数据集可视化


6.jpg

OpenLane标注样例


7.png

OpenLane样例概览,涵盖夜晚、日光、弯道等多种场景


Part 4 实验结果 


我们在小规模仿真3D车道线数据集Apollo和大规模真实场景3D车道线数据集OpenLane分别做了实验,均达到SOTA水平。


Apollo实验结果


8.png


OpenLane实验结果


9.png


消融实验对比


10.png


相关资料


论文地址:

https://arxiv.org/pdf/2203.11089.pdf


项目地址:

https://github.com/OpenPerceptionX/OpenLane

z6尊龙官方网站