车道线检测

车道线检测

  • 目录
    • 数据集
    • 车道线检测工作的局限性
    • 性能指标
    • 工作
      • 2020
      • 2018

目录

车道线检测方法分为两种:一种是传统算法,主要基于边缘特征或者是图像分割,通过图像预处理,特征提取等方式与卡尔曼滤波器等算法结合,在识别出车道线后采用后处理的方式形成最终的车道。然而这种传统方法易受到光照变化,行驶车辆,道路破损等干扰,导致效果欠佳。近年来,深度学习方法利用网络模型自动学习目标特征,具有较强的泛化能力,可以有效提高目标检测的准确率。得益于卷积神经网络的强大特征提取能力,性能也在不断提升。

数据集

常用的车道线检测数据集包括TuSimple, CULane, BDD100K等。其中TuSimple数据集共有7K张图片,场景为美国高速公路数据。CULane共有130K张数据,场景包含拥挤、黑夜等八种难以检测的情况,数据在北京采集。BDD100K共有120M张图片,数据集包含多种自动驾驶感知任务,数据集较新,算法采用度不高。

数据集名 总数量 标注方式 车道线类型
tuSimple 6K line 未标注
CULane 133K line 未标注
BDD100K 100K line 标注
Apollo 110K mask 标注

可在papers with code里获知更多详细信息。
车道线检测_第1张图片

车道线检测工作的局限性

车道线检测工作的baseline并不明确,在不同的方法与不同的场景应用都有各自的局限性,例如:

  1. 输出类型:mask掩码/点集/矢量线条
  2. 实例化:每个车道是否形成实例
  3. 分类:是否对车道线进行了分类
  4. 提前定义的参数:是否只能检测固定数量的车道线

性能指标

TuSimple和CULane均采用Precision、Recall、F1 score作为评价标准,当预测点与真实点之间的距离小于某一特定阈值时,判定识别正确。

工作

目前主流的方法分为多阶段和单阶段

  • 多阶段可以分为两个部分。二值语义分割产生掩码图和对掩码图进行线的拟合。其中,二值语义分割主要采用cnn 方法,并通过改进cnn来提高语义分割精度
  • 单阶段方法,则是直接回归出线的参数,即在cnn上修改分支,使用特殊层将参数输出。

2020

在此将简洁介绍关于2020年车道线检测的论文以及是否有代码以及其使用的数据集情况,以及论文中方法性能

  1. ECCV_2020_Towards Lightweight Lane Detection by Optimizing Spatial Embedding
    近来出现很多用实例分割做车道线检测的,这些方法是基于损失来学习像素空间和另一个嵌入空间之间的映射坐标。然而卷积的平移不变性导致了优化像素嵌入的挑战,为了解决此问题,论文提出直接利用图像坐标优化像素空间嵌入的方法。
    右图(其实就是一个散点图(可以这样认为))显示了红框表示的车道标记周围区域的嵌入空间。属于车道标记的像素的嵌入被拉到中心点。背景及其他位置的车道标记的像素嵌入被拉到远离中心点的位置。而在车道线边界的像素点因为含糊不清所以难以判定到底是背景还是属于车道线。为了解决这个问题,论文提出纯前景嵌入损失,把同一簇的像素点拉到一块儿,但是这样就会导致一簇的边界非常的大,为了减少簇之间的相互干扰,论文提出带宽饱和损失。
    整个网络采用FCHarDnet作为backbone,在提取特征之后添加两个分支,专门用于预测空间嵌入和聚类提示。网络结构如图:
    车道线检测_第2张图片

数据集:TuSimple

实验结果:
在TuSimple数据集上精确度达到96.58%。在台式上运行速率为100Hz,手机上运行速率10Hz for HD(1280*720)。
车道线检测_第3张图片
2. ECCV_2020_Ultra Fast Structure-aware Deep Lane Detection;code
传统方法无法实现检测,因而近来都把车道线检测视为分割任务。虽然深度分割效果好于传统方法,但有两个问题:速度慢+像素局部感受野有限(考虑不到全局信息)。论文基于行的车道线检测任务,将车道线检测定义为寻找车道线在图像中某些行的位置的集合,即基于行方向上的位置选择、分类(row-based classification),网络结构图如下所示:
车道线检测_第4张图片
假设要检测一条车道线的图像大小为HxW,对于分割问题,需要处理HxW个分类问题。

由于论文方案是行向选择,假设在h个行上做选择,那么只需要处理h个行上的分类问题,只不过每行上的分类问题是W维的。因此这样就把原来HxW个分类问题简化为了只需要h个分类问题,而且由于在哪些行上进行定位是可以人为设定的,因此h的大小可以按需设置,但一般h都是远小于图像高度H的。

这样,就把分类数目从HxW直接缩减到了h,并且h远小于H,更不用说h远小于HxW了。
图片在经过特征提取层之后,通过两层全连接层进行全局信息融合,之后采用Reshape操作输出特征矩阵,特征矩阵的分辨率大小为 200184 ,200为图像中每行的网格数目,18为图像中车道线采样高度,4为车道线数目。论文采用Focal Loss损失函数进行监督。论文同时提出两种损失函数用于监督特征信息,但是在训练时,并未使用。
数据集:TuSimple, CULane
 实验结果:
 TuSimple数据集:在TuSimple数据集上的精确度为95.87%。在CULane数据集上的精确度为72.3%。FPS(RES-18):322.5。
车道线检测_第5张图片
CULane数据集:车道线检测_第6张图片
3. End-to-End Lane Shape Prediction with Transformers(此论文利用多项式回归车道线); code
数据集:TuSimple

实验结果:在TuSimple数据集上的精确度96.18%。FPS:420。
车道线检测_第7张图片
4. Keep your eyes on the Lane:Real-time Attention-guided Lane Detection ;code
数据集:TuSimple,CULane, LLAMAS

实验结果:FPS在(ResNet-18)时为250。
其中文中的参考文献20即为上述中的2,可看出在resnet-18时效果不如2,但是在resnet-34中差不多。
车道线检测_第8张图片

  1. Heatmap-based Vanishing Point boosts lane Detection
    论文提出了一个新的多任务融合网络架构,用于高精度的车道线检测。首先,利用ERFNet提取网络特征,接着利用图像分割的方法进行车道线检测,最后,结合车道线检测的输出和从Backbone里得到的特征,利用热力图预测出车道消失点。
    数据集:CULane

    效果:
    车道线检测_第9张图片

  2. ICPR_PolyLaneNet:Lane Estimation via Deep Polynomial Regression ;code
    论文使用安装在车辆中的前视摄像头图像作为输入,并通过深度学习多项式回归,输出代表图像中每个车道标记的多项式。结构图如下所示:
    车道线检测_第10张图片

数据集:TuSimple ,LLAMAS ,ELAS

实验结果:算法在TuSimple数据集上能够实现93.36%的检测精度。FPS:115
车道线检测_第11张图片
7.FusionLane: Multi-Sensor Fusion for Lane Marking Semantic Segmentation Using Deep Neural Networks ;code
论文提出了一种基于激光雷达和摄像头融合深度神经网络的车道标线语义分割方法。与其他方法不同的是,为了获得分割结果的准确位置信息,论文的语义分割对象是由激光雷达点云转换而来的鸟瞰图,而不是摄像头拍摄的图像。首先利用deeplabv3+网络对摄像头采集的图像进行分割,分割结果与激光雷达采集的点云进行合并,作为提出的网络的输入。同时增加了一个长短时记忆(LSTM)结构进行语义分割。
数据集:对KITTI数据集进行处理,分成了七个类别。
实验结果:在改进后的数据集上的实验结果维度精确度达到99.92%。
车道线检测_第12张图片

2018

1.AAAI_Spatial As Deep: Spatial CNN for Traffic Scene Understanding;code
卷积神经网络通过逐层卷积不断扩大感受野以增强算法对于场景的理解能力。但对于具有长结构区域并且可能被遮挡的物体来说,卷积神经网络仍然表现不佳。SCNN针对这一问题,论文受传统传统消息传递方案MRF、CRF的启发,设计了一种灵活的空间CNN(SCNN),即深度卷积神经网络将Feature map的行或者列视为层,并顺序地应用卷积、非线性激活和求和操作,形成一个空间上的深度神经网络。以这种方式,信息可以在同一层中的神经元之间进行传播,用于解决遮挡或视觉线索不明显的物体检测(个人觉得出发点有点类似于Attention结构,用于解决long-term and short term dependency问题)。
结构图如下所示:
车道线检测_第13张图片
如图所示,SCNN从上下左右四个方向进行消息传递。由于卷积神经网络的高层包含更多的语义信息,因此SCNN位于整个网络的高层。论文在CULane数据集上进行测评,检测精度能够达到71.6%。
数据集:CULane,Cityscapes
实验结果:在CULane数据集上进行测评,检测精度能够达到71.6%。在Cityscapes数据集上,mIoU76.4%。

2.Towards End-to-End Lane Detection: an Instance Segmentation Approach code
论文设计多任务网络分支,包括一个车道分割分支和一个车道嵌入分支。车道分割分支具有两个输出类别,即背景或车道;而车道嵌入分支进一步将分段的车道像素分解成不同车道实例。通过将车道检测问题分解为上述两个任务,可以充分利用车道分割分支的功能,而不必为不同的车道分配不同的类别。相反,使用聚类损失函数(上文提及的辨别损失函数)训练的车道嵌入分支将车道类别分配给来自车道分割分支的每个像素,同时忽略背景像素,减轻车道变化带来的影响。另外,论文设计轻量级神经网络H-Net,输出用于图像透视变换的相关系数。将图像转换为“鸟瞰图”并进行车道线曲线拟合,与固定参数的逆变换方式相比,H-Net对于路面变化具有鲁棒性。论文在TuSimple数据集上进行测试,可以达到96.4%的检测精度,具有一定的鲁棒性。网络结构如下图所示:
车道线检测_第14张图片
数据集:TuSimple

实验效果:在Tusimple数据集上达到96.4%的精确度。FPS:52。
车道线检测_第15张图片车道线检测_第16张图片

你可能感兴趣的:(车道线检测)