论文翻译—PolyLaneNet Lane Estimation via Deep Polynomial Regression

PolyLaneNet Lane Estimation via Deep Polynomial Regression

通过深度多项式回归的车道估计

Abstract

  自主驾驶取得巨大进步的主要因素之一是深度学习的出现。对于更安全的自动驾驶车辆,车道检测是尚未完全解决的问题之一。由于该任务的方法必须实时工作(+30 FPS),因此它们不仅必须有效(即具有高精度),还必须高效(即快速)。在这项工作中,我们提出了一种新的车道检测方法,该方法使用来自安装在车辆中的前视摄像机的图像作为输入,并通过深度多项式回归输出表示图像中每个车道标记的多项式。所提出的方法在保持效率(115 FPS)的同时,在TuSimple数据集中与现有的最先进的方法相比具有一定的竞争力。此外,还提供了另外两个公共数据集的大量定性结果,以及最近车道检测工作中使用的评估指标的局限性。最后,我们提供源代码和经过训练的模型,允许其他人复制本文中显示的所有结果,这在最先进的车道检测方法中是非常罕见的。代码

I. INTRODUCTION

  自动驾驶[1]是一个富有挑战性的研究领域,近年来备受关注。与该领域相关的感知问题已经受到深度学习进展的极大影响[2]–[4]。特别是,自动车辆应该能够估计车道,因为除了作为空间限制之外,每条车道都提供了控制行驶的特定视觉线索。在这种情况下,两条最重要的交通线(即车道标线)是那些定义车辆车道的线,即自我车道。这些线为驾驶员的行动设置了限制,它们的类型定义了是否允许机动(例如,换道)。此外,检测相邻车道可能是有用的,这样系统的决策可能基于对交通场景的更好理解。
  车道估计(或检测)起初可能看起来微不足道,但它可能非常具有挑战性。尽管车道标志相当标准化,但其形状和颜色各不相同。当出现虚线或部分遮挡的车道标志时,估计车道需要对场景的语义理解。此外,环境本身是多种多样的:可能有大量的交通,人们经过,或者它可能只是一条高速公路。此外,这些环境受多种天气的影响(例如,下雨、下雪、晴天等)。)和照明(例如,白天、夜晚、黎明、隧道等。)条件,这可能会在驾驶时发生变化。
  车道估计(或检测)任务的传统方法在于提取手工制作的特征[5],[6],随后是曲线拟合过程。尽管这种方法在正常和有限的情况下往往能很好地工作,但它通常在不利条件下(如上述情况)并没有那么健壮。因此,随着许多计算机视觉问题的发展趋势,深度学习最近开始被用于学习鲁棒特征和改进车道标志估计过程[7]–[ 9]。一旦估计了车道标记,就可以执行进一步的处理来确定实际的车道。尽管如此,仍有一些限制需要解决。首先,许多基于深度学习的模型将车道标志估计作为两步过程来处理:特征提取和曲线拟合。大多数工作通过基于分割的模型提取特征,这通常是低效的,并且难以实时运行,而实时运行这是自动驾驶所必须的。另外,单独的分割步骤不足以提供车道标记估计,因为为了输出交通线路,分割图必须进行后处理。此外,这两个步骤的过程可能会忽略全局信息[8],当缺少视觉线索时(如在强阴影和遮挡中),全局信息尤其重要。其次,其中一些工作是由私人公司完成的,这些公司通常(i)不提供复现其结果的方法,以及(ii)在私人数据集上开发其方法,这阻碍了研究进展。最后评估协议还有改进的余地。这些方法通常仅在美国的数据集上进行测试(发展中国家的道路通常没有得到很好的维护),并且评估指标过于宽松(它们允许错误,以至于妨碍了正确的比较),如第四节所述。
  在这种情况下,专注于消除对两步处理过程的需求,并进一步降低处理成本的方法可以使依赖于低能耗和嵌入式硬件的高级驾驶辅助系统受益。此外,一种已经在美国以外的道路上测试过的方法也对更广泛的社区有益。此外,不太宽松的度量标准将允许更好地区分方法,并提供对方法及其有用性的更清晰的概述.
  这项工作提出了PolyLaneNet,用于端到端车道标线估计的卷积神经网络。PolyLaneNet从安装在车辆中的前视摄像机获取图像作为输入,并输出表示图像中每个车道标志的多项式,以及这些多项式的域每个车道的置信度得分
  这种方法与现有的最先进的方法相比具有竞争力,同时速度更快,并且不需要后处理来进行车道估计。此外,我们使用文献中建议的指标提供了更深入的分析。最后,我们公开发布了源代码(用于训练和推理)和经过训练的模型,允许复现本文中给出的所有结果。

II. RELATED WORKS

  车道检测。在深度学习兴起之前,车道线检测的方法大多是基于模型或学习的,也就是说,它们利用手工制作和专门的特征。形状和颜色是最常用的特征[10],[11],车道通常由直线和曲线表示[12],[13]。然而,这些方法对突然的光照变化、天气条件、摄像机之间的外观差异以及驾驶场景中的许多其他情况都不稳定。有关早期车道检测方法的更完整调查,请参考[5]中感兴趣的读者。
  随着深度学习的成功,研究人员也研究了它在车道检测中的应用。Huval等人[14]是最先在车道检测中使用深度学习的人之一。他们的模型基于OverFeat,并产生一种分割图作为输出,该分割图随后使用数据库扫描聚类进行后处理。他们在旧金山(美国)收集了一个私人数据集,用来训练和评估他们的系统。由于他们的成功应用,公司也有兴趣研究这个问题。后来,福特发布了Deeplane[15],与大多数文献不同,它基于横向安装的摄像头来检测车道。尽管结果不错,但他们模拟问题的方式使其不太适用,而且他们还使用了一个基于美国的私人数据集。
  最近,在CVPR 17 举行了车道检测挑战赛,发布了TusSimple[16]数据集。挑战的获胜者是SCNN [7],这是一种被提议用于交通场景理解的方法,它通过特别设计的CNN结构利用空间信息的传播。他们的模型输出车道概率图,以提供后处理时的车道估计。为了评估他们的系统,他们使用了一个基于预测和Ground truth之间的IoU的评估标准。在此之后,在[8]中,作者提出了Line-CNN模型,该模型的关键部分是line-proposal unit(LPU),该单元改编自Faster-RCNN中的RPN。他们还将他们的结果提交给了TuSimple benchmark(在挑战结束后),结果比SCNN略好。然而,他们的主要实验是使用一个更大的数据集,这个数据集没有公开发布。除了这个私有数据集,源代码是私有的,作者不会发布它。另一种方法是FastDraw [17],在这种方法中,基于基础分割的后处理方法被替换为根据在训练中最大化的折线的可能性来“绘制”车道。除了在TuSimple和CULane [7]数据集上进行评估,作者还在另一个基于美国的私有数据集上提供了定性结果。此外,他们没有发布他们的实现,这阻碍了进一步的比较。一些基于分段的方法集中于提高推理速度,如[9] (ENet-SAD),其集中通过利用自我注意提取特征来学习轻量级的CNNs。作者在三个著名的数据集上评估了他们的方法。虽然源代码是公开发布的,但有些结果是不可复现的。更接近于我们的工作,[18]提出了一个可微的最小二乘拟合模块来拟合由深度神经网络预测的点上的曲线。在我们的工作中,我们通过直接预测多项式系数来避开对该模块的需求,这简化了方法也提高了速度。总之,现有方法的主要问题之一是可重复性,因为大多数方法要么不发布所使用的数据集,要么不发布源代码。在这项工作中,由于我们提供了源代码,并且只使用公开可用的数据集(包括一个来自美国以外的数据集),因此我们呈现的结果在公开数据集上与最先进的方法具有竞争力,并且完全可再现。
在这里插入图片描述
图1。提案方法概述。从左到右:模型接收来自前视摄像机的图像作为输入,并输出图像中每个车道标志的信息。

三. POLYLANENET

  模型定义。PolyLaneNet期望从前视车辆摄像机获取的图像作为输入,并为每个图像输出, M m a x M_{max} Mmax个候选车道标志(表示为多项式),以及水平线的垂直位置h,这有助于确定车道标线的上限。PolyLaneNet的体系结构包括一个主干网络(用于特征提取),附加了一个具有 M m a x + 1 M_{max}+ 1 Mmax+1输出的全连接层,作为输出1,…, M m a x M_{max} Mmax用于车道标线预测, M m a x + 1 M_{max}+1 Mmax+1 项用于h的预测,PolyLaneNet采用多项式表示车道标线,而不是一组点。因此,对于每个输出 j , j = 1 , . . . , M m a x j,j = 1,... , M_{max} jj=1...,Mmax 模型估计系数 P j = { a k , j } k = 0 K P_j = \{a_{k ,j}\}_{k=0}^K Pj={ak,j}k=0K 代表多项式
p j ( y ) = ∑ k = 1 K a k , j y k p_j(y) = \sum_{k=1}^K a_{k,j} y^k pj(y)=k=1Kak,jyk,
其中K是定义多项式阶数的参数。如图1所示,多项式有一个限制域:图像的高度。除了系数之外,对于每个车道标记 j,模型估计垂直偏移 s j s_j sj和预测置信度得分 c j ∈ [ 0 , 1 ] c_j \in[0,1] cj[0,1]。总的来说,多元网络模型可以表示为:
f ( I , θ ) = ( { P j , s j , c j } j = 1 M m a x , h ) f(I,\theta) = (\{ P_j,s_j,c_j\}_{j=1}^{M_{max}},h) f(I,θ)=({Pj,sj,cj}j=1Mmax,h)
其中I是输入图像,θ是模型参数。在推断时,如图1所示,只有置信度得分大于或等于阈值的车道标志候选才被认为是检测到的
  模型训练 对于输入图像,假设M是给定输入图像的带注释车道标记的数量。通常,交通场景包含很少的车道,对于可用数据集中的大多数图像,M ≤ 4。对于训练(和度量评估),每个标注的车道标记j,j = 1,… , M与输出的神经元单位 j 相关联。因此,与输出 M + 1 , . . . , M m a x M+1,...,M_{max} M+1,...,Mmax相关的预测在损失函数中应该忽略。带注释的车道标记j由一组点表示 L j ∗ = { ( x i , j ∗ , y i , j ∗ ) } i = 1 N L_j^* =\{(x_{i,j}^*,y_{i,j}^*)\}_{i=1}^N Lj={(xi,j,yi,j)}i=1N, 其中对于 i = 1 , . . . , N − 1 i =1,...,N-1 i=1,...,N1, y i + 1 , j ∗ > y i , j ∗ y_{i+1,j}^* >y_{i,j}^* yi+1,j>yi,j ,根据经验,N越高,就越能捕捉到更丰富的结构。我们假设车道标线 { L j ∗ } i = 1 M \{L_j^*\}_{i=1}^M {Lj}i=1M 根据最接近图像底部的点的x坐标排序, x 0 , j ∗ > x 0 , j + 1 ∗ x_{0,j}^* >x_{0,j+1}^* x0,j>x0,j+1,对于j = 1,… , M-1.对于每个车道标志j,垂直偏移 s j ∗ s_j^* sj被设置为 m i n ( y i , j ∗ i = 1 N ) min({y_{i,j}^*}_{i=1}^N) min(yi,ji=1N);置信度得分定义为:在这里插入图片描述
使用多任务损失函数来训练模型,损失函数定义为(单个图像):
在这里插入图片描述 W p , W s , W c , W h W_p,W_s,W_c,W_h Wp,Ws,Wc,Wh是恒定的权重,用于保持平衡。回归结果 L r e g , L c l s L_{reg},L_{cls} Lreg,Lcls 分别是均方误差和二元交叉熵函数。 L p L_p Lp损失函数,测量多项式 p j p_j pj(式1)对标注点的调整程度。考虑带注释的 x坐标 x j ∗ = [ x 1 , j ∗ , . . . , x N , j ∗ ] T x_j^* = [x_{1,j}^*,...,x_{N,j}^*]^T xj=[x1,j,...,xN,j]T
x j = [ x 1 , j , . . . , x N , j ∗ ] T x_j = [x_{1,j},...,x_{N,j}^*]^T xj=[x1,j,...,xN,j]T
在这里插入图片描述
τloss是根据经验定义的阈值,试图减少聚集在已经对齐的点上的损失。出现这种效果是因为车道标志包括具有不同采样差异的几个点(即,离摄像机较近的点比离摄像机较远的点更密集)。最后, L p L_p Lp定义为:
在这里插入图片描述

四.实验方法

PolyLaneNet是在本节介绍的公开资料上进行评估的。接下来,该部分描述了实现细节、度量标准和执行的实验。
A. Datasets
  三个数据集被用来评估PolyLaneNet:TuSimple[16],LLAMAS [19]和ELAS [6]。对于定量结果,使用了广泛使用的TuSimple[16]。数据集共有6408幅带注释的图像,分辨率为1280×720像素,最初分为3268幅用于训练,358幅用于验证,2782幅用于测试。对于定性结果,使用了另外两个数据集:LLAMAS [19]和ELAS [6]。第一个是一个大数据集,分为58269幅图像用于训练,20844幅用于验证,20929幅用于测试,分辨率为1280×717像素。TuSimple和LLAMAS都是来自美国的数据集。由于LLAMAS的基准和测试集注释都还不可用,因此只给出定性结果。ELAS是一个数据集,包含来自巴西不同城市的16993幅图像,分辨率为640×480像素。由于数据集最初是为非基于学习的方法提出的,因此它不提供训练/测试分割。因此,我们通过分离11036个用于训练的图像和5957个用于测试的图像来创建这些分割。ELAS和其他两个数据集的主要区别在于,在ELAS,只有自我通道被标注。尽管如此,数据集也为车道检测任务提供了其他类型的有用信息,例如车道类型(例如,实线或虚线、白色或黄色),但是它们在本文中没有使用。
B.实施细节
  这项工作中每个实验的超参数都是相同的,除了消融研究,在每次训练中有一个参数被修改。对于主干网,使用了EfficientNet-b0 [20]。对于TuSimple训练,数据增强的概率是 10 11 \frac{10} {11} 1110。所用的变换是:旋转角度为(-10,10),水平翻转概率为0.5,随机裁剪大小为1152×648像素。在数据增强之后,应用了以下变换:调整到640×360像素,然后用ImageNet的[21]平均值和标准偏差进行归一化。使用了adams优化器,以及余弦退火学习速率调度器,初始学习速率为3e-4,周期为770个epochs。这次训练持续了2695个时期,在Titan V上用了大约35个小时,批量大小为16张图片,来自在ImageNet上预处理的模型[21]。第三多项式次数被选为默认值。对于损耗函数,使用了参数Ws= Wc= Wh= 1和Wp= 300。阈值τ损失(等式5)被设置为20个像素。在测试阶段,置信度cj< 0.5的车道标线被忽略。更多细节,源代码和训练模型是公开的。
C.评估指标
  用来衡量所提出方法的性能的度量标准来自TuSimple的基准[16]。这三个指标是:准确率(Acc)、假正例(FP)率和假反例(FN)率。对于被认为是真正例(即正确)的预测车道标志,其精度定义为:
在这里插入图片描述
必须等于或大于 ϵ \epsilon ϵ τ a c c ϵ \tau_{acc} \epsilon τaccϵ分别是20像素和0.85,与TuSimple基准中使用的相同。所有三个报告的指标(Acc、FP和F N)都报告为所有图像的平均值和每个图像的平均值。

  虽然TuSimple的度量在文献中已被广泛使用,但它对局部误差过于宽容。为了避免仅仅依赖这样的度量,我们还使用了在[22]中提出的度量,它讨论了车道估计过程中感兴趣的几个评估度量。车道位置偏差(LPD)旨在更好地捕捉电子车辆远近视野深度的模型精度。这是自我车道的预测和ground-truth之间的误差。为了定义什么是自我车道(假设数据集标签和我们的模型对这个定义是不可知的),我们使用了一个简单的定义:靠近图像底部中间的车道标志是组成自我车道的标志,即左边的一个车道标志和右边的另一个车道标志。

  除了衡量预测质量的指标外,我们还报告了两个与速度相关的指标:每秒帧数(FPS)和每秒帧数(MACs3)。每秒帧数提供了一个具体的评估,即一个实现在一台配有最新图形处理器的现代计算机上运行的速度有多快,而计算机辅助设计提供了一种更可靠的方法来比较可能在不同框架和设置上运行的不同方法。如[22]中所讨论的,分析计算效率和精度之间的权衡也很重要。在本文中,我们通过在消融研究中报告具有不同计算要求的MACs of PolyLaneNet变体的最大似然比来提供这种分析。
D.定量评价
最先进的比较所提出方法的主要定量实验是与使用相同评估条件的最先进方法进行比较。为此,所提出的方法被用于使用TuSimple的训练和验证集的联合来训练模型,然后在其测试集中进行评估。对四种最先进的方法进行了比较:SCNN [7],Line-CNN [8],ENet-SAD[9],和FastDraw[17]。除了预测质量指标,还介绍了模型速度w.r.t. FPS。对于我们的模型,我们还报告了MACs

Polynomial Degree.
  在大多数车道标志检测数据集中,曲率更明显的车道标志更少,而直线标志代表了大多数情况。考虑到这一点,人们可能会问:用低阶多项式模拟车道标线会有什么影响?为了帮助回答这个问题,我们的方法是使用一阶和二阶多项式来评估的,而不是默认的三阶多项式。此外,我们还通过计算不同阶多项式的上界,展示了文献中所用的标准TuSimple度量的允许性。
Ablation Study. 为了调查对所提出的方法做出的一些决定的影响,进行了消融研究,仅使用TuSimple的训练集进行训练,使用验证集进行测试。对于模型主干f(,θ),对ResNet [23]的两个变体进行了评估:ResNet-34和ResNet-50。 EfficientNet的另一个变种也被评估, EfficientNet-b1。此外,在训练CNNs时,除了主干的影响外,在使用不同的图像输入尺寸时也有一个权衡。例如,如果使用较小的输入大小,网络转发会更快,但是信息可能会丢失。为了在所提出的方法中测量这种折衷[22],训练了另外两个模型,一个使用480 × 270像素的输入尺寸,另一个使用320 × 180像素的输入尺寸。此外,还评估了其他三个实际决策:(一)不共享h的影响(即,单独预测每个车道的终点),(二)使用预先训练的模型,通过从头开始训练,而不是在ImageNet上预先训练模型;以及(iii)通过移除在线数据增加,使用数据增加的影响,这减少了模型在训练时看到的可变性。
E.定性评价
  对于定性结果,进行了广泛的评估。使用在TuSimple上训练的模型作为预处理,训练了三个模型:两个关于ELAS,一个有和一个没有车道标志类型分类,另一个关于LLAMAS。在ELAS,模型被训练了385个额外的时期(所选择的学习速率调度器的半个周期,其中学习速率将是最小的)。在LLAMAS上,模型被训练了75个额外的时期,这与在ELAS使用的迭代次数近似,因为LLAMAS的训练集大约是ELAS的五倍。车道标志类型分类的实验是PolyLaneNet的一个简单的扩展,在这个实验中,为每个车道预测一个类别,展示扩展我们的模型是多么的简单。

五.结果

  首先,我们介绍了与最先进技术的比较结果。然后,详细讨论了消融研究的结果。最后给出了定性结果。
**State-of-the-art Comparison.**TuSimple数据集的最新结果如表一所示。有证据表明,PolyLaneNet的结果是有竞争力的。因为没有一个比较的方法提供了复制它们各自发布的结果的源代码,所以很难调查其他方法成功而我们失败的情况。在图2中,显示了TuSimple上的Table I. 一些定性结果。值得注意的是,PolyLaneNet对靠近摄像机的车道标志部分的预测(在那里可以看到更多细节)非常准确。尽管如此,在靠近地平线的车道标志部分,预测不太准确。我们推测这可能是数据集不平衡导致的局部最小值的结果。由于数据集中的大多数车道标志可以用一阶多项式(即线)很好地表示,所以神经网络倾向于预测直线,因此在具有突出曲率的车道标志上表现不佳。
在这里插入图片描述
在这里插入图片描述

Polynomial Degree就用于表示车道标志的多项式次数而言,当使用低阶多项式时,精度上的微小差异表明数据集是多么不平衡。使用一阶多项式(即线)仅将精度降低了0.35个基点。尽管数据集的不平衡肯定会对此产生影响,另一个重要因素是基准用来评估模型的性能。然而,LPD度量[22]能够更好地捕捉使用一阶多项式和其他多项式训练的模型之间的差异。这可以在表三中进一步看出,该表显示了将车道标志表示为多项式的方法的最大性能(即上限),通过在测试数据本身上拟合多项式来测量。可以看出,TuSimple的度量并不惩罚仅在车道标志更靠近汽车的部分中准确的预测,其中图像看起来几乎是直的(即,可以用一阶多项式很好地表示),因为阈值可以隐藏那些错误。与此同时,LDP的度量清楚地区分了上限,甚至在第四度和第五度之间也显示出明显的差异,在第四度和第五度之间,图简单的度量几乎是相同的。
在这里插入图片描述
在这里插入图片描述

消融研究。消融研究结果如表四所示。EfficientNet-b1达到最高精度,其次是EfficientNet-b0和ResNet-34。这些结果表明,像ResNet-50这样的大型网络可能会过度收集数据。尽管EfficientNet-b1达到了最高的准确度,但我们选择不将其用于其他实验中,因为在我们的实验中,准确度的提高并不显着或不一致。此外,它的计算成本更高(即,更低的帧速率、更高的最大似然比和更长的训练时间)。就输入大小而言,减少输入大小也意味着降低精度,这是意料之中的。在某些情况下,这种精度损失可能不会很大,但速度增益可能会很大。例如,使用480×270的输入尺寸仅将精确度降低了0.55个百分点,但是模型MACs降低了1.82倍。
在这里插入图片描述
在这里插入图片描述

  至于我们进行的其他消融研究,我们可以看到共享top-y(h)比不共享稍好。此外,在ImageNet上预处理的模型的训练似乎对最终结果有显著影响,如4.26p.p.的差异所示。数据增加也是如此,因为用更多数据训练的模型具有显著更高的精度。
Qualitative Evaluation.
  图3显示了ELAS和LLAMAS的定性结果样本。要获得更广泛的结果,可以使用视频。结果显示,迁移学习在PolyLaneNet上运行良好,因为较少的epech就足以获得合理的结果。然而,在ELAS,有许多车道变换。在这些情况下,模型的准确性会显著下降。由于这些情况的图像具有非常不同的结构(例如,汽车没有朝着道路方向行驶),在这种情况下,少量的样本可能不足以让模型学习它。
在这里插入图片描述

六.结论

  提出了一种基于深度多项式回归的车道线检测新方法。与最先进的方法相比,所提出的方法简单有效,同时保持了有竞争力的准确性。尽管存在精确度稍高的最先进方法,但大多数方法都不提供源代码来复制它们的结果,因此很难对方法之间的差异进行更深入的研究。我们的方法,除了计算效率高之外,还将是公开的,以便将来在车道标线检测方面的工作有一个开始工作和比较的基线。此外,我们还发现了用于评估车道标线检测方法的指标存在问题。对于未来的工作,可以探索可用于不同车道检测方法(例如,分割)的度量,以及更好地突出车道检测方法中的缺陷的度量。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值