首页 > 其他 > 详细

ECCV2020 Ultra Fast Structure-aware Deep Lane Detection论文解读

时间:2020-09-09 16:40:37      阅读:153      评论:0      收藏:0      [点我收藏+]

论文解读Ultra Fast Structure-aware Deep Lane Detection

最近阅读了ECCV2020一篇车道线检测的论文, 看完了源代码, 写下这篇博客, 希望能对其他学习的同学有所帮助。

1. Intro

车道线检测有很久远的历史, 在之前的工作中主要有以下两个流派:

比较有代表性的工作可点击下面的链接查看

对于任何一个流派, 在目前的自动驾驶车道线检测中, 都需要面临两个问题:

  1. computational cost

    自动驾驶的车辆上往往有多个摄像头, 如果同时对每个车辆的摄像头进行道路线进行识别的话, 需要耗费大量的计算资源, 因此需要计算复杂度更低的车道线检测方法。

  2. no-visual-clue

    在很多道路上, 由于车辆拥堵, 车道线被车挡住了, 需要通过车的位置和环境的语义信息去猜测。 在这种情况下, 没有视觉信息(车道的颜色, 形状)去引导车道线的识别, 造成了很大的困难。 下面这张图就是很好的例子。

    技术分享图片

为了解决以上两个问题, 作者提出了基于row achor的网络, 让网络在不同的行中选择属于车道线的列, 减少了传统语义分割pixel level prediction的复杂度, 同时使用global feature来增加网络的感受野, 提升在有车辆遮挡关系下的网络推理能力。

论文的贡献有以下几点:

  1. 提出了很有效的办法来解决fast speed和no visual cue的问题 Global Feature, Row Anchor
  2. 提出了结构化损失函数structural loss来对道路的形状进行约束 Structural Loss
  3. 在CULane数据集上取得了SOTA, 可达到300fps的识别速度。

2. Method

2.1 符号定义

论文里首先定义了一些符号, 如下图所示

技术分享图片

作者首先把图像降采样到800x288, 然后定义了row anchor, 也就是作者从图片里里事先选好的一些行。

比如在tumsimple这个数据集里, 作者选了这些行, 作为车道线可能的起始行。

技术分享图片

在这些符号里P代表的是某一行, 某一列里采样的像素属于某一条车道的概率

比如下图里的 Pij是一个向量, 向量的长度是w+1, 代表了第j行(row anchor)里的每个grid属于第i条车道的概率

我们可以发现向量的长度是w+1而不是w, 因为有可能这一行里所有的grid都不属于第i条车道, 这个时候需要多出一个grid来代表不存在, 此时向量前w个grid都是0, 第w+1个元素为1

技术分享图片

根据以上的描述, 作者对于车道线检测的优化目标是如下的classification loss, 其中LCE代表的是交叉熵损失函数

技术分享图片

作者认为这样对问题的表述能解决两个问题:

  1. Fast speed

传统的语义分割的预测目标维度为HxWx(C + 1), 但是作者的方法的维度是Cxhx(w + 1)

h比H小恨到, w比W小很多,总体计算复杂度是传统分割的1%

  1. No visual-clue

作者用resnet提取了全局特征, 全连接层使用了全局特征, 因此作者这样的方法能使用环境信息来对车道线的位置进行推断。

2.2 损失函数

总体来看, loss分为三部分

技术分享图片

  • 上文所述的classification cross entropy loss
  • structural loss
  • segmentation loss

其中structural loss分为similarity loss和shape loss两部分技术分享图片

其中similarity loss如下, 作者希望相邻的两个row anchor的预测概率接近

技术分享图片

shape loss的推导如下

首先是第j行, 第i个车道的位置, 选择预测概率最大的作为预测值

技术分享图片

但是由于argmax不可导, 作者换了一种表示方式

技术分享图片

技术分享图片

对location求二阶差分得到下面的loss

技术分享图片

3.3 总体结构

最后, 网络的总体结构如下图

技术分享图片

蓝线上的网络做语义分割, 得到segmentation loss, 下面的网络进行预测, 得到structural loss和classication loss

3. Experiments

作者分别在CULane和Tusimple上实验

对于tusimple, 准确度的定义如下

技术分享图片

Cclip指的是预测正确的道路点数, Sclip是所有的道路点数。

对于CULane用F1-measure来度量, 因为CULane的每条车道都是一条30pixel的线, 因此TP代表的是IoU>0.5的预测, FP代表的是IoU<0.5的预测, TN代表的是没有这条车道且预测没有这条车道, FN代表的是有这条车道但是被预测为没有这条车道

技术分享图片

Tusimple结果如下

技术分享图片

CULane结果如下

技术分享图片

4. 代码研读

TODO:
288x800

Adam

cosine decay

ECCV2020 Ultra Fast Structure-aware Deep Lane Detection论文解读

原文:https://www.cnblogs.com/ziyuzhu-edward/p/13639494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!