赵 勇,李怀宇
(长安大学信息工程学院,陕西西安710064)
交通拥堵是城市生活的主要问题之一[1]。由于越来越多的车辆和有限的基础设施及建设,使得这一问题日益严重[2]。在这种情况下,传统的基于定时器的交通灯控制方式不能有效调整交通拥堵情况。若一条车道比其他车道拥有更多的车辆,现有的系统便无法控制交通。为了解决这一问题,需要一个实时的交通控制系统,根据交通密度来控制交通灯[3-4]。
目前,一些常用的交通流量检测方法包括:地磁检测器、超声波检测器、红外检测器和环形线圈检测器[5-10]。随着软硬件技术的不断提高,基于视频车辆检测方法也越来越受到人们的关注[11-13],逐渐成为未来智能运输系统的发展方向。硬件技术的提高使得越来越复杂的图像处理算法能取得实时性能。基于此,本文使用图像处理技术计算车流密度,并结合PLC控制器智能控制交通灯的变换以提高车辆通过十字路口的效率。
本系统选用西门子S7-300[14]系列PLC作为主控制器,交通密度基于图像处理技术计算得到,并使用DSP处理CCD相机拍摄的视频[15-17]。系统组成结构如图1所示,主要由CCD相机、DSP图像处理器、紧急按钮、Internet接口、PLC控制系统和交通灯组构成。
在每个路口安装如图2所示的监控摄像头,经嵌入式DSP处理后得到各路口的道路流量信息,并将信息发送给PLC控制系统。而控制系统根据该信息和当前红绿灯的转状态,自动调节所在路口的交通灯通行状态。同时,该系统也安装了紧急按钮,通过按动紧急按钮来应急干预交通信号灯的状态。
由图1可看出,为了实现多个交通路口的信号灯连锁控制,系统也安装了Internet接口,这也为交通系统的远程监控和网络化奠定了基础。
本系统所选用的S7-300PLC主控制器包括:314IFMCPU模块、SM334模拟量模块(包括6路模拟量输入信号和4路模拟量输出信号)和SM332开关量模块(包括36点开关量输入信号和32点开关量输出信号),使用24 V电压供电,可满足3~4车道的交通路口信号灯的控制要求。
图1 系统结构图
图2 监控摄像机安装示意图
在本部分主要介绍基于图像处理技术的道路流量计算方法。为满足图像清晰度的要求,假设摄像机按图2所示方式放置。一帧帧的处理摄像机获取的数据流,以计算出道路上的车辆流量。本文将交通量称为交通密度,并使用背景减法计算交通流量。背景减法适用于在固定背景下检测前景目标,这里使用空路作为背景图像,摄像机的后续视频帧作为前景图像,通过从前景图像中减去背景图像,可计算出视频帧中的交通密度。本文结合使用基于梯度幅值的方法和直接减法来计算视频帧中的交通密度,并使用名为viptraffic.avi的Matlab视频来演示视频帧的每一步处理结果。
1)如图 3(a)~(b)所示为监控摄像机获取的RGB前景图像帧(FGrgb)和背景图像帧(BGrgb)。首先,使用式(1)将其变换为灰度图像
其中,R、G和B分别是每个像素点的红色、绿色和蓝色值。获得的前景与背景的灰度图像分别为FGgray和BGgray。
图3 获取的RGB前景图像帧和背景图像帧
图3中,(a)为RGB背景图像;(b)为RGB前景图像;(c)为 sobel边缘检测得到的前景图像;(d)为sobel边缘检测得到的背景图像
2)然后对背景图像应用sobel边缘检测操作,其使用卷积核进行二维梯度计算。若输入图像为I,则分别用式(2)和式(3)计算水平与垂直方向的梯度。然后,用式(4)计算最终梯度。sobel边缘检测后的背景图像BGp,如图3(c)所示。
3)对前景图像执行与背景图像相同的处理,处理后的前景图像FGp,如图3(d)所示;
4)在获得FGp和BGp之后,使用(5)获得前景目标,结果如图4(a)所示。
5)上述操作后,需要对图像进行去燥处理以消除由减法引入的噪声。本文选择维纳滤波器,因其能够在消除加性噪声的同时避免图像模糊。使用像素自适应维纳滤波,计算大小为6×6的邻域来估计局部图像的均值与标准差。在进行滤波之前,用式(6)减去一个固定的小值来减小小强度像素值得影响。结果如图4(b)所示:
使用这种方式,高强度像素变化不会过大,但小强度像素明显减少,使得维纳滤波器的效果更优。滤波后的图像为Gfilt,如图4(c)所示。
图4 处理后的图像
图4中,(a)为sobel边缘检测后的图像;(b)为减去较小小像素值后的图像;(c)为维纳滤波后的图像;(d)为形态学闭操作后的图像;(e)为漫水填充操作后的图像(f)为二值图像。
6)然后用6×6矩形结构元素S进行形态学闭操作,即首先对图像进行膨胀,再进行腐蚀。数学上可用式(7)表示:
这里,⊕代表膨胀;⊖表示腐蚀;S是所有元素等于1的6×6矩阵。该过程有助于检测出由sobel操作找到的边缘,并将边缘相连接。该过程得到的图像Gclosed如图4(d)所示,目标是具有封闭轮廓的像素集合;
7)之后执行漫水填充操作以填充封闭轮廓的孔,并获得具有如图4(e)所示的实心前景对象的图像;
8)最后使用Otsu方法计算得到阈值T,并根据T将灰度图像Gfilled转换为二值图像。但为了增强二值图像的质量,将阈值乘以一个固定因子factor,如式(8)所示。 然后使用式(9)获得二值图像Gbinary,结果如图 4(f)所示。
1)使用式(10)从灰度前景图像中减去灰度背景图像,得到如图5(a)所示的结果,其中前景对象是可视的。
2)使用式(6)去除Dboj中一些不需要的像素,并得到Dtuned。之后,使用维纳滤波器去除噪声以获得Dfilt。结果图像如图5(b)~5(c)所示;
3)使用6×6方形结构元素进行形态学闭操作后,得到如图5(d)所示的闭合结果Dclosed;
4)对图像Dclosed进行漫水填充操作,以获得如图5(e)所示的Dfilled填充图像;
5)使用Otsu方法找到的阈值由Dfilled图像获得二值图像Dbinary,其中T无需乘以因子factor,得到的图像如图 5(f)所示。
使用式(11)由二值图像Gbinary和二值图像Dbinary融合得到一张图像,结果如图6所示。
这里,Itotal表示融合图像中白色像素的总数量,即前景目标的像素数量。同时,也表示本文所需计算的交通密度(TD),并使用式(12)计算得到TD
其中,R和C是Itotal中的行和列数,可用图4(f)和图5(f)描述这里选用这种方法的原因。在直接减法方法中,计算TD可能由于车辆的颜色使得计算结果不准确。若车辆颜色为黑色,则车辆可能无法由直接减法方法检测到,这在图5(f)中显得尤为明显。这一问题可以由梯度幅值方法解决,在该方法中车辆颜色不是影响因素。但在梯度幅值方法中可能存在检测到的边缘不能形成闭合轮廓的情况。例如,图4(a)中左下角的车辆,前边缘不会被检测到。在该种情况下,图像漫水填充操作将失败,并且不会检测到物体。这在图4(f)中尤为明显,其中右侧车辆的前部为黑色的。该问题可轻易利用直接减法来解决,如图5(f)所示车辆的前部。
图5 处理后的图像
图5中,(a)为背景减法后的图像;(b)为减去较小小像素值后的图像;(c)为维纳滤波后的图像;(d)为形态学闭操作后的图像;(e)为漫水填充操作后的图像(f)为二值图像。
图6 融合二值图像Gbinary和Dbinary得到图像
本小节根据上一节获取的道路流量信息计算每一个交通灯分配的时间,以达到智能控制交通灯的目的。这里将每一个交通点作为一个独立的位置,将某个时间点不同道路上的交通密度作为输入,计算得到两个输出参数。
第一个输出参数是交通周期(Tc),即信号灯完成一次变换需要的总时间,其是总交通车辆密度(TD)的一个函数Tc=f(TD),交通密度越大,交通周期则越长。当车道上有较多的车辆时,所需的交通周期也更长,一次性通过的车辆也会更多。当车道上车辆较少时,交通周期会变短,车辆通过所需等待的时间就更少。
第二个输出参数是为车辆分配的加权时间,权重由相对交通密度计算得出的。第i条道路上的权重如式(13)所示。
其中,wi是第i条道路的权重因子;TDi表示其交通密度;n表示总的道路数,故第i条道路分配的时间为:
为了验证文中所提出的智能交通灯变换与道路流量计算方法,在不同道路上进行了仿真实验。如表1所示,给出了两种不同情况下,4条道路的TDi、wi和Ti的值。可以看出,在车辆较多的车道线上,所需的交通周期更长,一次性通过的车辆也更多。当车道上车辆较少时,交通周期会变短,车辆通过所需要等待的时间就更少。如图7所示对交通周期与车辆分配的加权时间的关系进行建模,使用该模型可根据式(13)和式(14)计算各道路的权重与加权时间。
针对目前城市车辆越来越多、交通越来越拥堵的问题,本文使用图像处理技术计算车流密度,并结合PLC控制器智能控制交通灯的变换以提高车辆通过十字路口的效率。首先,根据道路上的车辆所占的总像素比率来计算交通密度,而不是直接计算车辆数量;然后,设置可变交通流量和加权时间作为每条道路的输出参数,并根据交通密度控制交通信号灯的变换顺序。仿真实验结果表明,所提出的智能交通控制系统能有效减轻路口的交通堵塞压力,提高通行效率,并可通过网络连接的方式,将该方法推广到对多个交通灯的连续控制。该系统具有如下几个特点:
表1 实验数据
图7 交通周期与车辆分配的加权时间的关系图
1)人性化。系统设置了紧急按钮,具有一定的灵活性,便于行人紧急通过路口;
2)网络化。系统支持Internet连接,方便实现多个路口红绿灯的连锁控制,从而能有效减轻交通拥挤情况;
3)智能化。该系统基于图像处理技术,智能计算道路流量,并智能控制交通灯的变换,无需人工操作。
参考文献:
[1]杨宁,阳泳,江世明.基于单片机的智能交通灯设计与论述[J].电子世界,2016(3):52-53.
[2]康维新,李定洋.基于FPGA的交通系统远程网络控制设计[J].电子科技,2015,28(9):131-135.
[3]刘中原,闫学勤,李凤婷.基于多路口车辆滞流量的交通灯协调控制系统设计[J].工业控制计算机,2016,29(10):33-35.
[4]赵鹏,荆红莉.基于PLC的交通灯监控系统设计[J].电气自动化,2016,38(3):105-107.
[5]刘秀龙.基于FPGA交通灯智能控制系统的设计与实现[D].成都:电子科技大学,2016.
[6]Darwishalzughaibi A,Ahmed Hakami H,Chaczko Z.Review of human motion detection based on background subtraction techniques[J].International Journal of Computer Applications,2015,122(7213):1-5.
[7]Mathworks.Courtesy of MathWorks-MATLAB and simulink for technical computing[EB/OL].(2015-09-12)[2016-11-30]http://www.mathworks.com.
[8]Sobel I.An isotropic 3x3 gradient operator,machine vision for three dimensional scenes[M].NY:Academic Press,1990.
[9]Lim J S.Two-dimensional signal and image processing[M].Prentice Hall,1990.
[10]Gonzalez R C,Woods R E,Eddins S L.Digital image processing using MATLAB[M].北京:电子工业出版社,2009.
[11]Soille P.Morphological image analysis-principles and applications[C].Springer-Verlag New York,Inc,2007.
[12]邱利军,景胜强,李云涛,等.一种基于灰度直方图的分割阈值自动检测方法[J].地理空间信息,2015,13(6):115-117.
[13]张维.基于单片机的可编程智能交通灯控制系统[J].电子设计工程,2016,24(4):171-174.
[14]古博,黎敬斌,叶仕通.基于SIM300通讯模块城市智能交通系统[J].电子设计工程,2015(3):83-85.
[15]姬倩倩,温浩宇.公共交通大数据平台架构研究[J].电子科技,2015,28(2):127-130.
[16]田谨,应捷,朱丹丹.一种新的箭头形交通信号灯识别方法[J].电子科技,2015,28(11):150-153.
[17]凌康杰,岳学军,王林惠,等.基于有源射频识别的应急车辆交通引导系统[J].计算机应用,2016,36(S1):273-277.