基于YOLO姿态估计V8的防溺水预警系统
Save People from Drowning Using YOLO POSE ESTIMATION V8
项目概述
本项目结合YOLOv8目标检测与Mediapipe姿态估计技术,实时监测泳池中的人员姿态,当检测到可能溺水的危险姿势时触发警报系统。系统具备视频实时处理功能,可显示人体边界框、姿态关键点、关节角度计算,并配有声音预警机制。
核心功能
- 人员检测:采用YOLOv8精准识别视频中的人员
- 姿态估计:通过17个身体关键点实时追踪人体姿态
- 危险判定:基于关节角度计算识别潜在溺水姿态
- 声音预警:检测到危险姿势时触发MP3警报音
- 视频记录:保存带检测标记的完整处理视频
- 身份追踪:跨帧人员ID绑定追踪技术
技术栈
- YOLOv8:目标检测与姿态估计核心算法
- OpenCV:视频流处理与可视化界面
- Miniaudio:实时音频预警播放引擎
- Mutagen:MP3元数据处理库
- Python 3.7+:项目开发语言
安装指南
2. 安装依赖
执行以下命令安装Python依赖包:
(需预先安装Python 3.7及以上版本)
3. 下载模型权重
下载YOLOv8姿态估计权重文件(yolov8n-pose.pt)并放置到Weights目录:
[YOLOv8 Pose预训练模型]
4. 准备资源文件
- 将待检测视频存入Video目录(如Video/vid.mp4)
- 预警音频文件存入audio目录(如audio/assets_alarm.mp3)
使用说明
启动程序
python Yolo_Code.py
预期输出
- 实时检测界面:显示人体边界框、人员计数及关节角度
- 智能预警:危险姿态触发声音警报
- 视频存档:输出带检测标记的视频文件output_video.avi
目录结构
├── Weights/ # 模型权重目录
│ └── yolov8n-pose.pt
├── Video/ # 输入视频目录
│ └── vid.mp4
├── audio/ # 音频资源目录
│ └── assets_alarm.mp3
├── tracker.py # 人员追踪模块
├── Yolo_Code.py # 主程序
├── requirements.txt # 依赖清单
└── README.md # 说明文档
效果演示
[output_video.mp4]
自定义配置
- 更换视频源:替换Video目录下的视频文件
- 调节灵敏度:修改Yolo_Code.py中的frame_check和角度阈值
- 更换警报音:替换audio目录下的MP3文件