首页 / 专利库 / 动物学 / / 基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备

基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备

阅读:252发布:2020-10-28

专利汇可以提供基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备,该方法包括:获取车辆历史轨迹数据;对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的 马 尔科夫状态转移矩阵;基于所述每辆车轨迹数据构建个体车辆的马尔科夫状态转移矩阵;根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。本发明能很好的弥补了目前车辆轨迹预测方法不能进行个性化预测的 缺陷 。,下面是基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备专利的具体信息内容。

1.一种基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,所述车辆行驶轨迹预测方法包括:
获取车辆历史轨迹数据;
对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的尔科夫状态转移矩阵;
基于所述每辆车轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
2.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,该车辆行驶轨迹预测方法还包括:
根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
3.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据,包括:
对车辆历史轨迹数据按车牌号进行分组聚合并按抓拍时间进行排序,得到每辆车按时间排序后的卡口序列,即为每辆车的轨迹数据,所述每辆车的轨迹数据包括车牌号、抓拍时间序列、卡口编号序列。
4.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合,包括:
对车辆历史轨迹数据按车牌号、时间区间分组聚合并按抓拍时间进行排序,首先得到每辆车在每个时间区间排序后的卡口序列数据,再对该卡口序列数据按时间区间进行分组聚合,得到每个时间区间的轨迹数据集合,所述每个时间区间的轨迹数据集合包括时间区间、抓拍时间序列集合、卡口编号序列集合。
5.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,所述基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵,包括:
基于每辆车的轨迹数据计算车辆在卡口之间、卡口序列到卡口之间的转移概率,组合得到个体车辆的马尔科夫状态转移矩阵。
6.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,所述基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵,包括:
基于每个时间区间的车辆轨迹数据集合计算卡口之间、卡口序列到卡口之间的转移概率,组合得到路网车辆的马尔科夫状态转移矩阵。
7.根据权利要求1所述的基于卡口抓拍数据的车辆行驶轨迹预测方法,其特征在于,根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率,包括:
基于车辆的当前轨迹以及所述个体车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第一转移概率;
基于所述车辆的当前轨迹以及路网车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第二转移概率;
根据所述第一转移概率、所述第二转移概率以及第一转移概率、第二转移概率所占的比重得到经过各个卡口的概率。
8.一种基于卡口抓拍数据的车辆行驶轨迹预测系统,其特征在于,所述车辆行驶轨迹预测系统包括:
数据获取模,用于获取车辆历史轨迹数据;
第一聚合模块,用于对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
第二聚合模块,用于对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
第一马尔科夫状态转移矩阵构建模块,用于基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵;
第二马尔科夫状态转移矩阵构建模块,用于基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
卡口预测模块,用于根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
9.根据权利要求8所述的基于卡口抓拍数据的车辆行驶轨迹预测系统,其特征在于,该车辆行驶轨迹预测系统还包括:
时间预测模块,用于根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
10.一种设备,包括:处理器及存储器
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行如权利要求1~8任意一项所述的方法。

说明书全文

基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备

技术领域

[0001] 本发明涉及智慧交通领域,具体为一种基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备。

背景技术

[0002] 随着城市的快速发展和私家车的普及,交通拥堵、违法车辆缉查布控等给城市交通带来了巨大的压。但随着信息技术产业的快速发展,先进的图像识别、视频监控和通信技术广泛应用在交通领域,相关部通过大数据处理技术智能分析技术等诸多手段来逐步缓解这一现状。目前各个城市内的道路卡口以及城市之间的高速公路上部署了海量的车辆抓拍摄像头,会产生大量的道路交通信息和车辆通行信息,记录了所有车辆的行驶轨迹;另外智能手机、平板电脑等带定位功能的手持移动终端或车载行驶记录设备,实时采集GPS位置,记录了每个被采集车辆行驶轨迹。分析车辆轨迹信息并应用在智能交通领域一个研究的热点,主要集中在车辆轨迹预测、路段交通状况分析、道路运行安全分析等。
[0003] 一般来说,车辆轨迹数据具有时序性和规律性。我们通过对车辆的轨迹数据处理和特征提取,可以有效的预测车辆在未来时段的位置及空间分布。若能够很好地预测车辆的轨迹,那么在一定程度上可以有效减缓城市的拥堵、提升车辆布控的精准程度等。因此,车辆的轨迹预测对于城市交通的高效运行和安全管理等都具有重要意义。
[0004] 但目前大量的车辆轨迹预测方法,不论是通过车辆GPS定位数据还是卡口抓拍数据都是仅仅通过路网车辆轨迹数据预测车辆未来时段的位置及空间分布,均未利用到每个车辆的行驶偏好去进行个性化预测,更重要的是,没有对到达该空间位置的花费时间进行预测,若能对车辆未来空间位置进行个性化预测的同时预测到达该空间位置的时间点,将对智能交通的诸多应用带来巨大的效果提升,如卡口流量实时预测、车辆追踪、智能红绿灯、分流指挥等。

发明内容

[0005] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备,用于解决现有技术的缺陷
[0006] 为实现上述目的及其他相关目的,本发明提供一种基于卡口抓拍数据的车辆行驶轨迹预测方法,所述车辆行驶轨迹预测方法包括:
[0007] 获取车辆历史轨迹数据;
[0008] 对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
[0009] 对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
[0010] 基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的尔科夫状态转移矩阵;
[0011] 基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
[0012] 根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
[0013] 可选地,该车辆行驶轨迹预测方法还包括:
[0014] 根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
[0015] 可选地,对所述车辆的历史轨迹数据进行聚合,得到每辆车的轨迹数据,包括:
[0016] 对车辆历史轨迹数据按车牌号进行分组聚合并按抓拍时间进行排序,得到每辆车按时间排序后的卡口序列,即为每辆车的轨迹数据,所述每辆车的轨迹数据包括车牌号、抓拍时间序列、卡口编号序列。
[0017] 可选地,对所述车辆的历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合,包括:
[0018] 对车辆历史轨迹数据按车牌号、时间区间分组聚合并按抓拍时间进行排序,首先得到每辆车在每个时间区间排序后的卡口序列数据,再对该卡口序列数据按时间区间进行分组聚合,得到每个时间区间的轨迹数据集合,所述每个时间区间的轨迹数据集合包括时间区间、抓拍时间序列集合、卡口编号序列集合。
[0019] 可选地,所述基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵,包括:
[0020] 基于每辆车的轨迹数据计算车辆在卡口之间、卡口序列到卡口之间的转移概率,组合得到个体车辆的马尔科夫状态转移矩阵。
[0021] 可选地,所述基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵,包括:
[0022] 基于每个时间区间的车辆轨迹数据集合计算卡口之间、卡口序列到卡口之间的转移概率,组合得到路网车辆的马尔科夫状态转移矩阵。
[0023] 可选地,根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率,包括:
[0024] 基于车辆的当前轨迹以及所述个体车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第一转移概率;
[0025] 基于所述车辆的当前轨迹以及路网车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第二转移概率;
[0026] 根据所述第一转移概率、所述第二转移概率以及第一转移概率、第二转移概率所占的比重得到经过各个卡口的概率。
[0027] 为实现上述目的及其他相关目的,本发明提供一种基于卡口抓拍数据的车辆行驶轨迹预测系统,所述车辆行驶轨迹预测系统包括:
[0028] 数据获取模,用于获取车辆历史轨迹数据;
[0029] 第一聚合模块,用于对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
[0030] 第二聚合模块,用于对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
[0031] 第一马尔科夫状态转移矩阵构建模块,用于基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵;
[0032] 第二马尔科夫状态转移矩阵构建模块,用于基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
[0033] 卡口预测模块,用于根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
[0034] 可选地,该车辆行驶轨迹预测系统还包括:
[0035] 时间预测模块,用于根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
[0036] 为实现上述目的及其他相关目的,本发明提供一种设备,包括:处理器及存储器
[0037] 所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行所述的方法。
[0038] 如上所述,本发明的一种基于卡口抓拍数据的车辆行驶轨迹预测方法、系统及设备,具有以下有益效果:
[0039] 本发明充分利用车辆轨迹数据,能根据路网车辆的历史轨迹信息及个体车辆的历史轨迹信息,分别构建路网车辆与个体车辆关于卡口之间的马尔科夫状态转移矩阵、多个细分时间段的任意相邻卡口的平均行驶时间特征集合。根据车辆当前经过的卡口轨迹信息,结合构建的马尔科夫状态转移矩阵预测车辆即将经过的各个卡口的概率,再结合历史同时间段相邻卡口的平均行驶时间特征集合预测车辆到达各个卡口的时间点。此方法不但对车辆轨迹信息进行了个性化预测,并且在此基础上对到达下一可能位置的时间进行预测,很好的弥补了目前车辆轨迹预测方法不能进行个性化预测和时间点预测的缺陷,为智能交通带来更多的应用场景。附图说明
[0040] 图1为本发明一实施例一种基于卡口抓拍数据的车辆行驶轨迹预测方法的流程图
[0041] 图2为车辆可行卡口路径示意图;
[0042] 图3为单向卡口间转移频次示意图;
[0043] 图4为单向卡口间转移概率示意图;
[0044] 图5为本发明一实施例一种基于卡口抓拍数据的车辆行驶轨迹预测系统的示意图。

具体实施方式

[0045] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0046] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0047] 如图1所示,一种基于卡口抓拍数据的车辆行驶轨迹预测方法,所述车辆行驶轨迹预测方法包括:
[0048] S11获取车辆历史轨迹数据;
[0049] S12对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
[0050] S13对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
[0051] S14基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵;
[0052] S15基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
[0053] S16根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
[0054] 本发明根据路网车辆历史轨迹数据及个体车辆历史轨迹数据,分别构建路网车辆与个体车辆的马尔科夫状态转移矩阵、多个细分时间段的任意相邻卡口的平均行驶时间特征集合。根据车辆当前经过的卡口轨迹信息,结合构建的马尔科夫状态转移矩阵预测车辆即将经过的各个卡口的概率,能够对车辆轨迹信息进行个性化预测。
[0055] 在一实施例中,该车辆行驶轨迹预测方法还包括:
[0056] 根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
[0057] 本发明在对车辆轨迹信息进行个性化预测的基础上再结合历史同时间段相邻卡口的平均行驶时间特征集合预测车辆到达各个卡口的时间点。此方法不但对车辆轨迹信息进行了个性化预测,并且在此基础上对到达下一可能位置的时间进行预测,很好的弥补了目前车辆轨迹预测方法不能进行个性化预测和时间点预测的缺陷,为智能交通带来更多的应用场景。
[0058] 在步骤S11中,获取车辆历史轨迹数据。
[0059] 具体地,获取既定区域内全量卡口的车辆抓拍数据,即车辆的历史行驶轨迹数据,以下统一简称为:车辆历史轨迹数据;其中车辆历史轨迹数据主要包括:车牌号、卡口编号、抓拍时间。为保证历史数据的时效性,只获取车辆最近时间范围内的数据,如最近30天、最近60天等,在本实施例中,不妨取最近30天的数据为例。假设现有如图2的区域Q,其中A-H表示卡口点位,任意有连线的两个卡口表示有车辆可通行路径。首先获取最近30天区域Q内所有卡口的车辆抓拍数据Raw_data,主要获取数据字段为:车牌号、卡口编号、抓拍时间。
[0060] 在步骤S12中,对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据,包括:对车辆历史轨迹数据按车牌号进行分组聚合并按抓拍时间进行排序,得到每辆车按时间排序后的卡口序列,即为每辆车的轨迹数据。在本实施例中,将每辆车的轨迹数据记为GJ_1。
所述每辆车的轨迹数据包括车牌号、抓拍时间序列、卡口编号序列。
[0061] 具体地,对步骤S11中获取的数据Raw_data按车牌号进行分组聚合(Groupby),然后按抓拍时间进行排序,可以得到每辆车在最近30天的卡口过车时间序列及与之对应的卡口序列,再对每辆车数据进行聚合(String_Agg),得到每辆车的轨迹数据Gp={(p,(g1,g2,g3,...,gi),(t1,t2,t3,...,ti))},其中p表示车牌号,(t1,t2,t3,...,ti)表示时间序列,(g1,g2,g3,...,gi)表示与时间序列对应的卡口序列,即为该车在该区域最近30天的行驶轨迹。记G={Gp}表示所有车辆轨迹构成的集合。
[0062] 在步骤S13中,对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合,包括:对车辆历史轨迹数据按车牌号、时间区间分组聚合并按抓拍时间进行排序,首先得到每辆车在每个时间区间排序后的卡口序列数据,再对该卡口序列数据按时间区间进行分组聚合,得到每个时间区间的轨迹数据集合,在本实施例中,将每个时间区间的轨迹数据集合记为GJ_2所述每个时间区间的轨迹数据集合包括时间区间、抓拍时间序列集合、卡口编号序列集合。时间区间种类可以为每十分钟、每小时等。
[0063] 具体地,分别设定小时间区间为每小时、每10分钟两种维度,对于以每小时为时间区间的划分,则每天划分为24个区间,对于以每10分钟为时间区间的划分,则每天划分为144个区间。
[0064] 在本实施例中,仅描述以每小时为时间区间的划分计算,对步骤S11中获取的数据Raw_data按车牌号、日期、时间区间进行分组聚合(Groupby),然后按抓拍时间进行排序,再按时间区间对数据进行聚合(String_Agg),得到近30天在该时间区间内的车辆轨迹数据集合Thour,
[0065]
[0066] 其中,tsj表示时间j区间,j取值范围别为[1,24]; 表示某辆车在时间区间j内经过区域Q的抓拍时间序列,则 表
示在时间区间j内所有辆车经过区域Q内卡口的抓拍时间序列构成的序列集合;
表示与 对应的卡口编号序列(轨迹序列)。
[0067] 同理,可以得到以每10分钟为时间区间的车辆轨迹数据集合T10minutes,其中这里j取值范围为[1,144]。
[0068] 在步骤S14中,基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵,包括:基于每个时间区间的车辆轨迹数据集合计算卡口之间、卡口序列到卡口之间的转移概率,组合得到路网车辆的马尔科夫状态转移矩阵。在本实施例中,路网车辆的马尔科夫状态转移矩阵可以表示为M_2k,其中k表示车辆的唯一标志(如车牌号)。
[0069] 具体地,根据步骤S12得到的所有车辆轨迹构成的集合G,先累积统计卡口到卡口,卡口序列到卡口之间的转移频次,再计算卡口到卡口、卡口序列到卡口之间的转移频率,然后得到路网车辆的马尔科夫状态转移矩阵。
[0070] 图3示出了一种单向路径卡口到卡口之间的转移频次,图4示出了一种单向路径卡口到卡口之间的转移频率。如图3所示,先累积统计卡口到卡口的转移频次,再计算卡口到卡口转移概率,如图4所示,然后得到路网车辆的马尔科夫状态转移矩阵,这里只显示了单向路径,如仅展示了A->B方向的转移概率,同样可以统计得到B->A方向的转移概率,其他卡口间的转移概率同理。则由图4可以得到1阶卡口到卡口的转移概率矩阵M1,用字典表示则有:
[0071] {A->B:0.5,A->C:0.2,A->D:0.3,B->C:0.3,B->E:0.5,B->G:0.2,C->G:0.6,D->E:0.3,D->F:0.7,E->H:0.6,E->G:0.4,F->E:0.2,F->H:0.8}
[0072] 同理可以得到,假设有2阶卡口序列到卡口的转移概率矩阵M2,用字典表示则可以为:
[0073] {AB->C:0.1,AB->E:0.6,AB->G:0.3,AC->G:0.4,AD->F:0.6,BC->G:0.1,BE->H:0.4,BE->G:0.4,DF->H:0.6,DE->H:0.2,DE->G:0.3,FE->G:0.1}
[0074] 同理可以得到,假设有3阶卡口序列到卡口的转移概率矩阵M3,用字典表示则可以为:
[0075] {ABC->G:0.2,ABE->H:0.3,ABE->G:0.2,ADE->G:0.15,ADE->H:0.2,ADF->H:0.3,ADF->E:0.3}
[0076] 注意,这里的M2、M3不是由图4得到,只是假设有这样的转移概率(实际情况下可以根据轨迹数据算出),图4仅展示了1阶卡口到卡口的转移概率。这里将M1、M2、M3合并成一个字典M_2k。
[0077] 在步骤S15中,基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵,包括:基于每辆车的轨迹数据计算车辆在卡口之间、卡口序列到卡口之间的转移概率,组合得到个体车辆的马尔科夫状态转移矩阵。在本实施例中,个体车辆的马尔科夫状态转移矩阵可以表示为M_1。
[0078] 对于每一个Gp∈G,可以采用如上述步骤S14同样的方法,得到每辆车的3种转移矩阵构成的字典Mp1,Mp2,Mp3,其中,p表示不同的车牌号,同理可以合并Mp1,Mp2,Mp3为M_1。
[0079] 在步骤S16中,根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率,包括:
[0080] 基于车辆的当前轨迹以及所述个体车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第一转移概率;
[0081] 基于所述车辆的当前轨迹以及路网车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第二转移概率;
[0082] 根据所述第一转移概率、所述第二转移概率以及第一转移概率、第二转移概率所占的比重得到经过各个卡口的概率。
[0083] 具体地,假设某辆车牌号为pl的车行驶至卡口A,现需预测该车辆可能到达的下一个卡口的概率及到达卡口的时间点。因为目前仅知道该车的1阶轨迹(即卡口A),首先在M_1中查找是否存在车牌号为pl的数据,若存在,继续查找卡口A到其他所有卡口的转移概率(即第一转移概率),然后与路网车辆的马尔科夫状态转移矩阵M_2k中对应转移概率(第二转移概率)按一定比例进行融合,可以得到经过各个卡口的概率。其中,所述的比例可以根据需求进行设置,在本实施例中,第一转移概率与第二转移概率的比例为4:1,按4:1的比例进行融合(具有更强的泛化能力)。假设Mp中存在车牌号为pl的在卡口A的转移概率为:{A->B:0.6,A->C:0.2,A->D:0.2},对应在M_2k中的转移概率为{A->B:0.5,A->C:0.2,A->D:0.3},则可以预测该车的可能到达下一卡口的概率为:{B:0.6*0.8+0.5*0.2,C:0.2*0.8+
0.2*0.2,D:0.2*0.8+0.3*0.2}={B:0.58,C:0.2,D:0.22};若Mp不存在车牌号为pl的数据,则该车达到下一卡口的概率可以为M_2k中的转移概率,为{A->B:0.5,A->C:0.2,A->D:
0.3},即为可能到达下一卡口的概率。
[0084] 至此,通过步骤S11~步骤S16,得到了车辆到达下一卡口的概率。
[0085] 在另一实施例中,该车辆行驶轨迹预测方法还包括:
[0086] 根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
[0087] 具体地,平均行驶时间可以通过以下方法计算得到:
[0088] 根据每个时间区间的轨迹数据集合GJ_2,分别计算在各个时间区间内相邻卡口的车辆行驶花费的平均时间,构成可以基于以时间区间+某卡口编号+相邻卡口编号为查找键,平均时间为值的字典Ti,其中i表示时间区间的种类。
[0089] 具体地,对于S13中得到的Thour,对于其中的每个时间区间,计算该区间内所有轨迹序列中相邻卡口的平均行驶时间。如区间1(00:00:00-00:59:59)中假设有轨迹序列[(A,B),(A,B),(A,B,C),(A,B,E),(A,B,G),(A,C),(A,D),(A,D)],对应的抓拍时间序列为[(1572279093,1572279125),(1572279322,1572279357),(1572279101,1572279131,1572279182),(1572279066,1572279098,1572279132),(1572279122,1572279158,
1572279176)(1572279188,1572279242),(1572279262,1572279332),(1572279388,
1572279366)],这里的时间序列由时间戳构成。则可以计算得到有轨迹的相邻卡口的平均行驶时间,如对于A->B,
[0090] AvgTime(A->B)=[(1572279125-1572279093)+(1572279357-1572279322)+(1572279131-1572279101)+(1572279098-1572279066)+(1572279158-1572279122)]/5=(32+35+30+32+36)/5=33s;
[0091] 同理可以计算
[0092] AvgTime(B->C)=51s,AvgTime(B->E)=34s,AvgTime(B->G)=18s,AvgTime(A->C)=54s,AvgTi me(A->D)=74s。用字典表示可以为:
[0093] Thour_t1={A->B:33,B->C:51,B->E:34,B->G:18,A->C:54,A->D:74}
[0094] 故可以得到各区间所有轨迹的相邻卡口的平均行驶时间字典集合Thour_t={Thour_tj},其中j∈[1,24]。同理可以得到T10minutes_t={T10minutes_tj},其中j∈[1,144]。
[0095] 根据已预测的下一个可能卡口,再预测对应的到达时间点。这里已知可能到达的卡口为B、C、D,假设目前的时间点位00:10:11,则在T10minutes_t中对应的时间区间为T10minutes_t2,假设T10minutes_t2中有数据为{A->B:31,A->C:52,A->D:69},则可预测分别到达B、C、D的时间点{B:00:10:42,C:00:11:03,C:00:11:20}),综合Step8中已得到转移概率(pl存在的情况),可以得到预测轨迹为:
[0096]
[0097] 若T10minutes_t2中不存在如A->B的平均行驶时间,可以扩散到通过相邻区间的均值去填充,如T10minutes_t1与T10minutes_t3中A->B平均行驶时间的均值替代,最多扩散三次,若仍不存在,则可以在对应的Thour_t1中检索A->B对应的值补充,若仍找不到,继续在Thour_tj扩散,直到找到为止(总会找到,因为已经根据历史数据预测了转移概率,则一定存在该相邻轨迹卡口的历史的行驶时间);当多个值不存在或全部不存在时,同理补充即可。
[0098] 若已知某车辆行驶至卡口B,且已知轨迹为A->B,只需将在M_1查找A替换成在M_1查找AB到相邻卡口的转移概率,同理可以预测该车辆可能到达的下一个卡口的概率及到达卡口的时间点。同理,若已知轨迹为A->B-C,查找值更换为ABC即可。若当查找序列长度大于3时,如A->D->F->E,直接取最近的三个卡口序列即D->F->E作为已知轨迹。若当查找已知轨迹A->B->C序列不存在时,删除序列最前的一个卡口继续查找,如继续查找B->C,反复查找,直到找到为止,若找不到则返回空值,表示无此历史轨迹或卡口点。至此,所有可能情况的均能完成轨迹预测。
[0099] 如图5所示,一种基于卡口抓拍数据的车辆行驶轨迹预测系统,所述车辆行驶轨迹预测系统包括:
[0100] 数据获取模块51,用于获取车辆历史轨迹数据;
[0101] 第一聚合模块52,用于对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据;
[0102] 第二聚合模块53,用于对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合;
[0103] 第一马尔科夫状态转移矩阵构建模块54,用于基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵;
[0104] 第二马尔科夫状态转移矩阵构建模块55,用于基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵;
[0105] 卡口预测模块56,用于根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率。
[0106] 本发明根据路网车辆历史轨迹数据及个体车辆历史轨迹数据,分别构建路网车辆与个体车辆的马尔科夫状态转移矩阵、多个细分时间段的任意相邻卡口的平均行驶时间特征集合。根据车辆当前经过的卡口轨迹信息,结合构建的马尔科夫状态转移矩阵预测车辆即将经过的各个卡口的概率,能够对车辆轨迹信息进行个性化预测。
[0107] 数据获取模块51用于获取车辆历史轨迹数据。具体地,获取既定区域内全量卡口的车辆抓拍数据,即车辆的历史行驶轨迹数据,以下统一简称为:车辆历史轨迹数据;其中车辆历史轨迹数据主要包括:车牌号、卡口编号、抓拍时间。为保证历史数据的时效性,只获取车辆最近时间范围内的数据,如最近30天、最近60天等,在本实施例中,不妨取最近30天的数据为例。假设现有如图2的区域Q,其中A-H表示卡口点位,任意有连线的两个卡口表示有车辆可通行路径。首先获取最近30天区域Q内所有卡口的车辆抓拍数据Raw_data,主要获取数据字段为:车牌号、卡口编号、抓拍时间。
[0108] 第一聚合模块52,对所述车辆历史轨迹数据进行聚合,得到每辆车的轨迹数据,包括:对车辆历史轨迹数据按车牌号进行分组聚合并按抓拍时间进行排序,得到每辆车按时间排序后的卡口序列,即为每辆车的轨迹数据。在本实施例中,将每辆车的轨迹数据记为GJ_1。所述每辆车的轨迹数据包括车牌号、抓拍时间序列、卡口编号序列。
[0109] 具体地,对数据获取模块获取的数据Raw_data按车牌号进行分组聚合(Groupby),然后按抓拍时间进行排序,可以得到每辆车在最近30天的卡口过车时间序列及与之对应的卡口序列,再对每辆车数据进行聚合(String_Agg),得到每辆车的轨迹数据Gp={(p,(g1,g2,g3,...,gi),(t1,t2,t3,...,ti))},其中p表示车牌号,(t1,t2,t3,...,ti)表示时间序列,(g1,g2,g3,...,gi)表示与时间序列对应的卡口序列,即为该车在该区域最近30天的行驶轨迹。记G={Gp}表示所有车辆轨迹构成的集合。
[0110] 第一聚合模块52,对所述车辆历史轨迹数据进行聚合,得到每个时间区间的车辆轨迹数据集合,包括:对车辆历史轨迹数据按车牌号、时间区间分组聚合并按抓拍时间进行排序,首先得到每辆车在每个时间区间排序后的卡口序列数据,再对该卡口序列数据按时间区间进行分组聚合,得到每个时间区间的轨迹数据集合,在本实施例中,将每个时间区间的轨迹数据集合记为GJ_2所述每个时间区间的轨迹数据集合包括时间区间、抓拍时间序列集合、卡口编号序列集合。时间区间种类可以为每十分钟、每小时等。
[0111] 具体地,分别设定小时间区间为每小时、每10分钟两种维度,对于以每小时为时间区间的划分,则每天划分为24个区间,对于以每10分钟为时间区间的划分,则每天划分为144个区间。
[0112] 在本实施例中,仅描述以每小时为时间区间的划分计算,对步骤S11中获取的数据Raw_data按车牌号、日期、时间区间进行分组聚合(Groupby),然后按抓拍时间进行排序,再按时间区间对数据进行聚合(String_Agg),得到近30天在该时间区间内的车辆轨迹数据集合Thour,
[0113]
[0114] 其中,tsj表示时间j区间,j取值范围别为[1,24]; 表示某辆车在时间区间j内经过区域Q的抓拍时间序列,则 表
示在时间区间j内所有辆车经过区域Q内卡口的抓拍时间序列构成的序列集合;
表示与 对应的卡口编号序列(轨迹序列)。
[0115] 同理,可以得到以每10分钟为时间区间的车辆轨迹数据集合T10minutes,其中这里j取值范围为[1,144]。
[0116] 第一马尔科夫状态转移矩阵构建模块54,基于所述每个时间区间的车辆轨迹数据集合构建路网车辆的马尔科夫状态转移矩阵,包括:基于每个时间区间的车辆轨迹数据集合计算卡口之间、卡口序列到卡口之间的转移概率,组合得到路网车辆的马尔科夫状态转移矩阵。在本实施例中,路网车辆的马尔科夫状态转移矩阵可以表示为M_2k,其中k表示车辆的唯一标志(如车牌号)。
[0117] 具体地,根据所有车辆轨迹构成的集合G,先累积统计卡口到卡口,卡口序列到卡口之间的转移频次,再计算卡口到卡口、卡口序列到卡口之间的转移频率,然后得到路网车辆的马尔科夫状态转移矩阵。
[0118] 图3示出了一种单向路径卡口到卡口之间的转移频次,图4示出了一种单向路径卡口到卡口之间的转移频率。如图3所示,先累积统计卡口到卡口的转移频次,再计算卡口到卡口转移概率,如图4所示,然后得到路网车辆的马尔科夫状态转移矩阵,这里只显示了单向路径,如仅展示了A->B方向的转移概率,同样可以统计得到B->A方向的转移概率,其他卡口间的转移概率同理。则由图4可以得到1阶卡口到卡口的转移概率矩阵M1,用字典表示则有:
[0119] {A->B:0.5,A->C:0.2,A->D:0.3,B->C:0.3,B->E:0.5,B->G:0.2,C->G:0.6,D->E:0.3,D->F:0.7,E->H:0.6,E->G:0.4,F->E:0.2,F->H:0.8}
[0120] 同理可以得到,假设有2阶卡口序列到卡口的转移概率矩阵M2,用字典表示则可以为:
[0121] {AB->C:0.1,AB->E:0.6,AB->G:0.3,AC->G:0.4,AD->F:0.6,BC->G:0.1,BE->H:0.4,BE->G:0.4,DF->H:0.6,DE->H:0.2,DE->G:0.3,FE->G:0.1}
[0122] 同理可以得到,假设有3阶卡口序列到卡口的转移概率矩阵M3,用字典表示则可以为:
[0123] {ABC->G:0.2,ABE->H:0.3,ABE->G:0.2,ADE->G:0.15,ADE->H:0.2,ADF->H:0.3,ADF->E:0.3}
[0124] 注意,这里的M2、M3不是由图4得到,只是假设有这样的转移概率(实际情况下可以根据轨迹数据算出),图4仅展示了1阶卡口到卡口的转移概率。这里将M1、M2、M3合并成一个字典M_2k。
[0125] 第二马尔科夫状态转移矩阵构建模块55,基于所述每辆车的轨迹数据构建个体车辆的马尔科夫状态转移矩阵,包括:基于每辆车的轨迹数据计算车辆在卡口之间、卡口序列到卡口之间的转移概率,组合得到个体车辆的马尔科夫状态转移矩阵。在本实施例中,个体车辆的马尔科夫状态转移矩阵可以表示为M_1。
[0126] 对于每一个Gp∈G,可以采用如上述步骤S14同样的方法,得到每辆车的3种转移矩阵构成的字典Mp1,Mp2,Mp3,其中,p表示不同的车牌号,同理可以合并Mp1,Mp2,Mp3为M_1。
[0127] 预测模块55,根据所述个体车辆的马尔科夫状态转移矩阵以及路网车辆的马尔科夫状态转移矩阵预测经过各个卡口的概率,包括:
[0128] 基于车辆的当前轨迹以及所述个体车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第一转移概率;
[0129] 基于所述车辆的当前轨迹以及路网车辆的马尔科夫状态转移矩阵获取车辆到达下一卡口的第二转移概率;
[0130] 根据所述第一转移概率、所述第二转移概率以及第一转移概率、第二转移概率所占的比重得到经过各个卡口的概率。
[0131] 具体地,假设某辆车牌号为pl的车行驶至卡口A,现需预测该车辆可能到达的下一个卡口的概率及到达卡口的时间点。因为目前仅知道该车的1阶轨迹(即卡口A),首先在M_1中查找是否存在车牌号为pl的数据,若存在,继续查找卡口A到其他所有卡口的转移概率(即第一转移概率),然后与路网车辆的马尔科夫状态转移矩阵M_2k中对应转移概率(第二转移概率)按一定比例进行融合,可以得到经过各个卡口的概率。其中,所述的比例可以根据需求进行设置,在本实施例中,第一转移概率与第二转移概率的比例为4:1,按4:1的比例进行融合(具有更强的泛化能力)。假设M_1中存在车牌号为pl的在卡口A的转移概率为:{A->B:0.6,A->C:0.2,A->D:0.2},对应在M_2k中的转移概率为{A->B:0.5,A->C:0.2,A->D:0.3},则可以预测该车的可能到达下一卡口的概率为:{B:0.6*0.8+0.5*0.2,C:0.2*0.8+
0.2*0.2,D:0.2*0.8+0.3*0.2}={B:0.58,C:0.2,D:0.22};若M_1不存在车牌号为pl的数据,则该车达到下一卡口的概率可以为M中的转移概率,为{A->B:0.5,A->C:0.2,A->D:
0.3},即为可能到达下一卡口的概率。
[0132] 至此,得到了车辆到达下一卡口的概率。
[0133] 在另一实施例中,该车辆行驶轨迹预测系统还包括时间预测模块,用于根据预测的经过各个卡口的概率以及历史同时间区间相邻卡口的平均行驶时间预测车辆到达各个卡口的时间点。
[0134] 本发明在对车辆轨迹信息进行个性化预测的基础上再结合历史同时间段相邻卡口的平均行驶时间特征集合预测车辆到达各个卡口的时间点。不但对车辆轨迹信息进行了个性化预测,并且在此基础上对到达下一可能位置的时间进行预测,很好的弥补了目前车辆轨迹预测方法不能进行个性化预测和时间点预测的缺陷,为智能交通带来更多的应用场景。
[0135] 具体地,平均行驶时间可以通过以下方法计算得到:
[0136] 根据每个时间区间的轨迹数据集合GJ_2,分别计算在各个时间区间内相邻卡口的车辆行驶花费的平均时间,构成可以基于以时间区间+某卡口编号+相邻卡口编号为查找键,平均时间为值的字典Ti,其中i表示时间区间的种类。
[0137] 具体地,对于S13中得到的Thour,对于其中的每个时间区间,计算该区间内所有轨迹序列中相邻卡口的平均行驶时间。如区间1(00:00:00-00:59:59)中假设有轨迹序列[(A,B),(A,B),(A,B,C),(A,B,E),(A,B,G),(A,C),(A,D),(A,D)],对应的抓拍时间序列为[(1572279093,1572279125),(1572279322,1572279357),(1572279101,1572279131,1572279182),(1572279066,1572279098,1572279132),(1572279122,1572279158,
1572279176)(1572279188,1572279242),(1572279262,1572279332),(1572279388,
1572279366)],这里的时间序列由时间戳构成。则可以计算得到有轨迹的相邻卡口的平均行驶时间,如对于A->B,
[0138] AvgTime(A->B)=[(1572279125-1572279093)+(1572279357-1572279322)+(1572279131-1572279101)+(1572279098-1572279066)+(1572279158-1572279122)]/5=(32+35+30+32+36)/5=33s;
[0139] 同理可以计算
[0140] AvgTime(B->C)=51s,AvgTime(B->E)=34s,AvgTime(B->G)=18s,AvgTime(A->C)=54s,AvgTi me(A->D)=74s。用字典表示可以为:
[0141] Thour_t1={A->B:33,B->C:51,B->E:34,B->G:18,A->C:54,A->D:74}
[0142] 故可以得到各区间所有轨迹的相邻卡口的平均行驶时间字典集合Thour_t={Thour_tj},其中j∈[1,24]。同理可以得到T10minutes_t={T10minutes_tj},其中j∈[1,144]。
[0143] 根据已预测的下一个可能卡口,再预测对应的到达时间点。这里已知可能到达的卡口为B、C、D,假设目前的时间点位00:10:11,则在T10minutes_t中对应的时间区间为T10minutes_t2,假设T10minutes_t2中有数据为{A->B:31,A->C:52,A->D:69},则可预测分别到达B、C、D的时间点{B:00:10:42,C:00:11:03,C:00:11:20}),综合Step8中已得到转移概率(pl存在的情况),可以得到预测轨迹为:
[0144]
[0145] 若T10minutes_t2中不存在如A->B的平均行驶时间,可以扩散到通过相邻区间的均值去填充,如T10minutes_t1与T10minutes_t3中A->B平均行驶时间的均值替代,最多扩散三次,若仍不存在,则可以在对应的Thour_t1中检索A->B对应的值补充,若仍找不到,继续在Thour_tj扩散,直到找到为止(总会找到,因为已经根据历史数据预测了转移概率,则一定存在该相邻轨迹卡口的历史的行驶时间);当多个值不存在或全部不存在时,同理补充即可。
[0146] 若已知某车辆行驶至卡口B,且已知轨迹为A->B,只需将在M_1查找A替换成在M_1查找AB到相邻卡口的转移概率,同理可以预测该车辆可能到达的下一个卡口的概率及到达卡口的时间点。同理,若已知轨迹为A->B-C,查找值更换为ABC即可。若当查找序列长度大于3时,如A->D->F->E,直接取最近的三个卡口序列即D->F->E作为已知轨迹。若当查找已知轨迹A->B->C序列不存在时,删除序列最前的一个卡口继续查找,如继续查找B->C,反复查找,直到找到为止,若找不到则返回空值,表示无此历史轨迹或卡口点。至此,所有可能情况的均能完成轨迹预测。
[0147] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0148] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0149] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0150] 在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0151] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0152] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0153] 所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器((RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。
[0154] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈