Ultra Fast Structure-aware Deep Lane Detection阅读笔记

源码:https://github.com/cfzd/Ultra-Fast-Lane-Detection.

Ultra Fast Structure-aware Deep Lane Detection

现代车道检测方法主要将车道检测视为像素分割问题,难以解决具有挑战性的场景和速度问题。受到人类感知的启发,对严重遮挡和极端光照条件下车道的识别主要基于上下文和全局信息。
我们把车道检测过程看作是一个基于全局特征的行选择问题。通过基于行的选择,我们的公式可以显著减少计算量。利用全局特征的大型接受域,我们也可以处理具有挑战性的情景。
此外,在此基础上,我们还提出了一个结构损失,以明确模型的车道结构。在两个车道检测基准数据集上的大量实验表明,我们的方法在速度和准确性方面都能够达到最先进的性能。
轻量版甚至可以达到300多帧率,分辨率相同,比以前最先进的方法至少快4倍。

总结

  1. 基于分割的方法,难以解决具有挑战性的场景和速度问题,对于严重遮挡和极端光照条件下车道的识别主要基于上下文和全局信息。
  2. 现在看作基于全局特征的行选择问题,显著减少计算量,利用全局特征的大型接受域,我们也可以处理具有挑战性的情景。
  3. 还提出了一个结构损失,以明确模型的车道结构。
  4. 速度很快,轻量版本300多帧率

Introduction

SAD自注意力机制,密集预测,基于分割速度慢
SCNN 消息传递机制

此外,还存在一种现象,即车道表示为二值分割,而不是直线或曲线。尽管深度分割方法在车道检测领域占据主导地位,但这种表示方法很难直接利用车道刚度和平滑度等先验信息。

在这里插入图片描述
贡献:

  1. 我们提出了一种新颖、简单、有效的车道检测公式,以解决超高速车道的no-visual-clue问题。
  2. 我们提出了结构损失,明确利用车道的先验信息。
  3. 精度和速度都很高

Related Work

  1. vpgnet[17]提出了一种基于消失点引导的多任务网络,用于车道和道路标线检测
  2. SCNN空间信息传递
  3. SAD就是其中之一。一些工作试图探索实时应用的轻量化方法。
  • 除了主流的分割公式,还提出了序列预测和聚类等其他方法。
  1. 采用长短期记忆(lstm)网络处理车道的长线结构
  2. 快速绘制[24]预测每个车道点的车道方向,并依次绘制出来。
  3. 在文献[10]中,车道检测问题被看作是二值分割的聚类问题。
  4. 文献[30]中提出的方法也使用了一种聚类方法来检测车道。
  5. 三维方法[4]的车道检测方法,解决了不平整地面的问题。

New formulation for lane detection

  • 符号说明
    在这里插入图片描述
Definition of our formulation

基于全局图像特征的行选取方法。
我们的方法是使用全局特征在每个预定义的行上选择正确的车道位置。
在我们的公式中,车道被表示为一系列预定行的水平位置,例如,行锚。
为了表示位置,第一步是网格化。在每一排锚点上,位置被分成许多单元。
这样,通道的检测可以描述为在预定义的行锚上选择特定的单元格,如图3(a)所示。

行锚个数h,网格个数是w,X为全局图像特征 f i j f^{ij} fij是用来选择位置on the i-th lane, j-th row anchor.的分类器
在这里插入图片描述
我们用一个额外的维度来表示没有车道,所以我们的公式是由(w+1)维度而不是 w 维度分类组成的。我们可以看到我们的方法基于全局特征来预测每一行锚点上所有位置的概率分布。因此,可以根据概率分布选择正确的位置。

How the formulation achieves fast speed

在这里插入图片描述

  • 分割方法:
    H ∗ W 个 分 类 问 题 , 分 类 的 类 别 数 是 C + 1 H * W个分类问题,分类的类别数是C+1 HWC+1
    计算成本 H × W × ( C + 1 ) H ×W × (C + 1) H×W×(C+1)

  • 提出的方法:
    C ∗ h 个 分 类 问 题 , 分 类 的 类 别 数 是 w + 1 C * h个分类问题,分类的类别数是 w+1 Chw+1
    计算成本 C × h × ( w + 1 ) C× h× (w+1 ) C×h×(w+1)

How the formulation handles the no-visual-clue problem

有整个图像的感受野,利用结构损失来学习车道的形状方向等先验信息
另一个显著的好处是,这种公式以行为基础的方式建立车道位置模型,这使我们有机会明确地建立不同行之间的关系。原有的语义鸿沟是由车道的低层像素化模型和高层长线结构造成的。

Lane structural loss

在分类损失的基础上,进一步提出了针对车道点位置关系建模的两种损失函数。通过这种方式,结构信息的学习可以得到鼓励。
相邻车道锚上的车道点应该彼此靠近。
在这里插入图片描述

另一个结构损失函数关注车道的形状。一般来说,大部分车道都是直的。即使是曲线车道,由于透视效果,大部分还是笔直的。在这项工作中,我们使用二阶差分方程来约束车道的形状,这是直线情况下的零。

为了考虑形状,需要计算每一排锚上的车道位置。直观的思想是通过寻找最大响应峰值从分类预测中获取位置。对于任何车道索引 i 和行锚索索引 j,位置轨迹 j 可以表示为:

在这里插入图片描述
其中k是表示位置索引的整数。需要注意的是,我们不计算背景网格单元,位置索引k的范围仅为1到w,而不是w+1。
然而,argmax 函数是不可微的,不能用于进一步的约束。此外,在分类公式中,类别没有明显的顺序,难以建立不同排锚之间的关系。为了解决这个问题,我们建议使用预测的期望作为位置的近似值。使用softmax激活函数来计算不同地点的概率:
在这里插入图片描述
期望的位置:
在这里插入图片描述

根据eq. 6,二阶差分约束可表示为:
在这里插入图片描述

最终的结构化损失为:
在这里插入图片描述

在这里插入图片描述

Feature aggregation

在第3.2节中,损失设计主要关注车道之间的相互关系。在本节中,我们提出了一种辅助特征聚合方法,该方法对全局上下文和局部特征进行聚合。提出了一种基于多尺度特征的辅助分割任务,利用交叉熵作为辅助分割损失,对局部特征进行建模。这样,我们方法的总体损失可以写成:
在这里插入图片描述
需要注意的是,我们的方法只在训练阶段使用辅助分段任务,在测试阶段将被删除。这样,即使我们添加了额外的分段任务,我们的方法的运行速度也不会受到影响。

Experiments

TuSimple
CULane
行锚选择步长为10
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值