车道线检测----Lane-ATT

news2025/5/18 12:53:10

本文针对车道线检测----Lane-ATT论文所有细节进行阐述,有帮助的话点个收藏关注吧

保持对车道的关注:注意力引导的车道检测

摘要

但许多方法在保持实时效率方面存在问题,这对于自动驾驶车辆至关重要。在本文中,我们提出了LaneATT:一种基于锚框的深度车道检测模型,与其他通用深度目标检测器类似,它在特征池化步骤中使用锚框。由于车道遵循规则的模式并且高度相关,我们假设在某些情况下全局信息对于推断它们的位置至关重要,特别是在遮挡、车道标记缺失等条件下。因此,我们提出了一个新的基于锚框的注意力机制,用于聚合全局信息。

1. 引言

用于现实场景的模型应能抵御多种不利条件,如极端的光照和天气条件。此外,车道标记可能会被其他物体(例如汽车)遮挡,这对于自动驾驶汽车来说是一个非常常见的案例。一些方法,如多项式回归模型,可能还会受到长尾效应引起的数据不平衡问题的困扰,因为曲线更为明显的案例较为少见。此外,模型不仅要稳健,还要高效。在许多应用中,车道检测应在实时环境中执行,这是许多模型难以应对的要求。由于该任务对于自动驾驶汽车的发展至关重要,文献中有许多关于此问题的工作。在深度学习出现之前,几种方法采用了更传统的计算机视觉技术,例如霍夫线[3, 1]。随着卷积神经网络(CNN)的发展,研究重点转向了深度学习方法[12, 16, 10, 17]。通常,车道检测问题被表述为一个分割任务,其中,给定输入图像,输出是具有每个像素预测的分割图[16]。尽管深度学习的最新进展使得分割网络能够实时工作[21],但各种模型在实时工作方面仍存在困难。因此,分割方法的骨干选项相当有限。因此,一些近期的工作提出了其他方向的解决方案[12, 22]。此外,车道检测工作中还有其他常见问题,例如需要后处理步骤(通常是启发式方法)、较长的训练时间以及缺乏源代码,这阻碍了比较和可重复性。在本文中,我们介绍了一种比大多数现有最先进方法更快、更准确的车道检测方法。我们提出了一个名为LaneATT的基于锚框的单阶段车道检测模型。其架构使得使用轻量级骨干CNN成为可能(例如ResNet-34[8]),同时保持高精度。我们还提出了一个新的基于锚框的注意力机制,用于聚合全局信息。在[ ]上展示了广泛实验结果,包括与最先进方法的比较、效率权衡讨论以及我们设计选择的消融研究。总结来说,我们的主要贡献是:

  • 一种在训练和推理时间上比大多数其他模型更快的模型(达到250 FPS,比之前最高精度方法的MACs少了一个数量级);

  • 一种新的基于锚框的注意力机制,可能在其他被检测物体相关的领域有用。

2. 相关工作

尽管最初的车道检测方法依赖于经典计算机视觉,但深度学习方法在准确性和效率方面取得了实质性进展。因此,本综述重点关注深度车道检测器。我们首先讨论基于分割的方法[16, 10, 28, 14]或逐行分类方法[9, 19, 26],然后回顾其他方向的解决方案。最后讨论了车道检测工作中缺乏可重复性(一个常见问题)。

基于分割的方法

这种方法基于每个像素进行预测,将每个像素分类为车道或背景。生成分割图后,需要后处理步骤将其解码为车道集合。在SCNN[16]中,作者提出了一种专门设计用于长薄结构的方案,并展示了其在车道检测中的有效性。然而,该方法速度较慢(7.5 FPS),限制了其在现实场景中的应用。由于较大的骨干网络是速度较慢的主要原因,作者在[10]中提出了一种自注意力蒸馏(SAD)模块来聚合上下文信息,从而允许使用更轻量级的骨干网络,在保持实时效率的同时实现高性能。在CurveLanes-NAS[25]中,作者提出使用神经架构搜索(NAS)来寻找更好的骨干网络。尽管他们在数据集上取得了最先进的结果,但其NAS计算成本极高,每个数据集需要5000 GPU小时。

其他方法

其他方法也在之前的工作中被提出。例如,在FastDraw[17]中,作者提出了一种新的基于学习的方法来解码车道结构,避免了基于分割和逐行分类方法所需的聚类后处理步骤。尽管所提出的方法被证明能够达到高速,但其在准确性方面并未超越现有的最先进方法。同样的效果在PolyLaneNet[22]中也得到展示,其中提出了一个更快的基于深度多项式回归的模型。在这种方法中,模型学习为每个车道输出一个多项式。尽管其速度快,但该模型在处理数据集不平衡方面存在困难,如其预测对直线车道的高偏差所示。在Line-CNN[12]中,提出了一种基于锚框的车道检测方法。该模型在公共数据集上取得了最先进的结果,并在另一个未公开的数据集上取得了有希望的结果。尽管具有实时效率,但该模型比其他方法慢得多。此外,由于代码未公开,结果难以重现。还有些工作专注于车道检测流程的其他部分。在[11]中,提出了一种专注于遮挡案例的后处理方法,其结果比其他工作高出许多,但其速度显著较低(大约4 FPS)。为了提高夜间图像的结果,刘等[14]提出使用生成对抗网络(GAN)将日间图像生成夜间图像用于训练。

Lcls负责预测锚框属于K种车道类型或背景类的概率,输出为K+1个概率值。Lreg则输出车道提议的长度和Npts个偏移量,这些偏移量表示预测的车道位置与锚框之间的水平距离。

定义了一些锚框,这些锚框是根据车道线可能出现的位置和形状预先设定的

对于每个锚框,我们把它投影到特征图F上,特征图F是由骨干网络生成的,包含了图像的高层次特征。

我们从特征图F中提取与锚框相交的点的特征,这些特征组成了局部特征向量。比如,锚框i对应的局部特征向量就是特征图F中与锚框i相交的点的特征组合。

注意力模块先接收所有锚框的局部特征向量。

它通过一个全连接层处理这些局部特征向量,为每个锚框生成一组权重。这些权重表示每个锚框的信息在全局范围内的相对重要性。

这些权重被用来组合所有锚框的局部特征,生成全局特征向量。全局特征向量综合了所有锚框的信息,使得模型在预测车道线时,不仅能考虑到局部信息,还能参考全局的上下文信息。

3. 提出的方法

LaneATT是一个基于锚框的单阶段模型(类似于YOLOv3[20]或SSD[15]),用于车道检测。方法概述如图1所示。它接收来自车辆前视相机的RGB图像I∈R3×HI×WI作为输入。输出是车道边界线(以下遵循文献中的常规术语称为车道)。为了生成这些输出,卷积神经网络(CNN),称为骨干网络,生成特征图,然后通过池化过程提取每个锚框的特征。这些特征与注意力模块生成的一组全局特征相结合。通过结合局部和全局特征,模型可以更容易地使用来自其他车道的信息,这在遮挡或车道标记不可见等情况下可能是必要的。最后,将组合特征传递给全连接层以预测最终的输出车道。

3.2 骨干网络

所提方法的第一阶段是特征提取,可以由任何通用CNN(如ResNet[8])执行。该阶段的输出是从中提取每个锚框特征的特征图Fback∈RC′F×HF×WF。为了降低维度,在Fback上应用1×1卷积,生成通道压缩后的特征图F∈RCF×HF×WF。进行此压缩是为了降低计算成本。

3.4 注意力机制

3.5 提议预测

为每个锚框预测车道提议,包括三个主要组成部分:(i)K+1个概率(K种车道类型和一个用于“背景”或无效提议的类别),(ii)Npts个偏移量(预测与锚框线之间的水平距离),以及(iii)提议的长度l(有效偏移量的数量)。提议的起始索引(s)直接由锚框的原点y坐标(yorig,见第3.1节)确定。因此,结束索引可以确定为e=s+⌊l⌋−1。为了生成最终提议,通过连接aloc•和aglob•来聚合局部和全局信息,生成增强特征向量aaug•∈RNanc×2⋅CF⋅HF。此增强向量被输入到两个并行全连接层,一个用于分类(Lcls),另一个用于回归(Lreg),以产生最终提议。Lcls负责预测pi,即K+1个概率(项目i),而Lreg输出ri,即l和Npts个偏移量(项目ii和iii)。

最后经过nms就是最终的结果 nms根据提议间距是否小于阈值来进行筛选

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

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

相关文章

linux安装宝塔面板到数据盘

操作很简单,假如数据盘挂载在cipan1,在数据盘新建目录www,为了方便对应。 执行一下命令,创建软连接 ln -s /cipan1/www www 此时,根目录就出现了www文件夹 下面正常安装宝塔即可

【基础】Windows开发设置入门7:PowerShell的相关概念和使用

前言 大家熟悉的docker、Python,但对于Windows上有一套开配合开发的相对底层的环境设置,包括powershell、winget、WSL、还有开发驱动器什么的,我准备系统学一下,不然地基不牢,也盖不起冲天高楼~ 本节,介绍…

芯片生态链深度解析(一):基础材料篇——从砂砾到硅基王国的核心技术突围

【开篇:芯片——现代文明的“炼金术”】 当您滑动手机屏幕、驾驶新能源汽车、甚至用AI生成一幅画时,是否想过这些科技奇迹都始于一粒沙子?芯片,这个边长不足2厘米的黑色薄片,正是通过将砂砾提纯为高纯度硅锭&#xff…

一款利用ADB (安卓调试桥)来控制手机的玩机工具

—————【下 载 地 址】——————— 【​本章下载一】:https://drive.uc.cn/s/f36ed8ff62f74 【​本章下载二】:https://pan.xunlei.com/s/VOQDmKCq4u-CygjX9Tcn3fxEA1?pwdwf3t# 【百款黑科技】:https://ucnygalh6wle.feishu.cn/wiki/…

使用mermaid 语言绘画时序图和链路图

给大家展示一下效果, 官方地址:https://mermaid.nodejs.cn/ 官方开发地:https://mermaid.nodejs.cn/intro/#google_vignette graph LR%% 样式定义(完全保留) classDef user fill:#E1F5FE,stroke:#0288D1;classDef …

浅论3DGS溅射模型在VR眼镜上的应用

摆烂仙君小课堂开课了,本期将介绍如何手搓VR眼镜,并将随手拍的电影变成3D视频。 一、3DGS模型介绍 3D 高斯模型是基于高斯函数构建的用于描述三维空间中数据分布概率的模型,高斯函数在数学和物理领域有着广泛应用,其在 3D 情境下…

6种方式来探究数据集的的方法worldquant

覆盖率百分比 指金融数据字段(如股价、成交量、财务指标)在时间或空间上的有效数据比例。 时间维度:数据在历史周期内的完整度(如:某股票过去 1 年中,95% 的交易日有收盘价)。空间维度&#xf…

深度学习中的归一化:提升模型性能的关键因素

📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型辅助完成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认…

vue+threeJS 大理石贴图

嗨,我是小路。今天主要和大家分享的主题是“vuethreeJS 大理石贴图”。 通过 Vue 3 和 Three.js 实现大理石纹理效果,并将这种技术应用于产品展示、虚拟展览、甚至是互动游戏之中,其潜力无穷。今天主要介绍基础的大理石贴图。 vueth…

WebGL 3着色器和GLSL

我们之前提到过着色器和GLSL,但是没有涉及细节,你可能已经对此有所了解, 但以防万一,这里将详细讲解着色器和GLSL。 在工作原理中我们提到,WebGL每次绘制需要两个着色器, 一个顶点着色器和一个片段着色器&…

华为OD机试真题——通信系统策略调度(用户调度问题)(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 B卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

llamafactory SFT 从断点恢复训练

背景 我使用llamafactory sft 微调模型的时候。gpu停止运行了。日志文件没有任何的报错信息。 显存还是占用状态。 查看llamafactory的进程是下述信息: 151312 151306 91 17:42 ? 03:58:10 [llamafactory-cl] 既然如此,那就只能从断点恢复训练了。 …

计算机网络-----6分层结构

目录 “分层” 的设计思想: 计算机网络要完成的功能: 计算机网络的分层结构: 网络体系结构的概念: 各层之间的关系: 数据的传输过程 水平视角: 垂直视角: 相关概念 协议三要素&#x…

运算放大器相关的电路

1运算放大器介绍 解释:运算放大器本质就是一个放大倍数很大的元件,就如上图公式所示 Vp和Vn相差很小但是放大后输出还是会很大。 运算放大器不止上面的三个引脚,他需要独立供电; 如图比较器: 解释:Vp&…

python版本管理工具-pyenv轻松切换多个Python版本

在使用python环境开发时,相信肯定被使用版本所烦恼,在用第三方库时依赖兼容的python版本不一样,有没有一个能同时安装多个python并能自由切换的工具呢,那就是pyenv,让你可以轻松切换多个Python 版本。 pyenv是什么 p…

elementUI 循环出来的表单,怎么做表单校验?

数据结构如下&#xff1a; diversionParamList: [ { length: null, positionNumber: null, value: null, } ] 思路&#xff1a;可根据 index 动态绑定 :props 属性值&#xff0c;校验规则写在:rules <div class"config-item" v-for"(item, index) in form.…

Leetcode76覆盖最小子串

覆盖最小子串 代码来自b站左程云 class Solution {public String minWindow(String str, String tar) {char[] s str.toCharArray();char[] t tar.toCharArray();int[] cnt new int[256];for (char cha : t) { cnt[cha]--;}int len Integer.MAX_VALUE;int debt t.length…

电力杆塔安全监测解决方案

一、方案背景 在台风、滑坡等自然灾害出现时&#xff0c;极易产生倒杆、断杆、杆塔倾斜、塔基滑动等致使杆塔失稳的状况&#xff0c;进而引发导线断线、线路跳闸等事故&#xff0c;给电网的安全稳定运行造成影响。可借助在铁塔上装设的传感器&#xff0c;能够感知铁塔的工作状态…

AD 常用系统快捷键

(1) L: 打开层设置开关选项(在元件移动状态下&#xff0c;按下“L”键换层) (2) S: 打开选择&#xff0c;如SL(线选)、SI(框选)、SE(滑动选择) (3) J: 跳转&#xff0c;如JC(跳转到元件)、JN(跳转到网络) (4) CtrlQ: 英寸和毫米相互切换。 (5) Delete: 删除已被选择的对象 E…

今日行情明日机会——20250516

上证缩量收阴线&#xff0c;小盘股表现相对更好&#xff0c;上涨的个股大于下跌的&#xff0c;日线已到前期压力位附近&#xff0c;注意风险。 深证缩量收假阳线&#xff0c;临近日线周期上涨末端&#xff0c;注意风险。 2025年5月16日涨停股行业方向分析 机器人概念&#x…