基于FPGA的交通路口车流量检测方法研究

2013-09-19 10:29王宝珠吴金龙
电子设计工程 2013年5期
关键词:检测线车流量灰度

王宝珠,高 瑜,吴金龙

(1.河北工业大学 信息工程学院,天津 300401;2.河北省铁路管理局 河北 石家庄 050051)

随着经济的发展以及城市化进程的逐步加快,我国的车辆数量正在迅速增长,这样就给城市交通带来的严峻的挑战——交通拥堵[1]。交通拥堵不但使事故发生率加大,而且也加剧了环境污染,造成了资源浪费[2]。为了缓解交通压力,减少车辆延误和环境污染,实现智能交通信号控制是建设资源节约型社会的必然选择。

在我国,现如今交通信号控制系统主要采取定时控制的方式[3]。定时控制不能根据车流量自动调节红绿灯时间,必然会造成车辆延误及交通拥塞等情况。因此根据具体的车流量来控制红绿灯时间,可有效的分配交通资源,减少交通拥堵。

传统的基于视频的车流量检测方法包括光溜检测法,帧差法,背景消减法,边缘检测法等[4],这些方法运算复杂,处理数据量大,且易受外部环境的影响。因此文中采取一种设置检测线的车流量检测的方法,通过在车辆行驶的道路前方垂直于道路的方向设置检测线,当车辆经过时车身阴影会造成检测线灰度值的剧烈变化,进而即可统计出车流量。该方法简单易行,且处理的数据量小,运算速度快,可得到较好的结果。

1 算法设计

1.1 视频预处理

预处理是实现算法的重要部分,首先将视频分成帧序列。设置于交通路口的摄像头拍摄到的视频一般是1秒25帧的标准视频格式,由于车辆一般在交通路口行驶速度不快,故而不需要十分密集的帧序列,为了减少数据处理量而又不影响实验结果,采取隔一帧取一次的方法,这样数据量即成为原来的一半。

将视频分成图像序列后,要将其转换成灰度图像,方可进行后续的工作,如图1所示。通过大量实验的验证,转换成灰度图像后,使用阈值0.4,再进行二值化,可以清晰的将车身、车身前的车影与道路明显的区分开来,如图2所示。

图1 灰度图像Fig.1 Gray-level image

图2 图像二值化Fig.2 Image binarization

由图2可以看出,路面上有很多不连贯的黑色区域和黑点,这些噪声会对检测结果产生不利的影响,因此,将上述二值化后的图像序列再进行中值滤波,采用5*5的检测窗口,可以去滤掉图像上大部分的椒盐噪声,起到保护边缘信息的作用,如图3所示。

图3 中值滤波后Fig.3 Image after median filter

1.2 算法实现

由图2及图3清晰可见,经过二值化后的图像,车身前方的阴影呈黑色,路面呈白色,因此能把车身前方的阴影部分和路面信息清晰的分隔开来。当车辆行驶到某一位置时,车身前方的阴影一定会造成车辆前方的路面上的区域的灰度值发生剧烈的变化。因此,当发生一次剧烈变化,计数器计一次数,这样即可计算出行驶过的车辆的数量。

在车辆行驶的道路前方,设置一虚拟检测区域,便可以实现上述过程。传统的虚拟检测区域可以分为3类:基于特征点、基于检测线、基于检测窗口。由于检测点包含的信息量太少,且易受噪声干扰;而检测区域过大,当车辆经过时,容易造成重复计数,因此文中将采取基于检测线的检测方法[5]。如图4所示。

当车辆即将行驶到检测线上时,车身前方的阴影会迅速覆盖检测线,造成检测线上的灰度值发生剧烈的变化。通过设定阈值,若灰度变化大于阈值,可判断为有一辆车到达,若灰度变化小于阈值,就判断为没有车辆通过,这样便完成了整个检测过程。

图4 设置检测线Fig.4 Set a test line

由上可知,我们只需处理每一帧图像的一行像素值,因此大大减少了数据的存储空间,从而使计算机的处理速度更快。在实际处理中,用前一帧图像减去后一帧图像,比较差值图像检测线位置的像素值,此处通过大量实验数据,设定阈值为15,若其值大于该阈值,则可判断有车辆通过,若小于该阈值,则没有车辆通过。所有检测线位置像素值做差后,可得到如图5所示的数据曲线。

图5 像素差数据曲线Fig.5 Data analysis curve

由图5可见,图像的正值尖峰,可看做一辆车的到来,通过设定阈值,可将小的尖峰部分滤掉,小的尖峰部分是车身及车窗造成的干扰,故通过此方法,可得到具体通过路口的车辆的数量。

统计宽阔路口的车流量,可将整个路口分成几个车道,对几个车道分别用此方法进行统计,最终求和,即可实现车流量的统计。

2 基于FPGA的硬件仿真

FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的使用非常灵活,同一片FPGA通过不同的编程数据可以产生不同的电路功能。FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛的应用。

文中通过使用matlab对上述算法进行仿真,我们可以得到视频图像每一帧的像素信息,并将该信息作为一个数据矩阵储存到后缀名为dat的二进制数据文件中,作为FPGA硬件仿真的输入激励,即像素点检测的输入部分。

基于FPGA平台来完成实时算法的硬件实现,文中根据算法复杂度及资源使用情况,选取Xilinx公司的SpartanIII XC3S50芯片完成实现。

XC3S50是Xilinx公司推出的SpartanIII系列中资源可用量较少的一款芯片,它包含768个slices、4块18×18乘法器、4块独立RAM(每块RAM容量为18K)。经过综合计算以及筛选,在节约成本的基础上,确定XC3S50为交通信号灯路口的车流量检测算法的硬件实现平台。

电路设计的开发环境采用ise12.4,并使用modelsim6.5se进行硬件电路仿真。

图6是该算法在FPGA上实现的电路设计图。

图6 FPGA电路设计框图Fig.6 Block diagram of circuit design

如图6所示,视频帧切换脉冲到来时启动计数器进行时序控制计数,计数到37后保持,等待下一个脉冲的启动,在计数过程中将数值输出至其他电路。累加器接收到计数后,对每一帧更新的并行灰度信号进行逐位累加处理,当37位累加完毕,输出累加结果至减法器。减法器在时序计数控制下将当前帧的累加值与寄存器存放的上一帧灰度累加值做差,将结果输出至比较器。比较器将差值与门限值进行比较,如果超过门限,则输出一个高脉冲,作为有车经过的标志。

图7是采用modelsim的仿真结果。

图7 modelsim仿真结果Fig.7 Simulation result of modelsim

仿真采用的系统时钟为65.536 MHz,对应时钟周期约为15.2 ns,如图7所示,每一帧的处理时间仅需38*15.2 ns≈577 ns,可以满足快速处理的需要。图中output_signal为比较器输出的结果,即为监测是否有车辆通过的标志,该结果与matlab算法仿真结果完全一致。该算法实现简单,有很高的实时性和可操作性。

3 结束语

文中的算法是利用Matlab编程实现的,而硬件实现是在ise12.4+modelsim6.5se的环境下编译完成的。通过对一段3分48秒的交通路口视频进行验证,准确率在97%以上。文中与其他实现车流量统计的算法相比较,优点在于完成该算法的硬件实现,且就算法本身而言,实现简单,数据处理量小,处理速度快。但该算法自适应性较弱,容易受到外界干扰影响,需要进一步加强对检测算法的优化和改进研究,以提高检测算法的准确度和自适应性。

[1]王卫峰,王锟,郝志峰.基于视频的车流量统计算法[J].科学技术与工程,2011,17(11):4080-4082.

WANG Wei-feng,WANG Kun,HAO Zhi-feng.Video-based statistical algorithm for traffic flow[J].Science Technology and Engineering,2011,17(11):4080-4082.

[2]杨永辉,黄磊,刘昌平.基于视频分析的车辆排队长度检测[J].计算机应用研究,2011,28(3):1037-1041

YANG Yong-hui,HUANG Lei,LIU Chang-ping.Mesurement of vehicle queue length based on video analysis[J].Application Research of Computers,2011,28(3):1037-1041.

[3]洪清辉.基于PLC的智能红绿灯专家控制系统[J].漳州师范学院学报:自然科学学版,2007(3):42-46.

HONG Qing-hui.Expert control system of intelligent traffic light controlled by PLC[J].Journal of Zhangzhou Normal University:Nat.Sci.,2007(3):42-46.

[4]张辉,董育宁.基于视频的车流量检测算法综述[J].南京邮电大学学报:自然科学版,2007,3(27):88-94.

ZHANG Hui,DONG Yu-ning.Survey on video based vehicle detection algorithms[J].Jounnal of Nanjing University of Posts and Telecommunications:Natural Science,2007,3(27):88-94.

[5]刘章军.基于差分图像的车流量检测算法及实现[D].西南交通大学,2011.

[6]司红伟,全蕾,张杰.基于背景估计的运动检测算法[J].计算机工程与设计,2011,32(1):262-266.

SIHong-wei,QUAN Lei,ZHANG Jie.Motiondetection algorithm based on background estimated[J].Computer Engineering and Design,2011,32(1):262-266.

猜你喜欢
检测线车流量灰度
采用改进导重法的拓扑结构灰度单元过滤技术
机动车检测线实验室中信息工程技术的研究与应用
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
汽车检测线远程智能诊断系统研究
基于车流量监测系统的荆岳大桥拥堵预警方法探讨
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一种快速车流量检测算法
基于灰度线性建模的亚像素图像抖动量计算
参考答案
高速公路重大节假日免费车流量金额算法研究与应用