LaneATT-Keep Eyes on the Lane:Real-time Attention-guided Lane Detection-概述

发布于:2023-01-22 ⋅ 阅读:(221) ⋅ 点赞:(0)

文章信息

原文:链接
源码:GitHub

0.Abstract

论文主要的贡献

  • 提出LaneATT,基本达到目前的sota(在性能和效率两方面),这是一个基于anchor的深度车道线检测网络
  • 考虑全局特征-使用注意力机制生成全局特征然后与局部特征融合(原因:车道线遵循规律的pattern,并且高度相关
  • 在三个当前最广泛使用的车道线检测数据集上进行评估
  • 进行了消融实验,证明了想法的正确性

1.Introduction

  • 当前车道线检测面临的问题:要达到实时检测并且要有很好的鲁棒性
  • 传统的方法(hough lines)->深度学习方法:图像分割/深度多项式回归
  • backbone的选择要相对轻量级

2.Related work

  • 主要分为两种方法
    • 分割-生成分割图,进行后处理解码为一系列lanes
    • row-wise classification–将图像分为网格,对于每一行,模型预测出最有可能包含lane marking部分的cell,对于每一个可能的lane都要进行这一系列操作,也需要后处理步骤进行lanes的重建
  • 其他方向
    • learning-based approach -不需要聚类后处理
    • 深度多项式回归-对类别不平衡敏感
    • others
  • 可复现性方面
    multiply-accumulate operations(MACs):累乘操作次数
    frames-per-second(FPS):每秒可检测多少帧

3.proposed method

在这里插入图片描述

  • 主要步骤:
    1.图像输入backbone,提取出特征图
    2.生成对应的anchor,投影到特征图上或者相应的特征矩阵
    3.特征矩阵进行池化得到局部特征,加入注意力机制生成全局特征,全局特征和局部特征进行concatenate拼接集成
    4.将融合后的特征矩阵输入全连接层,两个并行预测头分别预测

3.1 Lane and anchor representation

  • lane如何表示:2d-points,用等距的y表示,每个y有对应的x,y是i乘以相应的步距
  • 每个lane有相应的start-index s和end-index e,用来定义X的有效的连续序列
  • anchor是lines,不是boxes,每个anchor由相应的原始输入xorig,yorig和方向θ来确定,起始点在除了上边界的任意一条边界上

3.2 backbone

  • 主要采用resnet作为特征提取的backbone
  • 对于维度减少,用1x1卷积进行调整–减少计算损失

3.3 anchor-based feature pooling

在这里插入图片描述

  • 每个anchor的特征是列向量
  • 产生固定尺寸的特征不是必要的,因为这样只利用了特征图的边界,而不是探索所有的特征图

3.4 attention mechanism

在这里插入图片描述

  • 对特定的一个局部特征进行softmax,得到对应这个特征的权重,分别与其他所有局部特征进行相乘,得到对应这个局部特征的全局特征

3.5 proposal prediction

预测proposal的输出主要包含三部分:

  • k+1个类别概率:k个lane types,一个背景或是无效proposal
  • N个点的偏移:预测点和anchor的水平偏移
  • proposal的长度,有效偏移index的数目,其中start index由yorig决定,因此end-index可以计算出来

3.6 Non-maximum Supression(NMS)

  • 在训练和测试阶段都要用到
  • 通过计算两个lane之间的距离来进行nms过滤

3.7 model training

  • 用距离度量来划分正负样本
  • 多任务loss focal loss和smooth l1损失 分类和回归
  • 当length l和x坐标值和相应的proposal和ground truth的slices相同时计算回归损失,此时的common slices终点是gt的终点index
  • 负样本的回归损失为0

3.8 Anchor filtering for speed efficiency

  • 太多的anchor限制模型的速度,并且大部分anchor没什么用->减少anchor数目
  • 通过标记每个anchor在训练集中被标注为正样本的次数来选择TOP anc个进行后续的处理

4.experiments

在这里插入图片描述

  • 三个数据集:TuSimple、CULane、LLAMAS
  • 所有实验用每个数据集的默认的metric
  • efficiency metrics:fps macs
  • implementation details
    • 输入resize到360*640
    • 数据增强:随机仿射变换、随机水平翻转
    • Npts=72,Nanc=1000,距离阈值正样本为15,负样本为20,如果lane只有一种type,k=1

4.1 TuSimple

  • dataset:1280*720,easier than street scenes,at most 5 lanes
  • metrics:
    • FDR: false discovery rate 漏检率
    • FNR: false negative rate 当前类别被检测为其他类别的概率,误检率
    • F1 score

4.2 CULane

  • dataset:1640x590,complex,test数据集分为9个类别
  • metric:F1 score based on the IOU-将lane看成宽的线进行计算

4.3 LLAMAS

  • dataset:>100k,标注来自高精地图,测试集标注未公开
  • metric:F1 based IOU

4.4 efficiency trade-offs

  • trade some accuracy to achieve the application’s requirements
  • 对训练阶段和测试阶段的影响程度不同

4.5 Ablation study

  • 对比
    在这里插入图片描述

5.conclusion

  • real-time:实时性
  • single-stage deep lane detection:单阶段车道线检测
  • effective and efficient:效率和准确率都基本达到当时的sota

注:只记录了我当时看论文时觉得需要注意的地方,一起讨论学习~

本文含有隐藏内容,请 开通VIP 后查看