速度最快250fps!实时、高性能车道线检测算法LaneATT

CVPR 2021 车道线检测方向论文:Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection 。

论文:

https://arxiv.org/pdf/2010.12035.pdf

代码:

https://github.com/lucastabelini/LaneATT

0

动机

车道线检测是自动驾驶领域非常重要的子任务之一。作者提出了一个实时、高性能的车道线检测算法,将其命名为LaneATT。

该方法基于anchor实现,且应用了注意力机制,轻量级版本的推理速度达到250FPS。

01

网络结构

1.1 总体流程

算法总体流程如下图所示:

将车辆前视相机采集到的RGB图像作为输入,输出车道线位置。
从上图中可以看出,该算法将backbone的输出结果进行池化操作,以提取每个anchor的特征;将提取到的特征与注意力模块产生的全局特征进行融合,以解决遮挡、光照等原因导致车道线检测不到的问题;融合后的特征作为全连接层的输入,全连接层输出车道线的置信度和相关参数。

1.2 车道线和anchor的表示方法

车道线的表示

沿图片纵向做等分操作,得到的等分点记作,其中。
对于每条车道线,令固定,因此决定了每条车道线的差异;每个都与对应的形成车道线上的一个点。
由于车道线不会贯穿整张图像,令和分别表示的开始索引和结束索引,用于表示车道线的连续有效点。
anchor的表示
使用原点和方向表示anchor,其中。
原点总是位于图像的左、右、下三个边界上。

1.3 Backbone

使用诸如ResNet的通用网络作为LaneATT的backbone;将backbone的输出特征记作。

为减少后续模块计算量,对做卷积,将输出结果记作。

1.4 feature pooling

对于每个anchor,都要从中提取特征,使用坐标索引要从中提取的特征点。先定义这些坐标点的方向坐标:,使用如下公式求它们对应的坐标:
上式中的和表示anchor的原点和方向,表示特征对应原图的步长。
对于每个anchor,使用上述的和,从中提取到特征;若上述计算得到的某个点的坐标值超出的范围,则中对应位置的值为0。

1.5 注意力机制

上文提到的feature pooling操作得到的为局部特征。为了能够应对遮挡、光照等复杂场景,需要将局部特征与全局特征融合。
作者使用注意力模块,该模块的输入为局部特征,输出为全局特征。
注意力模块中包含一个全连接层,对于索引为的anchor,该anchor对应的局部特征作为的输入,的输出为权重:
用于融合除第i个anchor以外的其他anchor对应的局部特征从而形成全局特征:
以上内容只是针对索引为i的anchor;对于所有的anchor,可以使用矩阵乘法快速实现。假设anchor的数量为,令,,使用如下矩阵乘法计算所有anchor对应的全局特征:
上式中,且。

1.6 prediction head

对于索引为i的anchor,其局部特征和全局特征做concat操作,输出结果记作。作为2个并行的全连接层的输入,其中一个全连接层用于分类,输出信息为;另外一个全连接层用于回归,输出信息为。
对于每个anchor,网络最终输出3类信息:
(1)个概率值,用于预测该anchor对应的车道线类别和背景的概率。对于不包含车道线类别标注信息的数据集,令。
(2)个offset值,指出anchor中个点和预测出的车道线上点的横向偏移。
(3)车道线的长度,是anchor中实际用来表示车道线的点的数量。根据1.2节中的信息,和分别表示的开始索引和结束索引,其中可由anchor原点的坐标决定,长度可用于确定的值:

1.7 NMS

定义2条车道线和的距离为:
上式中,。
使用上述定义的距离对网络预测结果进行NMS操作,减少false positive的数量。
02

模型训练

2.1 训练

在训练时,依然使用1.7节中定义的距离来衡量anchor和ground truth的距离。当两者距离小于阈值时,该anchor被当作正样本,当两者距离大于时,该anchor被当作负样本;否则忽略该anchor。
构造如下损失函数:
上式中的和分别表示网络的分类分支和回归分支的输出结果,和为真值。为Focal Loss,为Smooth L1损失函数;用于平衡2个损失函数。回归损失是基于对应anchor和ground truth之间共同的横坐标计算的。

2.2 模型加速

在训练和推理时,共有2782个anchor,如此庞大的anchor数量会降低计算效率。有相当一部分anchor在训练和推理时都是无效的,比如起点在地平线以上的anchor。测量在训练集中每个anchor作为正样本的次数,作为评价anchor是否有用的指标。在后续的训练和推理时,选取个使用次数最多的anchor。
03

实验结果

在训练时,网络输入图片分辨率为,使用translation、rotation、scaling和horizontal flip用于数据增强。设置,,,。

在TuSimple数据集上的结果如下表所示:
在CULane数据集上的结果如下表所示:
在2个数据集上模型运行时间和性能的对比情况如下图所示:
可视化的结果如下图所示:
上图中第一行为TuSimple数据集的可视化结果,第二行为CULane数据集的可视化结果。图中蓝线为ground truth;绿线和红线均为网络输出结果,绿线为true positive,红线为false positive。
04

总结

  • 提出了实时、单阶段、基于anchor的高性能车道线检测算法LaneATT;

  • 在LaneATT中应用注意力机制,提高算法性能;

  • LaneATT能够很好地平衡精度和推理速度。

(0)

相关推荐

  • 「车道线检测」一种基于神经网络 结构约束的车道线检测方法

    作者:小魔方 「3D视觉工坊」技术交流群已经成立,目前大约有12000人,方向主要涉及3D视觉.CV&深度学习.SLAM.三维重建.点云后处理.自动驾驶.CV入门.三维测量.VR/AR.3D人 ...

  • ECCV 2018 | 行人检测全新视角:从人体中轴线标注出发

    极市平台是专业的视觉算法开发和分发平台,加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖 ...

  • CVPR 2017目标跟踪论文LMCF

    文章链接:Large Margin Object Tracking with Circulant Feature Maps                    链接:https://arxiv.or ...

  • 基于道路标线的城市环境单目定位

    文章:Monocular Localization in Urban Environments using Road Markings 作者:Yan Lu Jiawei Huang Yi-Ting C ...

  • 机器视觉编码技术与标准进展

    正文字数:8411  阅读时长:15分钟 本文整理自中国电信研究院新技术所机器视觉标准与应用研究部主任张园在LiveVideoStack做的线上分享.她详细介绍了VCM.DCM等标准组织机器视觉编码标 ...

  • 【学术论文】基于多特征融合的井盖检测系统实现

    摘要 障碍物检测作为智能辅助驾驶的重要一环,得到了广泛关注和研究,其中,井盖的检测对后续的井盖定位和缺损检测有着不可替代的作用.从宏观特征入手,提出一种多特征融合的分类方法,首先利用先验知识划定梯形区 ...

  • 综述:目标检测二十年(2001-2021)

    作者丨派派星 来源丨CVHub 编辑丨极市平台 极市导读 目标检测领域发展至今已有二十余载,本文将对目标检测领域近20年的发展做一次系统性的介绍,并为目标检测构建一个完整的知识体系架构. 引言 目标检 ...

  • 一位算法工程师从30+场秋招面试中总结出的超强面经——目标检测篇(含答案)

    作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 作者灯会为21届中部985研究生,凭借自己整理的面经,去年在腾讯优图暑期实习,七月份将入职百度cv算法工程师.在去年灰飞烟灭的算法求职季中,经过3 ...

  • CenterNet:目标即点(代码已开源)

    加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...

  • 【目标检测算法解读】yolo系列算法三

    前言 本文是yolo系列算法文章的第三篇,也是目前为止yolo系列算法的最终篇.从原理上看,yolov3并没有实质性的创新,主要是借鉴了一些时下state-of-the-art模型的优秀思想.本文重点 ...