基于视频的车辆检测文献综述

 

2.基于视频的车辆检测方法

作为智能交通监控系统的基础,车辆检测系统十分关键。一个实用的车辆检测系统应满足如下要求:

a) 正确判断当前时刻有无车辆;

b) 完成车辆计数,提供车流量、车速等交通参数;

c) 算法简单,计算量小,环境自适应能力强,能够实时有效地进行车辆信息处理。

车辆检测的目的判断是否有车经过检测区,并建立一个与之对应的跟踪对象,主要提供车流量等信息。减少车辆检测算法的计算量和提高实时性是一对矛盾,解决这对矛盾是提高系统检测准确度和稳定度的关键,然而实际中光照的变化、背景混乱运动的千扰、运动目标的影子、摄像机的抖动以及运动目标的自遮挡和互遮挡现象的存在,这些都会影响车辆检测和分割的精度,必须在算法中考虑这些因素的影响及其去除的方法。

2.1 检测方法

   随着车辆检测的研究不断深入,产生很多基于视频的检测方法。这些方法大致分为如下几类: 一、基于模型的方法;二、基于光流的方法;三、基于特征的方法。

基于模型的方法:

2.1.1 基于背景差的方法

扫描二维码关注公众号,回复: 2958374 查看本文章

    背景差法[7]首先选取背景中的一幅或几幅图像的平均作为背景图像,然后把以后的序列图像当前帧和背景图像相减,进行背景消去。若所得到的像素数大于某一阈值,则判定被监视场景中有运动物体,从而得到运动目标。

    这种差分法对于复杂背景下的运动物体检测效果较好,一般能够提供最完整的特征数据,计算量小,实用价值大。缺点是受光线、天气等外界条件的影响较大。

背景差分法是目前运动分割中最常用的一种方法,在实际应用中,需要采用一定的算法进行背景模型的动态更新。目前人们大都致力于研究如何实现背景图像的建模和自适应更新,使背景能够不断接近理想状态,以期减少场景变化对视频图像检测分割的影响。

    背景建模,即通过视频序列的帧间信息估计和恢复背景。对于背景的建模问题,常用的方法主要有:基于统计的背景模型、基于卡尔曼滤波的背景模型、基于高斯分布的背景模型等。

    基于统计的背景模型最简便和直观的方法就是选择均值函数作为更新函数,称为序列均值法[8],这种方法适用于背景大部分时间可见、运动目标数量少的情况。序列众数法”[9]是统计学模型算法中最精确的一种,但是它要对元素进行排序,计算量和所消耗的存储空间都很大,而且需要很大的值才能得到统计意义上的概率分布,因此更新图像的时间也比较慢。

    基于卡尔曼滤波的背景模型,对运动物体的跟踪有很好的效果,但其最大的缺点就是计算量大,处理速度慢。

    基于高斯分布的背景模型可以很好的适应光线的变化,同时可以处理多模型分布,对于缓慢移动的目标(如树枝的摇摆等)有很好的鲁棒性。但对每个点都用一个模型来描述,需要大量的计算时间,而且存储的参数多,因此还需要不断改进。

当然,还有其它的背景建模方法,如基于特征的点匹配方法[10],利用图像能量、高阶累积理论及块处理技术进行背景建模的方法[11]等,对于背景的重构都建立在确定性建模的基础上。

基于光流的方法:

2.1.2 基于帧间差分的方法

    帧间差分法[4]是基于运动图像序列中,相邻两帧图像间具有强相关性而提出的检测方法。

这种检测方法对光照变化不敏感,非常适合于动态变化的环境,而且运算简单,检测速度快,车辆定位准确,适用于实时性要求较高的应用环境。它存在以下几个缺点:首先,它不能检测出静止或运动速度过慢的物体,对于高速运动的物体又会使得分割区域远远大于真实目标,其分割区域与目标运动速度相关;其次,如果物体内部的灰度比较均匀,相邻帧差可能在目标重叠部分形成较大空洞,严重时造成分割结果不连通,不利于进一步的物体分析与识别。

    在实际应用中,帧间差分法往往是许多复杂检测算法的基础,通过对算法的改进可以将它与其它算法结合来提高整体的检测效果。一种改进的方法是利用多帧差分代替两帧差分,如文献[5]中提出了一种自适应背景减除与三帧差分相结合的混合算法,它能够快速有效地从背景中检测出运动着的目标。

2.1.3 基于光流场的方法

    光流场法的基本思想:在空间中,运动可以用运动场描述,而在一个图像平面上,物体的运动往往是通过图像序列中不同图像灰度分布的不同体现的,从而,空间中的运动场转移到图像上就表示为光流场(Optical Flow Field)。光流场反映了图像上每一点灰度的变化趋势,可看成是带有灰度的像素点在图像平面上运动而产生的瞬时速度场,也是一种对真实运动场的近似估计[6]

在比较理想的情况下,它能够检测独立运动的对象,不需要预先知道场景的任何信息,可以很精确地计算出运动物体的速度,并且可用于摄像机运动的情况。但光流法存在下面的缺点:有时即使没有发生运动,在外部照明发生变化时,也可以观测到光流;另外,在缺乏足够的灰度等级变化的区域,实际运动也往往观测不到。三维物体的运动投影到二维图像的亮度变化,本身由于部分信息的丢失而使光流法存在孔径问题和遮挡问题,用光流法估算二维运动场是不确定的,需要附加的假设模型来模拟二维运动场的结构;在准确分割时,光流法还需要利用颜色、灰度、边缘等空域特征来提高分割精度;同时由于光流法采用迭代的方法,计算复杂耗时,如果没有特殊的硬件支持,很难应用于视频序列的实时检测。

基于特征的方法:

利用车辆的某些显著的特征如阴影、边缘、对称性等把车辆从背景中分割出来。其缺点是当光照及其周围环境的噪音影响较大时,单一特征信息容易弱化,应该采用多特征融合来提高识别的准确性与健壮性,这也是基于特征方法的发展方向。

2.2           实现处理方法

实现方法的一般步骤:

视频输入     视频图像预处理并提取关键特征      对关键特征进行分析处理      根据特征值进行综合判断分类       标注出车辆的位置

2.2.1车辆阴影的分割技术

通过前面的检测方法,在检测出的图像中多多少少存在阴影的干扰,当阴影面积较大时还会覆盖邻近的车辆,致使算法误将多个车辆检测为一个车辆,对后期识别造成困难,所以在图像检测中必须考虑阴影的消除方法。

现有的文献中,存在很多关于阴影检测的文章和著作。根据检测算法使用的特征,可将其大致分为五类:颜色恒常性的方法[12]、统计参数法[13]、统计非参数法[14]、确定性模型法[15]和确定性非模型法[16]等。

以上这些方法各有利弊,要针对不同的应用环境选择不同的方法来满足不同的要求。如基于颜色恒常性的方法的假设适合于全局阴影的分割,基于颜色空间模型的方法对噪声具有较好的鲁棒性,它和统计非参数方法都可以很好的处理不同大小和强度的阴影,但统计非参数方法的处理速度相对较快,颜色空间模型的处理效果较好;确定性模型方法可以应用于特殊的环境,更多的假设可以产生更好的结果;统计方法较适合于室内环境,因为场景是恒定的并且统计描述非常有效。

2.2.3图像的后处理

    基于车辆检测和阴影分割,己经能大致显示出车辆的轮廓图,但这种分割后的图像仍然残留许多噪声点,区域边缘也不太平滑,需要图像进行后续处理。

    经过运动车辆检测分割后,图像中的噪声大多是一些孤立的像素点或线,出现连续大面积噪声的可能性不大,偶尔出现的树叶扰动等干扰,其面积和要检测的车辆面积相比要小得多,可以通过设置一定的阈值除去噪声。

对于这些噪声的去除可使用的是滤波处理的方法。现有的滤波算法很多,常用的有下几种:均值滤波、中值滤波、高斯滤波、带通(包括低通、高通、带通和带阻)滤波、数学形态学滤波等,其对不同的噪声有不同的滤除效果,如高斯滤波对高斯噪声的处理效果最好,中值滤波可有效的滤除脉冲型噪声,而且对图像的边缘有较好的保护,带通滤波对图像有平滑和锐化的作用,形态学滤波对随机噪声有很好的滤除效果,而且可以分割或连接相邻区域。

 

3. 基于对称性的白天车辆检测

本文是在对各种检测方法综合学习之后,参照文献[17]对基于对称性的检测进行深入研究并将其用opencv将其实现,总结出处理同类问题的一般过程,整理了一个实现框架。

图像预处理统计边缘梯度      矩形窗口扫描并产生ROI      ROI对称性评估      车辆标注

1.    对图像进行预处理,提取统计图像梯度

   预处理:灰度化     高斯平滑过滤噪声      产生图像垂直、水平方向边缘梯度       二值化

2.    对整幅图像进行扫描,得到自己感兴趣ROI区域

以一个小矩形窗口的范围并以从下往上,从左往右的顺序来对图像扫描,并统计小窗口中的梯度像素值。以一定的阈值进行判断该矩形范围是否是感兴趣范围。

3.    对ROI区域中的像素进行对称性分析,从而确定是否存在车辆。如有则把车标注出来。

    对称性检验方法介绍:

在本文的视频车辆检测条件下, 车辆图像的对称轴方向已经确定为垂直方向, 需要进一步确定对称轴的位置并对其对称性强度的大小进行度量。 因此本文结合文献[18]中的理论对车辆图像垂直梯度投影的对称性进行分析, 从而验证候选区域是否为真正的车辆区域。

3.1 对称性分析

将在上节中得到的梯度垂直投影值视为一维函数g(x),假设其对称轴的坐标为xs (w /2≤xs≤W-w/2),w为对称区域的宽度,可根据车辆图像的宽度选取。令u=x-xs,则g(u)为以xs为坐标原点的函数。由于任意函数f(x)可以表示为1个奇函数与1个偶函数的和,可定义函数g(x) =g(xs+u)的奇函数分量和偶函数分量分别为   O(u,xs)=(g(xs+u)-g(xs-u))/2     

E(u,xs)=(g(xs+u)+g(xs-u))/2  - w /2 ≤ u ≤w /2

将偶函数分量归一化,使其均值为0。

En(u,xs) = E(u,xs)-∫E(u,xs)du/w

而后通过比较奇数分量函数和偶数分量函数的能量来度量对称性。

S(xs)=(∫En(u,xs)^2du-∫O(u,xs)^2du)/ (∫En(u,xs)^2du+∫O(u,xs)^2du)

- 1≤S(xs)≤1

当S=1时,完全对称;S=-时,完全不对称。

3.2 候选区域验证

根据候选区域的大小,在一定的范围内通过改变xs的值搜索对称轴。在搜索区间内, 将对称评价函数S(xs)出现最大值时xs作为候选区域的对称轴的坐标。根据实验统计规律,当对称轴处的S(xs) > 0.5时,认为目标车辆存在。此外,在车辆图像的两侧,其边缘垂直投影值应该是最大的,因此在偶函数分量E(u,xs)的对称轴两侧分别找出最大值出现的位置,可以确定车辆大概的左右边界。由于车辆图像的宽度满足一定的约束,可由此进一步验证是否为目标车辆。

3.3 运行效果:

3.4 研究展望:

对上面的三个环节进行进一步的优化。

1. 通过把道路区域精确划分出来,同时要把道路上的直线剔除从而尽量的排除干扰。

2. 对ROI区域的选择上可以进一步用车辆阴影等方法进一步精确车辆所在区域。

3. 同时通过车辆标定在只适应生成扫描矩形窗口的大小。

4. 在小窗口中对对称性检测时,可以优化更好类似的方法,从其他方面来考虑车辆上的对称性质。

4.  基于车灯的夜间车辆检测

作为全天候交通监控的一部分,夜间车辆检测和跟踪因其复杂的光照条件一直是个棘手的难题。一些发达国家采用安装红外摄像机或者CCD摄像机和红外摄像机相结合的方法来获取夜间道路图像,这种方法在检测夜间行人时非常有效,但是在检测夜间车辆时,仍然会受到地面发射光和环境光线的影响,而且价格较为昂贵。目前常用的方法仍然是通过CCD摄像机拍摄夜间视频,通过检测车辆中的车头灯对夜间车辆进行检测。谭荣伟等提出使用梯度滤波法来检测夜间车辆,这种方法多次使用形态学滤波来进行填充车体的空洞,没有考虑到当车辆密度较大时,会造成车体粘连。刘勃等提出根据车尾灯中的颜色信息来检测车流量,但是受到环境光照的影响,车尾灯颜色有时会表现为单一的白色,这种情况下检测结果并不可靠。根据以上复杂情况,本文首先在感兴趣区域(ROI)中选取合适阈值对帧图进行二值化,然后根据车灯的特点,去除干扰点。提取出车灯前景之后,根据距离和颜色信息对每个车灯进行跟踪,然后根据车灯的形态和位置对车灯进行配对,从而实现车辆的跟踪和计数。

如图1所示,本夜间车辆检测与跟踪算法分为4部分,车灯提取、车灯跟踪、车灯配对以及车辆跟踪和计数。

        算法首先对帧图进行二值化获取车灯前景信息,然后对每个车灯目标在本帧图像中找到其后续目标并进行更新,完成在本帧的车灯跟踪。然后根据颜色和形状等信息对车灯进行匹配,完成对车辆的跟踪和计数。

1

4.1 车灯提取

首先选取感兴趣区域(ROI),然后在ROI内选取合适阈值对帧图进行二值化,得到二值图像ImgBinary,如图2b)所示。一般来说,直接进行二值化之后的车灯前景是不规则的,而且图像会存在噪声,这是由路面反光或者光照变化引起的。所以要对二值化图像进行数学形态学处理,我们先用3×3结构单元对二值图像进行腐蚀,再用7×7结构单元对二值图像进行膨胀,得到图2c),这样就得到了更符合车灯原型的前景。

对于浅颜色车辆来说,两个车灯之间会因为反光而连成一片,这样在进行二值化和形态学处理之后,有可能这两个车灯会连接成一个较宽的前景。另外,雨天的时候路面积水会形成很亮的反光区域,这块区域二值化之后可能会被提取出来。针对以上情况,我们必须要对以上两种情况进行图像预处理。步骤如下:

1 对图2c)进行区域增长,得到每一个前景块的外接矩形信息以及每一前景块的像素个数信息。我们定义一个结构体

typedef struct

{

       int flag;

       int min_w;

       int min_h;

       int max_w;

       int max_h;

}Rect;

来存储每一个连通域的外接矩形信息。其中min_w表示此连通域x坐标的最小值,min_h表示此连通域y坐标的最小值,max_w表示此连通域x坐标的最大值,max_h表示此连通域y坐标的最大值。对本前景进行区域增长之后会返回一个Rect类型变量rect以及本区域像素点数End_h。本前景的高和宽可以有如下两式计算得出:

Y_H = rect.max_h - rect.min_h + 1                                          1

X_W = rect.max_w - rect.min_w + 1                                         2

flag是一个标志,若是此前景块的大小和宽高比满足车灯则flag1,若是大块反光flag0,若是两个车灯连在一起则置-2。具体判决如下:

if (   End_h >40 &&End_h<400 &&X_W <25&&  Y_H <25&&

              (FLOAT)Y_H /(FLOAT)X_W>0.4&&(FLOAT)Y_H /(FLOAT)X_W<3)

       {

              rect.flag = 1;  

       }

else if (End_h<800 && (FLOAT)X_W /(FLOAT)Y_H<6&&(FLOAT)X_W /(FLOAT)Y_H>2)

       {

              rect.flag=-2;

       }

else

              rect.flag = 0;

2 对于本前景块,如果它是两个车灯左右粘连就把它分成两个区域,如果它是路面或者车体的大面积反光则把它的每一像素点亮度置0

进行图像预处理之后就得到图2d)。

4.2 车灯配对

 我们的目的是对车辆进行跟踪计数,所以需要对车灯进行配对,确定哪些车灯是属于同一辆车。一般来说车灯是成对出现的,但是也有例外,比如说摩托车只有一个灯,也可能有的车辆坏掉了一个灯。首先同属一辆车的两个车灯的纵坐标和横坐标之差都应在某一范围之内,

<T1                                                         4

<T2                                                         5

其次,同属一辆车的车灯大小相似。

对这些情况进行综合考虑,确定算法如下:

1)计算当前帧中两两车灯之间的横坐标之差distance_X[i*NUM+j]和纵坐标之差distance_Y[i*NUM+j]。其中NUM为本帧车灯的数量。

2)若两个车灯ij之间的距离满足式(4)和(5),则他们可能属于同一辆车。

3)若与本车灯可能同属一辆车的车灯数为1,那么匹配成功。否则根据距离和车灯大小在其中选取最佳匹配车灯。

4)对于落单的车灯,进行单独标定。车灯匹配之后,我们就知道哪几个车灯是属于同一辆车,就可以对车辆进行准确计数。

4.3 实验结果

4.4 结论

本文对基于车灯跟踪的夜间车辆检测和跟踪进行了研究。通过对视频帧图进行二值化处理和图像预处提取出车灯前景。计算出车灯目标和本帧车灯前景块之间的关联矩阵,利用关联矩阵对车灯进行前后两帧的匹配。对车灯进行配对,实现了对车辆的跟踪和计数。把该方法应用到实际的视频检测中,取得了较好的效果。

运动车辆会遇到遮挡的问题,若是车灯被遮挡则不能进行后续的处理。在车辆较为拥挤的时候,并排车辆的车灯匹配可能会出现误差,这是我们以后应该改进的地方。

5. 存在的问题和发展趋势

    视频检测器与传统检测器相比有其明显的优势,近年来在智能交通系统中得到了越来越广泛的应用。虽然视频检测器有着诸多优点,但仍然存在许多需要解决的问题。一个可以投入实际使用的基于视频图像的交通检测系统应该具备处理时间短、计算量低和可靠性高的特点[3]。而且,这种系统所采用的方法必须对重建3D场景的误差、车辆运动所引起的图像噪声、视频检测器的偏移等干扰有足够的稳健性。存在的问题主要是:一是视频检测器的检测精度是随着光照情况的变化而变化的,当光照良好时如正午时检测精度最好,反之如傍晚、雨雪天气则较差;另一个问题是阴影问题,阴影是造成视频检测方法误检测的主要原因,阴影通常有三种:车辆自身的运动阴影、道路场景中的静态阴影、缓慢移动的阴影如浮云造成的阴影;同时车辆在道路场景中的相互遮挡也是必须考虑的问题。

未来这一领域的发展应该是围绕上述问题的解决而展开。发展趋势主要是:首先,注重准确率、综合使用多种检测方法是未来车辆检测的一大发展趋势;另外,车辆检测中的多检测器信息融合也是未来研究的重点;同时,与基于视频图像车辆检测紧密联系的相关研究领域,交通视频图像的压缩和多媒体数据挖掘,也是未来研究的热点。

猜你喜欢

转载自blog.csdn.net/shaoshuaiche/article/details/9030057