基于图像处理的交通灯智能控制
扫描二维码
随时随地手机看文章
引 言
随着人民生活水平的不断提高,城市车辆越来越多,拥堵不断加剧,环境污染持续加重。如何解决不断增加的车辆与有限的城市空间之间的矛盾,实现智能化交通是各国政府、学术科研院所、企业等关注的焦点。不同的国家提出了不同的解决方案,如限时出行、交通引导、车联网、绿色出行、交通灯智能调整等。智能交通是一个复杂的综合性问题,交通灯是车辆和行人的指示牌,在智能交通中起关键作用[1,2]。
目前城市交通灯的控制采用以下几种形式:
固定模式,即一段时间内红绿灯时间固定不变;
变化模式,将一天分为交通高峰期和普通时段,不同时段红绿灯时间不同;
交警参与,在特定时段交警用遥控控制红绿灯持续时间或直接由交警手势控制车辆行驶。
十字路口环境复杂,不同时段车流量不同,拥堵情况不同, 且道路上有机动车辆、非机动车辆、行人、特殊车辆等不同种类车辆,同时十字路口的拥堵情况受周围环境变化的影响较大,如雨雪天气等。几种控制模式都无法满足十字路口复杂的环境需求。
1 交通灯硬件设计
以十字路口为研究对象,假定十字路口分为东西南北四个方向,一个红绿灯系统由东、西、南、北四个红绿灯子系统构成, 每个红绿灯子系统由红绿灯显示装置、检测装置、微处理器、传输模块等构成嵌入式系统。
红绿灯显示装置主要由 AT89C51单片机和数码管等组成[3],显示红绿灯时间,属被控装置;
检测装置主要使用摄像头实时采集十字路口的图像视频;
微处理器是子系统的核心,采用ARMCortexA5处理器作为微处理器,在该处理器上移植 Linux操作系统,方便驱动程序和应用编写,利用图像处理与分析技术对采集到的图像进行处理和分析,并计算交通参数,同时向红绿灯显示装置发送红绿灯配时方案的控制命令,属主控装置 ;
无线传输模块采用nRF905无线收发器完成数据的传输,通过 SPI接口与ARMCortexA5连接。nRF905是挪威 Nordic公司推出的射频发射芯片, 工作于ISM频道, 在Linux下完成 nRF905无线收发器的驱动程序,在微处理器的控制下完成数据传输。
在东西南北四个方向分别放置一个子系统,设定其中一个方向的子系统为主系统,其他方向为从系统。每个方向子系统的检测装置实时采集该方向的图像并通过图像处理和分析得出该方向的交通参数,通过nRF905 无线收发器将交通参数传输到主系统汇总,主系统根据东西南北四个方向的交通参数,得出红绿灯配时方案,将配时方案通过nRF905 无线收发器发送到其他子系统,各子系统的微处理器作为主控装置分别发送红绿灯配时方案给各自的红绿灯显示模块,红绿灯显示模块根据配时方案显示红绿灯时间,当微处理器不发送配时方案时,红绿灯显示模块则显示默认的配时方案。
2 交通参数的计算
交通参数是描述和反映交通流性质的物理量,包括交通量、车速、密度、排除长度和通行能力等,它从不同角度说明了交通流的性质。交通流性质能够通过交通参数在数值上的变化来反映。其中交通量、车速和密度反映了交通流的基本性质,称为基本交通参数。交通量,即车流量指一段时间内通过某个区域的车辆数目[1,5]。
计算交通参数通常需要车辆检测和分析计算两个过程,车辆检测是计算交通参数的基础,目前车辆检测技术包括感应线圈、基于视频的车辆检测、基于RFID 的车辆检测等,采用基于视频的车辆检测常见方法有背景差分法、帧差法、光流法、VIBE 等。帧间差分法将两帧或三帧相减后做二值化处理,即可得到前景,但该方法无法检测静止的对象,且所选择的两帧或多帧的间隔对结果的影响较大。光流法计算量较大,不适合嵌入式领域[1,2,5]。
背景差分法是将当前帧与背景帧相减后做二值化处理, 得到前景。设当前帧、背景、前景、阈值分别为 I(x,y),B(x, y),F(x,y),T,则:
该方法的关键点在于背景帧的建模及更新策略,优点在于能检测到静止的对象,缺点是对背景帧的依赖比较大[5]。
为了减少计算量,采用基于车道划分的背景差分法检测车辆,在背景差分之前根据实际路面情况,将路面划分成直行、左转等车道,并划分离路口远近不同的区域。通常离路口近的区域车辆多寡对红绿灯时间影响较大,划分车道使计算的区域限定在划分的车道内,并且能够有针对性地计算出不同区域的车辆密度。为了简化问题,此处仅划分直行车道,得到车道的掩码为 M(x,y),在将当前帧与背景帧相减之前,先分别将其与车道掩码进行按位与操作,得 P(x,y)=I(x,y))&M(x, y)–B(x,y)&M(x,y),则:
此方法可将图像感兴趣区域(ROI)定位在划分的车道上, 有效减小计算量,具有针对性。
使用Matlab进行仿真,得到的效果如图 1所示,其中(a) 为划分车道,(b)为背景图像,(c)为当前灰度图像,(d)为背景差分得到的前景。根据划分的车道,计算车道面积 SR, 当检测出车辆后,计算车辆的面积 SC,车辆密度 d=SR/SC,此时 SR=94 427 px,SC=29 172 px,车辆密度 d=30.9%,车辆密集。车辆密度作为一个交通参数,可代表车辆的多寡。
(a)划分车道(b)背景图像
(c)当前灰度图像(d)背景差分得到的前景
图1 基于车道划分的背景差分法效果
3 红绿灯配时方案
在中国,右转在不影响其他车辆通行的情况下,不受红绿灯的控制。为此红绿灯可分为 4 种相位(:1)南北相直行(;2)南向西左转,同时北向东左转;(3)东西相直行;(4)东向南左转,同时西向北左转。在要求直行和左转的红绿灯下(,1)(2)合并为一个相位,(3)(4)合并为一个相位 [3,4,6,8]。红绿灯配时方案根据采集到的路况信息进行调整,考虑到驾驶员的适应情况,不能立即、随意调整红绿灯的时间,应利用模糊控制的思想[5-7],根据灯时车辆滞留情况来调整。车辆滞留情况使用红灯时的车辆密度表示,考虑到摄像头采集图像、ARM 处理图像以及处理结果需要通过nRF905 无线收发器传输,存在的一定处理时延,需提前采集图像并检测车辆,计算车辆密度。
假定系统运行按照南北方向先直行,再左转,然后东西方向直行,再左转的顺序进行。初始化时,系统进入默认模式(固定模式),南北直行和东西直行时间为 30s,左转时间为 20s。背景差分法检测车辆时,背景图像需从第一帧图像开始更新, 逐步更新为正确的背景。设定系统运行前 3min采用固定模式,这段时间背景差分法不断更新背景,之后进入自动调整模式。先考虑南北直行红绿灯时间的调整,可在红灯结束倒数 3s时采集图像,计算出直行车道车辆密度,记为 Ds,此绿灯时间记为 Ys。若 Ds∈ [0,5%),设置 Ys=10;若 Ds∈ [5%, 10% ),设置 Ys=20;若 Ds∈ [10%,15% ),设置 Ys=30;若 Ds∈ [15%,25% ),设置 Ys=40;若 Ds∈ [25%,30% ),设置Ys=50;若Ds>30%,设置Ys=60。南北方向左转的红绿灯调整,车辆直行后将左转,在直行倒数 3秒时采集图像,计算出左转车道车辆密度,记 Dl,左转绿灯时间记为 Yl。如果 Ds∈ [0, 5% ),设置 Yl=8;如果 Ds∈ [5%,10% ),设置 Yl=12;如果 Dl<10%,设置 Yl=12;如果 Dl∈ [10%,15% ),设置 Yl=25;如果 Dl>15%,设置 Yl=35。东西方向直行和东西方向左转的调整与上述类似。此外,对于直行和左转同时可通行的路口, 仍可参照以上方案,绿灯时间叠加即可。
此配时方案对固定模式进行了优化,通过调整各相位的的红绿时间来调整绿信比。当直行车道上车辆较少时,红绿灯直行时间设为 10 s,当左转车道上的车辆较少时,左转时间设为 8 s,避免某一方向车辆较少,而绿灯时间较长的情况出现[8],大大减少了另一方向的车辆空等时间,有效提高了通行效率。
4 结 语
本文设计了一种交通灯智能控制系统,该系统由微处理器、检测装置、显示装置及无线传输模块组成,采用基于车道划分的车辆检测技术处理车辆图像,大幅减少了计算量, 根据检测出的车辆分析计算出车辆密度,利用模糊控制的思想,根据车辆密度控制交通灯时间,有效避免了车辆空等, 大大提高了车辆的通行效率。