2025-01-23 09:54:08 +00:00
2025-01-23 09:54:08 +00:00
2025-01-23 09:05:45 +00:00
2025-01-23 09:05:45 +00:00
2025-01-23 09:05:45 +00:00
2025-01-23 09:05:45 +00:00
2025-01-23 09:05:45 +00:00
2025-01-23 09:05:45 +00:00

监控视频分析系统

项目简介

本项目是一个基于视觉语言模型的行为识别系统,用于识别和分析监控视频中的人类行为。系统包含视频采集、人脸识别、行为分析和Web展示等多个模块。

更新日志

  • 2025-01-23 更新代码结构
  • 2025-01-15 将生成行为分析报告功能改为后台进行,不阻塞其他路由使用,API从siliconflow改为deepseek
  • 2025-01-14 修复了时间轴事件在筛选后显示不全的问题,更新了时间轴颜色配置,优化了动作类别
  • 2025-01-12 Initial commit

后端模块 (app/)

  • main.py: FastAPI Web应用主程序
  • models.py: 数据模型和业务逻辑
  • config.py: 系统配置文件

功能模块 (function/)

  1. 视频采集模块

    • rtsp2video.py: RTSP视频流采集和录制
    • video2image.py: 视频关键帧提取
  2. 人脸分析模块

    • face.py: 人脸检测和识别
    • face-emb.py: 人脸特征提取
    • pose.py: 人体姿态检测
  3. 行为分析模块

    • qwen.py: 基于Qwen2-VL-7B模型的视频内容分析
    • info.json: 行为和场景类别定义

前端界面 (frontend/)

  • web.html: 主界面文件
  • cls.js: 行为类别及颜色配置

数据存储 (files/)

  • recordings/: 视频录制目录
  • images/: 图片存储目录
  • crop/: 人体裁剪图片目录
  • data/: 人脸特征数据目录

主要功能

1. 视频采集

  • 支持多路RTSP视频流采集
  • 定时录制视频片段
  • SFTP自动上传备份

2. 人脸识别

  • 实时人脸检测
  • 人脸特征提取和匹配
  • 身份识别和记录

3. 行为分析

  • 人体姿态检测
  • 行为识别和分类
  • 场景理解
  • 异常行为检测

4. Web接口

  • 摄像头数据查询
  • 分析报告生成
  • 历史数据下载

部署说明

服务器配置

Redis配置

  • 服务器: 222.186.10.253
  • 数据库映射:
    • 摄像头数据: 210、211
    • 人脸注册数据: 212
    • 分析报告: 213

部署步骤

  1. 确保配置文件中的各项参数正确设置

  2. 启动Redis服务

  3. 使用启动脚本运行所有服务:

    chmod +x start.sh stop.sh  # 首次运行时赋予执行权限
    ./start.sh                 # 启动所有服务
    ./stop.sh                  # 停止所有服务
    

    或者手动依次启动各个模块:

    • python app/function/rtsp2video.py
    • python app/function/video2image.py
    • python app/function/pose.py
    • python app/function/face.py
    • python app/function/qwen.py
  4. 启动web程序: python app/app/main.py

服务管理

  • 启动脚本 start.sh 会自动:

    • 创建日志目录
    • 检查必要文件是否存在
    • 按顺序启动所有服务
    • 监控服务启动状态
    • 所有日志保存在 logs/ 目录下
  • 停止脚本 stop.sh 会:

    • 按顺序停止所有Python进程
    • 检查进程是否成功停止
    • 显示任何未能正常停止的进程

注意事项

  • 所有目录都已通过 .gitkeep 文件保持在版本控制中
  • 各目录中的实际数据文件已通过 .gitignore 配置忽略
  • 确保系统有足够的GPU内存用于模型推理
  • 定期清理过期数据
  • 监控系统资源使用情况
S
Description
No description provided
Readme 492 KiB
Languages
HTML 50.4%
Python 46.8%
JavaScript 1.7%
Shell 1.1%