GANet:基于关键点的全局关联车道线检测网络(CVPR2022)

简介: 车道检测是一项具有挑战性的任务,需要预测车道线的复杂拓扑形状并同时区分不同类型的车道。早期的工作遵循自上而下的路线图,将预定义的锚回归到各种形状的车道线,由于锚形状固定,缺乏足够的灵活性来适应复杂的车道形状。

原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与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%。


640.png

2任务介绍



车道检测的目的是获得准确的车道线形状,并区分它们。根据车道建模的方式,目前基于深度学习的方法大致可以分为几类。我们将在本节中分别阐述这些方法。


1.基于分割的方法


基于分割的方法将车道线检测建模为逐像素分类问题,每个像素分类为车道区域或背景。为了区分不同的车道线,SCNN将不同的车道线视为不同的类别,从而将车道检测转化为多类分割任务。还提出了一种逐片CNN结构,以实现消息跨行和跨列传递。为了满足实践中的实时性要求,ENet SAD应用了一种用于上下文聚合的自注意力蒸馏机制,以便允许使用轻量级主干。LaneNet通过将车道检测作为实例分割问题,采用了不同的车道表示方法。包括一个二进制分割分支和一个嵌入分支,将分割结果分解为车道实例。与LaneNet不同的是,我们的方法使用偏移量而不是嵌入特征来对每条车道线进行聚类,这更高效、省时。


2.基于检测的方法


这种方法通常遵循自顶向下的方式来预测车道线。其中,基于锚点的方法设计线状anchor,并回归采样点和预定义锚点之间的偏移。然后应用非最大抑制(NMS)来选择置信度最高的车道线。LineCNN使用从具有特定方向的图像边界发射的直射线作为一组锚点。曲线NAS将锚定义为垂直线,并进一步采用神经架构搜索(NAS)来搜索更好的主干。LaneATT提出了一种基于锚的池方法和注意力机制,以聚集更多的全局信息。其它方法则将车道检测描述为一个行分类问题。对于每一行,该模型预测可能包含车道线的位置。


3.基于关键点的方法


受人体位姿估计的启发,一些工作将车道检测视为关键点估计和关联问题。PINet使用堆叠沙漏网络预测关键点位置和特征嵌入。根据特征嵌入之间的相似性对不同的车道实例进行聚类。FOLOLane生成像素级热图,其分辨率与输入相同,以获得车道上的点。还开发了一种局部几何构造方式,以关联属于同一车道实例的关键点。GANet采用了更高效的后处理方法,它既不需要特征嵌入,也不需要局部关联来聚类或重构整个车道。每个关键点通过以平行方式将其坐标与车道线起点的偏移量相加来找到其相应的车道;


3网络结构介绍



GANet总体架构如下图所示,给定一个前视图像作为输入,采用CNN主干和FPN来提取输入图像的多级视觉表示。为了更好地进行特征学习,在主干和颈部之间进一步插入了自注意力层,以获得丰富的上下文信息。解码器利用关键点头和偏移头分别生成置信图和偏移图。两个头部均由全卷积层组成。论文在关键点头部之前设计了一个车道感知特征聚合器模块,以增强相邻关键点之间的局部相关性,从而有助于生成连续的车道线。对于每个车道实例,首先通过在偏移地图上选择值小于1的点来获得其作为簇质心的起点。然后,结合置信图和偏移图,在采样起点周围聚集属于同一车道的关键点,以构建完整的车道线。

640.png


关键点的预测使用Focal loss来监督前景背景:

640.png


为了区分不同的车道线,论文用起点来唯一地表示每个车道实例(因为其稳定性和彼此之间的largest margins),而不是回归绝对坐标,论文采用预测每个关键点的偏移量,定义为:

640.png



为了获得每个车道的起点,我们选择偏移地图上值小于1的关键点作为候选起点。由于在同一局部区域内可能有多个关键点与上述标准匹配,因此选择该区域的几何中心点以确保唯一性。通过这种方式,可以初步确定所有车道的实例及其起点。然后,根据关键点和相应起点之间的估计偏移量将其余关键点与其所属车道相关联,如上图所示。


4LFA模块


640.png


传统的二维卷积在固定的网格状区域内采样特征,不适合处理车道线的细长形状。受Dai等人的启发,论文提出了一种车道感知特征聚合器(LFA)模块,用于自适应地从车道上的相邻点收集信息,以增强每个关键点的局部特征表示。LFA模块如上图所示。以一个特定的关键点为例,我们首先使用卷积层来预测它与其在同一车道上包围的M个关键点之间的偏移,如下所示:

640.png


LFA模块中红点表示观察到的关键点,首先预测红点及其相邻关键点(蓝色)之间的偏移,然后收集这些关键点的特征,以增强红色关键点的上下文信息。


5实验



论文在CULane和TuSimple数据集上进行验证, CULane数据集包含8880张训练图像和34680张测试图像,包括城市和公路场景。测试图像分为9种不同场景。F1度量是唯一的评估指标(基于IoU)。TuSimple是一个真正的公路数据集,包括3626张训练图像和2782张测试图像。TuSimple数据集的主要评估指标是准确度,其公式如下:

640.png


CULane上的性能对比:

640.png


TuSimple数据集上的结果对比:

640.png


可视化结果:

640.png


相关文章
|
19天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目DWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取分为区域残差化和语义残差化两步,提高了特征提取效率。它引入了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,优化了不同网络阶段的感受野。在Cityscapes和CamVid数据集上的实验表明,DWRSeg在准确性和推理速度之间取得了最佳平衡,达到了72.7%的mIoU,每秒319.5帧。代码和模型已公开。
【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
|
6天前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
33 5
|
22天前
|
机器学习/深度学习 搜索推荐 安全
深度学习之社交网络中的社区检测
在社交网络分析中,社区检测是一项核心任务,旨在将网络中的节点(用户)划分为具有高内部连接密度且相对独立的子群。基于深度学习的社区检测方法,通过捕获复杂的网络结构信息和节点特征,在传统方法基础上实现了更准确、更具鲁棒性的社区划分。
37 7
|
19天前
|
机器学习/深度学习 计算机视觉 网络架构
【YOLO11改进 - C3k2融合】C3k2融合DWRSeg二次创新C3k2_DWRSeg:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测
【YOLO11改进 - C3k2融合】C3k2融合DWRSDWRSeg是一种高效的实时语义分割网络,通过将多尺度特征提取方法分解为区域残差化和语义残差化两步,提高了多尺度信息获取的效率。网络设计了Dilation-wise Residual (DWR) 和 Simple Inverted Residual (SIR) 模块,分别用于高阶段和低阶段,以充分利用不同感受野的特征图。实验结果表明,DWRSeg在Cityscapes和CamVid数据集上表现出色,以每秒319.5帧的速度在NVIDIA GeForce GTX 1080 Ti上达到72.7%的mIoU,超越了现有方法。代码和模型已公开。
|
2月前
|
机器学习/深度学习 安全 网络安全
利用机器学习优化网络安全威胁检测
【9月更文挑战第20天】在数字时代,网络安全成为企业和个人面临的重大挑战。传统的安全措施往往无法有效应对日益复杂的网络攻击手段。本文将探讨如何通过机器学习技术来提升威胁检测的效率和准确性,旨在为读者提供一种创新的视角,以理解和实施机器学习在网络安全中的应用,从而更好地保护数据和系统免受侵害。
|
2月前
|
机器学习/深度学习 数据采集 网络安全
使用Python实现深度学习模型:智能网络安全威胁检测
使用Python实现深度学习模型:智能网络安全威胁检测
210 5
|
1月前
|
运维 安全 网络协议
Python 网络编程:端口检测与IP解析
本文介绍了使用Python进行网络编程的两个重要技能:检查端口状态和根据IP地址解析主机名。通过`socket`库实现端口扫描和主机名解析的功能,并提供了详细的示例代码。文章最后还展示了如何整合这两部分代码,实现一个简单的命令行端口扫描器,适用于网络故障排查和安全审计。
|
3月前
|
计算机视觉
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
这篇文章讨论了在yolov5项目中,如何避免使用网络摄像机而改用自带的本地摄像机进行实时目标检测,并提供了解决摄像头打开错误的具体步骤和代码示例。
在yolov5项目中如何使用自带摄像机不用网络摄像机进行实时检测?
|
3月前
|
机器学习/深度学习 运维 监控
|
3月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
90 0