一种智慧城市交通信号控制推荐方法、***及装置
技术领域
本发明属于交通控制领域,涉及一种智慧城市交通信号控制推荐方法、***及装置。
背景技术
随着我国国民经济的持续快速发展、城市化进程的不断加快及车辆机动化程度的不断提高,城市交通问题在一定程度上已成为制约城市经济、社会可持续发展的瓶颈。先进的城市交通控制***是提高城市交通运行效率的重要途径之一,是城市现代化的一个重要标志,尤其是一线城市。现阶段如何让已建设的信号***和信号控制设备发挥最大的效能是最为迫切的任务。
为充分发挥城市交通控制***的作用,交通信号优化服务越来越受到重视,一方面是公安部、省、市等管理部门开始起草政策,积极推动,另一方面城市交通管控业务也确实存在,通过信号手段更好地优化城市交通的运行、提高城市整体的交通服务能力。为了满足不断增长的交通信号控制需求,部分城市部署了根据道路实际的交通流状态的自适应交通信号控制***,例如SCATS***。这类***能够根据提前设置的自适应方案,在此基础上对交通参数进行微调,适用于交通流规律变化不大的信号交叉口。
在实际的工程应用中,城市交通***的运行具有复杂多变的特性,随着时间和空间的变化,道路交通状态也在不断变化。道路交通***具有开放性,随机性和动态性,所以一些不确定的和具有突发性的因素是影响城市道路交通主要原因,例如在工作日高峰期出现交通事故、短时恶劣天气或其他突发情况等,可能会出现道路严重堵塞甚至导致整个城市的交通***瘫痪,因此在交通优化控制过程中需要综合正常情况与突发情况的复杂因素综合考虑。然而,面对过于复杂的因素或突发情况,传统的自适应交通信号控制方法已经无法满足当今交通控制优化的需求。且在交通流规律变化较大的情况下,需要人工实时调整信号控制***信号配时的参数。这种调控方式具有不可复制性、效率低及可靠性低等缺点,亟待新型技术作为辅助的手段缓解此类问题。
发明内容
针对上述背景技术介绍中存在的问题,本发明的目的在于提供一种智慧城市交通信号控制推荐方法、***及装置,形成闭环的自我学习机制,适应交通复杂情况,给出交通信号控制效果良好的信号控制推荐参数值,进而提高城市整体的交通服务能力。
本发明采用的技术方案是:
一种智慧城市交通信号控制推荐方法,该方法包括:
由一个或多个计算组件获取实时信号控制数据;
由一个或多个计算组件将实时信号控制数据输入到信号控制推荐模型;
由一个或多个计算组件接收信号控制推荐模型输出的响应于实时信号控制数据的信号控制推荐参数值;
其中,信号控制推荐模型的获取方法,包括:
获取信号控制数据集I;
利用所述信号控制数据集I对一个或多个深度学习算法进行训练,以获得深度学习算法模型;
选择满足模型性能要求的深度学习算法模型。
进一步,深度学习算法的网络结构获取方法,包括:
获取信号控制数据集II;
在所述一个或多个深度学习算法的网络结构搜索空间,利用所述信号控制数据集II进行网络结构搜索;
选择满足搜索要求的网络结构。
进一步,获取信号控制数据集包括:提取与控制方案操作者相关的信号控制数据作为信号控制数据集。
进一步,还包括由一个或多个计算组件获取缓存数据,判断是否满足触发条件,触发对应计算组件工作。
进一步,信号控制数据包括控制方案数据和检测器数据。
一种智慧城市交通信号控制推荐***,包括多维数据库、深度学习算法池、神经架构生成器、算法选择器、信号控制推荐模型,其中,
多维数据库提供信号控制数据集;
深度学习算法池提供一个或多个深度学习算法;
神经架构生成器获取信号控制数据集II,在一个或多个深度学习算法的网络结构搜索空间,利用信号控制数据集II进行网络结构搜索,选择满足搜索要求的深度学习算法的网络结构;
算法选择器获取信号控制数据集I,利用所述信号控制数据集I对一个或多个深度学习算法进行训练,以获得深度学习算法模型,选择满足模型性能要求的深度学习算法模型;
信号控制推荐模型基于所述算法选择器输出的深度学习算法模型,获取实时信号控制数据,输出的响应于所述实时信号控制数据的信号控制推荐参数值。
进一步,还包括数据处理模块,提取与控制方案操作者相关的信号控制数据集作为信号控制数据集I、信号控制数据集II。
进一步,还包括调控触发单元,获取缓存数据,判断是否满足触发条件,触发信号控制推荐模型、算法选择器、神经架构生成器工作。
进一步,还包括专家判断模块,判断信号控制推荐参数值是否满足控制参数校验条件,若满足,则输出信号控制推荐参数值;若不满足,则由专家判断信号控制推荐参数值是否可行,若可行,则输出所述信号控制推荐参数值,若不可行,则由专家设置所述智慧城市交通信号控制推荐***的预设配置项。
一种配套智慧城市交通信号控制推荐***的装置,包括存储器和处理器,存储器存储装置运行的数据和指令,处理器执行存储器存储的指令,其中,包括:下载信号控制推荐模型;可选择性下载深度学习算法池、神经架构生成器、算法选择器、数据处理模块、调控触发单元;执行对应指令。
本发明与现有技术相比,其显著优点包括:(1)形成了闭环的自我学习机制,依据反馈能够不断地模型自我更新与迭代。(2)提取与控制方案操作者相关的数据作为模型的训练数据,模型推荐的信号控制方案更准确更有针对性。(3)设置调控触发机制,及时有效地给出信号控制推荐。
附图说明
图1为本发明的智慧城市交通信号控制推荐***框图。
图2为本发明的获取信号控制数据集I示意图。
图3为本发明的深度学习算法LSTM结构示意图。
图4为本发明的深度学习算法RNN结构示意图。
图5为本发明的神经架构生成器示意图。
图6为本发明的算法选择器工作示意图。
图7为本发明的信号控制推荐参数值示意图。
具体实施方式
下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些具体实施方式。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
与交通信号控制相关的有2类数据,控制方案数据和检测器数据,控制方案数据与交通信号控制***执行的数据相关,包括但不限于:路口编号、相位、相序数据、相位是否开启信息,绿信比、周期时长数据,相位开始时间和周期开始时间数据等。如:
检测器包括但不限于:地磁、线圈、视频、GPS等,检测器数据与交通运行状况相关,包括但不限于:采集时间、采集地址、流量数据、饱和度数据等,如:
本发明基于深度学习算法对控制方案数据和检测器数据进行学习、获取新的知识、进行知识更新、重组知识结构,实现信号控制推荐参数值输出,并不断改善信号控制效果。深度学习算法包括但不限于:循环神经网络RNN、循环门单元GRU、长短期记忆网络LSTM等。信号控制推荐参数值与控制方案数据、检测器数据相关,可传输给交通信号控制***执行,包括但不限于:各相位最小绿灯时间、相位绿灯时间变化量、绿信比、绿信比变化量等。
一种实施方式1,参考图3,LSTM能够解决长短期依赖问题,LSTM包含三个门(gate)的设计,分别是:输入门、遗忘门和输出门,输入门对当前时刻的输入信息进行处理,负责把即时信息传递给记忆细胞;遗忘门对长期状态进行处理,负责继续保存长期信息;输出门对当前细胞状态进行处理,负责控制把长期状态作为当前LSTM的输出。依次对每一周期数据进行处理,利用误差的反向传播更新模型参数,进而对未来指定周期的信息进行估计。门的公式如下,其中σ是激活函数,W是变化矩阵,Xt是输入参数,b是偏置函数:
g(X)=σ(WXt+b)
LSTM的输入:Xt为t时刻的信息,格式为一个张量[绿信比,流量,饱和度];
LSTM的输出:当前周期的绿信比与上一周期绿信比之间的变化量,即信号控制推荐参数值;
LSTM的目标:LSTM输出的信号控制推荐参数值与实际值之间的一定时长期间的差距最小化;
LSTM的训练:采集一定数量的[绿信比,流量,饱和度]数据作为训练集,构建输入、输出、目标,训练LSTM,获得LSTM算法模型。当新的[绿信比,流量,饱和度]数据输入LSTM算法模型时,该模型可以输出新的绿信比的变化量。
一种实施方式2,参考图4,RNN算法过程:xt表示t时刻输入的信息,st代表在序列索引号t时模型的隐藏状态。st由xt和st-1共同决定;ot代表在序列索引号t时模型的输出。ot只由模型当前的隐藏状态st决定。U和W这两个矩阵分别是RNN网络中xt和st线性关系参数,V是st的输出层参数。它在整个RNN网络中是共享的。RNN循环对每个周期的数据进行处理,对误差进行反向传播更新参数值,对未来周期的信息进行估计,该算法公式如下,其中W表示隐藏层到隐藏层的权重,U表示输入层到隐藏层的的权重,V表示隐藏层到输出层的权重,f、g表示激活函数:
st=f(Uxt+Wst-1)
ot=g(Vst)
RNN的输入:Xt为t时刻的信息,格式为一个张量[绿信比,流量,饱和度];
RNN的输出:当前周期的绿信比与上一周期绿信比之间的变化量,即信号控制推荐参数值;
RNN的目标:RNN输出的信号控制推荐参数值与实际值之间的一定时长期间的差距最小化;
RNN的训练:采集一定数量的[相位,相位绿灯时长,流量]数据作为训练集,构建输入、输出、目标,训练RNN,获得初始RNN算法模型;将初始RNN算法模型与交通信号控制仿真***相连,从交通信号控制仿真***获取[相位,相位绿灯时长,流量]数据作为xt,更新隐藏状态st,输出信号控制推荐参数值ot传给交通信号控制仿真***,交通信号控制仿真***执行ot,仿真***运行产生新的[相位,相位绿灯时长,流量]数据传给RNN算法模型,以目标训练RNN一段时间,获得RNN算法模型。
针对城市道路复杂且多变的情况,相同的算法模型在不同的路口有不同的表现,在相同的路口环境不同的算法模型也有不同的表现,本发明设置算法选择器,实现在不同的路口不同的环境能自主选择合适的算法模型,并生成相应的路口信号控制推荐,以满足路口信号控制需求。
深度学习算法池提供一个或多个深度学习算法,包括但不限于以下算法:循环神经网络(Recurrent Neural Network,简称RNN);循环门单元(Gated Recurrent Unit,简称GRU);长短期记忆网络(Long Short-Term Memory,简称LSTM);双向长短期记忆网络(Bi-directional Long Short-Term Memory,简称BiLSTM);双向循环门单元(Bi-directionalGated Recurrent Unit,简称BiLSTM);卷积神经网络-长短期记忆网络(ConvolutionalNeural Networks-Long Short-Term Memory,简称CNN-LSTM);卷积神经网络-双向循环门单元(Convolutional Neural Networks-Bi-directional Gated Recurrent Unit,简称CNN-BiGRU);基于注意力的卷积神经网络(Attention Recurrent Neural Network,简称Att-RNN);基于双阶段注意力的递归神经网络(Dual-Stage Attention-Based RecurrentNeural Network,简称DA-RNN)。
一种实施方式3,深度学习算法模型选择过程,深度学习算法N个,参照实施方式1、实施方式2,训练获得N个深度学习算法模型,比较模型性能,根据预设的模型性能要求选择满足模型性能要求的深度学习算法模型。模型性能包括但不限于:模型训练结束的目标值、模型训练所需时间、模型应用到新数据集的输出表现等。
一种实施方式4,参照图6,构建相同的输入、输出、模型性能衡量指标,利用信号控制数据集I中的训练集训练不同的算法后,生成不同的算法模型;接着信号控制数据集I中的测试集数据放入模型生成信号控制推荐参数值;将模型产生的信号控制推荐参数值与实际的信号控制参数值进行对比,计算损失函数Loss;最后将各个算法模型的损失函数Loss进行横向对比,选取Loss值最低的算法模型。
深度学习算法训练之前具有一定的网络结构,如隐藏层的个数、卷积核的大小、卷积核的步幅大小等,具有不同网络结构的同一深度学习算法也有不同的表现。为选择表现优良的深度学习模型,本发明设置神经架构生成器来生成深度学习算法表现优良的网络结构。
网络结构搜索可以采用的方法如:1)、设置一定的步长或窗口,将网络结构的可行搜索空间划分,形成有限个待搜索的网络结构,逐一训练比较,选择表现优良的待搜索网络结构;2)、利用进化算法,随机产生一组可行的待搜索的网络结构,训练比较,选择其中表现优良的部分待搜索的网络结构,进行变异、交叉、组合,形成新的一组可行的待搜索的网络结构,不断重复选择、变异、交叉、组合,直至满足进化条件,形成最终的网络结构。
一种实施方式5,参照图5,深度学习算法利用神经架构搜索的方式生成网络结构,通过一个基于深度强化学习(DRL)的循环神经网络控制器,在网络结构的可行搜索空间中得到一个待搜索网络结构。DRL中的神经网络结构包括RNN和LSTM。然后信号控制数据集II中的训练集输入至这个待搜索网络结构进行训练,然后在信号控制数据集II中的测试集上测试得到准确率R,再将这个准确率R回传给循环神经网络控制器,控制器继续优化得到另一个待搜索网络结构,如此反复进行直到得到表现优良的网络结构。表现优良指算法模型性能满足预设要求。网络结构包括但不限于:隐藏层数、节点权重、学习率、卷积核等。
针对信号控制数据数量庞大、类型繁杂、新数据产生速度快的情况,信号控制数据集的质量对深度学习算法模型的表现起重要作用。本发明设置数据处理模块,对信号控制数据进行处理,以获得合适的信号控制数据集I、II,提高数据集的质量,进而优化算法模型的表现。
对信号控制数据进行处理,可以采用的方法:
(1)数据预处理,识别缺失的数据,补充缺失的数据。
一种实施方式6,针对数据缺失问题,利用多元线性回归模型进行修复。首先将已有的数据作出散点图,之后作多元回归,求出多元线性回归多项式,以及置信区间。作出残差分析图验证拟合效果,残差较小说明回归多项式与源数据吻合得较好,即可补充缺失的数据。
(2)数据预处理,识别异常的数据,修正异常的数据。
一种实施方式7,针对数据异常问题进行清洗与修正,先利用统计学中的t检验法判断数据是否为异常值,再针对异常值采用样条函数进行插值,即可修正异常的数据。
(3)数据排序,将控制方案数据和检测器数据相关联,按规则排列顺序。
一种实施方式8,将控制方案数据(如配时参数)按照控制方案的周期开始时间进行排序,按照控制方案数据的时间顺序,提取关联的检测器数据(如流量、饱和度数据),以[配时参数、饱和度、流量]的方式进行组合。进一步地,配时参数按照接收时间排序,参与排序的数据包括周期时间(秒)、各个相位绿信比(百分比)按照时间先后进行排序。另外检测器数据如流量、饱和度按照预先设定的车道顺序进行排序,组合成新的序列。
(4)数据提取,当控制方案数据来自不同的控制方案操作者时,可以提取与控制方案操作者相关的数据作为信号控制数据集,以模拟控制方案操作者的行为,给出与控制方案操作者贴近的信号控制推荐参数值。
一种实施方式9,针对应用自适应交通信号控制***(如SCATS***)的情况,当交通运行状况发生微小变化时,自适应交通信号控制***可以对控制方案数据进行微调;当交通运行状况发生巨大变化时,超出自适应交通信号控制***的调控范围,需一线交通控制人员进行人工调控。为模拟一线交通控制人员的对信号控制参数的调整行为,选择一线交通控制人员调整的控制方案数据。参照图2,对原始数据进行数据预处理、数据排序后,配时方案数据如:
路口编号 |
接收日期 |
接收时间 |
周期时间 |
A |
B |
C |
D |
E |
F |
G |
1 |
2018-8-1 |
07:00:00 |
180s |
45s |
54s |
27s |
27s |
27s |
0s |
0s |
检测器数据如:
路口编号 |
接收日期 |
接收时间 |
DS1 |
… |
DS16 |
VO1 |
… |
VO16 |
1 |
2018-8-1 |
07:00:00 |
60 |
… |
48 |
12 |
… |
8 |
其中,DS表示饱和度,VO表示流量,数字表示车道编号,检测器数据和配时参数数据按照时间关系一一对应。
将上述排序好的数据利用循环将后一周期的配时参数的绿信比数据减前一周期的绿信比数据,设第j个周期的绿信比参数为Sj,A相位的绿信比为Sj,A,第j-1个周期的绿信比参数为Sj-1,周期时长为c,A相位的绿信比为Sj-1,A,数学表达式如下:
pA=|Sj,A-Sj-1,A|/c*100%
当pA大于或等于p0时,将第j个周期到第j-M+1个周期(共M个周期)的控制方案数据和检测器数据取出构建成新的小数据集。其它相位以此类推,只要有一个相位的绿信比时长变化大于或等于p0,则将方案取出,构成小数据集。最后将所有选择小数据集集合形成大数据集。
优选地,p0为5%,M为10。5%是人工调控操作的分界线,为了提取人工调控操作时间附近的历史数据,提高数据训练集的质量,提高算法准确度,提高计算效率,选择某个相位绿信比相对于前一周期绿信比变化大于等于总周期时间的5%作为训练数据。
(5)数据提取,提取与交通运行状况相关的信号控制数据作为信号控制数据集。如,设置交通运行状况变化的预警值,当达到预警值时可能遇到了紧急事件,需要进行交通信号控制。提取原始信号控制数据中交通运行状况变化达到预警值时刻附近的信号控制数据,构成小数据集,集合形成大数据集。
本发明设置调控触发单元,获取缓存数据,判断是否满足触发条件,触发所述信号控制推荐模型(选择表现良好的已训练好的深度学习算法模型)、所述算法选择器、所述神经架构生成器工作。所述缓存数据包括但不限于实时信号控制数据、信号控制数据集、***运行数据等。
如,设置交通运行状况变化的预警值;读取实时信号控制数据;当达到预警值时可能遇到了紧急事件,需要进行交通信号控制;此时触发信号控制推荐模型工作;信号控制推荐模型获取实时信号控制数据,输出信号控制推荐参数值。
如,选择表现良好的已训练好的LSTM算法模型、RNN模型,作为信号控制推荐模型,当两个模型输出的信号控制推荐参数值的差值达到预设的触发阈值时可能其中一个模型出了问题;此时触发算法选择器、神经架构生成器工作,重新选择满足模型性能要求的深度学习算法模型。
如,监测信号控制推荐模型的工作时间,当达到设定阈值时,触发算法选择器工作,重新选择满足模型性能要求的深度学习算法模型。
本发明设置专家判断模块,判断信号控制推荐模型输出的信号控制推荐参数值是否满足控制参数校验条件,设置智慧城市交通信号控制推荐***的预设配置项。控制参数校验条件对推荐参数值进行是否符合交通信控规律、控制方案逻辑和该交叉口人为设定约束条件的校验,如:交叉口的实际情况、最大周期时间约束、各相位最小绿灯时间、行人相位安全时间及特殊相位时间等。若符合满足全部数据校验条件,输出经校验的推荐参数值;若不满足则发出告警,一线交通控制人员接收告警后可判断当前推荐参数值是否可行,若可行,则输出经人员判断的推荐参数值;若不可行,则人员设置***的预设配置项,如:更换深度学习算法池中的深度学习算法、设置模型性能要求、网络结构搜索要求、触发条件、控制参数校验条件等。
智慧城市交通信号控制推荐***可与信号控制设备配合使用,装置输出信号控制推荐值,信号控制设备执行控制指令。
本发明还提供一种配套智慧城市交通信号控制推荐***的装置,可与信号控制设备配合使用,装置输出信号控制推荐值,信号控制设备执行控制指令。装置包括存储器和处理器,存储器存储装置运行的数据和指令,处理器执行存储器存储的指令。下载信号控制推荐模型,获取实时信号控制数据,输出的响应于实时信号控制数据的信号控制推荐参数值。另外可以根据存储器、处理器的性能,以及路口调控需求,选择性下载智慧城市交通信号控制推荐***的相关计算组件,完成相应的工作任务。如:
1>下载数据处理模块,对信号控制数据进行预处理,提高数据集的质量,进而优化算法模型的表现。
2>下载深度学习算法池、算法选择器,以装置存储的一段时间的信号控制数据作为信号控制数据集,对一个或多个深度学习算法进行训练,以获得深度学习算法模型,选择满足模型性能要求的深度学习算法模型更新信号控制推荐模型。
3>下载神经架构生成器,以装置存储的一段时间的信号控制数据作为信号控制数据集,进行网络结构搜索,选择满足搜索要求的深度学习算法的网络结构,更新深度学习算法。
4>下载调控触发单元,获取装置的缓存数据,判断是否满足触发条件,触发信号控制推荐模型、算法选择器、神经架构生成器工作。
一种实施方式10,参照图1、图7,路口A的智慧城市交通信号控制推荐***包括多维数据库、数据处理模块、深度学习算法池、神经架构生成器、算法选择器、调控触发单元、信号控制推荐模型、专家判断模块、信号控制***模块。信号控制***模块包括数据接口单元和信号控制设备;多维数据库包括原始数据库和合规数据库,深度学习算法池、神经架构生成器、算法选择器归为离线训练单元。
基于上述模块,信号交叉口A的控制方案推荐流程如下:
<1>处理该路口训练数据,通过对原始数据库库存储的3个月的原始检测器和控制方案数据进行数据预处理、排序再存储到合规数据库,从合规数据库提取训练数据。
<2>将训练数据进行训练集和测试集的划分,其中训练集为总训练数据的80%,测试集为总训练数据的20%。训练集输入算法离线训练单元,经过深度学习算法训练获得信号交叉口的模型;将测试集放入训练集生成的模型中,将计算结果与实际值进行比较,计算它们的均方误差,并选取均方误差最小的算法输出网络模型并保存。离线训练单元输出结果:深度学习算法模型。
<3>离线训练单元输出的深度算法模型部署给信号控制推荐模型。
<4>当路口A出现交通状态异常,如:东西方向流量增加,南北方向流量较少,存在路口空放的情况时,调控被触发。请求信号控制***模块的数据接口单元,获取实时控制方案数据,信号控制推荐模型输出信号控制推荐参数值:如相位A:33%,B:20%,C:24%,D:23%。
<5>交通控制人员结合实际路口情况判断推荐方案是否合理,合理即进行推荐方案下发操作,不合理则设置***的预设配置项。
<6>信号控制设备运行下发的方案。
<7>信号控制***模块的数据接口单元可不断地将新的数据作为历史数据输入到训练集中,形成闭环,不断地迭代更新模型与自我学习。