交通信号灯智慧变换方法与流程

文档序号:16215645发布日期:2018-12-08 08:19阅读:411来源:国知局
交通信号灯智慧变换方法与流程

交通信号灯智慧变换方法,本发明涉及一种交通信号灯轮换方法,应用在道路路口交通红绿灯的控制方法领域。

背景技术

现有的交通信号灯控制系统,通过手动设置绿灯相位组合(如直行与左拐两相位同时绿灯或相向的两直行相位同时绿灯)及持续时间,信号灯设定后为固定规律,或者利用视频或感应线圈等传感设备采集车辆数据,在固定信号灯轮换规律的基础上简单增加有车辆相位的绿灯延迟,在所有相位车道都有连续车辆通过的情况下,则所有相位的绿灯都会延迟,不能根据多个相位车道的车(包括人)流量具体情况优先变换最佳相位组合及绿灯持续时间。相关的专利检索,出现了根据视频采集的车流量信息动态变化信号灯的概念,但缺乏完善的算法设计,也没有如何分析车流量大小及拥堵状况的具体算法。当绿灯时,若路口前方(绿灯相位行驶方向)发生拥堵趋势,后方车辆在绿灯指引下容易行驶到路口区域,阻挡交通,影响即将绿灯相位的车辆行驶,目前缺乏具体的车辆拥堵趋势的预测方法,也没有根据拥堵趋势预测结果控制交通信号灯的方法。



技术实现要素:

为解决信号灯定时且固定相位轮换的低效率问题,前方相位拥堵却依然绿灯的问题,以及如何根据视频车辆数据控制信号灯的算法问题,本发明设计了一种根据车(包括人)流量及拥堵趋势实时控制信号灯的轮换方法,同时应用统计机器学习方法预测拥堵趋势。

拥堵预测算法:应用统计机器学习方法中的朴素贝叶斯、决策树、逻辑斯谛回归、k近邻、随机森林、adaboost、梯度提升方法,根据视频采集到的历史数据作为训练数据集,将已出路口距离、平均车速、车速变化、平均密度4个特征属性和拥堵状况(一定时间后具体位置发生拥堵的概率)作为训练数据,再将道路当前实时视频中对应已出路口距离范围的平均车速、车速变化、车辆平均密度作为特征属性,应用上述多个统计机器学习方法预测某一位置(对应已出路口距离)即将(一定时间后)发生的拥堵状况(最高车速低于设定值定义为拥堵)概率,筛选出正确率最高的模型算法作为最终的统计学习应用方法。

实时视频采集路口前方一定距离范围内所有同相位车道的车辆数据,分析已出路口距离、平均车速、车速变化、平均密度4个特征属性,预测某一时段后的拥堵概率。根据拥堵概率阈值(手动设置)输出拥堵状况(是否拥堵作为输出值),即某一相位的具体位置一定时间后发生的拥堵概率达到阈值(如预测到10秒后发生拥堵的概率为85%,拥堵概率阈值设定为80%)就输出拥堵状态为“是”的结果。

当绿灯时,统计机器学习算法预测路口前方(绿灯相位行驶方向)在时间tr(自定义)后发生拥堵的概率超过设置的概率阈值,则机器学习算法输出拥堵状态为“是”,此时拥堵相位的绿灯迅速转变为红灯,持续时间为一个巡检周期tf(完成一次采集视频数据和机器学习算法预测到下一次采集视频数据和统计机器学习算法预测的时间间隔),时间tf内其余非拥堵相位信号灯继续参与算法轮换(下面段落即将讲述的算法),每隔tf巡检一次,直到拥堵解除才取消拥堵相位的强制红灯(恢复拥堵相位参与下面段落的算法轮换)。时间tr的设置是为了保证拥堵发生时路口车辆已驶出中心区域,以防止阻碍接下来的其余绿灯相位车辆行驶;当预测到红灯相位前方为拥堵,则保持红灯状态,持续时间也为tf,其余相位继续参与下面段落的算法轮换。本发明说明书中的相位是指朝某一方向行驶的车道,如,道路a相向直行的两侧分别为a1、a2相位,对应的左拐为la1、la2;与路a交叉的路b,直行相位为b1、b2,左拐为lb1、lb2。

信号灯组合选择算法(图1):该算法目的是选出一个通行效率最高的信号灯组合方式,在本发明中将从a、b、c、d四个算法流程中选出一个,以通行车辆数最多的组合方式为优选原则。获取最新视频巡检计算结果,比较驶向路口的两侧车道(相向而行)车辆数量,如果路a的两侧车道(靠近路口的设定距离)存在totala1la1或totala2la2大于ks倍的totala,a是a1、a2的和,路b也存在totalb1lb1或totalb2lb2大于ks倍的totalb,b是b1、b2的和,则采用直行和左拐同时绿灯的算法(b算法),ks为设置的系数(手动设置);如果路a或路b都不存在上述直行与左拐车辆数大于ks倍的双直行(相向而行)车辆数,则采用a算法;如果只有路a存在上述直行与左拐车辆数大于ks倍的双直行(相向而行)车辆数,即路a两侧车辆数失衡,路b为平衡状态,则选用c算法;如果只有路b存在上述直行与左拐车辆数大于ks倍的双直行(相向而行两侧)车辆数,路a两侧为平衡状态,则选用d算法。

b算法(图4):第一步,获取最新待过路口(靠近路口的设定距离)所有相位车辆视频巡检计算结果(车辆数),所有相位分为a1、a2,la1、la2、b1、b2、lb1、lb2,a1、a2是a道路的两侧相向直行车道,la1、la2分别是a1、a2左侧的左拐车道,b1、b2是b道路的两侧相向直行车道,lb1、lb2分别是b1、b2左侧的左拐车道。所有绿灯相位组合分为a1la1、a2la2、b1lb1、b2lb2,比较四个相位组合的车辆数,比较时采用系数(优先绿灯系数)相乘的方法,系数手动设置,以调节不同车道数、不同重要程度的道路间的比较,选出乘以系数后车辆数最大值的相位组合优先绿灯,绿灯持续时间为t(手动设置的值)。第二步,在t结束前3秒内采集最新视频巡检计算结果,并完成与其余三个相位组合间乘以系数(延迟绿灯系数)后的两两比较,如果乘以系数后的数值依然最大,则该相位组合在第一轮绿灯t结束后继续第二轮绿灯,持续时间为ts(手动设置)。如果小于其余三个相位组合中的一个,则该相位组合在t结束后的本周期t内为红灯,其余三个组合继续比较。周期t为有车辆相位(非置0相位)完成一次算法轮换所需要的时间(不固定值,受每周期绿灯延长时间影响)。第三步,同一相位组合在第二轮持续绿灯时间ts结束前(如设置3秒内)继续采集最新视频巡检计算结果,继续按第二步方法比较,直到持续绿灯次数n达到最大设定值nmax(设定的最大延迟次数)。第四步,所有非0相位组合(指组合后的车辆和不为0)全部完成一次绿灯(时间大于等于t),结束一个周期,跳转到信号灯组合选择算法。

a算法(图3):所有绿灯相位组合为a(a1、a2的组合)、b(b1、b2的组合)、la(la1和la2的组合)、lb(lb1和lb2的组合)。首先,获取最新待过路口(靠近路口的设定距离)车辆视频巡检计算结果(车辆数),比较四个相位组合的车辆数,比较时采用系数(优先绿灯系数)相乘的方法,系数手动设置,以调节不同车道数、不同重要程度的道路间的比较,选出乘以系数后车辆数最大值的相位组合优先绿灯,绿灯持续时间为t(手动设置的值)。其次,在t结束前(如设置3秒内)采集最新视频巡检计算结果,并完成与其余三个相位组合间乘以系数(持续绿灯系数)后的两两比较,如果乘以系数后的数值依然最大,则该相位组合在第一轮绿灯t结束后继续第二轮绿灯,持续时间为ts(手动设置)。如果小于其余三个相位组合中的一个,则该相位组合在t结束后在本周期t内为红灯,其余三个组合进行比较。周期t为有车辆相位(非0相位)完成一次算法轮换所需要的时间(不固定值,受每周期绿灯延长时间影响)。再次,同一相位组合在第二轮持续绿灯ts结束前3秒内继续采集最新视频巡检计算结果,继续按第二步方法比较,直到持续绿灯次数n达到最大设定值nmax。最后,所有非0相位组合全部完成一次绿灯(时间至少为t),结束一个周期,跳转至信号灯组合选择算法。

c算法(图5):与上述b算法类似,不同的是所有绿灯相位组合为a1la1(a1与la1的组合)、a2la2(a2与la2的组合)、b(b1、b2的组合)、lb(lb1和lb2的组合),首先选出乘以系数(优先绿灯系数)后的车辆数最大的相位组合优先绿灯,持续时间为t,在t结束前(如3秒内)再次比较乘以系数(持续绿灯系数)后的车辆数,如果依然最大则继续绿灯,否则红灯,其余组合同样算法轮换。持续绿灯次数n的最大次数nmax可以设置。最后,所有非0相位组合全部完成一次绿灯(时间至少为t),结束一个周期t,跳转至信号灯组合选择算法。

d算法(图6):与上述c算法类似,不同的是所有绿灯相位组合为b1lb1(b1与lb1的组合)、b2lb2(b2与lb2的组合)、a(a1、a2的组合)、la(la1和la2的组合)。

附图说明

图1:十字路口图

①a1相位

②la1相位

③a2相位

④la2相位

⑤b1相位

⑥lb1相位

⑦b2相位

⑧lb2相位

⑨a1相位的停止线

⑩a1相位的出路口区域的虚拟标识线

a2相位的停止线

a2相位的出路口区域的虚拟标识线

b1相位的停止线

b1相位的出路口区域的虚拟标识线

b2相位的停止线

b2相位出路口区域的虚拟标识线

图2:整体流程图(信号灯组合选择算法)

下列标注序号对应流程图中的阿拉伯数字

①故障检测

②是否有故障

③中断虚线框内流程,并启动信号灯定时轮换系统

④每隔时间tb巡检一次

⑤获取最新视频巡检计算结果

⑥所有相位都没车辆

⑦所有相位都闪烁黄灯,每隔时间ty(可设置)重新获取最新巡检结果

⑧无车辆相位在本周期t内始终被置0,如a1、a2都无车辆,则a1=a2=0。

⑨totala1la1>ks*totala

⑩totala2la2>ks*totala

totalb1lb1>ks*totalb

totalb2lb2>ks*totalb

totalb1lb1>ks*totalb

totalb2lb2>ks*totalb

启动c算法

启动d算法

启动b算法

启动a算法

完成b算法一个周期t

完成a算法一个周期t

完成c算法一个周期t

完成d算法一个周期t

图3:a算法流程图

①开始算法流程a(主流程分析判断后采用a算法)

②获取最新视频巡检计算结果/前方拥堵分析结果

③路口前方道路是否拥堵

④拥堵相位为红灯,该相位在虚线框内置0,非拥堵相位继续虚线框内流程。例如a1相位前方拥堵,则a1相位强制为红灯(即使虚线框内算法结果为绿灯),虚线框内a(a1、a2的和)的值=a2+0,即a值代表a2参与算法轮换。

⑤每隔时间tf巡检一次

⑥取消拥堵相位红灯,继续虚线框内流程(拥堵相位取消置0)

⑦每隔时间tf巡检一次

⑧获取最新待过路口车辆视频巡检计算结果/车辆数

⑨totala>=kab*totalb

⑩totala>=kala*totalla

totala>=kalb*totallb

a相位灯为绿灯;其余b相位及左拐相位为红灯,持续时间为t

在时间t结束前获取最新视频巡检结果,获取最新待过路口车辆数

totala>=ta

totala>=kabs*totalb

totala>=kalas*totalla

totala>=kalbs*totallb

a相位在本周期内红灯,其余相位参与算法轮换

a相位继续为绿灯,其余相位为红灯,持续时间为ts

a相位已持续绿灯次数n=nmax

a相位在本周期内红灯,其余相位参与算法轮换

totalb>=kbla*totalla

totalb>=kblb*totallb

b相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb>=tb

totalb>=kbas*totala

totalb>=kblas*totalla

totalb>=kblbs*totallb

b相位在本周期内红灯,其余相位参与算法轮换

b相位继续为绿灯,其余相位为红灯,持续时间ts

b相位已持续绿灯次数n=nmax

b相位在本周期内红灯,其余相位参与算法轮换

totalla>=klalb*totallb

la相位为绿灯;其余相位为红灯,持续时间tl

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalla>=tla

totalla>=klaas*totala

totalla>=klabs*totalb

totalla>=klalbs*totallb

la相位在本周期内红灯,其余相位参与算法轮换

la相位灯继续为绿灯,其余相位为红灯,持续时间为ts

la相位已持续绿灯次数n=nmax

la相位在本周期内红灯,其余相位参与算法轮换

lb相位为绿灯;其余相位为红灯,持续时间tl

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totallb>=tlb

totallb>=klbas*totala

totallb>=klbbs*totalb

totallb>=klblas*totalla

lb相位在本周期内红灯,其余相位参与算法轮换

lb相位灯继续为绿灯,其余相位为红灯,持续时间为ts

lb相位已持续绿灯次数n=nmax

lb相位在本周期内红灯;其余相位参与算法轮换

结束一个周期(t)的算法轮换,回到主流程。

图4:b算法流程图

开始算法流程b(主流程分析判断后采用b算法)

①流程/算法b(分析判断后采用b算法)

②获取最新视频巡检计算结果/前方拥堵分析结果

③判断路口前方道路是否拥堵

④拥堵相位强制为红灯,该相位在虚线框内置0,非拥堵相位继续虚线框内流程

⑤每隔时间tf巡检一次

⑥取消拥堵相位红灯,继续虚线框内流程(拥堵相位取消置0)

⑦每隔时间tf巡检一次

⑧获取最新待过路口视频巡检计算结果/车辆数

⑨totala1la1>=kal1al2*totala2la2

⑩totala1la1>=kal1bl1*totalb1lb1

totala1la1>=kal1bl2*totalb2lb2

a1和la1相位为绿灯,其余相位为红灯,持续时间为t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totala1la1>=tal1

totala1la1>=kal1al2s*totala2la2

totala1la1>=kal1bl1s*totalb1lb1

totala1la1>=kal1bl2s*totalb2lb2

a1和la1相位在此周期内红灯,其余非0相位参与算法轮换

a1、la1相位继续为绿灯,其余相位为红灯,持续时间为ts

a1、la1相位已持续绿灯次数n=nmax

a1、la1相位在此周期内红灯,其余相位参与算法轮换

totala2la2>=kal2bl1*totalb1lb1

totala2la2>=kal2bl2*totalb2lb2

a2la2相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totala2la2>=tal2

totala2la2>=kal2al1s*totala1l1

totala2la2>=kal2bl1s*totalb1l1

totala2la2>=kal2bl2s*totalb2l2

a2、la2相位在此周期内红灯,其余非0相位参与算法轮换

a2、la2相位继续为绿灯,其余相位为红灯,持续时间ts

a2、la2相位已持续绿灯次数n=nmax

a2、la2相位在此周期内红灯,其余相位参与算法轮换

totalb1lb1>=kbl1bl2*totalb2lb2

b1、lb1相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb1lb1>=tbl1

totalb1lb1>=kbl1al1s*totala1la1

totalb1lb1>=kbl1al2s*totala2la2

totalb1lb1>=kbl1bl2s*totalb2lb2

b1、lb1相位在此周期内红灯,其余非0相位参与算法轮换

b1、lb1相位继续为绿灯,其余相位为红灯,持续时间为ts

b1、lb1相位已持续绿灯次数n=nmax

b1、lb1相位在此周期内红灯,其余相位参与算法轮换

b2、lb2相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb2lb2>=tbl2

totalb2lb2>=kbl2al1s*totala1la1

totalb2lb2>=kbl2al2s*totala2la2

totalb2lb2>=kbl2bl1s*totalb1lb1

b2、lb2相位在此周期内红灯,其余非0相位参与算法轮换

b2、lb2相位继续为绿灯,其余相位为红灯,持续时间为ts

b2、lb2相位已持续绿灯次数n=nmax

b2、lb2相位在此周期内红灯,其余相位参与算法轮换

结束一周期(t)算法轮换

图5:c算法流程图

①流程/算法c(分析判断后采用c算法)

②获取最新视频巡检计算结果/前方拥堵分析结果

③判断路口前方道路是否拥堵

④拥堵相位强制为红灯,该相位在虚线框内置0,非拥堵相位继续虚线框内流程

⑤每隔时间tf巡检一次

⑥取消拥堵相位红灯,继续虚线框内流程(拥堵相位取消置0)

⑦每隔时间tf巡检一次

⑧获取最新待过路口视频巡检计算结果/车辆数

⑨totala1la1>=kal1al2*totala2la2

⑩totala1la1>=kal1b*totalb

totala1la1>=kal1lb*totallb

a1和la1相位为绿灯,其余相位为红灯,持续时间为t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totala1la1>=tal1

totala1la1>=kal1al2s*totala2la2

totala1la1>=kal1bs*totalb

totala1la1>=kal1lbs*totallb

a1和la1相位在此周期内红灯,其余非0相位参与算法轮换

a1、la1相位继续为绿灯,其余相位为红灯,持续时间为ts

a1、la1相位已持续绿灯次数n=nmax

a1、la1相位在此周期内红灯,其余相位参与算法轮换

totala2la2>=kal2b*totalb

totala2la2>=kal2lb*totallb

a2la2相位(非置0)为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totala2la2>=tal2

totala2la2>=kal2al1s*totala1l1

totala2la2>=kal2bs*totalb

totala2la2>=kal2lbs*totallb

a2、la2相位在此周期内红灯,其余非0相位参与算法轮换

a2、la2相位继续为绿灯,其余相位为红灯,持续时间ts

a2、la2相位已持续绿灯次数n=nmax

a2、la2相位在此周期内红灯;其余相位参与算法轮换

totalb>=kblb*totallb

b1、b2相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb>=tb

totalb>=kbal1s*totala1la1

totalb>=kbal2s*totala2la2

totalb>=kblbs*totallb

b1、b2相位在此周期内红灯,其余非0相位参与算法轮换

b1、b2相位继续为绿灯,其余相位为红灯,持续时间为ts

b1、b2相位已持续绿灯次数n=nmax

b1、b2相位在此周期内红灯,其余相位参与算法轮换

lb1、lb2相位为绿灯,其余相位为红灯;持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totallb>=tlb

totallb>=klbal1s*totala1la1

totallb>=klbal2s*totala2la2

totallb>=klbbs*totalb

lb1、lb2相位在此周期内红灯,其余非0相位参与算法轮换

lb1、lb2相位继续为绿灯,其余相位为红灯,持续时间为ts

lb1、lb2相位已持续绿灯次数n=nmax

lb1、lb2相位在此周期内红灯,其余相位参与算法轮换

结束一周期(t)算法轮换

图6:d算法流程图

①流程/算法d(分析判断后采用d算法)

②获取最新视频巡检计算结果/前方拥堵分析结果

③判断路口前方道路是否拥堵

④拥堵相位强制为红灯,该相位在虚线框内置0,非拥堵相位继续虚线框内流程

⑤每隔时间tf巡检一次

⑥取消拥堵相位红灯,继续虚线框内流程(拥堵相位取消置0)

⑦每隔时间tf巡检一次

⑧获取最新待过路口视频巡检计算结果/车辆数

⑨totala>=kala*totalla

⑩totala>=kabl1*totalb1lb1

totala>=kabl2*totalb2lb2

a1和a2相位(非置0)为绿灯,其余相位为红灯,持续时间为t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totala>=ta

totala>=kalas*totalla

totala>=kabl1s*totalb1lb1

totala>=kabl2s*totalb2lb2

a1和a2相位在此周期内红灯,其余非0相位参与算法轮换

a1、a2相位继续为绿灯,其余相位为红灯,持续时间为ts

a1、a2相位已持续绿灯次数n=nmax

a1、a2相位在此周期内红灯,其余相位参与算法轮换

totalla>=klabl1*totalb1lb1

totalla>=klabl2*totalb2lb2

la1、la2相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalla>=tla

totalla>=klaas*totala

totalla>=klabl1s*totalb1lb1

totalla>=klabl2s*totalb2lb2

la1、la2相位在此周期内红灯,其余非0相位参与算法轮换

la1、la2相位继续为绿灯,其余相位为红灯,持续时间ts

la1、la2相位已持续绿灯次数n=nmax

la1、la2相位在此周期内红灯,其余相位参与算法轮换

totalb1lb1>=kbl1bl2*totalb2lb2

b1、lb1相位为绿灯,其余相位为红灯,持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb1lb1>=tbl1

totalb1lb1>=kbl1as*totala

totalb1lb1>=kbl1las*totalla

totalb1lb1>=kbl1bl2s*totalb2lb2

b1、lb1相位在此周期内红灯,其余非0相位参与算法轮换

b1、lb1相位继续为绿灯,其余相位为红灯,持续时间为ts

b1、lb1相位已持续绿灯次数n=nmax

b1、lb1相位在此周期内红灯,其余相位参与算法轮换

b2、lb2相位为绿灯,其余相位为红灯;持续时间t

在绿灯结束前获取最新视频巡检结果,得到待过路口车辆数

totalb2lb2>=tbl2

totalb2lb2>=kbl2as*totala

totalb2lb2>=kbl2las*totalla

totalb2lb2>=kbl2bl1s*totalb1lb1

b2、lb2相位在此周期内红灯,其余非0相位参与算法轮换

b2、lb2相位继续为绿灯,其余相位为红灯,持续时间为ts

b2、lb2相位已持续绿灯次数n=nmax

b2、lb2相位在此周期内红灯,其余相位参与算法轮换

结束一周期(t)算法轮换

具体实施方式

第一步,如图1所示路口为例,开始图2整体流程,开启故障检测流程,如图2的①、②、③、④,每隔时间tb巡检一次,若未发现故障则进入虚线框内的信号灯组合选择算法流程,此后故障检测流程与信号灯组合选择算法流程并行运行。若发现故障,则中断信号灯组合选择算法流程,并启动信号灯定时轮换系统(已有的常规定时系统),直到故障解除,重新开始信号灯组合选择算法流程。若所有相位都没有车辆,则全部相位信号灯都闪烁黄灯。每隔时间ty重新获取最新的视频巡检计算结果,若存在有车辆相位和无车辆相位,则无车辆相位的值在本周期内被置0,如a1、a2都无车辆,则a1=a2=0。

第二步,从a、b、c、d四个算法中选择最佳的一个,选取图1中停止线(⑨、)内的固定距离范围(例如距离前方停止线50米范围内的相位区域),比较a1la1(以下所有相位均默认距离前方停止线50米范围内的车辆总数)与a(a1与a2相位的车辆总数)大小,判断a1la1是否大于系数(ks)倍的a,即totala1la1>ks*totala,如果为是,继续判断totalb1lb1>ks*totalb或totalb2lb2>ks*totalb,如果也为是,则启动b算法流程,如图2中的⑨、⑩、

若totala1la1>ks*totala为否,totala2la2>ks*totala为是,继续判断totalb1lb1>ks*totalb或totalb2lb2>ks*totalb,如果为是,则启动b算法流程,如图2中的⑨、⑩、

如果totala1la1>ks*totala或totala2la2>ks*totala都为否,totalb1lb1>ks*totalb或totalb2lb2>ks*totalb都为否,则启动a算法流程,如图2中的⑨、⑩、

如果totala1la1>ks*totala或totala2la2>ks*totala有一个为是,totalb1lb1>ks*totalb或totalb2lb2>ks*totalb都为否,则启动c算法流程,如图2中的⑨、⑩、

如果totala1la1>ks*totala或totala2la2>ks*totala都为否,totalb1lb1>ks*totalb或totalb2lb2>ks*totalb有一个为是,则启动d算法流程,如图2中的@、⑩、

第三步,继续a、b、c、d其中的一个算法流程,获取最新视频巡检计算结果,启动拥堵预测算法,如图3、图4、图5、图6中的②、③、④、⑤、⑥、⑦,判断路口前方(如图1中⑩、虚拟线以外50米范围)相位是否拥堵。以统计机器学习中的提升方法adaboost算法为例,adaboost算法通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类器。根据历史视频分析数据,给定一个二类分类的训练数据集t={(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)}

其中,每个样本点由实例与标记组成,实例标记yi∈y={-1,+1},x是实例空间,y是标记集合。

adaboost利用以下算法,从训练数据中学习一系列弱分类器或基本分类器,并将这些弱分类器线性组合成为一个强分类器。

输入:训练数据集t={(x1,y1),(x2,y2),(x3,y3),…,(xn,yn)},其中yi∈y={-1,+1};

弱分类器。

输出;最终分类器g(x).

(1)初始化训练数据的权值分布d1=(w11,…,w1i,…,w1n),i=1,2,…,n

(2)对m=1,2,…,m

(a)使用具有权值分布dm的训练数据集学习,得到基本分类器gm(x):x→{-1,+1}

(b)计算gm(x)在训练数据集上的分类误差率

(c)计算gm(x)的系数这里的对数是自然对数。

(d)更新训练数据集的权值分布

dm+1=(wm+1,1,…,wm+1,i,…,wm+1,n)

zm是规范化因子它使dm+1成为一个概率分布。

(3)构建基本分类器的线性组合

得到最终分类器

adaboost实施例:预测10秒后发生拥堵的概率,拥堵标准设定为图1中⑩、虚拟线位置最高车速低于10米/分钟。将已出路口距离(设定图1中⑩、虚拟线外的30米距离)、平均车速(图1中⑩、虚拟线外30米距离范围内的同相位车道的所有车辆的平均速度)、车速变化(图1中⑩、虚拟线外的30米距离同相位位置车辆单位时间的平均减速度)、平均密度(图1中⑩、虚拟线外一定距离范围的同相位车道的所有车辆的平均间距)4个特征属性和类别(10秒后的拥堵状况/是或否)作为训练数据,将对应已出路口距离的平均车速、车速变化、平均密度为特征属性的视频监测数据作为输入值,设定拥堵概率超过80%则输出结果为拥堵,y=1代表拥堵(是),y=-1代表非拥堵(否),分别得到基本分类器,最后构建分类器的线性组合,得到最终分类器。

开始拥堵状态检测流程,利用上述中的统计机器学习方法预测拥堵状况,每隔时间tf巡检一次(获取最新视频巡检计算结果/拥堵分析),如果拥堵状况为否,则开启图3、图4、图5、图6中的其中一个算法流程(根据图2的流程判断决定采用哪个算法流程),若检测到拥堵状态为“是”,则拥堵相位强制为红灯(优先于图中虚线框里的流程算法),拥堵相位在图中虚线框里的算法流程中将被置0(该相位采集到的车辆数被强制置0),直到检测到拥堵状态为“否”,则取消红灯,同时取消置0,并按照图中虚线框内正在进行的算法流程进行轮换。

第四步,进入a(图3)、b(图4)、c(图5)、d(图6)其中的一个流程中虚线框内的算法。路口如图1所示,设定各相位车辆数取值距离范围为从停止线(图1中的⑨、所示)内的50米距离范围。以a算法为例,图3,如图中的⑧、⑨、⑩、所示,a(a1、a2相位车辆数和)与系数倍的b(b1、b2的车辆数和)比较数值大小,即判断是否totala>=kab*totalb,kab是a、b相位间的对比系数,称为优先绿灯系数,根据相位的重要程度及同相位车道数自定义取值,如果为是,判断totala>=kala*totalla,如果依然为是,判断totala>=kalb*totallb,kala、kalb也都是优先绿灯系数,如果都为是,则判定a相位优先绿灯,持续时间为t(可以自定义)。

第五步,如图3中的所示,在时间t结束前获取最新视频巡检结果,获取最新待过路口车辆数,判断totala>=ta,ta是绿灯延迟的门限值,即绿灯中的相位组合若要延迟绿灯时间,则该相位最新的待过路口车辆数必须大于其自身的阈值(可设置的车辆数)。继续判断totala>=kabs*totalb,如果为是继续判断totala>=kalas*totalla,如果为是,判断totala>=kalbs*totallb,如果依然为是,a相位继续为绿灯,持续时间为ts(可设置),kabs、kalas、kalbs分别是a相位与b相位、a相位与la(la1、la2)相位、a相位与lb(lb1、lb2)相位间的对比系数,称为延迟绿灯系数(可设置,绿灯延迟系数的值要大于第一次优先绿灯的系数)。延迟时间ts后,判断已持续绿灯次数n是否等于nmax(设定的最大延迟绿灯次数),如果为否,则重新循环如图3中的继续判定totala>=ta、totala>=kabs*totalb、totala>=kalas*totalla、totala>=kalbs*totallb,如果都为是,则再次延迟绿灯,如所示;如果中有一个为否,则进入a相位在本周期内红灯,其余相位参与算法轮换。

第六步,如果上述第四步中的判断其中一个为否,则进入图3中的如果totalb>=kbla*totalla为是,判断totalb>=kblb*totallb,如果为是,则b(b1、b2)相位优先绿灯;如果totalb>=kbla*totalla为否,totalla>=klalb*totallb为是,则la(la1、la2)相位优先绿灯;如果totalb>=kbla*totalla为否,totalla>=klalb*totallb为否,则lb(lb1、lb2)相位优先绿灯。kblb是相位b与lb的优先绿灯系数,kbla是b与la的优先绿灯系数,klalb是la与lb的优先绿灯系数。

第七步,相位b(b1、b2)、la(la1、la2)、lb(lb1、lb2)的绿灯延迟判断与上述第五步同样原理。

第八步,所有非0(有车辆)相位组合至少完成一次绿灯,结束一个周期(t)的算法轮换,回到主流程,如图3的所示。非0相位是指相位组合不为0,如a算法流程中的相位组合a(a1、a2),当a1、a2都为0时,a才是0。如图2的⑤、⑥、⑦、⑧判断各相位是否有车辆,没有车辆的相位在本周期t内为0,如a1没有车辆,则a1=0,进入到图3、图4、图5、图6的算法流程中,在本周期t内a1保持为0(不管最新视频巡检结果是否为0),若其组合不为0,则正常参与绿灯算法轮换,如图3中,a2若不等于0,则a(a1、a2的和)不等于0,即a(a1、a2)在本周期t内将至少绿灯一次;如果a1、a2在如图2(⑤、⑥、⑦、⑧所示)中都为0,则在图3的算法流程中,a相位组合在本周期t内为0,在本周期t内保持红灯。

第九步,b、c、d算法原理与步骤与上述的a算法流程类似。

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