交通灯配时优化方法、系统及存储介质

文档序号:26013176发布日期:2021-07-23 21:34阅读:94来源:国知局
交通灯配时优化方法、系统及存储介质

本发明涉及交通控制领域,尤其涉及交通灯配时优化方法、系统及存储介质。



背景技术:

随着城市化进程的不断加快,人们的生活质量越来越好,车辆已早已成为人们的必备出行工具。随之而来的是源源不断的交通拥堵问题,交通拥堵所带来的成本也在不断提高。因此采取有效的技术手段来减少交通拥堵显得尤为重要。

现有的交通灯控制技术大多采用定时控制和自适应控制,即把相位的持续绿灯时长均分为相等的时段来进行控制,然而真实的交通环境在实时的变化,且路口各个路道之间的车辆拥堵程度也不一样(即各个车道压力存在差异),如果采用各个相位的持续绿灯时长相等的控制方式进行控制,必然会导致拥堵路道(即车道压力大的路道)上的车辆过路口时等待时间过长,显然,现有的交通灯控制技术已经不能满足实际的路口场景需求。

因此,如何解决现有的交通灯控制方法由于并未考量各个车道压力对车辆等待时长的影响,导致拥堵路道(即车道压力大的路道)上的车辆过路口等待时间过长的问题。



技术实现要素:

本发明提供了交通灯配时优化方法、系统及存储介质,用于解决现有的交通灯控制方式导致拥堵路道的车辆过路口等待时间过长的技术问题。

为解决上述技术问题,本发明提出的技术方案为:

一种交通灯配时优化方法,包括以下步骤:

获取路口的交通灯各个相位对应方向的历史车辆数据,将历史车辆数据输入预先训练好的交通灯配时优化模型中,得到历史车辆数据对应的交通灯配时优化的初步调控动作;

获取路口的交通灯各个相位对应方向的车道压力,并根据车道压力确定历史车辆数据对应的交通灯配时的辅助调控动作;

根据初步调控动作和辅助调控动作确定历史车辆数据对应的交通灯配时最优调控动作,使用最优调控动作对历史车辆数据进行标记,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练;

获取路口的交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入至再次训练好的交通灯配时优化模型中,得到路口的交通灯实时最优控制动作。

优选的,获取路口的交通灯各个相位对应方向的车道压力,通过以下公式计算得到:

pt1=northint+northoutt+southint+southoutt

pt2=southint+eastoutt+northint+westoutt

pt3=eastint+eastoutt+westint+westoutt

pt4=eastint+northoutt+westint+southoutt

其中:pt1、pt2、pt3、pt4分别表示相位1、相位2、相位3和相位4对应方向的车道压力,northint,southint,eastint,westint分别表示t时刻北侧、南侧、东侧和西侧进入路口方向的车道压力,northoutt,southoutt,eastoutt,westoutt分别表示t时刻北侧、南侧、东侧和西侧方向离开路口的车道压力。

优选的,根据车道压力确定历史车辆数据对应的交通灯配时的辅助调控动作,具体为:

对各个相位对应方向的车道压力进行排序,获取最大车道压力和最小车道压力,将最大车道压力对应相位的持续时间加n秒,将最小车道压力对应相位的持续时间减n秒。

优选的,根据初步调控动作和辅助调控动作确定历史车辆数据对应的交通灯配时最优调控动作,具体包括以下步骤:

比较初步调控动作和辅助调控动作,若初步调控动作和辅助调控动作一致,则将初步调控动作作为最优调控动作;若初步调控动作和辅助调控动作不一致,则将初步调控动作的各相位的调控动作与辅助调控动作对应相位的调控动作求并集,得到最优调控动作。

优选的,交通灯配时优化模型为q-learn深度卷积神经网络模型,交通灯配时优化模型以路口的路口状态作为模型输入,以路口平均等待时间最少为优化目标,以路口的交通灯对应的各个相位持续时间为动作,交通灯配时优化模型的中间层包含卷积层、池化层以及全连接层,卷积层负责提取关键的信息,池化层负责过滤次要的信息,全连接层负责把卷积层和池化层提取的所有特征综合到一起并映射到输出层,输出层为每个动作打分,并输出q值最大的动作。

优选的,路口状态为:

st=(pt,vt)

其中,pt,vt分别表示t时刻路口的车辆的位置矩阵和速度矩阵,xiyk表示路口内划分的第i行第k列的单元格,其中,i=1,2,...,n,n为行数,k=1,2,...,m,m为列数;表示xiyk单元格内是否有车辆,的取值为1时,表示有车辆,取值为0表示无车辆,pt中的1越多,说明t时刻路口的滞留的车辆数越多,表示xiyk单元格内车辆的速度值。

优选的,路口平均等待时间awt,用于反应所有进入路口车辆的平均等待时间,定义如下:

awt=wt/n

其中,wt为通过路口的所有车辆等待时间和,n为通过路口的车辆总数;awt越小,说明路口拥堵时间越少,反之,路口拥堵时间越长。

优选的,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练,具体包括以下步骤:

步骤a)初始化深度强化学习网络中的学习率α*=0.001、目标网络的更新频率α=1,折扣因子γ=0.99、经验池大小m=20000,经验回放m=10000,小批量大小b=24,ε-贪心策略中的ε=0.01.主网络参数θ=0,目标网络参数θ-=0,主网络参数更新迭代上限t=1000、迭代次数t=1;

步骤b)获取当前十字路口状态st;

步骤c)根据ε-贪心策略选择十字路口的执行动作;

步骤d)对十字路口执行所选择的动作,计算并获取深度强化学习网络的即时奖励r;

步骤e)设t=t+1,将路口状态st转变为st+1;

步骤f)将<st,r,a,st+1>存入经验池m;

步骤f1)判断m和m的大小,如果m>m,更新经验池;

步骤f2)从经验池中根据每个集合的优先集选取b个集合;

步骤f3)计算深度强化学习网络损失函数误差,更新主网络参数θ;

步骤f4)从步骤f3)中获取θ,更新目标网络参数θ;

步骤f5)更新经验池中每个经验的优先权;

步骤g)判断迭代是否停止,若t小于迭代上限t,转步骤b),否则,停止。

优选的,步骤c)中根据ε-贪心策略选择路口的预执行动作at,其由随机数rand决定:若rand<ε,则随机选择动作at,否则,执行动作

在步骤f1)中,判断m和m的大小,如果m>m,更新经验池还包括:先删除经验池中大小为m-m的样本,然后把多出来的大小为m-m样本增加到经验池中;

在步骤f3)中,计算深度强化学习网络的损失函数误差j(θ)并更新主网络参数θ,具体包括以下步骤:

计算损失函数误差:j(θ)=[qtarget(s,a)-q(s,a;θ)]2,其中,qtarget(s,a)为当前时刻在状态s下,执行动作a,获得的真实回报值与下一时刻的期望回报值的和,q(s,a;θ)为当前时刻的期望回报值,利用损失函数误差j(θ)更新主网络参数θ,得到更新后的网络参数:

θ=θ-α*j(θ)

其中,α*是θ的学习率;

在步骤f4)中,从步骤f3)中获取θ,更新目标网络参数θ-,实现如下:

θ-=αθ-+(1-α)θ

其中,α是更新的频率;

在步骤f5)中,更新经验池中每个样本的优先权,还包括:获取经验池中每个样本对应主网络参数θ更新前后的误差error,然后根据error的大小对每个样本从小到大进行排序,最后对每个样本重新赋予优先值。

一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的步骤。

一种计算机存储介质,其上存储有计算机程序,程序被处理器执行时实现上述任一项方法中的步骤。

本发明具有以下有益效果:

1、本发明中的交通灯配时优化方法、系统及存储介质,获取路口的历史车辆数据,将历史车辆数据输入交通灯配时优化模型中,得到历史车辆数据对应的初步调控动作;根据历史车辆数据计算交通灯各个相位对应方向的车道压力,并根据车道压力确定历史车辆数据对应的辅助调控动作;根据初步调控动作和辅助调控动作确定历史车辆数据对应的最优调控动作,使用最优调控动作对历史车辆数据进行标记,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练,获取路口的交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入至再次训练好的交通灯配时优化模型中,得到路口的交通灯实时最优控制动作。本发明通过路口的车道压力对交通灯配时优化模型进行辅助训练,使得该模型能有效缓解路口拥堵车道的压力。

2、在优选方案中,本发明中使用深度强化学习的思想通过改变交通灯相位的持续时间来改善交通拥堵,具有很好的灵活性和实时性。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照附图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明优选实施例中交通灯配时优化方法的总流程图;

图2是本发明优选实施例中交通灯配时优化方法的十字路口模型示意图;

图3是本发明优选实施例中交通灯配时优化方法的结构示意图;

图4是本发明优选实施例中交通灯配时优化方法中的十字路口的相位示意图;

图5是本发明优选实施例中交通灯配时优化方法的控制十字路口交通灯的流程示意图;

图6是本发明的交通灯配时优化方法的流程图。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。

实施例一:

如图6所示,本实施例中公开了一种交通灯配时优化方法,包括以下步骤:

获取路口的交通灯各个相位对应方向的历史车辆数据,将历史车辆数据输入预先训练好的交通灯配时优化模型中,得到历史车辆数据对应的交通灯配时优化的初步调控动作;

获取路口的交通灯各个相位对应方向的车道压力,并根据车道压力确定历史车辆数据对应的交通灯配时的辅助调控动作;

根据初步调控动作和辅助调控动作确定历史车辆数据对应的交通灯配时最优调控动作,使用最优调控动作对历史车辆数据进行标记,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练;

获取路口的交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入至再次训练好的交通灯配时优化模型中,得到路口的交通灯实时最优控制动作。

此外,在本实施例中,还公开了一种计算机系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。

此外,在本实施例中,还公开了一种计算机存储介质,其上存储有计算机程序,程序被处理器执行时实现上述方法中的步骤。

本发明中的交通灯配时优化方法、系统及存储介质,获取路口的历史车辆数据,将历史车辆数据输入交通灯配时优化模型中,得到历史车辆数据对应的初步调控动作;根据历史车辆数据计算交通灯各个相位对应方向的车道压力,并根据车道压力确定历史车辆数据对应的辅助调控动作;根据初步调控动作和辅助调控动作确定历史车辆数据对应的最优调控动作,使用最优调控动作对历史车辆数据进行标记,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练,获取路口的交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入至再次训练好的交通灯配时优化模型中,得到路口的交通灯实时最优控制动作。本发明通过路口的车道压力对交通灯配时优化模型进行辅助训练,使得该模型能有效缓解路口拥堵车道的压力。

实施例二:

实施例二是实施例一的优选实施例,其与实施例一的不同之处在于,对交通灯配时优化方法的具体步骤进行了细化:

本发明的交通灯配时优化方法主要包括路口建模、设置综合评价指标、获取指定时段十字路口的车辆信息、建立基于深度强化学习的交通灯配时优化模型、使用建立的模型对十字路口交通灯进行控制等部分,如图1所示,下面将结合附图对本发明的交通灯配时优化方法做进一步的说明。具体实现步骤如下:

步骤一:路口建模。通过sumo对十字路口建模,sumo是一个开源的用于交通实时模拟的平台。本发明十字路口为双向4车道,每条车道的长度为180米。本发明只考虑普通的小轿车,车长设为5m,车距为1米,车辆的最大速度为13.89km/h,故每条车道划分为30个单元格,整个十字路口用一个60*60的二维矩阵来表示。如图2所示。其中(b)是车辆的位置矩阵,矩阵中每个单元格值为1则表示该位置此刻有车辆,0表示没有车辆,(c)表示车辆的速度矩阵,矩阵每个单元格的值就是车辆的实时速度值。

步骤二:设置综合评价指标。本发明选取车辆的平均等待时间来评价交通拥堵情况。其定义如下:

awt=wt/n

其中,wt表示路口所有车辆的等待时间和,n表示路口的车辆数。

步骤三:从步骤一建立的模型获取路口各个时刻的车辆信息。车辆的信息表示为st=(pt,vt);

其中,

步骤四:建立基于深度强化学习的交通灯配时优化模型

4.1将步骤三获取的车辆信息st作为模型的输入,通过三个卷积层来提取路口关键的信息,使用一个全连接层把卷积层提取的所有特征信息综合到一起,最后映射到输出层,输出每个动作的打分。模型会选择分数最高的动作,即q值最大的动作作为模型输出,即记为at1,at1即为优化后的初步调控动作。整个模型的结构如图3所示。

在图3中的神经网络模型输入是环境的状态,输出是每个动作的打分,总共13个动作,对应13个分数,agent会选择分值最高的动作记作action1(即初步调控动作),此刻只是选择了该动作但是还没有执行该动作,与此同时,根据相位对应方向的车道压力,计算的动作记作action2(即辅助调控动作)。接下来判断两个动作是否一致,如果action1和action2是同一个动作,agent就直接执行该动作,如果action1和action2不一致,参考下表,通过与运算改变action1和action2对应相位的持续时间(即下标中+5或-5操作,但是有一个边界就是0-60,即绿灯持续时间不可能是负值),然后agent在执行该动作,通过不断的和环境交互进行再次训练形成最终的优化模型。

其中,十字路口的动作与相位组合变换之间的映射关系如表1所示。

表1路口动作与相位组合变换的映射关系

值的注意的是,上述表格中的5为设置调控时长,该值可以根据实际情况进行更改,即调控时长具体取值可以根据实际情况设定,即可以根据路口的大小以及路口车流量大小的大小自适应调节,取值范围为0-60s。

4.2计算t时刻对应周期内十字路口信号灯相位对应方向的车道压力,表示如下,该十字路口有4种相位,如图4所示。

pt1=northint+northoutt+southint+southoutt

pt2=southint+eastoutt+northint+westoutt

pt3=eastint+eastoutt+westint+westoutt

pt4=eastint+northoutt+westint+southoutt

其中,pt1、pt2、pt3、pt4分别表示t时刻相位1、相位2、相位3和相位4对应方向的车道压力。northint,southint,eastint,westint分别表示t时刻北侧、南侧、东侧和西侧进入路口方向的车道压力。northoutt,southoutt,eastoutt,westoutt分别表示t时刻北侧、南侧、东侧和西侧方向离开路口的车道压力。

4.3获取最优调控动作

得到每个相位对应方向t时刻的车道压力后,对其进行降序排序。获取最大车道压力和最小车道压力,将最大车道压力对应相位的持续时间加n秒,将最小车道压力对应相位的持续时间减n秒,即辅助调控动作为将最大车道压力对应相位的持续时间加n秒,将最小车道压力对应相位的持续时间减n秒,其中,n在本实施例选取为5。

根据初步调控动作和辅助调控动作确定历史车辆数据对应的交通灯配时最优调控动作:

比较初步调控动作和辅助调控动作,若初步调控动作和辅助调控动作一致,则将初步调控动作作为最优调控动作;若初步调控动作和辅助调控动作不一致,则将初步调控动作的各相位的调控动作与辅助调控动作对应相位的调控动作求并集,得到最优调控动作。

即当初步调控动作和辅助调控动作不一致时,将辅助调控动作中相位组合对应的动作记为at2,对at1和at2对应的相位组合求并集,并返回最终执行的动作at,at即为最优调控动作。

例如,在某一路口状态下:

交通灯配时优化模型输出的优化初步调控动作为:a41=(ns-5,nsl+5,ew,ewl),根据车道压力计算得到的辅助调控动作为:a52=(ns,nsl+5,ew-5,ewl),

那么得到的最优调控动作为:

at=(ns(-5+0),nsl(5+5),ew(0-5),ewl(0+o))=(ns-5,nsl+10,ew-5,ewl)。

4.4计算路口t时刻获得的回报值r。定义如下:

r=wb-wa

其中,wb表示模型执行动作之前十字路口所有车辆的等待时间,wa表示模型执行动作后十字路口所有车辆的等待时间。

步骤五:根据步骤四建立的深度强化学习的交通灯配时优化模型,对十字路口的交通灯进行控制。

交通灯配时优化模型的交互(即再次训练)和控制过程如图5所示,在图5中,agent就是图3构成的神经网络模型,图中环境(environment)即状态,用矩阵来表示,即位置信息矩阵和速度信息矩阵,agent每次都会执行一个动作,执行动作后,环境的状态会发生变化,这里环境的状态即车辆的信息,与此同时,会反馈一个回报值,这个回报值就是agent执行动作前后路口所有车辆等待的时间差值(如果时间差越小,说明agent执行的这个动作越好,那么agent在下一次执行动作时就会优先选择该动作;如果时间差越大,说明agent执行的这个动作导致的结果并不是那么好,因此,agent在下一次执行动作时就会减小该动作被执行的概率),就是这样不断的迭代,直到agent每次执行的动作都使得所有车辆的等待差趋于稳定,即模型训练完成,即可用训练完成的模型自主控制交通灯。

其中,再次训练步骤如下:

步骤5.1:初始化深度强化学习网络中的学习率α*=0.001、目标网络的更新频率α=1,折扣因子γ=0.99、经验池大小m=20000,经验回放m=10000,小批量大小b=24,ε-贪心策略中的ε=0.01、主网络参数θ=0、目标网络参数θ=0、主网络参数更新迭代上限t=1000、迭代次数t=1;

步骤5.2:根据ε-贪心策略,由随机数rand选择路口的执行动作at;

步骤5.3:若rand<ε,则从动作集a={a0,a1,…,a12}中随机选择动作ai;

步骤5.4:否则,动作

步骤5.5:对十字路口执行选择的动作。根据步骤四获取t深度强化学习网络的即时奖励r:

步骤5.6:设t=t+1,将路口状态st转变为st+1;

步骤5.7:利用经验池计算深度强化学习网络损失函数误差j(θ),更新网络参数:

θ=θ-α*j(θ)

θ-=αθ-+(1-α)θ

其中,θ-为目标网络参数,θ为主网络参数,α*是θ的学习率,α是目标网络更新的频率。

步骤5.8:判断迭代是否停止:若t小于迭代上限t,返回步骤5.2,否则,停止迭代,训练完成,获取路口的交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入至再次训练好的交通灯配时优化模型中,得到路口的交通灯实时最优控制动作,完成对十字路口交通灯的控制。

综上所述,本发明中的交通灯配时优化方法、系统及存储介质,通过将路口的历史车辆数据输入交通灯配时优化模型中,得到历史车辆数据对应的初步调控动作;计算并根据交通灯各个相位对应方向的车道压力确定历史车辆数据对应的辅助调控动作;再根据初步调控动作和辅助调控动作确定历史车辆数据对应的最优调控动作,使用最优调控动作对历史车辆数据进行标记,使用标记后的历史车辆数据对交通灯配时优化模型进行再次训练,获取交通灯各个相位对应方向的实时车辆数据,将实时车辆数据输入再次训练好的交通灯配时优化模型中,得到交通灯实时最优控制动作。通过路口的车道压力对交通灯配时优化模型进行辅助训练,使得该模型制定动作能有效缓解路口拥堵车道压力。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1