前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >集检测与分类于一身的LVLane来啦 | 正面硬刚ADAS车道线落地的困难点

集检测与分类于一身的LVLane来啦 | 正面硬刚ADAS车道线落地的困难点

作者头像
集智书童公众号
发布2023-09-04 11:10:55
1.1K0
发布2023-09-04 11:10:55
举报
文章被收录于专栏:集智书童

车道线检测在自动驾驶汽车和高级驾驶辅助系统(ADAS)领域发挥着关键作用。多年来,出现了许多算法,从基本的图像处理技术到复杂的深度神经网络。基于深度学习的模型的性能在很大程度上取决于其训练数据的质量。因此,当面临极端照明条件、部分可见的车道线和Botts点等稀疏车道线等具有挑战性的场景时,这些模型的性能往往会下降。 为了解决这一问题,作者提出了一种基于深度学习方法的端到端车道线检测和分类系统。在作者的研究中,作者引入了一个独特的数据集,该数据集经过精心设计,涵盖了对最先进(SOTA)模型构成重大挑战的场景。通过对选定的模型进行微调,作者的目标是提高定位精度。 此外,作者提出了一种基于CNN的分类分支,该分支与检测器无缝集成,有助于识别不同的车道类型。该体系结构实现了换道决策,并增强了更具鲁棒性的ADAS功能。作者还研究了使用混合精度训练和测试对不同模型和Batch大小的影响。 在广泛使用的TuSimple数据集、加州理工学院车道线数据集和作者的LVLane数据集上进行的实验评估证明了作者的模型在具有挑战性的场景中准确检测和分类车道的有效性。作者的方法在TuSimple数据集上实现了最先进的分类结果。

1、简介

近年来,自动驾驶汽车和智能交通系统的显著进步彻底改变了作者对交通未来的设想。开发此类系统的核心是能够准确检测和解释道路上的车道,使车辆能够安全高效地行驶。

车道线检测算法是这些系统的关键组成部分,使车辆能够感知和理解道路环境,使其成为ADAS不可或缺的一部分。车道线检测技术因其在提高道路安全和实现自动驾驶方面的重要作用而引起了人们的极大关注。车道线的检测,如车道边界和道路中心线,有助于车辆在道路基础设施内确定其位置,从而实现精确的轨迹规划和可靠的导航。通过持续监测前方道路,车道线检测系统有助于车道偏离警告、车道保持辅助和自动车道跟随,这是ADAS的核心功能。

由于道路环境的复杂性和动态性,车道线检测带来了一些挑战。如图1a所示,阴影、明亮的阳光和夜间照明等不同的照明条件会影响车道线的可见性和对比度。此外,车道线可能会被其他车辆、行人或雨或雾等环境因素部分或完全遮挡。道路也有不同的形状和配置,包括直的、弯曲的和交叉口。

此外,根据地区、道路类型和维护水平的不同,车道线可以有不同的外观(例如,图1b中所示的Botts点在美国西部很常见)。这些变化可以包括不同的颜色、宽度和图案。车道线检测算法必须能够适应这种变化,并在不同的道路环境中很好地推广。路面可能包含各种视觉噪音,如裂缝、阴影或轮胎标记,这些噪音可能被错误地检测为车道标记。车道线检测算法应该对这种噪声具有弹性,并且能够区分真实的车道标记和不相关的视觉元素。

以前,基于图像处理的技术被用于解决这些挑战。然而,这些方法不能很好地处理照明变化和遮挡场景。近年来,深度学习和卷积神经网络(CNN)因其学习能力在计算机视觉领域取得了巨大成功。神经网络的层次性使其能够捕获低层次和高层次的视觉信息,从而能够对复杂的视觉数据进行稳健和准确的分析。

因此,作者正在见证深度学习计算机视觉算法在许多领域的应用。车道线检测一直是计算机视觉和自动驾驶领域的一个研究热点,开发了各种算法和技术来准确检测道路上的车道线。然而,这些高度精确的模型在看不见的环境中并不总是能很好地推广。当车道几何形状和标记类型变得与训练的模型数据集不同时。即使是最先进的(SOTA)模型也出现了较差的性能。

如图2所示,SOTA模型UFLD在流行的TuSimple数据集的图像中运行良好。另一方面,在TuSimple或CuLane上训练的相同架构在拉斯维加斯街道的新图像上显示出较差的结果。

此外,与车道线检测相比,车道线分类在研究界受到的关注明显较少。车道线分类是指将检测到的车道线分类为不同类型的任务,如实线、虚线或双线。正确的车道线分类对于了解道路配置和车道使用至关重要,从而实现更先进的驾驶辅助系统和决策算法。除此之外,据作者所知,除了加州理工学院之外,还没有公开的高质量车道线分类数据集,这使得该领域很难探索。

作者在运行现有SOTA模型时遇到的另一个问题是,它们的深层架构导致了它们的高计算成本。目前的自动驾驶汽车和ADAS解决方案配备了多个机器视觉摄像头、激光雷达、雷达和其他传感器。处理所有这些传感器数据需要强大的计算设备。因此,必须降低车道线检测模型的计算复杂度,加快推理过程。

基于上述动机,本文提出了一种端到端的深度学习车道线检测和分类模型。为了解决具有挑战性的拉斯维加斯街道的性能下降问题,作者引入了LVLane数据集,该数据集由从城市街道收集的车道标记标注和车道类别组成。为了解决车道线分类任务,作者介绍了一个简单的分类网络分支,除了深度车道线检测网络之外,还可以使用该分支。该分支从网络的顶层获取特定于任务的特征图,并推断车道的类型。它属于轻量化的设计,因此增加了较低的计算。

最后,为了使作者的模型快速训练和测试,作者研究了混合精度技术加速前向和后向传播的效果。为了证明作者模型的有效性,作者在流行的TuSimple、加州理工学院车道数据集和作者提出的LVLane数据集上对其进行了训练和测试。实验表明,作者的模型可以在具有挑战性的场景中准确地检测和分类车道线。

作者工作的主要贡献可概括如下:

  1. 从具有挑战性的拉斯维加斯街道引入了一个新的车道线检测和分类数据集,以提高城市地区的性能。数据集包含弯曲的车道、高度遮挡的场景和没有可见车道标记的道路;
  2. 提出了一种简单而有效的车道线分类网络,可与检测模型一起用于识别车道类型。整个模型以端到端的方式进行训练和测试;
  3. 为TuSimple数据集提供车道类标注,以及一种简单的标注方法,旨在促进以TuSimple格式创建数据集。该资源允许高效的数据集创建和测试,提高了标注过程的轻松性和便利性。
  4. 为了更快地训练和测试模型,作者研究了使用混合精度技术的效果。

2、相关工作

2.1、车道线检测方法

1、基于分割的方法

分割方法试图识别图像中的每个车道像素。在深度学习领域,SCNN引入了一种消息传递机制来应对缺乏视觉证据的挑战,有效地捕捉了车道之间稳健的空间关系。这种方法大大提高了车道线检测性能。然而,该方法的实时适用性因其相对较慢的处理速度而受到阻碍。

RESA是一个基于分割的车道线检测模型,包含3个模块。首先,CNN特征提取器充当编码器,然后RESA模块捕获行和列之间像素的空间关系。它以不同的Stride在垂直和水平方向上移动特征图。因此,它可以在被遮挡的场景中检测车道。

最后,解码器将低分辨率特征图转换为全图像大小,用于逐像素预测。CurveLane NAS采用神经架构搜索(NAS)来识别一种改进的网络架构,该架构可以有效地捕获精确的信息,从而增强弯道检测。然而,NAS的计算成本非常高,需要大量的GPU资源和大量的计算时间。

2、基于Anchor的方法

UFLD提出了一种基于row anchor的车道线检测方法。它在某个预定义的目标位置寻找车道,而不是分割每个像素。这使它更快。此外,它还提出了一个结构损失函数,该函数使用先前的车道形状和方向来解决视觉无线索问题。

在CondLaneNet提出的工作中,引入了一种依赖于条件卷积和基于行Anchor的公式的条件车道线检测策略。该方法包括首先识别车道线的起点,然后基于行Anchor执行车道线检测。

在CLRNet中,他们使用了一种称为跨层优化网络的新型网络,该网络利用了全局和局部特征。它使用一个名为ROI Gather的模块来检测具有高语义特征的车道,然后基于低级特征进行细化。此外,还提出了一种Line-IoU损失函数,进一步提高了定位精度。

2.2、车道线分类方法

经过广泛的文献检索,作者只发现了少数基于经典图像处理技术和机器学习算法的车道线分类系统。

在[Automatic detection and classification of road lane markings using onboard vehicular cameras]中,介绍了一种两阶段级联贝叶斯车道线分类模型。车道线的最大和最小强度轮廓用于提取车道特征。由于它仅取决于像素强度,因此该模型在不同的照明条件下表现不佳。

[Lane detection and classification for forward collision warning system based on stereo vision] 提出了一种简单的基于霍夫变换的车道线检测器和一种基于CNN的车道线分类器。检测器的输出被转换成ROI图像,然后在去除噪声之后被馈送到分类器。它在具有大量ROI后处理的KITTI测试集上显示出良好的性能。

级联CNN提出了一种用于车道线检测的实例分割模型和另一种用于道路分类的CNN。检测器的输出被转换为大小为256x256的特征描述符,然后被发送到分类器。对于TuSimple数据集,它在这两项任务上都取得了令人满意的性能;然而,单独训练两个网络,然后将它们组合在一起会使使用变得复杂。

在另一项工作[Sim-to-real domain adaptation for lane detection and classification in autonomous driving]中,引入了一种无监督领域自适应(UDA)方法。从CARLA模拟器创建的合成数据集用于训练模型并在真实世界的图像上进行测试。该模型在检测部分表现出令人满意的性能,但在分类部分表现出不令人满意的表现,这表明模拟与真实情况之间存在差距。

3、本文方法

作者的车道分析方法是使用公共TuSimple数据集以及一个新的具有挑战性的城市车道数据集来微调和扩展SOTA检测模型。

作者的整个模型(图3)有3个主要模块:

  • 第一:卷积特征提取器。
  • 第二:车道线检测器,它从输入图像中检测车道并提供每个车道的像素位置。
  • 第三:车道线分类器,它使用来自特征提取器的特征图来对每个检测到的车道类型进行分类。

网络以端到端的方式进行训练和测试。

3.1、数据集收集

在作者对图2所示的各种SOTA车道线检测模型之间观察到的性能差异进行调查期间,作者发现了几个关键的见解。目前的大多数SOTA模型都是在TuSimple或CuLane数据集上训练的,每个数据集都具有独特的特征。

TuSimple数据集主要包括具有直车道、最小交通拥堵、有限遮挡和高度可见标记的高速公路图像。相比之下,CuLane数据集提供了一个更具挑战性的场景,超过100000张图像涵盖了各种条件,如夜景、曲线、人群和正常环境。然而,仅基于CuLane数据集的模型很难检测拉斯维加斯街道上普遍存在的复杂车道标记,如图2c所示,因为在训练中没有TuSimple中存在的圆形Botts点标记。

因此,在这些数据集上训练的模型在明亮的光线条件、部分可见的车道标记和Botts点车道中表现不佳。

因此,作者认识到有必要建立一个新的数据集,包括具有挑战性的场景,作者通过驾车穿越城市地区收集这些场景。作者配备了安装在车辆前部的罗技网络摄像头,以1280x720的分辨率连续拍摄照片。随后,作者手动挑选了一组相关的图像,构成了作者的综合数据集,其中包括不同的天气和照明条件。

作为标注工具,作者使用VIA。此工具易于用于标注计算机视觉图像。由于它不提供TuSimple格式的车道线检测标注,作者使用多段线,然后使用三次样条线将标签转换为TuSimple形式。作者的数据集共有7类:实心黄色、实心白色、虚线、双虚线、Botts'-dots、双黄色和道路边缘/未知标记。

3.2、车道线检测

作者的主要目标是增强车道线检测能力,使其在类似于图1的具有挑战性的场景中脱颖而出,因此作者可以利用SOTA模型所表现出的卓越学习能力。尽管它们在作者的特定图像上表现不佳,但这些模型的深层架构本质上是为了从相关数据源中获取复杂的特征而设计的。

通过采用微调技术并利用作者要求苛刻的数据集来集中精力获取显著的特征,作者预计性能会显著提高。在作者研究的当前阶段,作者已经彻底研究了UFLD,并对其架构进行了修改,以符合作者的特定任务要求。作者还报告了RESA的性能指标,以便在某些情况下进行比较。

作者选择了UFLD作为作者的选择,因为它的轻量级架构实现了300+FPS的高帧速率,同时保持了与最先进方法相当的性能。UFLD使用基于行Anchor的选择技术来处理车道线检测任务,其中车道由被称为行Anchor的预定行处的一系列水平位置表示。每个行Anchor的位置被细分为指定数量的网格单元,表示为“w”。因此,预测“第i条”车道和“第j条”行Anchor的位置成为分类挑战。该模型输出选择(w+1)个网格单元的概率

P_{i,j}

,输出中的附加维度表示没有车道。车道定位损失定义如下:

M

是车道的数量,

h

是行Anchor的数量,

T_{i,j}

是目标,

L_{CE}

是交叉熵损失函数。

总检测损失是车道定位损失和两个引入的结构损失函数的加权和,这两个结构损失函数用于对车道点的位置关系进行建模:

其中损失系数

α

λ

可以在0和1之间。相似性损失(

L_{sim}

)源于相邻行Anchor中的车道点应该彼此靠近的想法。形状损失(

L_{shp}

)源于大多数车道是直的想法。关于结构损失的全部细节可以在UFLD中找到。

作者使用ResNet18作为UFLD的Backbone,因为这是轻量级的,并且考虑到较小的网络规模,可以很好地工作。此外,作者检测到最多6条车道,而不是原始UFLD研究中建议的4条车道,因为作者的数据集以及TuSimple有许多超过4条车道的图像。此外,作者排除了包含在UFLD网络中的辅助分支,因为这对作者的情况来说是不必要的。

3.3、车道线分类

车道线分类器是与车道线检测器一起工作的浅层网络。深度神经网络架构从输入图像开始,然后通过ResNet18特征提取器。ResNet18的输出被馈送到卷积层,该卷积层进一步处理特征。在卷积层之后,特征图被展平以将其转换为向量表示。此时,网络分为两个分支:一个用于车道线检测,另一个用于分类。

在分类分支中,Flatten的特征向量被输入到层序列,该层序列被设计为学习和提取用于分类的相关特征。这些层通常包括Dense层,随后是BN和ReLU激活函数。Dense层对输入特征进行线性变换,然后是BN层,对输出进行归一化并提高网络的稳定性。ReLU引入了非线性,允许网络学习数据中的复杂关系。

作者使用一个Dense+BN+ReLU序列和另一个Dense+ReLU序列。最后,最后一个Dense层与softmax激活函数一起使用,该函数产生C个不同类别的最终分类概率。

3.4、混合精度技术

自动混合精度过程是一种利用混合精度算法的优势来加速深度学习模型的训练和推理的技术。在混合精度训练中,权重被转换为较低精度(FP16)以加快计算。然后使用较低精度的权重计算梯度,将其转换回较高精度(FP32)以确保数值稳定性,然后使用缩放的梯度更新原始权重。这个过程通过在计算效率和数值精度之间取得平衡来优化训练过程。

通过采用自动混合精度,深度学习模型可以受益于更快的训练和推理时间,而不会牺牲显著的精度。降低的精度操作提高了计算效率,使其对大规模模型和资源受限的环境(如边缘设备或基于云的部署)特别有价值。

3.5、损失函数与训练细节

作者使用TuSimple、Caltech和TuSimple+LVLane训练3个模型。随后,作者在各自的数据集以及交叉数据集上评估模型。在这里,作者将双虚线视为虚线类型的标记,因为它们大多相似。因此,作者在训练和测试期间将7个类映射为6个类。

作者主要专注于训练和测试两个类的模型,因为区分实线和虚线至关重要。实心类包括实心白色、实心黄色、双黄色和道路边缘,而虚线类包括虚线、双虚线和Botts点。此

外,作者还报告了6个classes的一些措施。作者使用随机旋转、水平翻转、缩放和平移等数据增强技术来提高训练数据的稳健性。它还防止了过拟合,提高了模型的泛化能力。

在优化过程中,作者使用动量为0.9、权重衰减为1e-4、初始学习为0.025的随机梯度下降。

此外,作者使用了一个自定义的学习速率调度器,它降低了每个Epoch后的学习速率。作者训练了40个Epoch,发现这已经足够了。所有模型都是在Ubuntu 20.04机器上使用Python 3.8和PyTorch 1.9.0进行训练的。该机器配备了Nvidia Quadro RTX 6000 GPU。

训练损失包括检测损失和分类损失:

作者发现

γ = 0.6

可用于优化检测和分类性能。

4、实验

表II总结了作者的研究结果,其中强调了当作者的数据集与TuSimple一起用于模型训练时,LVLane测试集的检测和分类性能显著提高。此外,当作者使用仅TuSimple训练的模型评估LVLane测试集时,作者观察到性能下降。TuSimple+LVLane在TuSimple测试集的检测和分类准确性方面表现最佳。

作者的模型的有效性在TuSimple测试集图4和加州理工学院测试集图5上获得的结果中表现得很明显,它证明了对实线和虚线车道类型的准确检测和分类。

作者在图6中描述了作者的模型在具有挑战性的LVLane测试集上的性能,其中包括具有明亮照明条件和部分可见车道线的场景。在这些困难的情况下,作者观察到仅在TuSimple上训练的UFLD和RESA模型的性能下降,而作者的模型保持了准确的车道定位。

此外,作者的模型在所有情况下都实现了正确的车道线分类。此外,通过对各种测试图像的实验,作者始终观察到优越的检测和分类性能,特别是在具有挑战性的示例中,验证了作者网络的有效性。

在回顾表II后,作者观察到混合精度对模型时间性能的影响。通过全面分析,作者发现,当使用具有相应大Batch的大型模型(如RESA)来充分利用GPU的容量时,实现混合精度可以在不影响性能的情况下有效地减少训练和测试时间。作者提出了专门针对RESA模型的训练和推理时间,作为这种改进的证据。相反,对于像UFLD这样的轻量级模型,混合精度的应用对训练和测试时间的影响最小。

作者在表III中对作者提出的分类模型与其他现有方法进行了比较。虽然只有有限数量的现有系统报告了其评估性能,但作者在TuSimple验证集上提供了作者的分类结果进行比较。该模型仅在两个类(实心和虚线)的TuSimple训练集上进行训练。结果清楚地证明了作者提出的系统在区分实线和虚线类型车道方面的鲁棒判别能力。这些发现突出了作者的系统在ADAS解决方案中用于有效变道决策的潜力。

未来计划

为了增强深度神经网络的学习能力,作者正在扩展作者的数据集,以包括大约2500张图像,并仔细地结合了更广泛的变化。这一步骤至关重要,因为现有的1000幅图像无法提供所有必要的特征学习能力。目前,该数据集包括具有极端照明条件的具有挑战性的实例、具有部分可见车道线的图像以及一些多云天气图像。

作者未来的计划包括扩展数据集,包括雨天和阴天的图像,以及更广泛的白色和黄色车道标记图像。这种扩展将使数据集能够独立使用,从而无需额外的类似TuSimple的数据集。进一步的改进包括引入了用于分类的Transformer和一个额外的自由空间检测分支,以处理缺乏可识别车道标记的场景。

5、参考

[1].LVLane: Deep Learning for Lane Detection and Classification in Challenging Conditions.

6、推荐阅读

Q-YOLOP来啦 | 一个具有量化感知全景驾驶感知模型

ADAS项目实践 | 源码级讲解单目3D检测的int8 ptq量化开发教程

视觉Backbone怎么使用1/8的FLOPs实现比Baseline更高的精度?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、简介
  • 2、相关工作
    • 2.1、车道线检测方法
      • 1、基于分割的方法
      • 2、基于Anchor的方法
    • 2.2、车道线分类方法
    • 3、本文方法
      • 3.1、数据集收集
        • 3.2、车道线检测
          • 3.3、车道线分类
            • 3.4、混合精度技术
              • 3.5、损失函数与训练细节
              • 4、实验
                • 未来计划
                • 5、参考
                • 6、推荐阅读
                相关产品与服务
                腾讯云服务器利旧
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档