一文解决3D车道线检测:最新单目3D车道线检测综述

news2025/1/15 6:45:22

前言

场景理解是自动驾驶中极具挑战的任务,尤其是车道检测。车道是道路分割的关键,对车辆安全高效行驶至关重要。车道检测技术能自动识别道路标记,对自动驾驶车辆至关重要,缺乏这项技术可能导致交通问题和事故。车道检测面临多种挑战,包括车道标记的小尺寸、广泛分布、多种车道类型、光线条件、障碍物和纹理干扰等。

基于摄像头的车道检测方法

可以主要分为二维(2D)和三维(3D)车道检测。

图片

2D车道检测

2D车道检测方法旨在准确描绘图像中车道的形状和位置,主要采用四种不同的方法:基于分割、基于锚点、基于关键点和基于曲线的策略。(1) 基于分割的方法将2D车道检测框定为像素级分类挑战,生成车道掩码。这些方法通过探索有效的语义特征并进行后处理来培养车道分组,但它们的计算成本较高。(2) 基于锚点的方法在2D车道检测中因其简单性和高效性而受到称赞,通常使用线性锚点来回归相对于目标的位置偏移。为了规避线性锚点的限制,使用内在车道空间生成各种车道候选点。启发式设计的行锚点将行像素分类为车道,在中进一步演变为混合(行和列)锚点,以减轻侧车道的定位误差。此外,这种方法显著提高了推理速度。(3) 基于关键点的方法提供了更灵活和稀疏的车道位置建模,首先估计点位置,然后使用各种方案将属于同一车道的关键点关联起来。中的主要策略是通过预定义关键点和回归采样点与预定义点之间的偏移来预测2D车道。尽管这些方法取得了有希望的结果,但由于其固定点设计,缺乏适应复杂车道配置的灵活性。(4) 基于曲线的方法通过各种曲线方程和特定参数拟合车道线,将2D车道检测转化为曲线参数回归挑战,通过检测起点和终点以及曲线参数。尽管在2D车道检测方面取得了有希望的进展,但2D结果与实际应用需求之间仍存在显著差距,特别是精确的3D定位。

图片

3D车道检测

由于2D车道检测本质上缺乏深度信息,将这些检测投影到3D空间可能会导致不准确和鲁棒性降低。因此,许多研究人员将重点转向3D领域内的车道检测。基于深度学习的3D车道检测方法主要分为基于CNN的方法和基于Transformer的方法,首先构建稠密的鸟瞰图(BEV)特征图,然后从这些中间表示中提取3D车道信息。基于CNN的方法主要包括D-LaneNet,它提出了一种双路径架构,利用逆透视变换(IPM)转置特征,并通过垂直锚点回归检测车道。3D-LaneNet+将BEV特征分割为不重叠的单元,通过相对于单元中心的横向偏移、角度和高度偏移解决锚点方向的限制。GenLaneNet首次在虚拟俯视坐标系统中更好地对齐特征,并引入两阶段框架,将车道分割与几何编码分离。BEVLaneDet使用虚拟摄像头确保空间一致性,并通过基于关键点的3D车道表示适应更复杂的场景。GroupLane 在BEV中引入行基分类方法,可容纳任意方向的车道,并与实例组内的特征信息交互。

图片

基于Transformer的方法包括CLGo,提出了一种两阶段框架,能够从图像中估计摄像机姿态,并基于BEV特征进行车道解码。PersFormer使用离线摄像机姿态构建稠密的BEV查询,将2D和3D车道检测统一在一个基于Transformer的框架下。STLanes3D使用融合的BEV特征预测3D车道,并引入3DLane-IOU损失,将横向和高度误差耦合起来。Anchor3DLane,一种基于CNN的方法,基于3D锚点直接从图像特征回归3D车道,显著减少了计算开销。CurveFormer在Transformers中利用稀疏查询表示和交叉注意力机制,有效回归3D车道的多项式系数。LATR在CurveFormer的查询锚点建模基础上,构建了车道感知查询生成器和动态3D地面位置嵌入。CurveFormer++提出了一种不需要图像特征视图变换的单阶段Transformer检测方法,直接从透视图像特征推断3D车道检测结果。

图片

自动驾驶中的单目3D车道检测

3D-LaneNet 是单目3D车道检测领域的开创性工作。3D-LaneNet引入了一个网络,可以直接从单目图像中预测道路场景中的三维车道信息。这项工作是第一个使用车载单目视觉传感器解决三维车道检测任务的。3D-LaneNet引入了两个新概念:网络内特征图反向透视映射(IPM)和基于锚点的车道表示。网络内IPM投影促进了前视图和鸟瞰图中双重表示信息流的传递。基于锚点的车道输出表示支持端到端训练方法,这不同于将三维车道线检测问题等同于目标检测问题的常见启发式方法。3D-LaneNet的概述如图2所示。

图片

受到FCOS和 CenterNet等工作的启发,3D LaneNet+ 是一种无锚点的3D车道检测算法,可以检测任意拓扑结构的3D车道线。3D LaneNet+的作者沿用了3D LaneNet的双流网络,该网络分别处理图像视图和鸟瞰视图,并扩展了支持检测更多拓扑结构的3D车道线。与预测整个车道不同,3D LaneNet+检测位于单元内的小车道段及其属性(位置、方向、高度)。此外,该方法为每个单元学习一个全局嵌入,将小车道段聚类为完整的3D车道信息。在中,Jiang等人设计了一个两阶段3D车道检测网络,其中每个阶段分别进行训练。第一个子网络专注于车道图像分割,而第二个子网络专注于基于第一个子网络的分割输出预测3D车道结构。在每个阶段分别引入了高效通道注意力(ECA)注意力机制和卷积块注意力模块(CBAM)注意力机制,从而提高了分割性能和3D车道检测的准确性。Guo等人提出了Gen-LaneNet,一种通用且可扩展的3D车道检测方法,用于从单一图像中检测3D车道线,如图3所示。作者引入了一种新的几何引导车道锚点表示,并应用特定的几何变换直接从网络输出计算真实的3D车道点。这种锚点设计直观地扩展了3D-LaneNet中的锚点设计。这种方法将锚点坐标与基础鸟瞰视图特征对齐,增强了其在处理不熟悉场景时的鲁棒性。此外,该论文提出了一个可扩展的两阶段框架,使图像分割子网络和几何编码子网络能够独立学习,从而显著减少了训练所需的3D标签数量。此外,该论文还引入了一个高度逼真的合成图像数据集,具有丰富的视觉变化,用于开发和评估3D车道检测方法。

图片

Liu等人提出了CLGo ,一种两阶段框架,用于从单一图像中预测3D车道和相机姿态。其第一阶段专注于相机姿态估计,并引入了辅助3D车道任务和几何约束进行多任务学习。第二阶段则针对3D车道任务,利用先前估计的姿态生成顶视图图像以进行准确的3D车道预测。PersFormer引入了首个基于Transformer的3D车道检测方法,并提出了一种称为Perspective Transformer的新架构,如图4所示。这种基于Transformer的架构实现了空间特征转换,使得3D车道线的检测更加准确。此外,该框架具有同时处理2D和3D车道检测任务的独特能力,提供了一种统一的解决方案。此外,该论文还提出了OpenLane,一个基于Waymo Open数据集构建的大规模3D车道检测数据集。OpenLane是首个提供高质量注释和多样化真实场景的数据集,为推进该领域的研究提供了宝贵的资源。

图片

研究人员引入了最大的真实世界3D车道检测数据集ONCE-3DLanes数据集,并提供了更全面的评估指标,以重新激发对这一任务在真实场景中的兴趣。此外,该论文提出了一种名为SALAD的方法,能够直接从前视图图像生成3D车道布局,而无需将特征图转换为鸟瞰视图(BEV),SALAD的网络架构如图5所示。提出了一种新的损失函数,利用车道在3D空间中的几何结构先验,从局部到全局稳定重建,并提供明确的监督。它引入了一个2D车道特征提取模块,利用顶视图的直接监督,确保最大限度地保留车道结构信息,特别是在远处区域,整体流程如图7所示。此外,该论文提出了一种针对3D车道检测的任务特定数据增强方法,以解决地面坡度和相机姿态的数据分布不平衡问题,增强了在罕见案例中的泛化能力。Bai等人提出了CurveFormer,一种基于Transformer的3D车道检测算法。在这篇论文中,研究人员将解码器层中的查询形式化为动态锚点集,并利用曲线交叉注意模块计算查询与图像特征之间的相似性。此外,他们还引入了上下文采样单元,通过结合参考特征和查询来预测偏移,指导采样偏移的学习。Ai等人提出了WS-3D-Lane ,首次提出了一种仅使用2D车道标签的弱监督3D车道检测方法,并在评估中超越了之前的3D-LaneNet方法。此外,作者提出了一种相机俯仰自校准方法,可以实时在线计算相机俯仰角,从而减少由于道路不平造成的相机与地面平面之间俯仰角变化带来的误差。在BEV-LaneDet中,作者引入了虚拟相机的概念,一种用于数据预测处理的新模块,旨在标准化相机的外部参数,并确保数据分布的一致性。此外,他们提出使用关键点表示作为表示3D车道结构的简单而有效的方法。此外,他们提出了MLP基空间转换金字塔,这是一种轻量级架构,旨在将多角度视觉特征转换为鸟瞰特征。Huang等人提出了Anchor3DLane 框架,该框架直接在3D空间中定义锚点,并直接从前视图回归3D车道线,而无需引入顶视图,如图6所示。作者还提出了Anchor3DLane的多帧扩展,以利用对齐良好的时间信息并进一步提高性能。此外,开发了一种全局优化方法,通过利用车道等宽特性来微调车道线。

图片

Li等人提出了一种方法,从前视图图像中直接提取顶视图车道信息,减少了2D车道表示中的结构损失。该方法的整体流程如图7所示。在本文中,作者将3D车道检测视为从2D图像到3D空间的重建问题。他们提出,在训练过程中显式地施加3D车道的几何先验对于充分利用车道内和车道间关系的结构约束以及从2D车道表示中提取3D车道的高度信息至关重要。作者分析了3D车道与其2D表示之间的几何关系,并提出了一种基于几何结构先验的辅助损失函数。他们还证明,显式几何监督可以增强噪声消除、异常值拒绝和3D车道结构保留。

图片

数据集及不同算法表现

图片

图片

图片

图片

未解决的挑战

  1. 粗略的结构化信息:大多数文献中提到的3D车道检测数据集都是在先进城市的正常和结构良好的基础设施中记录的。

  2. 不确定性感知决策:车道检测和自动驾驶决策中一个被忽视的重要方面是模型对输入数据的预测信心。

  3. 弱监督学习策略:当前的深度学习模型主要依赖于全监督学习策略,这对标记数据的需求很高。

图片

未来方向

  1. 基于视频的自动驾驶3D车道检测:借鉴视频目标检测、语义分割和2D车道检测的进展,结合视频技术显著提高了3D车道检测系统的精度和可靠性。视频方法的核心优势在于它们能够利用时间数据,提供静态图像所缺乏的动态视角。

  2. 混合方法和多模态技术:通过结合各种传感器输入(如摄像头、LiDAR和雷达),多模态3D车道检测技术的进展显著加快。这一整合为克服现有摄像头系统面临的挑战开辟了前景。

  3. 主动学习和增量学习:主动学习是指模型在测试阶段和部署后遇到新数据时能够适应和学习的能力。

  4. 恶劣天气条件:开发基于摄像头的自动驾驶3D车道检测系统的进展显著受到恶劣天气条件的阻碍,这些条件会严重影响能见度。

  5. 大语言模型(LLM)在3D车道检测中的应用:大语言模型(如ChatGPT)的出现改变了人工通用智能(AGI)领域,展示了它们在通过自定义用户提示或语言指令处理各种自然语言处理任务方面的出色能力。

  6. 更准确和高效的自动驾驶3D车道检测方法:目前3D车道检测技术的定性性能如表IV所示。我们可以观察到,只有少数方法能够在模型准确性和推理延迟之间取得平衡。

  7. 基于事件相机的3D车道检测:RGB摄像头受其成像原理的限制,在高速或低光场景中图像质量较差。幸运的是,事件相机可以克服这一限制。事件相机是一种具有高时间分辨率、高动态范围、低延迟和低能耗的视觉传感器。

  8. 不确定性感知的3D车道检测:在过去的几年里,深度神经网络在众多计算机视觉任务中取得了显著成功,巩固了其作为高效自动感知工具的重要地位。

引用文章

Monocular 3D lane detection for Autonomous Driving: RecentAchievements, Challenges, and Outlooks


关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1968374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JS 逆向补环境

报错信息ReferenceError: window is not defined 看到此报错应该在env文件中写入一下代码 windowglobal报错信息Cannot read properties of undefined (reading ‘userAgent’) 看到此报错应该在env文件中写入一下代码 navigator{"userAgent":Mozilla/5.0 (Windo…

[GYCTF2020]Blacklist1

打开题目 判断注入类型,输入1试试 输入2 输入1 判断为字符型注入 堆叠查询2;show databases;# 然后来输入2; show tables;#来查看数据库的表 然后我们通过FlagHere表来查看列输入2;show columns from FlagHere;# 来查看列 、 重新构造payload:0;HAND…

手机在网状态接口如何对接?(二)

一、什么是手机在网状态? 传入手机号码,查询该手机号的在网状态,返回内容有正常使用、停机、在网但不可用、不在网(销号/未启用/异常)、预销户等多种状态。 二、手机在网状态使用场景? 1.用户验证与联系…

C语言数据在内存中的存储超详解

文章目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断2. 1 什么是大小端?2. 2 为什么会有大小端?2. 3 练习 3. 浮点数在内存中的存储3. 1 一个代码3. 2 浮点数的存储3. 2. 1 浮点数存的过程3. 2. 2 浮点数取的过程3. 3 题目解析 1. 整数在内存中的…

vue大数据量列表渲染性能优化:虚拟滚动原理

前面咱完成了自定义JuanTree组件各种功能的实现。在数据量很大的情况下,我们讲了两种实现方式来提高渲染性能:前端分页和节点数据懒加载。 前端分页小节:Vue3扁平化Tree组件的前端分页实现 节点数据懒加载小节:Element Tree Plu…

镜像制作和管理

文章目录 一、Docker镜像说明Docker镜像中没有内核为什么没有内核容器中的程序后台运行会导致此容器启动后立即退出镜像的生命周期和制作方式 二、手动构建镜像基于容器手动制作镜像步骤实际操作基于 busybox 制作httpd镜像制作tomcat镜像基于ubuntu的基础镜像手动安装nginx镜像…

空间域注意力机制(Spatial Attention)

空间域注意力机制(Spatial Attention)是深度学习中一种重要的注意力机制,用于在处理如图像或视频数据时聚焦于特定区域,以提高模型的性能和效率。举例来说,首先,卷积神经网络处理一张图像,经过特…

【Docker】认识 Docker(版本、官方网站、架构、生态)

一、Docker 版本 Docker 发展过程中衍生了以下版本,目前我学习和使用提到的版本是 docker-ce。 1、lxc lxc 是最早的 linux 容器技术,早期版本的 docker 直接使用 lxc 来实现容器的底层功能。虽然使用者相对较少,但 lxc 项目仍在持续开发演…

理想发周榜,不是新能源市场的原罪

余华在他的小说《在细雨中呼喊》曾写过这么一段话: “仓廪实而知礼节,衣食足而知荣辱”,在物质需求得到满足以前,精神文明的发展难免会有所滞后。所以,贫穷,不是原罪。 同样的,在如今的新能源…

常见API(一)

API(Application Programming interface):应用程序编程接口,别人写好的程序,直接拿来调用。主要是为了灵活解决需求。这次只先简单学习了一下String和ArrayList两个。 1.包 包是分门别类管理程序的,类似于文件夹。别人写好的包通常都在别人的…

Android Studio2024安装教程

软件介绍 Android Studio 是谷歌推出的一个Android集成开发工具。 基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。 软件下载 https://docs.qq.com/doc/DR0hWZ0l4aGtVTmVr软件安装 1、双击运行安装文件 2、…

双模幂运算Java

题目: 给你一个下标从 0 开始的二维数组 variables ,其中 variables[i] [ai, bi, ci, mi],以及一个整数 target 。 如果满足以下公式,则下标 i 是 好下标: 返回一个由 好下标 组成的数组,顺序不限 。 …

RK3568平台(触摸篇)双屏异触调试

一.现象 现象:准备两块主屏都接触摸框,A屏的HDMIOUT外接B屏的HDMIIN,用手触摸A屏,发现A屏没有触摸,A屏幕的触摸现象在B屏那边。 现要求:用手触摸A屏,A屏要有现象,不能现象在B屏那边…

《Transformer Scale Gate for Semantic Segmentation》CVPR2023

摘要 论文提出了一种名为Transformer Scale Gate(TSG)的模块,用于优化在语义分割任务中多尺度上下文信息的编码。现有的基于Transformer的分割模型在组合不同尺度的特征时没有进行选择,这可能导致次优尺度的特征降低分割的准确性…

【网络】UDP协议——传输层、端口号、UDP协议、UDP协议端格式、UDP的特点、UDP的缓冲区、UDP使用注意事项

文章目录 Linux网络1. 传输层1.1 端口号1.2 UDP协议1.2.1 UDP协议端格式1.2.2 UDP的特点1.2.3 UDP的缓冲区1.2.3 UDP使用注意事项1.2.5 基于UDP的应用层协议 Linux网络 1. 传输层 传输层:是 OSI 模型和 TCP/IP 模型中的重要层次,位于网络层之上、应用层…

推荐一个gpt镜像网站

包含现在主流的大语言模型 一个网站,各种模型随意切换和体验 集成多种功能 不止于对话,更有文生图,思维导图等多种功能 支持多个平台 除了网页版,更有安卓, mac os, ipad os等多个平台,随时随地方便同步和使用 …

【大模型】【智能体】agent导论

基本的图像 react: prompt:

营收保持增长,汽车之家掌握了什么“流量密码”?

从汽车之家新鲜出炉的“成绩单”来看,汽车行业的流量生意依然红火。 财报显示,2024年第二季度,汽车之家实现总营收18.7亿元,同比增长2.2%;经调整净利润5.72亿元,经调整净利润率达30.6%。其中,在…

MySQL:管理和操作数据表

数据表是数据库的重要组成部分,每一个数据库都是由若干个数据表组成的。没有数据表就无法在数据库中存放数据。MySQL数据表的管理和操作是数据库管理员和开发人员日常工作中不可或缺的一部分。 创建数据表 CREATE 创建数据表的过程是规定数据列的属性的过程&#…

数字图像处理 --- 图像的离散余弦变换(python实战)

图像的离散余弦变换(python实战) 这篇文章是我上两篇文章的延续,主要是觉得前面的文章太长了,所以把关于图像的DCT变换部分单独拎出来放到这里,这两篇文章分别是: 1,一维DCT 数字信号处理 --- 一维离散余弦变换(pyth…