Skip to content

Latest commit

 

History

History
114 lines (86 loc) · 2.83 KB

File metadata and controls

114 lines (86 loc) · 2.83 KB

人体跌倒检测与跟踪系统

这是一个基于计算机视觉的人体跌倒检测与跟踪系统,可以实时检测视频中的人体跌倒行为,并跟踪人体运动轨迹。

项目架构

项目主要包含以下几个核心模块:

  1. 人体检测模块

    • 使用 YOLOv3 进行人体检测
    • 支持 ONNX 模型加速
    • 输出人体边界框和置信度
  2. 姿态估计模块

    • 使用 AlphaPose 进行人体关键点检测
    • 支持 ONNX 模型加速
    • 输出人体骨架关键点
  3. 目标跟踪模块

    • 使用 SORT 算法进行目标跟踪
    • 基于卡尔曼滤波器的运动预测
    • 支持多目标跟踪和ID保持
  4. 动作识别模块

    • 使用 ST-GCN 模型进行动作分类
    • 支持 ONNX 模型加速
    • 支持跌倒、躺下等动作识别
    • 基于时序骨架序列分析

系统流程

  1. 视频输入处理

    • 支持单视频文件处理
    • 支持批量处理zip压缩包中的视频
    • 支持实时摄像头输入
  2. 检测与跟踪流程

    • 使用 YOLOv3 检测人体
    • 使用 AlphaPose 提取骨架
    • 使用 SORT 算法跟踪目标
    • 使用 ST-GCN 识别动作
  3. 结果输出

    • 生成处理后的视频文件
    • 记录跌倒检测结果
    • 可视化显示检测和跟踪效果

环境要求

  • Python 3.9+
  • CUDA 支持(推荐)
  • OpenCV
  • PyTorch
  • ONNX Runtime
  • 其他依赖见 requirements.txt

安装步骤

  1. 克隆项目
git clone https://github.com/zzy7569/Human-Falling-Detect.git
cd Human-Falling-Detect
  1. 程序包安装
# 1. 建立虚拟环境
conda create -n ar python==3.9

# 2. 安装依赖
pip install -r requirements.txt
  1. 下载预训练模型 可以从百度网盘下载预训练模型:

链接: https://pan.baidu.com/s/1N0eMH_JqXqljgeszBRCQhA
提取码: 7fue

使用方法

  1. 处理单个视频文件
python main.py -C video.mp4 --save_out output_directory
  1. 处理zip压缩包中的多个视频
python main.py --zip_file videos.zip --save_out output_directory
  1. 使用摄像头实时检测
python main.py -C 0  # 0 表示默认摄像头

参数说明

  • -C, --camera: 输入源(视频文件路径或摄像头ID)
  • --zip_file: 包含多个视频的zip文件路径
  • --detection_input_size: 检测模型的输入尺寸(默认416)
  • --pose_input_size: 姿态估计模型的输入尺寸(默认224x160)
  • --show_detected: 显示检测框
  • --show_skeleton: 显示骨架
  • --save_out: 输出目录
  • --device: 运行设备(cpu/cuda)
  • --use_onnx: 使用ONNX模型加速

输出说明

  1. 处理后的视频文件保存在指定输出目录
  2. 检测结果记录在 fall_detection_results.txt 文件中
  3. 结果格式:时间戳 | 视频名称: 检测结果