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

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 ѵ

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.