Nikhil-Dubey-0/Traffic-Monitoring-System

GitHub: Nikhil-Dubey-0/Traffic-Monitoring-System

基于 YOLOv8 与规则引擎的实时交通监控系统,通过计算机视觉实现车辆检测、速度估算与拥堵分级。

Stars: 0 | Forks: 0

# 🚗 AI 驱动的智能交通监控系统 这是一个使用计算机视觉进行实时交通监控的**应用机器学习**(Applied Machine Learning)项目。该系统使用预训练的 YOLOv8 模型进行车辆检测,并结合基于规则的拥堵分类。 ## 🎯 什么是“应用机器学习”? 该项目展示了**应用机器学习**——将预训练的深度学习模型用于实际应用,而不是从头开始训练。大多数生产级机器学习系统都是这样工作的: - **车辆检测**:YOLOv8(预训练 CNN)- 自动下载 - **运动追踪**:基于质心的算法 - **拥堵分类**:基于规则的阈值(每车道车辆数 + 速度) ## ✨ 功能 - 🚗 实时车辆检测与计数 - 📊 拥堵程度分类(轻/中/重) - 🚦 运动追踪与速度估算 - 📈 交互式 Streamlit 仪表盘 - 🎥 支持视频文件和上传 ## 🌐 在线演示 **[在 Streamlit Cloud 上试用](https://nikhil-dubey-0-traffic-monitoring-system.streamlit.app)** ## 🚀 快速开始 ``` # Clone repository git clone https://github.com/YOUR_USERNAME/Traffic-Monitoring-System.git cd Traffic-Monitoring-System # 安装 dependencies pip install -r requirements.txt # 运行 dashboard streamlit run src/dashboard/app.py ``` ## 📁 项目结构 ``` Traffic_Monitoring_System/ ├── src/ │ ├── detection/ # Vehicle detection & tracking (ACTIVE) │ │ ├── vehicle_detector.py # YOLOv8 detection │ │ ├── video_processor.py # Video frame processing │ │ └── motion_tracker.py # Speed estimation │ ├── dashboard/ # Streamlit UI (ACTIVE) │ │ ├── app.py # Main dashboard │ │ └── components.py # UI components │ ├── classification/ # PLACEHOLDER - for future ML classifier │ ├── features/ # PLACEHOLDER - for feature extraction │ ├── accident/ # PLACEHOLDER - for accident detection │ ├── config.py # Configuration settings │ └── utils.py # Helper functions ├── scripts/ # Demo scripts ├── test_videos/ # Sample test videos ├── requirements.txt └── README.md ``` ## 🔧 占位模块 这些模块为未来的机器学习实现做好了准备: | 模块 | 用途 | 状态 | |--------|---------|--------| | `classification/` | 基于机器学习的拥堵分类器 | 占位符 - 当前改用基于规则的方法 | | `features/` | 用于训练的特征提取 | 占位符 - 当前未使用 | | `accident/` | 事故/异常检测 | 占位符 - 需要带有标签的数据集 | ## 📊 拥堵程度如何计算 **每车道阈值:** | 级别 | 车辆数/车道 | |-------|---------------| | 🟢 轻 | 0-2 | | 🟡 中 | 3-5 | | 🔴 重 | 6+ | **速度调整:** - 停滞的交通会提升拥堵级别 - 车辆多且行驶缓慢 = 拥堵更严重 ## 🛠️ 技术栈 - **Python 3.8+** - **YOLOv8** (Ultralytics) - 车辆检测 - **OpenCV** - 视频处理 - **Streamlit** - 仪表盘 UI - **NumPy/Pandas** - 数据处理 ## 📝 环境依赖 ``` ultralytics>=8.0.0 opencv-python>=4.8.0 streamlit>=1.28.0 numpy>=1.24.0 pandas>=2.0.0 plotly>=5.15.0 ``` ## 🎥 添加测试视频 将您的交通视频放入 `test_videos/` 文件夹。支持的格式:`.mp4`、`.avi`、`.mov` ## 📄 许可证 MIT 许可证 ## 🤝 贡献 欢迎贡献!尤其是以下几个方面: - 使用带标签的数据训练拥堵分类器 - 实现事故检测 - 添加车道检测
标签:Apex, Kubernetes, Python, Streamlit, YOLOv8, 交通监控, 无后门, 机器学习, 目标检测, 计算机视觉, 访问控制, 逆向工具