NishaKhandelwal/early-stampede-risk-detection

GitHub: NishaKhandelwal/early-stampede-risk-detection

基于YOLOv8和OpenCV的实时人群监控原型,通过密度估算与运动分析为公共活动场所提供早期踩踏风险预警。

Stars: 0 | Forks: 0

# 🚨 早期踩踏风险检测系统 ![Python](https://img.shields.io/badge/Python-3.11-blue) ![YOLOv8](https://img.shields.io/badge/YOLOv8-Ultralytics-red) ![OpenCV](https://img.shields.io/badge/OpenCV-ComputerVision-green) ![Flask](https://img.shields.io/badge/Flask-Backend-black) ![License](https://img.shields.io/badge/License-MIT-yellow) # 📖 项目概述 **早期踩踏风险检测系统**是一个由 AI 驱动的监控原型,旨在从 CCTV 摄像头或上传的视频源中检测潜在的危险人群状况。 该系统不识别个人身份,而是通过估算人群密度和运动模式来分析**人群级别的行为**。其目标是提供一个**早期预警系统**,协助相关部门在大型公共聚会期间做出及时的决策。 本项目作为**工程毕业设计**进行开发,展示了使用计算机视觉进行实时人群分析的可行性。 # 🎯 目标 - 从 CCTV/视频流中检测人员 - 统计人员数量 - 估算人群密度 - 分析人群移动 - 检测异常人群行为 - 生成早期踩踏风险警报 - 通过仪表盘显示实时监控 # 🏗 系统架构 ``` CCTV Camera │ ▼ Frame Extraction (OpenCV) │ ▼ YOLOv8 Person Detection │ ▼ Crowd Counting │ ▼ Crowd Density Estimation │ ▼ Optical Flow Motion Analysis │ ▼ Rule-Based Risk Assessment │ ▼ Flask Backend API │ ▼ Live Monitoring Dashboard ``` # ✨ 功能 ## AI 检测 - YOLOv8 行人检测 - Bounding Box 标注 - 置信度过滤 - 人群计数 ## 人群分析 - 人群密度估算 - 帧统计 - 实时指标 - 密度分类 ## 运动分析 - 光流法 - 人群运动检测 - 恐慌运动检测 - 运动评分 ## 风险评估 - SAFE - WARNING - HIGH RISK 使用基于规则的决策逻辑。 ## 仪表盘 - 实时视频流 - 人群计数 - 密度级别 - 运动评分 - 警报状态 - 分析 # 🛠 技术栈 ## 后端 - Python - Flask - OpenCV - YOLOv8 (Ultralytics) - NumPy ## 前端 - HTML - CSS - JavaScript - React (仪表盘) ## AI 模型 - YOLOv8 Nano (预训练) - COCO Dataset # 📂 项目结构 ``` early-stampede-risk-detection/ │ ├── README.md ├── requirements.txt ├── backend/ │ │ ├── app/ │ │ │ ├── api/ │ ├── services/ │ ├── streaming/ │ ├── database/ │ ├── utils/ │ ├── models/ │ └── core/ │ ├── frontend/ │ ├── datasets/ │ ├── notebooks/ │ ├── docs/ │ └── screenshots/ ``` # 👥 团队结构 ## Nisha – AI 检测模块 负责: - YOLOv8 集成 - 行人检测 - 人群计数 - 密度估算 - 帧标注 - 视频检测流水线 文件 ``` detection_service.py density_service.py annotation_service.py video_detection_service.py statistics_service.py logger_service.py ``` ## Sonia – 运动分析 负责: - 光流法 - 人群运动分析 - 恐慌检测 - 风险分类 文件 ``` motion_service.py risk_service.py ``` ## Rishika – 后端开发 负责: - Flask API - 视频处理 - CCTV 集成 - 数据库 - 流媒体 ## Srutilekha – 前端仪表盘 负责: - 仪表盘 UI - 实时监控 - 警报 - 分析 - 前端集成 # ⚙ 安装说明 克隆仓库 ``` git clone https://github.com/your-username/early-stampede-risk-detection.git cd early-stampede-risk-detection ``` 创建虚拟环境 Windows ``` python -m venv venv venv\Scripts\activate ``` Linux ``` python3 -m venv venv source venv/bin/activate ``` 安装依赖项 ``` pip install -r requirements.txt ``` # ▶ 运行后端 ``` cd backend python app/main.py ``` # ▶ 运行前端 ``` cd frontend npm install npm run dev ``` # 📷 输入源 系统支持 - 示例图像 - 上传的视频 - 网络摄像头 - RTSP 摄像头流 - CCTV 摄像头 # 📊 输出 系统提供 - 带标注的视频 - 人员计数 - 人群密度 - 运动评分 - 风险等级 - 实时仪表盘 # 🚦 风险等级 | 密度 | 运动 | 警报 | |----------|---------|--------| | 低 | 稳定 | SAFE | | 中 | 适中 | WARNING | | 高 | 混乱 | HIGH RISK | # 🔒 隐私与道德 本项目遵循隐私保护原则。 ✔ 无面部识别 ✔ 无身份追踪 ✔ 不收集个人信息 ✔ 仅进行人群级别分析 该系统作为**决策支持工具**,不能替代人工判断。 # 📈 未来增强功能 - 多摄像头监控 - 热力图 - 人员追踪 (ByteTrack) - 情绪分析 (可选 DeepFace) - 短信 / 电子邮件警报 - 移动应用 - 云端部署 - 预测性 AI 模型 # 📚 文档 项目文档可在以下位置找到 ``` docs/ ``` 包括 - 架构 - API 文档 - 部署指南 - 安装指南 # 📸 截图 项目截图将添加至 ``` screenshots/ ``` # 🤝 贡献 每个团队成员在独立的 Git 分支上工作。 ``` main ai-detection motion-analysis backend-api frontend-dashboard ``` 在合并到主分支之前,请创建 Pull Request。 # 📄 许可证 本项目用于教育和研究目的。 MIT License。 # ⭐ 致谢 - Ultralytics YOLOv8 - OpenCV - Flask - React - COCO Dataset - Python 社区 # 📬 联系方式 工程毕业设计 **早期踩踏风险检测系统** 如有疑问或贡献,请在 GitHub 上创建 Issue 或 Pull Request。
标签:Flask, YOLOv8, 人工智能, 人群监控, 用户模式Hook绕过, 目标检测, 计算机视觉, 逆向工具, 风险预警