英语原文共 10 页
驾驶辅助实时车辆跟踪
摘要 汽车尾灯夜间检测是目前在廉价硬件上可以快速完成的一项任务。我们依靠这样的检测来构建一个基于视觉的系统,并以一种基于规则的方式将其耦合,从而能够检测和跟踪车辆。这样就可以生成一个接口,实时通知驾驶员其他车辆的相对距离和速度,并在出现潜在危险情况时触发警告。我们使用安装在汽车挡风玻璃后面的摄像机拍摄序列来演示这个系统。
关键词 车辆跟踪 实时 灯光检测
1 介绍
新型车与老式车的主要区别之一是嵌入式电子元件的使用越来越多,其作用是提高驾驶员的安全性。即使是纯粹的机械装置,比如刹车,现在也已经通过电子手段得到了增强。虽然一些汽车现在配备了近距离传感器来辅助停车,但新的趋势是为它们配备远程雷达传感器或基于视频的传感器辅助功能,以保护车辆乘客、其他车辆和行人。本文介绍了一种低成本的基于视频的辅助系统,该系统依靠尾灯跟踪来定位夜间的其他车辆,分析它们的轨迹从而避免碰撞。我们选择夜间是因为这是一种微妙的情况,在这种情况下,驾驶员对距离的感知要比白天差得多, 这使我们的系统可能非常有用。对可靠实时性能的需求使其成为一个具有挑战性的问题,因为它对可能使用的算法施加了限制。
我们用一个安装在汽车挡风玻璃后面并指向前方的小摄像机来演示我们的方法。从本质上说,同样的方法也可以用在通过检测前照灯而不是尾灯的后置摄像头来监控汽车后面的情况。
我们的方法包括以下步骤:我们首先使用标准的低级图像处理检测独立的候选尾灯。然后我们使用适当的标准将它们进行配对。最后,我们会随着时间的推移跟踪结果对来推断车辆的存在和位置。 这使我们能够生成一个类似雷达的视图,其中包括到其他汽车的距离和它们的相对速度。 如图1所示,这个视图可以对驾驶员非常有帮助。通过对输入图像的进一步分析,该系统还可以检测到闪烁是否被激活。
因此,本文的贡献是双重的:首先,我们提出了一种简单、有效和实时的夜间跟踪车辆技术,在城市和农村环境中,同时根据摄像机实际估计他们的轨迹和速度。其次,我们给驾驶员提供一个有价值的交互界面,可以通过增加他对交通状况的感知来帮助他了解情况,并在可能发生需要提高注意力的事件时触发警告。
图1 实时跟踪系统的样本输出。在左侧被跟踪的车辆上有标记,并覆盖了它们到摄像机的距离(以米为单位)。在右边,一个类似雷达的场景被绘制出来:底部的矩形代表安装摄像头的汽车,其他代表前面的车辆。它们上面的短线段表示它们相对于摄像机的相对速度。
2 相关工作
在交通中实现稳健和准确的车辆跟踪的标准方法是采用复杂的仪器,如雷达或者激光雷达。然而,与标准摄像机相比,这有一个缺点就是价格昂贵。为此,近年来,多名作者对基于视频的车辆检测和跟踪问题进行了研究。一些研究人员专注于分析交通和车辆的运动,或者使用静态摄像机检测车辆。另一些人则研究通过安装在车辆上的摄像机捕获到的序列上采用视觉算法可以检索到什么样的信息。
其中一种是使用摄像机对可能对应于其他车辆的光源进行检测,但没有即时跟踪,而是利用光源光谱分布进行判别。[7]中的工作与我们的方法类似,使用尾灯来检测车辆,但不确定车辆在空间中的位置,且实时运行需要非常低的分辨率输入和混合的硬件/软件实现。如果闪光灯被激活,它也会失效。类似地,[8]是通过前灯检测迎面而来的汽车,但这项工作也只是专注于确定汽车是否存在,而不是它的位置。
另一方面,一些工作解决了实时跟踪问题,这也是我们试图解决的问题。文献中提出了不同的技术,例如使用声纳和视觉信息的混合或使用立体视觉。为了达到跟踪的目的,[11]建议在被跟踪的车辆上安装一些人工地标,[12]则使用车辆背部的模板进行跟踪。[13]提出一种高速公路车辆跟踪系统,使用边缘和模板,它能够实时运行时多亏了一个自组织网络系统架构.最后,[14]介绍了一种自动驾驶汽车在夜间跟踪领头车的系统,该系统利用尾灯计算出大致的轨迹。此方法只能跟踪一辆车,且需要手动初始化引导车辆的位置。因此,我们的贡献是统一 并改进后一种方法,以建立一个能够在夜间在公路和城市环境中跟踪多辆汽车的全自动系统。此外,我们的系统不需要任何特殊的硬件,但仍然可以实时运行,这使得它能够迅速触发对驱动程序有用的警告。
3 算法概述
我们的框架由两个主要部分组成。第一部分,在第4节中描述,涉及分别分析输入帧和输出检测到的车辆列表,以及每个候选车辆的置信值。这个列表是通过首先找到最可能与尾灯相对应的图像补丁,然后通过在所有可能的对中选择满足特定标准的对来耦合它们来获得的。
第二部分将那些检测到的对作为输入,如第5节所述。 然后,它通过连接跨连续帧的检测来生成一个时间一致的场景重建。这使得系统能够找到真正对应于实际车辆的轨迹,并根据摄像机重建它们的轨迹。最后利用这些信息生成类似于雷达的场景视图并预测潜在的碰撞。
4 车辆检测
4.1 车辆检测的光耦合
车辆检测算法包括分别分析输入图像:在每一帧中,我们首先检测所有n个光斑, 其次,我们生成可能对候选尾灯,最后我们过滤掉那些先验的不可能时车辆的东西。在本节中,我们将首先描述如何过滤光对,以提供车辆检测如何执行的全局视图。然后我们将详细解释如何在输入图像中检测光斑并对其进行特征描述。
4.1.1 对滤波
首先,我们需要定义一些测量值和阈值,以选择最有可能成为汽车的两个主要尾灯的对灯。为此,我们首先引入一组必须满足的条件。任何一对不符合其中至少一项的灯将立即从潜在的车辆名单中删除。为了避免遗漏某些车辆,所有用于计算这些条件的参数都以最小化假阴性数量的方式设置,因此还包括一些在后续跟踪阶段将被滤掉的异常值。
要应用的最重要的阈值是需要一对灯同时位于同一水平线上。因此,我们首先将第一个条件定义为它们之间的角度必须小于一个非常低的阈值,如下所示:
,
是两个光斑之间的垂直距离,是它们之间的水平距离。我们将在第4.2.3节中解释如何计算这些量。
其次,我们假设两个尾灯的形状应该是相似的,假设灯的变化最小。因此,我们选择一个合理的阈值,该阈值在训练序列验证后计算得出。 条件可以定义为:
,
其中的计算将在第4.2.4节中定义。
由于光的面积理论上也不应该变化太大,因此我们定义了第三个条件来移除两个光的面积之间有很大差异的对:
。
在第4.2.4节中,我们将展示如何计算候选尾灯的面积。数量定义了两个灯之间的面积差,而是它们的平均面积。
最后,条件代表两个候选尾灯应具有相似外观的事实:
。
候选尾灯的类型定义如第4.2.5节所述。其中还将介绍一种定量计算两个光斑之间的差异类型的方法。
4.1.2 不同指标
我们现在可以定义四个与之前不等式左项不同的,用右项对它们进行归一化,从而得到满足条件的值在0到1之间的变量:
,
, 。
最后的差异测度D由所有之和组成:
。 (1)
一旦定义了前面的条件和不同的度量,车辆检测算法就变得简单,只需生成每对可能的尾灯,并存储满足所有必要条件及其D值的尾灯。
4.1.3 检测结果
从图2中可以看出,在大约150对输入帧中,只有4对满足的所有条件并被保留,其中一半是真实的车辆。此外,所有单独检测到的车辆都是连贯的,无需进一步分析现场。
图2 检测结果:顶行输入帧,中间行尾灯检测,底行车辆检测
4.2 灯光的检测与表征
现在,我们将更加详细地解释候选光斑是如何获得的,以及如何计算它们的特征,以澄清上一节介绍的相似性度量。我们检测候选尾灯的方法要通过一下几个步骤。首先,在输入帧的每个像素处计算一个Score函数。这个基本函数在输入像素上应用一个阈值,只保留那些与汽车灯光相关的高概率值,并输出一个与此概率相关的值,该值可进一步帮助用于加权像素对灯光的描述符。然后,我们根据像素所属的灯光将它们分组。最后,我们从这些像素集合中提取出允许计算上一节中给出的条件的特征。
4.2.1 Score 函数
为了加快计算速度,我们决定选择一个颜色空间,其中一个简单的阈值足以区分候选灯光,HSV是我们经过一些实验后的最终选择。事实上,作为人类对亮度感知的价值通道,当灯光与输入场景中的其他元素差别很大时,它已经给出了一个很好的表示。因此,我们简单地将Score 函数定义为大于某个阈值时该通道的值。在我们的实验中,这个阈值tau;总是固定在最大可能值的四分之一:
。 (2)
如图3所示,尽管这个Score 函数很简单,但是它在检测汽车灯光方面做的很好。大多数假阳性确实具有与真阳性非常相似的性质,而且如果不进一步了解周围区域,它们似乎无法在每个像素的基础上被移除。
4.2.2 像素分组
通过使用阈值评分的方法,除了节省处理时间外,我们还很可能得到不连续的像素组。然而,假设每个连接的像素集都是一个灯光,这是一个合理的选择。图3很好说明了这种方法的有点和缺点,如果我们比较车架中心最近一辆车的尾灯和左边迎面驶来的车辆的几盏前灯。事实上,当将这种方法应用于图3顶部一行所示的输入图像时,可以正确地检测到附近车辆地尾灯。另一方面,我们将在图像左侧检测到多达五个不同的光源作为单个光源。我们的算法通过首先将连接的像素重新组合在一起,然后在跟踪阶段仅在必要时将它们拆分为两个或多个灯光来避免这种情况。
我们用于像素分组的算法是连接组件标记算法的有效版本。我们发现,这种算法是在过度分组和创建小噪声光之间一个公平的权衡,因为只在真正的灯光边界有人工制品。反射光线的物体(如路标)中出现的噪音也可能使用这种方法进行分组,这有助于防止在后期阶段将其部分检测为车辆。减少这些小像素组的数量也有助于节省处理时间,因为在车辆检测阶段将生成和测试更少的灯对。
图3 结果评分:顶行输入框,中间行Score 函数,底行灯光检测
4.2.3 灯光的位置
我们通过光的位置和形状来描述它的特性,我们正式定义为:
,
其中(,)表示质心,(,)表示像素组的空间标准偏差。这些位置和形状的简单描述符足以计算我们将在下面的小节中定义的大多数的派生特征。
4.2.4 灯光的形状和面积
我们将候选灯光近似为以(,)为中心的矩形,其水平和垂直尺寸分别为4和4。因此我们有一个直接的方法来定义灯光的面积:
。 (3)
同时,形状可以定义为矩形两边的比值:
。 (4)
4.2.5 外观信息和灯光类型
为了区分前照灯、尾灯和闪光灯,我们分析了几个训练视频,考虑到V通道已经用于阈值设定,我们为每种灯光类型构建了在HS空间上的概率分布。这种分布的任务是为每个输入像素分配属于每种灯光类型的可能性。图4显示了三个不同的似然函数,其中T={前照灯|尾灯|闪光灯}代表灯光的类型。在这一点上,我们只需要扩展这个计算,以度量给定像素块是一种类型或另一种类型的可能性。
图4 三种不同光基于H和S通道的似然分布类型
“将像素测量扩展到一个光块上”,理论上测量整个光块可能性的最佳选择是将所有像素的相似性相乘(或者,为了避免实现中的取整问题,将相似性的对数相加)。然而,这将基于这样的像素独立性的假设,这在我们的实验中还没有证明足够的鲁棒性。因此,我们选择了一种不同的方法,并对它们进行平均,这更为稳健。在给定灯光类型T的情况下,光块L的可能性被定义为:
, (5)
其中表示光块内的像素数L。
贝叶斯因子:最后我们需要找到一种方法来测量一个灯光是否有效地被检测到。我们选择比较相对的概率而不是看它们的绝对值,我们将使用贝叶斯因子来达到这个目的。贝叶斯因子让我们在几个概率模型中选择一个最有可能生成给定事件集的模型。贝叶斯因子K定义为:
, (6)
其中,和是我们要比较的两个假设,在我们的例子中,它们代表了两种不同的灯光类型。
K的对数称为证据的权值,根据所选对数的基数,可以用不同的单位来测量。 以10为底的对数单位称为ban,我们将其定义为: 。 (7)
表1 贝叶斯因子的解释
证据权重 证据效力
lt; 0 负数(支持)
0—5 不值得一提
5—10 实质性的
10—15 强大的
15—20 非常强烈的
gt; 20 决定性的
贝叶
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。