摘要

车道检测系统是许多智能交通系统的重要组成部分。

我们提出了一种强大的车道检测和跟踪算法,以应对挑战性场景,例如车道曲率,磨损的车道标记,车道变化以及出现,结束,合并和分割车道。

我们首先提出一项比较研究,以找到一个好的实时车道标记分类器。检测完成后,将车道标记分组为车道边界假设。

我们将左右车道边界分别分组,以有效地处理和分割车道。

提出了一种基于random-sample consensus 和粒子滤波的快速鲁棒算法,可实时生成大量假设。

根据概率框架对生成的假设进行评估和分组。所提出的框架将基于似然的对象识别算法与马尔可夫式过程(跟踪)有效地结合在一起,并且还可以应用于基于通用零件的对象跟踪问题。在当地街道和高速公路上的实验结果表明,该算法非常可靠。

INTRODUCTION

从道路图像中检测和定位车道是许多智能运输系统应用程序的重要组成部分。

关于车道检测[1] – [9]进行了积极的研究,各种表示形式的算法也很多(including fixed-width line pairs, spline ribbon, and deformable-template model),

检测和跟踪技术(从霍夫变换到概率拟合和卡尔曼滤波),

并且已经提出了模式(立体或单眼)

由于受时间限制,处理器速度变慢,
仅基于simple gradient changes检测到车道标记,

而且许多较早的工作都在直线和/或高速公路上取得了成果
有清晰的车道标记或道路上没有障碍物。

许多商业车道检测系统可用,并且在许多挑战性的道路和照明条件下都表现出良好的性能。 但是,它们不提供车道曲率信息,而仅提供车道位置以提供可靠的结果。 尽管对于某些应用(例如,车道偏离警告),车道位置已经足够,但是还有其他一些应用需要车道曲率信息。

例如,当车道曲率未知时,碰撞预警系统会生成错误警报。 在图1中示出了示例场景。在不知道道路曲率的情况下,系统无法将人行道上的物体(例如,邮箱)与道路上的物体区分开,并且其可能产生错误警报。

作为基于视觉的方法的替代,可以将全球定位系统(GPS)与地理信息系统(GIS)结合使用。 但是,GPS在空间和时间分辨率上有局限性,而GIS中的详细信息经常丢失或不经常更新。
例如,在匝道外检测道路曲率非常重要
因为它会产生虚假碰撞警告,但是大多数基于GPS的系统甚至无法区分车辆是否进入了匝道。

最近的工作涉及弯曲的道路[5],[7] – [9],以及对具有挑战性的图像的可靠检测结果,
例如,分散注意力的阴影或领导车辆。
其中一些实时工作,有些则不行。

我们提供了一种实时车道检测和跟踪系统,该系统与以前的系统有以下区别。

(1) 它使用更复杂的车道标记检测算法(than gradient- or intensity-bump-based detection)来应对挑战性情况,
例如磨损的车道标记和分散注意力的对象/标记,例如在交叉路口和路面上

(2)它分别检测左车道边界和右车道边界,
而以前的大多数工作都是使用固定宽度车道模型。
结果,它可以有效地处理具有挑战性的场景,例如合并或拆分车道以及上坡和下坡。

(3)它将车道检测和跟踪合并到一个概率框架中,该框架可以有效地处理车道变化,出现,结束,合并或拆分车道。
先前的许多工作都集中在车道跟踪上,通常使用耗时的检测算法来初始化跟踪。 我们介绍了一种快速且强大的车道检测算法,该算法可以实时应用于每个帧。

我们的算法遵循“假设和验证”范式。
在“假设”步骤中,将较低级别的特征分组为许多较高级别的特征假设,并在“验证”步骤中对其进行过滤,以降低较高级别分组的复杂性。
图2显示了流程图。

首先,假设地面平坦[1],对图像进行校正
示例图像和校正后的图像如图3所示。
检测到可能的车道标记像素
在经过去畸变的图像中。

然后,将检测到的车道标记像素分组为车道boundary hypotheses.边界假设。
车道边界假设由约束的三次样条曲线表示。
结合了粒子滤波技术(跟踪)规则,随机共识(RANSAC)算法(用于检测)的组合方法,可以实时可靠地发现车道边界假设。

最后,将概率分组算法应用于将车道边界假设分组为左车道边界和右车道边界。
请注意,我们分别生成左车道和右车道边界假说(与之前的许多工作具有一致宽度车道模型的工作不同),以处理各种情况,例如开/关匝道或新兴车道

在第二部分中,对各种车道标记分类方法的分类性能和计算时间进行了比较研究。 在第三节中,我们介绍了假设大小边界的方法。在第四节中提出了概率分组算法。 实验结果在第五节中介绍,我们在第六节中介绍摘要和将来的工作。

II. LANE-MARKING DETECTION

道路图像样本如图4所示。

许多以前的算法只是寻找“horizontal intensity bumps”来检测车道标记,这在许多情况下显示出相当不错的性能,但无法区分由前面的车辆和较弱的车道标记道路标记/纹理导致的虚假false intensity bumps

例如,磨损的黄色标记通常具有与道路像素相似的灰度强度。 另外,有时我们需要处理较差的图像质量,例如,当我们需要对MPEG数据进行后处理时。

为了解决此类问题,我们应用了机器学习。 我们将各种分类器应用于车道标记检测任务,并进行了比较分析。
当车道标记的大小相对于距汽车的距离发生了巨大变化,
我们需要对其进行标准化,去应用标准分类器。

因此,我们首先要校正原始图像,如图3所示。 当我们假设地面是平坦的(仅针对此阶段)时,我们可以应用平面单应性来进行图像校正。 校正后的图像上的点(x,y)对应于原始图像中的点(u,v),其中和H是单应性矩阵。 通过使用带有四个参考点的简单外部摄像机校准,可以轻松获得单应性矩阵。 例如,可以在许多计算机视觉教科书中找到有关平面单应性的详细信息[10]。

当给出平面单应性时,将按照以下方式进行图像校正:
对于已校正图像的每个像素(x,y),都将获得其与原始图像的对应关系(u,v)。
因为在大多数情况下不是整数,所以通过线性插值原始图像中四个相邻像素的强度值(by flooring and ceiling the u and v)来计算图像的像素值。

一旦获得了整流图像,便在每个像素周围的小图像块上应用车道标记分类器。

去畸变的图像上车道标记的典型宽度大约为三个像素。
因此,将9×3窗口的原始像素值用作输入(灰度图像共有27个特征,彩色图像共有81个RGB值)。 为了找到合适的分类算法,我们测试了各种分类器。

应用双目算法[3],[4]可以进一步提高车道标记检测性能,但本文重点研究单眼图像。

为了学习,我们收集了421个车道标记和11124个非标记的图像补丁。 图5示出了示例图像补丁。 我们观察到各种颜色,纹理和宽度。 我们比较了数据集上各种分类器的分类性能和计算要求。 考虑了以下分类器

  1. Intensity-Bump Detection:是车道检测文献中最流行的方法。 这是最简单,最快的检测方法,也可以应用于未经校正的图像。 我们使用Ieng等人的实现 [6]。 我们为梯度阈值(s0)应用了各种值,以控制检测率和虚警率之间的权衡。

2)人工神经网络(ANN):我们测试了具有各种隐藏节点数量的双层神经网络。 训练一个人工神经网络(在我们的实验中使用了反向传播算法)需要大量的计算,但是实际的分类时间相对较小。 当存在n个特征(输入)和m个隐藏节点时,它需要nm乘法,nm + m加法和m个S型函数计算来对假设进行分类(在我们的示例中,n = 27或81,m = 7)。

3)朴素贝叶斯分类器Naive Bayesian Classifiers (NBC):尽管NBC具有不切实际的条件独立性假设,但它们仍表现出良好的分类性能。 我们比较条件概率的离散和单峰高斯表示。 对于这两种表示,学习时间与示例数成线性关系(最快)。 离散的NBC只需很少的计算即可进行分类。 高斯表示需要计算n次指数函数。 但是,我们可以避免使用概率的对数而不是实际的对数来调用指数函数。 实际上,对于两种表示形式,都必须使用对数以最小化数值误差,尤其是在特征数量较大时。 对于离散NBC,我们可以预先计算所有概率表项的对数以节省计算量。

4)支持向量机(SVM):在过去十年中,SVM迅速普及。 它们为合并内核方法提供了一个很好的框架。 我们测试了需要最小计算量的二阶多项式内核。 学习需要大量的计算,但是它受到多项式时间的限制。 分类涉及大量乘法:O(mn),其中m是支持向量的数量。 支持向量的数量至少为n +1,当数据不能清晰地分离(在转换后的特征空间中)或给出小的调整参数时,支持向量的数量可能会更大。 为了进行训练,我们使用了Colobertetal[11](SVMTorch)的实现,其调整参数为100。

关于以上大多数分类器的详细信息,可以在机器学习文献中找到,例如,[12]。


图6显示了提出的分类器的分类性能。 我们遵循[13]中提出的评估方案。 我们重复了五次分层交叉交叉验证十次,并显示了具有置信区间的receiver operating-characteristic 接收器工作特性(ROC)曲线。对于所有分类器,仅通过更改阈值即可获得ROC曲线(无需重新使用不同的参数)。

对于所有分类器,我们应用了各种参数并选择了最佳参数。 对于人工神经网络,我们将具有七个,十个和十五个隐藏节点的神经网络进行了比较,但是我们提出了具有七个隐藏节点的结果,因为它是最快的,而它们之间的性能没有显着差异。 对于离散的朴素贝叶斯网络,我们使用了七级离散化。 通过调整参数100.0学习了SVM

我们观察到,所有分类器都显示出比intensity-bump detector更好的性能。 实际上,在给定可接受的检测率的情况下,intensity-bump detector会引入过多的错误警报。 因此,使用以上任何一种分类器将提供更好的车道检测性能。 SVM显示出比其他任何分类器都更好的性能,然后是ANN。

我们还比较了分类器的分类计算。 我们将分类器应用于70×250尺寸的图像,并在表I中总结了计算时间。这些算法在Intel Core 1.83-GHz处理器上运行。 为公平起见,所有分类算法均在C ++内联函数中实现并进行了优化以带来最佳性能

不幸的是,SVM不够快,无法进行实时分类,因此我们选择使用ANN。

为了进一步减少计算时间,我们应用了级联分类:
首先,a simple gradient detector and an intensity-bump detector with loose (low) threshold values are successively applied to quickly filter out nonlane markings,,以快速过滤掉非车道标记,

然后,将ANN分类器应用于其余样本(数量要小得多)。 如表一所示,它显着减少了分类时间

我们将灰度车道标记图像用于上述分类结果和计算时间分析。 灰度图像是通过对RGB值(红色为0.5,绿色为0.4,蓝色为0.1)进行加权求和生成的,以更好地检测磨损的黄色车道标记。 如图7所示,施加这样的重量要比等重量的转换好。我们已经测试了各种不同的重量组合,并且建议的重量表现出最好的性能。

人们可以将分类器直接应用于彩色像素(总共81个特征),但是它在图像校正分类中引入了过多的计算,而并没有显着提高性能,如图7所示。

III. LANE-BOUNDARY-HYPOTHESES GENERATION WITH PARTICLE FILTERING AND RANSAC 带有粒子过滤和RANSAC的LANE边界假设生成

一旦检测到可能的车道标记像素[示例在图8(a)中显示],它们就会被分组为两个到四个控制点的均匀三次样条曲线。 样条曲线是平滑的分段多项式函数,已广泛用于表示曲线。 已经提出了各种样条曲线表示形式,并且在其中使用了三次样条曲线。

在三次样条表示中,第i个控制点和第(i + 1)个控制点之间的曲线上的点p表示为

参数ai,…,h由控制点唯一确定,以便曲线平滑。
(xi(0),y i(0))是第i个控制点,(xi(1),y i(1))是第(i +1)个控制点,且0≤t≤1。

三次样条曲线可以快速拟合,因为控制点实际上在曲线上。 我们使用该属性来应用RANSAC算法[14]。 RANSAC算法是一种鲁棒的拟合算法,已成功应用于各种计算机视觉问题。

在[7]中,Wang等。 使用B样条曲线表示弯曲的道路。 在B样条曲线表示中,控制点位于曲线的外部,其拟合过程需要大量的迭代。

另一方面,均匀三次样条拟合更快,但是当控制点之间的间距不均匀时,可能会导致曲线不规则。
但是,可以通过应用RANSAC技术过滤掉这种不规则曲线,同时仍然保持计算的可管理性。 我们还对三次样条施加了附加约束,以防止形成不合理的假设:对于所有i,yi(t)应该是单调的,并且最大曲率应小于0.05。

我们的RANSAC拟合过程如下。
首先,标线点被分组为线段。
由于标线检测的结果很嘈杂[图8(a)],因此我们应用高斯平滑[图8]。 8(b)],然后进行非最大值抑制以去除噪声。
然后,我们遵循[15]中提出的线分组方法来生成线段,如图8(c)所示。

下一步是产生假设。 每个假设都是由一个,两个或三个线段的随机集合生成的。
首先,对于每个假设,随机确定是使用两个,三个还是四个控制点。
带有两个控制点的样条曲线代表一条线,三个代表近似弧,四个代表更复杂的曲线。

控制点数量的增加会增加表示能力,但同时也会降低拟合的健壮性。 使用RANSAC算法可以更轻松地处理此折衷
因为生成了各种控制点数量的许多假设,然后通过一个可以处理此折衷的单一评分函数(在IV-B部分中介绍)进行了评估。

从一个或两个线段的随机集合中生成两个控制点的直线。 尽管单线段足以构成直线假设,但我们也使用一对线段进行稳健的拟合。
请注意,我们仍然需要来自单个线段的假设,因为有时,对于车道边界(例如,实线车道标记)仅检测到一个线段。

从两个线段的随机集合中生成三个控制点的近似弧,从三个线段的随机集合中生成四个控制点的更复杂的假设。
为了生成可靠的假设,施加了一些约束。
例如,第一(最近)线段应足够靠近车辆,例如在15 m以内。
另外,两个附近的线段应在较小的误差范围内处于合理曲率的共同弧上。

第一个(最近的)控制点被强制在已校正图像的底部。
计算其位置
通过外推前两个线段的拟合弧。

最后一个控制点设置为最远线段的终点。

迫使中间的控制点均匀间隔很重要,因为控制点的不均匀间隔会使均匀的样条拟合不稳定。

因此,其余控制点是从线段的端点/中心点中选择的,这些端点的间距应尽可能均匀:

对于具有三个控制点(x1,y1),(x2,y2)和(x3,y3)的近似弧,
第二个控制点(x2,y2)被选择为最大化

{min(d2,d1)/ max(d2,d1)},

其中di = yi + 1 -yi。

对于具有四个控制点(x1,y1),…,(x4,y4)的复杂曲线,

选择第二和第三控制点以最大化

{min(d1 / d2,d2 / d3)/ max(d1 / d2,d2 / d3)}。

在我们的实现中,每个帧最多生成100个random hypotheses随机假设。
一旦产生并验证了假设,便会进行重叠分析。

假设基于其车道标记支持和曲线罚分进行评估。
有关以上分数的详细信息,请参见第IV-B节。 结果,最终选择了少量不重叠(但可能部分重叠)的假设。

另一组假设是通过应用跟踪算法生成的。 我们的跟踪算法基于粒子过滤技术[16]。

其他跟踪技术,例如卡尔曼滤波或活动轮廓(SNAKE),也可以在此框架内使用。 但是,我们选择了一种粒子滤波算法,而不是将卡尔曼滤波算法用于预测的车辆运动上,而是对其施加了更多的权重,从而为图像证据赋予了更大的权重。 由于车辆的振动(包括俯仰变化),世界(车辆)坐标系中车道边界的运动不能通过卡尔曼滤波器正确建模。

主动轮廓(例如[7]中使用的轮廓)可以提供良好的跟踪结果,但是与提出的粒子滤波算法相比,它需要太多的计算。

为了进行粒子过滤,为简单起见,通过高斯分布对车辆的运动(旋转和平移)进行了建模,但是计分功能经过精心设计,以
防止结果受此模型支配。

我们的粒子过滤算法如下:
1)给定一个随机选择的运动,根据该运动,通过移动先前检测到的车道边界的控制点来生成一对车道边界假设
2)将最后一个控制点的位置调整到外推曲线附近的车道标记像素;
3)根据支持车道标记像素生成许多假设(在我们的实现中为50个左右边界)并进行评分;

最后,将最终边界假设的控制点位置设置为所有假设位置的加权和,其中权重基于相应曲线假设的车道标记支持得分。

权重能够将正确的假设与相对错误的假设区分开来,以防止结果受到初始运动模型的支配,这一点非常重要。

因此,权重the weights were exaggerated by applying a sharp sigmoid function , a sharp sigmoid function用了平均值是前一帧的曲线得分。

由于车辆的向前运动,所有控制点都靠近车辆。因此,我们需要调整第一个控制点的位置,以使其不会从图像中消失。我们强制将第一个控制点的位置始终位于图像的底部。通过对曲线进行插值来计算调整后的位置。还检查第二个控制点,以查看其位置是否过低,因为如果它继续下降,则最终将与第一个控制点发生碰撞。此外,控制点的不均匀间距会使均匀的样条拟合不稳定。因此,当第二个控制点的位置太低时,将其删除,并在最后一个控制点之前插入一个新的控制点。

从RANSAC算法和粒子过滤过程中选择的车道边界假设如图8(d)所示。粒子在控制点附近也显示为黄色/绿色点云,其中点的颜色表示重量(越黄,越高)。

在我们的实现中,每个车道边界(左/右)最多选择五个假设,包括来自粒子滤波过程的假设

IV. PROBABILISTIC GROUPING OF LANE BOUNDARIES


我们的下一个目标是从图8(d)所示的假设中选择最佳对。 我们将概率推理应用于决策。 我们使用三种类型的证据特征:

  • 边界假设的车道标记支持,lane-marking
  • 两个边界假设的兼容性, two boundary
  • 和时间的连贯性。temporal coherence.

实际上,这是一个典型的对象跟踪问题。 尽管先前的大部分工作都将一个物体作为一个整体进行跟踪,
我们的问题需要基于 part-based tracking.。

在本节中,我们介绍一种用于对象跟踪的新公式,该公式特别适合对象检测的“假设并验证”范式。

A. 概率分组Probabilistic Grouping for Part-Based Tracking

我们使用大写字母(例如X)来表示随机变量,并使用小写字母(例如x)来表示这些变量采用的某些赋值。

我们还考虑缺少零件,并且将语句P(X =φ)用作P(X = missing)的简写。

多个变量集的集合用黑体字母表示,例如X和x。 例如,在车道追踪应用中,X = {L,R},其中L代表左侧,R代表右侧车道边界假设。

典型的时间推理模型,例如动态贝叶斯网络[17],使用后验概率从预定候选中选择最佳假设。

其中X是目标随机变量,xi表示特定的候选项,e是观察到的证据(例如车道标记分数或跟踪结果对运动模型的适应程度-有关更多详细信息,请参见IV-B节)。

但是,许多对象识别方法都使用最大似然估计[18],[19]。 他们的目标是找到

其中Xi是特定假设的随机变量。 在这种情况下,后验概率(2)的总和没有任何意义,但是

有多种原因使用最大似然估计。

首先,许多对象识别算法都使用“假设和验证”范式,目标是从大量(而非预定的)重叠假设中选择最佳的。

实际上,使用似然估计更有意义,因为生成的假设并非真正不相交。

其中许多是重叠的或共有相同的部分,选择一个并不完全意味着拒绝另一个。

另外,对二进制分类问题进行建模比对多分类问题进行建模要容易得多,尤其是对于学习而言。

我们介绍两种方法的组合。

我们的方法使用似然估计,但其时间推理基于动态贝叶斯网络的公式。

对于每个假设Xi,我们的目标是估计P(xi | e)。 Xi由n个部分X1 i,…,Xn i组成。

我们在这里使用似然估计,xj i代表Xj i = true或Xj i = false。

此外,我们认为零件未被检测到或缺失,我们使用符号xj i来表示Xj i =φ.2。

例如,我们估计车道跟踪的P(L2 = true,R1 = true | e)以及P(L2 = true,R =φ| e)。

当我们假设证据变量e是三种类型的集合,即fin依赖证据变量e =(ec,et,ep),其中ec是在当前框架中收集的一组证据时,ep是在以下框架中收集的一组证据 过去,
and et是一组过渡证据(例如时间相关性)。

然后,我们想知道部分假设的每个可能组合的P(xi | ec,et,ep)。

应用贝叶斯规则


where α =1/P(ec) is a normalizing constant.
给定一个图像帧,估计P(ec | xi)在对象识别领域中得到了很好的研究。

面临的挑战是估计P(xi | et,ep)。

为了降低复杂度,我们采用马尔可夫假设,即在给定先前状态的情况下历史是有条件独立的


其中H是前一个对象的随机变量,而hk表示单个假设或缺失部分

注意,我们不仅使用先前检测到的对象,而且还使用许多先前拒绝的假设。
有两个原因。
首先,在某些情况下会生成一些假设,但其中没有一个足以被接受。它可能是错误的警报,(噪音)或证据支持相对较弱的对象。

我们要选择一个对象,它的图像支持(et)可能相对较弱,但是随着时间的推移会被一致观察到,
而不是虚假的警报,后者可能在一帧时具有更强的强度,但无处可逃(短暂的时间支撑)。

使用关于被拒绝的假设的信息可以解决这个问题。

其次,当对象处于过渡阶段时(例如,车道边界在匝道处分为两行),
可能会竞争两个或多个强假设。

最初的假设最终将变得越来越弱,而图像支持也越来越弱,但仍然具有强大的时间支持。

除非考虑到先前帧被拒绝的假设,否则新兴的帧将获得更强的图像支持,但不会获得时间上的支持。

我们面临的问题是,我们从前一帧估计的是假设的似然估计,而不是P(H = hk | ep),
除非hk = φ

为了解决这个问题,我们从以前的似然估计中估计出P(H = hk | ep)。 hk的某些成员可能代表缺失的部分,我们将缺失的部分与检测到的部分H =(D,M)分开,

其中D代表检测到的部分,M代表缺失的部分。 我们使用以下近似


以下部分,看不下去了。。。


因此,我们只有三个独立的参数。

1)P(xj | Xj =φ):给出了检测到(或存在)零件假设的先验概率。 所有部分都设置为0.999

2)P(Xj =φ| Hj =φ):出现部分的概率。 参数越大,系统对新出现的假设和噪声的反应越快。但是,当检测性能足够好时,最好对此赋予较大的权重,因为冗余检测可以补偿跟踪失败。 在我们的车道追踪系统中,所有零件均设置为0.1

P(Xj =φ| Hj =φ):消失部分的概率。 参数越小,系统越依赖于跟踪。 但是,将其设为零可能会在零件消失时导致错误的检测或定位错误。 在我们的车道跟踪系统中,为所有零件分配的数字非常小(1e-8),因为在大多数情况下,跟踪比检测要健壮得多。

B. Application to Lane-Boundary Grouping.应用于车道边界分组

在车道边界分组的情况下,X = {L,R}。

为了获得P(ec | l,r),我们将证据变量ec分为彼此独立的变量(el代表左假设,er代表右假设)和从属变量(elr)。

然后,P(ec | l,r)= P(el | l)P(er | r)P(elr | l,r)。

对于el和er,我们使用车道标记支持得分和曲线罚分。
For el and er, we use lane-marking support scores and curve penalties.
车道标记支持得分是从平滑的车道标记得分图像中获得的

[图。 8(b)]

其中p是车道边界假设上的像素,I(p)是平滑的车道标记分数(像素的强度)。 除了车道标记支持得分外,曲线罚分还用于防止过度拟合。 如果在没有车道标记支持的情况下更改弯道的方向,则会受到惩罚

对于所有点p1和p2,它们之间没有车道标记支持。

当从车道标记支持和曲线罚分中估计出P(el | l)或P(er | r)时,我们还可以根据给定的这些分数P(l | el)或P(r)计算车道边界假设的后验概率 | er)通过应用贝叶斯规则。 这些后验概率在假设生成阶段用于假设选择(第三部分)。

首先,我们检查平均车道宽度,车道宽度的变化以及车道不兼容的损失。

请注意,由于车辆的俯仰运动,上/下坡和/或道路宽度的变化,车道宽度可能会略微增加或减少(在图像内)。

我们假设车道宽度可以小比例线性增加或减少。

给定一个车道边界对,在不同距离处对车道宽度进行采样,并拟合为线性方程,以获得平均车道宽度和车道宽度的变化。

车道不兼容惩罚是最大剩余距离。

对于P(et | l,lprev)和P(et | r,rprev),我们检查角度变化,横向运动,形状差异(以与车道不兼容罚分相似的方式获得)以及 长度(为简短的假设施加惩罚)。

有隐藏变量。 因此,所有的概率分布[包括背景模型,例如P(el | Li = false)]都可以直接从正例和负例中学习。

手动给出大量正面和负面的例子非常繁琐。 因此,采用半监督学习的方法来估计参数。 步骤如下。

1)手动给出概率分布参数以产生合理的结果。 这不是很困难,因为所有概率分布都非常直观。

2)自动检测结果被用作估算参数的依据。 收集否定假设并不容易,因为许多被拒绝的假设并不是真正的否定假设,而只是可能性较低的假设。 为了解决这个问题,我们可以在假设选择阶段首先应用一个宽松的阈值,即也可以产生“坏”假设。 然后,选择最低可能性的假设作为否定示例。 否定假设的可能性应该比错误检测的可能性低得多。

3)车道检测算法再次应用新参数。 如有必要,请转到步骤2)。

通过检查在步骤2)中收集到的正向和负向学习数据,我们对收集的示例应用了各种参数分布,例如高斯分布,半高斯分布,伽玛分布和离散分布。 标记支持得分的示例如图9所示。伽玛分布非常适合正例和负例。 我们还需要仔细检查这种可能性是否合理。 例如,使用具有不同均值和方差的一对高斯分布将导致非单调似然。 由于大多数证据变量是分数或罚分,因此对此类变量使用非单调似然函数将产生分类离群值

图9.分析分组参数。 对于车道标记支持得分,无论是正面还是负面的例子,伽玛分布都很合适。 在拟合参数分布时,我们还需要检查看似合理的可能性(黑色曲线)。例如,对于该变量,假设单调递增。

V. EXPERIMENTAL RESULTS

我们首先只给出关于检测算法的实验结果(无跟踪)。

为了进行比较,我们实现了消失点的Canny / Hough估计(CHEVP)算法。

在[7]中,Wang等。介绍了CHEVP算法来初始化其B样条SNAKE跟踪算法。

CHEVP算法执行以下操作:

1)在垂直分割的图像上使用霍夫变换检测线段;

2)对水平仪进行投票;

3)根据检测到的地平线在图像的每个片段中找到车道边界候选者;

和4)将它们拟合为样条曲线。

该算法的实现方式使其在算法网站(http://www.ntu.edu.sg/home5/ps2633175g/chevp.htm)上显示的所有图像均显示相似的结果。

原始的CHVP算法已经做了一些氨基修饰,以改善我们的测试视频剪辑的结果。例如,地平线检测对前方车辆和/或道路上的非车道标记对噪声敏感(图10)。

我们不是从每个帧中检测地平线的位置,而是从校准参数中得出地平线的。尽管实际水平位置根据车辆的俯仰运动而略有不同,但是使用固定的水平位置要比在每一帧中检测到的水平位置更加准确和可靠。

对于我们的算法,我们仅使用基于RANSAC的车道边界检测和仅基于当前帧证据的概率分组。两种算法均在352×240图像分辨率的短视频剪辑(总共923帧)上进行了测试。

我们的检测算法在80%以上的帧中显示出正确的检测结果。在不到4%的图像帧中发生了未对准(大多数情况下是未对准的),而在其余部分(14%)中,检测失败。对于CHEVP,我们对偏差情况采用了更为宽松的方法,因为在Wang等人的工作中。 [7],最后的结果是使用蛇拟合来完善的。

即使忽略轻微的偏差,结果仍无法与我们的结果相提并论。仅在52%的图像帧中检测正常,其中11%的图像存在严重的失准,而在37%的图像中存在失误。

霍夫变换未能抓住许多虚线车道标记[图。 11(a)],而拾起错误的线会导致对齐错误[图11(a)]。 11(b)和(c)]。可以从http://path.berkeley.edu/~zuwhan/lanedetection/下载得到的视频剪辑。

现在,我们在完整算法(检测和跟踪)上展示实验结果。我们在从正常公交路线拍摄的3分钟视频剪辑中测试了该算法。该视频剪辑为176×120图像分辨率的MPEG格式。视频质量和分辨率比以前的视频和大多数以前的作品中使用的视频质量和分辨率差很多。此外,它包含所有困难的场景,包括车道变更,合并/新建/分割车道和结束车道(在交叉路口)。此外,总体标线条件要差得多。例如,一些磨损的车道标记和磨损的道路之间的对比度非常低

提出的算法以10帧/秒的速度运行,总共1951帧。在Intel Pentium 4 3-GHz处理器上,平均计算时间(包括操作系统开销,例如虚拟内存使用量,但不包括视频读取/解码时间)小于60 ms /帧。该程序是使用OpenCV库在Microsoft Windows上的C ++中实现的。在高分辨率视频(352×240)上,计算时间并未显着增加(仍低于60 ms),因为大部分计算是在固定大小的已校正图像上进行的。因此,只要有可能,我们就可以使用更高分辨率的视频来提高性能-更高分辨率的视频有望获得更好的性能,因为我们可以获得质量更高的经过整流的图像。请注意,某些先前的车道检测算法无法实时运行。例如,Wang等。 [7]最多需要4 s的检测时间和2帧/ s的速度在Intel Pentium III上进行跟踪。

示例结果在图1和2中示出。 12(良好的检测结果)和13(不良的检测结果)。由于没有绝对的地面真相,并且很难对结果进行量化,因此我们将不良检测分为四类:误检测车道边界的两侧,误检测两个车道边界的其中之一,错误警报或严重错位以及轻微错位。很难从主要错位中的微小错位确定好的检测结果,但是图13中的结果显示了我们的指导原则。图13(k)是轻微的未对准,而图13(l)-(o)是主要的未对准。

只有一个错误警报的情况是由另一个有效的车道边界引起的[图。 13(p)]。

但是,由于我们的概率跟踪框架将冗余检测与跟踪结合在一起,因此最终被正确的方法接管了。校正错误检测的另一个示例如图14所示。在下一帧中校正了未对准。

实际上,这些校正能力使我们的方法与大多数以前依赖于时间过滤的先前算法区分开。大多数主要的未对准是由低图像质量引起的。例如,MPEG压缩副作用有时会在车道标记检测中引起错误警报,并且很容易在弯道末端导致未对准。大部分错误检测是由于标线检测失败或缺乏实际的标线引起的。许多车道标记检测失败是由于弯道陡峭和/或地面不平坦所致。在这种情况下,需要进一步的研究来改善车道标记检测。

如图13所示(第一行),某些误检是由立交桥的强烈阴影引起的。这种故障是由于低端自动光圈相机的局限性造成的。由于阴影区域和非阴影区域之间的对比度很高,因此阴影内部的车道标记的对比度非常低。请注意,建议的算法可以公平地处理其他富有挑战性的照明条件(图15)。

自发错误检测的另一个主要情况是由于车道的快速变化(第三行的前两个)。由于在这种情况下车道边界移动不正常,因此拒绝了一些带有较弱车道标记支持的正确车道边界假设。

定量结果总结在表II中。可以在同一网站(http://path.berkeley.edu/~zuwhan/lanedetection/)上下载所得的视频剪辑。在视频剪辑中,左侧的红色细曲线是选定的假设,橙色和黄色的粗曲线是检测到的左右车道边界。还提供了未经处理的视频剪辑,以供将来进行比较研究。其他具有挑战性的视频剪辑(包括在检测实验中使用的视频剪辑)的其他结果如图15所示。它表明,所提出的算法在各种干扰(与非车道标线或领先的车辆竞争)和低照度条件下均能很好地发挥作用。请注意,低照度图像的右车道边界不是车道标记,而是路缘。是否可以检测到路缘石取决于应用程序-在许多应用程序中(包括用于碰撞警告的应用程序)检测单个车道边界就足够了。这些其他视频剪辑的结果也可以在同一网站上下载。

VI。 总结和未来工作

我们针对各种挑战性场景中的本地道路和高速公路引入了arobustreal时间轴检测和跟踪算法。

我们首先对车道标记分类性能和计算成本进行了比较研究。我们介绍了一种基于RANSAC的鲁棒实时车道检测算法,并通过概率分组框架将其与基于粒子过滤的跟踪算法结合在一起。

The suggested grouping framework can generally be applied to other part-based object detection and tracking problems. The result was promising. 建议的分组框架通常可以应用于其他基于parts的对象检测和跟踪问题。 结果令人鼓舞。

未来的工作将其与基于视觉的障碍物检测算法集成在一起,例如,用于碰撞预警系统[20]。 初步结果如图16所示。通过应用传感器融合算法,将基于视觉的车道和障碍物检测结果与其他传感器信息相结合,可以显着提高碰撞预警性能。

【翻译】Robust Lane Detection and Tracking in Challenging Scenarios相关推荐

  1. 实时车道检测--A Novel Vision-Based Framework for Real-Time Lane Detection and Tracking

    A Novel Vision-Based Framework for Real-Time Lane Detection and Tracking SAE Technical Paper 2019-01 ...

  2. Robust Lane Detection from Continuous Driving

    目录 Abstract I. INTRODUCTION B. Network Design C. Training Strategy IV. EXPERIMENTS AND RESULTS Abstr ...

  3. Heatmap-based Vanishing Point boosts Lane Detection 论文翻译

    基于热力图消失点增强车道线检测 论文:Heatmap-based Vanishing Point boosts Lane Detection 摘要 基于视觉的车道线检测(LD)是自动驾驶技术的关键部分 ...

  4. 对比学习系列论文SimROD(二): A Simple Adaptation Method for Robust Object Detection

    0.Abstract 0.1逐句翻译 This paper presents a Simple and effective unsupervised adaptation method for Rob ...

  5. 笔记:A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images

    A Novel Representation of Parts for Accurate 3D Object Detection and Tracking in Monocular Images 20 ...

  6. 点云 3D 目标检测 - CenterPoint:Center-based 3D Object Detection and Tracking(CVPR 2021)

    点云 3D 目标检测 - CenterPoint: Center-based 3D Object Detection and Tracking - 基于中心的3D目标检测与跟踪(CVPR 2021) ...

  7. 基于深度强化学习的车道线检测和定位(Deep reinforcement learning based lane detection and localization) 论文解读+代码复现

    之前读过这篇论文,导师说要复现,这里记录一下.废话不多说,再重读一下论文. 注:非一字一句翻译.个人理解,一定偏颇. 基于深度强化学习的车道检测和定位 官方源码下载:https://github.co ...

  8. Agnostic Lane Detection

    Agnostic Lane Detection 翻译 Abstract 车道检测既重要又具有挑战性自动驾驶任务受很多因素的影响因素,例如光线条件,其他因素造成的遮挡车辆,道路上不相关的标记和固有车道的 ...

  9. Robust Scale-Adaptive Mean-Shift for Tracking

    目录 核密度估计KDE: Mean Shift: ASMS: [ Robust Scale-Adaptive Mean-Shift for Tracking]论文阅读笔记 背景:基于均值偏移的目标跟踪 ...

  10. 车道线检测--End-to-end Lane Detection through Differentiable Least-Squares Fitting

    End-to-end Lane Detection through Differentiable Least-Squares Fitting https://github.com/wvangansbe ...

最新文章

  1. R语言PCA主成分分析(Principle Component Analysis)与线性回归结合实战
  2. SpringMVC接收checkbox传值
  3. SAP 电商云 Spartacus UI 点了 Shipping Method 之后的执行逻辑
  4. Drools 7.4.1.Final参考手册(六) 用户手册
  5. 作者:周一懋(1982-),男,江苏汇誉通数据科技有限公司大数据事业部总监、工程师...
  6. oracle查看数据库是否恢复成功_【新书连载】测试工程师核心开发技术(9)—数据库常用管理命令...
  7. 拜登公布价值1.8万亿美元“美国家庭计划”
  8. springBoot过滤器去除请求参数前后空格
  9. 网络配置管理大大减轻网络管理员的负担
  10. 谈谈时间序列的平稳性
  11. 宝藏又小众的Digital Tutors视频教程素材网站分享
  12. python办公自动化(十一)自动分类文件夹
  13. 对“黑暗森林”的质疑和讨论(总结各家言论)
  14. 【公告】淘宝 npm 域名即将切换 npmmirror 重构升级
  15. 起源地杯青年足球锦标赛
  16. 论文介绍 -- Rethinking the Evaluation of Video Summaries
  17. 为什么计算机无法读取u盘,电脑无法识别读取U盘怎么办?逐一排查解决问题
  18. 线性最小二乘法拟合 matlab程序,曲线拟合的线性最小二乘法及其MATLAB程序
  19. 使用python对在线网易有道翻译接口进行分析及破解js加密
  20. jenkin设置定时构建及时区修改

热门文章

  1. ajax跨域post请求的java代理实现
  2. 美团 Flink 大作业部署与状态稳定性优化实践
  3. java使用httpClient解决外部url请求访问
  4. webStrom 开始你的第一个React应用
  5. vue host配置_从零开始部署一个 vue 项目
  6. python 下标 遍历列表_Python中遍历列表中元素的操作
  7. Scala学习03——基础语法
  8. 连续竞价java_Java 方法method
  9. gin框架-2-返回是html格式的网页数据
  10. 检测UDP端口是否开放的命令