# 基于yolo11的智能跌倒检测系统 **Repository Path**: summithwang/Fall-Detection ## Basic Information - **Project Name**: 基于yolo11的智能跌倒检测系统 - **Description**: 基于YOLO的实时跌倒检测系统,通过监控视频流实时识别跌倒事件,提供可视化报警功能。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-06-16 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 智能跌倒检测系统 基于YOLO的实时跌倒检测系统,通过监控视频流实时识别跌倒事件,提供可视化报警功能。 ![系统界面示例](resources/image.png) ## 🎯 功能特性 - 实时跌倒检测(支持图片/视频流输入) - 多目标跟踪与行为分析 - 可视化报警界面(置信度热力图、检测框) - 详细检测报告生成(JSON格式) - 模型训练监控(集成SwanLab实验跟踪) ## 🛠️ 技术栈 - **核心框架**: YOLOv8 + Ultralytics - **深度学习**: PyTorch 2.6 + CUDA 12.6 - **界面开发**: Gradio - **辅助工具**: OpenCV、scikit-learn、SwanLab ## ⚙️ 环境安装 ```bash # 安装依赖 (Python 3.8+) pip install -r requirements.txt # 验证GPU支持 python test/torch-test.py ``` ## 📁 数据集准备 ### 数据下载 下载release中数据集与模型文件,解压到项目根目录。 ```bash datasets/ ├── datasets/ # 数据集 ├── model/ # 模型文件 └── train-logs/ # 训练日志 ``` 注:由于附件大小限制,需要前往百度网盘下载 ``` 通过网盘分享的文件:FallDetection.zip 链接: https://pan.baidu.com/s/17a4DTuCJzEQETyNOMC0FuQ?pwd=4x7m 提取码: 4x7m ``` ### 数据准备 数据集包含7782张监控场景图片(清洗后7773张有效数据): - 主要类别:`person`(站立)、`down`(跌倒) - 次要类别:`10+`(多人场景)、`dog`(干扰项) - 划分比例:训练集70% / 验证集10% / 测试集20% ```bash datasets/ ├── images/ # 图像文件 ├── labels/ # 标注文件 └── Readme.txt # 数据集文档 数据处理流程: 1. 数据清洗 data_clean.py 2. 数据标注 data_labels.py 3. 数据划分 data_prepare.py ``` ## 🧠 模型训练 + 配置app_config.yaml ```yaml # 训练参数配置 app: train_enable: True # 开启训练 train: swanble_project_name: "Fall-Detection" # 实验名称 model_version: "v1.0" # 模型版本 pre_trained_model_name: "yolo11x" # 预训练模型 ``` + 启动训练 ```bash # 使用预训练模型yolo11x python app_main.py ``` ## 🖥️ 使用说明 1. 启动检测服务 + 配置app_config.yaml ```yaml # 检测参数配置 app: train_enable: False # 关闭训练 ``` + 启动程序 ```bash # 使用预训练模型yolo11x python app_main.py ``` 2. 访问Web界面 ``` http://localhost:7861 ``` 3. 接口调用示例 ```python from gradio_client import Client, handle_file client = Client("http://localhost:7861/") result = client.predict( img=handle_file('people(10).jpg'), api_name="/detect_fall" ) print(result) ``` 代码在test中,**gradio-api.py** ## 📂 项目结构 ``` FallDetection/ ├── app/ # 应用模块 │ ├── display.py # 检测界面 │ └── train.py # 训练流程 ├── components/ # 组件模块 │ ├── c_config.py # 配置管理 │ └── c_log.py # 日志系统 ├── test/ # 测试脚本 ├── model/ # 模型文件 │ └── Fall-Detection.pt └── datasets/ # 数据集 ``` ## 🤝 贡献指南 1. 创建新分支开发功能 2. 提交Pull Request时附带: - 测试结果截图 - 模型性能指标 - 影响范围说明 ## 📜 许可协议 本项目基于 [Apache License 2.0](LICENSE) 开源,可免费用于学术研究,商业使用需授权。