Nullmax的感知团队提出了一种基于Transformer的单阶段3D车道线检测方法——CurveFormer,以曲线传播的方式端到端输出车道线的参数,性能超过众多前沿算法,达到了业内最佳水准。
Nullmax的这篇研究名为《CurveFormer: 3D Lane Detection by Curve Propagation with Curve Queries and Attention》,原文地址:https://arxiv.org/abs/2209.07989
此前,基于CNN和Transformer的一系列方法,通常会先通过前视图像生成BEV坐标系下的特征图,然后将其输入到子网络中,进行3D车道线的预测。这些方法需要在BEV和前视图之间进行显式的视图转换,而这本身是一个具有挑战性的问题。
在Nullmax的这项研究中,CurveFormer直接绕过棘手的视图转换环节,将车道线描述为稀疏的曲线查询向量(sparse curve query),通过Transformer的注意力机制迭代更新3D锚点集合(dynamic anchor point set),并最终直接预测3D车道线参数。实验结果显示,无论是在合成数据集还是真实世界数据集上,CurveFormer都表现出了极佳的性能,胜过当前基于CNN和Transformer的一系列前沿检测算法。
3D车道线检测
在自动驾驶系统当中,车道线检测是场景理解的一项核心任务,具有不可或缺的重要作用,直接影响着车道保持辅助、车道偏离预警等功能的实际表现。但是,当前的车道线检测方法多是基于2D图像进行语义分割或者线性回归,而非规控等下游任务所倾向的3D空间曲线参数形式。这些方法存在若干不足,由于缺乏准确的深度信息或实时相机外参,图像空间到BEV视图的投影变换,容易出现误差传播问题,而且还要进行复杂且费时的后处理,比如聚类、曲线拟合等。
为此,一些基于CNN的方法也被用到端到端的3D车道线检测任务当中,改善两阶段方法中存在的后处理问题。然而,由于车道线高度的缺失,以及相机位姿估计的精度问题,这些端到端3D车道线检测方法的鲁棒性并不出色。近年来,Transformer在众多的视觉和机器人任务中表现出色,因此一些基于Transformer的车道线检测算法也被提出。但是在这些3D车道线检测算法中,由于图像深度或者BEV地图高度缺失,特征不能与查询(query)向量很好地对应起来,所以任务的性能还是受到了限制。而Transformer的注意力机制天然适用于多视角/多模态的特征交互,可以摆脱对深度估计或实时外参的依赖。因此,Nullmax提出了一种基于Transformer的3D车道线检测方法CurveFormer,直接绕开棘手的视图转换环节,输出车道线的参数,实现了超过当前众多先进算法的出色性能。
CruveFormer
CurveFormer将3D车道线检测设定为预测曲线参数方程的问题,以动态锚点集合的形式来描述车道线,通过车道线置信度、2个多项式方程以及起点、终点组成的稀疏曲线查询(sparse curve queries)向量进行表示。CurveFormer主要有三个部分,分别是:
01 共享的CNN主干网络,输入单帧前视图像,输出多尺度的特征图
02 Transformer Encoder,用于增强多尺度特征图
03 Transformer Decoder,通过曲线交叉注意力机制,更新curve query,迭代锚点集合逼近车道线
具体来说,CurveFormer运用动态的3D锚点集合,进行图像特征和曲线查询(query)向量的交互,在3D锚点(X, Y, Z)具备高度信息的情况下,通过离线标定的相机外参获得该点对应的图像特征。然后在Transformer Decoder当中,对锚点集合进行一系列的迭代更新。并且,CurveFormer在Decoder当中引入了一个创新的曲线交叉注意力(curve cross-attention)模块,计算曲线查询向量和图像特征之间的相似度,迭代车道线的动态锚点集合。CurveFormer没有像标准的Deformable-DETR一样,直接对采样特征的偏移量进行预测,而是引入了一个上下文采样单元,将参考特征和查询向量融合后的偏移量进行预测,指导采样偏移量的学习。同时,利用预测的偏移量采样特征可以弥补实时外参和离线外参之间的误差,保证算法的鲁棒性。此外,CurveFormer在训练阶段还引入了一个辅助分割分支,用于强化共享的CNN主干网络的2D图像特征。最终,由网络的预测头(prediction head)完成3D车道线参数形式的输出。
在实验部分,Nullmax通过合成数据集以及真实世界数据集,验证了CurveFormer在3D车道线检测任务当中的优异性能。相比于其他基于CNN和Transformer的方法,CurveFormer的算法效果更胜一筹。