Lavanya14hs/Video-analysis-platform
GitHub: Lavanya14hs/Video-analysis-platform
一个基于深度学习的视频分析平台,通过物体检测和行为识别模型实现对打架、事故和人群聚集等突发事件的自动检测。
Stars: 1 | Forks: 1
# 视频分析平台
一个包含物体检测、打架检测、事故检测和人群检测的视频事件分析系统。
## 项目结构
- `api/` - 提供 video 分析 endpoint 的 FastAPI 服务
- `backend/` - 分析逻辑和模型实用工具
- `frontend/` - 用于上传和查看结果的 React UI
- `models/` - 分析器使用的已训练模型文件
- `logs/` - 生成的日志文件和快照
- `temp/` - 临时上传存储
## 快速开始
### Python 后端
1. 创建 Python 虚拟环境。
```
python -m venv .venv
.\.venv\Scripts\Activate.ps1
```
2. 安装所需的 Python 依赖。
```
pip install fastapi uvicorn opencv-python ultralytics numpy
```
3. 运行 API 服务器。
```
uvicorn api.main:app --reload
```
### 前端
1. 安装前端依赖。
```
cd frontend
npm install
```
2. 启动 React 应用。
```
npm start
```
## 部署
本项目专为支持带有 ML 模型 Python 后端的平台而设计。
### 推荐:Railway
Railway 为此类应用提供了最佳的支持。
1. 在 [railway.app](https://railway.app) 创建账户
2. 安装 Railway CLI:`npm install -g @railway/cli`
3. 登录:`railway login`
4. 初始化:`railway init`
5. 部署:`railway up`
该项目包含用于部署的 `requirements.txt`、`Procfile`、`railway.json` 和 `Dockerfile`。
`Dockerfile` 安装了 OpenCV 在 headless 模式下所需的系统库,这是推荐的部署方式。
### 其他选项
有关 Railway、Render 和 Heroku 部署的详细说明,请参阅 `DEPLOYMENT.md`。
### Vercel 的限制
Vercel 不适合本项目,因为:
- 没有 ML 模型的 Python runtime
- 存储和计算资源有限
- 无法处理 video 处理工作负载
## 注意事项
- 将你的模型权重保留在 `models/` 文件夹中,尤其是 `yolov8n.pt`、`fight_detection.pt` 和 `accident_detection.pt`。
- 使用 `temp/` 进行上传,并定期对其进行清理。
- 避免将大型模型文件或敏感密钥提交到 Git。
标签:AV绕过, FastAPI, React, Syscalls, 人工智能, 异常检测, 用户模式Hook绕过, 目标检测, 视频分析, 计算机视觉, 请求拦截, 逆向工具