本文介绍了视频检测在车辆违法抓拍中的优势,并在传统视频图像检测算法的基础上提出了优化方案。其具体方法是,通过提取图像车辆形心的位置,根据形心位置像素点的变化,准确判断通过检测区域的车辆,从而实现违法车辆的抓拍。
计算机视觉是指用计算机实现人的视觉功能——对客观世界的三维场景的感知、识别和理解。这里有两类方法:一类是仿生学的方法,参照人类视觉系统的结构原理,建立相应的处理模块完成类似的功能和工作;另一类是工程的方法,从分析人类视觉过程的功能着手,并不去刻意模拟人类视觉系统内部结构,而仅考虑系统的输入和输出,并采用任何现有可行的手段实现系统功能。违法闯红灯车辆视频检测即是属于上述的第二类方法,它利用视频序列中前景图像与背景图像的变化,来判断前景图像中车辆是否违法闯红灯行驶。
视频检测特点
与其它检测方式如环形线圈检测,超声波或微波、雷达、激光检测,红外线检测相比,视频检测是虚拟线圈的检测单元而不用埋设感应线圈,也不会对过往的车辆和行人造成伤害,而且可以根据业主的需要和路面的重新规划,重新设置或移动检测单元,因而具有安装方便、使用及维护简便、设置灵活、检测范围广、性价比高、功能全、可实施过程检测、易升级等优点。
视频检测在国内外研究情况概述
交通环境的车辆检测研究,可以追溯到20世纪70年代。传统车辆检测器,如磁感应线圈,有着诸多缺点和局限。鉴于这种情况,人们不断提出新的替代方案,如采用雷达、超声波、红外线、微波等技术,这些检测方法都各有其缺点,如容易受气候和环境的干扰等。近年来,随着计算机和图像处理技术的不断发展,利用机器视觉检测技术来进行车辆检测,己成为一种特别有潜力的替代方法,它将取代传统车辆检测器,而成为现代智能交通系统的一个重要组成部分。
1984年,美国明尼苏达大学的MVAI实验室首次开展了将计算机视觉应用于ITS的研究,成立了著名的ISS公司,并推出了AutoscopeTM系列外场视频车辆检测系统,实现了全天候检测,是目前全球最成功的交通视频检测产品之一。此外,美国PEEK公司研制的VideoTrak9系列车辆跟踪与探测系统也是性能优越的视频监测设备。国内关于交通视频监控的研究滞后于国外,技术基础较弱,但也有不少公司做出了产品,如清华紫光的视频交通流量检测系统VS3001,深圳神州交通系统有限公司开发的VideoTraceTM,厦门恒深智能软件系统有限公司开发的HeadSunSmartViewer-II视频交通检测器等。然而这些产品的功能比较单一,与国外产品相比还有一定差距。
由于检测准确性要求较高、实现较为容易等优点,传统的电子警察系统的车辆检测多采用环形线圈检测器。然而,在实际应用中,环形线圈检测器暴露出较多的问题。如环形线圈的安装对道路路面完整性的破坏很大,在安装环形线圈的地方,长期的车辆碾压及日晒雨淋,容易造成路面龟裂,从而降低道路使用寿命;道路的修整、改造,极容易影响甚至破坏环线线圈;环形线圈掩埋在路面下,给维护工作造成很大的不便等等。环形线圈感应器所反映出的这些问题,增大了电子警察系统的安装及维护成本,极大地影响了电子警察系统的应用与推广。
根据现行的公安行业标准《GA/T496—2004 闯红灯自动记录系统通用技术条件》,闯红灯捕获率应不小于90%,目前的视频检测技术已经完全能够满足该项指标的要求,所以在该领域的应用有越来越广的趋势。本文介绍视频检测方法中的一种——帧间差分法来实现车辆闯红灯违法行为的检测。
[nextpage]
视频检测算法研究
在对违法车辆视频检测算法进行研究时,本文采用实际路口车辆行驶情况的视频图像,力求研究工作能够最大限度地贴近实际应用,力求所研究的成果能够在实际应用中取得较好的效果。该视频图像是由架设在路口的电子警察系统拍摄采集的,为该路口某个方向的全景图像,其分辨率为352×288像素点,每秒25帧。该电子警察的摄像头架设在道路上方离地面6米的位置。通过对几种视频检测方法的研究与比较,并对实际视频图像质量、路口实际情况及车辆运行情况的分析,本文采用帧间差分法来分离视频图像序列中的运动车辆图像,并通过计算该图像的像素点数量及形心位置来实现对车辆违法行为的判断。
帧间差分法
帧间差分法又称图像序列差分法。当监控场景中出现运动物体时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像对应像素点亮度值差的绝对值,通过判断它是否大于阈值,来分析视频或图像序列的运动特性,以确定图像序列中有无物体运动。图像序列逐帧地差分,相当于对图像序列进行了时域上的高通滤波。相邻帧图像的差分表达式为:
式中为第i帧的亮度分量;为第i-1帧的亮度分量,d为相邻两帧图像对应像素点亮度差值的绝对值。那相邻帧差图为:
式中T为相邻图像差分比较阈值,为差分图像中对应像素点的亮度值。
帧间差分法的优点主要有:算法实现简单,程序设计复杂度低;对光线等场景变化不太敏感,能够适应各种动态环境,稳定性较好。
其缺点主要有:不能提取出对象的完整区域,只能提取出边界;对快速运动的物体,需要选择较小的时间间隔,如果选择不合适,物体在前后两帧中没有重迭时,会被检测为两个分开的物体;而对慢速运动的物体,应该选择较大的时间间隔,如果此时选择不适当,当物体在前后两帧中几乎完全重迭,则检测不到物体。
除了最简单的逐像素相减,差分图像还可以由两组属于相邻图像帧的像素(如相邻的四个元素、八个元素)的均值相减得到。
视频检测总体流程
视频检测总体流程如图1所示。
[nextpage]
检测带设置
视频图像所包含的路口信息丰富、情况复杂,而对检测车辆闯红灯违法行为有用的信息在整个图像中所占的比例不是很大。因此,没有必要对整幅图像进行处理来获得检测信息。同时,如果对整幅图像进行处理所产生较大的计算量,不利于电子警察嵌入式系统的稳定运行,不利于满足系统的实时性要求。本文根据视频图像中实际车辆运行方向,按车道数目分别截取一定宽度、高度的矩形图像区域,作为车辆违法检测带,并通过对检测带图像进行处理,对处理结果进行信息提取,最后做出车辆是否为违法行驶的判断,达到检测车辆违法行为的目的。检测带的位置和大小可以根据需要调整,以适应道路路口车辆检测的实际情况。
1、检测带位置
检测带位置的设置应该考虑以下因素:
由于现有电子警察系统的摄像头安装位置及摄像角度等原因(如图2所示),在视频图像中,当车辆停在停车线范围内时,车身会遮挡停车线及停车线前很大一片区域。同时,由于车辆种类不同,车身高度也不一样,在视频中遮挡的区域大小也不一样。因此,检测带位置的设置必须根据不同路口、不同的摄像机架设位置及多数车辆车身高度,来作为设置检测带位置的参考,以避免在停车线范围内运动或静止的车辆出现在检测带图像中。
检测带的设置应该尽量避免人流量较多的区域,如人行横道线等,尽量减少因为行人进入检测带而造成的对检测结果的影响。在本文所采用的路口视频图像中,有的车辆车身较高,即使该车辆停止在停车线范围内,也会遮挡住人行横道线区域。综合参考以上设置检测带位置的条件,并根据视频图像中路口实际情况,我们将检测带设置在人行横道线离摄像头远端的位置,如图3所示。
2、检测带大小
检测带的宽度是根据视频图像中车道大小而定的,如同一个车辆行驶方向上有多个车道,而每个车道的交通信号控制不尽相同,因此需要按不同车道实行车辆的视频检测。在图3中,同一个车辆行驶方向上有两个车道,因此需要设置两条检测带。在本视频图像中,检测带的宽度为70~75个像素点。检测带高度的设定,要考虑以下几方面的因素:
·考虑到图像处理时系统计算的数据量尽量少;
·当一车尾随另一车双双闯红灯时,检测带尽量能够检测出两车之间的无车区域,从而判别出是两辆车有违法行为,对两辆车进行抓拍取证;
·如检测带高度太小,对车辆特征包含不够,会造成车辆驶入检测带后,相邻两幅图像差分无明显结果,而无法判断车辆是否还在检测带中的情况。
综合上面的因素,并做了大量的观察和实验,本文设定检测带的高度为1520个像素。
[nextpage]
图像差分法
帧间差分法就是将输入连续的相邻两帧图像在空域中进行差分,它是当前图像中的像素的灰度值减去前一帧图像对应像素的灰度值,若差值少于某一个阈值就判定为背景,若差值大于该阈值就判定为前景信息。但在实际的检测系统中,由于摄像头受风等因素而产生的抖动等,会对这种直接差分结果产生巨大影响。因此,在帧间差分时,提出了改进的帧间差分方法——邻域比较法,其具体方法是:
1、取当前帧的图像像素为,则相应的前一帧图像的一个3×3的模板为:
2、将当前帧的像素与模版中像素的灰度相比较,若它们的差值小于阈值,则判定为背景点,将其灰度置为0,就不再做邻域比较。否则,再与前一帧其余的8个邻域点相比较,只要有一差值小于阈值,就将其判定为背景点,不再比较。若当前帧与模板中所有点的灰度比较的结果都大于阈值,则判定该点为前景图像点,则将其灰度置为1。
通过此种邻域比较法在实现了背景图像与前景图像分离的同时,也实现了图像的二值化,从而提高了检测效率。本文即采用此方法来实现视频流中两幅图像的差分运算。本文实验所用的视频图像为道路路口场景,即使在绿灯情况下,车辆的行驶速度也不快。视频图像为25帧/秒,即每两帧图像的时间间隔为40毫秒。在40毫秒的时间里,车辆的运动距离很小,使得视频序列中前后两帧图像变化不大,加上图像分辨率为352×288像素点,图像的清晰度不高。如果直接将相邻两帧图像进行差分,所得到的差分图像结果并不明显,不能够很好判断图像中是否有车辆运动。经过反复试验,本文采用时间间隔120毫秒的图像进行邻域差分,这样得出的差分图像效果较好。邻域比较相邻两幅图像(本文以下所涉及到的相邻两幅图像都是指时间间隔为120毫秒的两幅图像)对应像素点差分所选阈值也极为重要。阈值偏大时,会出现差分图像中车辆信息丢失过多的情况;阈值较小时,会出现差分图像中干扰信息多,而无法判别车辆信息的情况。因此,本文选取阈值为15。
提取差分图像特征信息及分析
相邻两幅图像通过差分所得到的图像,仅仅反映了图像中物体运动位置的变化,要从差分图像中分别判断出车辆进入检测带、在检测带中行驶以及离开检测带的过程情况,必须要提取相关的差分图像信息,并进行相应分析。需要提取的特征信息包括:差分图像中前景图像像素点数量及前景图像的形心位置。
1、前景图像像素点数量
检测带设置的位置,要尽量避免有除车辆以外的其它运动物体的干扰,但偶尔也会出现行人进入检测带等干扰情况的发生。行人在检测带中所占面积较小,且在大多数情况下运动速度相对车辆速度较慢,前后两幅图像人的运动造成的图像差异不大,因此在差分图像中呈现的干扰像素点的数量较少,而车辆在检测带中的面积较大且运动速度相对较快,前后两幅图像中车辆运动造成的图像差异较大,因此在差分图像中反映出的像素点数量较多。本文采用计算差分图像中像素点数量的方法,来实现对车辆进入检测带的判断。当差分图像中的前景像素点数量不少于阈值 时,判定有车进入检测带,属于违法闯红灯行为;反之,则判定为其它非车辆的干扰情况。经过大量实验和统计,本文设定阈值为30。 [nextpage]
2、前景图像的形心位置
当目标车辆表面存在大面积的灰度均匀区域时,相邻两幅图像差分后,会在前景车辆图像中出现“空洞”,从而使前景图像被分割成多个区域。
本文曾试图采用数学形态学中的腐蚀与膨胀来实现去除空洞,然后通过记录图像中前景图像像素点位置来判断车辆的行驶状况。然而,由于差分图像中常常会出现较大的“空洞”,因此使用该方法效果并不明显,且计算数据量较大,对系统实时性要求不利。经过对大量差分图像的观察及实验,本文发现,虽然在差分图像中存在“空洞”现象,导致前景图像被分割,然而所有被分割的前景图像大致可以反映出车辆的形状轮廓,特别是车辆左右两侧的轮廓。因此,本文采用形心算法来计算差分后的前景图像的形心。形心算法是通过对二维图像的处理和计算来确定目标中心位置的算法。从二值化图像中可以得出目标的形心位置:
其中g(x,y)为差分图像中(x,y)处的灰度值,为目标形心位置,N,M为分别为图像长、宽方向的像素点数。
这样,形心算法的计算简单,计算量较小,在较短时间内就可以完成计算,输出差分前景图像形心的位置。在本文差分图像这种简单背景模式下,形心算法比较有效。因此本文采用形心算法实现检测带中车辆运动的跟踪。通过对大量差分图像中前景车辆图像形心的计算可以得出以下结论。
·对于单辆车通过检测带时,形心的水平坐标(x方向坐标)变化不大,在0~5个像素点间摆动;
·在反映车辆在进入检测带的初始几帧的图像中,形心的竖直坐标(y方向坐标)在检测带偏下位置接近检测带下边沿的位置;而当车辆将驶出检测带的最后几帧图像中,形心的竖直坐标则接近检测带上边沿的位置;车辆在检测带中其它运动状态时,形心的竖直坐标处于上下摆动中,摆动状况取决于差分图像中车辆自身特征信息的多少;
·当检测带中没有运动物体时,相邻两幅图像的差分图像中,没有前景图像的像素点,因此没有图像的形心存在。
车辆违法行为的判断
根据以上对差分图像特征信息的提取和分析,本文提出对车辆进入检测带区域、离开检测带区域及车辆在检测带中运动等情况的判断:
1、车辆进入检测带
当差分图像的前景像素点的数量不少于阈值 (30个像素点)时,判定有车辆入检测带,系统判断有车辆闯红灯的违法行为,于是启动抓拍装置,对违法车辆进行违法取证;反之,当前景像素点数量不足 时,则判定是非车辆的干扰物体,如行人的干扰情况等。当判定有车辆进入检测带后,系统便开始计算并记录差分前景图像的形心的水平坐标位置;同时,系统启动图像抓拍装置,对车辆违法行为进行拍摄。
2、车辆离开检测带
当车辆离开检测带时,若该车辆后方无车辆尾随驶入检测带中,差分前景图像中的像素点会逐渐减少,形心的竖直坐标 会逐渐靠近图像的上边沿。当车辆完全离开检测带时,差分前景图像像素点为0,则形心不存在。因此,当判断到形心不存在时,则判定车辆已经驶出了检测带。
3、车辆行驶在检测带中
当车辆行驶在检测带中时,差分图像序列中前后两幅差分图像的像素点数量不会有剧烈的变化,但像素点数量变化会有一定波动。在考察差分前景图像形心的水平坐标时,发现 的变化在左右5个像素点的范围内;而只有当该车辆在检测带中行驶时,另有车辆从其旁边驶入检测带中,会造成差分前景图像的 发生剧烈变化,超过5个像素点的变化范围。另外一种情况也会造成图像 的剧烈变化:当两辆车并行在检测带中行驶时,一辆车率先驶出检测带,差分前景图像的 也会发生剧烈变化, 会移动到还没有驶离检测带的车辆差分图像中。
[nextpage]
因此,本文判定当差分图像形心的水平坐标位置 变化在左右5个像素点范围内时,差分图像所反映的前景图像是同一辆车或同几辆车同时在检测带中行驶;否则,当 的变化超出5个像素范围时,判定另外有车辆从旁边驶入或车辆并行情况下有车率先驶出检测带,即检测带中行驶车辆数量发生变化的情况。
几种特殊情况的判断
下面是对路口现场的几种特殊的车辆闯红灯违法行为的分析与判断。
1、多辆车尾随闯红灯的情况
当一辆车辆还没有完全驶离检测带时,有另一辆车辆尾随其驶入检测带中。此时在差分图像中显示的前景图像形心的水平位置 的变化仍在5个像素点的范围内,因此很难用 的变化来判断有新车闯红灯。在对路口实际情况及视频图像作了详细统计后发现,反映车辆经过检测带过程的序列图像的数量有一定范围。按照统计结果显示,车辆根据其车身长度和行驶速度不同,在检测带中留下的图像数量一般在1320幅之间(每幅图像相120ms)。当 未超过变化范围的情况下,连续差分图像数量超过20幅时,则判定为另外有车辆尾随前车进入检测带中。此时便需要启动抓拍装置,拍摄车辆闯红灯行为。
2、并行车辆出现检测带区域
车辆行驶在检测带过程中,另有车辆从其旁边闯入检测带;或两车并行驶入检测带中,一车率先驶出检测带的情况(即检测带水平方向上出现车辆数量变化的情况。
以上两种情况都会造成差分前景图像的 发生剧烈变化。当 发生超出5个像素范围变化时,系统将计算此时差分前景图像像素点的数量,使其与前一差分图像像素点数量作比较。如果像素点数量发生增多的现象,则判定此时是另外有车辆从现有车辆一侧闯入检测带中,则需要启动抓拍装置;如果像素点数量发生减少的现象,则判定在检测带中原有两辆车并行,此时有一辆车率先驶出了检测带,系统对此不作抓拍处理。
结语
本文对采用帧间差分法这一视频检测技术来实现车辆闯红灯违法行为的检测进行了初步研究,还需进行大量的实践验证,并在实际验证的应用中不断改进和完善。此外,针对不同的违法行为特点,可对算法进行改进和调整,使这种视频检测算法技术可对超速、逆行、禁停、压黄线、抢占公交车道等一系列违法行为进行检测。