互联网技术 / 互联网资讯 · 2024年1月23日 0

250fps!实时、高性能车道线检测算法——LaneATT

 速度最快 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

动机

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

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

网络结构 1.1 总体流程

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

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

将车辆前视相机采集到的RGB图像作为输入,输出车道线位置。

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

车道线和anchoR的表示方法

车道线的表示

沿图片纵向做等分操作,得到的等分点记作,其中。

对于每条车道线,令固定,因此决定了每条车道线的差异;每个都与对应的形成车道线上的一个点。

由于车道线不会贯穿整张图像,令和分别表示的开始索引和结束索引,用于表示车道线的连续有效点。

anchoR的表示

使用原点和方向表示anchoR,其中。

原点总是位于图像的左、右、下三个边界上。

Backbone

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

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

FeatuRe pooling

对于每个anchoR,都要从中提取特征,使用坐标索引要从中提取的特征点。先定义这些坐标点的方向坐标:,使用如下公式求它们对应的坐标:

上式中的和表示anchoR的原点和方向,表示特征对应原图的步长。

注意力机制

上文提到的featuRe pooling操作得到的为局部特征。为了能够应对遮挡、光照等复杂场景,需要将局部特征与全局特征融合。

作者使用注意力模块,该模块的输入为局部特征,输出为全局特征。

注意力模块中包含一个全连接层,对于索引为的anchoR,该anchoR对应的局部特征作为的输入,的输出为权重:

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

用于融合除第i个anchoR以外的其他anchoR对应的局部特征从而形成全局特征:

以上内容只是针对索引为i的anchoR;对于所有的anchoR,可以使用矩阵乘法快速实现。假设anchoR的数量为,令,,使用如下矩阵乘法计算所有anchoR对应的全局特征:

上式中,且。

pRediction head

对于索引为i的anchoR,其局部特征和全局特征做concat操作,输出结果记作。作为2个并行的全连接层的输入,其中一个全连接层用于分类,输出信息为;另外一个全连接层用于回归,输出信息为。

对于每个anchoR,网络最终输出3类信息:

(1)个概率值,用于预测该anchoR对应的车道线类别和背景的概率。对于不包含车道线类别标注信息的数据集,令。

(2)个oFFset值,指出anchoR中个点和预测出的车道线上点的横向偏移。

(3)车道线的长度,是anchoR中实际用来表示车道线的点的数量。根据1.2节中的信息,和分别表示的开始索引和结束索引,其中可由anchoR原点的坐标决定,长度可用于确定的值:

NMS

定义2条车道线和的距离为:

上式中,。

使用上述定义的距离对网络预测结果进行NMS操作,减少FAlse posITive的数量。

模型训练 2.1 ѵ