本发明属于城市交通流量监测,更为具体地讲,涉及一种基于路网先验知识和掩码自编码器的交通流量测量方法。
背景技术:
1、城市交通流量监测系统在世界各地的智慧城市建设中发挥着重要作用。为了获取城市范围内细粒度的交通流量数据,交通部门通常会部署大量的感知设备来覆盖每个小的地理区域,造成了沉重的经济负担。为了降低这样的开销,有必要提出一种新的低成本交通流量测量方法,可以减少感知设备的部署,但同时保持原始交通流量数据的粒度不变。
2、目前,还没有专门针对根据部分区域的交通流量数据推断出全部的细粒度交通流量数据的方法。现有的掩码自编码器技术的目标是基于给定部分观测信息对原始信号进行重建,但它针对的是具有重度空间冗余的图像,交通流量数据并没有图像所具有的高级语义特征,而是拥有路网结构,即流量只会出现在道路上,并且道路相互交错,形成一种网状结构。所以现有的掩码自编码器技术并不能很好的解决该问题。为了解决上述问题,需要提出一种新的技术,可以只在少数的区域内部署感知设备进行流量监测,再通过算法根据部分区域的流量值还原出原始细粒度的流量数据。
技术实现思路
1、本发明的目的在于克服现有技术的不足,提供一种基于路网先验知识和掩码自编码器的交通流量测量方法,结合路网先验知识训练基于掩码自编码器的交通流量推断模型,学习交通流量的健壮表征,利用目标区域内部分网格部署的传感器采集交通流量,借助训练好的交通流量推断模型获取整个目标区域内各个网格的交通流量,从而节约硬件资源。
2、为了实现上述发明目的,本发明基于路网先验知识和掩码自编码器的交通流量测量方法包括以下步骤:
3、s1:将需要进行交通流量测量的目标区域平均划分为w×h的网格,获取若干历史时刻各个网格的交通流量xi,j,其中i=1,2,…,w,j=1,2,…,h,构成每个历史时刻的交通流量矩阵x;对于每个交通流量矩阵x,采用预设大小的窗口对其进行分块,得到d=m×n的数据块阵列,对每个数据块进行特征提取得到维度为l的交通流量向量,将d个数据块对应的交通流量向量构成数据块序列data;
4、读取目标区域的地图并提取得到大小为m×n×l的特征张量,提取d个维度l的特征向量,按照数据块序列的相同顺序构成地图块序列;
5、s2:构建基于掩码自编码器的交通流量推断模型,包括第一vit编码器,掩码矩阵生成模块,掩码处理模块,第二vit编码器和vit解码器,其中:
6、第一vit编码器用于接收长度为d的数据块序列data,获取每个数据块的自注意力分数sd,将自注意力分数sd发送至掩码矩阵生成模块,d=1,2,…,d;
7、掩码矩阵生成模块用于根据d个数据块的自注意力分数sd生成掩码向量mask并发送至掩码处理模块,具体方法为:将d个数据块的自注意力分数sd从大到小进行排序,选择前r个数据块作为保留数据块,其余数据块作为掩码数据块,r的值根据实际需要确定;然后生成d维的掩码向量mask,其中元素maskd=1表示第d个数据块为掩码数据块,maskd=0表示第d个数据块为保留数据块;
8、掩码处理模块用于根据掩码向量mask,采用地图块对数据块进行替换,得到数据块序列data′并发送至vit解码器;生成数据块序列data′的具体方法为:遍历掩码矩阵mask中每个元素,当maskd=1时,采用第d个地图块对第d个数据块进行替换,当maskd=0时,不作任何操作,从而得到替换后的数据块序列data′;
9、第二vit编码器用于接收长度为d的数据块序列data′,获取其中每个数据块的潜在表示特征fd并发送至vit解码器;第二vit编码器与第一vit编码器共享参数;
10、vit解码器用于对d个潜在表示特征fd进行解码处理,重构得到大小为(d-r)×l的交通流量推断矩阵,其中每行交通流量向量即为对应掩码数据块的交通流量向量
11、s3:采用步骤s1中的每个交通流量矩阵x的数据块序列和地图块序列作为输入,对应掩码数据块的交通流量向量作为期望输出,对交通流量推断模型进行训练;
12、s4:根据实际需要在目标区域内选择r个网格块,在该网格块的每个网格中均部署交通流量传感器,用于测量该网格区域内的交通流量;
13、s5:对于已部署交通流量传感器的r个网格块,采用交通流量传感器测量该网格块内的交通流量并构建交通流量向量,从而得到所属网格块的数据块;对于未部署交通流量传感器的网格块,则采用对应的地图块作为数据块;然后将d个数据块构成数据块序列data输入步骤s3中训练好的第二vit编码器得到潜在表示特征,将潜在表示特征序列输入vit解码器,得到(d-r)×l的交通流量推断矩阵,将采用传感器实际测量的网格交通流量与交通流量推断矩阵合并,得到目标区域的交通流量测量结果。
14、本发明基于路网先验知识和掩码自编码器的交通流量测量方法,将目标区域划分为网格,获取历史交通流量数据并按照网格构建对应的交通流量矩阵,然后分块得到数据块序列,对目标区域的地图数据也构建得到地图块序列,构建并训练基于掩码自编码器的交通流量推断模型,基于自注意力分数对数据块进行掩码处理,采用对应的地图块代替掩码数据块用于推断掩码数据块的交通流量;根据实际需要在目标区域中选择部分网格块部署交通流量传感器,将这部分网格块的实际测量交通流量和掩码网格块的地图块一起构建数据块序列,然后输入训练好的交通流量推断模型得到掩码网格块交通流量推断结果,从而完成测量。
15、本发明具有以下有益效果:
16、1)本发明结合路网先验知识训练基于掩码自编码器的交通流量推断模型,可以有效提高交通流量推断的准确率;
17、2)本发明借助基于掩码自编码器的交通流量推断模型,可以只在部分网格部署交通流量传感器即可对目标区域实现准确的交通流量测量,可以大大减少交通流量传感器的部署数量,有效节约硬件资源,降低成本。
1.一种基于路网先验知识和掩码自编码器的交通流量测量方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的交通流量测量方法,其特征在于,所述步骤s1中特征张量的生成方法为:采用opencv将目标区域的地图读取为大小为w×h的地图像素矩阵,然后使用多方向一维卷积对该地图像素矩阵进行特征提取,得到大小为m×n×l的特征张量。
3.根据权利要求1所述的交通流量测量方法,其特征在于,所述步骤s2中保留数据块数量r=[0.2d,0.3d]。
4.根据权利要求1所述的交通流量测量方法,其特征在于,所述步骤s2中vit解码器包括t个堆叠的交叉注意力模块,每个交叉注意力模块分别基于d个潜在表示特征fd提取大小为r×(d-r)的交叉注意力矩阵crosst,t=1,2,…,t,然后将t个交叉注意力矩阵合并为一个交叉注意力矩阵cross,再基于该交叉注意力矩阵处理得到d-r个掩码数据块的交通流量向量
5.根据权利要求4所述的交通流量测量方法,其特征在于,所述交叉注意力模块的处理方法为:首先对d个潜在表示特征fd分别进行嵌入处理得到嵌入特征fd′,同时进行位置嵌入得到位置特征pd,将嵌入特征fd′和位置特征pd融合得到融合特征根据掩码向量mask从d个融合特征中提取出数据块对应的特征构成大小为r×h的特征矩阵fvis,h表示融合特征的维度,同时提取出地图块对应的融合特征构成大小为(d-r)×h的特征矩阵fr;将特征矩阵fvis作为交叉注意力模块的键key和值value,将特征矩阵fr作为交叉注意力模块的查询query,计算得到交叉注意力矩阵crosst。
6.根据权利要求1所述的交通流量测量方法,其特征在于,所述步骤s4中r个网格块基于流量信息熵来选择,具体方法为:
