论文部分内容阅读
摘要:车流量检测是城市智能交通的关键技术之一,针对目前视频检测算法复杂度高、检测准确率不高的问题,提出了一种快速车流量检测算法,该算法通过划定进入和离开检测线。并结合背景差分方法,将目标的面上检测,转化为线上检测,避免了对目标复杂的跟踪过程及其带来的检测误差,有效降低了算法的复杂度,提高了检测的准确率,实验表明,该算法能够快速分车道检测车辆,计算复杂度低,检测准确率高,且具有车辆速度测量能力,能够为智能交通系统提供必要的支持。
关键词:智能交通系统;车流量检测;背景差分;检测线
DoI:10.15938/j.jhust.2016.04.004
中图分类号:TP391
文献标志码:A
文章编号:1007—2683(2016)04—0019-06
0引言近年来,城市交通压力日加严峻,车辆拥堵现象越发普遍,智能交通系统作为一种前景广阔的解决方法,能够为交通拥堵提供早期预警,及时疏散车流,因而得到了人们的广泛重视,要实现智能交通系统,首先要能够实时而准确地掌握道路上的车流量、车速、车型等交通参数信息,目前,获取这些信息,主要有3种方法,第一种是接触式检测,将感应装置埋藏于路面之下的,当车辆通过时,引起感应装置的响应,从而得到所需要的交通流量信息,这种方法的安装维护较为困难,随着车辆的增多,导致这类装置使用寿命较短,路基下沉、冰冻等也会影响采集系统的使用,且该种系统难以对车辆的速度进行有效监测,第二种方法是波频检测,主要有微波、红外、超声波三种,利用返回频率差或者时间差来检测车辆,这种方法受到天气的影响较大,且成本较高,第三种方法是视频检测方法,这种方法利用计算机视觉技术获取道路交通的参数,具有安装维护简单、成本低廉等优点,目前,车辆视频检测技术目前仍处于快速发展阶段,
车辆的视频检测技术,利用交通路口的视频探头,获取车辆通行的视频画面,然后利用视频或者图像处理的方式,获取车辆的动态信息,从而实现对车流量的实时监控,常用的处理方法有:相邻帧差法、边缘检测法、背景差分法,相邻帧差法通过提取相邻图像帧的变化量检测目标,容易受到树木、行人、光线等变化信息的影响,导致检测概率不高;边缘检测法在车辆边缘不明显的情况下容易造成漏检;背景差分方法由于较好的可靠性受到了更大的重视,文提出了混合高斯背景模型的方法,在初期采用新的权值和方差更新方法,获得了较好的性能,文研究了基于高斯混合模型的多车道车流量检测算法,运用高斯混合模型对检测带进行背景建模,实现了多车道车流量检测,文提出基于差异深度积累的目标检测算法和基于卡尔曼滤波的目标跟踪算法,实现了多运动目标的检测与跟踪,以上这些背景差分算法在进行车流量检测时,都是以车辆目标为中心,且其整个背景的维护需要用到整个视频探头可以捕捉的画面,算法设计较为复杂,且背景容易受到树木抖动的影响,造成检测概率不足。
本文提出一种快速车流量检测的实用算法,通过划定可以调节宽度的检测线,仅仅在检测线上采用背景差分方法,对目标进行检测,由于需要处理的数据由原来的整个面,减少为一条线,即从二维图像数据转变为少量的一维数据,使得计算量大大减少;同时,检测线的选取可以有效避开树木等抖动背景,使得背景更加稳定,检测概率更高,在完成原有算法的多车道检测基础上,本文算法实现快速实现车流量、车速的检测,具有更好的检测概率和更低的计算复杂度,
本文主要介绍了算法的预备工作,给出了算法的主要步骤和关键环节,利用实测数据对本文算法和已有算法进行了对比分析,最后对本文进行了小结,
1.车流量检测的预备
交通视频的相近帧之间蕴藏着大量的车辆运动信息,如图1所示,采用合适的方法将这些运动信息检测和提取出来,就能够达到提取场景内交通参數的目的,图2所示为车辆检测的基本过程,首先需要从视频中提取数字图像序列,对每一帧进行预处理、形态学处理,最后进行目标的检测,其中,对图像的预处理以及形态学处理方法是整个车辆检测算法的预备工作,
1.1图像预处理
实际采集到的交通流视频都会受到噪声等的影响,会使得车辆检测的准确率变差,所以,在进行检测车流量之前,需要对图像进行一系列预处理主要包括:灰度化、滤波、二值化等。
彩色图像的灰度化:彩色图像的数据量较大,为了减小运算量,提高后续算法的速度和应用实效,需要将彩色的交通流视频图像进行灰度化处理,本文算法采用工程中常用的加权平均法来对图像进行灰
图像滤波:在视频图片中,由于受到椒盐噪声影响,导致个别像素起伏较大,因此,还需要对其进行平滑滤波处理,为了实现快速车辆检测,本文算法采用较为经典的中值图像滤波,中值滤波的基本原理是利用一个滑动窗口,该滑动窗口依次滑过图像的所有像素点,对滑动窗口内对应的像素点的灰度值进行排序,这些像素点灰度值的中值,即为中值滤波后图像在该点的灰度值,计算公式为:
经过灰度化、图像滤波、二值化处理以后,所得到的是包含车辆信息的二值图像,其特点为背景变化较大的区域为1,较小的区域为0,也即有车辆通过时,在车辆覆盖的区域内为1,其他区域为0,然而,由于受到环境噪声、车辆色差等影响,导致得到的0、1区域与实际的情况存在偏差,需要对其进行进一步的形态学分割处理,
1.2形态学处理
由于车辆的某些部位与路面可能存在着灰度差别较小的情况,因此,二值化图像含有很多的空洞,这些空洞较大时,检测时会造成漏检的情况,当空洞大到使一辆车的图像破裂成不连通的两块甚至多块的情形时,又会造成多检的情况,此外,环境噪声,如树木的抖动,可能使得二值图像产生一些少量的l,严重时也可能造成车辆计数增加,为了去除空洞以及其他噪声的影响,还需要对二值图像进行进一步的形态学处理,
常用的形态学处理方法有腐蚀、膨胀、开运算、闭运算等,腐蚀算法可以用来消除图像上微小而无意义的物体,主要用于消除噪声,如图3所示(白色部分为l,黑色部分为0),其基本原理是用结构元素扫描图像中的每一个像素点,用结构元素与其覆盖的图像区域的像素点相与,若结果全为l,则图像中该像素点为1,否则为0,膨胀运算可以将目标图像边界向外扩张,从而弥合目标图像中存在的裂缝和空洞,主要用于处理二值图像中的空洞,如图4所示(白色部分为1,黑色部分为0),其基本原理是用结构元素扫描图像像素点,和图像像素点做“或”运算,若结果全为O,则图像该像素点为0,否则为1 实际应用中单独运用腐蚀或膨胀运算难以达到理想的效果,因而往往采用膨胀和腐蚀组合起来方法对图像进行形态学处理,先对图像进行膨胀运算,而后再进行腐蚀运算的过程称为闭运算,闭运算可以有效消除二值化图像中的空洞和裂缝,因此,本文算法的车流量检测系统中采用闭运算对二值图像进行形态学处理,以提高检测性能,
2.车辆检测算法
运动车辆的检测算法是基于视频的车辆检测系统的核心和关键,本文提出了基于检测线的背景差分方法,该方法通过划定检测线的方式,将所有的图像预处理、形态学处理、目标检测等全部集中在检测线上进行处理,与传统基于整个画面的检测方式相比,具有极低的复杂度和较高的检测概率,本文的车流量检测算法的流程图如图5所示,
首先读取视频,将其转化为灰度图像,读取事先设置好的检测线坐标上的图像数值,进行中值滤波、二值化处理、形态学处理,最后判定车辆,从而实现车流量检测和车速的监测。
2.1检测线的设置
划定检测线是本文算法的关键环节之一,在车道上设置一条与车道垂直的虚拟检测线,其作用类似于埋设于公路上的感应线圈,当视频图像中有车辆目标通过检测线时,检测线上的像素值就会发生变化,通过的物体越大,检测线上发生变化的像素点数目就会越多,设定一个阈值,通过统计发生变化像素点数目是否超过阈值来判断是否有车辆通过检测线,
虚拟检测线的长度以及具体的放置位置应该根据车辆行驶路线和道路的具体情况确定,如图6所示,其中第一条为车辆的进入检测线,第二条为车辆的离开检测线,检测线的具体原则有以下几点:
1)检测线应设置为与车道垂直;
2)宽度与车道宽度相同;
3)尽量避开树木等干扰物;
4)进入和离开检测线之间的宽度小于最小车距。
在上述检测线划定的基础上,为了提高检测率,本文算法将检测线进一步改进,将其划定为宽检测线,如图7所示,
具体方法为根据检测线穿过的像素网格,向上下进行扩展,按顺序将像素值保存在一维数组中,图7中,经扩展以后的线宽为3,
2.2目标的判别和速度的测量
对于目标的判别,可以利用二值化以后的数组,当检测线上的目标像素为1的点数大于某一阈值时,即认为检测线上有车辆目标经过,当目标先后通过进入线和离开线时,判定有目标,否則判定无车辆,显然,在判定过程中,阈值取得过大,则可能造成漏检;阈值取得过小,则会将行人、自行车、摩托车或其他干扰等判断为车辆,造成多检,阈值可以采用相对值,即相对于车道的宽度值,由于通常情况下,车辆占用车道的宽度比例相对较为固定,采用相对值,可以提高检测的正确率,
对于速度的测量,可以记录目标通过车道进入线的时间t1(从视频帧时间得到)和通过车道离开线的时间t2显然,车速的计算公式为:其中s表示进入线和离开线之间的实际距离,
2.3差分背景的建立与更新
差分背景的建立与维护是实现本文算法的另一个关键环节,背景差分的基本原理就是利用帧图像与背景图像之间的差值来判断图像中是否存在车辆以及车辆的运动信息,背景图像的选择对背景差分的效果有直接的影响,对于初始背景的建立,本文采用对前Ⅳ帧图像求平均的方法,获取初始背景图像:
提取背景后,就可以对视频图像进行差分运算处理,但是实际路面背景是随时间变化的,为了适应这种变化,算法中的背景图像也应该随着时间而更新,算法采用加权的背景更新的算法,更新策略为:
其中:Bk(i.j)表示第K帧之后的背景;fk(i.j)表示第K帧图像;a表示当前帧在背景更新中的加权系数,一般情况下,α可取值为O,1,显然,上述更新过程中,当有车辆通过时,不更新背景;当没有车辆通过时,对背景进行加权更新,利用上述方法获取背景图像后,即可获取差分图像
3.实验结果与分析
为了验证本文算法的可行性,利用实际的交通路口视频进行实验,对比本文算法与传统算法的准确率、复杂度等,
3,1评价标准
为了测试系统的实际检测准确率,将算法检测的车辆数和人工计数车辆数进行比较,用漏检率、虚警率、准确率这3个指标来评价系统的检测效果,其各自定义如下:
3,2检测概率对比分析
采用某路段同一监控点的白天和夜晚的交通流视频来对本文算法进行测试,实验结果如下表所示:
从表1和表2的检测结果中可以看出,本文的车流量检测算法的检测准确率在白天达到91.9%,夜间达到88.3%,与文相比,分别提高了3.6%和3.4%;与文相比,分别提高了2.4%和2.5%,其主要原因是本文采用了宽检测线方法,所有的检测都在线上进行,避免了整个图像背景噪声抖动对检测的影响,且所采用的去噪方法较好的抑制了噪声的干扰,
3.3计算复杂度对比分析
从计算量来说,若视频图片像素大小为N×M维的,则算法输入的数据量一般为N×M级别,而本文算法通过划定检测线,根据检测线划定的方向,所需要参与计算的数据量约为n×M,其中n为检测线的宽度,由于n《N,显然计算量较传统算法大为减少,
4.结论
车流量、车速等是交通管理和拥堵预警所需的基本信息,本文结合实际需要,提出了一种快速车流量检测方法,通过划定宽检测线,大大减少了算法复杂度和系统开销,算法实验表明,本文算法可以实时、准确地检测出交通流视频图像中的车辆,检测的准确率明显提高,具有较好的适应性和性。
关键词:智能交通系统;车流量检测;背景差分;检测线
DoI:10.15938/j.jhust.2016.04.004
中图分类号:TP391
文献标志码:A
文章编号:1007—2683(2016)04—0019-06
0引言近年来,城市交通压力日加严峻,车辆拥堵现象越发普遍,智能交通系统作为一种前景广阔的解决方法,能够为交通拥堵提供早期预警,及时疏散车流,因而得到了人们的广泛重视,要实现智能交通系统,首先要能够实时而准确地掌握道路上的车流量、车速、车型等交通参数信息,目前,获取这些信息,主要有3种方法,第一种是接触式检测,将感应装置埋藏于路面之下的,当车辆通过时,引起感应装置的响应,从而得到所需要的交通流量信息,这种方法的安装维护较为困难,随着车辆的增多,导致这类装置使用寿命较短,路基下沉、冰冻等也会影响采集系统的使用,且该种系统难以对车辆的速度进行有效监测,第二种方法是波频检测,主要有微波、红外、超声波三种,利用返回频率差或者时间差来检测车辆,这种方法受到天气的影响较大,且成本较高,第三种方法是视频检测方法,这种方法利用计算机视觉技术获取道路交通的参数,具有安装维护简单、成本低廉等优点,目前,车辆视频检测技术目前仍处于快速发展阶段,
车辆的视频检测技术,利用交通路口的视频探头,获取车辆通行的视频画面,然后利用视频或者图像处理的方式,获取车辆的动态信息,从而实现对车流量的实时监控,常用的处理方法有:相邻帧差法、边缘检测法、背景差分法,相邻帧差法通过提取相邻图像帧的变化量检测目标,容易受到树木、行人、光线等变化信息的影响,导致检测概率不高;边缘检测法在车辆边缘不明显的情况下容易造成漏检;背景差分方法由于较好的可靠性受到了更大的重视,文提出了混合高斯背景模型的方法,在初期采用新的权值和方差更新方法,获得了较好的性能,文研究了基于高斯混合模型的多车道车流量检测算法,运用高斯混合模型对检测带进行背景建模,实现了多车道车流量检测,文提出基于差异深度积累的目标检测算法和基于卡尔曼滤波的目标跟踪算法,实现了多运动目标的检测与跟踪,以上这些背景差分算法在进行车流量检测时,都是以车辆目标为中心,且其整个背景的维护需要用到整个视频探头可以捕捉的画面,算法设计较为复杂,且背景容易受到树木抖动的影响,造成检测概率不足。
本文提出一种快速车流量检测的实用算法,通过划定可以调节宽度的检测线,仅仅在检测线上采用背景差分方法,对目标进行检测,由于需要处理的数据由原来的整个面,减少为一条线,即从二维图像数据转变为少量的一维数据,使得计算量大大减少;同时,检测线的选取可以有效避开树木等抖动背景,使得背景更加稳定,检测概率更高,在完成原有算法的多车道检测基础上,本文算法实现快速实现车流量、车速的检测,具有更好的检测概率和更低的计算复杂度,
本文主要介绍了算法的预备工作,给出了算法的主要步骤和关键环节,利用实测数据对本文算法和已有算法进行了对比分析,最后对本文进行了小结,
1.车流量检测的预备
交通视频的相近帧之间蕴藏着大量的车辆运动信息,如图1所示,采用合适的方法将这些运动信息检测和提取出来,就能够达到提取场景内交通参數的目的,图2所示为车辆检测的基本过程,首先需要从视频中提取数字图像序列,对每一帧进行预处理、形态学处理,最后进行目标的检测,其中,对图像的预处理以及形态学处理方法是整个车辆检测算法的预备工作,
1.1图像预处理
实际采集到的交通流视频都会受到噪声等的影响,会使得车辆检测的准确率变差,所以,在进行检测车流量之前,需要对图像进行一系列预处理主要包括:灰度化、滤波、二值化等。
彩色图像的灰度化:彩色图像的数据量较大,为了减小运算量,提高后续算法的速度和应用实效,需要将彩色的交通流视频图像进行灰度化处理,本文算法采用工程中常用的加权平均法来对图像进行灰
图像滤波:在视频图片中,由于受到椒盐噪声影响,导致个别像素起伏较大,因此,还需要对其进行平滑滤波处理,为了实现快速车辆检测,本文算法采用较为经典的中值图像滤波,中值滤波的基本原理是利用一个滑动窗口,该滑动窗口依次滑过图像的所有像素点,对滑动窗口内对应的像素点的灰度值进行排序,这些像素点灰度值的中值,即为中值滤波后图像在该点的灰度值,计算公式为:
经过灰度化、图像滤波、二值化处理以后,所得到的是包含车辆信息的二值图像,其特点为背景变化较大的区域为1,较小的区域为0,也即有车辆通过时,在车辆覆盖的区域内为1,其他区域为0,然而,由于受到环境噪声、车辆色差等影响,导致得到的0、1区域与实际的情况存在偏差,需要对其进行进一步的形态学分割处理,
1.2形态学处理
由于车辆的某些部位与路面可能存在着灰度差别较小的情况,因此,二值化图像含有很多的空洞,这些空洞较大时,检测时会造成漏检的情况,当空洞大到使一辆车的图像破裂成不连通的两块甚至多块的情形时,又会造成多检的情况,此外,环境噪声,如树木的抖动,可能使得二值图像产生一些少量的l,严重时也可能造成车辆计数增加,为了去除空洞以及其他噪声的影响,还需要对二值图像进行进一步的形态学处理,
常用的形态学处理方法有腐蚀、膨胀、开运算、闭运算等,腐蚀算法可以用来消除图像上微小而无意义的物体,主要用于消除噪声,如图3所示(白色部分为l,黑色部分为0),其基本原理是用结构元素扫描图像中的每一个像素点,用结构元素与其覆盖的图像区域的像素点相与,若结果全为l,则图像中该像素点为1,否则为0,膨胀运算可以将目标图像边界向外扩张,从而弥合目标图像中存在的裂缝和空洞,主要用于处理二值图像中的空洞,如图4所示(白色部分为1,黑色部分为0),其基本原理是用结构元素扫描图像像素点,和图像像素点做“或”运算,若结果全为O,则图像该像素点为0,否则为1 实际应用中单独运用腐蚀或膨胀运算难以达到理想的效果,因而往往采用膨胀和腐蚀组合起来方法对图像进行形态学处理,先对图像进行膨胀运算,而后再进行腐蚀运算的过程称为闭运算,闭运算可以有效消除二值化图像中的空洞和裂缝,因此,本文算法的车流量检测系统中采用闭运算对二值图像进行形态学处理,以提高检测性能,
2.车辆检测算法
运动车辆的检测算法是基于视频的车辆检测系统的核心和关键,本文提出了基于检测线的背景差分方法,该方法通过划定检测线的方式,将所有的图像预处理、形态学处理、目标检测等全部集中在检测线上进行处理,与传统基于整个画面的检测方式相比,具有极低的复杂度和较高的检测概率,本文的车流量检测算法的流程图如图5所示,
首先读取视频,将其转化为灰度图像,读取事先设置好的检测线坐标上的图像数值,进行中值滤波、二值化处理、形态学处理,最后判定车辆,从而实现车流量检测和车速的监测。
2.1检测线的设置
划定检测线是本文算法的关键环节之一,在车道上设置一条与车道垂直的虚拟检测线,其作用类似于埋设于公路上的感应线圈,当视频图像中有车辆目标通过检测线时,检测线上的像素值就会发生变化,通过的物体越大,检测线上发生变化的像素点数目就会越多,设定一个阈值,通过统计发生变化像素点数目是否超过阈值来判断是否有车辆通过检测线,
虚拟检测线的长度以及具体的放置位置应该根据车辆行驶路线和道路的具体情况确定,如图6所示,其中第一条为车辆的进入检测线,第二条为车辆的离开检测线,检测线的具体原则有以下几点:
1)检测线应设置为与车道垂直;
2)宽度与车道宽度相同;
3)尽量避开树木等干扰物;
4)进入和离开检测线之间的宽度小于最小车距。
在上述检测线划定的基础上,为了提高检测率,本文算法将检测线进一步改进,将其划定为宽检测线,如图7所示,
具体方法为根据检测线穿过的像素网格,向上下进行扩展,按顺序将像素值保存在一维数组中,图7中,经扩展以后的线宽为3,
2.2目标的判别和速度的测量
对于目标的判别,可以利用二值化以后的数组,当检测线上的目标像素为1的点数大于某一阈值时,即认为检测线上有车辆目标经过,当目标先后通过进入线和离开线时,判定有目标,否則判定无车辆,显然,在判定过程中,阈值取得过大,则可能造成漏检;阈值取得过小,则会将行人、自行车、摩托车或其他干扰等判断为车辆,造成多检,阈值可以采用相对值,即相对于车道的宽度值,由于通常情况下,车辆占用车道的宽度比例相对较为固定,采用相对值,可以提高检测的正确率,
对于速度的测量,可以记录目标通过车道进入线的时间t1(从视频帧时间得到)和通过车道离开线的时间t2显然,车速的计算公式为:其中s表示进入线和离开线之间的实际距离,
2.3差分背景的建立与更新
差分背景的建立与维护是实现本文算法的另一个关键环节,背景差分的基本原理就是利用帧图像与背景图像之间的差值来判断图像中是否存在车辆以及车辆的运动信息,背景图像的选择对背景差分的效果有直接的影响,对于初始背景的建立,本文采用对前Ⅳ帧图像求平均的方法,获取初始背景图像:
提取背景后,就可以对视频图像进行差分运算处理,但是实际路面背景是随时间变化的,为了适应这种变化,算法中的背景图像也应该随着时间而更新,算法采用加权的背景更新的算法,更新策略为:
其中:Bk(i.j)表示第K帧之后的背景;fk(i.j)表示第K帧图像;a表示当前帧在背景更新中的加权系数,一般情况下,α可取值为O,1,显然,上述更新过程中,当有车辆通过时,不更新背景;当没有车辆通过时,对背景进行加权更新,利用上述方法获取背景图像后,即可获取差分图像
3.实验结果与分析
为了验证本文算法的可行性,利用实际的交通路口视频进行实验,对比本文算法与传统算法的准确率、复杂度等,
3,1评价标准
为了测试系统的实际检测准确率,将算法检测的车辆数和人工计数车辆数进行比较,用漏检率、虚警率、准确率这3个指标来评价系统的检测效果,其各自定义如下:
3,2检测概率对比分析
采用某路段同一监控点的白天和夜晚的交通流视频来对本文算法进行测试,实验结果如下表所示:
从表1和表2的检测结果中可以看出,本文的车流量检测算法的检测准确率在白天达到91.9%,夜间达到88.3%,与文相比,分别提高了3.6%和3.4%;与文相比,分别提高了2.4%和2.5%,其主要原因是本文采用了宽检测线方法,所有的检测都在线上进行,避免了整个图像背景噪声抖动对检测的影响,且所采用的去噪方法较好的抑制了噪声的干扰,
3.3计算复杂度对比分析
从计算量来说,若视频图片像素大小为N×M维的,则算法输入的数据量一般为N×M级别,而本文算法通过划定检测线,根据检测线划定的方向,所需要参与计算的数据量约为n×M,其中n为检测线的宽度,由于n《N,显然计算量较传统算法大为减少,
4.结论
车流量、车速等是交通管理和拥堵预警所需的基本信息,本文结合实际需要,提出了一种快速车流量检测方法,通过划定宽检测线,大大减少了算法复杂度和系统开销,算法实验表明,本文算法可以实时、准确地检测出交通流视频图像中的车辆,检测的准确率明显提高,具有较好的适应性和性。