车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)

摘要

车道线检测很重要,其起着提供相关道路信息、辅助车辆定位、前车检测等作用,但是有挑战(光照、遮挡、磨损等)。本文综述了深度学习方法于车道线检测中的应用,主要关注现有方法的网络架构和优化目标。同时本文还阐述了相关数据集、评价指标、通用的数据处理技术,比较了不同方法的检测性能、运行时间。最后给出车道线检测的最新挑战和未来趋势。

引言

深度学习技术与其他学习技术的结合取得了巨大的成功。深度强化学习是深度学习和强化学习相结合的产物。 深度无监督学习是指基于未标记的训练样本来解决各种问题。 它包括生成深度结构,例如自动编码器,深度置信网络(包括Boltzmann机)和生成对抗网络(GAN)。 使用卷积神经网络(CNN)递归神经网络(RNN)分别对带标记样本的深度监督学习在欧几里得数据顺序数据上取得了巨大的成功,并且通过贝叶斯深度学习直接在各种非欧氏数据结构上进行监督学习也引起了很多关注。
车道标记检测(Lane marking detection)关注于整个视野内的车道标间,能够更好的理解环境,对有可能发生的危险状况如急转弯提供准备。并且车道标间检测能够在预测车辆运动轨迹、检测前车等方面提供辅助;相对来讲,车道检测(Lane detection)只关注于当前行车道,这对于当下车道状况是不够的。
车道标记与传统目标不同(细长)。光照、遮挡、纹理相似使得车道检测有困难。现有方法可分为
基于手工特征提取
基于深度学习

基于手工特征提取方法可分为三步:

  1. 预处理。过滤无关特征。常见技术有颜色空间转换(例如灰度化、YCbCr色度空间转换)、均值滤波、定向可控滤波。
  2. 特征抽取。SIFT、Canny等。
  3. 曲线拟合。霍夫变换、B样条拟合。

该方法算法简单、检测快。但不适用于复杂场景。

基于深度学习方法可以自动提取特征,在复杂场景下可获得更好的检测结果。原因如下:

  1. 通过从大量数据中学习,深度学习可以提取出更有助于在各种环境中实现车道标记检测的功能。
  2. 通过复杂的网络体系结构设计,深度网络可以提取有效的功能。
  3. 通过构造具有适当约束的优化目标函数,深度网络可以有选择地学习相关类别的表示。

图1展示了不同方法的检测效果。
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第1张图片
在复杂场景下基于深度学习的方法是数据驱动型的,这也导致了更大的数据集的出现。然而早期的综述存在只关注相关硬件平台,对基于深度学习方法的介绍过于简单等问题。因此本文提出了更深入的分析,探索不同网络结构背后设计的动机。表1阐述了一些综述的对比。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第2张图片

车道检测数据集

交通场景数据集

KITTI:有一些车道标记,但没有语义分割标签。
BDD100K:标记内容包括道路目标,道路目标类别,可行驶区域和多个城市的车道。 涵盖了各种道路和照明条件下的车道标记数据。
CitySpace:对车道标记没有专用的标签。
ApolloScape:更精确。除车道标记外,数据集还包括按语义(例如感知,模拟场景和道路网络数据)分割的图像。
Mapillary:包含车道标记。
CamVid:很小,只有几百张图片。有像素级别的车道标记注释。

车道标记检测数据集

Caltech Lanes:分辨率低,量少。
Tusimple:经常用了。只是高速公路场景。检测难度一般。
CULane:九种场景。目前来讲最大和最有挑战性的数据集。
VPGNet:消失点。(个人观点,好像这个数据集未公开)
LLAMAS:无监督的带标签车道标记数据集,用自动创建的地图将标记投射到图像空间中,并且它依靠基于样本的优化来提高标签的准确性。其他数据集不同,每个车道标记上标记的像素数量很小,并且随标记的距离和位置而变化,这使得LLAMAS更具挑战性和现实性。
CurveLanes:主要由曲线车道组成。
DET:用动态视觉传感器( Dynamic Vision Sensor ,DVS)去收集数据集。数据集有低延迟和高动态范围的优点。由于DVS的特性,图像排除了光照变化和多余背景(天空,路面等)的影响。 但是,由于大多数车辆都配备了彩色摄像机而非DVS,因此该数据集的应用范围受到限制。
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第3张图片

典型目标函数

目标函数对于深度学习算法的成功起着至关重要的作用。本文主要按下述分类去讨论目标函数。
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第4张图片

用于深度监督学习模型的目标函数

Softmax Based Cross Entropy and Variants for classification:

将模型建立为带有良好标注的像素级别分类器。基于全局/局部语义信息取分类一个像素是否属于车道线。
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第5张图片
在这里插入图片描述
尽管该损失函数已经取得了不错的效果,但还有许多人研究改进该损失函长期存在的问题:难例挖掘、类别不平衡等。

回归损失

MSE、MAE。
Huber损失定义如下:
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第6张图片

用于无监督/半监督学习模型的目标函数

深度无监督/半监督学习算法在许多具有挑战性的学习案例中表现出强大的功能,例如缺少足够的带标注的训练数据以及对可解释的深度学习的追求。在现有方法中,自回归模型[82],归一化流模型变分自动编码器GAN可能是用于各种计算机视觉任务的最广泛使用的方法,并且车道标记检测也不例外。与完全监督方式的目标函数(例如分类损失和回归损失)相比,深层非监督/半监督模型的目标函数旨在获取高维数据的内在属性。在各种深度生成模型中,GAN可能是最具代表性的模型,其目标函数可以在积分概率度量的框架下定义:
在这里插入图片描述
深度生成模型对车道标记检测的潜在研究方向之一就是合成高质量的训练样品

上述损失函数总结如表4
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第7张图片采用一种以上的损失函数是很常见的。

车道标记检测网络的发展*(圈重点)*

基于视觉的智能驾驶任务一般采用从车载相机采集的图片作为输入,因此普遍需要用到CNN网络。尽管CNN取得了巨大的成功,但仍存在下述问题需要我们取解决:

  1. 与普通的语义目标不同,车道标记有不同的颜色(白色、黄色)和独特的形状(细长)。怎么样在设计网络时考虑其专有的特点
  2. 车道标记的类型有许多,例如单实线和双黄线。有时只定位车道标记是不够的,怎么样能够设计算法使得区分不同类型的车道标记
  3. 实时性要求。怎么兼顾效率与准确率?轻量化?

上述三个问题分别对应下面三个小节。

专注于车道标记结构的深度架构

车道标记检测网络与语义分割网络的关系密不可分。

[88]结合了CNN随机样本共识(RANSAC)算法,以改进相对复杂的道路条件下的车道标记检测结果。与[89]不同,[89]提取一个以每个像素为中心小图像块作为CNN的输入以预测像素的语义标签,[88]手动提取感兴趣区域(ROI)作为CNN的输入,并直接通过在完全连接的层中使用多层感知器来输出候选车道标记。为了添加更多有关车道标记的辅助信息,[90]将汽车摄像机获得的左,中和右三个角度图像输入到CNN中。但是,这些传统的基于CNN的方法的缺点很明显。首先,它需要遍历每个像素(在图像或ROI中)以提取用于训练和预测的小图像块,这非常耗时,并且在重叠的小图像块之间存在大量的冗余计算;其次,很难确定小图像块的适当大小。太小的小图像块将缺少上下文信息,而太大的小图像块将增加计算量。最后,位置信息尽管对于车道标记分割很重要,但将被CNN中的pooling层丢弃。

为了提升计算效率同时保留空间位置信息,[91]提出了全卷积网络( Fully Convolutional Networks ,FCN)。FCN网络用卷积层取代全连接层。在替换后,输出特征图用反卷积进行上采样,这样的话输出预测图和输入图有相同的尺寸位置信息也得到了保留。以此方式,在反向传播期间直接计算对应像素之间的分类损失就足够了,从而实现了像素级端到端语义分割。 此外,FCN避免了必须固定全连接层中输入图像大小的缺点,即它可以处理任何大小的输入

[92]将FCN应用于车道标记检测中,这使得网络模型可以在一次正向计算中获得多个输入区域得分,并提高了效率。给定车道标记的线性特征,他们将回归损失添加到像素级损失函数中。但是,由于反卷积,获得的结果相对模糊且平滑。而且,该算法将每个像素分别分类,并且没有充分考虑像素之间的空间一致性。为了解决在FCN上采样(反卷积)过程中有用信息的丢失并增加上下文联系,[93]提出了用于医学图像分割的U-Net,它在ISBI挑战中获得了最佳结果。

与FCN相比,U-Net具有三个改进:首先,它是一个对称模型。 U-Net通过使用编码器的池化层逐渐减小输入数据的空间维度,而解码器则通过网络层(例如反卷积)逐渐恢复目标的细节和相应的空间维度。对称路径之间的特征图是融合的,允许网络将上下文信息传播到更高分辨率的图层。其次,与FCN中的特征融合方法(逐点添加点)不同,U-Net使用在通道维度上缝合在一起的特征来形成更粗的特征,从而可以更好地保留特征之间的相关性。第三,U-Net完全取消了FCN中的完全连接操作,这不仅节省了参数数量,而且还促进了高层和低层功能的融合。这样,U-Net可以用少量数据训练模型,从而有效地获得更高的分割精度。许多深层结构借鉴了U-Net的对称结构和长跳连接的思想来进行车道标记检测,例如[48],[53],[75]。

但是,基于U-Net的简单分段网络并未考虑车道标记的三个独特属性
1)车道标记具有细长线性的空间结构。 卷积运算破坏了该结构,从而降低了检测效率。
2)同一场景中的对象具有一定的相关性。 因此,在划分车道标记时,网络应优先使用场景信息。
3)在同一场景中,车道标记的位置之间存在一定的规律性。 网络应充分利用这一固有约束。
受以上三个方面的启发,许多研究人员结合了车道标记的固有特性来改善U-net的编解码器结构,分别在以下三个部分中进行了讨论:充分利用空间结构,场景先验和位置规则性。

1)利用空间结构:在网络学习过程中利用车道标记的空间结构可以大大提高检测性能。 卷积模式和目标分布是神经网络的两个重要组成部分,也是修改的两个起点。

卷积模式

为了保留内部数据结构并避免会减少有用信息的下采样操作,提出了带洞卷积[94]。它将空洞注入标准卷积图中,从而增加了接收场,而不会因池化而丢失信息。

许多分割网络结构,例如E-Net [95]和EDANet [96],都使用了带洞卷积,还有一些用于车道标记检测,例如[43],[48],[49],[97]。 。由于车道标记像素尺寸小,窄并且在下采样期间容易丢失,因此[97]提出了两种基于EDANet的技术,即特征尺寸选择(FSS)递减扩张块(DD块),以改善车道标记分割准确性。 FSS旨在提取精细特征。在EDA-FSS中,EDA块安排在每个下采样块之后,以在缩小细线特征之前提取多种尺寸的特征。由于增量膨胀率将导致深层局部特征中空间信息的不一致,因此设计了具有递减膨胀率的卷积层DD块并将其插入EDANet,以保持不同深度层中空间信息的一致性。

但是,膨胀卷积存在一些问题:首先,当膨胀率不连续时,并非所有像素都用于计算,因此会丢失对象信息的连续性。 其次,膨胀卷积的设计是为了获得远距离信息,但是较大的膨胀率可能仅对某些大型物体有效,而对小型物体则有害。 因此,如何处理不同大小的物体是设计扩张式卷积网络的关键。
对于车道标记等线性目标,[38]提出了SCNN,其重点是使特征图的内部连接更牢固。 设计了一种新的卷积方法来更改信息流的方向,如图3所示。
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第8张图片
假设卷积层输出特征图为CxWxH。特征图被分为H片尺寸为CxW。依次将相同大小的卷积内核应用于每个切片中间切片在上一层的卷积结果叠加之后再进行卷积。 空间卷积可以在四个方向上操作:上,下,左和右。 空间卷积会改变卷积中信息流的方向,从而使特征图的内部连接更牢固。 因此,对于具有长的连续形状结构的目标检测如车道标志和墙壁是有利的。

为了使网络更适合于检测长而窄的目标,SpinNet [68]设计了一个旋转卷积层,其中使用一维卷积代替平方卷积以获得狭窄的接收场。 此外,特征图将在该卷积模块中旋转不同角度以提取和融合多个方向上的特征。

图卷积网络(GCN)是用于增强目标结构的另一种卷积设计。 它可以使用邻接矩阵来定义每个节点的连接关系,从而突出显示节点之间的结构。 在[77]的基于颜色的分割网络中,它使用图形的连通性结构来保持相邻像素之间的关系,从而强调车道标记结构。

在上述新的卷积方法中,SCNN和SpinNet专门用于细长目标。 但是,在计算速度方面仍然需要改进。 这里我们要指出的是,当前的车道标记检测网络主要致力于改善网络的分割性能。 如何开发具有快速分割线性目标的新卷积方法仍然是未来的未解决问题。

目标分布学习的改进

GAN不像传统的CNN那样学习像素级特征,而是专注于分布式级别的学习,它由两个CNN组成:一个被称为生成器,用于生成近似真实数据的结果,另一个被称为鉴别器,用于判断生成的数据是否真实。

EL-GAN [53]利用GAN在车道标记检测中获得更现实,结构更丰富的语义分割结果,如图4(a)所示。 EL-GAN的生成器使用具有跳跃连接的完全卷积的U-Net结构,而鉴别器中则应用了DenseNet结构。为了突出原始图像和不同标签之间的配对差异,EL-GAN添加了另一个带有共享参数的鉴别器。因此,EL-GAN的优化目标包含原始GAN的优化目标和一个衡量配对差异的项目,如表IV(6)所示。为了处理复杂的交通场景,例如车道标志被遮盖或有缺陷,[98]设计了Ripple-GAN,融合了特征融合,Wasserstein生成对抗训练和多目标分割的思想。实验表明,Ripple-GAN具有出色的性能,尤其是在车道标志信息不完整的情况下

注意力机制在特征图中对不同特征的加权不同,以突出显示对于客观分布至关重要的因素。 [52]设计了语义引导的通道注意金字塔形可变形卷积模块,以增强网络训练期间车道标记的结构特征。 [62]将自我注意力与通道注意力结合起来,以捕获全局背景并加强车道标记的重要特征。 [43]使用自我注意知识蒸馏来增强上下文信息的连续性。这种**自我注意蒸馏(SAD)**在没有教师网络的情况下进行训练,并且蒸馏是从网络本身提取的分层注意知识进行指导的,如图4(b)所示。这样,在具有挑战性的场景中,车道标记检测将得到显着改善,而无需额外的复杂算法。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第9张图片
无论是卷积模式的改革还是目标分布在特征图上的强调,这些研究都成功地驱动了要在深度学习过程中学习的目标(车道标记)的语义信息。在未来的研究中,值得进一步研究,以使这种学习更具解释性,从而为改善车道标记检测提供更多思路。

2)利用场景先验:场景中的信息可以辅助目标的分割。 VGPNet [55]使用车道消失点来引导车道标记检测。为了提高算法的通用性并减少标注的难度,[99]提出了一种基于热图回归消失点辅助车道检测新方法。 [100]首先检测车道区域遮罩,然后计算遮罩周围的凸包,以获得车道标记。在[58]中使用类似于[100]的想法。

为了在分割之前介绍全局场景信息,PSPNet [101]提出了一个金字塔池模块,以融合不同比例的要素。受此启发,[49]提出了ZoomModule,它将全景图像和来自原始图像的多个面片输入到两个CNN中以提取特征并合并获得的不同比例的特征。这样,[49]可以灵活地改变视场以改善细节检测。

由于车道标记具有细长的结构,因此[61]在像素级预测中利用了车道标记周围的像素分布。它设计了一个FastDraw模块,以最大化折线的可能性,并假设当前车道标记点坐标仅取决于先前的c解码坐标,如表IV(7)所示。

特征金字塔只是融合了各种大小的特征,不可避免地具有冗余信息。如何更有效地融合这些功能以实现车道标记,还需要进一步思考。

3)利用位置规律性:车道标记与其他分割目标不同,并且它们在场景中的分布具有一定的规律性。例如,车道标记全部分布在路面上车道标记在鸟瞰(BEV)中是平行的,并且连续场景中的车道标记具有连续性。这些规律性可以帮助基于已知车道标记来推断车道标记位置,并因此基于不完整的车道标记的问题来推断。

为了预测不可见的车道标记,[102]假设车道之间的距离是均匀的并且一个车道的车道标记形状相似,从而假设了看不见的车道标记。此外,采用Yolo [103]和具有空间先验的卷积补丁网络[104]分别去除汽车和非路面。以这种方式,可以在去除障碍物的图像上准确地提取车道标记特征。

除了手动确定的推断车道标记的假设外,还建议使用不同的网络结构在不同的视场中使用车道标记信息。 [50]通过在自适应暗光暗方法的帮助下进行深度学习,实现了更有效的消失车道标记预测。 [65]设计水平缩减模块,利用车道标记的固有形状将车道标记检测视为逐行分类问题神经体系结构搜索(NAS)是一项基于算法通过采样数据自动设计高性能网络结构的技术。 [51]使用NAS捕获车道标记的长距离一致性和短距离曲线信息,从而实现了更好的弯道检测性能。然而,这种方法在计算上是昂贵的

长短期记忆(LSTM)已被引入到车道标记检测中,以加强关联的推理。 LSTM是RNN的一种特殊类型,可以按顺序学习长期依赖信息。因此,一些研究将其与基于CNN的网络相结合,以利用帧内或帧间车道标记的相关性

车道边缘建议和位置分别由LaneNet中的两个网络实现[75]。如图5所示,在车道标记定位网络的末尾使用LSTM顺序预测不同的车道。基于编码器-解码器的车道边缘建议网络旨在生成二进制车道线图。在编码器中,使用深度可分离卷积和1×1卷积的组合来减少计算成本。扩张卷积用于扩大接收场。为了降低训练复杂度,采用子像素卷积层(在[105]中使用)和跳跃连接来恢复解码器中的特征分辨率。该网络的损失函数是加权二进制交叉熵,如表IV(5)所示。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第10张图片

提出了一种车道线定位网络,以更准确地检测多种模式的车道标记。从二进制车道标记图提取的车道标记坐标被输入到该网络中,因此输入的大小减小了,并且可以加速预测。为了将坐标编码为低维整体表示,定位网络在编码器中应用了一系列一维卷积和池化层。为了解决车道标记数量未知的问题,在解码器中应用了LSTM来顺序推断车道标记。每个车道标记均拟合有二次曲线。为避免手动标记每条曲线的地面真实性,在损失函数中计算输入坐标与预测曲线之间的距离,这会导致缺乏监督的训练。然而,当使用弱监督时,检测结果可能不令人满意,因为它很大程度上取决于车道边缘建议网络的结果。

为了在严峻的阴影,车道标记退化和遮挡等具有挑战性的情况下获得令人满意的性能,[76]结合了来自连续帧的信息推断车道标记。与[75]不同,ConvLSTM块插入到编解码器的中间,以融合从不同时刻从帧中提取的特征,并保留必要的信息以预测车道标记。 [56]使用与[76]相似的框架,并插入两个卷积门控循环单元以加快LSTM。

为了应对场景变化的情况,帧内的相互推理比帧间的推理更有效。但是,基于LSTM的推理需要重复计算一帧,以便检测所有车道标记。除了使用LSTM探索车道标记的位置规律性外,[63]还使用帧之间的光流估计来获取图像的时空特征并协助车道标记检测。需要挖掘一些更稳定,有助于有效推断车道标记的信息。

用于车道标记分类的深度架构

为了更好地了解交通场景,期望车道标记检测算法在准确检测其位置的同时确定车道标记的类型,这可以为辅助驾驶提供更多有用的信息。 [45]将通过基于手工特征的方法检测到的车道标记输入到CNN中以区分不同类型。然而,越来越多的研究追求一种有效的端到端车道标记识别模型。

[106]尝试在目标检测中应用区域CNN来检测车道标记,并根据车道标记的细长特征修改锚点生成器的框架。从而,该方法实现了基于锚的车道标记检测。但是,在边界框中检测到车道标记,这缺乏结构上的连续性。为了解决这个问题,[66]提出了一种新颖的基于锚点的注意力机制,该机制使用全局信息来推断车道标记的位置。与目标检测的边界框相比,实例分割可以对对象的边缘更加准确,并且与普通的语义分割不同,它可以在图像中标记同一对象的不同个体。 [77]直接使用实例分割来识别车道标记的类型。但是,不同类型车道标记的这种直接分割很容易受到诸如遮挡和不完整等因素的影响。

为了解决这个问题,[49]提出了线预测(LP)层来有效地区分车道标记。在LineNet的LP层(图6(a))中,六个检测任务(遮罩,位置,方向,置信度,距离和类型)在CNN的末端分为六个分支。 LP层还可以全面分析车道标记的结构信息。期望每个任务都能促进另一个任务。但是,由于不同任务之间的高度网络重叠,因此不同任务也不可避免地会相互限制

与[49]不同,[44]中的多个任务被设置在属于不同解码器的不同分支中,以从多个角度学习车道标记的结构,如图6(b)所示。除了用于生成车道标记的二进制图的普通分割任务外,嵌入任务还会将相同车道标记的像素映射为较近而将不同车道标记的像素映射为较远。受益于解码器中这两个任务的结合,可以解决车道标记更改的问题。分割分支的损失函数是标准的交叉熵损失函数;嵌入分支损失函数由两部分组成,如表IV(4)所示。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第11张图片
与[44]类似,[59]也采用了分支多任务进行车道标记检测的想法。在编码器之后添加了水平估计分支和线分类分支,以检测车道标记的范围和存在置信度。这样,还可以解决车道标志数量变化的问题。 [59]也提出了一种新的车道标记拟合方案。先前的车道标记检测方法通常基于分割结果来拟合线。但是,车道标记分割可能会导致检测不可靠,因为这是一种预测。因此,可微分最小二乘拟合模块被设计为直接回归车道标记参数。提出了几何损失函数以实现网络的端到端训练:代替测量预测参数和实际参数之间的平方距离,它使预测车道(ly(x))与实际曲线之间的距离最小化( ly(x)),以使拟合结果更加逼真,如表IV(1)所示。 [107]中的实验表明,对网络分割结果的加权最小二乘线性回归可以修复损坏的车道标记边缘并提高检测性能

由于多任务学习需要后处理来处理来自不同分支的不同预测结果,因此[60]用两个级联的CNN代替了多任务分支,以实现实例分割和车道标记分类。

基于逐个像素的语义分割的方法存在一个共同的缺陷:车道标记仅占整个图像的一小部分,分割中的轻微损失会大大降低检测性能。回归网络可以通过直接预测车道标记坐标并分离不同类别的车道标记来避免这种缺陷。

由[54]提出的坐标网络可以直接产生分类的车道标记点。实施MAE损失函数以表征预测坐标(x p,yp)和地面真实情况(xg,yg)之间的距离(表IV(2))。 PointLaneNet [64]还将车道标记检测视为回归任务。与[54]相比,PointLaneNet会考虑更密集的点,包括起点,终点(默认情况下为图像的底部),车道标记中心点和车道宽度(根据法律法规为已知值),以推断出在行驶过程中消失的车道标记特征多重下采样。 PointLaneNet的结构如图7所示。PointLaneNet由特征提取网络和ConvLaneNet组成,用于进行车道标记表示。为了获得更详细的检测结果,将低分辨率图像划分为W×H网格,以使每个网格最多通过一个车道标记。然后将这些网格的特征图输入到ConvLaneNet中。预测车道标记点相对于网格中心点的偏移量以及起始位置(垂直方向)和车道标记存在置信度。最后,使用非最大抑制来抑制每个车道标记的冗余多个预测。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第12张图片

从以上讨论可以看出,基于回归的车道标记检测易于分类,网络易于收敛,而基于分段的方法可以灵活地应对车道标记变化。 [42]通过使用多任务网络结构将这两种方法结合起来。 利用车道标记的结构信息有四个任务,其中二进制分割任务和车道像素嵌入任务与[44]中的相似。 可驾驶区域检测任务预测车道的分段,以进一步限制车道标记。 最后,还有一个车道点回归任务,以进一步探索与二进制分割结果配合使用的结构和上下文信息。

专注于高效计算的深度架构

作为一项需要实时性能的任务,车道标记检测在追求准确性的同时还需要高效的检测速度。在本节中,我们总结了一些在车道标记检测中使用的新颖框架,以提高检测速度,最后对前面提到的算法在速度性能上进行比较分析。

用于语义分割的深层网络通常需要大量的浮点运算。长时间运行会阻碍其实时适用性。 VGG试图通过加深网络来提高准确性。但是,过度深化网络将使收敛变慢,并且在小型数据集上会出现过度拟合的问题。残差网络(ResNet)[108]将残差表示应用于CNN模型的构建。它通过使用短跳连接来学习输入和输出之间的残差表示,这比直接学习输入-输出映射要高效得多。 [67]在ResNet上实现了一种基于锚的小型车道标记检测算法,其实时性能可以达到175 fps。基于ResNet的Efficient Neural Network(E-Net)[95]设计用于较短的处理时间,并且在精度和速度之间具有良好的权衡。它由一个初始块和不同的瓶颈块组成。

为了减少计算量,E-Net尝试使用池化和卷积并行每个n×n卷积被分解为n×1和1×n的卷积级联。此操作称为分解卷积,可以节省很多参数。 PReLU,膨胀卷积和正则化也可用于提高计算效率。因此,E-Net通常在注重计算效率的车道标记检测网络中用作骨干网,例如[42] – [44]。受E-Net的启发,[77]提出了一种全球卷积网络,它将普通卷积分为两个一维卷积内核,以在不增加计算负担的情况下最大化卷积内核的大小。

与E-Net不同,E-Net将下采样放在网络的前面,以将图像压缩为高效的表示形式,而具有非对称卷积的Efficient Dense模块(EDANet)[96]在每个EDA模块的前面设置了1×1卷积减少输入图中的通道数,并结合密集的连通性以增加不同模块之间的特征图连接。这样,EDANet在精度和速度之间取得了平衡,[97]中使用了该平衡来实现有效的车道标记检测。高效的残差分解ConvNet(ERFNet)[109]也是一个专门用于实时分割任务的网络。与E-Net相比,ERFNet进一步提高了计算效率。它还基于由下采样模块,非瓶颈1D模块和解卷积模块组成的编码器-解码器体系结构。

ERFNet的最大贡献是精确的非瓶颈残差连接和计算效率高的分解卷积的结合。在下采样块中,还采用了并行池化和卷积策略。 [58]-[60]使用ERFNet作为骨干来提高车道标记检测的效率。

深度网络正在朝着高效和高精度发展。除了本节中提到的那些之外,还有其他完善的网络结构,例如PSPNet [101]和RefineNet [110],它们也可以应用于车道标记检测,以平衡检测的准确性和效率。有关实时分段网络性能的更多比较,读者可以参考[111]。

表V列出了通过各种方法及其实验设置测试车道标记的时间。

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第13张图片
由于LSTM的结合,[76]通过使用简单的编解码器实现了强大的网络推理能力,并且当保存和重用先前帧中的功能时它是最快的(尽管有两个GPU,其处理速度仍然非常有竞争力) (如果转换为单个GPU)。基于锚的方法可避免在分割过程中逐像素分类,因此极大地提高了车道标记检测的速度。 [67]通过减小锚点的大小实现了比[66]更快的检测。 [47]使用知识蒸馏来训练一个有效的检测网络。 [61]和[38]都是关注上下文信息的车道标记检测算法,但是[38]显然在拟议的卷积方法上花费了更多的运行时间。 [42]和[44]是相似的方法,它们最终通过多任务处理获得分类的检测结果,并使用E-Net作为结构骨干。由于[42]同时执行回归任务和分割任务,因此它实现了更快的测试速度,省去了车道标记拟合步骤。 [59]和[60]都使用ERFNet作为骨架网络,但[60]的FPS较低,因为其中包括两个级联的CNN。 [98]具有出色的检测性能,但是其网络由基本的卷积层组成,而没有注意提高网络计算效率。

通常,具有少量参数(例如[42],[59],[76])的轻量级网络的部署难度要小得多。

在第四节中,我们基于深度架构的发展分析了车道标记检测的先进方法。 仅基于视觉图像的端到端网络是车道标记检测的当前主流算法。 同样,一些研究使用神经网络作为人工车道标记特征提取的辅助工具,例如[57]和[78]。 上面提到的所有算法都进行2D车道标记检测。 我们注意到,一些算法已经针对3D车道标记定位进行了相关研究,例如[79]和3D-LaneNet [80]。

数据处理和性能评估

有效的数据处理

预处理:颜色空间转换、数据增强、逆透视变换。
后处理:通常需要消除多余的点拟合线段。 [64]和[66]采用非最大抑制来减少冗余并使预测更准确。 有很多方法可以适合车道标记。 二阶或三阶多项式通常用作车道线拟合的模型[48],[75],[102]; RANSAC被广泛用于直线拟合和平面拟合[78]。 最小二乘拟合适用于[44]和[59]。

评价指标

true positive (TP), true negative (TN), false positive (FP) and false negative (FN)。
在这里插入图片描述
在这里插入图片描述
Precision:在这里插入图片描述

召回率和精度是相互依赖的。 当所有对象都被判断为正样本时,FN为0,并且Recall达到最大值1。但是,FP值同时较大,这将导致Precision值非常低。 因此,仅使用Recall或Precision来测量车道标记检测是不准确的。 F1分数同时考虑了“精确度”和“召回率”,是衡量统计中两类模型准确性的指标:

在这里插入图片描述

为了解决Precision,Recall和F1得分的单值限制,提出了平均平均精度(mAP)。 从整个样本范围中选择不同数量的样本,可以获得不同的Recall和Precision值以绘制Precision-Recall曲线。 AP是精确调用曲线和坐标轴之间的区域; mAP是不同类别中AP的平均值。

计算mAP时,应考虑每个预测目标的置信度。 为了确定预测置信度,通常采用联合交集(IoU)来计算检测结果与地面真实情况之间的重叠:

在这里插入图片描述

对于多类别车道标记分割,使用mIoU代替IoU作为度量:

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第14张图片

其中,C是类别数量。

在回归车道标记检测算法中,检测性能是通过预测值与真实值之间的距离来评估的,包括MSE(在[77]中使用),MAE(在[77]中使用)和平均预测误差(MPE) ,用于[54]),

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第15张图片

总结如下:

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第16张图片

性能比较

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第17张图片
车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第18张图片

展望

首先,许多当前的研究致力于设计通用车道标记检测算法。然而,这种算法在某些特殊的交通场景(例如,极端天气条件)下通常表现不佳。针对特定挑战性场景的解决方案是一个值得进一步研究的实用方向。

其次,车道标记具有一定的分布规律,例如尚未被充分利用,例如,车道标记之间的相互推理以解决遮挡和缺少车道标记的情况。因此,可以在网络设计中嵌入车道标记像素的上下文结构,以增强车道标记检测功能。

第三,除了全局场景中的车道标记外,**其他物体(例如汽车和围栏)**也可以帮助检测车道标记。也就是说,可以将网络设计为不仅专注于车道标记,而且可以在整个场景中更多地使用高级语义信息来指导检测。

第四,车道标记检测对准确检测和实时性能都有很高的要求,因此,在计算能力和算法复杂性之间进行权衡是一个重要问题。因此,值得注意的是,深度学习的复杂性对于嵌入式系统是否可以接受。为了应对这一挑战,我们需要考虑整合相关技术,例如视频摘要[112],能源友好型边缘智能辅助算法[113]和经济硬件选择[114]。

最后,现有的基于深度学习的车道标记检测算法非常依赖数据集。但是,随着交通场景复杂性的增加,现有数据集将逐步淘汰。为了减弱数据集的依赖性,提高网络的自主学习能力是值得进行调查的有效方法,例如在车道标记检测中探索自我监督学习

总之,车道标记检测研究已从解决一般简单场景中的问题转变为需要在复杂场景中执行的阶段。在着重提高检测性能的同时,我们还需要注意算法的实用性,例如,降低算法的复杂性并提高实时性能。

结论

车道标记检测中的深度学习:综述(Deep Learning in Lane Marking Detection: A Survey)_第19张图片
引用信息
Zhang, Y., Lu, Z., Zhang, X., Xue, J. H., & Liao, Q. (2021). Deep Learning in Lane Marking Detection: A Survey. IEEE Transactions on Intelligent Transportation Systems.

你可能感兴趣的:(车道线检测/道路边缘检测,计算机视觉,人工智能,深度学习,算法,机器学习)