论文阅读笔记-A Keypoint-based Global Association Network for Lane Detection

A Keypoint-based Global Association Network for Lane Detection

基于关键点的全局车道检测网络

GitHub

Abstract

车道检测是一项具有挑战性的任务,需要预测车道线的复杂拓扑形状,并同时区分不同类型的车道。较早的作品遵循自上而下的路线图,以将预定义的锚点回归各种车道线的形状,由于固定的锚形状,由于固定锚的形状而缺乏足够的灵活性来适合复杂的车道形状。最近,一些作品建议将车道检测作为关键点估计问题,以更灵活地描述车道线的形状,并逐渐以尖端的方式分组属于同一车道线的相邻关键点,这是效率效率且在后期过程中的时间效率, 。在本文中,我们提出了一个全局关联网络(GANet),以从新的角度从新角度提出车道检测问题,其中每个关键点都直接回归到车道线的起点,而不是逐点扩展。具体而言,通过将其偏移到全球泳道的相应起点而无需彼此依赖的情况下,可以通过预测其偏移来进行关键点与其属于其属于车道线的关联,这可以并行地提高效率。此外,我们进一步提出了一个巷道特征聚合器(LFA),该特征聚合器可适应地捕获相邻关键点之间的局部相关性,以将本地信息补充到全球关联。在两个流行的车道检测基准上进行的广泛实验表明,我们的方法的表现优于先前的 Culane F1 得分为79.63%的方法,而 Tusimple 数据集的 F1 分数为 97.71% ,而 FPS 高。

1. Introduction

给定安装在车辆上的摄像头拍摄的前视图像,车道检测旨在生成道路上每条车道线的准确形状。由于车道线的细长形状和实例级别区分的需要,适当地制定车道检测任务至关重要。受基于锚的对象检测方法 [22] 的启发,一些作品 [10, 25] 遵循自上而下的设计,如图 1a 所示。与目标检测类似,一组具有不同方向的直线被定义为锚点。通过预测锚点和车道点之间的偏移量,将锚点上的点回归到车道线。之后,应用非最大抑制 (NMS) 来选择置信度最高的车道线。虽然这种方法在车道识别方面很有效,但由于预定义的锚点形状,它不灵活。强形状先验限制了描述各种车道形状的能力,导致这些方法的性能次优。

为了灵活描述复杂形状的车道线,Qu 等. [21] 提出将车道检测表述为关键点估计和关联问题,采用自下而上的设计,如图 1b 所示。具体来说,车道用一组以稀疏方式均匀采样的有序关键点表示。每个关键点通过估计它们之间的空间偏移量与其邻居相关联。这样,属于同一车道的关键点被迭代地整合成一条连续的曲线。尽管基于关键点的方法在车道线的形状上很灵活,但在每一步仅将一个关键点与其所属的车道线相关联是低效且耗时的。此外,关键点的逐点扩展由于缺乏全局视图而容易造成误差累积。一旦错误地关联了一个特定的关键点,车道线其余部分的估计就会失败。

为了克服上述限制,我们从一个新的基于关键点的角度制定车道检测问题,其中每个关键点直接回归到其所属的车道,在此基础上提出了一种名为全球关联网络(GANet)的新型管道。如图 1c 所示,每条车道线都以其起点唯一地表示,这很容易确定,没有歧义。为了正确关联关键点,我们估计从关键点到其相应起点的偏移量。近似起点落入同一邻域的关键点将被分配到同一车道线实例,从而将关键点分成不同的组。与之前基于关键点的方法[21]不同,我们将关键点分配给它们所属的车道是相互独立的,使得并行实现变得可行,这极大地提高了后处理的效率。此外,由于每个关键点都拥有全局视图,因此关键点关联对累积的单点误差更加稳健。

虽然属于同一车道线的关键点在后处理过程中被整合,但重要的是确保相邻点之间的相关性以获得连续曲线。为此,我们开发了一个名为 Lane-aware Feature Aggregator (LFA) 的局部信息聚合模块,以增强相邻关键点之间的相关性。为了适应车道的细长形状,我们通过预测到相邻点的偏移量来修改标准二维可变形卷积[3]的采样位置,以便每次在车道上的局部区域内进行采样。这样,每个关键点的特征与其他相邻点进行聚合,从而获得更具代表性的特征。我们进一步添加了一个辅助损失,以方便估计在每个关键点上预测的偏移量。我们的 LFA 模块补充了全局关联过程,以启用局部和全局视图,这对于车道检测等密集标记任务至关重要。

2.1. Lane Detection Methods

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

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

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

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

2.2. Deformable Modeling

由于固定的网格——卷积操作的采样范围,传统的 CNN 本质上仅限于对不规则结构进行建模。为了克服这一限制,Dai 等人。 [3] 提出了可变形卷积来自适应地聚合局部区域内的信息。与标准卷积相比,在采样过程中在每个空间位置添加了额外卷积获得的 2D 偏移,以实现采样网格的自由形式变形。通过学习到的偏移量,卷积的感受野和采样位置根据物体的随机尺度和形状进行自适应调整。可变形建模的精神已应用于许多任务,例如对象检测 [30, 34]、对象跟踪 [33] 和视频理解 [2, 29, 31]。 RepPoints [30] 将对象建模为一组点,并使用可变形卷积预测这些点到对象中心的偏移量。这种可变形的对象表示为对象检测和自适应语义特征提取提供了准确的几何定位。英等人。 [31]提出可变形3D卷积来探索时空信息并实现视频超分辨率的自适应运动理解。与这些方法不同,我们的 LFA 模块适应车道线的长结构,并通过车道感知可变形卷积将特征聚合范围限制在每条车道上的相邻点。

3. Method

image

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

3.1. Global Keypoint Association 全局关键点关联(GA)

3.1.1 Keypoint Estimation 关键点估计

给定输入图像 \(I \in \mathbb{R} ^{H×W ×3}\),我们的 GANet 的目标是预测车道集合 \(L = {l_1, l_2, ..., l _N }\),其中 \(N\) 是车道总数,其中每条车道线用 \(K\) 个采样关键点表示为:$$l_i = \lbrace p^1 _i , p^2_i , ..., p^K _i \rbrace^N _{i=1},\tag{1}$$其中 \(p ^j _i = (x ^j _i , y ^j _i)\) 表示第 i 个车道上第 j 个关键点的坐标。为了估计所有的关键点,我们开发了一个关键点头来生成一个置信度图 \(\hat{Y} \in \mathbb{R} ^{ \frac{H}{r} ×\frac{W}{r} }\) ,其中 r 是输出步幅。置信度图表示每个位置成为车道上关键点的概率。如图 2(a) 所示,较亮的位置表示概率较高。

在训练阶段,我们在每条车道线上采样 K 个关键点作为 ground truth 关键点,然后使用非归一化高斯核 \(Y _{yx} = \exp(− \frac{(x− \tilde{x})^2+(y−\tilde{y})^2} {2σ^2} )\) 将它们全部分布到置信度图 \(\hat{Y} \in \mathbb{R} ^{ \frac{H}{r} ×\frac{W}{r} }\) ,其中 \(\tilde{x}\)\(\tilde{y}\) 表示每个关键点的坐标,标准差 \(σ\) 取决于输入的规模。如果两个高斯图之间有重叠,我们取它们之间的元素最大值。

我们采用惩罚-减少焦点损失[13]来处理关键点区域和非关键点区域之间的不平衡,如下所示:

\[\begin{equation} \mathcal{L} _{point} = \frac{−1} {H^′ × W^′} \sum _{yx}\begin{cases} (1 −\hat{Y} _{yx}) ^α \log(\hat{Y} _{yx})) & \hat{Y} _{yx} = 1 \\ (1 − Y _{yx}) ^β \hat{Y} ^α _{yx} \log(1 − \hat{Y} _{yx})) & otherwise, \\ \end{cases} \end{equation} \tag{2}\]

其中 \(α\)\(β\) 是焦点损失的超参数,\(H^′ × W^′\) 表示 \(\frac{H} {r} × \frac{W} {r}\) 。下标 \(yx\) 表示获取坐标 \((x, y)\) 处的值。

由于输出步幅 \(r\),输入图像的点 \((x ^j _i , y ^j _i )\) 映射到位置 \((\lfloor \frac{x^j _i} {r} \rfloor, ⌊ \frac{y ^j _i }{r} ⌋)\),这会导致性能下降。为了解决这个量化误差,我们额外预测了一个补偿图 \(\hat{δ}_{yx}\) 并仅将 L1 损失应用于关键点位置:$$\mathcal{L} _{point} = \frac{1} {H^′ × W^′} \sum _{yx} |\hat{δ} _{yx} − δ _{yx}|,\tag{3}$$其中 \(δ _{yx} = ( \frac{x^j _i} {r} - \lfloor \frac{x^j _i} {r} \rfloor , \frac{y^j _i} {r} - \lfloor \frac{y^j _i} {r} \rfloor)\) 表示量化补偿图的 ground truth 。为简单起见,这部分未在图 2 中显示。

3.1.2 Starting Point Regression 起点回归

为了区分不同的车道线,我们建议使用起点来唯一地表示每个车道实例,因为它的稳定性和彼此之间的最大边距。我们不是直接回归起点的绝对坐标 \((sx_i, sy_i)\) ,而是回归每个关键点到它的偏移量,可以定义为:$$(∆x ^j _i , ∆y ^j _i ) = (sx_i, sy_i) − (x ^j _i ,y ^j _i), \tag{4}$$

因此,我们可以生成形状为 \(\frac{H} {r} ×\frac{W} {r} × C\) 的地面实况偏移图 \(O _{yx}\) 。特别地,下标 \(yx\) 表示位置 \((x ^j _i , y ^j _i )\) 上的值,它等于 \((∆x ^j _i , ∆y ^j _i )\) 而其他位置的值为零。 \(C = 2\) 分别包含 \(x\) 方向和 \(y\) 方向的偏移量。

为了估计偏移图 \(\hat{O}yx\) ,我们引入了一个偏移头,如图 2 所示。类似地,L1 损失用于约束偏移图如下:$$\mathcal{L} _{offset} = \frac{1} {H^′ × W^′} \sum _{yx} |\hat{O} _{yx} − O _{yx}| , \tag{5}$$ 监督只适用于关键点位置,其余位置不予考虑。

3.1.3 Lane Construction 车道构造

车道建设的流程如图 3 所示,其中包括获取所有可能的车道点的位置,然后将它们分组到不同的车道实例中。我们首先在关键点置信度图 \(\hat{Y}\) 上应用 1×3 最大池化层,以选择水平局部区域内的最大响应点作为有效关键点,如图 3(a) 所示。然后,我们将它们分组以将每个车道描述为关键点的有序列表,如下所示:$$l = {(sx, sy), (x^2, y^2), (x^3, y^3), ..., (x^K , y^K )}, \tag{6}$$其中 \((sx, sy)\) 表示车道的起点, \((x^j, y^j), j ∈ [2, K]\) 是后续的关键点。

为了获得每条车道的起点,我们在偏移图上选择值小于 1 的关键点作为候选起点。由于同一局部区域内可能存在多个符合上述标准的关键点,因此选择该区域的几何中心点以确保唯一性。通过这种方式,初步确定了所有车道的实例及其起点。

之后,我们根据关键点与相应起点之间的估计偏移量将其余关键点与它们所属的车道相关联,如图 3(b) 所示。每个关键点估计车道线起点的坐标如下:$$(sx^′, sy^′) = (x, y) + (δx, δy), \tag{7}$$其中 \((x, y)\) 是观察到的关键点的坐标, \((δx, δy) = O_{yx}\) 表示在第 3.1.2 节中获得的相应偏移量。仅当 \((sx^′, sy^′)\)\((sx, sy)\) 之间的距离小于预定义阈值 \(θ_{dis}\) 时,关键点 \((x, y)\) 才与第 \(i\) 个车道相关联。如图 3(c) 所示,指向同一起点附近的关键点被分组以产生整个车道。上述过程是通过矩阵运算完成的,以确保平行的关键点关联。

3.2. Lane-aware Feature Aggregator 车道感知特征聚合器(LFA)

传统的二维卷积在固定的网格状区域内采样特征,不适合处理细长的车道线形状。受戴等人 [3] 的启发,我们提出了一个车道感知特征聚合器(LFA)模块,自适应地从车道上的相邻点收集信息,从而增强每个关键点的局部特征表示。我们的 LFA 模块的示意图如图 4 所示。以一个特定的关键点为例,我们首先使用一个卷积层来预测它与其在同一车道上包围的 M 个关键点之间的偏移量,如下所示:$$∆P _i = \phi(\mathcal{F} (p _i)), \tag8$$其中 \(p _i\) 表示第 \(i\) 个关键点的坐标,\(\mathcal{F} (p _i)\) 表示第 \(i\) 个关键点的特征表示,\(ΔP_i = \{Δp ^m _i |m = 1, ..., M \} ∈ \mathbb{R}^{2 M}\) 表示预测的偏移量。然后,将相邻点的特征与可变形卷积集成,以聚合第 i 个关键点的上下文:$$\hat{\mathcal{F}} (p _i) = \sum ^M _{m=1} w_m · \mathcal{F} (p_i + ∆p^m _i ), \tag9$$其中 \(w_m, m = 1, ..., M\) 是卷积的权重, \((·)\) 表示乘法。

为了增强 LFA 学习车道线局部形状的能力,我们进一步引入了一个辅助损失来监督偏移量 \(ΔP _i\) 。我们将第 \(i\) 个关键点与相应车道线上的关键点之间的偏移量表示为 \(ΔG_i = \{Δg^k _i |k = 1, ..., K\}\),其计算公式为 \(Δg ^k _i = g ^k _i - p_i\),其中 \(g ^k _i\) 是与第 \(i\) 个关键点在同一车道线上的第 \(k\) 个关键点的地面实况坐标。

如图 5 所示,需要在 \(Δp_i\)\(Δg_i\) 之间建立匹配。我们寻找具有最低匹配成本的分配 σ : $$ \hat{σ} = \mathop{\arg \min}\limits_{σ} \sum ^M _m \mathcal{L} _{match}(Δp ^m _i , Δg _i ^{σ(m)}), \tag{10}$$ 其中 \(\mathcal{L} _{match} = L _2(Δp ^m _i , Δg _i ^{σ(m)})\)。在之前的工作 [1, 23] 之后,采用匈牙利算法来有效地计算最优分配。然后应用 SmoothL1 loss 来监督相邻关键点的预测: $$\mathcal{L} _{aux} = \frac{1} {KNM} \sum ^{KN} _{i=1} \sum ^M _{m=1} SmoothL1(Δp ^m _i , Δg _i ^{\hat{σ}(m)}), \tag{11}$$ 其中 \(K\) 表示每条车道线上的关键点数量,\(N\) 表示车道线的数量,\(M\) 表示采样的相邻关键点的数量。

总损失函数是不同损失与相应系数的组合:$$\mathcal{L} _{total} = λ _{point}\mathcal{L} _{point} + λ _{quant}\mathcal{L} _{quant} +λ _{offset}\mathcal{L} _{offset} + λ _{aux}\mathcal{L} _{aux}. \tag{12}$$

4. Experiments

在本节中,我们首先介绍我们方法的实验设置。下一小节讨论每个数据集的结果。每个模块的消融实验在最后小节中介绍。

4.1. Experimental Setting

4.1.1 Datasets and Evaluation Metrics

我们对两个流行的车道检测基准进行了实验,包括 CU Lane [18] 和 Tu Simple [26]。

CULane: CULane 数据集包含 88, 880 张训练图像和 34, 680 张测试图像,包括城市和高速公路场景。测试图像分为 9 种不同的场景。 F1度量是唯一用于评估的度量,它基于IoU。IoU大于0.5的预测车道被判断为真阳性(TP),否则为假阳性(FP)或假阴性(FN)。 F1 度量定义为准确率和召回率的调和平均值。

TuSimple: TuSimple 是一个真实的高速公路数据集,由 3, 626 张用于训练的图像和 2, 782 张用于测试的图像组成。 TuSimple dataset的主要评价指标是 accuracy ,公式如下:$$accuracy = \frac{\sum _{clip} C _{clip}} {\sum _{clip} S _{crlip}} $$其中 \(C_{clip}\) 是模型正确预测的点数,\(S_{clip}\)是 clip(或图片)中的总点数。仅当预测点与地面实况点相距 20 个像素以内时,才认为预测点是正确的。准确率大于 85% 的预测车道被认为是真阳性。我们还在以下实验中报告了 F1 分数。

4.1.2 Implementation Details

我们选择 ResNet-18、ResNet-34 和 ResNet-101 作为主干,形成三个不同版本的 GANet,分别称为 GANet-S、GANet-M 和 GANet-L。每个版本的详细信息如表 1 所示。我们首先在训练和测试阶段将输入图像的大小调整为 800 × 320。 LFA中的采样点数设置为 M = 9 。损失权重设置为 \(λ_{point} = 1.0\)\(λ_{quant} = 1.0\)\(λ_{offset} = 0.5\)\(λaux = 1.0\)。等式 2 中的超参数 α 和 β 分别设置为 2 和 4。对于优化,我们使用了 Adam 优化器和 poly learning rate decay(这是啥玩意),初始学习率为 0.001。我们分别为 TuSimple 和 CULane 训练 300 和 40 个 epoch,每个 GPU 的批大小为 32。数据增强应用于训练阶段,包括随机缩放、裁剪、水平翻转、随机旋转和颜色抖动。在测试阶段,我们将关键点的阈值设置为 0.4,将关键点关联的 \(θ_{dis}\) 设置为 4。训练和测试均在 Tesla-V100 GPUs 上进行。

4.2. Quantitative Results

4.2.1 Results on CULane

CU Lane 测试集的结果如表 2 所示。我们的 GANet-L 在 CULane 数据集上以 79.63% 的 F1 分数和 63 FPS 达到了最先进的结果,超过了类似大小的模型,如 LaneATT-ResNet122,在性能和速度上都有很大的优势。与另一种基于关键点的方法 FOLOLane-ERF [21] 相比,我们的 GANet-S 实现了 78.79% F1 分数的可比性能,但运行速度提高了 3.8 倍,这显示了性能和效率之间的优越权衡,并证明了我们的全球协会制定的速度优势。此外,我们的方法在六个场景中获得了最高的 F1 分数,尤其是在曲线场景中。我们的 GANet-L 在这种情况下达到了 77.37%,并且优于之前最先进的方法 ERF-E2E [32],超过 5%,表明我们的方法在描述复杂车道线形状方面的优越性。

4.2.2 Results on TuSimple

TuSimple 测试集的比较结果如表 3 所示。我们的 GANet-S 优于所有其他方法,在高 FPS 的情况下达到了 97.71% 的最高 F1 分数。值得注意的是,GANet-S 超过了 UFast-ResNet34 和 LaneATT-ResNet34,它们的速度相似且差距很大,显示了我们全球关联制定的巨大潜力。与 LaneATT [25] 类似,扩大模型容量并不一定会带来性能提升。可能是因为 TuSimple 数据集数量少,场景单一。结果已经饱和,更大的模型可能会导致过拟合问题。

4.2.3 Ablation Study

为了探索我们提出的 LFA 模块的特性,我们对 CULane 数据集进行了消融研究。以下所有实验均基于 GANet 的小版本。结果如表 4 所示。第一行显示没有我们的 LFA 模块的基线方法。在第二行中,LFA 模块被集成到 GANet 中,没有辅助损失。最后一行显示了我们整个 GANet 的结果。

从前两行我们可以观察到没有辅助损失的 LFA 模块对于车道线检测是有效的,这是由于上下文的灵活集成。对比最后两行,我们还可以发现,辅助损失对 LFA 模块至关重要,可以引导 LFA 将注意力集中在车道线上的关键信息上。可视化分析在第 4.3 节中进行。

4.3. Qualitative results

image

我们在图 6 中可视化了使用 LFA 的定性结果。第 2 列和第 4 列是相应地没有和使用 LFA 的置信度图的可视化。如第一行的结果所示,由于预测的车道点相互增强,LFA 模块即使在车辆遮挡的情况下也能做出正确的预测。从第二行和第三行的结果也可以得出结论,LFA 模块能够抑制可能由全局注意力引入的背景噪声。

为了直观地研究 LFA 模块的属性,我们在图 7 中可视化了预测的特征聚合点。第一行显示了一个常见的直线车道情况。通过添加辅助损失,LFA 模块可以预测车道线周围的聚合点。同时,预测的聚合点是不规则的,没有辅助损失。最后两行显示弯曲车道案例中的聚合点。证明了 LFA 模块在理解车道线的局部结构方面是稳健的。该属性有助于增强车道线特征和抑制背景噪声。

5. Conclusion and Discussion

在本文中,我们提出了一个全球关联网络(GANet)从一个新的角度来制定车道检测问题,其中每个关键点直接回归到车道线的起点,而不是逐点扩展。关键点与所属车道线的关联是通过全局预测其与车道对应起点的偏移量来进行的,大大提高了有效性。我们进一步提出了一种车道感知特征聚合器(LFA)来自适应地捕获相邻关键点之间的局部相关性以补充局部信息。实验结果表明,我们的 GA 网络以更高的速度优于以前的方法。

Limitation. 我们方法的局限性在于,由于偏移量的绝对值很大,当输出步幅设置为 1 时,到起点的偏移量可能会变得难以回归。未来,我们希望通过多级回归来解决这个问题,以减轻回归难度。

posted @ 2022-09-01 17:07  xiaoliu-ya  阅读(743)  评论(0编辑  收藏  举报