在视频车道线检测中,连续帧之间存在丰富的时序上下文,这在现有的车道线检测器中没有被充分利用。
在本工作中,作者提出了一种称为LaneTCA的方法,以将单个视频帧进行连接并探索如何有效地聚合时序上下文。技术上,作者开发了一个累积注意力模块和一个相邻注意力模块,分别抽象长短时时序上下文。
累积注意力模块在车辆的行驶过程中不断累积视觉信息,而相邻注意力模块将从上一帧传递车道信息到当前帧。这两个模块是基于Transformer结构精心设计的。
最后,将这些长短时上下文特征与当前帧特征进行融合,以预测当前帧中的车道线。在两个主要的基准数据集上进行了大量的定量和定性实验。
结果表明,作者的方法的有效性,实现了几个新的最先进记录。
代码和模型可以在https://github.com/Alex-1337/LaneTCA上找到。
I Introduction
车道线检测对自动驾驶至关重要,因为它能识别车道边界,并有助于确定安全的行驶路线 。安装在车辆上的摄像头捕捉到的RGB图像提供了多种前向车道线和其他有用的驾驶信息 。近年来,随着各种方法的出现 ,车道线检测取得了显著进展。然而,这项任务面临各种挑战,包括中断的车道标记、由车辆或行人引起的遮挡,以及如眩光或夜间条件等环境问题。
早期的车道线检测方法基于图像,通常使用边缘分解和霍夫变换等基于参数空间的技术 。然而,这些方法在复杂场景中的适应性有限,且严重依赖于参数设置。近年来,基于深度学习的方法 成为了一种有前景的替代解决方案,取得了显著的成果。一些方法关注分割 ,学习每个位置的特征向量来界定每个车道标记。与基于分割的方法不同,基于 Anchor 点的车道线检测方法将车道线作为一个整体来检测,从而减轻遮挡引起的检测误差。此外,曲线方法对车道线检测任务做出了贡献,只需预测曲线参数就能得到车道线。尽管图像方法的检测效果良好,但它们忽略了视频序列中帧与帧之间的连续性,这为自动驾驶场景下的车道线检测提供了额外的有价值信息,如下所述。
图1:现有视频车道线检测方法的比较:
(a) MMA-Net [1],需要图像及检测结果的多帧,
(b) TGC-Net,需要图像的多帧,
(c) RVLD [2],需要当前图像及检测结果的前一帧,
以及作者的 Proposal 的 LaneTCA,需要当前帧It、相邻特征fAD和累积特征fAC。LaneTCA只需要当前帧的视觉信息,同时考虑不同时间段的
视频车道线检测利用历史帧序列的信息,扩展了单帧车道线检测方法,以容纳更设计网络,以便更好地整合历史信息,从而在当前帧上实现更精确的检测结果。图1说明了现有视频车道线检测断层线的比较。如图1(a)所示,方法如MMA-Net[1]提供了丰富的参考信息,需要多个历史帧及其相应的车道线屏蔽作为输入,以进行每个检测帧的预测。然而,此类方法需要每帧复杂的视觉信息。这将导致一个问题,即如果历史帧的预测错误,它们将直接影响当前帧的预测。有些方法,如TGC-Net[31]所示,需要输入固定数量的多帧图像(多帧图像)以进行信息融合。它们不需要前帧的检测结果作为输入。然而,固定的帧数设置限制了参考的时间跨度。
相比之下,上述需要多帧图像的方法,最新的方法是RVLD2,利用了变形的机制,只需要预测前帧作为历史信息来达到最先进的结果。然而,这种方法可能不适合长期信息利用。结论可以明显看出,视频任务的核心在于如何更好地整合多帧信息或将前帧的信息转换为当前帧的结果。然而,许多这些方法面临诸如复杂输入或缺乏利用历史信息的问题。
为了解决前面提到的这些问题,作者提出了一个具有时间上下文聚合网络的新的视频车道线检测方法,即LaneTCA。如图1(d)所示,它可以直接利用前帧作为直接的历史信息,同时参考所有先前的帧来提供更全面的时间上下文历史背景。具体而言,作者的方法包括一个时间上下文聚合网络,用于更新历史信息,包括相邻注意力和累积注意力机制。相邻注意力从前一帧中利用高度相关性信息,而累积注意力则从视频的开始连续学习道路信息并在累积所有道路特征,从第一个帧开始。因此,累积注意力结构在仅输入一个 Query 时自然地提供长的时间跨度参考信息。在获得上述短期和长期特征之后,LaneTCA将它们与直接从当前帧获得的初始特征直接集成。优化后的特征然后解码以产生最终的车道线标记。
为了验证作者的LaneTCA,作者在一些普遍的挑战性基准数据集上进行了大量的实验。定量和定性结果展示了作者方法的有效性。作者方法的主要贡献如下:
作者提出了 LaneTCA,这是一个用于视频车道线检测的新颖框架,具有有效的时序上下文聚合。
作者引入了累积和相邻注意力模块,用于处理长时和短时时序信息。这种方法打破了固定帧的局限性,超越了之前的多帧方法。
作者在流行的基准数据集上进行了广泛的实验。实验结果证明了其有效性和优越性能。
II Related Work
车道线检测任务可分为两大主要领域,即基于图像的车道线检测和基于视频的车道线检测。在接下来的一节中,作者首先简要概括了这两种类别的历史发展,然后简要概括了注意机制的历史发展。
Image Lane Detection
根据车道线的表示,图像车道线检测任务可以分为三类:基于分割的方法,基于 Anchor 点的方法和基于曲线的基于方法。接下来,作者将简要介绍一下这些类别的演化历史。
基于分割的方法对车道线进行像素级分割。SCNN [21] 使用切片式卷积在水平方向和垂直方向上传递特征图信息并实现全局特征聚合,但实时检测速度较慢。为了解决这个问题,RESA [23] 通过递归特征位移显著提高了速度和性能。CurveLane-NAS [24] 通过考虑车道线的形状变化和从车道线远近两端的端点信息的重要性,显着提高了性能。但NAS的应用需要大量的计算资源,因此整个系统的优化过程耗时较长。
基于 Anchor 点的方法可以进一步分为基于线 Anchor 点的方法和基于行 Anchor 点的方法。第一种基于线 Anchor 点的方法是Line-CNN [13],它利用线 Proposal 检测车道线。另一种基于线 Anchor 点的方法是LaneATT [25],它利用注意力机制在多个数据集上实现高性能和快速速度。CLRNet [26] 采用低 Level 和高 Level 特征的融合来实现突破性的结果。与基于行 Anchor 点的方法不同,它通过预测图像每一行中的单元格位置来确定点的位置。UFLD [27] 引入了一种混合 Anchor 点系统,使用行和列 Anchor 点,而CondLaneNet [28] 采用条件形状头预测车道的行别位置。点采样方法的潜在缺点是依赖于NMS [32]后处理。
基于曲线检测的车道线检测方法将车道呈现为具有参数的曲线,从而通过仅对这些参数进行回归实现高速检测。例如,PolyLaneNet [22] 使用三次多项式来代表车道,以实现简洁高效。LSTR [29] 利用transformer [33] 引入全局信息以提高准确率,并考虑道路结构和相机姿态作为参数。BezierLaneNet [30] 用经典的立方贝塞尔曲线 [34,35] 替代多项式,在复杂驾驶场景中表现出高水平稳定性和灵活性,从而实现高效的性能。
Video Lane Detection
近年来,基于视频的车道线检测方法的发展已取得了显著进展。早期的技术,如卷积LSTM [36]和卷积GRUs [37],利用循环神经网络将当前帧与前几帧的特征进行结合,有效地利用了时间相关性。例如,MMA-Net [1],该方法利用了第一视频车道数据集VIL-100,引入了一种基于注意力的车道线检测框架。这种方法将当前帧与几个连续帧的特征进行聚合,以提高车道识别的准确性。同样,LaneATT-T [38]使用线 Anchor 定点检测器提取多帧车道特征,而TGC-Net [31]通过延长RESA的特征聚合模块,在相邻帧之间提取空间和时间信息,从而实现这种方法。TGC-Net [31] 还有一个专门的损失函数,以确保检测出的车道的几何一致性。
早期的方法通常会聚合多个过去帧的特征。相比之下,最新最先进的方法RVLD [2]提出了一个新颖的递归方法,该方法保留了一个单向前帧的信息,使时间信息的有效传播成为可能。这种方法通过保持时间和信息的一致性,使每帧都能更精确地提取车道特征。
与先前的方法不同,作者提出的LaneTCA并不依赖于固定数量的历史帧,而且可以在后续帧预测中有效地利用先前的信息。与需要长期历史信息的方法不同,作者的LaneTCA不需要每次输入整张图像的多帧,而仍然能够整合短期和长期的时间段信息。此外,与RVLD [2] 不同,LaneTCA汇集了更多的扩展历史信息。
Attention Mechanism
近年来,注意力机制已经成为深度学习领域的重要 Pillar 。在自然语言处理领域,Transformer[33]架构在各种下游任务上表现出色,很大程度上归功于其注意力机制。Transformer的核心是多头自注意力组件,通过线性投影和矩阵乘法,对一序列嵌入向量进行处理,来模拟他们之间的依赖关系。这种机制使得网络能够有效地捕捉序列元素之间的关系,从而提高对关键嵌入的关注度。受NLP中注意力机制的成功启发,Vision Transformer[39]将Transformer模型引入视觉领域,证明了其在这种语境下的有效性。自此后,注意力机制在许多计算机视觉任务中得到了广泛应用,如目标检测DETR[40]和视频实例分割VisTR[41]等。Transformer内的注意力机制已经取得了显著的成功,并成为一种具有竞争力的框架,与卷积网络在各种任务上相竞争[39, 40, 41, 42]。
III Methodology
在本节中,作者将依次介绍所提出的LaneTCA架构、初始化设置和训练目标。
Architecture of LaneTCA
图2说明了作者提出的LaneTCA架构。在当前图像和时间信息的基础上,作者的方法使用backbone网络从当前图像中提取特征,得到初始特征
。然后,利用历史帧中的时间信息,对特征
进行优化,得到优化特征
,从而增强当前帧的特征表示。为了得到车道线,对优化后的特征
进行处理,采用eigenlanes[43]中的方法。首先进行两个解码步骤,得到一个概率图和一个参数图,然后应用非最大抑制(NMS)作为后处理步骤,提取车道线。优化后的特征提供
和
给当前帧,而累积通道的输出继续作为
。
图3显示了时间上下文聚合网络的结构。总体而言,该网络处理输入的初始特征
和时间信息。然后,应用自注意、相邻注意和累积注意,分别从先前帧和所有历史帧中获得帧表示。接着,将这些表示与当前帧的初始特征
聚合,得到最终的优化特征
。
作者将LaneTCA核心部分划分为以下模块:(a) 当前注意,(b) 相邻注意,(c) 累积注意,(d) 时间更新。每个模块将在后续小节中详细描述。
当前注意。
首先,来自编码器的特征
作为初始特征输入到时间上下文聚合网络。然后,应用自注意,得到
。接着,特征
通过线性变换
进行变换,得到 Query
用于当前帧。
相邻注意力。
车道标记通常在形态和结构上不会突然变化,因此相邻帧之间的车道轮廓相似。因此,短时间范围内内的信息对于视频车道线检测任务是有利的。基于这个考虑,作者设计了一个相邻注意力模块,利用前一帧的信息作为短期记忆,从而增强当前帧的特征提取。
作者的相邻注意力模块使用前帧优化获得的最终特征进行更新。如图4(a)所示,实现方法是将当前帧的
与前一帧的
和
进行组合作为参考。方法如下:
其中
为相邻注意力的输出。
累积注意力。
在车辆操作过程中,连续帧之间的车道线往往相似。然而,由于车道标记的不连续性和由其他车辆或道路障碍造成的遮挡,相邻图像有时可能显著不同。考虑到这些因素,作者认为多个连续帧的信息可以互相补充。参考历史多帧信息可能比只考虑前一帧更有效。为了包含更长的时序信息,作者设计了一个累积注意力。
累积注意力模块如图4(b)所示,实现了一个可学习的 Query
,该 Query 在视频的开始(即第一帧)时通过零初始化实现。通过这些迭代更新,这个 Query 实际上包含了所有历史信息。累积特征可以通过注意力运算得到:
其中
是累积注意力块的输出。
时间更新。
相邻特征
通过相邻注意力获得,而全球累积特征
通过累积注意力获得。这些特征与包含当前帧信息的特征
相结合,形成优化的特征
。
优化后的特征通过额外的映射函数进行处理,得到更新的
,并将
作为
传递给当前帧。操作如下: