使用机器学习的道路交通预测(GRU 模型)
使用机器学习的道路交通预测(GRU 模型)
动机或想法 — 这个博客的全部和唯一目的是解决我们现在面临的普遍问题,即堵车。我试图创建一个简单的机器学习应用程序来解决这个问题。
由于我必须在我的 GSoC 阶段选择一个业务垂直领域——我选择 smart 作为我的垂直领域,并试图解决这个垂直领域中非常常见的问题
智能如垂直 — 我们中的许多人都非常熟悉这个词 聪明的 .在我看来,凡是有能力和感觉去做某事的东西都属于聪明的范畴。
Smart现在已经成为象征一个人和任何一种商品的后缀。
适用于智能手机、智能电视、智能城市等等……
更具体地说,该项目属于智慧城市。
应用概述
该应用程序有两个接口
- 消费者界面 - 在这个界面中,我们作为用户可以输入我们通勤的日期和时间来获取特定时间的交通流量,这将有助于用户计划他们的行程
- 管理界面 — 在此界面中,DOT(Department of Transportation)可以访问安装在道路上的摄像头并查看交通的实时流
他们还可以下载视频并对视频进行车辆计数,以更好地了解交通情况并获取更多数据
我们将在后面的博客中探索这两个接口!!!
先决条件
首先,我们必须安装以下导入到 model.py 中的库
在model.py中使用pip命令安装上述库
之后从下面给出的 Kaggle 数据集链接下载数据集
Kaggle 数据集—— https://www.kaggle.com/datasets/sampanacharya1/traffic-dataset
然后在中指定训练和测试 CSV 文件的路径
#从文件中读取数据到数据帧 在 ** 模型.py**
GRU 是我用来预测流量的模型。
GRU 报告中的博客 — https://towardsdatascience.com/understanding-gru-networks-2ef37df6c9be
您可以从这里了解更多关于 GRU 的信息!!!
创建的 GRU.h5 用于下一步的道路交通预测。
在下一步中,我们将使用烧瓶创建一个消费者界面,用户可以在其中与我们的模型进行交互并获得他们输入的预测,并相应地计划他们的通勤
消费者界面
首先,使用 pip 命令下载 app.py 中需要的所有库
app.py 使用许多 HTML 和 CSS 文件来创建 Web 应用程序的前端
我在 webapp 文件夹中打包了运行 app.py 所需的所有文件和文件夹
您可以从我最后提到的 github 存储库中下载 webapp 文件夹
Consumer interface
我们可以输入日期和时间来预测特定道路的交通情况。
当我们单击右上角的铃铛图标按钮时,如果由于某些特定原因导致交通拥堵,我们可以获得有关特定道路的一般通知
截至目前,我的单条道路数据集有限,因此我不会从用户那里获取有关特定路线的输入。
但是我想出了一个解决方案,通过它我们可以解决特定道路的有限数据集问题,我们可以在我们的管理界面中讨论。
管理界面
让我们首先讨论这个问题:
我有一个非常有限的数据集,也是一条道路。
方法:
我们可以生成更多此类数据集并为不同的道路创建模型,然后我们可以从用户那里获取输入并向他们展示对该特定道路的预测。
解决方案:
让我们在我们的 Web 应用程序上实现这种方法并更进一步!!!
注意 — 管理员可以通过单击用户界面右上角的按钮来访问管理面板,并且可以通过他们的管理员 ID 和密码访问
为此,我们可以在道路上安装一个网络摄像头,以 24x7 持续监控道路交通
Webcam access from the admin panel
有一个来自 DOT(交通部)的团队,他们可以通过网络摄像头访问实时流,并且可以执行几项任务-
任务1 -
- 他们可以记录那条路上的交通视频
- 通过 Enter 指定道路名称 道路名称
列,为该特定道路录制视频,最后运行该特定视频上的 vehiclecounter.py 脚本 - 车辆计数器.py 脚本将视频作为输入并输出从该视频创建的每 5 分钟车辆流量的 CSV 文件
通过这种方式,我们可以解决特定道路的数据集问题
任务 2——
他们可以从网络摄像头访问实时流,检查道路情况,并分享该特定道路上的交通原因,作为向用户的一般通知
该项目的代码链接可以在这里找到:
Github 仓库 — https://github.com/akshat5302/GSoC_TrafficApp
结论 -
交通管理的主要目标是使货物和人员的流动尽可能高效、有序和安全。
交通管理是任何国家的主要问题,尤其是在印度,那里的交通管理数量巨大。每天的交通流量
在这篇博客中,我展示了我对如何解决交通问题的理解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明