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, 交通分析, 安全规则引擎, 恶意代码分类, 目标检测, 目标跟踪, 计算机视觉, 逆向工具