一种基于深度学习的城市区域交通流量预测方法转让专利

申请号 : CN201710427408.0

文献号 : CN107103758B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 范晓亮郑传潘李军王程陈龙彪臧彧温程璐

申请人 : 厦门大学

摘要 :

本发明公开了一种基于深度学习的城市区域交通流量预测方法,该方法通过提取交通流量变化的高维时空特征对城市每个区域的交通流量同时进行预测,为城市交通流量预测问题提供了一种新的思路。首先根据LPR设备的数据计算城市区域每个时间段的历史流量;然后利用ConvLSTM和CNN设计交通流量预测模型,并提取影响预测时段的关键时间段的流量数据作为输入训练模型;最后利用训练好的模型进行城市区域交通流量的预测。

权利要求 :

1.一种基于深度学习的城市区域交通流量预测方法,其特征在于:包括以下步骤:S1、将城市路网划分为M×N的网格区域,根据经纬度将每个车牌识别设备LPR映射到网格区域中;

S2、对LPR数据进行预处理,得到每个车牌识别设备LPR每个时间段的过车记录,结合车牌识别设备LPR与网格区域的映射关系,得到各个网格区域在每个时间段内的交通流量数据;

S3、选取影响预测时段的关键时间段的流量数据作为交通流量预测模块的输入;

S4、利用卷积长短时记忆网络和卷积神经网络构建预测模型,对预测模型进行训练,选取误差最小的模型作为最优预测模型,通过该模型计算得到城市区域交通流量的预测值;

其中,步骤S3具体包括:

S31、选取最近 周的同一天同一个时间段的流量数据,记为S32、选取最近 天同一个时间段的流量数据,记为

S33、选取最近 个时间段的流量数据,记为

S34、将上述三组数据的组合作为输入,记为 Xt作为输出,构建一个样本 将所有数据按此方法构建样本,并按一定比例分为训练集、验证集与测试集;

其中,步骤S4具体包括:

S41、构建预测模型,该模型包括4层卷积长短时记忆网络层、4层批规范层和一层的卷积神经网络层;

S42、预测模型为9层的网络,其中前8层为卷积长短时记忆网络层和批规范层的组合,即每个卷积长短时记忆网络层后接一个批规范层,每一个批规范层后接一个卷积长短时记忆网络层,第9层为单层的卷积神经网络层;

S43、每个卷积长短时记忆网络层使用64个3×3的卷积核,采用补零操作,使用relu函数作为激活函数;

S44、卷积神经网络层层使用1个3×3的卷积核,采用补零操作,使用sigmoid函数作为激活函数;

S45、预测模型的目标函数为均方误差函数MSE,则有:其中,Xi表示真实流量, 表示预测流量,s表示样本数,M,N为网格的行数和列数;

S46、把训练集输入预测模型中进行训练,根据验证集选取MSE最小的模型作为最终预测模型;

S47、把测试集输入S46训练好的模型中,得到输出结果后,再进行反归一化,得到最终的城市区域流量预测结果。

2.根据权利要求1所述的一种基于深度学习的城市区域交通流量预测方法,其特征在于,步骤S1具体包括:S11、根据经纬度把城市路网划分为M×N的网格区域;

S12、将每个LPR设备根据经纬度映射到网格区域中,将网格区域(m,n)中的LPR设备记为L(m,n)={L1,L2,...Li,...,Lk},其中Li表示网格区域(m,n)中的第i个设备的编号,k表示该网格区域中共有k个设备。

3.根据权利要求1所述的一种基于深度学习的城市区域交通流量预测方法,其特征在于,步骤S2具体包括:S21、提取LPR数据的关键字段{L,P,τ},其中L表示设备编号,P表示设备L记录的车牌号,τ表示其记录的时间;

S22、对LPR数据进行过滤清洗,删除错误、冗余数据;

S23、将一天平均分成T个时间段,根据S22的处理结果,提取各个设备在每个时间段内的过车记录;

S24、根据LPR设备与网格区域的映射关系,将LPR设备的过车记录关联到其对应的网格区域中,得到每个网格区域中各个LPR设备在每个时间段内的过车记录;

S25、根据每个网格区域中的LPR设备数量计算每个网格区域各个时间段内的交通流量数据;

S26、对S25中得到的所有时段所有网格区域的流量数据x进行归一化处理,则有式中,x′为归一化后的流量,xmax和xmin为所有时段所有网格区域流量的最大M×N×1值和最小值,归一化后时间段t的流量数据为M行N列1通道的三维矩阵,记为Xt∈R 。

4.根据权利要求3所述的一种基于深度学习的城市区域交通流量预测方法,其特征在于,步骤S25中每个网格区域各个时间段内的交通流量数据的计算方法为:a、若网格区域(m,n)中无LPR设备,则不对其流量进行预测,流量记为0;

b、若网格区域(m,n)中只有一个LPR设备,则计算此LPR设备在时间段t内的过车数作为该区域在时间段t内的流量;

c、若网格区域(m,n)中的设备数多于1个,首先计算各个LPR设备在时间段t内的过车数并求和,然后对于可能出现的多个LPR设备记录同一车辆的情况,按照以下方式处理:设网格区域(m,n)中,LPR设备Li及Li在同一时间段t内先后记录同一车辆PA,其记录时间分别为τi与τj,若 则认为是车辆PA的同一条轨迹被重复记录,将上述求和的结果减1;否则保留原结果;式中,d(Li,Lj)为LPR设备Li、Lj之间的距离,λ为设定阈值。

说明书 :

一种基于深度学习的城市区域交通流量预测方法

技术领域

[0001] 本发明涉及一种基于深度学习的城市区域交通流量预测方法,通过使用深度学习技术中的卷积神经网络和卷积长短时记忆网络,结合城市路网的网格区域划分方法,实现城市区域交通流量的预测,属于深度学习和智能交通系统的交叉技术应用领域。

背景技术

[0002] 智能交通系统(ITS)是将信息和通信技术应用到道路运输领域的系统,其通过交通管理模式的创新,使人们能够更好地了解、更加协调、合理地利用交通网络。近年来,智能交通系统的快速发展为交通网络需求的不断增长提供了有效的解决方案,是建设智慧城市的核心环节。目前,智能交通系统在解决城市道路拥堵、城市运力分配、城市安全、城市基础设施规划等问题上已经得到了广泛的应用。
[0003] 准确的交通流量预测系统是ITS的核心部分,人们在交通流量预测问题上已经做了大量的研究工作。这些研究工作大体可以分为两类:一类是以数理统计等传统数学物理方法为基础的预测模型,如自回归模型(AR)、自回归移动平均模型(ARIMA),历史平均模型(HA)、卡尔曼滤波模型(KFM)等;另一类是以神经网络为基础的预测模型,如BP神经网络模型、栈式自编码(SAE)、卷积神经网络模型(CNN)、递归神经网路模型(RNN)等。
[0004] 现有方法或发明的缺陷:1)现有方法大多只关注单点或单路段的交通流量预测,不适合用于区域的流量预测,因为点或路段均无法代表区域;2)现有方法大多只考虑交通流量变化在时间维度的依赖性或空间维度的关联性,而没有同时考虑交通流量变化的时空特征;3)现有方法大多只关注短时的交通流量预测,而缺乏对长时间流量预测方法的支持。

发明内容

[0005] 本发明的目的是提供一种基于深度学习的城市区域交通流量预测方法,将深度学习应用于城市区域交通流量预测,把历史的交通流量数据作为输入,利用多层ConvLSTM进行高维时空特征提取,最后通过单层的CNN作降维处理,获取预测结果,该方法通过提取交通流量变化的高维时空特征对城市每个区域的交通流量同时进行预测,为城市交通流量预测问题提供了一种新的思路。
[0006] 首先根据LPR设备的数据计算城市区域每个时间段的历史流量;然后利用ConvLSTM和CNN设计交通流量预测模型,并提取影响预测时段的关键时间段的流量数据作为输入训练模型;最后利用训练好的模型进行城市区域交通流量的预测。
[0007] 具体步骤为:
[0008] S1、将城市路网划分为M×N的网格区域,根据经纬度将每个LPR设备映射到网格区域中;
[0009] S2、对LPR数据进行预处理,得到每个LPR设备每个时间段的过车记录,结合LPR设备与网格区域的映射关系,得到各个网格区域在每个时间段内的交通流量数据;
[0010] S3、选取影响预测时段的关键时间段的流量数据作为交通流量预测模块的输入;
[0011] S4、利用卷积长短时记忆网络和卷积神经网络构建预测模型,对预测模型进行训练,选取误差最小的模型作为最优预测模型,通过该模型计算得到城市区域交通流量的预测值。
[0012] 进一步地,步骤S1具体包括:
[0013] S11、根据经纬度把城市路网划分为M×N的网格区域;
[0014] S12、将每个LPR设备根据经纬度映射到网格区域中,将网格区域(m,n)中的LPR设备记为L(m,n)={L1,L2,...Li,..,Lk},其中Li表示网格区域(m,n)中的第i个设备的编号,k表示该网格区域中共有k个设备。
[0015] 进一步地,步骤S2具体包括
[0016] S21、提取LPR数据的关键字段{L,P,τ},其中L表示设备编号,P表示设备L记录的车牌号,τ表示其记录的时间;
[0017] S22、对LPR数据进行过滤清洗,删除错误、冗余数据;
[0018] S23、将一天平均分成T个时间段,根据S22的处理结果,提取各个设备在每个时间段内的过车记录;
[0019] S24、根据LPR设备与网格区域的映射关系,将LPR设备的过车记录关联到其对应的网格区域中,得到每个网格区域中各个LPR设备在每个时间段内的过车记录;
[0020] S25、根据每个网格区域中的LPR设备数量计算每个网格区域各个时间段内的交通流量数据;
[0021] S26、对S25中得到的所有时段所有网格区域的流量数据x进行归一化处理,则有式中,x′为归一化后的流量,xmax和xmin为所有时段所有网格区域流量的最大值和最小值,归一化后时间段t的流量数据为M行N列1通道的三维矩阵,记为Xt∈RM×N×1。
[0022] 进一步地,步骤S25中每个网格区域各个时间段内的交通流量数据的计算方法为:
[0023] a、若网格区域(m,n)中无LPR设备,则不对其流量进行预测,流量记为0;
[0024] b、若网格区域(m,n)中只有一个LPR设备,则计算此LPR设备在时间段t内的过车数作为该区域在时间段t内的流量;
[0025] c、若网格区域(m,n)中的设备数多于1个,首先计算各个LPR设备在时间段t内的过车数并求和,然后对于可能出现的多个LPR设备记录同一车辆的情况,按照以下方式处理:
[0026] 设网格区域(m,n)中,LPR设备Li及Lj在同一时间段t内先后记录同一车辆PA,其记录时间分别为τi与τj,若 则认为是车辆PA的同一条轨迹被重复记录,将上述求和的结果减1;否则保留原结果;式中,d(Li,Lj)为LPR设备Li、Lj之间的距离,λ为设定阈值。
[0027] 进一步地,步骤S3具体包括:
[0028] S31、选取最近 周的同一天同一个时间段的流量数据,记为
[0029]
[0030] S32、选取最近 天同一个时间段的流量数据,记为
[0031]
[0032] S33、选取最近 个时间段的流量数据,记为
[0033]
[0034] S34、将上述三组数据的组合作为输入,记为 Xt作为输出,构建一个样本 将所有数据按此方法构建样本,并按一定比例分为训练集、验证集与测试集。
[0035] 进一步地,步骤S4具体包括:
[0036] S41、构建预测模型,该模型包括4层卷积长短时记忆网络层、4层批规范层和一层的卷积神经网络层;
[0037] S42、预测模型为9层的网络,其中前8层为卷积长短时记忆网络层和批规范层的组合,即每个卷积长短时记忆网络层后接一个批规范层,每一个批规范层后接一个卷积长短时记忆网络层,第9层为单层的卷积神经网络层;
[0038] S43、每个卷积长短时记忆网络层使用64个3×3的卷积核,采用补零操作,使用relu函数作为激活函数;
[0039] S44、卷积神经网络层层使用1个3×3的卷积核,采用补零操作,使用sigmoid函数作为激活函数;
[0040] S45、预测模型的目标函数为均方误差函数MSE,则有:
[0041]
[0042] 其中,Xi表示真实流量, 表示预测流量,s表示样本数,M,N为网格的行数和列数;
[0043] S46、把训练集输入预测模型中进行训练,根据验证集选取MSE最小的模型作为最终预测模型;
[0044] S47、把测试集输入S46训练好的模型中,得到输出结果后,再进行反归一化,得到最终的城市区域流量预测结果。
[0045] 采用上述技术方案后,本发明与背景技术相比,具有如下优点:
[0046] 1、现有的方法大多只关注单点或单路段的流量预测,本发明提出的方法基于卷积长短时记忆网络层与卷积神经网络层进行预测,城市中每一个区域的交通流量与其周围区域乃至整个城市中其它区域的交通流量均有联系,而卷积结构可以学习一个区域与其它周围区域的流量关系,随着卷积层数的加深,可以学习城市周围区域对该区域的影响特征;2、现有方法大多只考虑交通流量变化在时间上或空间上的特征,而本发明预测方法中的卷积长短时记忆网络层通过卷积结构提取空间特征,通过LSTM结构获取时间特征,并在其算法底层把卷积神经网络与LSTM相结合,可以学习交通流量变化的高维度时空特征,有效融合了时间维度和空间维度,从而大大提高了预测精度;
[0047] 3、卷积神经设置一个卷积核,可以对高维度时空特征作降维处理,通过补零操作,可以实现城市所有区域的流量预测;
[0048] 4、现有的方法大多只关注短时交通流量预测,本发明提出的城市区域交通流量预测方法通过选取特定的输入序列,既可以实现一小时短时的区域交通流量预测,也可以实现24小时、一周等长时间的区域交通流量预测;
[0049] 综上,故本发明所揭示的方法尤其适用于城市级别的重大活动和节假日的重点监测区域的交通流量预测。

附图说明

[0050] 图1为基于深度学习的城市区域交通流量预测方法的算法流程图;
[0051] 图2为城市路网网格区域划分示意图;
[0052] 图3为时间段t城市区域交通流量的流量表示Xt;
[0053] 图4为输入和输出的示意图;
[0054] 图5为预测模型计算过程的示意图。

具体实施方式

[0055] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0056] 实施例
[0057] 如图1所示的是基于深度学习的城市区域交通流量预测方法的算法流程图,其预测系统包括基于网格区域的交通流量计算模块和交通流量预测模块。在交通流量计算模块中,首先根据经纬度对城市道路网络进行网格区域划分,并将城市路网中各个路段的车牌识别(LPR)设备映射到网格区域中;其次,根据LPR设备的数据得到每个设备每个时间段内的过车记录;再次,融合上述两步的结果计算各个网格区域每个时间段内的交通流量;最后,对流量数据进行归一化处理。在交通流量预测模块中,首先选取关键时间段的交通流量数据作为卷积长短时记忆网络(ConvLSTM)的输入,通过该网络学习交通流量变化的高维时空特征;其次,通过卷积神经网络(CNN)对高维时空特征进行降维处理;最后,通过反归一化得到最终的城市区域流量预测结果。
[0058] 具体步骤为:
[0059] S1、将城市路网进行网格区域划分,根据经纬度将每个LPR设备映射到网格区域中:
[0060] S11、根据经纬度把城市路网划分为M×N的网格区域;
[0061] S12、将每个LPR设备根据经纬度映射到网格区域中,如网格区域(m,n)中的LPR设备记为L(m,n)={L1,L2,...Li,...,Lk},其中Li表示网格区域(m,n)中的第i个设备的编号,k表示该网格区域中共有k个设备。
[0062] S2、对LPR数据进行预处理,得到每个设备每个时间段的过车记录,结合LPR设备与网格区域的映射关系,得到各个网格区域在每个时间段内的交通流量数据;
[0063] S21、提取LPR数据的关键字段{L,P,τ},其中L表示设备编号,P表示设备L记录的车牌号,τ表示其记录的时间;
[0064] S22、对LPR数据进行过滤清洗,删除错误、冗余数据;
[0065] S23、将一天平均分成T个时间段,根据S22的处理结果,提取各个设备在每个时间段内的过车记录;
[0066] S24、根据LPR设备与网格区域的映射关系,将LPR设备的过车记录关联到其对应的网格区域中,得到每个网格区域中各个设备每个时间段内的过车记录;
[0067] S25、对于网格区域(m,n)在时间段t内的交通流量,分以下三种情况进行计算:
[0068] 若网格区域(m,n)中无LPR设备,表示其中没有路网或不是交通热点区域,不对其流量进行预测,流量记为0;
[0069] 若网格区域(m,n)中只有一个LPR设备,则计算此设备在时间段t内的过车数作为该区域在时间段t内的流量;
[0070] 若网格区域(m,n)中的设备数多于1个,首先计算各个设备在时间段t内的过车数并求和,然后对于可能出现的多个设备记录同一车辆的情况,按照以下方式处理:
[0071] 设网格(m,n)中,LI、Lj在同一时间段t内先后记录同一车辆PA,记录时间分别为τi、τj(τi、τj为该网格区域内记录车辆PA的最邻近时间,即在时间段t内,对区域(m,n),若 (其中,d(Li,Lj)为设备Li、Lj之间的距离,λ为设定阈值),则认为是车辆PA的同一条轨迹被重复记录,将上述求和的结果减1,否则不减1;
[0072] 按上述方法计算每个网格区域各个时间段内的交通流量数据。
[0073] S26、将得到的所有时段所有网格区域的流量数据进行统一归一化处理,计算公式: 其中x′为归一化后的流量,xmax和xmin为所有时段所有网格区域流量的最大值和最小值,归一化后时间段t的流量数据为M行N列1通道的三维矩阵,记为Xt∈RM×N×1。
[0074] S3、选取影响预测时段的关键时间段的流量数据作为交通流量预测模块的输入:
[0075] S31、为预测Xt,选取最近 周的同一天同一个时间段的流量数据,记为[0076]
[0077] S32、为预测Xt,选取最近 天同一个时间段的流量数据,记为
[0078]
[0079] S33、为预测Xt,选取最近 个时间段的流量数据,记为
[0080]
[0081] S34、将上述三组数据的组合作为输入,记为 Xt作为输出,构建一个样本 将所有数据按此方法构建样本,并按一定比例分为训练集、验证集与测试集。
[0082] S4、利用卷积长短时记忆网络(ConvLSTM)和卷积神经网络(CNN)构建预测模型,对预测模型进行训练,选取误差最小的模型作为最优预测模型,通过该模型计算得到城市区域交通流量的预测值。
[0083] S41、构建预测模型,该模型包括4层卷积长短时记忆网络层(ConvLSTM)、4层批规范层(Batch Normalization)和一层的卷积神经网络层(CNN);
[0084] S42、预测模型为9层的网络,其中前8层为ConvLSTM和批规范层的组合(每个ConvLSTM层后接一个批规范层,然后接ConvLSTM层,如此串联,构成8层的网络),第9层为单层的CNN;
[0085] S43、每个ConvLSTM层使用64个3×3的卷积核,采用补零操作(zero-padding),使用relu函数作为激活函数;
[0086] S44、CNN层使用1个3×3的卷积核,采用补零操作,使用sigmoid函数作为激活函数;
[0087] S45、预测模型的目标函数为均方误差函数(MSE),如下:
[0088]
[0089] 其中,Xi表示真实流量, 表示预测流量,s表示样本数,M,N为网格的行数和列数;
[0090] S46、把训练集输入预测模型中进行训练,根据验证集选取MSE最小的模型作为最终预测模型;
[0091] S47、把测试集输入S46训练好的模型中,得到输出结果后,再进行反归一化,得到最终预测结果。
[0092] 下面结合具体例子来详细描述方法中的一些步骤。
[0093] 一、城市路网网格区域划分
[0094] 图2所示为中国福建省厦门市厦门岛路网18×18网格区域划分示意图,根据LPR设备的经纬度将每个设备映射到网格区域中,得到每个网格区域中包含的LPR设备编号,如网格区域(m,n)中的LPR设备记为L(m,n)={L1,L2,...Li,...,Lk}。
[0095] 二、交通流量计算
[0096] 根据LPR设备数据的记录时间以一小时为间隔(T=24)进行时间段划分,统计网格区域每天24个时间段每个时间段的过车记录,根据LPR设备与网格区域的映射关系,统计网格区域每个时间段内的过车记录,按以下方法计算网格区域中每个时间段内的交通流量数据:
[0097] 若网格区域(m,n)中无LPR设备,表示其中没有路网或不是交通热点区域,不对其流量进行预测,流量记为0;
[0098] 若网格区域(m,n)中只有一个LPR设备,则计算该设备每个时间段的过车数记为该区域每个时间段内的交通流量;
[0099] 若网格区域(m,n)中的设备数多于1个,举例说明如下:
[0100] 假设网格区域(m,n)内有两个设备L1、L2,在时间段t内,L1的记录为L2的记录为
若 (λ为阈值,可设定为10),则网格
区域(m,n)在时间段t内的交通流量为3+2-1=4,否则为5;
[0101] 按照以上所述方法可以计算得到每个小时时间段内各个区域的交通流量,如图3所示为时间段t的城市区域交通流量表示Xt,然后按照min-max标准化方法进行归一化。
[0102] 三、获取输入序列
[0103] 时间段t的流量与其前 个时间步的流量有一定的连续性,与其前d天同一时刻的流量具有一定的周期性,与其前 周同一天同一时刻的流量具有一定的相似性。为预测Xt,取令输入 输入步长为 期望
输出为Xt,构建样本对,并按8∶1∶1分为训练集、验证集和测试集。
[0104] 通过设计输入序列,可是实现短时或长时的流量预测。举例如下:
[0105] 若预测未来一小时的城市区域流量,可以设置T=24, 若预测24小时后的城市区域流量,可以设置T=24, 若预测一周后的城市
区域流量,可以设置T=24, 如图4所示为系统的输入和输出示意图。
[0106] 预测模型的设计和训练:
[0107] 预测模型由4层ConvLSTM层、4层批规范层和一层的CNN层构成。网络前8层为ConvLSTM和批规范层的组合(每个ConvLSTM层后接一个批规范层,然后接ConvLSTM层,如此串联,构成8层的网络),第9层为单层的CNN。
[0108] 每个ConvLSTM层使用64个3×3的卷积核,采用补零操作(zero-padding),使用relu函数作为激活函数,前三层ConvLSTM层的输入输出序列长度相同,最后一层ConvLSTM层的输出序列长度为1;CNN层使用1个3×3的卷积核,采用补零操作(zero-padding),使用sigmoid函数作为激活函数;预测模型的目标函数为均方误差函数(MSE)。
[0109] 图5为预测模型计算过程的示意图。把训练集输入预测模型中进行训练,根据验证集选取MSE最小的模型作为最终预测模型,把测试集输入训练好的模型中,得到输出结果后,再进行反归一化,得到最终预测结果。
[0110] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。