基于YOLOv8的ROI目标检测与速度估计图形界面系统
YOLOv8-ROI-Based-Traffic-Object-Detection-and-Speed-Estim
本项目是一个Python应用程序,利用YOLOv8目标检测模型实现对视频中用户定义感兴趣区域(ROI)内的车辆和行人进行实时检测、追踪与速度估算。系统配备友好的Tkinter图形界面,支持直观的视频选择和处理功能。
🛠 核心功能
✅ 基于Ultralytics YOLOv8的ROI区域目标检测
✅ 车辆与行人的实时追踪(保持唯一ID)
✅ ROI区域内运动物体的速度估算(km/h)
✅ 实时显示边界框、类别标签及速度信息
✅ 按类别统计物体数量(如汽车、卡车、行人等)
✅ 基于Tkinter的文件选择与控制界面
✅ 采用时序平均算法的平滑速度可视化
📷 支持检测的类别
系统可追踪并估算以下YOLOv8类别的速度:
类别ID 类别名称
0 行人
2 汽车
3 摩托车
7 卡车
🖥 图形界面概览
(此处放置界面截图示意)
• 视频选择:通过文件对话框选择视频文件
• ROI设定:使用OpenCV交互式选择感兴趣区域
• 开始处理:启动检测与追踪窗口
🎯 ROI选择界面
当用户选择视频文件后,将弹出该窗口用于定义感兴趣区域(ROI)。ROI功能可集中处理画面特定区域的车辆/行人。
(此处放置ROI选择示意图)在目标区域绘制矩形框即可开始追踪
🚦 实时检测与速度估算
主输出窗口将显示ROI区域内检测到的物体、分配ID、实时速度估算(km/h)及类别标签。
(此处放置检测效果图)车辆与行人将附带实时速度信息和唯一ID标识
⚙️ 安装指南
🔧 运行环境要求
• Python 3.10.11
• 推荐使用支持CUDA的GPU(保障实时性能)
📦 依赖项安装
通过pip安装所需依赖:
pip install ultralytics8.3.116
opencv-python4.10.0.84
deep-sort-realtime1.3.2
numpy1.25.2
torch2.5.1+cu118
torchvision0.20.1+cu118
torchaudio2.5.1+cu118
matplotlib3.10.0
seaborn0.13.2
tqdm4.67.1
pandas2.2.3
scipy1.9.3
(注:译文在保持技术准确性的基础上,对GUI、ROI等专业术语采用中文括号标注英文原词的处理方式;将英文的被动语态转换为中文主动表述;对功能列表进行了符合中文技术文档习惯的排版优化;"real-time"统一译为"实时"以保持术语一致性;长句按中文表达习惯进行合理切分)