【无标题】西安交通大学提出少锚点的端到端车道线检测算法Polar R-CNN

Abstract

车道线检测在自动驾驶中是一个关键且充满挑战的任务,特别是在实际场景中,由于车道线可能因其他车辆而被遮挡、形状纤细且长度较长,检测难度增大。现有基于锚点的检测方法通常依赖于预设的锚点来提取特征,并随后对车道线的位置和形状进行优化。然而,这些方法依赖手动设置锚点的方式繁琐,且为了适应不同的数据集通常需要大量密集的锚点。此外,为消除冗余预测而使用的非极大值抑制(NMS)在复杂场景中效果有限,影响实际部署。本文提出了一种新颖的基于锚点的车道检测方法Polar R-CNN。通过引入局部和全局极坐标系统,Polar R-CNN可以灵活地生成锚点,并显著减少锚点数量,同时保持性能。此外,我们设计了一个三重检测头,结合启发式结构支持无NMS的检测模式,在车道线密集的场景中增强了部署效率和性能。实验结果表明,Polar R-CNN在Tusimple、CULane、LLAMAS、CurveLanes和DL-Rail五个主流数据集上均达到了具有竞争力的性能,且具有轻量化设计和简化结构。

代码获取:https://github.com/ShqWW/PolarRCNN

 欢迎加入自动驾驶实战群

Introduction

车道线检测是一项重要的计算机视觉任务,尤其是在自动驾驶领域,目的是识别和跟踪道路上的车道线。尽管理想环境下的检测取得了显著进展,但在夜间驾驶、眩光、拥堵和雨天等恶劣条件下仍具挑战,车道线可能被遮挡或受损。此外,车道线形状细长且拓扑结构复杂,也增加了检测难度。

方法概述

传统车道检测主要依赖手工特征提取和车道形状建模,使用方法包括Canny边缘检测、霍夫变换和可变形模板等,但这些方法在低清晰度或特征不明显的场景下表现不佳。近年来,深度学习技术的进步使得基于卷积神经网络(CNN)和Transformer结构的深度模型在车道检测中获得了显著成功。然而,尽管分割类和参数化模型提供了端到端解决方案,但它们对车道形状的敏感性影响了鲁棒性。

基于目标检测模型(如YOLO、Faster R-CNN)的锚点方法被引入车道检测领域。代表性方法包括LaneATT和CLRNet,通过预定义锚点和扩大特征提取视野,锚点方法在性能上取得了优势,但存在以下缺点:

需要大量的锚点覆盖不同的车道分布,导致冗余锚点;使用NMS消除冗余预测,但在车道线密集的场景中效果不佳,尤其在分叉或多车道情况下。

解决方案:Polar R-CNN

为了解决上述问题,本文提出了Polar R-CNN方法:

局部极坐标模块:基于极坐标系统生成精确的锚点位置,减少了在稀疏场景中所需的锚点数量。与现有方法(如CLRNet)使用的192个锚点相比,Polar R-CNN只需20个锚点即可有效覆盖车道真值。

三重检测头及图神经网络(GNN)模块:为避免NMS后处理,设计了基于图神经网络的检测结构,实现了NMS自由的检测流程,适用于稀疏和密集场景下的车道线检测。

高效的端到端训练:结合极坐标系统和NMS自由检测模式,Polar R-CNN实现了快速且高效的车道线检测。通过在五个主流数据集上的实验验证,该方法在使用更少锚点和无NMS模式下,仍能保持高性能表现。

3.Polar R-CNN

olar R-CNN的整体架构如图3所示。该模型在车道检测中的流程与Faster R-CNN 类似,包括一个骨干网络、特征金字塔网络(FPN)、作为区域提议网络(RPN)的局部极坐标模块(LPM)、以及作为感兴趣区域(RoI)池化模块的全局极坐标模块(GPM)。接下来,我们将首先介绍极坐标下的车道锚表示方式,然后详细描述在Polar R-CNN中设计的LPM和GPM。

图片

A. 车道和车道锚的表示方式

车道通常具有纤细、细长和弯曲的形状。良好的车道先验信息有助于模型进行特征提取和位置预测。

作为射线表示的车道和车道锚。给定宽度为W、高度为H的输入图像,车道可由一组2D点 图片表示,这些点的y坐标等距分布,即图片,其中N为数据点的数量。由于y坐标是固定的,因此一个车道可以通过其x坐标唯一确定。先前的研究引入了车道先验(即车道锚),这些锚在图像平面上表现为直线,并作为参考。从几何角度来看,车道锚可以看作是由起点图片和方向定义的射线。车道检测模型的主要任务是估计从车道锚到车道实例真实位置的x坐标偏移量。

然而,将车道锚表示为射线会带来一些限制,尤其是车道锚的起点可能有无限多个,这使得其定义变得模糊和主观。如图4(a)所示,先前的研究将起点定义为图像的边界,如图4(a)中的绿色点;而[15]中的研究则将起点定义为其在图像中的实际可见位置(如图4(a)中的紫色点)。此外,车道的遮挡和损坏会显著影响这些起点的检测,要求模型具备较大的感受野。基本上,在笛卡尔坐标系下,一条直线仅有两个自由度:斜率和截距,这意味着可以通过两个参数而非射线表示中的三个冗余参数(即两个起点参数和一个方向参数)来描述车道锚。

图片

极坐标表示。如上所述,使用射线表示的车道锚点存在一些缺陷。为了解决这些问题,我们引入了车道锚点的极坐标表示。在数学中,极坐标是一个二维坐标系统,其中平面上的每个点由与参考点(即极点)的距离和与参考方向(即极轴)的夹角θ来确定。图4(b)显示,给定黄色点对应的极点后,可以通过两个参数唯一地定义一条直线的车道锚点:极点的径向距离r和从极轴到车道锚点垂线的逆时针角度θ,其中图片图片

为了更好地利用CNN的局部归纳偏置特性,我们定义了两种类型的极坐标系统:局部极坐标系统和全局极坐标系统。局部极坐标系统用于生成车道锚点,而全局极坐标系统则在整个图像中表达这些锚点并将它们回归到真实的车道实例。鉴于局部和全局系统的不同作用,我们为Polar R-CNN采用了类似于Faster R-CNN 的两阶段框架。

图片

局部极坐标系统旨在预测适用于稀疏和密集场景的车道锚点。在该系统中,极点分布在特征图的格点上,称为局部极点。如图5左侧所示,局部极点分为正极点和负极点。正极点(即蓝点)的半径小于阈值,否则被分类为负极点(即红点)。每个局部极点负责预测一个车道锚点。虽然一个真实的车道可能生成多个车道锚点(如图5所示),绿色车道实例周围有三个正极点,预计生成三个车道锚点。

在局部极坐标系统中,每个车道锚点的参数基于其对应局部极点的位置。然而,在实际操作中,一旦生成车道锚点,其确切位置就变得不可更改且与其原始局部极点无关。为了简化Polar R-CNN第二阶段中车道锚点的表示,设计了一个全局极坐标系统,具有唯一的极点作为整个图像的参考点。该全局极点的位置是手动设定的,位于整个车道图像数据集中观察到的静态消失点附近。这种方法确保了在图像的全局上下文中使用一致的极坐标来表达车道锚点,从而方便了对真实车道实例的精确回归。

B. 局部极坐标模块(LPM)

图片

如图3所示,通过特征金字塔网络(FPN)提取了三个层级的特征图,分别记作 图片。为了在图像中生成高质量的车道锚点,提出了局部极坐标模块

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值