Zhangzhe's Blog

The projection of my life.

0%

Ultra Fast Structure-aware Deep Lane Detection

URL

TL;DR

  • 本文提出一种新的车道线检测范式,可以在极低的计算复杂度下精准预测车道线位置。

  • 与常见的使用语义分割算法实现车道线检测的范式不同,本文提出的车道线检测范式是将图片 ROI 区域分割成若干像素块,使用分类的方法判断像素块是否包含车道线。

Algorithm

算法思想

ufld.png

  • 将 ROI 区域(通常是一张图片的下半部分,上半部分是天空不包含车道线)分成若干 稀疏的行和稠密的列,论文给出的行数是 18 行 200 列

  • 模型预测每个小格子是否包含车道线,以及包含的车道线属于哪一个车道线实例(主流 benchmark 要求模型预测相邻的 4 条车道线:| |车| |)。

  • 对于 CULane 数据集,模型输出 shape == (N, 4, 18, 201),分别表示 18 行 200 列每个格子是否包含车道线(所以是 201 分类),以及包含的车道线的实例编号。

  • 加入了一个普通分割辅助任务头加速训练,推理时丢弃,不影响速度。

  • 另外除了分类交叉熵损失函数之外,本文加入了两个车道线相关的先验损失函数:

    • 基于车道线连续属性:每条车道线的第 i 行和第 i + 1 行应该具有相近的位置。

    • 基于车道线相对笔直属性:每条车道线点第 i 行和第 i + 1 行的连线应该和第 i + 1 行与第 i + 2 行的连线共线。

部署优化

  • 网络末尾使用的高维 FC 层对部署模型加速不利,使用 conv + pixelshuffle(depth to space) 可有效解决。

Thought

  • 辅助训练输出头是分割任务的标配

  • 结构先验损失函数貌似是个故事,作者开源代码中这两个 loss 的权重都是 0

  • 范式很好,可经过部署优化后上车