超快速结构感知的车道线检测算法

一种超快速结构感知的车道线检测

  • 前言:smile:
  • 1.方法介绍:smile:
  • 2.实验结果:smile:

前言

  车道线检测是自动驾驶的一个基础模块,同时也是一个由来已久的任务,早期已有很多基于传统图像的车道线检测算法。但随着众多专家学者的深入研究,车道线检测任务所对应的场景越来越多样化,逐渐脱离了对“白、黄线条”这种低级特征的理解。目前更多的方式是寻求语义上的车道线存在位置的检测,即便车道线模糊或被光照影响亦或是被完全遮挡,如下图所示。

超快速结构感知的车道线检测算法_第1张图片
  对于上图出现的此类问题,基于传统图像处理的方式几乎无法实现车道线检测,因此出现了一些方法开始尝试一种最直接的深度学习方案——把车道线检测看做分割任务。虽然深度分割方法效果优于传统方法。但任存在一些问题:

  • 速度慢
      分割都是基于逐像素分类分割,需要对图像中的每一个像素点进行分类,为了分割车道线,要进行非常密集的运算,导致的结果就是速度比较慢。但车道线只占图像中的一小部分,不需要进行这样全局的操作。
  • 局部感受野
      分割的另一个问题就是感受野问题。分割一般都是通过全卷积得到分割结果,而卷积基本上都是局部的,所以每个像素的感受野有限。对于其他类型的分割问题可能不大,但对于车道线检测,却不再适用了,车道线检测关注的问题大多是图像中语义线的检测,需要对全局有很好的感知才能实现良好的定位。

1.方法介绍

  为了更简单实现车道线的建模,同时也为了解决上述两个分割方法存在的问题,提出了一种全新的车道线定义方法:将车道线检测定义为寻找车道线在图像中某些位置的几何,即基于行方向上的位置选择、分类,如下图所示:
超快速结构感知的车道线检测算法_第2张图片
  对于需要检测一条车道线的图像大小为,对于分割问题,我们需要处理个 H ⋅ W H · W HW分类问题。
  但车道线检测的方案是行向选择,假设我们在h个行上做选择,我们只需要处理h个行上的分类问题,只是每行上的分类问题是W维的。因此这样就把原来个分类问题简化为只需要h个分类问题,而且由于在哪些行上进行定位是可以认为设定的,因此h的大小可以按需设置,但一般h都是远小于图像高度H的。
  这样,我们就把分类数目从 H ⋅ W H · W HW直接缩减到了h,并且h远小于H,更不用说h远小于 H ⋅ W H · W HW了。因此,就将计算复杂度缩减到了一个极小的范围内,解决了分割速度慢的问题,极大的提高了车道线检测算法的速度,下图是基于行的检测方法和基于分割的方法检测车道线的比较。
超快速结构感知的车道线检测算法_第3张图片
  除了速度快以外,此类方法还可以解决上文提到的另一个问题:局部感受野小导致复杂车道线检测困难的问题,由于此类车道线检测算法是基于全连接层的分类,所使用的特征是全局特征,这样就直接解决了感受野的问题,对于这种算法,在检测某一行的车道线位置时,感受野就是全局大小,所以不需要复杂的信息传递机制就可以实现很好的效果。
  除此之外,由于有了水平方向上直接的位置信息,我们还可以使用这些信息来加入车道线的先验约束——平滑性和刚性。
  我们将相邻行上的分类L1范数定义为平滑性,希望车道线位置在相邻行上是相近且平滑变化的。
超快速结构感知的车道线检测算法_第4张图片-
  将其相邻行间的二阶差分定义为车道线车道线的形状。由于车道线大多是直线,因此其二阶差分为0,所以约束其二阶差分与0的差异在优化过程中使得预测出的车道线更直。
超快速结构感知的车道线检测算法_第5张图片

2.实验结果

在标准的开源数据集CULane和Tusimple进行测试,都验证了该方法在超快速度下达到或超越SOTA方法的性能。
在Tusimple数据集上次方法比SCNN快了41.7倍,比SOTA的SAD也快了4倍。
超快速结构感知的车道线检测算法_第6张图片

超快速结构感知的车道线检测算法_第7张图片
在更为挑战的CULane数据集上,此类方法同时达到了最快的速度和最好的精度。





你可能感兴趣的:(车道线论文学习,算法,计算机视觉,自动驾驶)