发明内容
为了克服上述现有技术的不足,本发明提供一种基于物联网和边缘计算的交通流预测系统及云平台,可有效解决上述问题。
本发明具体采用的技术方案如下:
第一方面,本发明提供了一种基于物联网和边缘计算的交通流预测系统,其包括云平台以及安装于道路上不同位置的图像抓拍设备和边缘计算设备;
所述图像抓拍设备,用于实时拍摄经过的车流图像,且同一个图像抓拍设备抓拍的车辆行驶方向固定;
所述边缘计算设备与所述图像抓拍设备一一配对,用于获取同一位置的图像抓拍设备拍摄到的所述车流图像,并通过内置的车牌定位模型定位出车流图像中的每一个车牌区域,再通过车牌识别模型识别出每一个车牌区域中的车牌号;
所述云平台通过物联网与不同位置的边缘计算设备通信连接,内部设有数据接收模块、数据融合模块和交通流预测模块;
所述数据接收模块用于实时接收不同位置的边缘计算设备上报的车牌号识别结果以及对应的时间戳和车辆行驶方向;
所述数据融合模块用于将每一个边缘计算设备上报的每个车牌号与对应的时间戳、车辆行驶方向以及边缘计算设备所在坐标关联融合形成一个轨迹点,每一个车牌号的所有连续轨迹点通过调用路径规划算法还原出对应车辆的行驶轨迹,将所有车辆的行驶轨迹作为车流数据存储于历史车流数据库中;
所述交通流预测模块用于从历史车流数据库中读取存储的所述车流数据,并基于经过训练的交通流量预测模型对未来时刻的交通流量进行预测。
作为优选,所述图像抓拍设备和边缘计算设备成对安装于道路的路口位置。
作为优选,所述车牌定位模型为YOLO模型。
作为优选,所述车牌识别模型为CNN卷积神经网络模型。
作为优选,所述交通流预测模块中设有用于输入预测区域和预测时刻的指定模块。
作为优选,所述交通流量预测模型为多方向交通流量预测模型,包含第一全连接神经网络、第二全连接神经网络、三维残差卷积网络和重校正层,多方向交通流量预测模型的输入为车流三维矩阵、时间信号向量和兴趣点信号,由第一全连接神经网络根据所述时间信号向量输出时间信号矩阵,由第二全连接神经网络根据所述兴趣点信号输出兴趣点信号矩阵,由三维残差卷积网络根据所述车流三维矩阵、所述兴趣点信号矩阵和所述时间信号矩阵的融合特征输出结果矩阵,最终将结果矩阵在重校正层中经过带权压缩操作后,得到多方向交通流量预测结果。
作为优选,所述车牌定位模型和车牌识别模型均预先通过训练后下载于边缘计算设备中。
作为优选,所述云平台中的交通流量预测模型采用增量学习的方法进行持续训练。
作为优选,所述图像抓拍设备为设置于路口上方的摄像头,且每一个摄像头均仅朝向车流行驶方向进行拍摄。
作为优选,所述车流三维矩阵、时间信号向量和兴趣点信号的生成方法如下:
S1、获取待预测区域中待预测时刻前的历史车流数据,所述历史车流数据中包含待预测区域中不同车辆在不同时间的位置以及车辆行驶方向;从所述历史车流数据中按预设的时间片间隔提取若干个车流数据时间片;
S2、对待预测区域进行栅格化处理从而划分为一系列栅格,每一个车流数据时间片中的车辆均按照其坐标映射至待预测区域的对应栅格中,并将车辆行驶方向定义为车辆在栅格中的移动状态,移动状态包括向上、向下、向左、向右四种;对每个时间片内每个栅格中所包含的每一种移动状态的车辆总数进行统计并作为栅格值,将栅格值映射为矩阵元素,从而针对每个时间片中的不同移动状态分别构建车流二维矩阵,每一种移动状态在所有时间片中的车流二维矩阵按时间维度叠加形成车流三维矩阵;
S3、从待预测时刻中提取小时字段和分钟字段,拼接形成一个二元的时间信号向量;
S4、获取所有兴趣点(POI)空间地理位置,并将不同功能类别的兴趣点均映射到所述待预测区域的栅格中,对每个栅格中每一组功能类别的兴趣点总数进行统计并作为栅格值,将栅格值映射为矩阵元素,从而针对每一组功能类别的兴趣点分别构建一张二维矩阵形式的兴趣点切片,所有功能类别的兴趣点切片叠加形成三维张量形式的兴趣点信号。
第二方面,本发明提供了一种云平台,其用于与安装于道路上不同位置的图像抓拍设备和边缘计算设备配合实现交通流预测;
所述图像抓拍设备,用于实时拍摄经过的车流图像,且同一个图像抓拍设备抓拍的车辆行驶方向固定;
所述边缘计算设备与所述图像抓拍设备一一配对,用于获取同一位置的图像抓拍设备拍摄到的所述车流图像,并通过内置的车牌定位模型定位出车流图像中的每一个车牌区域,再通过车牌识别模型识别出每一个车牌区域中的车牌号;
所述云平台通过物联网与不同位置的边缘计算设备通信连接,内部设有数据接收模块、数据融合模块和交通流预测模块;
所述数据接收模块用于实时接收不同位置的边缘计算设备上报的车牌号识别结果以及对应的时间戳和车辆行驶方向;
所述数据融合模块用于将每一个边缘计算设备上报的每个车牌号与对应的时间戳、车辆行驶方向以及边缘计算设备所在坐标关联融合形成一个轨迹点,每一个车牌号的所有连续轨迹点通过调用路径规划算法还原出对应车辆的行驶轨迹,将所有车辆的行驶轨迹作为车流数据存储于历史车流数据库中;
所述交通流预测模块用于从历史车流数据库中读取存储的所述车流数据,并基于经过训练的交通流量预测模型对未来时刻的交通流量进行预测。
相对于现有技术而言,本发明具有以下有益效果:
本发明采用道路上的图像抓拍设备抓取车流图像,然后在本地端通过边缘计算设备对其进行车牌定位和识别,从而获取经过不同位置的车流信息,从而大大减少需要上传至云平台的数据量,提升处理效率并减轻云端的负荷。而且,由于该车辆信息的获取仅在本地端进行,因此可提供更快的响应速度,降低云平台获取实时车流信息的时延。本发明可在云平台上聚合整个预测区域内的所有车流轨迹信息,并通过云平台上搭载的交通流量预测模型对未来时刻的交通流量进行预测。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
作为本发明的一种较佳实现形式,提供了一种基于物联网和边缘计算的交通流预测系统,其包括云平台以及安装于道路上不同位置的图像抓拍设备和边缘计算设备。
其中边缘计算设备与图像抓拍设备一一配对,每一对图像抓拍设备和边缘计算设备通过信号线相连,安装于道路上的一个位置。为了便于图像抓拍,边缘计算设备与图像抓拍设备优选安装于道路路口上。
图像抓拍设备的作用是实时拍摄经过的车流图像,且同一个图像抓拍设备抓拍的车辆行驶方向固定。另外,边缘计算设备的作用是获取同一位置的图像抓拍设备拍摄到的车流图像,并通过内置的车牌定位模型定位出车流图像中的每一个车牌区域,再通过车牌识别模型识别出每一个车牌区域中的车牌号。
在实际应用时,图像抓拍设备可直接采用设置于路口上方的摄像头,且每一个摄像头均仅朝向车流行驶方向进行拍摄。由于每一个图像抓拍设备抓拍的车辆行驶方向是固定的,因此从该图像抓拍设备抓拍到的图像中识别到的车辆的行驶方向也是固定的。在本发明中,车牌定位模型和车牌识别模型可以采用任意能够实现车牌定位和车牌识别的网络模型来实现。例如,车牌定位模型可采用YOLO模型,优选为YOLO V3模型,车牌识别模型可以采用CNN卷积神经网络模型。车牌定位模型和车牌识别模型均需要预先通过训练后下载于边缘计算设备中。
由于边缘计算设备已经在本地端对图像数据进行了处理,因此其仅需向云平台发送车牌号数据,这大大降低了网络上行数据量,因此能够提高云平台对于数据获取的实时性。
另外,云平台通过物联网与不同位置的边缘计算设备通信连接,内部设有数据接收模块、数据融合模块和交通流预测模块。
其中,数据接收模块用于实时接收不同位置的边缘计算设备上报的车牌号识别结果以及对应的时间戳和车辆行驶方向。
在实际应用时,车辆行驶方向可以根据其来源的图像抓拍设备和边缘计算设备的接口或者ID来确定,每一个边缘计算设备可以预先在云平台中存储对应的车辆行驶方向。
其中,数据融合模块用于将每一个边缘计算设备上报的每个车牌号与对应的时间戳、车辆行驶方向以及边缘计算设备所在坐标关联融合形成一个轨迹点,每一个车牌号的所有连续轨迹点通过调用路径规划算法还原出对应车辆的行驶轨迹,将所有车辆的行驶轨迹作为车流数据存储于历史车流数据库中。
在本发明中,路径规划算法可以是任意能够根据一辆车的所有连续轨迹点生成其路径轨迹的算法,优选采用Dijkstra算法,当然也可以直接调用百度地图或者高德地图等地图API,将每一个轨迹点都作为一个途经点来生成路径轨迹。且在生产该路径轨迹的过程中,也需要带有其时间信息,即一条上任意两个轨迹点之间的其余轨迹点可以通过插值的方式生成相应的时间信息。
其中,交通流预测模块用于从历史车流数据库中读取存储的车流数据,并基于经过训练的交通流量预测模型对未来时刻的交通流量进行预测。
云平台中的交通流量预测模型在使用前需要预先经过训练,而为了保证该模型的准确率,亦可将不断存储至云平台中的数据作为样本,采用增量学习的方法进行持续训练。
为了考虑不同的交通流预测需求,可以在交通流预测模块中设有用于输入预测区域和预测时刻的指定模块,以便于根据需要输入不同的预测区域和不同的预测时刻。
在本发明中,所采用的交通流量预测模型可以是任意能够实现交通流量预测的网络模型,例如时空图神经网络等。
作为本发明的一个较佳实施例,上述交通流量预测模型可采用多方向交通流量预测模型,该模型可以对车辆轨迹栅格化后进行方向区分,并基于轨迹经过栅格时的方向来区分移动状态,从而实现多方向的交通流量预测。该多方向交通流量预测模型包含第一全连接神经网络、第二全连接神经网络、三维残差卷积网络和重校正层,多方向交通流量预测模型的输入为车流三维矩阵、时间信号向量和兴趣点信号,由第一全连接神经网络根据所述时间信号向量输出时间信号矩阵,由第二全连接神经网络根据所述兴趣点信号输出兴趣点信号矩阵,由三维残差卷积网络根据所述车流三维矩阵、所述兴趣点信号矩阵和所述时间信号矩阵的融合特征输出结果矩阵,最终将结果矩阵在重校正层中经过带权压缩操作后,得到多方向交通流量预测结果。
上述云平台中,利用多方向交通流量预测模型进行交通流量预测的方法,包括以下步骤:
S1、获取待预测区域中待预测时刻前的历史车流数据,所述历史车流数据中包含待预测区域中不同车辆在不同时间的位置以及车辆行驶方向;从所述历史车流数据中按预设的时间片间隔提取若干个车流数据时间片。
在该实施例中,S1中的待预测区域为矩形区域,而历史车流数据的时间跨度为[t,t+(m-1)*τ],且其按τ分钟为时间片间隔提取m个车流数据时间片。
S2、对待预测区域进行栅格化处理从而划分为一系列栅格,每一个车流数据时间片中的车辆均按照其坐标映射至待预测区域的对应栅格中,并将车辆行驶方向定义为车辆在栅格中的移动状态,移动状态包括向上、向下、向左、向右四种;对每个时间片内每个栅格中所包含的每一种移动状态的车辆总数进行统计并作为栅格值,将栅格值映射为矩阵元素,从而针对每个时间片中的不同移动状态分别构建车流二维矩阵,每一种移动状态在所有时间片中的车流二维矩阵按时间维度叠加形成车流三维矩阵。其中,车辆在栅格中的移动状态可以根据车辆行驶轨迹经过该栅格时的车辆行驶方向确定。
在该实施例中,S2的具体实现步骤如下:
S21、对待预测区域进行栅格化处理,共划分为I*J个栅格,第i行第j列的栅格为Pij;
S22、每一个车流数据时间片中的车辆均按照其坐标映射至待预测区域的对应栅格中,并将车辆行驶方向定义为车辆在栅格中的移动状态,移动状态包括向上、向下、向左、向右四种。
由于车辆行驶方向实际是一个360°的方向空间,因此需要将这个360°的方向空间按照90°为间隔进行分割。以车辆所在位置为原点建立地图平面上的XY坐标系,以y=x和y=-x两条直线将整个360°的方向空间切分为开口向上、开口向下、开口向左、开口向右的四个子空间,以车辆所在位置为原点的车辆行驶方向位于哪一个子空间中就将对应子空间的开口方向作为车辆在栅格中的移动状态。
S23、对每个时间片内每个栅格中所包含的每一种移动状态的车辆总数进行统计,将时间片t内栅格P
ij内移动状态为d的车流量记为
将所有I*J个栅格对应的
构建为时间片t内整个待预测区域中移动状态为d的车流二维矩阵
车流二维矩阵
中第i行第j列的元素值为
S24、将所有m个车流数据时间片的车流二维矩阵
按时间维度进行拼接,形成车流三维矩阵
S3、从待预测时刻中提取小时字段和分钟字段,拼接形成一个二元的时间信号向量。
在该实施例中,S3的具体实现步骤如下:
将待预测时刻tpred转化为含有小时字段tpred_hour和分钟字段tpred_minute两个元素的时间信号向量ht=[tpred_hour,tpred_minute]。
S4、获取所有兴趣点空间地理位置,并将不同功能类别的兴趣点均映射到所述待预测区域的栅格中,对每个栅格中每一组功能类别的兴趣点总数进行统计并作为栅格值,将栅格值映射为矩阵元素,从而针对每一组功能类别的兴趣点分别构建一张二维矩阵形式的兴趣点切片,所有功能类别的兴趣点切片叠加形成三维张量形式的兴趣点信号。
本发明中兴趣点POI是实现城市功能的地理实体,体现了不同出发地和目的地对交通量的变化的影响。例如,餐饮POI在午餐和晚餐时间影响周边地区的交通量,而旅游景点POI主要影响周末和节假日的交通量。在本实施例中,兴趣点分组可以按照食品和饮料、购物服务、日常生活服务、医疗服务、住宿服务、旅游胜地、教育服务、运输服务、其他这9种进行分类,当然亦可采用其他的分类形式。
在该实施例中,S4的具体实现步骤如下:
S41、获取所有兴趣点的空间地理位置,并将所有兴趣点按照其位置均映射到所述待预测区域的各Pij栅格中;
S42、将所有兴趣点按照不同功能类别分成n组,统计每个兴趣点分组g在栅格P
ij内的兴趣点数量并作为栅格P
ij的栅格值
将每个兴趣点分组g对应的所有栅格的栅格值
构建为兴趣点分组g对应的兴趣点切片γ
g,γ
g大小为I*J;
S43、将所有n组兴趣点分组对应的兴趣点切片拼接,得到兴趣点信号Ψ=[γi,γ2,…,γn],其大小为n*I*J。
S5、将所述车流三维矩阵、所述时间信号向量和所述兴趣点信号作为经过训练的多方向交通流量预测模型的输入,如前所述,该多方向交通流量预测模型包含第一全连接神经网络、第二全连接神经网络、三维残差卷积网络和重校正层。
在该实施例中,S5的具体实现步骤如下:
S51:将所述车流三维矩阵
所述时间信号向量h
t和所述兴趣点信号Ψ输入经过训练的多方向交通流量预测模型中,所述多方向交通流量预测模型中包含第一全连接神经网络、第二全连接神经网络、三维残差卷积网络和重校正层;
S52、所述时间信号h
t被输入至包含L
ts层全连接层级联的第一全连接神经网络中,其中第1层全连接层的输入为时间信号h
t,下一层全连接层的输入为上一层全连接层的输出,最后一层全连接层的输出为
将
向量逐元素映射到大小为(I*J)的一个矩阵当中,得到大小为(I,J)的时间信号矩阵H
t;
S53、所述兴趣点信号Ψ=[γ1,γ2,…,γn]输入后,先对其中的每个兴趣点切片γg获取其平均自权重zg:
得到兴趣点信号Ψ的平均自权重矩阵Z={z1,z2,…,zn},其中n表示兴趣点分组的个数;
然后将平均自权重矩阵Z输入包含L
ps层全连接层级联的第二全连接神经网络逐层计算,其中第1层全连接层的输入为平均自权重矩阵Z,下一层全连接层的输入为上一层全连接层的输出,最后一层全连接层的输出为
再后,采用门机制将输出
映射为0到1之间的变量,其计算过程如下:
其中fsi为ReLU激活函数;
其中,⊙表示矩阵点乘;
S54、将车流三维矩阵
兴趣点信号矩阵
和时间信号矩阵H
t进行特征融合,
中的第k个车流数据时间片的融合特征
计算公式如下:
其中,
和
均为可训练的参数,m为
中车流数据时间片的个数;
S55、将融合后的车流矩阵XΓ输入包含Lc层三维残差卷积层级联的三维残差卷积网络中逐层计算,其中第一层三维残差卷积层的输入车流矩阵XΓ,每一层三维残差卷积层经过三维残差卷积操作后得到的结果作为下一层三维残差卷积层的输入,三维残差卷积网络中所有三维残差卷积层的输出拼接形成最终的结果矩阵XST;其中对于任意第l层三维残差卷积层,其中执行的三维残差卷积操作如下:
首先,对当前三维残差卷积层的输入进行三维卷积操作得到卷积结果:
其中,Cov3D表示三维卷积操作,
表示第l-1层三维残差卷积层的输出,其中
和
为第l层三维卷积层(即前述三维卷积操作Cov3D)可训练的参数,f
c为ReLU激活函数;
然后,对三维卷积层输出的卷积结果
中每个元素进行批正则化操作,得到批正则结果
其公式如下:
其中,E[x]表示每维矩阵的均值,Var[x]为每维矩阵的方差,∈是为防止方差为0设置的常数,γ与β为可学习参数;
最后,将批正则结果
再与上一层的输出矩阵
相加,得到第l层三维残差卷积层的输出矩阵
公式为:
S56、在重校正层中对最终输出的结果矩阵X
ST中所有维进行带权压缩操作,得到预测结果
其计算公式如下:
需要注意的是,上述S5中,多方向交通流量预测模型预先通过训练数据进行训练,训练过程中通过损失函数不断迭代预测结果
与真实结果Φ之间的损失值,当达到迭代终止条件时,输出多方向交通流量预测模型用于进行实际的预测。
作为一种多方向交通流量预测模型的损失函数Loss的实现形式,其公式为:
其中
为矩阵
中各个元素的值,
为矩阵Φ中各个元素的值,M为训练样本数。
上述多方向交通流预测模型可以有效地实现对不同方向交通流的预测,其其预测精度明显优于传统数学方法与机器学习相关方法。
在本发明的另一实施例中,还提供了一种云平台,其用于与安装于道路上不同位置的图像抓拍设备和边缘计算设备配合实现交通流预测;
所述图像抓拍设备,用于实时拍摄经过的车流图像,且同一个图像抓拍设备抓拍的车辆行驶方向固定;
所述边缘计算设备与所述图像抓拍设备一一配对,用于获取同一位置的图像抓拍设备拍摄到的所述车流图像,并通过内置的车牌定位模型定位出车流图像中的每一个车牌区域,再通过车牌识别模型识别出每一个车牌区域中的车牌号;
所述云平台通过物联网与不同位置的边缘计算设备通信连接,内部设有数据接收模块、数据融合模块和交通流预测模块;
所述数据接收模块用于实时接收不同位置的边缘计算设备上报的车牌号识别结果以及对应的时间戳和车辆行驶方向;
所述数据融合模块用于将每一个边缘计算设备上报的每个车牌号与对应的时间戳、车辆行驶方向以及边缘计算设备所在坐标关联融合形成一个轨迹点,每一个车牌号的所有连续轨迹点通过调用路径规划算法还原出对应车辆的行驶轨迹,将所有车辆的行驶轨迹作为车流数据存储于历史车流数据库中;
所述交通流预测模块用于从历史车流数据库中读取存储的所述车流数据,并基于经过训练的交通流量预测模型对未来时刻的交通流量进行预测。
需说的是,上述云平台中,各模块中的具体实现方式亦可采用前述基于物联网和边缘计算的交通流预测系统中的做法,对此不再重复赘述。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。