原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)
论文链接:https://arxiv.org/pdf/2204.07335.pdf
代码链接:https://github.com/Wolfwjs/GANet
后台回复【GANet】获取论文和代码!
后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!
1摘要
车道检测是一项具有挑战性的任务,需要预测车道线的复杂拓扑形状并同时区分不同类型的车道。早期的工作遵循自上而下的路线图,将预定义的锚回归到各种形状的车道线,由于锚形状固定,缺乏足够的灵活性来适应复杂的车道形状。
最近,一些工作提出将车道检测表述为关键点估计问题,以更灵活地描述车道线的形状,并以逐点的方式逐渐将属于同一车道线的相邻关键点分组,这在后处理过程中效率低且耗时。论文提出了一种全局关联网络(GANet)来从新的角度描述车道检测问题,其中每个关键点直接回归到车道线的起点,而不是逐点扩展。具体来说,关键点与其所属车道线的关联是通过全局预测其到相应车道起点的偏移量来实现的,彼此不依赖,可以并行进行,以大大提高效率。此外,论文进一步提出了一种车道感知特征聚合器(LFA),它自适应地捕获相邻关键点之间的局部相关性,以补充全局关联的局部信息。在两个常用的车道检测基准上的大量实验表明,我们的方法优于以前的方法,在CULane上的F1分数为79.63%,在具有高FPS的Tusimple数据集上的F1分数为97.71%。
2任务介绍
车道检测的目的是获得准确的车道线形状,并区分它们。根据车道建模的方式,目前基于深度学习的方法大致可以分为几类。我们将在本节中分别阐述这些方法。
1.基于分割的方法
基于分割的方法将车道线检测建模为逐像素分类问题,每个像素分类为车道区域或背景。为了区分不同的车道线,SCNN将不同的车道线视为不同的类别,从而将车道检测转化为多类分割任务。还提出了一种逐片CNN结构,以实现消息跨行和跨列传递。为了满足实践中的实时性要求,ENet SAD应用了一种用于上下文聚合的自注意力蒸馏机制,以便允许使用轻量级主干。LaneNet通过将车道检测作为实例分割问题,采用了不同的车道表示方法。包括一个二进制分割分支和一个嵌入分支,将分割结果分解为车道实例。与LaneNet不同的是,我们的方法使用偏移量而不是嵌入特征来对每条车道线进行聚类,这更高效、省时。
2.基于检测的方法
这种方法通常遵循自顶向下的方式来预测车道线。其中,基于锚点的方法设计线状anchor,并回归采样点和预定义锚点之间的偏移。然后应用非最大抑制(NMS)来选择置信度最高的车道线。LineCNN使用从具有特定方向的图像边界发射的直射线作为一组锚点。曲线NAS将锚定义为垂直线,并进一步采用神经架构搜索(NAS)来搜索更好的主干。LaneATT提出了一种基于锚的池方法和注意力机制,以聚集更多的全局信息。其它方法则将车道检测描述为一个行分类问题。对于每一行,该模型预测可能包含车道线的位置。
3.基于关键点的方法
受人体位姿估计的启发,一些工作将车道检测视为关键点估计和关联问题。PINet使用堆叠沙漏网络预测关键点位置和特征嵌入。根据特征嵌入之间的相似性对不同的车道实例进行聚类。FOLOLane生成像素级热图,其分辨率与输入相同,以获得车道上的点。还开发了一种局部几何构造方式,以关联属于同一车道实例的关键点。GANet采用了更高效的后处理方法,它既不需要特征嵌入,也不需要局部关联来聚类或重构整个车道。每个关键点通过以平行方式将其坐标与车道线起点的偏移量相加来找到其相应的车道;
3网络结构介绍
GANet总体架构如下图所示,给定一个前视图像作为输入,采用CNN主干和FPN来提取输入图像的多级视觉表示。为了更好地进行特征学习,在主干和颈部之间进一步插入了自注意力层,以获得丰富的上下文信息。解码器利用关键点头和偏移头分别生成置信图和偏移图。两个头部均由全卷积层组成。论文在关键点头部之前设计了一个车道感知特征聚合器模块,以增强相邻关键点之间的局部相关性,从而有助于生成连续的车道线。对于每个车道实例,首先通过在偏移地图上选择值小于1的点来获得其作为簇质心的起点。然后,结合置信图和偏移图,在采样起点周围聚集属于同一车道的关键点,以构建完整的车道线。
关键点的预测使用Focal loss来监督前景背景:
为了区分不同的车道线,论文用起点来唯一地表示每个车道实例(因为其稳定性和彼此之间的largest margins),而不是回归绝对坐标,论文采用预测每个关键点的偏移量,定义为:
为了获得每个车道的起点,我们选择偏移地图上值小于1的关键点作为候选起点。由于在同一局部区域内可能有多个关键点与上述标准匹配,因此选择该区域的几何中心点以确保唯一性。通过这种方式,可以初步确定所有车道的实例及其起点。然后,根据关键点和相应起点之间的估计偏移量将其余关键点与其所属车道相关联,如上图所示。
4LFA模块
传统的二维卷积在固定的网格状区域内采样特征,不适合处理车道线的细长形状。受Dai等人的启发,论文提出了一种车道感知特征聚合器(LFA)模块,用于自适应地从车道上的相邻点收集信息,以增强每个关键点的局部特征表示。LFA模块如上图所示。以一个特定的关键点为例,我们首先使用卷积层来预测它与其在同一车道上包围的M个关键点之间的偏移,如下所示:
LFA模块中红点表示观察到的关键点,首先预测红点及其相邻关键点(蓝色)之间的偏移,然后收集这些关键点的特征,以增强红色关键点的上下文信息。
5实验
论文在CULane和TuSimple数据集上进行验证, CULane数据集包含8880张训练图像和34680张测试图像,包括城市和公路场景。测试图像分为9种不同场景。F1度量是唯一的评估指标(基于IoU)。TuSimple是一个真正的公路数据集,包括3626张训练图像和2782张测试图像。TuSimple数据集的主要评估指标是准确度,其公式如下:
CULane上的性能对比:
TuSimple数据集上的结果对比:
可视化结果: