prachi-singh29/smart-traffic-analytics

GitHub: prachi-singh29/smart-traffic-analytics

基于 YOLOv8 和 OpenCV 的实时交通视频车辆检测与分析系统,采用模块化架构并规划了跟踪、计数、速度估计等完整的交通分析流水线。

Stars: 0 | Forks: 0

# 🚦 智能交通分析系统 这是一个模块化的 **Computer Vision** 项目,使用 **YOLOv8** 实时分析交通视频以检测车辆。本项目采用增量开发模式,侧重于清晰的架构、可扩展性以及生产级的软件工程实践。 未来的里程碑将包括目标跟踪、车辆计数、速度估计、拥堵分析、热力图生成以及交互式分析仪表板。 ## 📌 项目状态 **当前进度:** 第 2 步已完成 ✅ ### 已完成功能 * 项目架构和模块化文件夹结构 * 使用 YAML 进行配置管理 * YOLOv8 车辆检测 * 检测类别: * 汽车 * 摩托车 * 公交车 * 卡车 * 可配置的置信度和 IoU 阈值 * 通过配置支持 CPU/CUDA * 模块化检测器实现 * 带有标注边界框的视频推理 * 日志记录和配置实用程序 ### 即将推出的功能 * 使用 ByteTrack 进行车辆跟踪 * 持久的车辆 ID * 车辆计数 * 分车道交通分析 * 速度估计 * 拥堵检测 * 热力图 * 交互式 Streamlit 仪表板 * 生成 CSV 报告 # 演示 # 项目架构 ``` Traffic Video │ ▼ Frame Extraction │ ▼ YOLOv8 Vehicle Detection │ ▼ Vehicle Detections (Current Progress) ────────────────────────────────────────────── Upcoming Pipeline Vehicle Tracking (ByteTrack) │ ▼ Vehicle Counting │ ▼ Traffic Analytics │ ▼ Dashboard & Reports ``` # 技术栈 ### 编程语言 * Python 3.11+ ### 计算机视觉 * OpenCV * Ultralytics YOLOv8 ### 数据处理 * NumPy * Pandas ### 可视化 * Streamlit *(计划中)* * Plotly *(计划中)* ### 实用工具 * PyYAML * Loguru * tqdm ### 测试 * pytest # 项目结构 ``` smart-traffic-analytics/ │ ├── app/ ├── assets/ ├── configs/ │ ├── detector.yaml │ ├── tracker.yaml │ └── app_config.yaml │ ├── data/ │ ├── videos/ │ ├── outputs/ │ └── reports/ │ ├── docs/ ├── logs/ ├── models/ ├── notebooks/ ├── scripts/ │ ├── src/ │ ├── detector/ │ ├── tracker/ │ ├── calibration/ │ ├── analytics/ │ ├── visualization/ │ ├── dashboard/ │ ├── pipeline/ │ └── utils/ │ ├── tests/ ├── README.md ├── requirements.txt └── main.py ``` # 车辆检测 目前的实现使用 **YOLOv8** 对交通视频进行实时车辆检测。 ### 支持的车辆类别 * 汽车 * 摩托车 * 公交车 * 卡车 每一帧都会被处理并标注以下内容: * 边界框 * 车辆类别标签 * 置信度分数 检测器完全可以通过 YAML 文件进行配置,允许在不修改源代码的情况下调整置信度阈值、IoU 阈值、模型选择和推理设备。 # 配置 项目设置使用 YAML 配置文件进行管理。 ### detector.yaml * YOLO 模型路径 * 置信度阈值 * IoU 阈值 * 设备 (CPU/CUDA) * 车辆类别 ### tracker.yaml 预留给 ByteTrack 配置。 ### app_config.yaml 存储应用的全局设置,例如输入/输出目录。 # 安装 克隆仓库: ``` git clone https://github.com//smart-traffic-analytics.git cd smart-traffic-analytics ``` 创建虚拟环境: ``` python -m venv venv ``` 激活环境: ### Windows ``` venv\Scripts\activate ``` ### Linux/macOS ``` source venv/bin/activate ``` 安装依赖项: ``` pip install -r requirements.txt ``` # 用法 将交通视频放入: ``` data/videos/ ``` 运行应用程序: ``` python main.py ``` 处理后的视频将显示检测到的车辆及标注的边界框。 # 开发路线图 * [x] 项目设置 * [x] 模块化架构 * [x] YAML 配置系统 * [x] YOLOv8 车辆检测 * [ ] ByteTrack 集成 * [ ] 车辆跟踪 * [ ] 车辆计数 * [ ] 分车道交通分析 * [ ] 速度估计 * [ ] 拥堵检测 * [ ] 热力图生成 * [ ] 交互式 Streamlit 仪表板 * [ ] 导出 CSV 分析数据 # 未来增强功能 * 自动车牌识别 (ANPR) * 逆行车辆检测 * 交通信号违规检测 * 紧急车辆检测 * 停车位占用分析 * 多摄像头支持 * 云部署 * 用于实时分析的 REST API # 学习目标 本项目旨在探索现代计算机视觉概念,包括: * 目标检测 * 多目标跟踪 * 交通分析 * 相机标定 * 单应性 * 速度估计 * 数据可视化 * 生产级软件架构 # 许可证 本项目基于 MIT 许可证授权。 ## ⭐ 如果您觉得这个项目有用,请考虑给它点个 Star!
标签:Kubernetes, YOLOv8, 交通分析, 安全规则引擎, 恶意代码分类, 目标检测, 目标跟踪, 计算机视觉, 逆向工具