Py学习  »  机器学习算法

中科院/西交通/鹏程实验室/武汉 AI 研究院联手基于深度学习的单目车道检测研究 !

智驾实验室 • 4 月前 • 162 次点击  

ADAS Laboratory




点击上方蓝字关注 智驾实验室

         加入【智驾实验室】交流群,获取更多内容和资料


车道线检测在自动驾驶感知系统中起着重要作用。随着深度学习算法的普及,基于深度学习的单目车道线检测方法已经展示了优越的性能,并成为自动驾驶感知领域的一个关键研究方向。这些算法框架的核心设计可以总结如下:

(1)任务范式,关注车道实例 Level 的区分;

(2)车道建模,将车道表示为神经网络中的可学习参数;

(3)全局上下文补充,增强对难以识别的车道线检测;

(4)视角效应消除,为下游应用提供3D车道。从这些角度出发,本文对现有方法进行了全面概述,包括日益成熟的2D车道线检测方法和正在发展的3D车道线检测工作。为了进行相对公平的比较,除了在不同基准测试上比较主流方法的表现,还在统一环境下考察了推理速度。

此外,作者还介绍了关于车道线检测的一些扩展工作,包括多任务感知、视频车道线检测、在线高分辨率地图构建和车道拓扑推理,为读者提供了车道线检测演进的全面路线图。

最后,作者指出了该领域的潜在未来研究方向。

作者收集了现有工作的论文和代码https://github.com/Core9724/Awesome-Lane-Detection,并将持续跟踪研究。


I Introduction

车道线检测旨在从车载单目摄像头捕获的前视图(FV)图像中获取每条车道线的语义和位置信息。它是自动驾驶系统感知模块的不可或缺部分,为后续决策和规划过程提供必要的前提条件。早期的车道线检测方法依赖于人工设计的运算符进行特征提取,在面临复杂场景时准确性和鲁棒性存在局限性。后来,基于深度学习的算法逐渐主导这一领域,因为它们具有强大的特征表达能力并具有优越的性能。如今,基于深度学习的单目车道线检测已成为自动驾驶感知领域的一个关键研究主题,吸引了学术界和工业界的广泛关注。

现有的基于深度学习的单目车道线检测方法可以分为2D车道线检测和3D车道线检测方法。如图1所示,完整的车道线检测过程可以描述为:给定一个FV图像,最终目标是获取车辆坐标系中的3D车道信息,即鸟瞰视角(BEV)空间。由于摄像机成像过程中固有的视角失真,BEV平面上的并行车道在FV图像中相交,使得恢复它们的真实几何形状具有挑战性。有效的解决方案是构建一个2D车道线检测网络,从FV图像中获取2D车道,然后将相机的内参和外参结合,通过反视图映射(IPM)[21]将这些2D车道投影到地面上,从而获得最终3D车道。随着基于深度学习方法的快速发展,2D车道线检测取得了令人印象深刻的成果。然而,IPM有一个假设,即地面总是平坦的,不考虑诸如上坡、下坡和粗糙路面等情况。在这些情况下,它会导致不准确的3D车道结果,即使FV图像中的2D车道线检测正确。因此,研究行人逐渐将重点转移到设计3D车道线检测网络,直接使用FV图像作为输入预测3D车道。

为了在复杂道路环境中稳定驾驶车辆,车道线检测需要同时具备精确的局部定位和实时处理能力。此外,由于附近车辆或恶劣天气条件可能导致车道变得模糊,也需要检测这些车道。为了更好地连接下游任务,如规划和控制,网络还需要区分各种车道实例,并以向量化的方式呈现车道线检测结果,例如按顺序的一组点或一条曲线方程。这是因为下游任务需要根据车辆两侧的车道计算驾驶规划线,即中心线。在没有区分不同车道实例或缺乏向量化表示格式的情况下,很难进行计算。

根据完整的车道线检测过程和独特的任务要求,车道线检测算法框架的核心设计可以概括如下:

(1)任务范式, 关注车道实例 Level 的区分;

(2)车道建模, 将车道表示为神经网络中的可学习参数;

(3)全局信息补充, 增强对难以察觉的车道的检测;

(4)视角效应消除, 为下游应用提供3D车道。对车道线检测进行全面调查时,应系统地探索这四个关键视角,同时整合2D和3D车道线检测方法的洞察。这种双重关注确保了对车道线检测技术进步的全面理解,将概念设计与实际应用相连接。

相关的调查:关于单目车道线检测的早期评论主要集中在传统方法上 [28, 29]。尽管存在基于深度学习的相关概述,但相关的调查论文 表现出相对较窄的焦点。一方面,仅总结了2D车道线检测方法或3D车道线检测方法。忽略了2D和3D车道线检测之间的紧密联系。另一方面,过分关注网络结构或损失函数。这些方面在深度学习中也很重要,但它们并不完全构成解决车道线检测挑战的关键。

贡献。为了帮助读者更好地理解,作者对基于深度学习的单目车道线检测方法的最新发展进行了全面调查,从车道线检测算法框架的核心设计开始。与相关综述相比,作者的调查不仅涵盖了最先进的2D和3D车道线检测方法,而且从更高的层次进行了总结。本次调查的主要贡献如下:

作者对基于深度学习的单目车道线检测方法进行了全面的调查。这是首次涵盖2D车道线检测和3D车道线检测的调查。

本次调查涵盖了四车道线检测算法的核心设计:任务范式(区分不同车道实例),车道建模(将车道表示为网络可学习参数),全局信息补充(识别隐性车道),以及消除视角效应(获得下游可用3D车道)。这样,每种方法都可以归结为一个通用流程。

除了报告代表性方法的性能指标外,作者还重新评估了它们在统一环境下的效率。这可以使读者更好地比较各种方法,并帮助他们为自己的应用选择合适的 Baseline 。

此外,一些扩展工作进行了调查,包括多任务感知、视频车道线检测、在线高清晰度(HD)地图构建和车道拓扑推理。它们可以被视为在任务流程上升级单目车道线检测。基于这些介绍,读者可以获得车道线检测研究重点的发展路线图。

组织结构 本调查的其余部分按照图2组织。第二部分解释了用于车道线检测算法的常用数据集和评估指标。第三部分和第四部分分别回顾了现有的2D和3D车道线检测方法。作者从车道线检测算法的核心设计角度总结了现有方法。第五部分报告了代表方法在典型数据集上的性能和统一环境中的效率比较,并与其核心设计相结合进行分析。作者在第六部分介绍了车道线检测的一些扩展工作。最后,在第七部分,作者讨论了车道线检测可能面临未来的挑战,并在第八部分得出结论。

II Datasets and Metrics

Datasets

表1总结了当前可公开获取的车道线检测基准测试的主要统计数据。接下来,作者详细介绍了一些流行的数据集。

Ii-A1 Datasets Commonly Used for 2D Lane Detection

简单TuSimple。TuSimple[35]数据集是在高速公路上收集的,包括稳定的照明条件,包括不同程度的遮挡,不同类型的车道,以及不同的道路条件。它只包含6,408张图像,这些图像被分为3,268张训练图像,358张验证图像和2,782张测试图像。对于每张图像,车道通过采样点的二维坐标进行标注,均匀的高度间隔为10像素。每个标注图像的大小为1280720像素。

CULane. CULane [36] 是一个大规模的 2D 车道线检测数据集,包括 88,880 张训练图像和 34,680 张测试图像。除了不同天气条件和光度,还有八个具有挑战性的车道线检测场景,如交通拥堵、阴影遮挡、缺失车道和车道曲线。所有图像的尺寸为 1640590 像素。

LLAMAS。LLAMAS [39]的标注是由HD地图自动生成的。这个数据集包含了大约350公里行驶过程中拍摄的10万多张图像。与其他数据集不同,LLAMAS中每条车道都 Token 了少量的像素,更准确地反映了现实世界的情况。所有图像的分辨率都是1280717像素。

曲线车道(CurveLanes)[40]包含100K、20K和30K的图像,分别用于训练、验证和测试。它具有丰富的曲线车道和难以的场景,如S型曲线、分叉线、夜间条件和多车道配置。与现有数据集(如前三个)相比,曲线车道中的每个图像包含更多的车道,并且分辨率更高。

Ii-A2 Datasets Commonly Used for 3D Lane Detection

Apollo 3DLane。Apollo 3DLane数据集[23]使用游戏引擎生成,包括10,500个单目RGB图像的离散帧及其对应的3D车道 GT 值,分为三个场景:平衡场景、罕见观察场景和视觉变化场景。每个场景包含独立的训练集和测试集。

ONCE-3DLanes [44] 是一个大规模的真实世界 3D 车道线检测数据集,它基于 ONCE 数据集 [47] 构建。该数据集包含 211K 幅图像,涵盖各种天气条件(晴天、多云、雨天)和不同的地理地点(市中心、郊区、高速公路、桥梁和隧道)。ONCE-3DLanes 只提供了相机的固有属性。

 OpenLane. OpenLane [24] 是一个大规模且更全面的基于 Waymo Open Dataset [48] 的现实世界 3D 车道线检测基准测试。该数据集包括在各种天气、地形和亮度条件下拍摄的 200 万张图像。在 OpenLane 中,车道标注不仅包含车道的三维位置,还包含多个属性和跟踪 ID。为每帧提供相机的内参和外参,以及类别和场景标签(例如天气和位置),为 3D 车道线检测算法提供了真实和多样化的挑战。

Evaluation Metrics

尽管不同数据集可能采用不同的评估指标,但以下作者主要介绍所有数据集所采用的常见评估指标。更多评估指标请参见附录A部分。

F1分数是衡量AI模型准确性和召回率的主要指标。计算召回率和正确率与确定真正阳性(TP)密切相关。不同数据集以不同的方式确定TP。F1分数的计算如下:

作为2D车道线检测基准的代表,Tusimple [35] 和 CULane [36] 采用两种不同的方法确定TP。Tusimple [35] 专注于逐点评估。当纵向坐标相同时,预测的点被认为是正确的,当且仅当它与真实值点之间的水平距离小于20像素。此外,当预测的线包含至少85%的真实值点时,将其视为TP。相比之下,CULane [36] 强调逐行评估,将每条车道视为多个像素宽的 Mask ,并计算预测车道与标注车道之间的交集(IoU)。将IoU大于75%的预测视为TP。

对于3D车道线检测,有两种主要方法来确定TP,分别由OpenLane [24]和ONCE-3DLanes [44]中的评估方法表示。OpenLane [24]遵循由[23]设计的评估指标。预测与真实值的匹配基于编辑距离,其中只有当预测车道覆盖的75%的y坐标点上的距离小于允许的最大距离(1.5m)时,才将其视为TP。ONCE-3DLanes [44]数据集采用两阶段的评估指标进行车道线检测。首先,利用CULane [36]的IoU方法在z-x平面上(即顶视图)评估预测与真实值的对齐。然后,如果IoU超过预定义阈值,使用单侧切向距离在相机坐标系中计算曲线匹配误差。如果这个单侧切向距离低于指定阈值,则将预测分类为TP。

III Methods of 2D Lane Detection

这一部分回顾了现有的二维车道线检测方法。作者首先在第三节-A部分解释了将现有方法分类的基础,然后在第三节-B和第三节-C部分相应地讨论了现有方法。最后,在第三节-D部分,作者回顾了使用IPM将二维车道转换为三维车道的过程及其缺陷。

Classification Framework

过去的研究[30, 31]主要关注网络结构和损失函数的设计。值得注意的是,实例级歧视和向量化结果表示,作为车道线检测任务的独特需求和引导下游应用的必要前提,却被忽视了。相比之下,作者对2D车道线检测方法的分类主要基于这两方面。

如图3所示,首先,对于车道实例级识别,2D车道线检测方法可以根据完成任务所需的阶段数量分为两类: 

(a)基于分割的方法(两阶段),这些方法在一定顺序中完成车道识别和实例区分。图4总结了这类方法中实例识别的一般流程。 

(b)基于目标检测的方法(一阶段),可以直接同时执行实例区分和定位。这种优势来源于目标检测算法的通用流程,这些算法在并行处理一组候选 Proposal 时执行分类和回归任务。

第二,向量化结果表示需要算法考虑如何将车道建模为神经网络学习的一组值,即车道建模。在车道建模方面,基于分割的方法可以进一步分为 基于 Mask 建模基于网格建模 和 基于关键点建模。对于基于检测的目标识别方法,采用一个边界框(bbox)来建模一个狭窄而长的车道通常不合理。这是因为由目标检测方法生成的边界框是相互遮挡的,bbox中可能存在同类型车道多个实例。为了与通用目标检测范式相符,这些方法设计独特的“bbox”来建模车道,包括 线 Anchor 点建模 和 曲线建模。每个车道建模的详细信息如图5所示。

此外,大多数现有的2D车道线检测数据集为车道提供了完整的标注,即使在车道被车辆严重遮挡或受到极端天气条件影响的情况下也是如此。这促使许多算法在网络内部精心设计特殊结构来应对这一挑战,无论它们属于哪种分类系统。因此,在审查这些方法时,它们为解决这一问题所采取的措施也得到了详细阐述。作者根据上述分类标准详细比较了2D车道线检测的代表性工作,如表2所示。

Segmentation-based Methods

Iii-B1 Mask-based modeling

给定一张图像 , 该网络的最终目标是预测与输入图像相同大小的遮挡物。在早期阶段,使用 [49] 表示的全卷积分割网络用于分割车道 [50]。编码器将高级语义信息提取到特征图,然后解码器将这些特征图上采样到原始大小进行像素级预测。然而,即使使用更强大的通用分割网络 [51, 52, 53, 54, 55],车道分割性能仍然不满意。这很大程度上是因为这些网络没有考虑到车道的延长特征。此外,当车道被遮挡或由照明等因素中断时,仅依赖完整的车道真实标注并不是一个有效的方法。传统的编码器往往无法捕捉这些细微特征。因此,许多研究在像素级预测之前引入专门的结构以增强特征表示。

VPGNet [34] 利用全球几何背景预测车道消失点,以提高车道线检测的性能。SCNN [36] 开发了一种新颖的分段卷积层,如车道和公用设施杆等特殊形状物体,使得图像层间信息传递类似于循环神经网络。然而,在计算速度方面仍有提升空间。SAD [56] 采用自注意力蒸馏机制,上下文聚合高层和低层注意力,以获得更精细的车道特征。IntRA-KD [57] 使用教师-学生蒸馏机制,将车道结构知识表示为区域间相似度映射,捕捉不同场景区域车道特征分布的相似性。EL-GAN [58] 使用生成对抗网络(GAN)获得更真实和结构丰富的车道分割结果。Zhang等人[59] 将特征融合和基于EL-GAN的多目标分割相结合,设计出Ripple-GAN,对于被遮挡的车道表现良好。Xu等人[60] 设计了一个通道注意力模块,增强车道特征并抑制背景噪声,并提出了一个金字塔变形卷积模块,以获取车道更多的结构信息。RESA [16] 进一步在SCNN [36] 上提出了一个基于SCNN的循环聚合器,以充分利用车道形状先验知识,使网络能够聚合全局特征,从而提高性能和效率。PriorLane [61] 基于混合Transformer [62] 获取更全面的车道特征,通过融合图像特征和低成本的局部先验知识,提高网络性能,增强车道分割。

虽然语义分割在像素级提供了语义类别,但对于同一类别内的不同实例区分仍显不足。一个直观的方法是应用自顶向下的实例分割框架,如Mask R-CNN [63]或YOLACT [64],以实现实例级区分和车道分割。然而,目标检测方法生成的边界框可能包含多个车道实例,这使得在后续语义分割过程中区分它们变得更加复杂。

SCNN [36] 提出了一种自上而下的方法。该方法将图像中的每一条车道视为一个独立的类别,并执行多类别语义分割。它包含一个并行分类分支,用于预测每个位置车道是否存在,然后在中断处理阶段结合分类和分割结果以获得最终车道。后续的工作[16, 56, 58, 61] 采用了这种方法。然而,这些方法有助于实例区分,但引入了某些限制:需要提前定义最大车道数来确定可能的实例数量。此外,车道和类之间的对应关系由标注建立。当车辆切换车道时,这种预定义的 Token 可能导致歧义。

为了解决上述问题,一些研究采用自下而上的方法进行实例分割,例如将车道/背景的二进制分割结果聚类。VPGNet [34]使用修改后的密度聚类方法对车道进行聚类。LaneNet [65]利用实例嵌入将语义分割的结果聚类,实现了车道实例分割。这种方法提供了高的聚类精度,但耗时较长,限制了其对于实时车辆实验的应用性。FastDraw [70]构建了一个可学习的解码器,不仅可以分割车道,还可以识别同一车道像素。为了应对像素嵌入聚类的低效性,LaneAF [66]引入了一个亲和力向量场来关联同一车道的像素。尽管这些方法提高了实例区分度,但由于自下而上聚类的高复杂性和基于 Mask 的模型在分类所有像素方面的低效性,算法执行效率仍然不理想。

车道 Mask 通常包含大量无关区域。为了用于自动驾驶车辆运动预测和规划,有必要进一步对 Mask 进行去噪以获得向量化结果。通常,对于每个车道 Mask ,最高响应在相等距离的高度上依次采样,然后进行曲线拟合。

Ii-B2 Grids-based modeling

为了解决语义分割中像素级预测的低效性,秦等人 [68] 提出了一种基于网格的建模方法。他们将图像分为h行和w列,创建具有相等间距的h×w网格。然后,将车道线检测描述为行预测过程。对于每一行,模型预测每个网格单元中车道存在的概率:


显然,。这样,原像素分类的时间复杂度为,而网格分类的时间复杂度为,其中C为类别数。然后,使用一个大的全连接(FC)层来输出每个网格的分类概率。这种方法利用全局特征作为输入,省去了语义分割中所需的上采样。因此,它实现了更大的感受野,这对处理车道遮挡和不同的光照条件是有利的。此外,根据车道的前置特征(细长),设计了一种车道结构损失。所提出的网络不仅实现了强大的性能,而且还实现了超快速的推理。

对于车道实例分类,该模型的前提是已知实例的存在,这意味着它不能采用自下而上的方式进行。UFLD [68] 遵循 SCNN [36] 的方法,将每个实例视为一个类别,这并不鲁棒。为了解决车道实例分类问题,受到实例分割方法如 CondInst [71] 和 SOLOv2 [72] 的启发,CondLaneNet [17] 学习车道起点概率 Heatmap 以获得车道实例,并基于起点的特征生成动态 Kernel 。然后,条件卷积 [73] 应用于 Kernel 和整个特征图进行车道线检测时采用行分类。此外,提出了一种基于 LSTM [74] 的重复实例模块,以解决密集线条和分叉线条场景。

行列分类策略利用了车道纵向、细长的特点。然而,对于一些弯曲或近水平车道,一行中的多个网格可能对应相同的车道。因此,UFLD-V2 [75] 将行列分类扩展到行列分类,以解决行列分类无法处理水平车道的问题。但是,它仍然采用多分类策略[36]处理车道实例,这导致在行列分类之间做出过于简化的选择,从而限制了它在实际场景中的泛化能力。CANet [76] 进一步优化了这一方法。它采用U形引导线来约束基于CondLaneNet [17]的车道实例核生成。设计了一个自适应解码器,动态地在每个实例之间选择行列分类。

由于网络输出的是每行/列网格中的车道分类概率,因此还需要进行后处理以获得最终的向量化结果。具体而言,每个点的坐标是通过概率加权求和计算的,即每个点的位置坐标是同一行/列网格的加权平均值。

Iii-B3 Keypoints-based modeling

基于 Mask 的建模方法通常涉及预测许多不相关的区域,因此一些研究努力试图直接预测车道的关键点。这与基于网格的建模类似,可以被视为 Mask 建模的有稀疏版本,但它直接提供了下游所需向量化表达。

一些工作采用自下而上的方法。PINet [78] 利用堆叠小时glass 网络预测关键点位置和特征嵌入,并根据特征嵌入的相似性聚类不同车道实例。FOLOLane [67] 估计局部车道关键点的存在和偏移,并设计了一个解码模块,该模块具有低级运算符,将局部信息集成到曲线实例中。只有相邻边界上的关键点进行配对,使网络更好地关注详细特征,但全局特征的缺乏导致在模糊车道场景下性能较差。为了添加全局信息,GANet [18] 采用更高效的后处理方法,通过直接计算关键点与起始点之间的偏移,全局返回到关键点。此外,提出了一种基于变形卷积(DCN)[90] 的车道感知特征聚合器,以改善车道形状并更好地捕捉车道上的局部上下文。RCLane [84] 稀疏化二进制分割结果,得到所有车道的关键点。它使用距离和传输头以链式模式解码通道,预测通道中的关键点和它们之间的连续关系。此外,提出了一种双边预测方法,用于学习复杂拓扑和全局形状信息,可以适应具有复杂结构的车道,如 Y 形和分叉车道。LanePtrNet [91] 设计了一个中心点最远点采样方法,确定车道中心点。然后,根据中心点位置和车道点嵌入进行聚类,获得最终车道。

其他方法采取自顶向下的方式。Chougule等人[92]针对每条车道,直接回归关键点的位置,而Yoo等人[93]预测特征图,并在每一行搜索车道上的关键点。然而,这两种方法都使用多分类策略区分实例,如第III-B1节所述,这并不灵活。CondLSTR[69]在CondLaneNet[17]的实例获取方法上进行了改进。它利用Transformer为每条车道生成动态和偏移 Kernel ,提高全局知识。然后,这些 Kernel 动态与整个特征图卷积,以预测车道关键点的热力图和偏移图。

Object Detection based Methods

Iii-C1 Line Anchor-based modeling

图像中的一条车道可以由等间隔的2D点表示。具体来说,车道可以表示为一个点的序列,即。点的纵坐标通过图像垂直等分,即,其中是图像的高度。相应地,点的横坐标与各自的相关。有了,可以确定构成车道的点的位置。

作者可以通过将线 Anchor 点(line anchors)的垂直间距设置为相等来初始化一组二维点。当一个线 Anchor 点与对应的GT匹配时,网络只需要预测有效y坐标的数量以及每个有效y坐标的x坐标相对于GT的横向偏移量。通过这个过程,最终的车道可以被重构。

Line-CNN [77] 采用大量预定义的直线作为线 Anchor 。然而,它根据每个起点点的局部特征预测所有 Anchor 点的得分、长度和横向坐标偏移,这意味着 Backbone 网络必须具有足够多的通道。为了解决这个问题,LaneATT [80] 提出了一种线 Anchor 特征池化方法,允许使用轻量级的 Backbone 网络,并呈现高性能和高效的注意力聚合机制,以更好地检测隐藏的车道。PointLaneNet [94] 和 CurveLane-NAS [40] 将图像分割成非重叠网格,并根据垂直线 Anchor 点基于预测车道。特别是,CurveLane-NAS 使用网络架构搜索(NAS)[95] 找到一个更好的网络来捕获更准确的信息,这对于检测曲线车道是有利的。SGNet [81] 引入了一种新颖的消失点导向 Anchor 生成器,并添加了多个结构引导来提高性能。Jin等人[43] 引入了称为 eigenlanes 的数据驱动描述符。他们使用低阶车道矩阵的近似值来获得可以更好地预测曲线车道的线 Anchor 。由于大量预定义 Anchor 点和目标检测中早期的正负样本匹配策略的局限性,非极大值抑制(NMS)后处理也是不可避免的。

随着Transformer在目标检测领域的广泛应用,该领域的研究逐渐从密集预测范式(如YOLO [96] 和Faster R-CNN [97])转向预测范式(如DETR [98])。同样,基于目标检测的车道线检测也从固定的密集方法转向动态稀疏方法。基于可变形DETR [99],Laneformer [83] 在编码器中引入了两种新的行和列自注意力操作,以有效捕捉车道上下文。二进制匹配策略使得无需NMS(非极大值抑制)。受Sparse R-CNN [100]启发,CLRNet [19] 使用多层金字塔的特征图,迭代调整预设线 Anchor [101]的位置。它提出了ROIGather,以增强车道特征提取,有效解决遮挡和光照变化等挑战。此外,引入全局车道回归,增强定位精度。CLRNet 在2D车道线检测数据集上取得了最先进的结果。Line IoU Loss的改进分别在[102]和[103]中进行。O2SFormer [104] 提出了一种一对一的标签分配策略,并将车道 Anchor 点纳入位置 Query [105],为模型提供显式位置先验,加速模型收敛。ADNet [86] 通过学习这些点及其相关方向的heatmap,消除了 Anchor 点起始位置的限制,使网络能够适应不同数据集上的多种车道类型。它提出了一种基于混合CNN&Transformer架构的模块[106][107],以扩大感受野,并提出了Generalized Line IoU Loss来解决Line IoU Loss的局限性。同样,SRLane [87] 通过预测局部方向热map生成稀疏线 Anchor ,并发展一个车道段关联模块来调整不适合的车道段。Sparse Laneformer [108] 设计了可学习的车道和角度 Query ,以生成稀疏线 Anchor 。它采用两阶段的Transformer解码器来优化车道预测。GSENet [89] 设计了一个基于膨胀卷积的全局特征提取模块[51]和SimAm [109]来获得准确和全面的全局特征,并进一步使用ViT [110]增强语义表示。HGLNet [88] 利用膨胀卷积的大感受野来增强局部特征表示。它设计了一个基于可变形注意力的全局提取头,以自适应地提取车道全局特征。

Iii-C2 Curve-based modeling

一些研究将车道建模为图像空间的曲线方程,预测模型的曲线参数。一项开创性工作[111]提出了一种可微分的最小二乘拟合模块,将多项式曲线(例如)拟合到深度神经网络预测的点。这种方法主要包含两个组件:一个用于预测权重图的深度网络和一个可微分的最小二乘拟合模块,以生成最佳拟合曲线。然后,PolyLaneNet [79] 直接使用简单的全连接层来学习预测多项式系数。LSTR [82] 使用Transformer以端到端的方式基于DETR [98]预测多项式。然而,由于曲线参数学习的困难以及Transformer训练的挑战,这些方法的表现仍然不理想。PGA-Net [85] 引入了一种改进的监督策略来加速Transformer收敛,并提出了一种平均曲率损失来约束预测车道曲率的曲率,从而提高弯曲车道的预测准确性。

冯等人[20]认为多项式是抽象的,系数优化具有挑战性,因此建议使用三阶贝塞尔曲线进行车道建模。该方法预测四个控制点来确定车道位置,证明比多项式系数直接回归更具鲁棒性。他们考虑了图像中的车道伪对称性,并基于[112]的DCN提出一种特征翻转融合模块,以增强车辆前视图像中的特征表示。随后,陈等人[113]将车道建模为更灵活的B样条曲线,并提出了一个新型的曲线距离计算方法来提高控制点预测的监督。

2D Lanes to 3D Lanes

一旦从FV中获取2D车道坐标,作者需要使用IPM将其投影到BEV以获得用于下游处理的3D车道。在这里,作者简要回顾一下IPM的一般过程。首先,每个像素坐标(u,v)与摄像机坐标(x_c,y_c,z_c)之间的关系可以描述为:

然后每个摄像机坐标和自身车辆坐标可以链接为:

其中,分别表示旋转矩阵和位移矩阵,它们组合表示相机的扩展参数。

根据公式4和公式5,作者可以建立从每个像素坐标到自车坐标的变换。

由于透视投影的特点,当摄像头将3D空间中的物体投影到图像平面上时,物体可能会失去深度信息。这意味着距离不同的物体可能会被投影到同一位置。因此,当作者只有和摄像机内参和外参时,作者无法得到。作者必须假设地面是平直的,即是一个常数。令,则根据公式6,可以计算为:

最后,将方程7代入方程6,作者可以得到 ego 车辆坐标。按照这种方式逐个像素转换坐标非常繁琐。作者可以在 FV 上选择四个感兴趣区域(ROI),并使用上述方法计算 ego 车辆坐标系中的相应位置。然后作者可以建立一个三元线性方程组:

通过利用已知的四点对,作者可以求解逆透视变换矩阵 。然后,作者可以利用  在图像中获取与自车坐标系相对应的 ROI 的位置。

尽管有更好的IPM(图像和视频多目标跟踪)过程可供选择[114, 115, 116],但由于视角效应,平坦地假设是不可避免的。如图6所示,车道在爬坡/下山过程中会发散/收敛,如果忽略高度,可能会导致规划与控制模块做出不正确的动作决策。这就是为什么人们一直在关注直接从FV(帧间视觉)直接预测3D车道[24, 25, 26, 27]的原因。

IV Methods of 3D Lane Detection

本文回顾了近年来三维车道线检测方法。首先,在第四部分A节,作者解释了将现有方法分类的基础。然后,在第四部分B节和第四部分C节,作者将讨论相应的现有方法。

Classification Framework

作为2D车道线检测的升级,3D车道线检测主要关注如何利用神经网络从2D FV图像中重构缺失的3D信息。

如图7所示,现有的3D车道线检测方法可分为两类:

(a)基于BEV的方法,该方法利用相机参数将提取的FV特征转换为带高度信息的BEV特征。这种构建中间 Agent 的过程通常称为视图变换[117]。这样,3D车道线检测任务可以简化为BEV中的2D车道线检测,然后将其与由高度估计头估计的高度值相结合,得到最终的3D车道。因此,这种方法的表现不仅取决于BEV中的2D车道线检测结果,还取决于所采用的视图变换方法。

(b)无BEV的方法,这些方法不依赖于BEV特征。它还可以分为两类。一类是在FV图像中检测2D车道并预测其深度,然后将它们投影到3D空间。另一类是直接在3D空间中建模车道。在初始化3D信息后,可以根据相机参数将其投影到FV。这种方法使得3D车道与FV特征直接交互,最终优化和更新3D车道。

对于每种方法,实例判别和车道建模仍进行讨论。根据它们进行的进一步分类因现有3D车道线检测的工作数量有限而缺失。作者在表3中列出了一些代表性作品。

BEV-based methods

该流水线遵循了密集BEV感知方法[126, 127, 128]的既定流程。由于BEV特性固有地隐藏了高度信息,后续的车道解码过程只需要考虑2D BEV平面,这可以自然地与2D车道线检测方法集成。FV和BEV特性之间的视图转换可以表述为:

 表示 FV 特征, 表示包含高度信息、 坐标的 BEV 特征, 表示变换模块, 表示以  为坐标的对应像素坐标。 和  是相机的外部和内部参数。

Ii-B1 IPM for View Transformation

3D-LaneNet [22] 是第一个直接从单目图像中预测3D车道的深度学习方法。该网络首先预测相机俯仰角和高度,生成一个可微分的IPM,将原始FV特征图与BEV特征图相结合。在BEV平面上,车道表示为垂直线 Anchor 点。3D-LaneNet在从单目图像中检测3D车道方面取得了 promising 的结果。GenLaneNet [23] 直接使用2D车道分割结果作为IPM的输入,允许充分利用丰富的2D车道数据并增强模型的泛化能力。与3D-LaneNet相比,Gen-LaneNet 通过使用相机俯仰角和高度作为GT提供更可靠的监督。李等人 [118] 提出了一种新的损失函数,基于Gen LaneNet,以更好地从2D车道表示中提取3D车道的身高信息。在BEV平面上,上述工作使用垂直线 Anchor 点来表示车道。然而,将线 Anchor 点与真实值匹配是通过在预定义的  处测量距离来实现的,这可能导致短车道线检测的遗漏。因此,3D-LaneNet+ [129] 采用自下而上的分割方法避免这个问题。刘等人 [130] 认为模型可以独立于基准提供的 GT 相机姿态。他们设计了一个基于Transformer的两阶段网络,首先预测相机姿态,即IPM所需的参数,然后提取BEV特征,并最后回归多项式系数。3D-SplineNet [122] 将车道视为BEV平面上的B样条曲线。

这些方法为3D车道线检测的初步探索提供了有价值的指导。然而,它们获取BEV特征依赖于IPM。如III-D节中所述,这种刚性映射缺乏鲁棒性。在弯曲或挤压转向时,往往会出现不正确的特征转换和性能不佳的问题。

Iii-B2 Learnable View Transformation

为了减少这种刚性转换所固有的错误,一些研究行人采用了一种更灵活的方法。他们使用神经网络从FV到BEV特征学习转换过程。PersFormer [24]利用可变形注意力[99]学习从FV到BEV的空间转换。它参考了IPM的坐标转换矩阵来生成BEV特征表示,重点关注FV特征中的相关区域。在车道解码阶段,PersFormer采用了一个统一的2D/3D线 Anchor 设计,实现了2D和3D车道的统一检测。BEV-LaneDet [26]将基于MLP的视图转换方法VPN[120]集成到FPN[131]中,以获得BEV特征。它构建了一个虚拟相机模块,将所有图像投影到标准虚拟相机视图上,确保了图像分布的一致性。

对于车道建模,BEV-LaneDet将车道建模为关键点。它采用了一种基于嵌入-聚类的实例分割方法[65],并参考YOLO[96]将BEV平面划分为网格,预测每个网格的中心点相对于GT的偏移量。由于其简洁的结构,它非常适合部署。Yao等人[121]在PersFormer[24]的基础上添加了粗粒度到细粒度机制。他们融合了稀疏点坐标之间的局部和全局信息,并共同优化车道全局和局部结构。Chen等人[132]将FV和BEV特征之间的交叉注意力分解为两个单独的交叉注意力:一个是FV和车道特征之间的交叉注意力,另一个是BEV和车道特征之间的交叉注意力。然后使用动态核函数对FV和BEV特征图进行卷积,生成2D和3D车道关键点偏移图。GroupLane[133]使用基于深度估计的视图转换方法LSS[126]来获得BEV特征。它将BEV车道建模为网格[68],并建立垂直和水平组头分别识别水平

BEV-free Methods

Iii-C1 Combining Depth Estimation

类似于深度辅助的单目3D目标检测方法[134, 135, 136],SALAD [44]将3D车道线检测分解为2D车道分割和密集深度估计任务。借助于估计的深度,它将2D车道坐标投影到3D空间。由于深度信息的可用性,这种方法与摄像机外参无关。

Iv-A2 Dericly Modeling 3D Lanes

基于稀疏BEV表示的3D目标检测方法,如DETR3D [137]和PETR [138],指导了这种方法。曲线Former [119]通过将3D车道建模为3D线 Anchor 点来构建曲线 Query ,从而提供显式的位置先验[139]。它设计了一个曲线交叉注意力机制来预测3D车道的多项式参数。受到LaneATT [80]中线 Anchor 点特征池机制的启发,Anchor3DLane [25]利用相机内参和外参准确地将3D线 Anchor 点点映射到FV特征。这方便了 Anchor 点特征的采样,使网络能够基于采样的 Anchor 点特征预测3D坐标和车道分类结果。LATR [27]将3D线 Anchor 点分解为动态生成的点级和车道级 Query 。它使用动态3D地面位置嵌入来与FV特征交互,更新车道 Query 以桥接3D空间和2D图像。Dong等人[124]将车道建模为3D贝塞尔曲线,并通过Transformer预测曲线控制点。Han等人[140]将3D车道表示为3D空间中的多项式。他们设计了两层Transformer结构来学习XOZ平面的2D多项式和高度,并将结果映射到FV进行监督对齐。PVALane [123]通过在FV中预测2D车道,比Anchor3DLane生成的3D线 Anchor 点稀疏。它还引入了一个模块来对齐采样的FV和BEV特征,以实现更精确的3D车道线检测。

V Benchmark Results

这一部分报告了在常用公共数据集上代表性车道线检测方法的表现。对于每个审查区域,本节V-A部分选择了最广泛使用的数据集进行基准测试。由于对车道线检测的高效率要求,本节V-B部分还对代表性开源车道线检测方法在一个统一环境下进行了速度测试。请注意,作者只列出已发表的工作供参考。在性能和效率比较之后,本节V-C根据车道线检测的四个核心设计重新审查了现有方法。

Main Results on Lane Detection Datasets

CULane [36] 和 OpenLane [24] 目前是 2D 和 3D 车道线检测数据集中的最广泛使用数据集。作者在表4 和表5 中分别报告了这两个基准测试上代表性方法的表现。所有结果都来自原始论文中的数据。更多的基准测试结果报告在 B 部分。

Efficiency Comparison

考虑到现有方法中使用的设备具有可变性,因此在执行效率方面进行相对公平的比较具有挑战性。因此,作者在统一的环境下重新测试了这些代表方法。表6显示了这些方法的工作效率。这些代表性的开源方法是根据在CULane或OpenLane数据集上的设置进行重新评估的。为了确保公平性,仅测试模型的推理速度,并报告每秒帧数(FPS)。每种方法的 Backbone 、输入大小、模型输出以及可能的后期处理(模型输出是否反映了每个独特车道实例的向量化表示)也被描述。所有测试都使用了一个Nvidia GeForce RTX 3090 GPU。

Discussion

在前两章中,作者从四个方面对现有方法进行了概述:任务范式、车道建模、全局上下文补充和视角效应消除。结合性能和效率比较,作者继续讨论它们对车道线检测的重要性,为读者提供了一个实证配方。

任务范式。基于分割的方法采用两阶段方法实现实例级歧视和车道定位。算法的大部分运行时间被独立的实例歧视过程占用。因此,它们的整体效率不如基于检测的方法,这些方法在一阶段实现。对于基于检测的方法,在网络训练过程中值得考虑正负样本匹配策略,这将决定是否需要进行后处理。

段落一:

Lane modeling 在基于 Mask 的建模方法[16, 56, 36]中,每个像素都被分类,这可能导致不准确的分割 Mask ,进而阻碍向量拟合。因此,实现最佳性能和效率仍然具有挑战性。相比之下,基于关键点的建模、基于线 Anchor 的建模和基于曲线的建模方法学习较少的关键点或参数,直接提供下游所需的向量化结果。

段落二:

基于关键点的建模 是一种有效的方法,可以减少关键点的数量,从而提高模型效率。然而,这种方法可能会导致关键点的位置不准确,影响模型的准确性。

段落三:

基于线 Anchor 的建模 是一种改进的方法,它将关键点与线 Anchor 关联,以提高模型的稳定性。这种方法可以减少关键点的位置不准确,提高模型的准确性。

段落四:

基于曲线的建模 是一种复杂的方法,它可以提高模型的灵活性,但是需要更多的计算资源和时间。这种方法可以提高模型的准确性,但是可能会增加计算成本。

基于关键点的建模方法[18, 69]表现出强大的性能,得益于高精度的姿态估计技术。然而,这些算法的整体效率受到其分割范式中固有的实例判别步骤的限制。

基于线 Anchor 的建模方法[19, 25, 27, 80]利用单目图像中车道垂直和拉伸的特点,在性能和效率之间实现良好的平衡。然而,这些方法学习等距点水平的偏移,对于U形或几乎平行的车道不适用。这种特殊情况将在后续部分进行进一步讨论。

曲线建模方法[82, 20]在效率方面表现良好,但在2D车道线检测基准测试中,其竞争性能仍有待提高。有趣的是,这种方法在3D车道线检测中[125, 130]取得了良好的结果。正如韩等人[140]所分析的那样,这种差异是由于地面高度的影响,这使得在正面视图(FV)中拟合不规则车道变得具有挑战性。相比之下,这些车道在鸟瞰视图(BEV)中看起来更平滑,因此更容易拟合。

最后,基于网格的建模方法如UFLD [68] 实现了最高效率;然而,这以降低计算负载为代价,导致性能不佳。这些方法通常需要更高级的运算符来弥补这一权衡 [17]。

全局上下文补充。 无论是什么类型的方法,大多数人都认为补充全局信息可以显著提高车道线检测性能,尤其是对于检测被阻隔的车道。此外,确保这些专门设计的结构在高效处理和有效结果之间达到平衡也是至关重要的。尽管在现有的3D车道线检测基准测试和方法中,这一方面尚未得到广泛关注,但在实际应用中,某些2D车道线检测解决方案可以提供有价值的参考,或者可以无缝集成到3D车道线检测框架中。

消除视点效应的目标仍然是为了实现精确的3D车道线检测,以支持下游应用。使用IPM将2D车道线检测结果投影到3D空间是可行的。然而,基于平坦地面的假设通常会导致BEV中错误的结果,即使FV中的预测是准确的。基于深度值[44]将2D车道线检测投影到3D空间是直接的,但这种方法严重依赖深度估计,不能端到端地优化。

早期的3D车道线检测方法[22, 23]仍然假设地面是平坦的,它们利用IPM来构建BEV特征。一些稍后的方法[24, 26, 125]通过引入可学习的方法来改进这一点,从而提高了性能。另一种方法[25, 27, 119]完全避免了BEV特征的构建,直接建模3D车道,并采用3D到2D的正向投影来避免IPM引入的固有错误。值得注意的是,有些方法使用Transformer来实现BEV特征的视图转换[24]或实现3D车道与FV特征之间的交互[27],从而提高了性能。然而,高级操作器的硬件部署,如可变形注意力[99],仍然是一个需要优化的问题。

VI Extended Works of Lane Detection

近年来,一些与车道线检测密切相关的工作取得了丰富的成果并受到了广泛的关注。在任务流程上,它们可以被视为单目图像车道线检测的升级。在本节中,作者将简要介绍这些工作。图8描绘了从车道线检测到其扩展工作的进化路线图。

Multi-task Perception

自动驾驶中,多个感知任务通常需要实时、同步地并行处理。

A共享的 Backbone 可以极大地节省计算成本并提高效率。因此,利用一个统一的框架同时进行多个感知任务逐渐成为研究热点。早期的研究[142, 143, 159, 160, 161, 162]在特征提取器之后将多个特定任务头连接在一起,同时完成BDD100K[38]数据集上的三个任务:目标检测,可行驶区域分割和车道线检测。这些方法在每个任务上都取得了显著的成果,这得益于强大而高效的编码器以及精心设计的多任务学习策略。然而,BDD100K中的车道仅以语义 Level 进行标注,通常只能使用二进制分割方法。对于车道,需要进一步后处理以区分实例。最近的研究主要集中在使用多个摄像头作为传感器的多任务3D感知。PETRv2[144]设计检测 Query 、分割 Query 和车道 Query ,同时支持3D目标检测、BEV分割和3D车道线检测。李等[145]提出了一种统一表示方法,用于多个感知任务。他们将3D目标和3D车道表示为一种3D向量场,这使他们能够利用单头统一模型实现多任务感知。

Video Lane Detection

正如前文所述,当前的研究试图补充更多的全局信息,以便更好地检测具有模糊视觉线索的车道。然而,这些方法依赖于使用单张图像的检测器。在自动驾驶系统中,视频帧被连续捕获。因此,帧之间的相关性可以用于更可靠地检测当前帧中的隐蔽车道。对于2D车道线检测,周等人[163]和张等人[164]使用递归神经网络将当前帧与多个过去帧的特征融合。张等人[41]根据Transformer将当前帧和多个过去帧的特征聚合。塔贝利尼等人[165]使用LaneATT[80]从视频帧中提取车道特征,并组合这些特征。王等人[166]通过在相邻视频帧中扩展RESA[16]的特征聚合模块利用时空信息。金等人[46]提出了RVLD[46],其中包含一个在静态帧中定位车道的内部帧检测器和一个使用前帧信息的当前帧预测车道线检测器。OMR[152],由同一团队开发,采用占据车道的车辆 Mask 与历史帧交互,从而进一步提高当前帧中的车道线检测准确性。对于3D车道线检测,STLane3D[167]提出在BEV空间下采用多帧预对齐层,将不同帧的特征均匀映射到相同的ROI区域。Anchor3DLane-T[25]通过将当前帧的3D Anchor 点投影到前帧以采样特征来引入时间信息。CurveFormer++[168]设计了一个基于CurveFormer[119]的临时曲线交叉注意力模块,可以选择性地利用历史曲线 Query 和关键点来逐帧传播历史信息。

Online HD Map Construction

HD地图是自动驾驶的重要组成部分。尽管传统的离线方法可以生成准确的地图信息,并为许多自动驾驶公司所采用,但需要大量的手动标注成本。作为替代方案,一些研究工作试图设计一种新颖的HD地图学习框架,该框架利用车载传感器和计算能力来估计矢量化局部语义图。

从过程角度来看,它们通常遵循BEV感知任务的通用流程[117],作为输入的是多摄像头图像,通过2D编码器提取图像特征,然后通过视图变换模块获得BEV特征,最后通过特定地图元素解码器从BEV视角输出各种地图元素。由于传感器数量的增加以及需要检测的地图元素包括但不仅限于车道、人行横道、车道分隔带和车道边界,因此这个任务比单目车道线检测更具挑战性。同样,这种工作的关键是如何将具有不同形状的地图元素(如线条和多边形)表示为一组可以通过神经网络学习的值。

HDMapNet [158] 采用自下而上的分割方法对所有地图元素进行语义分割。然后,它将实例嵌入和后处理聚类相结合,以获取每个地图元素实例。这个栅格的渲染结果仍需要后处理以供下游使用,因此后续工作尝试端到端地预测向量化的地图。BeMapNet [169] 将地图元素建模为分割Bezier曲线。首先检测地图元素,然后使用分段Bezier头回归详细点。VectorMapNet [170] 使用线来表示所有地图元素,并定义了一个层次 Query 表示。地图元素的点通过 Transformer 解码器自动回归输出。然而,它通过自动回归输出点集,导致效率低下。MapTR [148] 为地图元素设计了一种独特的表示方法。它分别使用具有均匀采样点的线和多边形来表示线和区域元素。因此,所有地图元素都被表示为具有相同点数且排列顺序不同的集合。由于其统一的置换等价建模方法和分层 Query 设计,MapTR仅通过摄像头输入在nuScenes [146]数据集上实现了高级性能和效率,为后续研究提供了坚实的基础。MapTRv2 [171] 改进了MapTR解码器中的自注意力和交叉注意力,进一步提高了准确性和性能。PivotNet [149] 提出了一种端到端框架,使用pivot点来表示地图元素,目的是解决MapTR中使用固定数量和一致位置的点来表示复杂地图元素所导致的形状信息损失问题。HIMap [150] 精心设计了MapTR的分层 Query 特征提取器,使模型能够更好地学习实例级特征。StreamMapNet [172] 在时间方面改进了MapTR。它将所有历史帧的信息叠加在一起,并实现了一个使用循环后向嵌入的记忆机制。然后,MapTracker [151] 将在线HD地图构建形式化为跟踪任务,并使用记忆潜在的历史以确保时间上的重建一致性。

Lane Topology Reasoning

拓扑推理旨在全面理解道路场景并呈现在自动驾驶中的可行路线。它需要检测道路中心线和交通元素,进一步推理它们之间的拓扑关系,即车道-车道拓扑和车道-交通拓扑。由于车载传感器在实际应用中具有宝贵的价值,因此直接使用车载传感器检测车道拓扑已变得越来越流行。

早期的拓扑推理主要关注车道-车道拓扑,即检测中心线以构建车道图。在线车道拓扑结构的提取最早由STSU [173]提出,该方法扩展了任务,包括中心线提取和车道连通关系。TopoRoad [174]使用一组有向车道曲线及其相互作用来表示道路拓扑。Can等[175]通过将中心线视为聚类中心来分配目标,从而提供关系额外监督。LaneGAP [156]利用图论中最短路径算法将车道拓扑转换为一系列重叠路径,并通过端到端学习直接获取这些完整路径的信息。CenterLineDet [176]将中心线视为顶点,并设计一个图模型来更新中心线拓扑。最近,车道-交通拓扑由OpenLaneV2 [153]数据集引入,进一步改善了场景结构的理解。为了实现完整和多样化的驾驶场景图,TopoNet [177]明确建模了网络内中心线之间的连接性,并将交通元素纳入任务。TopoMLP [154]利用位置嵌入 [138]来增强拓扑建模。LaneSegNet [155]提出了一种统一的表示来集成车道和中心线。它引入了一种车道注意力机制,以促进中心线和车道之间的拓扑关系学习。为了提高车道拓扑推理,TopoLogic [157]引入了一种高效的后处理方法,将中心线端点之间的几何距离和车道 Query 在高度维空间中的语义相似性整合在一起。

VII Future Direction

有效模拟任意形状的车道,同时保持高效仍然是一个重大的挑战。当场景从单目摄像头的正面视角扩展到多摄像头环视视角时,许多U形或几乎水平的车道变得常见。在这种情况下,那些严重依赖先验知识的建模方法,如基于网格的行分类或基于线 Anchor 的建模(学习纵向等距偏移点),就不适用了。相比之下,基于 Mask 的建模方法尽管性能和效率较低,但更为可靠。现有的矢量化地图元素建模方法[170, 148]为解决这个问题提供了有价值的指导。最近,Lane2Seq [141]通过序列生成统一了2D车道线检测。这种方法也为后续研究提供了一个有前途的方向,尽管其效率仍需进一步提高。

近年来,基于激光雷达(LiDAR)的车道线检测基准测试和方法[178, 179, 180, 181, 182, 183, 184]引起了关注,作为一种少数派方法。尽管激光雷达可以直接提供3D信息,但其较短的感知范围和高成本使得基于相机的算法更为普遍。然而,激光雷达具有优势,因为它不受光照变化影响,可以提供准确的深度信息,有效弥补相机的局限性。激光雷达和相机的数据整合在增强性能方面具有显著效果,这在3D感知领域得到了广泛验证[185, 186, 187, 188]。然而,目前尚缺乏专门针对多模态车道线检测的研究[189, 190, 191]。

标签和模型高效车道线检测。现有的车道线检测方法主要关注监督学习,这需要大量的标注进行训练,导致大量的手工成本。因此,开发标注高效的车道线检测算法是必要的。WS-3D-Lane [192]使用2D车道标签来弱监督3D车道线检测,这对研究和大规模生产都有价值。此外,无监督车道线检测[193, 194, 195, 196]也是一个有前途的方向,尽管相关的工作较少。

车道线检测在端到端自动驾驶中的作用。CVPR最佳论文UniAD [197]在学术界和工业界引起了关于开发端到端自动驾驶系统的重要兴趣 [198, 199, 200, 201, 202]。与传统的模块化架构(感知、预测和规划)不同,端到端自动驾驶系统直接从传感器数据中以全可微分的方式直接输出车辆运动规划结果。在这个框架内,车道线检测不再输出明确的车道坐标值,而是作为一个模块提供车道的中间表示。然而,这种方法通常会遇到诸如解释性有限和泛化能力不足等挑战,特别是在复杂的道路场景中,包括弯曲的道路和多车道切换。未来的研究可以探索将特定车道线检测输出(如车道中心线、车道宽度和曲率)作为先验知识集成到端到端模型中的中间表示中。这种集成可以使得网络更好地捕捉道路的结构特性,并确保在决策过程中保留关键的车道级信息。

视觉推理用于车道线检测。大型语言模型的出现和视觉语言模型的兴起为多模态人工智能系统提供了感知现实世界、做出决策和控制工具的能力,这种能力类似于人类的认知能力。最近,大型语言模型和视觉语言模型被集成到自动驾驶系统中,主要关注与动态障碍相关的视觉推理、未来轨迹的生成以及自动驾驶车辆的详细控制信号 [203, 204, 205]。相比之下,研究静态障碍(如车道)的视觉推理相对较少。幸运的是,为大规模视觉推理理解地图和交通场景而设计的新基准已经出现 [206]。通过在广泛的交通场景数据上进行训练,模型可以从复杂的视觉驾驶资源中获取洞察,包括地图数据、交通规定和事件报告。这使得它们可以提高车辆导航和规划的安全性和效率参数,同时也能适应动态道路条件,这类似于人类的直觉理解。

路侧车道线检测。自动驾驶当前的感知能力主要集中在 ego 车辆。虽然基于车辆的感知系统可以捕获周围环境,但其范围仅限于短距离。相比之下,安装在公用杆上方数米高的路侧摄像头可以实现远程感知,且视觉遮挡最小。最近,路侧 3D 目标检测数据集 [207, 208] 和相应方法 [209] 的发展,推动了路边场景 3D 感知任务的发展,为车辆和基础设施之间的潜在合作提供了便利。然而,目前还没有建立针对路侧车道线检测的基准或方法。路侧车道线检测可以有效地替代人工监控车道违规或非法变道,在安全应用方面具有巨大潜力。

VIII Conclusion

本次调查全面回顾了近年来基于深度学习的单目车道线检测的最新进展,涵盖了近年来2D和3D车道线检测方法。通过理论分析和实验评估,确定了车道线检测算法的四个核心设计:(1) 任务范式,注重车道实例级区分;(2) 车道建模,将车道表示为神经网络中一组可学习的参数;(3) 全局信息补充,增强对隐性车道的检测;(4) 视角效应消除,提供可用于下游应用的3D车道。从这些角度来看,本文对现有方法进行全面概述,包括日益成熟的2D车道线检测方法和正在发展的3D车道线检测工作。此外,本文还回顾了单目车道线检测的扩展工作,以帮助读者更全面地理解车道线检测的发展过程。最后,指出了车道线检测的未来研究方向。

概述 在本附录中,作者作为主论文的补充材料,提供更多细节。

关于任务指标的更多描述。(A节)

更多的基准结果。(B节)

三维车道与图像之间的对应关系。(C节)

More Task Metrics

在本节中,作者将详细描述用于车道线检测任务指标的更多指标。

针对Tusimple数据集,准确性(Acc)也将作为指标使用,评估公式如下:

 和   分别表示图像中的正确点和实际点的数量。

平均精确度(AP)。它经常用于评估Apollo 3DLane [23]。如II-B节所述,可以通过选择TP决策标准并迭代车道置信阈值来获取不同阈值下的TP。然后可以生成精确的召回曲线,并计算该曲线下面积以获得AP。

子弹误差和Z误差在3D车道线检测中。当GT匹配相应的预测车道时,误差定义为

其中表示GT采样点的坐标,表示匹配预测点的坐标,为车道上的点数。

凸包距离(CD)。ONCE-3DLanes [44] 提出的这一指标用于计算相机坐标系中的曲线匹配误差。在  和  之间计算曲线匹配误差  的方法如下:

中,分别表示点,其中是特定点的最接近点。表示 GT 车道距离相等的点 Token 数量。

More Benchmark Results


在其他2D车道线检测数据集上的性能比较。表7展示了Tusimple [35],LLA-MAS [39]和CurveLanes [40]的性能对比。

其他3D车道线检测数据集上的性能比较。作者在表9中报告了在ONCE-3DLanes [44]上的性能比较,在表8中报告了在Apollo 3DLane [23]上的性能比较。

Correspondence between 3D Lanes and Images.

这一部分介绍了3D车道与图像之间的对应关系。图9描绘了相机中3D车道的成像过程。利用常用的针孔相机投影作为说明,投影过程涵盖了从自车辆、相机、图像到像素之间的转换。

从自车坐标系到摄像机坐标系的转换仅涉及平移和旋转。考虑分别表示在自车和摄像机坐标系中一个3D点P的齐次坐标。它们之间的关系如下所示:

其中,分别表示一个旋转矩阵和一个平移矩阵。

图像坐标系被用来表示从摄像坐标系到图像平面的视角投影。当忽略摄像畸变时,可以使用小孔模型简化三维点与其图像平面投影之间的关系。图像坐标(xi, yi)由公式15确定:

其中, 表示相机的焦距。

翻译和缩放变换将图像坐标框架与像素坐标框架联系起来。设分别表示x轴和y轴的缩放因子,而则表示坐标系原点的平移值。像素坐标可以数学地表示为公式16所示:

根据公式15和公式16,设,作者可以推导出公式17:

总结起来,3D点P在 ego-vehicle坐标系中的关系以及其对应在像素坐标系中的投影P'可以描述为:

参考文献

[0]. Monocular Lane Detection Based on.





扫描下方二维码,添加AI驾驶员

获取更多的大模型多模态等信息


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/177458
 
162 次点击