【论文阅读】《Sketch and Refine: Towards Fast and Accurate Lane Detection》

Abstract

车道检测是指确定道路上车道的精确位置和形状。尽管目前的方法已经做出了努力,但由于现实世界场景的复杂性,这仍然是一项具有挑战性的任务。无论是基于建议的方法还是基于关键点的方法,现有方法都无法有效、高效地描绘车道。基于建议(proposal)的方法通过自上而下的精简方式区分和回归建议集合来检测车道,但在车道表示方面缺乏足够的灵活性。另一方面,基于关键点的方法可根据局部描述符(local descriptors)灵活构建车道,但通常需要复杂的后处理。在本文中,我们提出了一种 "Sketch-and-Refine"范式,它同时利用了基于关键点和基于建议(proposal)的方法的优点。其动机在于,车道的局部方向在语义上简单明了。在 "Sketch "阶段,关键点的局部方向可以很容易地通过快速卷积层估算出来。然后,我们就可以相应地建立一套车道建议,准确度适中。在 "Refine "阶段,我们通过新颖的车道分段关联模块Lane Segment Association Module(LSAM)进一步优化这些建议,该模块允许自适应车道分段调整。最后,我们提出了多层次特征整合,以更有效地丰富车道特征表征。基于所提出的 "Sketch-and-Refine"范式,我们提出了一种快速而有效的车道检测器,称为 "SRLane"。实验表明,我们的 SRLane 能以较快的速度运行(即 278 FPS),同时获得 78.9% 的 F1 分数。源代码见:https://github.com/passerer/SRLane。

 Introduction

车道检测是自动驾驶系统的核心部分,旨在准确描绘道路上每条车道的形状。它的发展得益于卷积神经网络(CNN)的繁荣(Pan 等人,2018 年;Li 等人,2019 年)。车道检测的主流解决方案大致可分为两类:基于关键点的方法(Qu 等人,2021 年;Wang 等人,2022 年)和基于提议(proposal)的方法(Feng 等人,2022 年a;Tabelini 等人,2021 年a)。基于关键点的方法将车道检测简化为两个步骤:离散关键点检测和关联。也就是说,首先定位车道上的关键点,然后通过局部描述符(local descriptors)启发式地集成到连续车道实例中。局部描述符是局部图像特征的紧凑表征,包括语义表征(如深度特征嵌入)(Ko 等人,2021b)和几何表征(如相邻关键点的空间偏移)(Qu 等人,2021)(见图 1(a))。尽管这些方法可以灵活地描述各种车道形状,但整合过程会使管道复杂化,并导致叠加误差。此外,这些方法在预测更多车道级属性(如车道类型)时也面临困难。

另外,基于建议(proposal)的方法依赖于建议来汇总相关特征,并直接建立全局几何模型。这里的 "提议 "指的是一组与类别无关的候选车道。将建议作为输入,通常会有一个分类器来区分正样本和负样本,并有一个定位器来预测形状。受益于端到端管道,这些方法的设计和实施都比较简单。然而,对高质量建议的需求使它们在效率和适应性之间进退两难。通常情况下,稀疏提议的计算效率高,但拟合能力有限,而密集提议的拟合能力更强,但计算成本更高(Qin、Zhang 和 Li,2022a)。一些基于锚点的方法(Li 等人,2019 年;Tabelini 等人,2021a)引入锚点作为参照物来建立提案(见图 1(b))。为了保证检测质量,他们预设了数十万个锚点来覆盖底层车道,这导致了高冗余度和复杂性,阻碍了他们在资源有限的硬件上的应用。为了在性能和推理速度之间进行权衡,一些方法(秦、王和李,2020 年)在不同的数据集上安排了不同数量的锚点,这涉及到更多费力的过程,而固有的问题仍未触及。

在本文中,我们试图结合这两种模式的特点,开发出一种高效、有效的车道检测器。正如(Qu 等人,2021 年)所证明的,局部车道标记比全局车道更容易预测,因为它们的几何变化和空间覆盖范围有限。这就提出了一个问题:我们能否利用廉价的局部描述符建立复杂的全局车道建议?我们根据经验观察到,前视图中的车道具有一定的几何一致性,例如,局部区域内的车道坡度变化有限。这意味着车道的关键点很可能位于车道段的延长线上或附近。因此,我们提出了 SRLane,即使用局部几何描述符快速勾勒(即大致描绘)车道形状,然后进行精炼以提高准确性。具体来说,我们的范例首先会预测一个局部方向图,其中每个点的值都表示最近车道段(closet lane segment)的大致方向。然后,我们沿着每个点的方向建立相应的建议(proposal)(见图 1(c))。因此,我们可以快速、准确地定位车道。例如,在 Tusimple 数据集上,草图车道(sketched lanes)的检测准确率可达 93%。

为适应曲率变化较大的车道,开发了车道分段关联模块Lane Segment Association Module (LSAM),以调整车道建议中的不匹配分段(non-fitting segments)(见图 1(d))。该模块是通过强调基于线段之间语义关系的前景线段特征来实现的。此外,我们还提出了针对车道检测的多级特征集成(multi-level feature integration)。它直接从不同层次的特征中采样多个特征,从而赋予车道一个整体视图。

这种 "Sketch-and-Refine "范式使我们能够高效和有效地检测车道。广泛的基准实验证明,我们的 SRLane 能以惊人的速度获得出色的性能。例如,SRLane 在 CULane 测试集上可以达到 278 FPS,F1 分数为 78.9%。我们希望 SRLane 可以作为基于提议(proposal-based)的方法的新基准,推动实时车道检测的发展。

Related Work

最初,车道检测研究主要集中在检测手工制作的低级特征和拟合样条线来定位车道(Borkar、Hayes 和 Smith,2009 年;Chiu 和 Lin,2005 年;Ghazali、Xiao 和 Ma,2012 年)。与深度学习方法相比,这些方法在复杂场景中的表现较差。深度学习在车道检测中的主流尝试可分为两类:基于关键点的方法和基于提议的方法。接下来,我们将简要介绍这两类方法的代表作。

Keypoint-based lane detection.  基于关键点的方法的核心区别在于如何进行关键点分组。PINet (Ko 等人,2021b)使用置信分支、偏移分支和嵌入分支对车道上的关键点进行分组。FOLOLane (Qu 等人,2021 年)部署了一个置信头和回归头。回归头以固定的垂直间隔估算每个像素到三个相邻关键点的水平偏移。车道实例通过关联相邻关键点而形成。GANet(Wang 等人,2022 年)也会预测所有可能的关键点,但会通过将偏移坐标添加到车道线起点来找到相应的车道。RCLane (Xu 等人,2022a)借鉴了中继链(Relay Chain)的理念,创建了一个传输地图,并以链模式依次恢复车道实例。

虽然我们提出的 SRLane 和基于关键点的方法一样使用了局部描述符,但它根植于基于提议的方法,摆脱了复杂的后聚类过程。

Proposal-based lane detection.   基于提议的方法可进一步分为两类,例如无锚方法和基于锚的方法。在无锚方法中,PolyLaneNet(Tabelini 等人,2021c)从简单的全连接层输出少量建议(Proposal),每个建议都包含多项式系数和车道的置信度得分。B´ezierLane(Feng 等人,2022a)使用从简单的逐列池化(pooling)得出的稀疏建议集来预测 B´ezier 曲线。由于结构设计简单、建议较少,PolyLaneNet 和 B´ezierLane 的运行速度都很快。然而,它们的性能远远落后于最新的基于锚点的方法,部分原因是粗糙采样方案产生的提案特征难以区分。
至于基于锚点的方法,Line-CNN(Li 等人,2019 年)是通过线锚点对车道进行分类和回归的开创性工作。为了避免冗余锚点,SGNet(Su 等人,2021 年)将锚点生成域限制为消失点周围的像素。为了充分利用线锚,LaneATT(Tabelini 等人,2021a)采用基于锚的池化技术进行局部特征采样,并采用基于锚的关注技术进行全局信息融合。随后,CLRNet(Zheng 等人,2022a)从线锚开始分层完善车道先验,进一步提高了性能。另一种方法(Liu 等 2021 年;Qin、Wang 和 Li 2020 年)不是直接回归车道坐标,而是通过行或列序分类获得车道位置。然而,上述方法的性能很大程度上受到锚点设置的影响。为了获得满意的检测质量,他们通常会放弃大量的锚点,只有一小部分锚点成为对检测结果有贡献的感兴趣提议。相比之下,我们的方法并不强调提议的数量,因此能获得更高的效率。

Methodology

Overall Pipeline

如图 2 所示,拟议的 SRLane 将车道检测过程分为两个阶段:车道草图(sketch )阶段,用于快速定位潜在车道;车道细化(refinement )阶段,用于获得更精确的结果。在草图阶段,SRLane 创建一个局部方向图来初始化车道建议(Proposal),作为下一阶段的输入。在细化阶段,建议(Proposal)的特征会在多个级别上动态采样,并由车道分段关联模块Lane Segment Association Module (LSAM)进行处理,以加强分段级交互。细化后的特征将输入分类和回归分支,以生成最终结果。

 SRLane 中的所有参数都是以端到端的监督方式进行训练的。通过将细化阶段视为两阶段检测器(Ren 等人,2015 年)中的 RoI 头,SRLane 可以很容易地融入其他检测框架,用于多任务检测。在随后的章节中,我们将详细介绍这两个阶段。

Lane Sketch

为了在第一阶段提供良好的建议(Proposal)初始化,我们为车道草图设计了三种可能的方案: (a) 像(Tabelini 等人,2021a)那样预先定义线条锚点集合,这种方法不灵活,无法适应不同曲率的线条。更重要的是,锚点的初始状态与输入图像无关,这就偏离了车道草图的目的。(b) 插入中间车道建议网络(intermediate lane proposal network )生成建议(Proposal),其结构可参考(刘等人,2021 年)。然而,捕捉车道的不同形状和分布需要相当复杂的网络。此外,生成过程无法解读,这也是进一步分析和改进的障碍。(c) 使用局部描述符,这比较可取,因为局部模式相对简单且易于预测。基于关键点的方法长期以来一直在研究从局部描述符构建车道。与之不同的是,我们利用车道的局部连续性,省去了复杂的后聚类步骤,简化了整个检测流程。局部描述符有多种选择,如(Qu 等人,2021 年)中描述的三个相邻关键点的偏移量。为简单起见,我们使用点的坐标和局部方向来建立车道建议。

Local direction estimation.  给定图像\mathbf{I} \in \mathbb{R} ^{H\times W\times 3},特征图可以从主干(backbone)中导出为 \mathbf{F}^s \in \mathbb{R} ^{(H/s)\times (W/s)\times d_s} ,其中s是下采样步长,d_s是通道维度。我们进一步对\mathbf{F}进行编码,得到方向图 \mathbf{\Theta } \in \mathbb{R}^{(H / s) \times(W / s) \times 1} ,其中每个点的值代表最近车道的局部角度,范围在[0^ o ,180^ o )之间。我们认为,预测车道的整体角度并不可取,因为这需要全局感受野,而且如果曲率沿着车道变化,整体角度的定义就会模糊不清。相反,局部方向在语义上简单明了,甚至只需一个卷积层就能对其进行估计。

在训练阶段,我们对所有尺度的特征图进行方向监督,以丰富上下文特征的空间细节。每条注释的车道线都会被分成 K段,每段都会为其相邻点提供地面实况值(ground-truth value)。K的值由K = H/s给出,以适应不同的感受野。在推理过程中,只计算分辨率最低的特征图的结果,并将其保留用于初始化车道建议,因此计算成本较低。

Global lane construction.   我们的目标是利用估计的局部几何描述符建立全局车道建议(Proposal)。对于方向图\mathbf{\Theta }的第y行和第x列中的点p,相应的建议可公式化为一条以\mathbf{\Theta } _{xy}角度通过p的直线,如图 2 中上部分所示。根据(Tabelini 等人,2021a),车道由一系列车道点表示。给定一个固定的y_i,可以通过以下式子推断出相应的x_i线点:

这样,我们就可以得到(H \times W)/(s \times s)车道建议。与基于关键点的方法(Qu 等人,2021 年;Xu 等人,2022a 年)通常采用的方法不同,我们没有估计二元分类图来过滤前景样本,因为当前点的分类结果不足以决定其提议(Proposal)是否属于前景。此外,值得注意的是,提议的数量可以通过对\mathbf{\Theta }的插值进行缩放。尽管\mathbf{\Theta }的大小不同,但得出的建议(Proposal)总是分布在整个图像平面上,每个建议(Proposal)都表示附近潜在车道的方向。因此,少量建议(如 40 个)就足以覆盖所有潜在车道,而不是其他研究中的数十万个建议(Li 等人,2019 年;Su 等人,2021 年;Tabelini 等人,2021a 年;Zheng 等人,2022a 年)。 

Lane Refinement

为了适应复杂的车道形状,我们开发了一种可以自适应调整车道建议的细化头。它将车道建议的粗略位置作为输入,并动态整合多级车道特征。然后将收集到的车道特征投射到一维特征向量中。特征向量被分解成若干组,每组对应不同的车道段。之后,我们采用车道分段关联模块(LSAM)来增强车道特征,并将更新后的特征输入分类和回归分支以生成预测结果。

Multi-level feature integration. 在检测任务中,多层次的特征整合至关重要(Bochkovskiy、Wang 和 Liao,2020 年)。与矩形框表示的物体相比,车道线较细且延伸跨度大,因此需要更全面的多层次特征。然而,如何有效利用不同层次的特征仍然是一个挑战。在以往的研究中,人们开发了特征金字塔网络(FPN)(Lin 等人,2017a)及其变体(Liu 等人,2018)来混合低级和高级特征。尽管这些方法很有效,但却增加了复杂性。

为此,我们放弃了繁重的 FPN,转而直接并自适应地对多层次特征进行采样。如图 3 所示,我们对车道上N_p个点的特征进行采样,并将第i个点的采样坐标从(x_i, y_i)扩展到(x_i, y_i,z_i),其中标量 z_i代表更重要的特征尺度。采样过程以柔和的方式完成,采样特征是各尺度的高斯加权和:

 这里\bar{\mathbf{F}} ^s是步幅为s的特征图。如果(x_i, y_i)位于特征图之外,则将填充零值。大z_i意味着需要高级特征而抑制低级特征,反之亦然。Proj(\cdot )是投影函数,x\in \mathbb{R} ^c是车道建议的投影特征。我们沿纵轴将样本点分为G组,并将同一组的特征映射到\mathbf{x}的相应通道组。

与传统的采样策略不同,自适应尺度采样可以减少冗余特征,挖掘出更多有价值的信息。因此,多级线索并存的输出车道特征为接下来的分段关联模块奠定了坚实的基础。这也是分类和定位的理想选择,因为它需要高级语义信息和低级位置细节。

在实践中,我们使向量 \mathbf{z} = [z_0,\dots , z_{N_p-1}] 成为可学习的,这就是所谓的嵌入。我们发现,\mathbf{z}的收敛性对初始状态并不敏感,这表明对底层采样模式的建模是成功的。

Lane segment association.    草图阶段提供了一组大致描述实际车道的车道建议(Proposal),但某些位置可能需要调整。为此,我们提出了一种用于分段级细化(segment-level refinement)的新型车道分段关联模块(LSAM)。给定L个车道建议的特征 \mathbf{X} = [x_0,\cdots , x_{L-1}]\in \mathbb{R} ^{L\times C},每个 \mathbf{x}_i\in \mathbb{R}^c代表整个车道特征。同时,也可以将其视为G个车道段特征的有序集合:x_i=[x_{i}^{0},\cdots ,x_{i}^{G-1} ],其中x_{i}^{g} \in \mathbb{R} ^{c/G}。如图 4 所示,每个提议特征x_i作为一个查询(query ),通过交叉关注机制自适应地从所有L\times G路段特征中收集信息。期望类前景提议(foreground-like proposal)可以从类前景片段(foreground-like segments)中收集提示,从而获得对车道变化的高容忍度。由于提议的数量较少,因此所提议的 LSAM 在计算上事实上是友好的。

虽然 LSAM 加强了语义相似(例如两个都类似前景)的实例之间的交流,但在没有明确监督的情况下,它可能会陷入次优过程。为了缓解这一问题,我们使用双向匹配地面实况(GT)bipartite matched ground truth (GT) 来监督 LSAM 中的注意力权重。给定任何一对提案(l_i,,l_j),它们的第 g组目标关注权重\mathbf{W} _{(i,j)}^{g}定义为:

其中,\hat{l_i}l_i的匹配 GT,d(\cdot ,\cdot )测量两个车道段之间的几何距离。在注意力权重交叉熵损失的监督下,每个提议都会被迫关注其目标区段,并学习更好的特征表示。 

Classification and regression. 将提议特征作为输入,分类分支预测提议为前景的概率,而回归分支则得出更精确的位置。车道的位置由一系列垂直间隔相等的车道点x坐标描述,表示为\left\{x_{i}\right\}_{0}^{N-1},其中N代表点的总数。x_i对应的y坐标由y_{i}=i \cdot \frac{H}{N-1}给出,其中H是图像的高度。此外,回归分支还会预测最大和最小y坐标值,以确定车道的端点。

Experiment

Datasets and Evaluation Metrics

实验在文献中三个流行的车道数据集上进行: Tusimple (TuSimple 2017)、CULane (Pan 等 2018) 和 Curvelanes (Xu 等 2020)。Tusimple 包含 3626 张用于训练的图像和 2782 张用于测试的图像,所有图像都是在高速公路场景中收集的。CULane 是最大的车道检测数据集之一,包括 88,880 帧、9,675 帧、34,680 帧,分别用于训练、验证和测试。CurveLanes 是最近发布的一个具有密集曲线车道的基准数据集,我们使用它的子集进行超参数调整和消融实验。

与(TuSimple 2017)和(Pan 等 2018)中使用的官方指标一致,我们使用 Tusimple 的准确率和 CULane 的 F1 作为主要评估指标。F1 是一个综合指标,结合了 true positive (TP), false positive (FP), and false negative (FN)真阳性(TP)、假阳性(FP)和假阴性(FN)。除了准确度,我们还报告了 Tusimple 的 F1、FP 和 FN 比率。

Implementation Details

Architecture.     我们采用标准 ResNet18(He 等人,2016 年)作为预训练骨干网,并使用后三个阶段的多尺度特征图。目前,无论输入分辨率如何,局部方向图(local direction map)的大小都调整为4\times 10,这意味着提案数L固定为 40。车道段组默认设置为 6。在当前实现中,模型中的所有算子都基于 PyTorch(Paszke 等人,2019 年)。

Loss.  训练损失包括用于方向估计的l_1损失、用于注意力权重的交叉熵损失、用于车道分类的焦点损失(Lin 等人,2017b)以及用于车道回归的 iou 损失(Zheng 等人,2022a)。总体损失的计算公式为:

其中损失权重设置为 w_{cls} = 2.0w_{reg} = 1.0w_{dir} = 0.05w_{attn} = 0.05。方向损失只对一定范围内与地面实况(ground truth)相邻的点进行。车道回归损失在与地面实况(ground truth)匹配度最高的正样本上进行。 

Training.  我们使用 AdamW(Loshchilov 和 Hutter,2017 年)作为优化器,并结合余弦学习率调度器。初始学习率设置为 10^{-3},线性热身( linear warm-up)迭代 800 次。批次大小设置为 40,图像大小调整为 800×320。用于训练的数据增强包括随机翻转、仿射变换、颜色抖动和 JPEG 压缩。所有模型均可在配备 12GB 内存的单 GPU 上进行训练。

Main Results

我们主要关注与前沿方法(Abualsaud 等 2021 年;Feng 等 2022 年a;Liu 等 2021 年;Qin、Zhang 和 Li 2022 年a;Qu 等 2021 年;Tabelini 等 2021 年a;Wang 等 2022 年;Xu 等 2022 年a;Zheng 等 2022 年a)的比较,这些方法归纳为两类:基于关键点的方法和基于提议的方法。为了进行公平比较,推理延迟是在我们配备 AMD EPYC 7232P CPU 和 NVIDIA Titan Xp GPU 的机器上测量的。

CULane.    SRLane 在 CULane 数据集上的性能与其他方法的比较见表 1。我们可以看到,SRLane 运行速度极快,与速度相近的方法相比,SRLane 获得了更优越的结果,例如,与 LaneATT 相比,SRLane 的 F1 增益为 3.8%,与 B´ezierLane 相比,SRLane 的 F1 增益为 5.1%。在曲线场景中,基于关键点的检测器在基准测试中占主导地位,例如,GANet 实现了 75.92% 的 F1。值得注意的是,SRLane 在曲线集上获得了极具竞争力的 74.7% F1,缩小了与最先进的基于关键点的检测器之间的差距,并比之前基于提案的检测器的最高曲线得分高出 2.3%。这表明 SRLane 具有良好的曲线车道拟合能力。

Tusimple.  我们还在 Tusimple 数据集上进行了实验。如表 2 所示 如表 2 所示,我们的 SRLane 速度最快,是 CLRNet 的 2.2 倍,是 FOLOLane 的 11.1 倍。同时,SRLane 保持了较高的准确率,这证明了我们方法的优越性。

Visualization of detection results.  图 6 举例说明了我们方法的定性结果。可以看出,SRLane 能够更平滑地拟合车道曲线,尤其是靠近消失点的曲线段。此外,SRLane 还能适应不同的照明条件,如昏暗和眩目。 

Parameters and MACs. 表3比较了 SRLane 与其他两个著名模型的参数和乘法累加运算(MAC): CLRNet (Zheng et al. 2022a) 和 UFLDv2 (Qin, Zhang, and Li 2022a)。所有模型的骨干都是 ResNet18,为了更清楚地进行比较,只显示了头部的数据。结果表明,SRLane 在这两方面都有明显优势,这也证明了其在受限车辆计算设备中的巨大实用价值。

Ablation Study

Proposal initialization.   我们首先验证了基于方向的建议初始化(direction-based proposal initialization)的必要性。我们使用与对应方案相同数量的线锚来初始化车道方案(proposal )。锚点设置与(Zheng 等 2022a)一致。如图 5 所示,提出的基于方向的初始化方法在使用 40 个建议(proposal )时取得了优异的性能,优于相应的基于锚的方法,后者需要更多的建议(proposal )才能弥补性能差距。这些结果表明,所提出的基于方向的初始化方法可以在提案稀少的情况下实现高性能。

Multi-level feature integration. 为了验证我们提出的特征采样策略的有效性,我们将单级特征采样方法设为基准。为了进行公平比较,我们在基线模型中加入了特征金字塔网络(FPN),以补偿多层次信息。如表 4 所示,使用单层次特征会导致性能下降(见第 1 行与第 2 行、第 3 行与第 4 行),这表明了自适应多层次特征采样的好处。更多相关信息请读者参阅附录。

Lane segment association module. 我们还在表 4 中验证了我们提出的车道分段关联模块(LSAM)的有效性。可以看出,LSAM 最多提高了 0.9% 的 F1(见第 2 行与第 4 行对比)。为了进一步验证 LSAM 的有效性,我们在图 7 中展示了注意力地图。LSAM 通过为感兴趣的片段(例如,图中红色虚线框内最接近前景的片段)分配更高的注意力值,成功地学习到了细化片段特征的方法。这些结果表明,LSAM 能够更好地拟合曲率变化较大的车道。

Conclusion

在本文中,我们针对二维车道检测任务提出了一种新方法,它能让我们准确高效地定位车道。这种方法是根据局部几何描述符粗略勾勒出车道的形状,并逐步加以完善。在不同数据集上进行的基准测试表明,我们的 SRLane 具有出色的速度、准确性和鲁棒性,可适用于各种场景。我们相信,这种设计可以应用于三维车道检测。不过,这超出了本文的研究范围。

图 1:车道检测方法示例。(a) 基于关键点的方法示例,其中局部关键点(local keypoints)根据其相互之间的偏移(橙色箭头)进行分组,以重建整个车道。(b) 基于锚点的方法示例,该方法使用预定义的线锚点(青色线)来匹配和预测车道。(c) 提出的范例首先为一组关键点勾勒出局部方向。然后它扩展估计的局部方向以建立车道建议(lane proposals)。(d) 通过提出的线段关联模块完善车道线段(即替换虚线线段以更好地符合地面实况)。

 图 2:SRLane 的整体流程,可分解为两个阶段:车道草图和细化。在草图阶段,对来自主干网的最后一个特征图进行编码,以创建局部方向图,并在该方向图中初始化一组车道建议。在细化阶段,建议(proposals)的特征从多尺度特征图中进行自适应采样,然后由车道分段关联模块进行增强。之后,它们被输入分类和回归分支,产生最终结果。

图 3:多层次特征整合示意图。在采样之前,所有特征图首先由一个卷单积层转换为相同的通道维度dN_p表示采样点的数量。采样后的特征最终被投影到通道为c的一维特征向量中。 

图 4:车道分段关联模块示意图。G表示组的数量,L表示车道建议的数量。FFN 是前馈网络(Carion 等,2020 年)。为简化起见,忽略批次维度。 

图 5:不同提案数量下的性能比较。

 图 6:我们的 SRLane 与其他车道检测方法的定性比较(以彩色显示最佳)。

 图 7:红线提案相关的注意力权重。为了更直观,我们根据图段的位置将原始图段级别的注意力权重分散到图像平面上。左上方为原始图像。

表 1:CULane 测试集上的 F1 测量和推理延迟与最先进方法的比较。延迟单位为 "毫秒"。对于 "交叉 "类别,记录了误报的数量。上标"⊤"表示由于没有源代码,因此没有在相同条件下重新测量延迟,我们使用的是论文中报告的数据。最佳结果用粗体标出。

表 2:在 Tusimple 测试集上与最先进方法的比较。Acc 是准确率的缩写。标题行中的↓表示指标越低,性能越好,反之亦然。

 表 3:模型头部参数和 MAC。MAC 的输入图像大小为 800 × 320。

表 4:提出的 SRLane 中各组成部分的作用。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序猿大战Python——容器——知识补充

字典遍历方法 目标:了解遍历字典的遍历方法。 当要遍历字典的元素内容,即获取字典的键、值。 常用方法: 函数名含义keys()以列表的形式,返回一个字典所有的键。values()以列表的形式,返回一个字典所有的值。items()返…

C++11初始化列表打包器initializer_list

有时我们无法提前知道应该向函数传递几个实参。为了编写能处理不同数量实参的函数我们使用initializer_list Cplusplus中的定义: 其里面有三个成员函数 也就是说他是支持迭代器的,支持迭代器就支持范围for 图像理解 函数类型 void Test1_initializer_li…

在微信小程序中安装和使用vant框架

目录 1、初始化项目2、安装vant相关依赖3、修改 app.json4、修改 project.config.json5、构建npm6、使用示例 本文将详细介绍如何在微信小程序中安装并使用vant框架~ 开发工具:微信开发者工具 1、初始化项目 从终端进入小程序项目目录,执行…

JDK8时间类,时区,时间和格式化

一.时间类 二.获取所有的时区 1.获取所有的时区Set<String> zoneIds ZoneId.getAvailableZoneIds();System.out.println(zoneIds.size()); 根据打印的结果可以看到java类中一共有603个时区。 三.获取当前系统默认的时区 ZoneId zoneId ZoneId.systemDefault();Syste…

linux搭建harbor镜像仓库

安装docker-compose&#xff1a;安装docker-compose_安装 docker-compose-CSDN博客 安装harbor&#xff0c;我安装的是v2.4.3 #下载安装包 wget https://github.com/goharbor/harbor/releases/download/v2.4.3/harbor-offline-installer-v2.4.3.tgz#解压 tar -zxvf harbor-off…

618全面开战,抖音电商头部品牌罗拉密码突然“不干”了?

前言&#xff1a; 随着618电商大战的硝烟渐浓&#xff0c;各大电商平台纷纷摩拳擦掌&#xff0c;准备在这场年度购物盛宴中大展拳脚。然而&#xff0c;在这热闹非凡的氛围中&#xff0c;一个熟悉的名字却显得格外低调——罗拉密码。作为抖音电商领域的头部品牌&#xff0c;罗拉…

文心智能体体验,打造你自己的GPTs应用

利用百度智能体搭建的《RPG冒险游戏大作战》已经发布啦&#xff01; RPG冒险游戏大作战 玩家扮演一位小小勇士女孩&#xff0c;从被巨龙毁灭的冒险小镇出发&#xff0c;一路披荆斩棘&#xff0c;集齐四件神器后&#xff0c;打败巨龙&#xff0c;夺回小镇的安宁&#xff01; 整…

常见机器学习的原理及优略势

有监督 一、线性回归&#xff08;Linear Regression) 1. 算法原理 线性回归&#xff08;Linear Regression&#xff09;是一种基本的回归算法&#xff0c;它通过拟合一个线性模型来预测连续型目标变量。线性回归模型的基本形式是&#xff1a;y w1 * x1 w2 * x2 … wn * …

Java_中间件——Redis

Redis 介绍&#xff1a; Redis是一个基于内存的key-value结构数据库&#xff08;MySQL是通过数据文件方式存储在磁盘上&#xff0c;数据结构是二维表&#xff09; 特点&#xff1a; 更改配置文件&#xff1a; 使用密码&#xff1a; redis默认是不需要密码的&#xff0c;如果…

2024全国大学生信息安全竞赛(ciscn)半决赛(华南赛区)Pwn题解

前言 找华南赛区的师傅要了一份半决赛的Pwn题&#xff0c;听说只有一道题。 题目很简单&#xff0c;可以申请任意大小chunk&#xff0c;并存在UAF、DoubleFree漏洞。 还给了后门函数&#xff0c;不过限制是edit只能写8字节的数据到chunk中。 MyHeap 逆向分析 拖入IDA分析…

Linux--MQTT简介

一、简介 MQTT &#xff08; Message Queuing Telemetry Transport&#xff0c;消息队列遥测传输&#xff09;&#xff0c; 是一种基于客户端服务端架构的发布/订阅模式的消息传输协议。 与 HTTP 协议一样&#xff0c; MQTT 协议也是应用层协议&#xff0c;工作在 TCP/IP 四…

计算机系统的主要概念

这篇文章通过研究“hello&#xff0c;world”这个简单程序的生命周期来介绍计算机系统的主要概念。 1. 信息就是位 上下文 我们以 hello 程序为例&#xff0c;在 linux 系统中&#xff0c;我们编辑文本文件 hello.c&#xff0c;使用编译器将其编译成可执行的 源程序&#xf…

收银系统源码-千呼新零售2.0【连锁店财务管理】

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货等连锁店使用。 详细介绍请查看下…

k8s学习--helm的详细解释及安装和常用命令

文章目录 Helm简介什么是Helm主要组件核心概念chart结构总结 应用环境一、helm部署二、helm基础使用 Helm简介 什么是Helm Helm 是 Kubernetes 的一个包管理工具&#xff0c;它允许用户定义、安装和升级复杂的 Kubernetes 应用程序。Helm 通过使用 “Charts” 的概念来简化应…

Zig标准库:最全数据结构深度解析(1)

最近新闻看到17岁中专女生拿下阿里全球数学竞赛第12名。咱们学习标准库中的数据结构是和学习数学是一脉相承的&#xff0c;结构体很多&#xff0c;也非常枯燥&#xff0c;但是不能全面解读过一遍&#xff0c;你很难写出合理的代码。所以&#xff0c;这一章节我们开始深度解析Zi…

关于投标中的合理均价基准差径靶心法(KIMI回答)

投标中的合理靶心法到底是什么呢&#xff1f;用了KIMI来进行回答&#xff1a;

基于uni-app和图鸟UI的智慧校园圈子小程序开发实践

摘要&#xff1a; 随着教育信息化和“互联网教育”的快速发展&#xff0c;智慧校园建设已成为推动校园管理现代化、提高教育教学质量的重要手段。本文介绍了基于uni-app和图鸟UI开发的智慧校园圈子小程序&#xff0c;旨在通过一站式服务、个性化定制、数据互通和安全可靠等特点…

Base64编码方式的介绍及其编码解码

一、Base64是什么 Base64是一种用于将二进制数据编码为ASCII字符的编码方式&#xff0c;主要目的是为了能够在文本环境中传输和存储二进制数据。这种编码方式广泛应用于电子邮件、HTTP协议和其他需要传输或存储二进制数据的地方。 二、发明Base64编码的原因 Base64编码的发明解…

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回, 谁又大胆的爱过这伟大的变幻?

202479读书笔记|《你是人间的四月天》——谁又能参透这幻化的轮回&#xff0c; 谁又大胆的爱过这伟大的变幻&#xff1f; 散文诗歌书信 《你是人间的四月天&#xff08;果麦经典&#xff09;》作者林徽因&#xff0c;才女的散文&#xff0c;诗歌&#xff0c;书信集选。很值得一…

python爬虫爬电影数据

使用python 爬了下豆瓣电影&#xff0c;仅供学习。 目标链接主页 获取div内容 保存爬出来的数据