Varn1t/TraffiQ

GitHub: Varn1t/TraffiQ

TraffiQ 是一个基于AI的实时交通分析系统,用于车辆检测、流量统计和拥堵预测。

Stars: 70 | Forks: 6

# 🚦 TraffiQ — 基于AI的交通分析系统 一个专业级的实时交通分析系统,基于 **YOLOv8**、**ByteTrack** 和 **Flask** 构建。能够检测和追踪用户自定义车道中的车辆,计算每车道统计信息,标记事件,测量速度,并将所有数据通过带有紫黑渐变UI的实时网络仪表盘展示出来。 其特色是一个高级的双向交互式**控制面板**,允许在不重启系统的情况下实时配置参数。 ## ✨ 功能特点 ## ⚙️ 交互式控制面板与侧边栏 TraffiQ 通过其动态双向**控制面板**,从一个被动监视器转变为一个主动控制中心: * **可折叠侧边栏:** 通过悬浮的齿轮(`⚙️`)按钮或 `Escape` 键打开和关闭控制台。设计采用模糊背景和霓虹紫色发光主题。 * **可视化模式切换:** 动态切换激活的处理模式(`车道`、`热力图`、`速度`、`计时器`)。底层的 OpenCV 管线会即时渲染相应的覆盖图层。 * **动态速度触发阈值:** 通过滑块控件即时调整超速抓拍阈值(20 - 120 公里/小时)。边界框会即时高亮显示超速车辆。 * **事件超时配置:** 动态滑动调整停止车辆检测阈值(2秒 - 30秒)。 * **YOLO 置信度滑块:** 滑动检测阈值(0.10 - 0.95)以即时过滤背景噪声或增加目标检测密度。 * **智能冷却锁定:** 设有稳健的5秒交互冷却保护。当快速重复操作时,会显示一个琥珀色玻璃警告横幅,提示 `Please wait 5 seconds before you change`,并在失败时自动将滑块/模式恢复到已验证的后端状态。 ## 🚀 快速开始 ### 2. 安装依赖 ``` pip install -r requirements.txt ``` ### 3. 设置凭据 复制示例环境文件并填入您自己的值: ``` cp .env.example .env ``` 编辑 `.env` 文件: ``` DASH_USER=your_username DASH_PASS=your_password ``` ### 4. 添加您的视频文件 将您的交通视频放置在项目文件夹中,并更新 `config.py` 里的 `VIDEO_PATH`: ``` VIDEO_PATH = "Traffic_Video.mp4" ``` ### 5. 运行系统 ``` python main.py ``` 1. **ROI 选择框:** 应用程序会打开一个交互式的 OpenCV 选择窗口。使用鼠标为每个车道绘制矩形边界。 2. **按下 ENTER** 键确认车道设置。 3. YOLOv8 模型在后台线程中运行,开始本地摄像机回放,并启动实时仪表盘。 4. 在浏览器中打开 **http://localhost:5050**,登录并动态控制系统。 ## 🛠️ 技术栈 - **Python** — 核心逻辑 - **YOLOv8** (Ultralytics) — 车辆检测 - **ByteTrack** (Supervision) — 多目标追踪 - **OpenCV** — 视频处理与热力图覆盖 - **Flask** — Web 服务器与 REST API - **Chart.js** — 实时仪表盘图表 - **scikit-learn** — 基于随机森林的交通预测 - **Vanilla CSS** — 高级玻璃拟态风格与动画 ## 📁 项目结构 ``` traffiq/ ├── main.py # Main entry point & video processing loop ├── config.py # Configuration variables and thresholds ├── state.py # Thread-safe shared state & stats tracking ├── loggers.py # Logging classes (CSV, SpeedCamera) ├── analytics.py # Core logic: ML predictor, incident detection, flow rates ├── templates.py # UI: Dashboard and landing page HTML ├── web_app.py # Flask application logic ├── requirements.txt # Python dependencies ├── .env.example # Credential template (copy → .env) ├── .gitignore └── README.md ``` ## 📄 许可证 版权所有,归属于 Varn1t *由 Varnit 构建*
标签:AI交通, ByteTrack, Flask, OpenCV, Python, Web仪表板, YOLOv8, 事件检测, 交互式控制, 交通分析, 交通拥堵, 交通智能, 交通预测, 城市交通, 实时数据, 控制面板, 无后门, 智能交通, 智能城市, 目标跟踪, 移动系统, 视频分析, 车辆检测, 车道管理, 逆向工具, 速度测量