端到端车道检测:实例分割方法外文翻译资料

 2021-11-23 22:29:51

英语原文共 7 页

端到端车道检测:实例分割方法

摘要

现代汽车结合了越来越多的驾驶员辅助功能,包括自动车道保持。自动车道保持允许汽车在道路车道内正确定位,这对于完全自主汽车的后续车道偏离或轨迹规划决策也是至关重要的。传统车道检测方法依赖于高度专业的手工特征标记和后处理启发式算法的组合,这些技术计算代价高,并且由于道路现场变化而易于扩展。最近有研究利用深度学习模型来进行像素级车道分割训练,也可以用于图像由于较大的接收范围而没有标记的情况。尽管有其优点,但这些方法仅限于检测预先定义固定数量的车道,并且不能应对车道变化。

在本文中,我们超越了上述限制,提出将车道检测问题看作一个实例分割问题(其中每个车道都形成自己的实例)可以进行端到端的训练。为了在拟合车道前对分段的车道实例进行参数化,我们应用了一个以图像为条件的透视变换(不适用于固定的“鸟瞰”变换),这样,我们确保了一种对道路变化具有鲁棒性的车道匹配,不像现有的依靠固定、预定义转换的方法。总之,我们提出了一种快速车道检测算法,运行速度为50帧/秒,可以处理不同数量的车道并应对车道变化。我们在tuSimple数据集上验证了我们的方法并获得了不错的结果。

引言

目前,无论是在学术还是工业层面,自动驾驶都是计算机视觉和机器人技术研究的主要焦点。不论何种方案,都需要使用各种传感器和控制模块,感知汽车周围的环境。基于摄像头的车道检测是环境感知的重要方法,它可以让车辆在车道内正确定位,同时它对后续的车道偏离或轨迹规划也至关重要。因此,准确的基于摄像头的车道检测是实现完全自动驾驶的关键推动因素。传统的车道检测方法(例如[4],[9],[15],[17],[33],[35])依靠高度专业化的手工特征标记和启发式识别来识别车道线。这种手工标记的方法主要是基于颜色的特征[7],结构张量[25],条形过滤器[34],脊线特征[26]等,它们可能与霍夫变换 [23], [37]或卡尔曼滤波器[18],[8],[34] 相结合。识别车道线后,采用后处理技术来滤除误检以形成最终车道。通常,这些传统方法很容易由于道路场景变化而导致鲁棒性问题。

最近的研究有人用深度神经网络取代手工标记,通过构建一定量学习密集的特征检测器进行预测,即像素级的车道分段。Gopalan等人[11]使用像素级特征描述符来建模,并且使用增强算法来选择用于检测车道标记的相关特征。类似地,Kim和Lee [19]将卷积神经网络(CNN)与RANSAC算法结合起来以检测车道线。注意,在他们的方法中,CNN主要用于图像增强,并且只有道路场景复杂时才会使用。Huval等人[16]用CNN模型用于高速公路驾驶,其中包括执行车道检测和端到端CNN分类。Li等人[22]提出了使用多任务深度卷积网络,其重点在于寻找几何车道属性,如位置和方向,以及检测车道的循环神经网络(RNN)。还有人 [21] 做了更多的研究,利用深度神经网络训练如何在不利的天气和低照度条件下共同处理车道和道路标记检测和识别。上述神经网络模型除了更好地划分车道标记的能力之外[16],它们也可以在图像中标记不存在的情况下,估计车道线。然而,生成的二元分段车道仍然需要分解到不同的车道实例中。

为了解决这个问题,一些研究应用了后处理技术,这些技术依赖几何特性为指导的启发式算法,如[19],[12]所述。启发式方法计算成本很高,并且由于道路场景变化容易出现鲁棒性问题。另一项研究[20]将车道检测问题转化为一个多类分割问题,其中每个车道形成自己的类。通过这样做,网络的输出包含每个车道的分离二进制映射,并且可以以端到端的方式进行训练。尽管有其优点,但这种方法仅限于检测预先定义的固定数量的车道,即自我车道。此外,由于每条车道都有一个指定类,因此它无法应对车道变换。

在本文中,我们超越了上述限制,提出将车道检测问题作为一个实例分割问题,其中每个车道在车道类中形成自己的实例。受密集预测网络在语义分割[24],[28],[31],[6]和实例分割任务[36],[38],[30],[2],[14],[5]等成功的启发,我们设计了一个多任务网络分支,如[27]车道实例分割,包括一个车道分割分支和一个可以进行端到端的训练的车道嵌入分支。车道分割分支具有两个输出类别,即背景或车道,而车道嵌入分支进一步将分段的车道像素分解成不同的车道实例。通过将车道检测问题分解为上述两个任务,我们可以充分利用车道分割分支的功能,而不必为不同的车道分配不同的类别。相反,使用聚类损失函数训练的车道嵌入分支将车道ID分配给来自车道分割分支的每个像素,同时忽略背景像素。通过这样做,我们减轻了车道变化的问题,并且我们可以处理可变数量的车道,这与[20]不同

通过估算车道实例(即哪些像素属于哪条车道)后,我们希望将它们中的每一个转换为参数描述。为此,曲线拟合算法被广泛用于文献中。流行的模型是三次多项式[32],[25],样条曲线[1]或回旋曲线[10]。为了在保持计算效率同时提高组合的质量,通常使用透视变换[39]将图像转换为“鸟瞰”图像并进行曲线拟合。鸟瞰图中的拟合线可以通过逆变换矩阵重新投影到原始图像中。通常,变换矩阵是在单个图像上计算的,并保持固定。但是,如果地平面变化较大(例如通过倾斜上坡),则该固定变换不再有效。靠近地平线的车道点可能会被投影到无穷远处,从而对直线拟合产生负面影响。

为了弥补这种情况,我们在对曲线进行拟合之前对图像应用透视变换,与现有的依靠固定变换矩阵进行透视变换的方法相反,我们训练一个神经网络来输出变换系数。神经网络将图像作为输入,并针对车道拟合问题的损失函数进行优化。该方法的一个固有优点是对路面变化具有鲁棒性,并且为了更好地拟合车道而特别进行了优化。整个识别过程的概述可以在图1中看到。我们的作用可以总结如下:(1)分支的多任务体系结构,将车道检测问题作为实例分割任务来处理,处理车道变化和允许推断任意数量的车道。特别地,车道分割分支输出密集的每像素车道段,而车道嵌入分支进一步将分段的车道像素分解成不同的车道实例。(2)给定输入图像的网络估计透视变换的参数,透视变换允许车道拟合对路面变化具有鲁棒性,例如,上坡/下坡。

方法

通过训练神经网络进行端到端的车道检测,将车道检测作为实例分割问题来实现,解决了上述车道切换以及车道数的限制的问题。我们将称之为LaneNet(参见图2)的网络,将二进制车道分割与单镜头实例分割的聚类损失函数相结合。在LaneNet的输出中,每个车道像素被分配它们对应车道的ID。

因为LaneNET输出每个车道的像素集合,我们必须通过这些像素来获得车道参数化的曲线。通常情况下,车道像素被投影成“鸟瞰图”表示,使用一个固定的转换矩阵。然而,由于变换参数对所有图像都是固定的,所以当遇到非地面时,例如在斜坡上,这会引起一些问题。为了缓解这个问题,我们训练一个网络,称为H-Net,它可以估算输入图像上的“理想”透视变换的参数。这种转变不一定是典型的“鸟瞰图”。相反,它是一种变换,在这种变换中车道可以用一个低阶多项式进行最优拟合。

LaneNet

Lanenet通过将车道检测作为一个实例分割问题来训练端到端车道检测。这样,网络就不受它可以检测到的车道数的限制,并且能够处理车道变化。实例分割任务由两部分组成,一部分是分割部分,另一部分是聚类部分,在下面的章节中将对此进行更详细的说明。为了提高性能,在速度和精度方面[27],这两个部分在多任务网络中进行了联合训练。

二值化分割

Lanenet的分割分支(参见图2,底部分支)经过训练以输出二值化分割图,指示哪些像素属于一条车道,哪些不属于。为了构建round-truth分割图,我们将所有round-truth车道点[1]连接在一起,形成每条车道的连接线。请注意,我们绘制这些round-truth车道,即使是通过物体(如堵塞车辆)或在没有明确的可视车道段(如虚线或褪色车道)的情况下。通过这种方式,网络将学会预测车道位置,即使它们被遮挡或处于不利环境中。采用标准的交叉熵损失函数对分割网络进行训练。由于这两个类(车道/背景)高度不平衡,因此我们采用有界逆向类权重,如[29]所述。

实例分割

为了将分割分支识别出的车道像素分离开来,我们训练lanenet的第二个分支进行车道实例嵌入(参见图2顶部分支)。大多数常用的检测和分割方法(如[14],[38])不适合于车道实例分割,因为边界框检测更适合于紧凑的对象。因此,我们采用了一种基于距离度量学习的one-short方法,(由De Brabandere等人提出[5]),可以很容易地与标准的前馈网络集成,并专门为实时应用而设计。

通过使用其聚类损失函数,训练实例嵌入分支为每个车道像素输出一个嵌入值,使得属于同一车道的像素点之间的距离较小,而属于不同车道的像素嵌入之间的距离最大化。这样,同一条车道的像素嵌入将聚集在一起,形成每个车道的唯一簇。这是通过下面两个术语来实现的,一个是方差项(Lvar),它向车道的平均嵌入值施加拉力,另一个是距离项(Ldist),它将聚类中心彼此推开。这两项都是铰链式的:只有当嵌入距离其聚类中心较远时(远于delta;v),拉力才有效;只有当嵌入距离较近时(近于delta;d),中心之间的推力才有效。C表示聚类(车道)数,Nc表示聚类c内元素数,xi表示嵌入像素,mu;c表示聚类c平均嵌入,‖bull;‖表示L2距离,[x] = max(0; x),总损耗L=Lvar Ldist

一旦网络聚合,车道像素的嵌入将聚集在一起(参见图2),这样每个聚类的中心间距离gt;delta;d,每个聚类(每条车道线)中包含的车道线像素离该车道线距离lt;delta;v。

聚类

通过迭代过程完成聚类。通过在上述损失中设置delta;d gt; 6delta;v,可以选取一个半径为2delta;v的随机车道嵌入值及其周围的阈值来筛选属于同一车道的所有嵌入值。重复此操作,直到所有车道嵌入值指定给一条车道。为了避免选择一个阈值周围的离群值,我们首先使用平均偏移来靠近聚类中心,然后进行阈值划分(见图2)

网络架构

Lanenet的体系结构基于编码器-解码器网络Enet[29],被修改为两个分支网络。由于ENET的编码器包含的参数比解码器多,因此完全共享两个任务之间的完整编码器会使结果不尽人意[27]。因此,尽管最初的ENet编码器由三个stage(stage1、2、3)组成,但Lanenet只在两个分支之间共享前两个stage(1和2),留下ENET编码器的stage3和完整的ENET解码器作为每个单独分支的主干。分割分支的最后一层输出一个单通道图像(二进制分割),而嵌入分支的最后一层输出一个N通道图像,嵌入维数为N。如图2所示。每个分支的损失项权重相等,并通过网络反向传播。

B.使用H-Net进行曲线拟合

如前一节所述,lanenet的输出是每个通道的像素集合。在原始图像空间中通过这些像素拟合多项式是不理想的,因为必须借助高阶多项式才能处理曲线车道。这个问题的一个常用的解决方案是将图像投影到“鸟瞰图”中,在这种表示中,车道彼此平行,因此,曲线车道可以匹配一个二阶或三阶多项式。

然而,在这些情况下,变换矩阵H只计算一次,并对所有图像保持固定。通常,这会在地面改变时导致错误,即投影到无穷远处的消失点向上或向下移动(见图4,第二行)。

为了解决这个问题,我们训练了一个具有自定义损失函数的神经网络H-NET:对网络进行端到端优化,并预测透视变换H的参数,其中变换后的车道点可以用二阶或三阶多项式进行优化拟合。预测以输入图像为条件,使网络适应地平面变化下的投影参数,使车道拟合仍然正确(见图4的最后一行)。在我们的例子中,h有6个自由度:

置零是为了强制执行水平线在转换下保持水平。

曲线拟合

在通过车道像素P对曲线进行拟合前,利用H-NET输出的变换矩阵对曲线进行变换。给出一个车道像素Pi= [xi; yi; 1]Tisin;P,转换后像素Pirsquo;与Hpi相等。其次,通过变换像素,采用最小二乘法拟合N次多项式。

为了训练H-NET输出最匹配车道像素拟合多项式的变换矩阵,我们构造了以下损失函数。给定N个round-truth车道点Piisin;P,首先使用H-Net的输出转换这些点:Prsquo;=HP 。通过这些投影点,我们使用最小二乘闭式解拟合多项式

对于二阶多项式的情况。拟合多项式在每个位置进行评估,给我们一个预测。

由于车道拟合是采用最小二乘法的闭式解进行的,因此损失是可微的。我们使用自动微分来计算梯度。H-NET的网络体系结构特意保持较小,由3x3卷积、batchnorm和ReLUs的连续块构成。使用max pooling可以减小尺寸,最后添加2个全连接层。完整的网络结构见表一。

结果

A.数据集

目前,Tusimple车道数据集[40]是唯一一个用于在车道检测任务上测试深度学习方法的大规模数据集。包括3626张训练图像和2782张测试图像。采集自较好和稍好的气候情况。包含白天不同时刻2,3,4车道或较多的高速道路。每张图都提供了该图前19帧图像(不过这19帧是未标注的),标注的图像是json格式的。指示在许多离散的y坐标上对应的x位置。每张图包含当前车道(左右车道)的车道线标准信息(共计4条线),测试集也如此,当改变车道时,会出现第5条车道线。

精度计算为每个图像的平均正确点数:

正确的点数C和ground-truth点数S。当ground-truth和预测点之间的差异小于某个阈值时,点是正确的。连同准确度,还提供false positive和false negative:

错误预测的车道数F,预测的车道数N,丢失的ground-truth车道数M,所有的ground-truth车道数N。

B.设置

Lanenet的嵌入维度为4,分别为delta;v=0.5和delta;d=3。图像被重新调整为512x25

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。