NishaKhandelwal/early-stampede-risk-detection
GitHub: NishaKhandelwal/early-stampede-risk-detection
基于YOLOv8和OpenCV的实时人群监控原型,通过密度估算与运动分析为公共活动场所提供早期踩踏风险预警。
Stars: 0 | Forks: 0
# 🚨 早期踩踏风险检测系统





# 📖 项目概述
**早期踩踏风险检测系统**是一个由 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绕过, 目标检测, 计算机视觉, 逆向工具, 风险预警