论文阅读笔记|目标检测 | End-to-end Lane Detection through Differentiable Least-Squares Fitting
文章目录
- 1. 摘要
- 论文的主要特色在于:
- 2 方法
- 2.1 生成加权像素坐标的深度网络
- 2.2 加权最小二乘拟合模块
- 2.3 几何损失函数
- 2.4 可选择性变换到其他参考框架
- 3 实验
- 3.1 玩具实验
- 3.2 当前车道线的检测
- 4总结
会议:CVPR 2019
标题:《End-to-end Lane Detection through Differentiable Least-Squares Fitting 》
论文链接: https://arxiv.org/abs/1902.00293v1
代码链接: https://github.com/wvangansbeke/LaneDetection_End2End
1. 摘要 车道检测通常采用两步传递法进行处理,其中首先预测车道标记的分割部分,然后在之前得出的分割区域上运行车道线模型(如抛物线或样条曲线)。这种两步方法的问题在于,网络参数不是针对真正感兴趣的任务(估计车道曲率参数)进行优化,而是针对代理任务(分割车道标记),从而导致性能次优。这里,我们提出中一种端到端且直接回归车道参数的训练车道线检测器的方法。该体系结构由两部分组成:一个深层网络,预测每条车道线的分段式权重图;一个可微分最小二乘拟合模块,该模块为每个图返回加权最小二乘拟合出的最佳拟合曲线的参数,这些参数随后可通过选择的损失函数进行监督。我们的方法依赖于观察到有可能通过最小二乘拟合程序进行反向传播。这就导致了一种端到端的方法,在这种方法中,特性是为真正感兴趣的任务而优化的:与需要通过启发式处理异常值的两步法相比,此网络在隐式的学习生产特征防止在模型拟合步骤中的不稳定。
论文的主要特色在于:
- 预测每条车道线的分段式权重图的深层网络
- 可微分最小二乘拟合
- 可选择的几何损失函数
文章图片
2.1 生成加权像素坐标的深度网络 图像中每个像素在坐标参考系中都有唯一一个与之相关的(x,y)坐标。在标准化坐标系中,左上像素的坐标为(0,0),右下像素的坐标为(1,1)。这些坐标可以表示为两个与图像大小相同的固定特征映射:一个包含每个像素的标准化x坐标,另一个包含标准化y坐标,由图1中的两个白色映射图表示。
我们可以为每个坐标配置一个权重W,由一个深度神经网络根据输入图像进行预测。这是通过设计网络以生成与输入图像具有相同空间尺寸(因此也与x和y坐标图有相同空间尺寸)的特征图来实现的,该特征图表示每个像素坐标的权重。任何现成的密集预测体系结构都可以用于此。为了将权重映射限制为非负值,网络的输出是平方值。如果我们对生成的权重图和两个坐标图进行平面化,则得到图像中每个像素i的x坐标、y坐标和坐标权重的m个三元组(Xi,Yi,Wi)的列表。如果图像具有高度h和宽度w,则列表包含m=h·w的三元组。此列表是接下来讨论的加权最小二乘拟合模块的输入。
对于车道检测的任务,网络必须生成多个权重映射:每个权重映射对应一条需要检测的车道线。车道线(有时也称为曲线)是指分隔两条车道的线,通常由道路上的车道标记表示。例如,在当前车道检测的情况下,网络输出两个权重图;一个用于车辆左侧的车道线,另一个用于右侧的车道线,因为这些线构成了当前车道的边界
2.2 加权最小二乘拟合模块 拟合模块列表包括m组(Xi,Yi,Wi),可将它们理解为二维空间中的加权点。其目的是通过加权最小二乘对坐标列表拟合曲线(如抛物线、样条曲线或其他多项式曲线),并输出最佳拟合曲线的n个参数。
最小二乘拟合法
许多传统的计算机视觉方法都将曲线拟合作为一个关键步骤。一个基本而简单的拟合过程是线性最小二乘法。考虑一个线性方程组如下形式:
文章图片
在m个方程有n个未知数中。如果m>n,则系统超定,不存在精确解。我们求助于最小二乘法找到解决方案,即将数据值与其对应的模型值之间的平方差之和最小化的解决方案:
文章图片
加权最小二乘拟合
我们可以将前面的公式扩展到加权最小二乘问题。设w∈r m×m为一个对角矩阵,其中包含每次观测的权重wi。在我们的框架中,观测值将对应于图像参考框架中的固定(x,y)坐标,权重将由基于图像的深度网络生成。加权最小二乘问题就是公式(3)所示。
文章图片
文章图片
图2,在0到点t之间,使预测曲线和真实曲线之间的几何损失最小化。
通过拟合程序进行反向传播
回忆一下前面的部分,我们有一个加权像素坐标的列表(Xi,Yi,Wi),其中坐标(Xi,Yi)是固定的,权重Wi是由输入图像上的深度网络生成的。利用这些值构造矩阵X、Y和W,求解加权最小二乘问题,通过加权像素坐标得到最佳拟合曲线的参数β。
这项工作的贡献在于:我们不把拟合过程当作一个单独的后处理步骤,而是通过它进行反向传播,并在感兴趣的参数β上应用一个损失函数,而不是在由网络得出的权重图上间接应用。
这样,我们就可以的的得到一个处理车道线检测的以端到端的方式的深度学习框架。
注意,方程2和3只涉及可微矩阵运算。因此,可以计算β相对于w的导数,因此也可以计算关于深度网络参数。通过矩阵变换进行反向传播的细节已经被很好地理解了。我们参考论文[11]来使用Cholesky分解来推导这个问题的梯度。可以在TensorFlow和PyTorch[26]中实现。
通过求解加权最小二乘问题进行反向传播损失,深度学习网络可以学习生成一个权重图,当采用最小二乘法时,给出准确的车道线参数,而不是像曲线拟合作为单独的后处理步骤的车道线分割那样优化代理目标的权重图。
作为曲线拟合步骤输出的模型参数可以直接用均方误差准则或通过下一节讨论的更为基本的几何损失函数来监督。
2.3 几何损失函数 曲线拟合步骤输出的n个曲线的参数βi可通过将其与地面真值参数^βi进行比较,并采用均方误差准则进行监督,从而得出以下L2损失:
文章图片
问题在于,曲线参数具有不同的灵敏度:一个参数值中的小误差对曲线形状的影响可能比另一个参数中相同大小的误差更大。
最终,损失函数的设计取决于任务:它必须为感兴趣的任务优化相关度量。对于车道检测,我们选择具有几何解释的损失函数:它将预测曲线yβ(x)和地面真值曲线^y_β(x)之间的平方面积最小化。(x)在图像平面中,直到t点(见图2)
文章图片
2.4 可选择性变换到其他参考框架 (Optional Transformation to Other Reference Frame)
在将加权坐标表(xi,yi,wi)对于输入到拟合模块之前,可以选择将坐标与变换矩阵h相乘,将其转换为另一个参照系。该乘法也是一种可微操作,通过该操作可以进行反向传播。
在车道检测中,例如,车道线在正视图(即自顶向下视图)中可以被更好的估算,而不是在原始图像参考帧中近似为抛物线。我们可以通过简单地将坐标从图像参考框架转换为正交视图,将它们与一个同构矩阵H相乘。在这种情况下,同构矩阵被认为是已知的。注意,不是输入图像被转换成正视图,而是坐标列表。
3 实验 我们所提出的方法本质上是通用的。为了更好地了解通过最小二乘拟合进行反向传播的动态,我们首先提供了一个简单的玩具实验。接下来,我们对车道检测的实际任务进行了评估。我们的目标不是广泛地调整方法,以在车道检测基准上达到最先进的性能,而是说明在公平的比较中,我们端到端的训练方法优于经典的两步法。
3.1 玩具实验
文章图片
如图3所示。蓝点代表坐标,大小代表权重。在加权最小二乘法中,蓝线是穿过蓝点的最佳拟合直线(即一阶多项式)。绿线代表最佳实线,是目标。如果我们按照第2.3节设计损失函数,并通过拟合模块进行反向传播,我们可以通过梯度下降迭代最小化损耗,从而使预测线收敛到目标线。这有三种方式:
1) 通过更新坐标(Xi,Yi),同时保持它们的权重 Wi固定。这与图中的第一行相对应,其中蓝点四处移动,但大小保持不变。
2) 通过更新权重Wi,同时保持坐标(Xi,Yi)固定。这与图中的第二行相对应,其中蓝点会改变大小,但保持在同一位置。
3) 通过同时更新权重Wi和坐标(Xi,Yi)。这与图中的第三行相对应,其中蓝点会改变大小同时蓝点四处移动。
对于下一节中的车道检测任务,我们将重点关注第二种情况,即坐标位置是固定的,因为它们表示位于规则网格上的图像像素坐标。因此,以输入函数为条件,损失只会反向传播到坐标权重上,并从坐标权重进一步传播到生成它们的网络中。
3.2 当前车道线的检测 现在开始现实场景中当前车道的检测任务。更准确的说,任务是在汽车正面摄像头拍摄的图像中预测当前车道的两条边界线(即汽车行驶的车道)的参数。如前所述,处理此任务的传统方法是使用两步法,即首先检测到车道特征,然后对这些特征进行车道线模型拟合;车道线模型通常是多项式或样条曲线。在本实验中,直线在正视图中被建模为抛物线y=ax**2+bx+c。网络必须从未变换的输入图像预测每个曲线的参数A、B和C。该误差测量为正视图中预测曲线y(x)和地面真值曲线_y(x)之间的归一化面积,距离车辆的固定距离t。
文章图片
该误差在自我车道的两条车道线和数据集中的图像上取平均值。
同样,我们的目标不是要超越文献中的车道检测框架的复杂性和准确性,而是要提供一个与经典的两步法相比较的端到端方法。数据扩充、更真实的车道线模型和优化的基础网络体系结构等扩展与我们的方法是正交的。为了提供公平的比较,我们以两种不同的方式训练同一网络,并根据误差度量来测量其性能。
我们比较以下两种方法:
交叉熵训练
在此设置中,生成像素坐标权重(两个权重图:每条车道线一个)的网络以类似分段的方式进行训练,每像素的标准二进制交叉熵损失。这对应于两步法中的特征检测步骤。分割标签是根据地面真值曲线参数创建的,只需绘制一个固定厚度的对应曲线作为一个密集标签。在测试时,通过最小二乘意义上的预测特征拟合抛物线。这相当于两步法中的拟合步骤。
端到端训练(论文中的)
在这种情况下,利用我们提出的方法,通过加权最小二乘拟合和几何损失函数对网络进行训练。无需创建任何代理分段标签,因为监控直接位于曲线参数上。它对应于第3.1节中的第二种情况。
数据集和训练设置
我们在Tusimple车道检测数据集上运行了我们的实验。手动选择并清除数据集2535个图像的注释,过滤掉无法明确检测到当前车道的图像(例如,当车辆正在转换车道时)。20%的图像被保存下来进行验证,注意不要在训练和验证集中包含单一时间序列的图像
网络结构用ERFNet。最后一层用于输出两个特征图,当前车道的每个车道线一个。在交叉熵和端到端实验中,图像分辨率为256x512、batch_size为8, epoch=350,以及学习率为1e-4的单个GPU的Adam上训练优化器。采用一种简单的数据增广技术,图像被随机地水平翻转。在端到端实验中,我们使用固定的转换矩阵H将加权像素坐标转换为正视图。请注意,输入图像本身不会转换为正视图,尽管这也是一个选项。该系统在PyTorch中实现。
文章图片
文章图片
图4显示了两种方法在训练期间的误差(即地面真值和预测曲线之间的标准化区域)。左边为训练集,右边验证集。
表1总结了这些结果,并报告了几何损失值(见第2.3节),这是我们端到端方法不管是在训练集还是在验证集上都能得到更低的误差
我们发现,无论在训练集还是验证集上,我们的端到端方法都比交叉熵损失训练的方法收敛到更低的误差。收敛速度较慢,但这并不奇怪:端到端方法中的监督信号比交叉熵方法弱得多,每个像素标签都很密集。要了解这一点,请考虑到端到端方法没有显式地强制权重映射分割图像中的实际车道线。即使网络生成了一个看似随机的权重图,只要通过加权坐标拟合的最小二乘符合地面真值曲线,损失(以及梯度)仍然为零。例如,根据图像的地平线和左角的消失点等图像特征,网络可能陷入局部最小值,生成权重图,仍然会产生相对较好的曲线,但很难改进。将交叉熵方法的快速收敛性与端到端方法的优越性能相结合的一种选择是先对网络进行预训练,后对网络进行微调。
文章图片
图5显示了我们的方法的一些定性结果。尽管监控信号较弱,但网络似乎最终发现,满足损失函数的最一致的方法是聚焦于图像中可见的车道标记,并将其映射到权重图中的分段表示。网络学习如何处理车道标志的巨大差异,并能够处理诸如图5底部示例中的褪色标志等具有挑战性的情况。
为了在拟合步骤中对异常值具有鲁棒性,经典方法通常采用迭代优化过程,如RANSAC、迭代加权最小二乘法和迭代最近点法。在我们的端到端框架中,网络学习从输入图像到权重映射的映射,从而使拟合步骤变得稳健。这将复杂性从后处理步骤转移到网络中,从而实现简单的一次拟合步骤。
4总结 【论文阅读笔记|目标检测 | End-to-end Lane Detection through Differentiable Least-Squares Fitting】我们提出了一种通过解求解网络中的加权最小二乘法问题来估计车道线的曲率参数的方法,该问题的权重是输入图片在深度网络中生成的。使用几何损失函数训练网络,使预测车道线和实际车道线之间的面积最小化。我们通过加权最小二乘拟合程序使反向传播动态可视化,并对实际车道线检测任务进行分类实验,结果表明,尽管监视信号很弱,但我们的端到端的方法优于两步法。通过网络内优化步骤进行反向传播的想法也可以证明在其他计算机视觉任务中是有效的,例如在活动轮廓模型框架中。在这种情况下,最小二乘拟合模块可能会被更通用的可微梯度下降模块所替代,这将在今后的工作中加以探讨。
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 上班后阅读开始变成一件奢侈的事
- Android中的AES加密-下
- 历史教学书籍
- 绘本讲师训练营【24期】14/21阅读原创《小黑鱼》
- 21天|21天|M&M《见识》04
- 绘本讲师训练营7期9/21阅读原创《蜗牛屋|绘本讲师训练营7期9/21阅读原创《蜗牛屋 》
- 【读书笔记】贝叶斯原理