当前位置: 首页 > news >正文

车道线检测----CLRNet

继续更新本系列,本文CLRNet,文章主要目的是弄懂论文关键部分,希望对文章细节有一个深刻的理解,有帮助的话,请收藏支持。

CLRNet:用于车道检测的跨层精炼网络

摘要

车道在智能车辆的视觉导航系统中至关重要。车道是一种具有高级语义的交通标志,同时它也具有特定的局部模式,需要详细的低级特征来准确定位。在车道检测中充分利用不同层级的特征极为重要,但目前仍研究不足。本文提出了一种跨层精炼网络(CLRNet),旨在充分利用高级和低级特征进行车道检测。该网络首先利用高级语义特征检测车道,然后基于低级特征进行精炼。通过这种方式,我们既能利用更多上下文信息检测车道,又能借助局部详细特征提高定位精度。我们提出了一种名为ROIGather的方法来聚集全局上下文,进一步增强车道特征的表示。此外,我们引入了线IoU损失函数,将车道线作为一个整体单元进行回归以提高定位精度。实验表明,所提方法在多个车道检测基准测试中优于当前最先进的方法。

1. 引言

车道检测是计算机视觉中的一个重要且具有挑战性的任务,它要求网络在图像中预测车道。车道检测可以造福许多应用,例如自动驾驶和高级驾驶辅助系统(ADAS),帮助智能车辆更好地定位自身并更安全地行驶。得益于卷积神经网络(CNN)的有效特征表示,许多方法[17, 19, 33]取得了有希望的性能。然而,准确检测车道仍面临一些挑战。车道具有高级语义,但同时具有需要详细低级特征才能准确定位的特定局部模式。如何在CNN中有效利用不同层级的特征仍然是一个亟待解决的问题。如图1(a)所示,地标和车道线具有不同的语义,但它们共享相似的特征(例如长长的白线)在没有高级语义和全局上下文的情况下,很难将它们区分开来。另一方面,局部性也很重要,因为车道又长又细,局部模式简单。我们在图1(b)中展示了高级特征的检测结果,尽管检测到了车道,但其位置并不精确。因此,低级和高级信息对于准确的车道检测是互补的。以前的工作要么对车道的局部几何进行建模并将它们集成到全局结果中[20],要么构建一个全连接层与全局特征一起预测车道[19]。这些检测器展示了局部或全局特征对于车道检测的重要性,但它们没有充分利用这两种特征,导致检测性能不准确。车道检测中的另一个常见问题是车道的存在没有视觉证据。如图1(c)所示,车道被车辆占据,而在图1(d)中,由于极端光照条件,车道难以识别。在文献中,SCNN[17]和RESA[33]提出了一种消息传递机制来聚集全局上下文,但这些方法执行像素级预测并且没有将车道作为一个整体单元来考虑。因此,它们的性能落后于许多最先进的检测器。在本文中,我们提出了一个新框架跨层精炼网络(CLRNet),充分利用低级和高级特征进行车道检测。具体来说,我们首先在高级语义特征中进行检测以粗略定位车道,然后基于细粒度特征进行精炼以获得更精确的位置。逐步精炼车道位置和特征提取可以带来高精度的检测结果。为了解决车道缺乏视觉证据的问题,我们引入了ROIGather来通过建立ROI车道特征与整个特征图之间的关系来捕获更多全局上下文信息。此外,我们定义了车道线的IoU,并提出了线IoU(LIoU)损失函数,将车道作为一个整体单元进行回归,与标准损失(即平滑L1损失)相比显著提高了性能。我们在三个车道检测基准测试(即CULane[17]、Tusimple[26]和LLAMAS[2])上证明了所提方法的有效性。实验结果表明,我们的方法在这三个数据集上均取得了最先进的准确性。主要贡献可以总结如下:

  • 我们展示了低级和高级特征在车道检测中的互补性,并提出了一种新颖的网络架构(CLRNet)来充分利用这两种特征进行车道检测。

  • 我们提出了一种名为ROIGather的方法,通过聚集全局上下文进一步增强车道特征的表示,该方法也可以插入到其他网络中。

  • 我们为车道检测量身定制了线IoU(LIoU)损失函数,将车道作为一个整体单元进行回归,显著提高了性能。

  • 为了更好地比较不同检测器的定位精度,我们还采用了新的mF1指标。我们证明所提方法在三个车道检测基准测试中均大幅优于其他最先进的方法。

2. 相关工作

根据车道的表示方式,基于CNN的车道检测可以分为三类:基于分割的方法、基于锚框的方法和基于参数的方法。

2.1 基于分割的方法

现代算法通常采用像素级预测公式,即把车道检测当作语义分割任务。SCNN[17]提出了一种消息传递机制来解决车道缺乏视觉证据的问题,通过捕获车道的强空间关系显著提高了车道检测性能,但该方法对于实时应用来说速度较慢。RESA[33]提出了一种实时特征聚合模块,使网络能够聚集全局特征并提高性能。在CurveLane-NAS[28]中,他们利用神经架构搜索(NAS)来寻找更好的网络以捕捉准确信息,从而有利于曲线车道的检测。然而,NAS计算成本极高,需要大量的GPU时间。这些基于分割的方法由于对整个图像执行像素级预测并且没有将车道作为一个整体单元来考虑,因此效率低下且耗时。

2.2 基于锚框的方法

基于锚框的车道检测方法可以分为两类,即基于线锚框的方法和基于行锚框的方法。基于线锚框的方法采用预定义的线锚框作为参考来回归准确的车道。Line-CNN[8]是首个在车道检测中使用线锚框的方法。LaneATT[24]提出了一种新颖的基于锚框的注意力机制,聚合全局信息。它取得了最先进的结果,并展示了高效率和高效益。SGNet[22]引入了一种新颖的消失点引导锚框生成器,并添加了多种结构引导来提高性能。至于基于行锚框的方法,它预测图像上每个预定义行可能的单元格。UFLD[19]首次提出了一种基于行锚框的车道检测方法,并采用轻量级骨干网络以实现高推理速度。尽管简单快速,但其整体性能并不好。CondLaneNet[12]引入了一种基于条件卷积和行锚框表示的条件车道检测策略,即首先定位车道线的起点,然后执行行锚框车道检测。然而,在一些复杂场景中,起点难以识别,导致性能相对较低。

3.方法

3.1 车道表示

车道先验是CLRNet中表示车道的方式。每个车道先验由一系列等间距的2D点组成,这些点沿着车道线分布。每个车道先验由四个部分组成:前景和背景概率、车道长度、起点坐标和角度、以及每个点的偏移量。这种表示方式能够捕捉车道的形状和位置信息。

3.2 跨层精炼

相关文章:

  • C语言图案代码大全:从基础到高级
  • Recycling Krylov Subspace 方法解释与开源实现
  • ECMAScript标准:JavaScript的核心
  • 数据治理域——数据同步设计
  • python基础语法(三-中)
  • Jenkins 执行器(Executor)如何调整限制?
  • [250516] OpenAI 升级 ChatGPT:GPT-4.1 及 Mini 版上线!
  • 服务器死机了需要检查哪些问题
  • HarmonyOs开发之——— ArkWeb 实战指南
  • python训练 60天挑战-day27
  • Python中in和is关键字详解和使用
  • 智脑进化:神经网络如何从单层感知机迈向深度学习新纪元
  • 【实测有效】Edge浏览器打开部分pdf文件显示空白
  • qt5.14.2 opencv调用摄像头显示在label
  • 小白学编程之——深入理解Java线程的完整生命周期
  • 【Boost搜索引擎】构建Boost站内搜索引擎实践
  • 《数字藏品APP开发:解锁高效用户身份认证与KYC流程》
  • 一个进程中可以有多个 WebView2 控件,它们各自有独立的用户数据目录,COOKIE共享
  • SpringBoot + Shiro + JWT 实现认证与授权完整方案实现
  • git版本控制学习
  • 一条铺过11年时光的科学红毯,丈量上海科创的“长宽高”
  • 又一例!易方达基金张坤卸任副总职务,将专注于投资管理工作
  • 收到延期付款利息,该缴纳增值税吗?
  • 泽连斯基:乌代表团已启程,谈判可能于今晚或明天举行
  • 普京召开俄乌谈判筹备会议,拉夫罗夫、绍伊古等出席
  • 今年有望投产里程已近3000公里,高铁冲刺谁在“狂飙”?