一、项目背景
在智慧城市建设过程中,道路交通监控视频中蕴含着大量有价值的信息。例如,城市管理部门可以通过监控视频分析不同道路、不同时间段的交通流量变化,从而辅助进行交通调度、拥堵分析和道路规划。传统交通流量统计方式主要依赖人工观察、地磁线圈、雷达或固定传感器等方式。这些方法虽然具有一定稳定性,但存在部署成本较高、维护复杂、灵活性不足等问题。随着深度学习目标检测技术的发展,利用道路监控视频自动识别交通参与者,并进一步完成流量统计,已经成为一种更加灵活、低成本且具有推广价值的技术路线。本项目基于自训练 YOLOv8 模型,实现了一个面向道路交通监控场景的智慧交通流量估计系统。系统主要识别三类交通参与者:机动车、非机动车、行人。
二、系统总体介绍
本系统采用 Python 作为主要开发语言,整体技术路线如下:
YOLOv8:用于交通参与者目标检测;
ONNXRuntime:用于部署转换后的 ONNX 模型;
OpenCV:用于视频读取、图像处理和检测结果绘制;
PySide6:用于构建桌面端可视化软件界面;
SQLite:用于保存交通流量统计结果;
PyInstaller:用于后期打包成可执行程序。
系统可支持本地视频、USB 摄像头以及 RTSP 网络监控流输入,能够实时完成目标检测、目标跟踪、跨线计数、数据统计和历史查询。
三、系统运行效果
系统运行后如下图所示,用户可以在主界面中看到实时视频画面。画面中会显示检测框、类别名称、置信度、目标 ID 以及虚拟检测线。右侧统计区域会实时显示:当前机动车数量;当前非机动车数量;当前行人数量;累计进入数量;累计离开数量;当前 FPS。当目标穿越检测线时,系统会自动更新流量统计结果,并定期保存到 SQLite 数据库中。
具体详细过程可以跳转我录制的视频链接:交通流量估计系统
四、总结
本文设计并实现了一套基于 YOLOv8、ONNXRuntime、PySide6 和 SQLite 的智慧城市交通流量估计系统。系统能够接入道路监控视频,对机动车、非机动车和行人进行实时检测,并通过目标跟踪与跨线计数实现交通流量统计。同时,系统具备桌面端可视化界面、历史数据存储、统计结果查询等功能。该系统不仅可以作为智慧交通方向的毕业设计项目,也可以作为道路监控场景下的交通流量统计演示原型。通过将 YOLOv8 模型转换为 ONNX 格式,系统在部署便捷性、运行效率和工程可维护性方面都有较好的表现。后续可进一步结合多目标跟踪算法、多摄像头管理和边缘计算设备,扩展为更加完整的智慧交通感知平台。