用于交通信号控制的时间检测器扫描图像方法、系统和介质

未命名 08-12 阅读:74 评论:0

用于交通信号控制的时间检测器扫描图像方法、系统和介质
1.本技术要求于2020年12月21日提交的申请号为17/129,646、发明名称为“用于交通信号控制的时间检测器扫描图像方法、系统和介质(temporal detector scan image method,system,and medium for traffic signal control)”的美国专利申请的优先权,该申请的全部内容通过引用并入本文中。
技术领域
2.本技术大体上涉及用于交通信号控制的方法和系统,尤其涉及生成用于交通信号控制的时间检测器扫描图像的方法、系统和计算机可读介质。


背景技术:

3.交通拥堵造成了大量的时间浪费、燃料浪费和污染。建设新的基础设施来解决这些问题往往是不切实际的,因为资金和空间有限,还要考虑环境和可持续性问题。因此,为了提高城市交通网络的容量,研究人员探索到最大限度地提高现有基础设施性能的技术。优化交通信号的运行有望于减少城市网络中的驾驶员的延误。
4.交通信号用于向在交通环境内运行的车辆的驾驶员传达交通规则。典型的交通信号控制器控制管理交通环境中的车辆交通的交通信号,该交通环境包括交通网络中的单个交叉路口。因此,例如,单个交通信号控制器可以控制包括面向四个方向(东、南、西、北)的红色/黄色/绿色红绿灯的交通信号,但是可以理解,一些交通信号可以控制包括多于或少于四个交通方向的环境中的交通,并且可以包括其它信号类型,例如,面向同一方向的针对不同车道的不同信号、转弯箭头、街道公共交通信号等。
5.交通信号通常按周期运行,每个周期包括多个相位。单个相位可以对应于交通信号的各种灯的固定状态,例如,面向南北的绿灯和面向东西的红灯,或面向南北的黄灯和面向东西的红灯,但是一些相位可以包括其它非固定状态,例如,人行横道的计数器倒计时。通常,交通信号周期包括该周期中通常按固定顺序重复一次的每个相位。
6.图1示出了示例性交通信号周期100,包括按照从第一相位102到第八相位116的顺序排列的八个相位。在本示例中,除非另有说明,否则所有其它灯在一个相位期间内都是红灯。
7.在第一相位102期间,即相位1内,交通信号显示北向交通的绿色左转箭头(即在朝南的灯柱上)和南向交通的绿色左转箭头(即在朝北的灯柱上),分别指示为“nl”和“sl”。在第二相位104期间,即相位2内,交通信号显示南向交通的绿色左转箭头和绿色“直通”灯或箭头,分别指示为“sl”和“st”。在第三相位106期间,即相位3内,交通信号显示北向交通的绿色左转箭头和绿色“直通”灯或箭头,分别指示为“nl”和“nt”。在第四相位108,即相位4内,交通信号显示北向交通和南向交通两者的黄色左转箭头(如虚线所示)和绿色“直通”灯或箭头。在第五相位110期间,即相位5内,交通信号显示东向交通的绿色左转箭头(即在朝西的灯柱上)和西向交通的绿色左转箭头(即在朝东的灯柱上),分别指示为“el”和“wl”。在第六相位112期间,即相位6内,交通信号显示西向交通的绿色左转箭头和绿色“直通”灯或
control(用于自适应交通信号控制的深度学习vs离散强化学习)”,上述所有文献的全部内容都通过引用并入本文中。以下文献中描述了其它基于ai的交通控制方法:s.el-tantawy和b.abdulhai于2012年发表在2015年9月的2012第15届ieee智能交通系统国际会议(international conference on intelligent transportation systems,itsc)的会刊的第319至326页处的“multi-agent reinforcement learning for integrated network of adaptive traffic signal controllers(marlin-atsc)(用于自适应交通信号控制器的集成网络的多代理强化学习(marlin-atsc))”(以下简称marlin);s.m.a.shabestary和b.abdulhai于2018年发表在2018第21届智能交通系统国际会议(international conference on intelligent transportation systems,itsc)的会刊的第286至293页上的“deep learning vs.discrete reinforcement learning for adaptive traffic signal control(用于自适应交通信号控制的深度学习vs离散强化学习)”(以下简称mind);h.-c.hu和s.smith于2019年发表的“using bi-directional information exchange to improve decentralized schedule-driven traffic control(使用双向信息交换来改进分散式调度驱动的交通控制)”;h.-c.hu和s.smith于2019年发表的“coping with large traffic volumes in schedule-driven traffic signal control(处理调度驱动交通信号控制中的大交通量)”,上述所有文献的全部内容都通过引用并入本文中。
14.现有drl控制器的设计是每秒执行动作,这称为基于秒的控制。在每秒内,drl决定延长当前绿色信号或切换到其它相位。还可以实现生成整个周期的决定数据的交通信号控制器,这可以称为基于周期的控制。基于周期的控制器可以产生下一交通信号周期中的所有相位的时长数据。
15.以下文献论述了一种用于交通信号控制的离散动作空间的方法:m.aslani、m.s.mesgari和m.wiering于2017年发表在交通研究c部分——新兴技术的第85卷的第732至752页上的“adaptive traffic signal control with actor-critic methods in a real-world traffic network with different traffic disruption events(在具有不同交通中断事件的现实交通网络中使用演员-评论家方法的自适应交通信号控制)”(以下简称aslani),其全部内容通过引用并入本文中。aslani通过将动作空间离散为10秒间隔来解决这个问题。因此,用于每个相位的控制器必须从集合[0秒,10秒,20秒
……
90秒]中选择相位时长。
[0016]
以下文献中描述了另一种方法:x.liang、x.du、g.wang和z.han于2019年在ieee车辆技术期刊的第2期、第68卷的第1243至1253页处的“a deep reinforcement learning network for traffic light cycle control(用于红绿灯周期控制的深度强化学习网络)”,其全部内容通过引用并入本文中,这种方法使用增量方法来设置信号配时。控制器不直接限定相位时长,但会决定在每个决定点上将每个相位的配时增加或减少5秒。
[0017]
对交通环境状态进行丰富的观察有益于atsc,通常需要对交通队列进行长距离检测,或者测量车辆在到达停止杆之前行近交叉路口红绿灯的位置和速度。例如,上文引用的marlin系统需要检测通往交叉路口的所有入口处的队列的长度。有时候,这些队列可以长达数百米(例如,距离交叉路口停止杆300m)。mind系统将通往交叉路口的入口分成单元格网格,并且需要测量每个单元格中车辆的数量及速度,尽可能远离停止杆(例如,200m~400m)。这样的单元格网格和每个单元格的值(例如,单元格中车辆的数量、单元格中车辆的
平均速度)类似于包括表示颜色强度的像素值(例如,rgb值)的图像。通过使用应用于机器视觉或图像处理的现有深度学习技术,这种类比可以有助于将深度学习(例如,卷积神经网络和深度q学习)等方法应用于atsc。这种关于交通环境状态的丰富“长距离”信息增强了atsc系统找到实现目标(例如,最大程度地减少延误)的最佳动作的能力。但是,无法访问这种“长距离”信息表示该系统未能充分观察交通环境状态,因此该系统的动作可能不是最佳的。
[0018]
这种长距离检测虽然是可取的,但在本领域难以实现,因此限制了理论上合理的先进atsc系统的适用性。多种检测方法试图提供这种长距离检测,带来了不同程度的成功、复杂性和成本。除了光线和天气条件等其它挑战,基于视频的检测通常还受限于距离停止杆数十米(例如,50m~70m)的范围,等等。一些基于雷达的方法也在涌现,它们用于检测数百米的行近交通,但成本相对较高,每个交叉路口增加了数十万加拿大元的检测成本。以下文献中描述了这种基于雷达的系统:通过http://www.smartmicro.de/traffic-radar/intersection-management/可在线访问的“smartmicro:intersection management radar(smartmicro:交叉路口管理雷达)”,其全部内容通过引用并入本文中。
[0019]
另一方面,常用的检测器,例如,感应式回路检测器,感测到单个点(例如,沿着行车道的一个位置)上存在车辆交通,因此不能提供关于交通环境状态的长距离信息。
[0020]
因此,长距离交通检测仍然是一项挑战。
[0021]
人们已经做出了一些努力来扩充短距离检测器(例如,电感式回路检测器)提供的信息,以推断交通环境的长距离状态。一些atsc系统使用交通模型来扩充点检测带来的信息,以覆盖一定范围的空间(例如,通往交叉路口的入口),例如,以下文献中描述的scoot系统:r.d.bretherton、k.wood和g.t.bowen于1998年发表在第9届道路交通信息与控制国际会议的第454期的第104至108页处的“scoot version 4(scoot版本4)”,其全部内容通过引用并入本文中。但是,mind等无模型方法不能依赖于点检测,因为这些方法没有提供足够的交通环境状态信息。
[0022]
因此,需要一种能够突破上述现有方法中的限制中的一个或多个限制的长距离交通检测系统。


技术实现要素:

[0023]
本发明描述了生成用于交通信号控制的时间检测器扫描图像的方法、系统和处理器可读介质。本发明描述了一种使用深度学习模块进行交通信号控制的智能自适应周期级交通信号控制器。深度学习模块将图像处理技术应用于格式化为图像数据的交通环境数据,这种图像数据在本文中称为“时间检测器扫描图像”数据。时间检测器扫描图像是通过将由点检测器(例如,感应式回路交通检测器)随时间收集到的点检测器数据格式化为表示多条车道(第一维度)在多个时间点(第二维度)上的交通环境状态的二维矩阵而生成的。通过将来自每条车道中的多个位置的点检测器数据与指示每条车道的交通信号状态(例如,车道的交通信号在每个时间点上是绿色、红色还是黄色)的交通信号数据进行组合,时间检测器扫描图像提供时空交通状态信息,该信息格式化为图像,以供深度学习模块进行处理。深度学习模块可以使用从交通环境中收集到的时间检测器扫描图像数据来训练,然后可以在训练后被部署用于控制针对交通环境中的交通信号。在一些实施例中,点检测器经过定
位位置和配置,使得时间检测器扫描图像可以直接由深度学习模块用来学习用于交通信号控制的最佳动作。
[0024]
因此,本文中描述的实施例使用空间中的一个或多个点上的时间扫描测量替代在单个时间点处难以获得的交通状态的长距离空间测量,而不是使用单个时间点处的交通状态的长距离空间测量(与在长距离相机或基于雷达的系统中一样)。时间检测器扫描图像可以集成在基于深度学习的控制系统中,以将由时间检测器扫描图像提供的交通环境状态表示映射到优化平均或聚合车辆延误或停车、平均或聚合车辆油耗等性能指标的最佳控制动作。
[0025]
本文中描述的实施例可以包括用于深度学习模块的各种深度学习方法。深度强化学习可以在一些实施例中使用,包括近端策略优化(proximal policy optimization,ppo)或深度q网络(deep q network,dqn)。在不同的实施例中,深度学习模块可以生成用于控制交通信号的各种类型的交通信号控制数据,包括基于秒的控制数据或基于周期的控制数据。
[0026]
将时间检测器扫描图像数据用作对深度学习模块的输入相比于现有基于机器学习的自适应交通信号控制方法,具有许多潜在优势。用于生成时间检测器扫描图像的点检测器数据可以使用有限数量的点检测器来收集,例如,用于近距离捕获交通图像的感应式回路交通检测器或点相机,从而相对于使用长距离传感器(例如雷达、激光雷达和/或长距离相机)的现有方法,潜在地降低了成本和复杂性,并且提高了可靠性和稳健性。通过使用点检测器来生成关于交通环境的长距离信息,自学习自适应交通信号控制系统可以通过成本效益高的方式训练和操作。视频检测的当前状态不足以提供几百米的可靠检测。雷达等其它新兴方法的实际广泛使用,成本高得令人望而却步。相比之下,回路检测器或点相机等常见的检测器仅在一个点上进行检测,因此不足以对行近交叉路口的交通的状态进行合适的时空测量。通过在相对于交通环境中的车道的不同位置上处理多个点检测器提供的点检测器数据,本文中描述的实施例可以向交通信号控制器提供类似于图像的时空交通环境状态表示,该表示可以由交通信号控制器用来学习有效的控制策略并且执行最佳控制动作。
[0027]
本文中使用的术语“更新”可以指改变一个值或函数的任何操作,或者指使用一个新值或函数替换一个值或函数的任何操作。
[0028]
本文中使用的术语“调整”可以指改变一个值、设置、方程、算法或操作所进行的任何操作。在强化学习的背景下,术语“策略”在机器学习领域具有该术语的普通含义,即应用于数据输入以在动作空间内生成动作的函数(例如,控制函数)或数学公式。策略可以包括在调整策略时值发生改变的参数。
[0029]
本文中使用的术语“模块”是指由计算硬件组件执行的用于执行一个或多个功能的一个或多个软件过程。
[0030]
在一些方面中,本发明描述了一种生成用于交通信号控制的时间检测器扫描图像的方法。方法包括以下数个步骤:获取时间交通状态数据,其中,时间交通状态数据包括:第一位置交通数据,指示交通环境中的一条或多条车道中的每条车道中的第一位置在多个时间点中的每个时间点处的交通状态;第二位置交通数据,指示一条或多条车道中的每条车道中的第二位置在多个时间点中的每个时间点处的交通状态;交通信号数据,指示一条或多条车道中的每条车道在多个时间点中的每个时间点处的交通信号状态;通过以下方式生
成时间检测器扫描图像:处理第一位置交通数据以生成二维第一位置交通矩阵;处理第二位置交通数据以生成二维第二位置交通矩阵;以及处理交通信号数据以生成二维交通信号矩阵。
[0031]
在一些方面中,本发明描述了一种生成用于交通信号控制的时间检测器扫描图像的系统。系统包括处理器设备和存储器。存储器中存储在其上的机器可执行指令。机器可执行指令在由处理设备执行时,使系统执行以下数个步骤:获取时间交通状态数据,其中,时间交通状态数据包括:第一位置交通数据,指示交通环境中的一条或多条车道中的每条车道中的第一位置在多个时间点中的每个时间点处的交通状态;第二位置交通数据,指示一条或多条车道中的每条车道中的第二位置在多个时间点中的每个时间点处的交通状态;交通信号数据,指示一条或多条车道中的每条车道在多个时间点中的每个时间点处的交通信号状态;通过以下方式处理时间检测器扫描图像:处理第一位置交通数据以生成二维第一位置交通矩阵;处理第二位置交通数据以生成二维第二位置交通矩阵;处理交通信号数据以生成二维交通信号矩阵。
[0032]
在一些示例中,方法还包括:提供时间检测器扫描图像作为对深度学习模块的输入;以及使用深度学习模块来处理时间检测器扫描图像,以生成交通信号控制数据。
[0033]
在一些示例中,深度学习模块包括深度强化学习模块;处理时间检测器扫描图像包括:通过将策略应用于时间检测器扫描图像,使用深度强化学习模块以生成交通信号控制数据;方法还包括:在将交通信号控制数据应用于交通信号之后,确定交通环境的更新状态;基于交通环境的更新状态,生成更新的时间检测器扫描图像;通过将奖励函数应用于时间检测器扫描图像和更新后的时间检测器扫描图像,生成奖励;以及基于奖励来调整策略。
[0034]
在一些示例中,深度强化学习模块包括深度q网络;交通信号控制数据包括在以下操作之间做出的决定:延长交通信号的周期中的当前相位;以及进入交通信号的周期中的下一相位。
[0035]
在一些示例中,深度强化学习模块包括近端策略优化(proximal policy optimization,ppo)模块;以及交通信号控制数据包括针对交通信号的周期中的至少一个相位的相位时长。
[0036]
在一些示例中,方法还包括:对于第一位置和第二位置中的每个位置,使用点检测器来感测位置处的车辆交通;基于感测到的车辆交通,生成位置的点检测器数据;基于针对每个位置的点检测器数据,生成交通状态数据。
[0037]
在一些示例中,每个点检测器包括感应式回路交通检测器。
[0038]
在一些示例中,每个点检测器包括点相机。
[0039]
在一些示例中,交通环境包括交叉路口;并且对于一条或多条车道中的每条车道,车道处的第一位置和第二位置在通往交叉路口的入口处;车道处的第二位置比第一位置更靠近交叉路口。
[0040]
在一些示例中,方法还包括:对于第一位置和第二位置中的每个位置,使用点检测器来感测位置处的车辆交通;基于感测到的车辆交通,生成位置的点检测器数据;基于针对每个位置的点检测器数据,生成交通状态数据。交通环境包括交叉路口;并且对于一条或多条车道中的每条车道,车道中的第一位置和第二位置在通往交叉路口的入口处;车道中的第二位置比第一位置更靠近交叉路口。
[0041]
在一些示例中,存储器还存储深度学习模块;指令在由处理设备执行时,还使系统执行以下步骤:提供时间检测器扫描图像作为对深度学习模块的输入;以及使用深度学习模块来处理时间检测器扫描图像,以生成交通信号控制数据。
[0042]
在一些示例中,深度学习模块包括深度强化学习模块;处理时间检测器扫描图像包括:通过将策略应用于时间检测器扫描图像,使用深度强化学习模块来生成交通信号控制数据;指令在由处理设备执行时,还使系统执行以下步骤:在将交通信号控制数据应用于交通信号之后,确定交通环境的更新状态;基于交通环境的更新状态生成更新的时间检测器扫描图像;通过将奖励函数应用于时间检测器扫描图像和更新的时间检测器扫描图像,生成奖励;基于奖励来调整策略。
[0043]
在一些示例中,深度强化学习模块包括深度q网络;交通信号控制数据包括在以下操作之间做出的决定:延长交通信号的周期中的当前相位;以及进入交通信号的周期中的下一相位。
[0044]
在一些示例中,深度强化学习模块包括近端策略优化(proximal policy optimization,ppo)模块;以及交通信号控制数据包括交通信号的周期中的至少一个相位的相位时长。
[0045]
在一些示例中,指令在由处理设备执行时,还使得系统执行以下步骤:对于第一位置和第二位置中的每个位置,获取位置的点检测器数据;基于针对每个位置的点检测器数据来生成交通状态数据。
[0046]
在一些示例中,对于第一位置和第二位置中的每个位置,系统还包括点检测器,点检测器被配置为基于在位置处感测到的车辆交通来生成点检测器数据。
[0047]
在一些示例中,每个点检测器包括感应式回路交通检测器。
[0048]
在一些示例中,每个点检测器包括点相机。
[0049]
在一些方面中,本发明描述了一种处理器可读介质。处理器可读介质包括有形地存储在其中的经过训练的强化学习模块,强化学习模块是根据上述方法步骤进行训练的。
[0050]
在一些方面中,本发明描述了一种处理器可读介质,包括有形地存储在其中的指令。指令在由处理器设备执行时,使得处理器设备执行上述方法步骤。
附图说明
[0051]
下面通过示例参考示出本技术示例性实施例的附图。
[0052]
图1是示出示例性交通信号周期中的八个相位的表,示出了本文中描述的示例性实施例提供的示例性操作环境。
[0053]
图2是交叉路口处的示例性交通环境的框图,交通环境包括与本文中描述的实施例提供的交通信号控制器进行通信的交通信号。
[0054]
图3是本文中描述的实施例提供的示例性交通信号控制器的框图。
[0055]
图4是本文中描述的实施例提供的生成用于交通信号控制的时间检测器扫描图像的示例性方法中的步骤的流程图。
[0056]
图5是交叉路口处的交通环境的俯视图,示出了本文中描述的实施例提供的用于感测车辆交通的点检测器的位置。
[0057]
图6是本文中描述的实施例提供的转换为交通时间检测器扫描图像的交通位置数
据和交通信号数据的示意图。
[0058]
图7是本文中描述的实施例提供的训练深度强化学习模型以生成交通信号控制数据的示例性方法中的步骤的流程图。
[0059]
图8是本文中描述的实施例提供的交通信号控制器中的示例性深度学习模块的框图,示出了交通时间检测器扫描图像作为输入以及生成的交通信号控制数据作为输出。
[0060]
在不同的附图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
[0061]
在各种示例中,本发明描述了生成用于交通信号控制的时间检测器扫描图像的方法、系统和处理器可读介质。本发明描述了一种使用深度学习模块进行交通信号控制的智能自适应周期级交通信号控制器。深度学习模块将图像处理技术应用于时间检测器扫描图像数据。
[0062]
下面参考附图描述了各个实施例。示例性实施例的描述被分成多个部分。示例性控制器设备部分描述了适合于实现示例性交通信号控制器和方法的示例性设备或系统。示例性深度学习模块部分描述了控制器如何学习和更新深度学习模块的推理模型(例如,深度强化学习模型)的参数。生成用于交通信号控制的时间检测器扫描图像的示例性方法部分描述了如何使用从交通环境中的点检测器接收到的时间交通状态数据来生成时间检测器扫描图像,其中,深度学习模块可以使用图像处理技术来处理该时间检测器扫描图像。示例性训练方法部分描述了如何使用时间检测器扫描图像(也称为时间检测器扫描图像数据)来训练控制器中的深度学习模块。示例性交通信号控制数据部分描述了控制器的动作空间和输出。示例性交通环境状态数据部分描述了控制器的状态空间和输入。示例性奖励函数部分描述了控制器的奖励函数。用于控制交通信号的示例性系统部分描述了经过训练的控制器在用于控制真实交通环境中的交通信号时执行的操作。
[0063]
示例性控制器设备
[0064]
图2是交叉路口201处的示例性交通环境200的框图,交通环境200包括与示例性交通信号控制器220进行通信的交通信号。交通信号显示为四个红绿灯:朝南的灯202、朝北的灯204、朝东的灯206和朝西的灯208。(在示出交通环境自上而下视图的所有附图中,北对应于页面上方。)控制器设备220将控制信号发送给四个红绿灯202、204、206、208。控制器设备220还与网络210进行通信,控制器设备220通过网络210可以与一个或多个服务器或其它设备进行通信,如下详述。
[0065]
可以理解,尽管在此参考包括通过单个信号(例如,单组红绿灯)管理的单个交叉路口的交通环境描述了实施例,但是在一些实施例中,交通环境可以包括交通网格内的多个节点或多个交叉路口,并且可以控制多个交通信号。
[0066]
图3是适用于执行本文中描述的示例的控制器设备220(例如,计算机或云计算平台)的简化示例的框图。可以使用适合于实现本发明中描述的实施例的其它示例,这些示例可以包括与下文描述的那些组件不同的组件。尽管图3示出了每个组件的单个实例,但是在控制器设备220中,每个组件可能有多个实例。
[0067]
控制器设备220可以包括一个或多个处理器设备225,诸如,处理器、微处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,asic)、现场
可编程门阵列(field-programmable gate array,fpga)、专用逻辑电路、专用人工智能处理器单元或其组合。控制器设备220还可以包括一个或多个可选的输入/输出(input/output,i/o)接口232,i/o接口232可以实现与一个或多个可选的输入设备234和/或可选的输出设备236相连接。
[0068]
在所示的示例中,一个或多个输入设备234(例如,维护台、键盘、鼠标、麦克风、触摸屏和/或小键盘)和一个或多个输出设备236(例如,维护台、显示器,扬声器和/或打印机)显示为可选的,并且在控制器设备220的外部。在其它示例中,可能不存在任何一个或多个输入设备234和一个或多个输出设备236,在这种情况下,可能不需要一个或多个i/o接口232。
[0069]
控制器设备220可以包括与网络(例如,网络210)中的一个或多个设备或系统进行有线通信或无线通信的一个或多个网络接口222。一个或多个网络接口222可以包括用于网络内通信和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。网络接口222中的一个或多个网络接口可以用于将控制信号发送给交通信号202、204、206、208和/或用于从点检测器接收数据(例如,由感应式回路交通检测器或点相机生成的点检测器数据,或者基于点检测器数据的交通状态数据,如下参考图5和图6所述)。在一些实施例中,交通信号和/或传感器可以直接或通过其它方式(例如,i/o接口232)间接与控制器设备进行通信。
[0070]
控制器设备220还可以包括一个或多个存储单元224,存储单元224可以包括大容量存储单元,诸如,固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器。存储单元224可以用于长期存储下文描述的存储器228中存储的部分或全部数据。
[0071]
控制器设备220可以包括一个或多个存储器228,存储器228可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,ram)和/或只读存储器(read-only memory,rom))。一个或多个非瞬时性存储器228可以存储由一个或多个处理器设备225执行的指令,例如,以执行本发明中描述的示例。一个或多个存储器228可以包括软件指令238,例如,以实现操作系统和其它应用/功能。在一些示例中,一个或多个存储器228可以包括由处理器设备225执行的实现深度学习模块240的软件指令238,如下详述。深度学习模块240可以通过处理器设备225执行指令238而加载到一个或多个存储器228中。
[0072]
在一些实施例中,深度学习模块240是深度强化学习模块,例如,深度q网络或ppo模块,如下在示例性深度学习模块部分中所述。深度学习模块240可以使用tensorflow机器学习库和其它广泛使用的库(包括numpy)以python编程语言进行编码。可以理解,其它实施例可以使用不同的软件库和/或不同的编程语言。
[0073]
一个或多个存储器228还可以包括时间交通状态数据250的一个或多个样本,样本可以用作训练数据样本来训练深度学习模块240和/或用作深度学习模块240的输入,以在深度学习模块240经过训练并且控制器设备220被部署用于控制真实交通环境中的交通信号之后生成交通信号控制数据,如下详述。时间交通状态数据250可以包括第一位置交通数据252、第二位置交通数据254和交通信号数据256,如下参考图5和图6详述。在一些示例中,存储器可以存储格式化为一个或多个时间检测器扫描图像601的时间交通状态数据250,如下参考图6所述。
[0074]
在一些示例中,控制器设备220可以附加或备选地执行外部存储器(例如,与控制
器设备220进行有线通信或无线通信的外部驱动器)中的指令,或者可以由瞬时性或非瞬时性计算机可读介质提供可执行指令。非瞬时性计算机可读介质的示例包括ram、rom、可擦除可编程rom(erasable programmable rom,eprom)、电可擦除可编程rom(electrically erasable programmable rom,eeprom)、闪存、cd-rom或其它便携式存储器。
[0075]
控制器设备220还可以包括实现控制器设备220中的组件之间进行通信的总线242,这些组件包括上文论述的那些组件。总线242可以是任何合适的总线架构,包括内存线、外围总线或视频总线等。
[0076]
可以理解,在一些实施例中,本文中描述的各种组件和操作可以在多个单独的设备或系统上实现。
[0077]
示例性深度学习模块
[0078]
在一些实施例中,自学习交通信号控制器与交通环境进行交互,逐渐找到适用于交通信号控制的最佳策略。深度学习模块使用深度学习算法来训练深度学习模型的参数集或策略,以执行交通信号控制。深度学习模块可以使用任何类型的深度学习算法,包括监督学习算法或非监督学习算法,来训练任何类型的深度学习模型,诸如,卷积神经网络或其它类型的人工神经网络。
[0079]
在一些实施例中,深度学习模块(诸如,深度学习模块240)是深度强化学习模块。控制器(例如,控制器设备220)通过以下方式生成交通信号控制数据:执行深度学习模块240的指令238,以将一种函数应用于交通环境状态数据(例如,时间交通状态数据250),并且使用深度学习模块240的学习策略来根据该函数的输出确定一系列动作(即,以交通信号控制数据为形式的交通信号控制动作)。该函数是使用通过强化学习进行训练的模型来近似的,该模型在本文中有时称为“强化学习模型”或“rl模型”。因此,在一些实施例中,深度学习模块240是深度强化学习模块,该模块使用强化学习算法来训练rl模型。在一些实施例中,强化学习模型可以是人工神经网络,例如,卷积神经网络。在一些实施例中,交通环境状态数据(例如,时间交通状态数据250)可以格式化为一个或多个二维矩阵,从而使得卷积神经网络或其它rl模型使用已知的图像处理技术来生成交通信号控制数据。
[0080]
从形式上讲,强化学习模型的目标可以如下所述:考虑到随时间推移的交通需求轨迹d(t),t∈[0,te],找到最小化使系统方程和约束条件满足的目标j的控制策略或控制函数r,使得控制变量(例如,信号定相)u(t)=r[x(t),t],其中,t∈[0,te],x(t)是系统状态测量。
[0081]
强化学习(reinforcement learning,rl)是一种适合于具有高度复杂动力学的最佳控制问题的技术。这些问题可能难以建模,难以控制,或者两者兼而有之。在rl中,控制器可以在功能上表示为代理,该代理不知道其工作所在的环境。在训练的早期阶段中,该代理开始执行随机动作,称为探索。对于每个动作,该代理观察环境变化(例如,通过监控真实交通环境的传感器,或通过从模拟器接收模拟交通环境),该代理还接收称为奖励的数值,该数值表示该代理的动作的可取程度。上述代理的目标是优化随时间累积的奖励,而不是在执行任何给定动作之后获得的即时奖励。这种优化累积奖励在交通信号控制等领域是必要的,在交通信号控制中,代理的动作会影响系统的未来状态,从而要求代理考虑其动作的未来后果,而不是这些动作的即时影响。随着训练的进行,代理开始了解环境,并且执行更少的随机动作;相反,代理执行根据其经验会产生更好系统性能的动作。
[0082]
在一些实施例中,控制器使用演员-评论家强化学习模型。具体地,在一些实施例中,近端策略优化(proximal policy optimization,ppo)包括使用ppo来训练的ppo模型,可以用作深度学习模块240。ppo模型是深度演员-评论家rl模型的变型。演员-评论家rl模型可以生成连续的动作值(例如,交通信号周期相位时长)作为输出。演员-评论家rl模型有两部分:演员,限定代理的策略;评论家,帮助演员在训练过程中优化代理的策略。
[0083]
在使用基于周期的交通信号控制的实施例中,ppo模块的ppo模型可能特别适合用作深度学习模块240的rl模型。一些实施例可以生成用于控制交通信号的周期中的一个或多个相位的时长和配时的交通信号控制数据;其它实施例可以生成用于控制交通信号的一个或多个完整周期中的每个相位的时长和配时的交通信号控制数据。因此,在一些实施例中,ppo模块可以用于生成包括交通信号的周期中的至少一个相位的相位时长的交通信号控制数据。
[0084]
在其它实施例中,深度学习模块240可以使用深度q网络。在使用基于秒的交通信号控制的实施例中,深度q网络可能特别适合用作深度学习模块240的rl模型。因此,在一些实施例中,深度q网络可以用于生成包括在延长交通信号的周期中的当前相位与进入交通信号的周期中的下一相位之间做出的决定的交通信号控制数据。
[0085]
生成用于交通信号控制的时间检测器扫描图像的示例性方法
[0086]
如上所述,生成时间检测器扫描图像可以促进交通信号控制,该时间检测器扫描图像可以用作对深度学习模块的输入,以生成交通信号控制数据。下面描述用于生成时间检测器扫描图像的示例性方法。该方法包括以下可选步骤:获取用于生成时间检测器扫描图像的点检测器数据;使用时间检测器扫描图像来训练深度学习模块的深度强化学习模型。
[0087]
图4示出了生成用于交通信号控制的时间检测器扫描图像的示例性方法400。在一些实施例中,方法400中的时间检测器扫描图像生成步骤由控制器设备或系统(例如,控制器设备220)执行。在其它实施例中,时间检测器扫描图像可以由另一设备生成并提供给控制器。方法400中的其它步骤可以由控制器或另一设备或其它设备执行,如下所述。
[0088]
步骤402至步骤406是可选的。在这些步骤中,位于交通环境中的点检测器用于收集车辆交通数据,并且将该数据转换为控制器可用的交通数据,以生成时间检测器扫描图像。步骤402至步骤406可以由控制器(诸如,控制器设备220)、一个或多个点检测器中的硬件控制器、点检测器网络控制器设备或其某种组合执行。
[0089]
图5示出了交叉路口处的交通环境500的俯视图,示出了用于感测车辆交通的点检测器的位置。交叉路口有四个入口。每个入口可以与通往上游交叉路口的路段的全长一样长。每个点检测器经过定位和配置来检测沿着一条或多条行车道的特定位置上是否存在车辆。在一些实施例中,点检测器可以是感应式回路交通检测器,也称为车辆检测回路,用于使用在铺设或嵌入在路面中的材料的导电回路中感应式的电流来感测是否存在大型金属车辆。感应式回路交通检测器可以用于检测单条车道中的车辆,也可以铺设在多条车道上以检测车辆穿过的任何车道中的车辆。在一些实施例中,点检测器可以是点相机。每个点相机用于捕获占用沿着一条或多条行车道的纵向位置的车辆的图像。机器视觉技术可以用于处理由点相机捕获到的图像数据,以确认是否存在车辆。一些点相机可以经过定位和配置来检测单条车道上是否存在车辆;另一些点相机可以经过定位和配置来检测沿着穿过两条
或两条以上车道的单条线或单条纹的两条或两条以上车道中的每条车道上是否存在车辆。因此,每个点检测器可以检测一条或多条行车道上是否存在车辆交通,但这种检测仅限于沿着一条或多条行车道的单个点或小区域。可以理解,电眼、重量传感器或感光器等其它技术可以用于类似地检测行车道处的小区域内的车辆或多个相邻行车道中的车辆。一些实施例可以使用多种不同类型的点检测器来感测不同车道或不同位置中的车辆交通。
[0090]
图5中示出了八个点检测器。第一点集检测器经过定位和配置来感测交通环境500中的一条或多条行车道中的每条车道中的第一位置处的车辆交通:第一北向点检测器502a感测行近交叉路口的北向车道中的第一位置处的交通,第一南向点检测器502b感测行近交叉路口的南向车道中的第一位置处的交通,第一东向点检测器502c感测行近交叉路口的东向行车道中的第一位置处的交通,第一西向点检测器502d感测行近交叉路口的西向车道中的第一位置处的交通。在每个方向上,第一位置位于通往交叉路口的入口处,但远离交叉路口。例如,在一些实施例中,第一位置可以距离交叉路口停止杆50米。在其它实施例中,第一位置可以是在不同车道和/或不同交通方向上与交叉路口相距不同的距离。
[0091]
第二点集检测器经过定位和配置来感测交通环境500中的一条或多条行车道中的每条车道中的第二位置处的车辆交通:第二北向点检测器504a感测行近交叉路口的北向车道中的第二位置处的交通,第二南向点检测器502b感测行近交叉路口的南向车道中的第二位置处的交通,第二东向点检测器502c感测行近交叉路口的东向行车道中的第二位置处的交通,第二西向点检测器502d感测行近交叉路口的西向车道处的第二位置处的交通。在每个方向上,第二位置位于通往交叉路口的入口处,但比第一位置更靠近交叉路口。在一些实施例中,第二位置位于交叉路口停止杆处或附近。
[0092]
图5中示出的四个交通方向(东、南、西、北)中的每个交通方向都可以包括一条或多条道路车道,被配置为承载相应方向处的交通。图5中示出的每个点检测器可以监控一条或多条车道,并且在一些实施例中,可以有多个单独的点检测器放置在每个点检测器位置(即每个第一位置和每个第二位置)上,例如,一个点检测器用于在每个位置上监控每条车道。因此,在一个示例性实施例中,交通环境500可以包括交叉路口以北的三条南向车道,对应于第一南向点检测器502b的位置上共有三个感应式回路交通检测器,可以存在一个单独的点检测器(例如,感应式回路交通检测器)位于三条南向车道中的每条车道中的第一位置(即第一南向点检测器502b的位置)处。
[0093]
再次参考图4,在402中,每个点检测器(例如,每个第一位置处的点检测器502a至502d和每个第二位置处的点检测器504a至504d)感测其相应位置处的车辆交通。感测车辆交通可以包括感测由点检测器监控的单条车道上是否存在车辆,或者感测由点检测器监控的多条车道中的一条车道上是否存在至少一个车辆。
[0094]
在404处,对于第一位置和第二位置中的每个位置,点检测器(例如,点检测器502a至502d和504a至504d)根据感测到的车辆交通生成该位置的点检测器数据。在一些实施例中,点检测器数据可以简单地是某个时间点该位置上是否存在车辆的二进制指示。在其它实施例中,点检测器数据可以对关于在一段时间内感测到的车辆交通的信息进行编码。例如,在一些实施例中,点检测器数据可以对在一秒或十秒等时间段内经过该位置的车辆的数目进行编码。在一些实施例中,经过该位置的车辆的数目可以通过标识与经过该位置的多个车辆对应的车辆存在和车辆不存在的模式来确定。在一些实施例中,每个点检测器包
括用于生成点检测器数据的点检测器控制器(例如,微控制器或其它数据处理设备)。在一些实施例中,点检测器数据由与多个点检测器进行通信的单个点检测器控制器生成。在一些实施例中,点检测器可以将原始传感器数据提供给交通信号控制器(例如,通过网络接口222提供给控制器设备220),并且(例如,使用处理器设备225)生成点检测器数据。
[0095]
在406处,基于每个位置的点检测器数据来生成交通状态数据。如在步骤404中一样,交通状态数据可以由每个点检测器中的点检测器控制器、与多个点检测器进行通信的单个点检测器控制器或交通信号控制器等生成。在一些实施例中,交通状态数据指示每个位置在多个时间段中的每个时间段内的车辆交通数据。在一些实施例中,每个位置在每个时间段内的车辆交通数据是指示该位置在雾凇周期内是否存在车辆的二进制值。在一些实施例中,每个位置在每个时间段内的车辆交通数据是指示在该时间段内经过该位置的车辆的数目的数值。在一些实施例中,交通状态数据指示每个位置在单个时间段内或单个时间点上的车辆交通数据。可以理解,车辆交通数据的其它配置也是可能的。
[0096]
步骤408至步骤416可以称为“时间检测器扫描图像生成”步骤,在一些实施例中可以由交通信号控制器(例如,控制器设备220)执行。
[0097]
在408处,获取时间交通状态数据。时间交通状态数据包括第一位置交通数据、第二位置交通数据和交通信号数据。第一位置交通数据指示交通环境中的一条或多条车道中的每条车道处的第一位置在多个时间点中的每个时间点处的交通状态。第二位置交通数据指示一条或多条车道中的每条车道处的第二位置在多个时间点中的每个时间点处的交通状态。交通信号数据指示一条或多条车道中的每条车道在多个时间点中的每个时间点处的交通信号状态。
[0098]
在一些实施例中,控制器设备220通过以下方式执行步骤408:从一个或多个点检测器控制器接收第一位置交通数据和第二位置交通数据,如上文的步骤404和步骤406所述。如步骤406所述,在一些实施例中,第一位置交通数据和第二位置交通数据可以随时间接收,作为指示每个位置在单个时间点上或单个时间段内的交通状态的交通状态数据。每个位置的交通状态数据可以由控制器设备220编译为多个时间点上或多个时间段内的第一位置交通数据和第二位置交通数据。在其它实施例中,点检测器控制器可以编译多个时间点上或多个时间段内的交通状态数据,并且将编译后的数据传输给控制器设备220。
[0099]
在示例性实施例中,点检测器控制器通过每秒对每个点检测器采样一次来生成点检测器数据。每个点检测器在给定采样周期(即一秒)内的点检测器数据包括在获取到样本时是否存在车辆的二进制指示(例如,1表示存在车辆,0表示不存在车辆)。交通状态数据可以包括交通环境500中的每个点检测器在单个采样周期内提供的样本。一个或多个点检测器控制器在每个采样周期内将交通状态数据传输给交通信号控制器(例如,控制器设备220)。
[0100]
交通信号数据可以从交通控制器本身获取到。在一些实施例中,如图2所示,控制器设备220用于控制交通信号的状态,因此可以直接访问每条车道的交通信号的状态(例如,每个定向红绿灯202、204、206、208的状态)。
[0101]
在步骤410处,基于时间交通状态数据来生成时间检测器扫描图像。步骤410可以包括子步骤412、子步骤414和子步骤416。在412处,处理第一位置交通数据以生成二维第一位置交通矩阵。在414处,处理第二位置交通数据以生成二维第二位置交通矩阵。在416处,
处理交通信号数据以生成二维交通信号矩阵。下面参考图6描述步骤410和子步骤412至子步骤416。
[0102]
图6是转换为时间检测器扫描图像601的时间交通状态数据250的示例性示意图。时间交通状态数据250包括第一位置交通数据252、第二位置交通数据254和交通信号数据256。在所说明的示例中,第一位置交通数据252、第二位置交通数据254和交通信号数据256显示为二维矩阵。
[0103]
第一位置交通数据252显示为第一位置交通矩阵603,第一位置交通矩阵603包括沿着表示由点检测器监控的多条行车道的y轴610和表示时间(例如,多个时间点或多个时间段(例如,每个周期一秒))的x轴612布置的数据元素。第一位置交通矩阵603中的每个元素表示多条车道中的每条车道中的第一位置在每个时间(例如,时间点或时间段)处的交通状态(例如,在时间段内经过的车辆的数目)。因此,第一位置交通矩阵603可以基于从第一位置502a至502d处的点检测器获取到的数据而被生成。
[0104]
类似地,第二位置交通数据254显示为第二位置交通矩阵605,第二位置交通矩阵605包括沿着表示由点检测器监控的多条行车道的y轴610和表示时间的x轴612布置的数据元素。第二位置交通矩阵605中的每个元素表示多条车道中的每条车道中的第二位置在每个时间处的交通状态。因此,第二位置交通矩阵605可以基于从第二位置504a至504处的点检测器获取到的数据而被生成。
[0105]
交通信号数据256显示为交通信号矩阵607,交通信号矩阵607包括沿着表示由点检测器监控的多条行车道的y轴610和表示时间的x轴612布置的数据元素。交通信号矩阵607中的每个元素表示多条车道中的每条车道在每个时间处的交通信号状态。在一些实施例中,每个元素的值可以是指示该车道的绿灯交通信号状态的第一值,或者是指示该车道的黄灯或红灯交通信号状态的第二值。其它实施例可以使用其它值来区分黄色和红色,和/或使用其它值来区分前进绿色转弯箭头和常规的绿灯。
[0106]
在步骤410处通过以下方式生成交通时间检测器扫描图像601:将三个矩阵603、605、607排列、级联或以其它方式组合成单个三通道图像,其中,每个矩阵中的每个元素类似于图像中的像素值。交通时间检测器扫描图像601可以用作对深度学习模块(例如,深度学习模块240)的输入,该深度学习模块可以使用在深度学习中使用的图像处理技术来处理交通时间检测器扫描图像601以生成交通信号控制数据,如下文在示例性交通信号控制数据部分中详述。
[0107]
尽管图6示出了已经格式化为矩阵603、605、607的时间交通状态数据250,但是可以理解,在一些实施例中,时间交通状态数据250会存在其它格式,并且可以分别通过子步骤412、子步骤414和子步骤416格式化为矩阵603、605、607。更一般地,可以理解,在一些实施例中,所描述的数据实体(例如,点检测器数据、交通状态数据和/或时间交通状态数据250)中的一个或多个数据实体的格式可以等同于前一数据实体的格式(例如,在一些实施例中,交通状态数据可以等同于点检测器数据),因此,生成下游数据实体(例如,交通状态数据)的步骤可以简单地执行。
[0108]
再次参考图4,可选的步骤418和步骤420可以由交通信号控制器(例如,控制器设备220)执行,以操作深度学习模块(例如,深度学习模块240)通过将时间检测器扫描图像601作为输入来生成交通信号控制数据。
[0109]
在418处,提供时间检测器扫描图像601作为深度学习模块240的输入。步骤418可以包括对用作深度学习模型输入的图像数据进行预处理的已知深度学习技术。在一些示例中,时间检测器扫描图像601可以作为训练数据用来训练深度学习模块240的深度学习模型,如下文参考图7详述。在其它示例中,时间检测器扫描图像601可以用作经过训练的深度学习模块(例如,使用下文参考图7描述的方法700进行训练)的输入,该模块部署用于在推理模式下操作,以控制真实交通环境使用的交通信号。
[0110]
在420处,使用深度学习模块240来处理时间检测器扫描图像601,以生成交通信号控制数据,如下文在示例性交通信号控制数据部分中详述。
[0111]
示例性训练方法
[0112]
控制器设备220使用的深度学习模块240必须首先进行训练,然后才可以部署用于控制交通环境中的交通信号。在使用深度强化学习模块的实施例中,训练是通过以下方式进行的:将交通环境数据(诸如,上一部分中描述的时间交通状态数据250)提供给深度强化学习模块,使用由深度强化学习模块生成的交通信号控制数据来控制交通环境中的交通信号,然后将表示交通环境数据的更新状态(诸如,时间交通状态数据250的更新版本)的交通环境数据提供给深度rl模型,以用于调整深度rl模型策略和生成未来交通信号控制数据。
[0113]
图7示出了训练深度强化学习模型以生成交通信号控制数据的示例性方法700。
[0114]
在702处,基于交通环境500的初始状态来生成时间检测器扫描图像601。步骤702可以通过上一部分中描述的方法400中的步骤408和步骤410(以及可选的步骤402至步骤406)执行。
[0115]
在704处,当接收到时间检测器扫描图像601时,rl模型将其策略应用于时间检测器扫描图像601并且可选地应用于一个或多个过去时间检测器扫描图像,以生成交通信号控制数据,如下文在示例性交通信号控制数据部分中详述。
[0116]
在706处,将交通信号控制数据应用于真实交通信号或模拟交通信号。在使用真实交通信号的真实交通环境的情况下,控制器设备220可以将控制信号发送给交通信号(例如,灯202、204、206、208),以实现通过交通信号控制数据决定的决定。在模拟交通环境的情况下,rl模型将交通信号控制数据提供给模拟器模块,该模拟器模块模拟交通环境对通过交通信号控制数据决定的交通信号控制决定做出的响应。
[0117]
在708处,确定真实交通环境或模拟交通环境的更新状态。在一些实施例中,更新的交通状态可以由更新的时间交通状态数据250表示,如上文参考图6所述。更新的时间交通状态数据250可以包括与时间(例如,沿着x轴612)对应的数据元素,这些时间在将步骤706的交通信号决定应用于交通环境中的交通信号的时间点之后。
[0118]
在710处,根据在步骤708中确定的交通环境的更新状态生成新的时间检测器扫描图像601。在一些实施例中,步骤710可以由控制器设备220通过执行上述方法400中的步骤408和步骤410(以及可选的步骤402至步骤406)来执行。
[0119]
在712处,将深度rl模块的奖励函数应用于交通环境的初始状态和交通环境的更新状态,以生成奖励值。
[0120]
在714处,深度rl模块基于在步骤712生成的奖励来调整其策略。深度rl模型的权重或参数可以使用ppo演员-评论家或dqn深度强化学习技术等rl技术来调整。
[0121]
然后,方法700返回到步骤704,重复处理时间检测器扫描图像601的步骤704,(在
步骤710生成的)时间检测器扫描图像601这时指示(在步骤708确定的)交通环境的更新状态。这个循环可以重复一次或多次(通常至少数百次或数千次),以继续训练rl模型。
[0122]
因此,方法700可以用于根据使用图像数据作为输入的已知强化学习技术,训练rl模型并且更新其策略的参数。
[0123]
示例性交通信号控制数据
[0124]
深度学习模块240处理用作输入的时间检测器扫描图像601以生成交通信号控制数据。交通信号控制数据可以用于做出关于交通信号控制(即驱动)的决定。深度学习模块240在生成交通信号控制数据时使用的动作空间可以是连续的动作空间,诸如,自然数空间、或者是离散的动作空间,例如,在将交通信号相位延长一秒与进入下一交通信号相位之间做出的决定。
[0125]
一些实施例生成包括交通信号的周期中的至少一个相位的相位时长的交通信号控制数据。因此,交通信号控制数据可以是交通信号周期中的一个或多个相应相位的一个或多个相位时长。在一些实施例中,每个相位时长是从连续的取值范围中选择的值。在一些示例中,这种从连续的取值范围中选择相位时长可以通过使用演员-评论家rl模型来实现,如上文详述。
[0126]
在一些实施例中,交通信号控制数据包括交通信号的至少一个周期中的每个相位的相位时长。在其它实施例中,交通信号控制数据包括交通信号的周期中的仅一个相位的相位时长。周期级控制和相位级控制可能会在粒度与可预测性之间进行权衡。
[0127]
相对于秒级控制器,在交通信号的周期级或相位级控制下操作的实施例可以与交通信号进行频率相对较低的交互:周期级控制器可以在每个周期内(例如,在周期的开始)向交通信号发送一次控制信号,而相位级控制器可以在每个相位内(例如,在相位的开始)向交通信号发送一次控制信号。
[0128]
在一些实施例中,相位级或周期级控制可能受限于固定序列的相位(例如,图1中示出的八个连续相位102至116),但可能决定相位的时长。在其它实施例中,序列中的相位中的一个或多个相位可以省略,或者这一序列的相位可以通过其它方式重新排序或修改。限制这一序列的相位可能在符合驾驶员期望方面具有优势,但代价是可能牺牲一些灵活性,从而可能牺牲一些效率。
[0129]
因此,对于每个周期包括p个相位的交通信号(例如,在图1的示例中,p=8),使用周期级控制的深度学习模块240的输出可以是p个自然数,每个自然数指示交通信号相位的长度。使用相位级控制的深度学习模块240可以仅生成指示交通信号相位长度的一个自然数。其它实施例可以生成不同数目的相位时长。
[0130]
在一些实施例中,由深度学习模块240生成的相位时长从不同的连续范围(例如,正实数)中选择。使用演员-评论家rl模型(例如,ppo模型)可以生成从连续的取值范围中选择的相位时长,而不是有限数目的离散值(例如,现有方法中的5秒间隔或10秒间隔)。
[0131]
其它实施例生成包括在延长交通信号的周期中的当前相位与进入交通信号的周期中的下一相位之间做出的决定的交通信号控制数据。这一决定可以在每个时间段(例如,每秒)内执行。在每个周期中包括固定顺序相位的基于秒的控制方法中,控制器必须决定延长当前绿色相位或切换到下一相位,这导致具有2个值的离散动作空间(例如,0=延长,1=切换)。在一些实施例中,基于秒的控制还可以包括对每个周期内相位进行灵活排序,如上
文参考基于周期或基于相位的控制所述。
[0132]
如上所述,ppo深度强化学习模块可能特别适合于基于周期或基于相位的控制,而dqn深度强化学习模块可能特别适合于基于秒的控制。
[0133]
图8是交通信号控制器(例如,控制器设备220)中的示例性深度学习模块240的框图,示出了交通时间检测器扫描图像601作为输入以及生成的交通信号控制数据804作为输出。交通信号控制数据804可以是,例如,基于周期、基于相位或基于秒的交通信号控制数据,如上所述。深度学习模块240显示为使用策略802来生成交通信号控制数据804,如上文参考方法700中的步骤704所述。
[0134]
示例性奖励函数
[0135]
不同的实施例可以使用不同的奖励函数。奖励函数可以基于旨在实现某些最佳结果的交通流指标或性能指标。如上所述,各种实施例可以使用不同的性能指标,例如,总吞吐量(每个周期经过交叉路口的车辆的数量)、单个车辆在一个或多个周期内最长的一次延误,或任何其它合适的指标,来确定奖励。
[0136]
用于控制交通信号的示例性系统
[0137]
一旦深度学习模型已经如上所述经过训练,控制器设备220就可以部署用于控制真实交通环境中的真实交通信号。当部署用于控制真实交通信号时,上述深度学习模块240和其它组件的操作与参考训练方法700描述的操作非常相似。当部署用于控制真实交通信号时,控制器设备220可以构成一种用于控制交通信号的系统的全部或部分,尤其是构成一种生成用于交通信号控制的时间检测器扫描图像的系统。控制器设备220包括参考图3描述的组件,包括处理器设备225和存储器228。存储在存储器228中的深度学习模块240这时包括经过训练的深度学习模型,该模型已经根据上述一个或多个技术进行了训练。用于训练强化学习模型的交通环境是此时被控制的相同真实交通环境,或其模拟版本。指令238在由处理器设备225执行时,使上述系统执行方法700中的步骤,尤其是步骤702至步骤710。在一些实施例中,上述系统还通过执行步骤712和步骤714在部署过程中继续训练rl模型。
[0138]
可以理解,在一些实施例中,一种用于交通信号控制的系统还可以包括上述其它组件中的一个或多个组件,例如,点检测器502a至502d和504a至504d中的一个或多个点检测器、一个或多个点检测器控制器(包括在每个点检测器中或与每个点检测器分开),和/或红绿灯202、204、206、208中的一个或多个红绿灯。
[0139]
尽管本发明通过按照一定的顺序执行的步骤描述方法和过程,但是可以适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可以按所描述的顺序以外的顺序执行。
[0140]
尽管本发明在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本发明也针对用于执行方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任意组合。相应地,本发明的技术方案可以通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括dvd、cd-rom、usb闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其处的指令,指令使处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。
[0141]
在不脱离权利要求书的主题的前提下,本发明可以通过其它特定形式实施。所描
述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,在本发明的范围内可以理解适合于此类组合的特征。
[0142]
还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和显示的系统、设备和流程可包括特定数目的元素/组件,但可以修改系统、设备和组件,以包括此类元素/组件中的更多或更少的元素/组件。例如,尽管所公开的任何元件/组件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。

技术特征:
1.一种生成用于交通信号控制的时间检测器扫描图像的方法,所述方法包括:获取时间交通状态数据,所述时间交通状态数据包括:第一位置交通数据,指示交通环境中的一条或多条车道中的每条车道中的第一位置在多个时间点中的每个时间点处的交通状态;第二位置交通数据,指示所述一条或多条车道中的每条车道中的第二位置在所述多个时间点中的每个时间点处的交通状态;交通信号数据,指示所述一条或多条车道中的每条车道在所述多个时间点中的每个时间点处的交通信号状态;以及通过以下方式生成时间检测器扫描图像:处理所述第一位置交通数据以生成二维第一位置交通矩阵;处理所述第二位置交通数据以生成二维第二位置交通矩阵;以及处理所述交通信号数据以生成二维交通信号矩阵。2.根据权利要求1所述的方法,还包括:提供所述时间检测器扫描图像作为对深度学习模块的输入;以及使用所述深度学习模块来处理所述时间检测器扫描图像,以生成交通信号控制数据。3.根据权利要求2所述的方法,其中:所述深度学习模块包括深度强化学习模块;处理所述时间检测器扫描图像包括:通过将策略应用于所述时间检测器扫描图像,使用所述深度强化学习模块以生成交通信号控制数据;并且所述方法还包括:在将所述交通信号控制数据应用于所述交通信号之后,确定所述交通环境的更新状态;基于所述交通环境的所述更新状态生成更新的时间检测器扫描图像;通过将奖励函数应用于所述时间检测器扫描图像和所述更新的时间检测器扫描图像,生成奖励;以及基于所述奖励来调整所述策略。4.根据权利要求3所述的方法,其中:所述深度强化学习模块包括深度q网络;并且所述交通信号控制数据包括在以下操作之间做出的决定:延长所述交通信号的周期中的当前相位;以及进入所述交通信号的所述周期中的下一相位。5.根据权利要求3所述的方法,其中:所述深度强化学习模块包括近端策略优化(ppo)模块;以及所述交通信号控制数据包括针对所述交通信号的周期中的至少一个相位的相位时长。6.根据权利要求1至5中任一项所述的方法,还包括:对于所述第一位置和所述第二位置中的每个位置,使用点检测器来感测所述位置处的车辆交通;基于感测到的所述车辆交通来生成所述位置的点检测器数据;以及基于针对每个位置的所述点检测器数据来生成所述交通状态数据。
7.根据权利要求6所述的方法,其中每个点检测器包括感应式回路交通检测器。8.根据权利要求6所述的方法,每个点检测器包括点相机。9.根据权利要求1至8中任一项所述的方法,其中:所述交通环境包括交叉路口;并且对于所述一条或多条车道中的每条车道,所述车道中的所述第一位置和所述第二位置在通往所述交叉路口的入口处;以及所述车道中的所述第二位置比所述第一位置更靠近所述交叉路口。10.根据权利要求3所述的方法,所述方法还包括:对于所述第一位置和所述第二位置中的每个位置,使用点检测器来感测所述位置处的车辆交通;基于感测到的所述车辆交通来生成所述位置的点检测器数据;以及基于针对每个位置的所述点检测器数据来生成所述交通状态数据,其中,所述交通环境包括交叉路口;并且对于所述一条或多条车道中的每条车道,所述车道中的所述第一位置和所述第二位置在通往所述交叉路口的入口处;以及所述车道中的所述第二位置比所述第一位置更靠近所述交叉路口。11.一种生成用于交通信号控制的时间检测器扫描图像的系统,包括:处理器设备;以及存储器,存储在其上的机器可执行指令,所述机器可执行指令在由所述处理设备执行时,使所述系统:获取时间交通状态数据,所述时间交通状态数据包括:第一位置交通数据,指示交通环境中的一条或多条车道中的每条车道中的第一位置在多个时间点中的每个时间点处的交通状态;第二位置交通数据,指示所述一条或多条车道中的每条车道中的第二位置在所述多个时间点中的每个时间点处的交通状态;交通信号数据,指示所述一条或多条车道中的每条车道在所述多个时间点中的每个时间点处的交通信号状态;以及通过以下方式生成时间检测器扫描图像:处理所述第一位置交通数据以生成二维第一位置交通矩阵;处理所述第二位置交通数据以生成二维第二位置交通矩阵;以及处理所述交通信号数据以生成二维交通信号矩阵。12.根据权利要求11所述的系统,其中:所述存储器还存储有深度学习模块;以及所述指令在由所述处理设备执行时,还使所述系统:提供所述时间检测器扫描图像作为对所述深度学习模块的输入;以及使用所述深度学习模块来处理所述时间检测器扫描图像,以生成交通信号控制数据。13.根据权利要求12所述的系统,其中
所述深度学习模块包括深度强化学习模块;处理所述时间检测器扫描图像包括:通过将策略应用于所述时间检测器扫描图像,使用所述深度强化学习模块来生成交通信号控制数据;以及所述指令在由所述处理设备执行时,还使所述系统:在将所述交通信号控制数据应用于所述交通信号之后,确定所述交通环境的更新状态;基于所述交通环境的所述更新状态来生成更新的时间检测器扫描图像;通过将奖励函数应用于所述时间检测器扫描图像和所述更新的时间检测器扫描图像,生成奖励;以及基于所述奖励来调整所述策略。14.根据权利要求13所述的系统,所述深度强化学习模块包括深度q网络;并且所述交通信号控制数据包括在以下操作之间做出的决定:延长所述交通信号的周期中的当前相位;以及进入所述交通信号的所述周期中的下一相位。15.根据权利要求13所述的系统,其中所述深度强化学习模块包括近端策略优化(ppo)模块;以及所述交通信号控制数据包括针对所述交通信号的周期中的至少一个相位的相位时长。16.根据权利要求11至15中任一项所述的系统,其中所述指令在由所述处理设备执行时,还使所述系统:对于所述第一位置和所述第二位置中的每个位置,获取针对所述位置的点检测器数据;以及基于针对每个位置的所述点检测器数据来生成所述交通状态数据。17.根据权利要求16所述的系统,还包括:对于所述第一位置和所述第二位置中的每个位置,点检测器被配置为基于在所述位置处感测到的车辆交通来生成所述点检测器数据。18.根据权利要求17所述的系统,其中每个点检测器包括感应式回路交通检测器。19.根据权利要求17所述的系统,其中每个点检测器包括点相机。20.根据权利要求11至19中任一项所述的系统,其中:所述交通环境包括交叉路口;并且对于所述一条或多条车道中的每条车道,所述车道中的所述第一位置和所述第二位置在通往所述交叉路口的入口处;以及所述车道中的所述第二位置比所述第一位置更靠近所述交叉路口。21.一种在其上存储有机器可执行指令的非瞬时性处理器可读介质,所述机器可执行指令在由处理器设备执行时,使所述处理器设备执行根据权利要求1至10中任一项所述的方法。22.一种在其上存储有机器可执行指令的非瞬时性处理器可读介质,所述机器可执行指令在由处理器设备执行时,使所述处理器设备通过执行以下步骤来生成用于交通信号控制的时间检测器扫描图像:获取时间交通状态数据,所述时间交通状态数据包括:第一位置交通数据,指示交通环境中的一条或多条车道中的每条车道中的第一位置在
多个时间点中的每个时间点处的交通状态;第二位置交通数据,指示所述一条或多条车道中的每条车道中的第二位置在所述多个时间点中的每个时间点处的交通状态;交通信号数据,指示所述一条或多条车道中的每条车道在所述多个时间点中的每个时间点处的交通信号状态;以及通过以下方式生成时间检测器扫描图像:处理所述第一位置交通数据以生成二维第一位置交通矩阵;处理所述第二位置交通数据以生成二维第二位置交通矩阵;以及处理所述交通信号数据以生成二维交通信号矩阵。23.根据权利要求22所述的非瞬时性处理器可读介质,其中所述机器可执行指令在由所述处理器设备执行时,还使所述处理器设备:提供所述时间检测器扫描图像作为对深度学习模块的输入;以及使用所述深度学习模块来处理时间检测器扫描图像,以生成交通信号控制数据。24.根据权利要求23所述的非瞬时性处理器可读介质,其中:所述深度学习模块包括深度强化学习模块;处理所述时间检测器扫描图像包括:通过将策略应用于所述时间检测器扫描图像,使用所述深度强化学习模块来生成交通信号控制数据;并且所述机器可执行指令在由所述处理器设备执行时,还使所述处理器设备:在将所述交通信号控制数据应用于所述交通信号之后,确定所述交通环境的更新状态;基于所述交通环境的所述更新状态来生成更新的时间检测器扫描图像;通过将奖励函数应用于所述时间检测器扫描图像和所述更新的时间检测器扫描图像,生成奖励;以及基于所述奖励来调整所述策略。25.根据权利要求24所述的非瞬时性处理器可读介质,其中:所述深度强化学习模块包括深度q网络;并且所述交通信号控制数据包括在以下操作之间做出的决定:延长所述交通信号的周期中的当前相位;以及进入所述交通信号的所述周期中的下一相位。26.根据权利要求24所述的非瞬时性处理器可读介质,其中:所述深度强化学习模块包括近端策略优化(ppo)模块;并且所述交通信号控制数据包括针对所述交通信号的周期中的至少一个相位的相位时长。27.根据权利要求22至26中任一项所述的非瞬时性处理器可读介质,其中:使用点检测器来感测所述位置处的车辆交通;基于所述感测到的所述车辆交通来生成针对所述位置的点检测器数据;以及基于针对每个位置的所述点检测器数据来生成所述交通状态数据。28.根据权利要求27所述的非瞬时性处理器可读介质,其中每个点检测器包括感应式回路交通检测器。29.根据权利要求27所述的非瞬时性处理器可读介质,其中每个点检测器包括点相机。
30.根据权利要求22至29中任一项所述的非瞬时性处理器可读介质,其中,所述交通环境包括交叉路口;并且对于所述一条或多条车道中的每条车道,所述车道中的所述第一位置和所述第二位置在通往所述交叉路口的入口处;所述车道中的所述第二位置比所述第一位置更靠近所述交叉路口。

技术总结
描述了生成用于交通信号控制的时间检测器扫描图像的方法、系统和处理器可读介质。一种智能自适应周期级交通信号控制器使用深度学习模块进行交通信号控制,将图像处理技术应用于格式化为图像数据的交通环境数据,其中,图像数据称为“时间检测器扫描图像”数据。时间检测器扫描图像通过将点检测器(例如,感应式回路交通检测器)随时间收集到的点检测器数据格式化为表示多条车道在多个时间点上的交通环境状态的二维矩阵而生成,其中,点检测器数据与指示每条车道的交通信号状态的交通信号数据相组合。深度学习模块可以使用从交通环境中收集到的时间检测器扫描图像数据来训练,然后可以在训练后部署用于控制交通环境中的交通信号。通信号。通信号。


技术研发人员:巴赫
受保护的技术使用者:多伦多大学理事会
技术研发日:2021.12.21
技术公布日:2023/8/8
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐