超越BEV-LaneNet:3D车道线检测任务中同时学习BEV和车道表示的高效transformer

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

ADAS巨卷干货,即可获取

今天自动驾驶之心为大家分享车道线检测的最新进展,超越BEV-LaneNet!本文的方法通过将车道特征分别应用于图像视图和BEV特征来获得2D和3D车道预测。如果您有相关工作需要分享,请在文末联系我们!

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

编辑 | 自动驾驶之心

397fbc35f72d2bfb9b825425d5fb23e2.png

准确检测三维空间中的车道线对于自动驾驶至关重要。现有的方法通常首先借助逆透视映射(IPM)将图像视图特征转换为鸟瞰图(BEV),然后根据该BEV特征检测车道线。然而,IPM忽略了道路高度的变化,导致视图转换不准确。此外,该过程的两个独立阶段可能会导致累积错误并增加复杂性,为了解决这些限制,我们提出了一种用于3D车道检测的高效transformer。与vanilla transformer不同,模型包含一个分解的交叉注意力机制,用于同时学习车道和BEV表示。该机制将图像视图和BEV特征之间的交叉注意力分解为图像视图和车道特征之间的相互注意力和车道和BEV特征之间的互相注意力,两者都由GT车道线监督。

本文的方法通过将车道特征分别应用于图像视图和BEV特征来获得2D和3D车道预测。这允许比基于IPM的方法更准确的视图变换,因为视图变换是在有监督的交叉注意力的情况下从数据中学习的。此外,车道和BEV特征之间的交叉关注使它们能够相互调整,从而比两个单独的阶段更准确地检测车道。最后,分解后的交叉注意比原来的交叉注意更有效,在OpenLane和ONCE-3DLanes上的实验结果证明了我们方法的最先进性能!

领域目前主流方法的缺点

车道检测是辅助和自动驾驶系统的关键组成部分,因为它能够完成一系列下游任务,如路线规划、车道保持辅助和高清(HD)地图构建。近年来,基于深度学习的车道检测算法在二维图像空间中取得了令人印象深刻的成果,然而,在实际应用中,通常需要在3D空间或鸟瞰图(BEV)中表示车道线。这对于涉及与环境交互的任务特别有用,例如规划和控制。

一种典型的3D车道检测流水线是首先检测图像视图中的车道线,然后将其投影到BEV中。投影通常通过假设平坦路面的逆透视映射(IPM)来实现,然而,如图1所示,由于忽略了道路高度的变化,在上坡或下坡的情况下,IPM将导致投影车道线分叉或汇聚。为了解决这个问题,SALAD预测车道线的真实深度及其图像视图位置,然后使用相机内/外投影将其投影到3D空间中,然而,深度估计在一定距离上不准确,影响了投影精度!

72639eac805e530e2f3052631b4743c6.png

现有技术的方法倾向于直接从BEV预测车道线的3D结构,他们首先借助IPM将图像视图特征图转换为BEV,然后基于BEV特征图检测车道线。然而,如图1(c)所示,由于IPM的平面假设,当遇到不平坦的道路时,地面真实3D车道线(蓝线)与BEV车道特征(红线)不对齐。为了解决这个问题,一些方法通过首先将地面实况3D车道线投影到图像平面上,然后通过IPM将其投影到平坦的道路平面上(图中的红线,第1(c)段)来表示虚拟俯视图中的地面实况3D道线。然后,这些方法预测车道线的真实高度及其在虚拟俯视图中的位置,并最终通过几何变换将其投影到三维空间中。然而,预测高度的准确性显著影响了变换后的BEV位置,这影响了模型的稳健性,此外,分离视图转换和车道检测导致累积误差和复杂性增加。

为了克服当前方法的这些局限性,论文提出了一种用于3D车道检测的高效transfromer,我们的模型结合了分解注意力机制,以监督的方式同时学习车道和BEV表示。该机制将图像视图与BEV特征之间的交叉注意力分解为图像视图与车道特征之间的相互注意力和BEV与车道特征间的相互注意力,我们用GT车道线监督分解的交叉注意力,其中通过将车道特征分别应用于图像视图和BEV特征来获得2D和3D车道预测!

为了实现这一点,根据车道特征为每条车道线生成动态内核,然后使用这些核对图像视图和BEV特征图进行卷积,并分别获得图像视图和BEV偏移图。偏移图预测每个像素到其在2D和3D空间中最近的车道点的偏移,使用投票算法对其进行处理,以分别获得最终的2D和3D车道点。由于视图转换是从具有监督交叉注意力的数据中学习的,因此它比基于IPM的视图转换更准确。此外,车道和BEV特征可以通过交叉关注动态地相互调整,从而比两个单独的阶段更准确地进行车道检测。我们的分解交叉注意力比图像视图和BEV特征之间的vanilla交叉注意力更有效。在两个基准数据集上的实验,包括OpenLane和ONCE-3Lanes证明了我们的方法的有效性和效率。

3D车道线和transformer方法

可以在图像视图中实现3D车道检测。一些方法首先在图像视图中检测2D车道线,然后将其投影到鸟瞰图中。提出了各种方法来解决2D车道检测问题,包括基于锚的方法、基于参数的方法和基于分割的方法。至于车道线投影,一些方法使用逆透视映射(IPM),这将导致投影的车道线在面对平面假设导致的不平坦道路时发散或会聚。

为了解决这个问题,SALAD预测车道线的真实深度及其图像视图位置,然后用相机内/外投影将其投影到BEV中。然而,深度估计在一定距离上是不准确的,影响了投影精度,其它方法直接从图像视图中预测车道线的3D结构。例如,CurveFormer应用transformer直接从图像视图特征预测车道线的3D曲线参数,Anchor3DLane将在3D空间中定义的车道anchor投影到图像视图特征图上,并提取其特征进行分类和回归,然而,这些方法受到远处图像视图特征的低分辨率的限制!

BEV下的3D车道线检测

3D车道检测的另一种方式是首先将图像视图特征图转换为BEV,然后基于BEV特征图检测车道线,其中视图转换通常基于IPM。例如,一些方法采用空间变换网络(STN)进行视图变换,其中STN的采样网格是用IPM生成的。PersFormer采用可变形transformer进行视图变换,其中transformer解码器的参考点由IPM生成!

然而,由于IPM的平面假设,当遇到不平坦的道路时,地面实况3D车道线与潜在的BEV车道特征不对齐。为了解决这个问题,一些方法通过首先将地面实况3D车道线投影到图像平面上,然后使用IPM将结果投影到平坦的地面上,在虚拟俯视图中表示地面实况3D道路线。预测车道线的真实高度及其在虚拟俯视图中的位置,然后通过几何变换将其投影到3D空间中。然而,预测高度的准确性会显著影响转换后的BEV位置,从而影响模型的稳健性。BEV LaneDet应用多层感知器(MLP)来实现更好的视图转换,然而它的参数大小非常大!

transformer中的attention

transformer中的注意力机制需要查询和key之间的成对相似性计算,这对于大量查询和key来说变得复杂。为了解决这个问题,一些方法在计算注意力矩阵时,只关注每个查询的关键字的子集,而不是整个集合。CCNet提出了一种注意力模块,该模块仅在其纵横交错的路径上获取所有像素的上下文信息,可变形DETR提出了一种注意力模块,该模块只关注在学习的参考点周围采样的一小部分关键点。Swin-Transformer提出了一种移位窗口模块,该模块将自关注限制在不重叠的局部窗口上,同时还允许跨窗口连接,其他方法应用低秩近似来加速注意力矩阵的计算。Nystromformer采用Nystrom方法重建原始注意力矩阵,从而减少了计算量。Nystromformer使用随机采样的特征进行低秩分解,而我们的方法根据车道查询将原始注意力矩阵分解为两个低秩部分,并且每个部分都可以用GT进行监督,这更适合于3D车道检测任务,现有的transformer近似通常会牺牲一些精度,而我们的方法比原始transformer具有更好的性能!

方法介绍

本文提出了一种用于端到端3D车道检测的高效transformer,首先介绍了总体框架,然后详细描述了每个组件,包括一个高效的transformer模块、一个通道 检测头与二分匹配损失!总体框架如图2所示,它从CNN主干开始,从输入图像中提取图像视图特征图。然后,高效transformer模块利用分解的交叉注意力机制从图像视图特征中学习车道和鸟瞰图(BEV)特征。图像视图和BEV特征添加了具有各自位置编码器的位置嵌入。接下来,车道检测头使用车道特征为每条车道线生成一组动态内核和目标分数。然后使用这些核对图像视图和BEV特征图进行卷积,分别生成图像视图和BEV偏移图。用投票算法处理这两组偏移图,以分别获得最终的2D和3D车道点,为了训练模型,计算2D/3D预测和地面实况之间的二分匹配损失。

768cea841b2e60b67be15bd28abb31d1.png

Efficient Transformer Module

如图2所示,给定输入图像X∈R^{H_0×W_0×3},我们首先采用CNN主干提取图像视图特征图F∈R^{H_a×W_a×C},其中Ha、Wa和C分别是F的高度、宽度和通道。特征图F添加了由位置编码器生成的位置嵌入E∈R^{H_a×W_a×C}(如第3.3节所述),然后平坦化为序列I∈R ^{H_a×W_a×C}。初始化了一个具有可学习参数的BEV查询映射T∈R^{H_b×W_b×C},该查询映射还添加了另一个位置编码器生成的位置嵌入P∈R^{H_b×W_b×C},然后将其平坦化为序列B∈R^{H_b×W_b×C}。

在获得图像视图特征和BEV查询后,初始化了一组具有可学习参数的车道查询Q∈{R^{L×C}},表示L个不同的车道线原型。然后从交叉关注的图像视图特征I和BEV查询B中学习车道特征O∈{R^{L×C}},设O_i∈R^C表示第i车道特征对应于第i车道查询Qi,Oi可以通过下述方式获取:

15740dd10e34e3c8f04e66cac83538f4.png 6349d8d5d76f3d6cbeb9d2529df24857.png

然后,根据车道特征O构建BEV特征V,交叉注意如下:

29a646484334647c19229164ed91fc88.png

其中gv(·)和fv(·,·)分别与方程中的go(·)、fo(·,.)具有相同的形式,除了它们的可学习权重矩阵。这样,图3中所示的BEV特征V和图像视图特征I之间的原始交叉注意力被分解为图像视图特征Ⅰ和车道特征O之间的交叉注意力,以及车道特征O和BEV特征V之间的交叉注意!

b5e21874665d7f18533e0a4125937ea0.png

与原来的交叉注意相比,分解的交叉注意提供了三个好处。首先,它通过监督二维和三维地面实况车道线的分解交叉注意力,实现了更好的视图转换。2D 并且通过将车道特征O分别应用于图像视图特征I和BEV特征V来获得3D车道预测。其次,通过交叉关注实现车道特征O和BEV特征V之间的动态调整,提高了3D车道检测的准确性。第三,它显著减少了计算量,提高了实时效率!

类似地,图像视图特征I用具有如下交叉注意的目标特征O更新:

c3a4732b53da4d4a6a3825baa7ffa48c.png

与原始的自关注相比,分解后的自关注通过交叉关注实现了车道特征O和图像视图特征I之间的动态调整,从而提高了2D车道检测的准确性。此外,由于图像视图特征M和BEV特征V都是由对象特征O构建的,因此它们可以更好地相互对准!

Position Embedding

对于图像视图位置嵌入E,首先在相机空间中构造了一个三维坐标网格G,其中D是离散深度bin的数量。G中的每个点可以表示为pj=(uj×dj,vj×dj,dj,1),其中(uj,vj)是图像视图特征图F中的相应像素坐标,dj是相应的深度值。然后将网格G变换为三维空间中的网格G′,如下所示:

e96f52196c0d1cf5032ace3c92a937c3.png

从T预测高度分布Z∈R^{H^b×W^b×Z},指示每个像素属于每个高度bin的概率,然后如下获得位置嵌入P:

8bf2e15640f4b89fa73fff205a9521ae.png

车道线检测头

首先将两个多层感知器(MLP)应用于车道特征O,分别生成两组动态核K_a∈R^{L×C×2}和K_b∈R^{R×C×3}。然后应用K_a和K_b对图像视图特征M和BEV特征V进行卷积,分别得到图像视图偏移映射R_a∈R^{L×Ha×Wa×2}和BEV偏移映射R_b∈R^{L×Hb×Wb×3}。Ra预测图像视图中每个像素到其最近车道点的水平和垂直偏移;Rb预测每个像素在x和y方向上到BEV中最近车道点的偏移,以及车道点的实际高度!

然后,将另一个MLP应用于车道特征O,以生成目标分数S∈R^{L×(2+N)},包括背景、前景和N个车道类的概率。然后图像视图偏移映射Ra和BEV用投票算法处理偏移图Rb以分别获得2D和3D车道点。Rb的过程如算法1所示(类似于Ra,除了去除z和r),投票算法对所有像素的预测车道点进行投票,然后选择那些投票超过车道宽度阈值w的点来形成预测车道线,最后,仅保留前景概率超过对象阈值t的预测车道线作为输出。

be9e06825a63c67f71563fec256476ea.png

二分匹配损失

676fbcd064f7fd036b30e5167aeeaec9.png 915df77a109d2f3b929e81e945eb84fb.png 49a61788d0122bb754fb5a9036df8f88.png 6694dde4c68c02fafe2ce4b566362cf4.png 00c7bfeddd2365bcb5ca04f7b260f5b8.png

实验结果

在两个3D车道检测基准上进行了实验:OpenLane和ONCE-3DLanes,OpenLane包含分别用于训练集和验证集的160K和40K图像!验证集包括六种不同的场景,包括弯道、十字路口、夜间、极端天气、合并和拆分以及上下。它注释了14个车道类别,包括道路边缘、双黄实心车道等,ONCE-3D车道分别包含用于训练、验证和测试的200K、3K和8K图像,涵盖上午、中午、下午和晚上的不同时间段,包括晴天、阴天和雨天的各种天气条件,以及市中心、郊区、公路、桥梁和隧道。

采用F-score进行回归,采用匹配车道的准确性进行分类,使用编辑距离将预测与地面实况相匹配,其中只有当75%的y位置的逐点距离小于1.5米的最大允许距离时,预测车道才被视为真正车道。对于ONCE-3D车道,采用两阶段评估度量来测量预测车道和GT车道之间的相似性。首先使用传统的IoU方法来匹配俯视图中的车道,如果IoU大于阈值(0.3),使用单边倒角距离来计算曲线匹配误差,如果倒角距离小于阈值(0.3米),认为预测车道为真正车道。

采用ResNet-18、ResNet-34、EfficientNet(-B7),以ImageNet的预训练权重作为CNN主干。输入图像通过随机水平翻转和随机旋转进行增强,并调整大小为368×480。BEV特征图的空间分辨率为50×32,表示沿x和y方向范围分别为[-10,10]×[3, 103]米的BEV空间。BEV偏移图的大小调整为400×256,用于最终预测。AdamW进行了优化,be tas分别为0.9和0.999,weight decay为1e−4。bs大小设置为16,我们对模型进行了50个epoch的训练。

d0b29bd404adf432a580fc3d56df3f2e.png

OpenLane数据集的性能,OpenLane上的比较结果如表1所示。使用ResNet18作为主干,我们的方法获得了60.7的F-score,分别比PersFormer、Anchor3DLane和BEV LaneDet高10.2、6.4和2.9。在x、y和z方向上也获得了最低的预测误差,如表2所示,我们的方法在所有六种场景中都取得了最佳性能,证明了其稳健性。例如,对于“向上和向下”、“曲线”、“交叉点”和“合并和拆分”场景,使用ResNet-34作为主干,F-score分别比BEV LaneDet高8.2、7.9、5.6和9.4。在图5中,展示了OpenLane上的定性比较结果,包括upill、下坡、弯曲和分叉场景,比较结果表明,可以很好地处理不平坦道路上的车道线和复杂拓扑的车道线。

5b47d7b0383cf995feaba696b83cd0b7.png

ONCE-3DLanes数据集的性能,ONCE-3D车道的对比结果如表3所示,以ResNet-18为主干,我们的方法获得了79.67的F-score,分别比SALAD、PersFormer和Anchor3DLane高15.60分、5.34分和4.80分,也实现了最低的CD误差,证明了所提出方法的良好准确性。

ae5a09d71aa6e01b9da62e7e18b21e18.png

注意力分解的影响,论文比较了所提出的分解注意力的结果和基于IPM的注意力。基于IPM的注意力在PersFormer中用于视图变换,其中使用IPM计算transforermer的参考点。如表4所示,原始注意力的表现略好于基于IPM的注意力,分解后的注意力在OpenLane和ONCE-3Lanes上的F1得分分别比原始注意力高3.3分和2.3分。这是因为分解的注意力通过分别使用2D和3D GT来监督图像视图和车道特征之间的交叉注意力,以及车道和BEV特征之间的相互注意力,从而允许更准确的视图转换,此外,它通过在车道和BEV特征之间进行动态调整,提高了3D车道检测的准确性!

81e74b4978b38bbdd9cd9fe831d09539.png

参考

[1] An Efficient Transformer for Simultaneous Learning of BEV and Lane Representations in 3D Lane Detection.

(一)视频课程来了!

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

10d421b3e6324eef384537eb2327b44d.png

(扫码学习最新视频)

视频官网:www.zdjszx.com

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

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

9c7787185423f55a51e7fdd1bfc3469c.jpeg

(三)【自动驾驶之心】全栈技术交流群

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

6eb5c5800a77693696a85712a1a2cb9d.jpeg

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

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

猜你喜欢

转载自blog.csdn.net/CV_Autobot/article/details/131336169
今日推荐