基于神经网络的交通灯智能决策系统设计

2020-03-04 12:03金晓磊刘喜庆
微处理机 2020年1期
关键词:交通灯车流量绿灯

金晓磊,陈 苗,刘喜庆

(1.西安工程大学电子信息学院,西安710600;2.国网新疆电力公司五家渠市供电公司,新疆五家渠 831300)

1 引 言

随着城市生活节奏的加快,交通出行在现代经济与社会发展的进程中占据着更加重要的位置。当今的交通信号灯基本都是定时控制,在某些时段、特殊情况下很难进行动态控制,会造成交通拥堵、尾气排放增加等。为克服传统交通灯的定时式控制的缺陷,设计智能的交通控制系统来提高交通效率,显得尤为重要。智能交通灯控制系统是一种把各种先进控制技术结合在一起的综合控制系统,各个时期的典型交通信号系统在不断变化,控制技术也从以前的人工变为后来的计算机控制,整个控制系统领域朝着更高效、智能的方向发展[1]。神经网络在智能交通控制系统中的应用涉及到交通模式分析、交通流量预测、交通控制方式选择等各个方面[2-5]。其中,误差反向传播(Back Propagation, BP)神经网络是目前应用最广泛的神经网络。胡立伟等[6]进行了基于BP神经网络的拥塞环境下车辆运行风险识别研究,建立的神经网络模型能准确识别车辆运行风险的关键因素并对其进行评估,为规避城市道路拥的车辆运行风险及拥塞治理提供了参考。孙德鑫[7]利用BP 神经网络构建了一种公路流量预测模型,使用MATLAB软件对交通数据进行研究和模拟,证明该预测模型实时性很好。陈鹏[8]提出了一种基于BP 神经网络的公交智能实时调度模型研究及系统实现,将BP 神经网络技术应用于智能公交的实时调度规划,验证智能公交的智能实时交通算法的可行性。

基于现有研究背景,在此设计一个把神经网络应用在城市交通信号灯配时控制中的智能决策系统。通过确定输入变量、训练BP 神经网络、设计GUI 来完成。利用训练得到的神经网络模型,结合当前交叉口车辆动态情况决策出交叉口的适宜绿灯时间,以更有力地保证道路的畅通,提高交通效率。

2 决策指标选取

在进行交通灯时间决策时,需要知道选取哪些因素才能有效地反映绿灯时间长短。交通灯决策指标的选取原则主要包含全面性、明确性和实用性三方面。全面性原则是指交通状态相对复杂,很难用一个指标来清楚地描述。为了避免仅从单个方面研究交通状态而导致错误判断,指标的选择应尽可能全面。明确性原则是指指标应含义明确,易于理解,可以清楚地衡量交通状况。实用性原则是指选择的指标应易于使用,并为使用它们的人所理解和接受。基于以上三项原则,本设计算法选取交通流的三个相关参数:车速、车流量和车辆密度,作为决策指标。

车速就是所谓的车辆行驶速度,国际上使用的单位是km/h。通过测量驶过道路上的车辆速度可以判断道路的通行状态,车速较快代表道路比较顺畅,不堵车;车速慢就代表道路比较堵塞。通过各种类型的车速测试仪可以快速地获取车速,该参数数据比较容易获取。

车流量是指在一定时间内通过一定道路或马路的车辆数量。车辆交通流量大,说明道路畅通;车辆交通流量小,说明道路堵塞。通过车流量传感器检测[9]、车载卫星[10]、射频模块[11]或是由视频图像检测[12]等来获得这一数据都是现实可行的。

车辆密度指在某个时刻某段道路上车辆数与该路段长度的比值[13]。一般来说,单位长度的路段上停滞的车辆少,表明交通系统运行良好。如果某时刻某路段的车辆密度检测值接近于该路段的最大车辆密度值,那么该路段极大可能处于拥堵状态。因此,通过观测车辆密度可以掌握一定的路段交通状态。而如今利用车联网、定点检测器、航空拍摄等技术即可得到需要的车辆密度,技术手段的成熟让数据更准确、更全面。

3 神经网络模型设计

人工神经网络(Artificial Neural Network, ANN)是模拟生物神经网络进行信息处理的一种数学模型,在众多的领域都有不同的应用,如模式识别、系统识别、智能控制等。神经网络的一个重要特征是其自学能力,尤其是在智能控制领域,可以帮助人们解决控制器的适应性问题。为了扫除阻碍ANN 发展的障碍,完全消除对多层感官网络的怀疑,Rumelhart和 McClelland 于1986 年提出多层前馈网络的误差反向传播(Error Back Propagation)学习算法,简称BP算法。到目前为止,BP 算法已经成为应用最广泛、研究最多、发展最快的算法。在智能交通系统中,因为在正常的交通条件下有随机和非线性的特点,使用一般的方法识别是很难实现的,而且精度也很低,此时正适合于用BP 神经网络来实现。与传统的模型技术相比,BP 神经网络的优点是:① 有自适应能力;②有自学功能;③在非线性中映射能力更强;④处理系统输入、输出的效率更高。

BP 网络的设计主要包括网络层数、各层神经元个数及学习方法的确定。综合考虑决策系统的复杂度,此处拟用三层的 BP 网络,即一层输入层、一层隐含层、一层输出层。在BP 网络中,可以自行确定各层的神经元数量。本系统决策指标选取了三个参数,因此输入层的节点数为三个,输出层的节点数为一个(控制当前通行方向的绿灯时间)。该网络模型只有一个隐含层,可以通过增加隐含层神经元的数量来提升精度,此方法要比增加网络系统的隐含层更加简单方便。

一般情况下,隐含层神经元个数的计算式如下式所示:

其中,n 为输入层神经元数量,m 为输出层神经元数量,a 表示的是1~10 之间的任一常数。由式(1)可以计算得到隐含层神经元数量的范围是[3,12],模型最终确定隐含层神经元节点数为9。

4 神经网络模型训练

本设计使用MATLAB R2016b 进行编程,调用工具箱中的一些相关函数,创建、训练BP 神经网络模型。训练中使用的数据为某地区的观测交通数据,包括车速(km/h)、车流量(辆)、交通密度和与它们对应的交通灯绿灯时间(s)。

使用newff 函数创建神经网络,其中performFcn设置为“mse”,也就是误差使用均方根误差;trainFcn设置为“trainlm”,也就是训练算法选用Levenberg-Marquadt 反传算法,它是速度最快的一种训练算法。在训练前还需对参数进行设定,迭代最大次数设定为70 次,训练目标设为0.005,也就是均方根误差小于0.005 训练才会结束。学习率设定为0.01。

模型训练完成后,使用三十个样本进行测试,判断其性能。评价指标选择决定系数,其计算公式如下式所示:

测试样本的决策结果对比如图1 所示。图中直观展示了真实值与决策值之间的误差大小。可以看到三十个测试样本中,绝大多数样本的决策值都与真实值非常接近。决定系数为0.97945,非常接近于1,表明模型的性能很好,能很好地根据输入的车速、车流量和交通密度决策出最佳的交通灯时间。

图1 决策结果对比图

因为本设计中训练集和测试集是从调研数据中随机分配产生的,所以会因训练集的不完全相同导致训练出的模型有细微差别。但这种细微差别对模型的功能实现是没有影响的,训练出来的神经网络模型都能很好地进行决策。表1 列出了连续九次随机生成训练集和测试集后,训练出模型的决定系数。从中我们可以看出,虽然每次训练出的模型不完全相同,但决定系数都较高,都能很好地根据输入的车速、车流量和交通密度决策出最佳的绿灯时间。

5 GUI设计与系统测试

基于神经网络的交通灯智能决策模型训练好以后,就可以用它来根据实时观测的车速、车流量和交通密度数据决策当前最佳绿灯时间。设计一个图形用户界面(GUI),如图2 所示,来更直观地展示本设计中的智能决策系统。

图2 交通智能决策系统GUI 操作界面

在制作好的GUI 界面中输入车速、车流量和交通密度数据,点击决策按钮,神经网络模型决策出的结果会输出到最佳交通灯时间文本框中。用以下两种情况下的实测案例来验证本设计能否完成最初设定的系统功能:

1) 当车速处于极大时

在车速、车流量和交通密度可编辑文本中分别输入数字55,23,20,点击决策按钮,输出的最佳交通时间显示为30s。通过数据可以看出此时的路口车速较高且车流不大,因此将当前路口绿灯时间设定为30s 是合理的。与训练数据作比较,此时的数据也比较符合实际。

2) 当车速处于极小时

在车速、车流量和交通密度可编辑文本中分别输入数字4,84,81,点击决策按钮,输出的最佳交通时间显示为90s。通过数据可以看出:此时的路口车速相当小,且车流量相当大,因此将当前路口绿灯时间设定90s 比较合理。

通过模型训练结果分析和上述测试,可以看出本设计中的决策模型能很好地根据观测到的当前车速、车流量和交通密度数据决策出最佳绿灯时间。当前路口车速越快,车流量越小,相应交通密度也越小,决策出的绿灯时长越短;车速越慢,车流量越大,交通密度也越大,决策出的绿灯时长越长。交通灯可根据实时路况信息进行动态调整,以此能够改善交通运输的效率,提升交通的智能化。

6 结束语

时代发展迅速,交通压力增大,道路严重堵车的情况普遍可见,因此根据当前道路交通情况智能决策绿灯时间显得尤为重要。本设计利用神经网络来控制交通灯,实现城市交通灯的智能控制。利用已知的交通流数据进行神经网络的训练,并设计GUI进行仿真。仿真结果证明了BP 神经网络可以很有效地决策出适宜的绿灯时间。本设计选取的决策变量主要是各种交通流参数(交通速度、交通流量、交通密度等),皆属于便于处理的外部因素,在进一步的研究中,考虑可将交通参与者的主观感受和驾驶员各种微观行为纳入决策指标中。

猜你喜欢
交通灯车流量绿灯
为什么红灯停,绿灯行
基于单片机的交通灯模糊控制器研究
基于遗传算法的智能交通灯控制研究
矿工灯
为什么交通灯是红黄蓝三种颜色?
红灯停,绿灯行
参考答案
一路绿灯 一路关爱
红灯与绿灯