随着城市机动车数量爆发式的增长,道路拥堵问题日益严峻,如何缓解交通拥堵是人们共同关注的话题。如果可以预测出城市中行驶的车辆下一时刻会出现在哪里,那么交管部门就可以提前进行道路引导,出行者也可以提前规划出行路线,缩短出行时间。那么如何才能对城市范围内的车流量进行预测,我们利用深度学习技术来解决这一问题。
这一预测问题涉及两个“大”,一是预测范围大,有些城市面积达上万平方公里;二是车辆数量大,截止2017年底,全国有53个城市的汽车保有量超过百万辆,24个城市超200万辆,7个城市超300万辆。
首先,根据经纬度将城市划分为一个个小网格来解决“大”的问题。这样,每个小网格对应的区域面积会小很多,每个网格内的车辆数也少很多。具体的,将城市划分为1km x 1km或2km x 2km的网格,如下图1所示:
图1 城市区域划分接下来,统计每个小网格内的车流量。我们假设在单位时间间隔内,从其他网格驶入目标网格的车辆数称之为驶入流量;从目标网格驶入其他网格的车辆数称之为驶出流量,如图2所示。有了这两个车流量数据,就可以统计出某一时间间隔内所有网格的车流量情况,并绘制成对应的驶入/驶出流量图,如图3所示,图中值代表车流量大小。只要有足够的原始数据,就可以统计出整个城市全时段的车流量。图2 网格内驶入/驶出流量图3 某一时间间隔内所有网格的驶入流量基于上述两步的操作,可以获取丰富的历史车流量数据。我们将城市范围的车流量处理为一幅幅图像,利用卷积神经网络可挖掘出不同网格间的空间相关性;同时这些历史数据具有一定时序性,利用循环神经网络可挖掘出网格内车流量的时间相关性。将这两个网络组合,就可以同时学习到车流量的时空相关性,对未来整个城市的车流量进行预测。这样,我们就可以知道下一刻车辆出现在哪里。
我们利用成都市某年的出租车轨迹数据进行实验,数据包含超一万辆出租车。利用极海平台的模型计算,可以轻松实现城市网格内车流量的统计,如图4所示。
图4 城市网格驶入流量利用这些统计数据进行训练,得到最终预测模型。将模型在某个网格进行预测,预测结果如图5所示,图中可以看到预测值和真实值的比较,以及在未来时刻模型的预测值。模型在整个测试集上不同时间间隔的预测效果如下表1所示,RMSE为均方根误差,MAPE为平均绝对百分比误差。
图5 模型在某网格的预测结果 表1 模型预测结果![alt](/content/images/2018/09/--.jpg)
总结:通过深度学习技术可以实现对城市范围内车流量的预测,并在真实的出租车数据集上进行了验证。但受限于其他类型车辆的数据获取,模型还无法对城市范围真实的车流量状况进行预测。相信在不久的将来,随着公共数据的开放,利用人工智能技术,定可以大大缓解城市交通拥堵的问题。