【论文阅读】《Lane2Seq: Towards Unified Lane Detection via Sequence Generation》

Abstract

在本文中,我们提出了一种新颖的基于序列生成的车道检测框架,称为 Lane2Seq。它将车道检测作为序列生成任务,从而统一了各种车道检测格式。这不同于以往的车道检测方法,后者依赖于精心设计的特定任务头部网络和相应的损失函数。Lane2Seq 只采用了基于简单变换器(transformer)的编码器-解码器架构,并采用了简单的交叉熵损失。此外,我们还提出了一种新的基于强化学习的多格式模型调整方法,以便将特定任务知识纳入 Lane2Seq。实验结果表明,这种简单的序列生成范例不仅统一了车道检测,还在基准测试中取得了具有竞争力的性能。例如,Lane2Seq 在 Tusimple 和 LLAMAS 数据集上分别获得了 97.95% 和 97.42% 的 F1 分数,为两个基准建立了最先进的新结果。

1. Introduction

车道检测是计算机视觉中的一项基本任务 [31, 36, 40]。其目的是预测给定图像中车道的位置。车道检测在自适应巡航控制和车道保持等许多应用中发挥着至关重要的作用。现有的车道检测方法一般采用分而治之的策略,将车道检测分解为多个子任务。每个子任务由特定任务的头部网络完成。例如,如图 1 所示,基于分割的方法 [28,49] 采用头部网络和特定任务模块(如消息传递模块 [28])来预测每个像素的掩码。基于锚点的方法 [17, 36] 利用分类头网络来区分车道实例,并利用锚点细化网络来回归准确的车道。基于参数的方法 [13, 23] 利用网络预测车道参数,并利用垂直偏移预测网络定位车道起点。

尽管在现有方法中,分而治之策略已被证明是解决特定子任务的有效方法,但仍存在一些局限性。(1)每个子任务都需要一个定制的特定任务头网络,导致车道检测模型复杂。(2)每个特定任务的头部都需要一个或多个损失函数,如交叉熵损失和 Line-IOU 损失[17],带来额外的超参数。

本文提出了一种新颖的基于序列生成的车道检测框架(Lane2Seq)来解决上述问题。通过将车道检测表述为序列生成任务,Lane2Seq 摆脱了定制头部网络和特定任务损失函数。它基于的直觉是,如果检测模型知道目标车道在哪里,就可以简单地教模型如何读出车道的位置,而不是通过分而治之的策略设计额外的分类头或回归头

因此,我们将不同车道检测格式(即基于分割、基于锚和基于参数)的输出转换为离散令牌(tokens )序列,然后模型学习逐个令牌生成该序列。如图 1 (d)所示,为了实现特定的车道检测格式,Lane2Seq 使用提示(prompt)来指定检测格式,并且生成的序列适应提示,这样模型就能产生特定格式的输出。通过特定格式提示,Lane2Seq 将不同的车道检测格式统一到一个模型中。

虽然 Lane2Seq 不包含特定任务组件,但这些组件中包含的特定任务知识可以帮助模型更好地学习车道特征。我们提出了一种基于强化学习的多格式模型调整方法(MFRL),在不改变模型架构的情况下将特定任务知识纳入模型。受任务奖励(Task-Reward)[30] 的启发,MFRL 将自然集成了特定任务知识的评价指标作为奖励,并使用 REINFORCE [41] 算法对 Lane2Seq 进行调整。然而,像 F1 分数这样的评价指标由于无法分解为每个实例的奖励总和,因此不能直接用作奖励。在本文中,我们根据任务的特定知识,为分割、锚点和参数格式提出了三种基于评价指标的新奖励。

实验结果表明,我们的 Lane2Seq 在 Tusimple、CULane 和 LLAMAS 这三个公共数据集上取得了具有竞争力的性能。例如,使用 ViT-Base 编码器的 Lane2Seq 在 Tusimple 和 LLAMAS 上分别获得了 97.95% 和 97.42% 的 F1 分数,为这两个数据集创造了新的最先进(state-ofthe-art)的结果。值得注意的是,所有现有的车道检测方法都严重依赖于精心设计的特定任务头部网络和相应的复杂损失函数。相反,我们的 Lane2Seq 采用的是基于简单变压器(transformer)的编码器-解码器架构和简单的交叉熵损失。

本文的主要贡献如下:

  • 我们提出了一种基于序列生成的车道检测方法,该方法将车道检测视为序列生成任务。据我们所知,我们是第一个通过序列生成来统一车道检测的方法,这为车道检测提供了一个新的视角。
  • 我们提出了一种新颖的基于强化学习的多格式模型调整方法,包括三种新的基于评价指标的奖励函数,以便将特定任务知识纳入模型。
  • 实验结果表明,我们的方法在车道检测基准上取得了具有竞争力的性能。值得注意的是,我们在 Tusimple 和 LLAMAS 上取得了一个新的最先进的结果。

 2. Related Work

Lane detection.  根据车道的表示方法,现有的车道检测方法可分为三类:基于分割的方法、基于锚点的方法和基于参数的方法。基于分割的方法 [28、47、49] 将车道检测视为一项语义分割任务,并执行逐像素预测。SCNN [28] 通过信息传递模块增强了视觉证据,可捕捉车道的空间依赖性。基于锚点的方法 [20,31,36,51] 通过完善预定义的车道锚点来预测准确的车道。UFLD [31] 提出了一种新颖的基于行锚的车道检测方法。与基于分割和基于锚点的方法不同,基于参数的方法 [13, 23, 37] 将车道检测视为参数建模,并对车道参数进行回归。PolyLaneNet [37] 将车道曲线建模为多项式,并回归多项式的参数。本文将基于分割的方法、基于锚点的方法和基于参数的方法统一视为序列生成任务,摒弃了复杂的结构和任务特定的模块,如头部网络。它只采用交叉熵损失和普通变换器(transformer)结构

Sequence generation for vision tasks.   最近,用于自然语言处理(NLP)的序列到序列(seq2seq)方法被应用于视觉任务。Seq2seq 利用基本的变压器(transformer)编码器和解码器架构,通过序列预测来完成任务,而不是设计一个专门针对视觉任务的模型。Pix2seq [8] 是将目标检测作为序列生成任务的开创性工作。它表明,无需任何特定任务模块(如标签分配),就能很好地检测出物体。除物体检测外,seq2seq 还被扩展到其他视觉任务,如实例分割 [9]、关键点检测 [9]、文本定位 [19,29] 和物体跟踪 [10]。UniTAB [45] 采用任务提示 [33] 来执行多任务学习。Unified-IO [25] 通过为所有任务设置统一的输入/输出格式来联合训练各种视觉任务。此外,seq2seq 在多模态模型中也越来越受欢迎。DALL-E [34] 等文本到图像模型和 Flamingo [2] 等视觉语言模型都使用 seq2seq 来统一多模态任务。然而,如何在车道检测中执行 seq2seq 以统一不同的检测格式仍有待探索。

Lane2Seq 与 Pix2seq 及其后续版本 [9, 10, 19, 29] 具有相似的思想。它们都将视觉任务视为序列生成。这些方法与 Lane2Seq 的主要区别在于序列格式。之前的研究使用坐标和类别来构建序列,而 Lane2Seq 还采用了车道参数来构建序列。

Reinforcement learning in the computer vision.  以前的许多研究都将强化学习引入了视觉任务,如物体检测 [27]、物体跟踪 [26]、图像分割 [21] 和车道检测 [48]。它们一般侧重于学习图像的不同部分,并迭代改进输出结果。DQLL [48] 将车道定位为一组车道标记,并通过深度 Q-learning 精化车道标记的位置。最近,Task Reward [30] 采用了一种新颖的基于任务风险的强化学习方法,在不改变模型架构的情况下调整视觉模型。任务奖励中的奖励函数是为物体检测、实例分割、着色和图像字幕设计的,但不适用于车道检测。我们的 MFRL 是首次尝试为不同的车道检测格式设计基于评估指标的有效奖励函数。

3. Method

在本节中,我们将详细介绍所提出的基于序列生成的车道检测方法,即 Lane2Seq。图 2 展示了 Lane2Seq 的整体流程。第 3.1 节描述了车道检测的统一界面,第 3.2 节详细介绍了模型架构和目标函数,第 3.3 节介绍了基于强化学习的多格式模型调整。

3.1. Unified Interface for Lane Detection

如图 1 所示,现有方法中的车道检测格式多种多样,其表述方式也大相径庭。考虑到输出形式的不同,我们针对不同的车道检测形式设计了具有专门头部网络和损失函数的定制模型。

为了将不同的车道检测格式整合到一个模型中,我们为车道检测提出了一个统一的序列接口,其中格式转录(如分割)和输出都被视为离散标记的序列。如图 2 所示,生成的序列由四个部分组成:起始标记 <starting>、格式转录标记(如 <Segmentation>)、特定于格式的序列和结束标记 <end>。三种检测格式的特定格式序列可构建如下:

  • Segmentation sequence.  我们不是按逐像素进行掩码预测,而是将与掩码对应的多边形 [5] 作为以给定车道实例为条件的坐标序列进行预测。然后,我们将多边形的点坐标量化为离散标记,从而将多边形转换为序列。具体来说,一个点的xy坐标归一化为图像的宽度和高度,然后量化为[1,\mathit{n_{bins}} ],其中\mathit{n_{bins}}词汇量的大小。词汇表将在后面介绍。多边形序列可以表示为[x_1,y_1,x_2,y_2,\dots ,x_{28},y_{28},<Lane>], 其中<Lane>是类别标记。如果图像中有多条车道,我们会将所有多边形序列连接起来。分割序列由起点和所有多边形序列组成,其中起点为图像的左顶点x_0=0,y_0=0
  • Anchor sequence.   由于基于锚点的方法的本质是回归车道锚点的关键点位置,因此我们将锚点预测视为关键点序列的生成。具体来说,车道的关键点序列可以表示为[x_1,y_1,x_2,y_2,\dots ,x_{14},y_{14},<Lane>]。关键点坐标的归一化和量化与多边形点的归一化和量化相同。锚点序列包含一个起点和所有关键点序列,其中起点仍然是图像的左顶点。
  • Parameter sequence.  车道序列包括两个部分:多项式函数参数和垂直偏移。我们设置多项式的度数为 5。具体来说,车道的参数序列可以表示为[a_1,a_2,a_3,a_4,a_5,s,<Lane>],其中s是垂直偏移量。s归一化为图像的高度,并量化为[1,n_{bins}]。我们使用 sigmoida_i进行归一化处理,即a_i=Sigmodi(a_i)。然后将a_i量化为[1,n_{bins}]。参数序列不需要起点。
  • Vocabulary.   我们对所有格式使用一个共享词汇表,[1,n_{bins}]之间的每个整数都可视为词汇表中的一个词。词汇表中的每个词都对应一个可学习的嵌入。

3.2. Unified Architecture and Objective Function

我们仿效文献 [10],采用基于变换器(transformer)的编码器和解码器结构,灵活处理图像输入和序列输出。如图 3 所示,图像编码器将像素作为输入,并输出相应的图像表示。我们利用视觉变换器(ViT)[11] 来实例化图像编码器。我们采用在语言建模中广泛使用的基于变换器(transformer)的序列解码器 [32, 33] 来生成输出序列。解码器每次根据前面的标记和图像表示生成一个标记。序列解码器可去除针对不同检测格式精心设计的特定任务头部。

Training Pipeline.   我们首先将每种格式的注释标记为相应的序列。然后,我们使用所有检测格式的图像和序列构建一个训练批次。最后,我们计算每种格式的生成序列与目标序列之间的损失。对于某种检测格式,输入序列为[<starting>,format\;transcription\;token, format\;specific\;sequence],目标序列为[format\;transcription\;token, format\;specific\;sequence,<end>]。例如,在锚格式中,输入序列是[<staring>,<Anchor>,x_0,y_0,x_1,y_1,\dots,<Lane>,<end>],目标序列是[<Anchor>,x_0,y_0,x_1,y_1,\dots,<Lane>,<end>]。起始标记<starting>和结束标记<end>是可学习的嵌入,它们告诉解码器何时开始和结束序列生成。序列解码器感知图像表示和输入序列,并重建目标序列。

Objective Function.  与 Pix2seq [8]类似,我们使用简单的交叉熵损失来训练 Lane2Seq。在每个时间戳j,Lane2Seq 的目标是在图像表示I和之前生成的标记y_{1:j-1}的条件下,最大化目标标记的相似度。

 其中,m\hat{m}分别表示输入序列和目标序列。N是序列的长度。w_j代表第j个标记的权重,格式转录标记(format transcription token)的权重为 0,其他标记的权重为 1,以确保训练的模型能预测所需的标记,而不是格式转录标记。

Inference Pipeline.  我们将格式转录标记(format transcription token)作为提示(prompt ),以实现特定格式检测,序列解码器根据提示和图像表示生成序列的其余部分。生成整个序列后,我们对序列进行去量化(de-quantization),以获得车道的位置。有关每种格式去量化的更多详情,请参阅补充材料。推理过程如图 2 所示。

3.3. Multi-Format Model Tuning Based on Reinforcement Learning

Lane2Seq 通过序列生成摆脱了复杂的特定任务组件,如特定任务的头部网络。然而,这种与任务无关的架构不可避免地缺乏车道检测的特定任务知识,使得模型在学习车道特征时效果不佳。现有的车道检测方法 [17, 49] 通常会设计特定的模块,将特定任务的知识纳入模型。但这种方法会使模型结构变得复杂。我们提出了一种基于强化学习的新型多格式模型调整方法(MFRL),可在不改变模型任何组件的情况下有效学习特定任务的知识。

受任务奖励法(Task-Reward)[30]的启发,MFRL 将自然包含特定任务知识的评价指标作为奖励函数,并采用强化学习方法来调整模型,这是现代语言模型的常见做法[4, 12]。具体来说,如果从头开始用强化学习方法训练模型,模型很难收敛[30]。因此,MFRL 包括两个阶段:预训练阶段和模型调整阶段。在预训练阶段,根据公式 1 中的目标函数在车道检测数据集上训练模型,以获得良好的权重初始化。

在模型调整阶段,我们使用 REINFORCE 算法[35]来最大化目标函数,如下所示:

其中,ctg分别代表输入图像、生成的特定格式序列和地面实况。E\mu表示数学期望和模型参数。RDQ分别代表奖励函数、数据集的数据分布和以\mu为参数的条件分布。 REINFORCE算法通过以下方式估计奖励函数的梯度:

在实践中,公式 3 被计算为每个序列梯度的平均值,并且每序列的奖励函数并不需要是可微分的。有关 REINFORCE 算法的更多详情,请参阅补充材料。 

 Reward Function.   评价指标 F1 分数和准确率无法直接作为奖励,因为它们无法分解为每个序列奖励的总和(见第 4.2 节)。不过,F1 分数或准确率由假阳性(FP)、真阳性(TP)和假阴性(FN)组成。这三个指标都可以按序列计算。我们选择使用 TP 和 FP 来设计奖励。具体来说,三种检测形式的奖励构建如下。

  • Reward for the segmentation format (termed as R_{seg}).  基于分割的车道检测包括两个特定任务知识,即分割知识和车道检测知识。在车道检测知识方面,我们采用了匹配的线性 IOU(LIOU)[50],它可以证明车道位置预测和形状预测的质量。在分割知识方面,我们采用了匹配的平均交并比(mIOU)作为奖励,这是语义分割中广泛使用的评价分割质量的指标。最后,我们将两者相加来计算r_{seg},如下所示:

    其中Kp_k分别代表t中的真阳性数量和第k个真阳性。FP_{seg}是分割格式的假阳性率(误报率),\lambda_1是控制FP_{seg}影响的权重。我们引入FP_{seg}来惩罚假阳性。
  • Reward for the anchor format (termed as R_a).   基于锚点的车道检测包含关键点定位知识和车道检测知识。对于关键点定位知识,我们只需采用真阳性与相应地面真值之间的匹配欧氏距离d(p_k,g)作为奖励。由于 MFRL 需要使奖励最大化,因此我们将奖励调整为d_r(p_k,g)=1-\frac{d(p_k,g)}{H},其中H是图像的高度。对于车道检测知识,我们也使用匹配的 LIOU 作为奖励。r_a的计算公式为:

    其中,FP_a\lambda_2分别代表锚点格式的假阳性率(误报率)和FP_a的权重。
  • Reward for the parameter format (termed as R_p).   基于参数的检测只有车道检测的知识,因此我们直接使用匹配的 LIOU 作为奖励。

    其中 FP_p\lambda_3分别代表参数格式的假阳性率(误报率)和FP_p的权重。

由于不同的检测格式有不同的贡献,我们对不同格式的目标函数进行加权。MFRL 的最终目标函数可计算为:

 其中,Obj_{seg}Obj_{a}Obj_{p}分别表示分割、锚点和参数格式的目标函数。三种格式的目标函数与公式2相同。\lambda_4\lambda_5\lambda_6是比例因子。

4. Experiments

4.1. Datasets

我们在三个车道检测基准上进行了实验: CULane [28]、Tusimple [1] 和 LLAMAS [3]。

CULane 是一个广泛用于车道检测的大规模数据集。它包含很多具有挑战性的场景,如拥挤的道路。CULane 数据集包含 88.9K 幅训练图像、9.7K 幅验证集图像和 34.7K 幅测试图像。图像大小为 1640×590。

Tusimple 是一个真实的高速公路数据集,由 3626 幅训练图像和 2782 幅测试图像组成。所有图像的像素均为 1280×720。

LLAMAS 是最近发布的大规模车道检测数据集,包含 10 多万张图像。所有车道标记都标注了高精度地图。图像大小为 1280×717。

4.2. Evaluation Metrics

对于 CULane 和 LLAMAS 数据集,我们采用 F1 分数来衡量性能: F_1=\frac{2 \times \text { Precision } \times \text { Recall }}{\text { Precision }+ \text { Recall }},其中Precision=\frac{TP}{TP+FP}Recall=\frac{TP}{TP+FN}

对于 Tusimple 数据集,我们使用 F1 分数、准确率、假阳性和假阴性来评估模型性能。准确度的定义是:\text { Accuracy }=\frac{\sum_{\text {clip }} C_{\text {clip }}}{\sum_{\text {clip }} S_{\text {clip }}},其中C_{clip}代表准确预测的车道点数量,S_{clip}代表一个片段的车道点总数。如果车道点的距离小于给定的阈值t_{pc}=\frac{20}{cos(a_{yl})},则认为该车道点是正确的,其中 a_{yl}表示相应地面实况的角度。

4.3. Implementation Details

Model.   我们采用使用MAE [16]预训练参数初始化的ViT-Base作为图像编码器。补丁(patch )大小为 16×16。解码器由 2 个变压器块(transformer blocks)组成,其隐藏(hidden )大小为 256。注意力头的数量为 8,前馈网络的隐藏大小为 1024,\mathit{n_{bins}}设置为 1000,词汇的单词嵌入维度为 256。\lambda_1\lambda_2\lambda_3\lambda_4\lambda_5\lambda_6分别设置为 0.3、0.3、0.1、0.2、1 和 1.5。

Training.  所有输入图像的大小均调整为 320×800。我们使用 AdamW [24] 作为优化器,初始学习率为 1e-4。对于 CULane、Tusimple 和 LLAMAS,预训练阶段的训练epoch数分别为 5、20 和 15。我们将CULane、Tusimple和LLAMAS的模型调整阶段的训练epoch分别设置为15、30和55。在数据增强方面,我们使用了随机水平翻转和随机仿射变换,包括缩放、旋转和平移。所有实验均在 8 个 A100 GPU 上进行,总批次大小为 384。

4.4. Comparison with the State-of-the-art Methods

Performance on LLAMAS.   我们的 Lane2Seq 在使用分割格式的 LLAMAS 数据集上取得了新的一流性能。在表 2 中,与之前最先进的方法 CLRNet 相比,Lane2Seq 将 F1 分数从 97.16% 提高到了 97.42%。与基于参数的最先进方法 BezierLaneNet 相比,Lane2Seq 的性能比 BezierLaneNet 更好(96.74% 对 96.11%)。结果显示了 Lane2Seq 在高速公路等多车道场景(车道数≥ 5)中的检测优势。原因可能是基于变压器(transformer)的架构在捕捉长距离依赖性方面具有优势。

Performance on Tusimple.    表 3 列出了在 Tusimple 上与最先进方法的性能比较。由于数据规模小、场景单一,不同模型之间的性能差距很小。我们的 Lane2Seq 采用分割格式,创造了 97.95% 的最新 F1 分数。结果还验证了 Lane2Seq 在多车道场景下的检测优势。

Performance on CULane.    我们将 Lane2Seq 与 CULane 上的其他先进方法进行了比较,结果如表 1 所示。在基于分割的方法中,与之前最先进的 AtrousFormer 方法相比,Lane2Seq 将 F1 分数从 78.08% 提高到 79.64%。与基于锚点的方法相比,Lane2Seq 优于之前的大多数方法。例如,与现有的基于行锚的方法(如 CondLaneNet)相比,Lane2Seq 的性能更好(79.27% 对 78.74%)。此外,与 CLRNet 相比,Lane2Seq 的性能也很有竞争力(79.27% 对 79.73%)。造成 CLRNet 和 Lane2Seq 性能差距的原因之一可能是 CLRNet 采用了多尺度检测,可以显著提高检测性能,而 Lane2Seq 只采用了单尺度检测的普通变换器(transformer)架构。在基于参数的方法比较中,Lane2Seq 超越了现有的基于变换器(transformer)的方法。例如,与 LSTR 相比,Lane2Seq 将 F1 分数从 64.00% 显著提高到 78.39%,比 Laneformer 高出 1.33%(78.39% 对 77.06%)。但 Lane2Seq 排名第二,仅次于 BSNet。

基于上述结果和分析,我们可以得出结论:通过序列生成的统一车道检测,无需任何精心设计的特定任务组件,结合我们基于强化学习的多格式模型调整,就能实现有希望的性能。

Qualitative Results.   我们在图 4 中显示了定性结果。结果表明,Lane2Seq 可以有效检测多车道场景中的车道(见图 4 (a) 和 (c))。即使是在夜景中,Lane2Seq 也能成功区分车道(见图 4 (b))。

4.5. Ablation Study

我们在 CULane 数据集上进行了消融实验,以验证每个组件的有效性。更多消融研究见补充材料。

Multi-Format Model Tuning Based on Reinforcement Learning.    我们首先分析了所提出的基于强化学习的多格式模型调整(MFRL)的有效性。如表 4 所示,MFRL 显著提高了不同检测格式的性能。对于分割格式,MFRL 使 F1 分数提高了 15.37%(79.64% 对 64.27%)。对于锚点和参数格式,MFRL 的 F1 分数分别提高了 13.04%(79.27% 对 66.23%)和 10.25%(78.39% 对 68.14%)。性能提高的原因可归结为两个方面:(1)Vanilla Lane2Seq 是一种与任务无关的架构,缺乏特定任务的知识,导致车道特征学习效果不佳。MFRL 采用基于车道先验信息(如角度)设计的评价指标作为调整模型的奖励,从而解决了这一问题。(2) MFRL 使模型的预测符合其预期用途,即如何实现高性能。优化损失函数是计算视觉的常见做法。然而,这种方法间接地优化了模型的预期用途,因为损失越低并不意味着性能越高。相反,MFRL 将评价指标的最大化视为优化目标,它与模型性能呈正相关。

Effectiveness of Reward Function of Different Formats.  我们分析了不同格式奖励函数的有效性,结果如表 5 所示。可以看出,我们的奖励函数可以带来持续的性能提升。但是,我们也可以看到,如果不对相应的奖励进行优化,性能也不会提高。此外,我们还可以发现多奖励优化比单奖励优化能取得更好的效果。原因可能是多奖励优化使模型能够学习不同检测格式之间的相关性,并提供更多的监督信号。

Comparison with other Multi-Task Methods.  统一不同检测格式的另一种方法是在一个模型中使用不同的检测头。YOLOP [42] 就是这种方法的代表作。我们将 YOLOP 的检测头分别替换为基于锚点的检测头、基于分割的检测头和基于参数的检测头。YOLOP 的基于分割的损失、基于锚的损失、基于参数的损失与 SCNN [28]、LaneATT [36] 和 PolyLaneNet [37] 中的相同。从表 6 中可以看出,在所有检测格式中,Lane2Seq 都超过了 YOLOP。值得注意的是,YOLOP 包含检测头和损失函数等特定任务模块,而 Lane2Seq 则不包含。结果表明,序列生成与 MFRL 相结合是一种更简单有效的统一车道检测方法。

Ablation Study on the Scale Factor of Different Objective Functions.  限于篇幅,我们以分割格式为例,介绍 MFRL 中不同目标函数的比例因子的影响。其他两种格式的结果见补充材料。如表 7 所示,给不同的目标函数分配相同的系数会导致性能下降,这表明不同的检测格式有不同的贡献。我们根据模型性能将\lambda_4\lambda_5\lambda_6分别设为0.2、1和1.5。

5. Conclusion

本文提出了一种新颖的基于序列生成的车道检测框架,即 Lane2Seq,以统一车道检测,它将车道检测视为序列生成任务。Lane2Seq 摆脱了复杂的特定任务模块,采用了简单的基于变换器(transformer)的编码器和解码器架构。为了纳入特定任务知识,我们采用了基于强化学习的多格式模型调整(MFRL)。广泛的实验表明,Lane2Seq 是有效的,与最先进的方法相比,它取得了具有竞争力的结果。

Limitation.   Lane2Seq 的一个主要局限是,序列生成模型对于长序列(主要是推理)而言成本较高。尽管 Lane2Seq 在多车道场景下具有很强的检测能力,但当图像中车道超过 5 条时,其推理速度较低。因此,需要在今后的工作中加快其速度,以适应实时车道检测应用。另一个局限是 MFRL 目前只能应用于基于序列生成的模型。我们正在将 MFRL 应用于其他视觉模型。

Appendix

A. De-quantization for different formats

不同的检测格式需要特定的去量化方案才能获得最终预测结果。下文将详细介绍每种检测格式的去量化方法。

De-quantization for the segmentation format.   我们对每个多边形对应的坐标标记进行去量化,然后将其转换为掩码。具体来说,给定 xy坐标,其去量化过程可以用x=\frac{x}{n_{\text {bins }}} \times \text { Wid, } y=\frac{y}{n_{\text {bins }}} \times H e i表示,其中WidHei分别代表图像的宽度和高度。

De-quantization for the anchor format.     我们直接对关键点的图像坐标标记进行去量化,其去量化过程与多边形的去量化过程相同。

De-quantization for the parameter format.    我们对每个参数序列对应的参数标记和垂直偏移进行去量化。参数标记的去量化可以用a_{i}=\frac{a_{i}}{n_{h i n s}} \times \text { desigmoid }\left(a_{i}\right)来表示,其中 desigmoidsigmoid的反函数。垂直偏移的去量化为s=\frac{s}{n_{\text {bins }}} \times H e i

B. REINFORCE algorithm

REINFORCE 算法[41]是强化学习中一种广泛使用的最大化奖励函数的方法。给定输入图像c,REINFORCE 算法会估算出奖励函数的梯度,如下所示:

其中,tg分别代表生成的特定格式序列和地面实况。E\mu表示数学期望和模型参数。RDQ分别代表奖励函数、数据集的数据分布和以\mu为参数的条件分布。为了减小梯度估计的方差,REINFORCE 算法通常会从奖励函数中减去一个基线值b。如图 5 所示,REINFORCE 算法首先从一张训练图像中提取两个输出,一个用于估计梯度,另一个用于计算基线值。REINFORCE 算法的流程是:(1) 从一张输入图像中提取两个输出。(2) 计算奖励函数 R_{gradient }R_{baseline},其公式与R相同,最终奖励r的计算公式为r = R_{gradient} - R_{baseline}。(3) 根据公式 8 和r估算梯度。

C. Additional ablation studies

我们对超参数进行额外的消融实验。如果没有指定,我们仍在 CULane 数据集上进行实验。

The size of vocabulary.   我们首先消除词汇量 \mathit{n_{bins}}大小的影响,结果如图 6 所示。我们采用分割格式进行实验。增加词汇量 \mathit{n_{bins}}的大小可以提高模型的性能,因为量化误差会相应减小。当 \mathit{n_{bins}}大于 1000 时,性能会下降,因此我们将 \mathit{n_{bins}}设为 1000。

Additional ablation Study on the Scale Factor of Different Objective Functions.  我们分析了锚点和参数格式的不同目标函数对比例因子的影响。结果见表 8 和表 9。可以看出,当 \lambda_4\lambda_5\lambda_6分别为 0.2、1 和 1.5 时,模型的性能最佳。

Ablation study on the weight of false positives of segmentation format.  在表 10 中,我们消除了分割格式误报(假阳性)权重 \lambda_1的影响。当 \lambda_1增加时,性能会提高,这表明引入误报惩罚是有益的。然而,当 \lambda_1大于 0.3 时,性能会下降,因此我们将 \lambda_1设为 0.3。

Ablation study on the weight of false positives of anchor format.  我们消除了锚点格式误报(假阳性)权重 \lambda_2的影响,结果如表 11 所示。与分割格式的性能趋势类似,锚点格式的模型性能也随着 \lambda_2的增大而提高。我们根据模型性能将 \lambda_2设为 0.3。

Ablation study on the weight of false positives of parameter format.   我们进一步消除参数格式误报权重 \lambda_3的影响,结果如表 12 所示。可以看出,参数格式的误报(假阳性)权重不能太大。根据模型性能,我们将 \lambda_3设为 0.1。

图1.不同车道检测框架的比较。

图 2. Lane2Seq 的推理流水线。该模型可感知输入图像、提示并生成特定格式的标记,这些标记可解码为可视化所需的检测格式。

 图 3. Lane2Seq 的训练流程。输入序列可以是分割序列、锚序列或参数序列。

 图 4. LaneATT、CLRNet 和 Lane2Seq 在 Tusimple、CULane 和 LLAMAS 上的可视化结果。

 图 5. REINFORCE 算法示意图。

图 6. 词汇量大小的影响。 

表 

表 1. CULane 测试集的 F1 分数和 MACs(乘积运算)比较。根据文献[50],我们只报告了 "交叉Cross "类别的误报率。

表 2. 不同模型在 LLAMAS 上的性能比较。 

 表 3. 不同模型在 Tusimple 上的性能比较。Acc 表示准确率。

 表 4. 基于强化学习的多格式模型调整消融研究。

 表 5. 不同奖励函数的消融研究。采用 F1 分数作为指标。

 表 6. Lane2Seq 与 YOLOP 的比较。

 表 7. 不同比例系数的烧蚀研究

表 8. 锚定格式不同比例系数的烧蚀研究。 

表 9. 参数格式不同比例系数的烧蚀研究。 

表 10. 关于分割格式误判(假阳性)权重的消融研究。 

 表11.锚格式误判(假阳性)权重的消融研究。

 表12.参数格式误判(假阳性)权重的消融研究。

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值