2.4 KiB
2.4 KiB
行为分析系统
项目概述
这是一个基于视频分析的行为识别系统,能够从监控视频中识别和分析人员行为,生成分析报告。系统包含视频采集、人脸识别、行为分析和Web接口等多个模块。
系统架构
Web应用层 (app/)
main.py: FastAPI Web应用主程序,提供REST API接口models.py: 数据模型和业务逻辑处理config.py: 系统配置文件
功能模块层 (function/)
-
视频采集模块
rtsp2video.py: RTSP视频流采集和录制video2image.py: 视频关键帧提取
-
人脸分析模块
face.py: 人脸检测和识别face-emb.py: 人脸特征提取pose.py: 人体姿态检测
-
行为分析模块
qwen.py: 基于Qwen2-VL-7B模型的视频内容分析info.json: 行为和场景类别定义
主要功能
1. 视频采集
- 支持多路RTSP视频流采集
- 定时录制视频片段
- SFTP自动上传备份
2. 人脸识别
- 实时人脸检测
- 人脸特征提取和匹配
- 身份识别和记录
3. 行为分析
- 人体姿态检测
- 行为识别和分类
- 场景理解
- 异常行为检测
4. Web接口
- 摄像头数据查询
- 分析报告生成
- 历史数据下载
数据存储
- 使用Redis数据库存储处理结果
- 支持多个数据库实例,用于不同摄像头数据隔离
- 实现数据缓存和过期策略
配置说明
系统配置集中在config.py文件中,包括:
- Redis连接配置
- 摄像头数据库映射
- 行为类别定义
- 缓存策略设置
- AI模型配置
部署要求
- Python 3.8+
- CUDA支持
- Redis服务器
- 足够的存储空间用于视频存储
使用说明
- 确保配置文件中的各项参数正确设置
- 启动Redis服务
- 运行视频采集模块:
python rtsp2video.py - 运行分析模块:
python video2image.pypython pose.pypython face.pypython qwen.py
- 启动Web服务:
python main.py
API接口
- GET
/web/face/{camera_id}/data: 获取人脸识别数据 - GET
/web/{camera_id}/data: 获取行为分析数据 - GET
/web/report/{date}: 获取日期分析报告 - GET
/web/report/download/{date}: 下载分析报告
注意事项
- 确保系统有足够的GPU内存用于模型推理
- 定期清理过期数据
- 监控系统资源使用情况
- 及时处理错误日志