|
|
||
|---|---|---|
| __pycache__ | ||
| test | ||
| QUICK_START.md | ||
| README.md | ||
| VOICE_UPGRADE_GUIDE.md | ||
| audio_service.py | ||
| config.json | ||
| fall_detection.log | ||
| fall_detector.py | ||
| main.py | ||
| ngrok.yml | ||
| notification_service.py | ||
| requirements.txt | ||
| start.bat | ||
| test_audio.py | ||
| test_repeat_alert.py | ||
| web_server.py | ||
| 别担心 我已经通知了家人 他们很快就会来.m4a | ||
| 警告 检测到摔倒事件 请立即查看 .m4a | ||
README.md
老年人防摔监控系统 v2.0 - Windows版
基于计算机视觉的智能老年人防摔监控系统,集成了实时视频监控、摔倒检测、远程推送和Web界面等功能。专为Windows环境优化,支持多平台部署。
🚀 主要功能
核心功能
- 实时摔倒检测: 基于MediaPipe的人体姿态识别,准确检测摔倒事件
- Windows系统通知: 摔倒事件触发系统通知弹窗
- 远程监控: 通过Web界面实时查看监控画面
- 智能推送: 支持微信、邮件、短信等多渠道消息推送
- 移动端适配: 专门优化的手机端监控界面
技术特性
- 高性能检测: 优化的算法确保低延迟和高准确率
- 模块化设计: 松耦合的组件架构,便于维护和扩展
- 多平台支持: 支持Atlas设备和普通PC环境
- 配置灵活: 丰富的配置选项,适应不同使用场景
📋 系统要求
硬件要求
- 推荐配置: Windows 10/11 64位系统
- 最低配置: Windows 7 64位系统
- 摄像头: USB摄像头
- 网络: 有线或WiFi网络连接
软件要求
- Python 3.8+
- OpenCV 4.8+
- MediaPipe 0.10+
- Flask 2.3+
🛠️ 安装部署
1. 克隆项目
git clone <repository-url>
cd Atlas
2. 安装依赖
# Linux/Atlas
pip3 install -r requirements.txt
# Windows
pip install -r requirements.txt
3. 配置系统
编辑 config.json 文件,配置以下参数:
基础配置
{
"system": {
"camera_source": 0, // 摄像头设备ID
"web_port": 5000, // Web服务端口
"web_host": "0.0.0.0" // Web服务地址
}
}
检测参数
{
"detection": {
"angle_threshold": 50.0, // 倾斜角度阈值
"fall_duration": 1.5, // 摔倒持续时间
"head_height_drop": 0.20, // 头部下降阈值
"min_confidence": 0.5 // 最小置信度
}
}
推送配置
{
"notifications": {
"enabled": true,
"channels": {
"wechat": {
"enabled": true,
"webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY"
},
"email": {
"enabled": true,
"smtp_server": "smtp.qq.com",
"sender_email": "your_email@qq.com",
"sender_password": "your_app_password",
"recipients": ["family@example.com"]
}
}
}
}
4. 启动系统
Linux/Atlas设备
chmod +x start.sh
./start.sh
Windows
start.bat
直接运行
python3 main.py
🌐 使用说明
Web界面访问
启动系统后,通过浏览器访问:
- 桌面版:
http://localhost:5000 - 手机版:
http://localhost:5000/mobile
主要界面功能
- 实时监控: 查看摄像头实时画面和检测状态
- 状态面板: 显示系统运行状态和统计信息
- 控制面板: 系统控制和配置管理
- 移动端: 专为手机优化的监控界面
推送配置
微信推送设置
- 创建企业微信群机器人
- 获取Webhook URL
- 在配置文件中填入URL
邮件推送设置
- 开启邮箱SMTP服务
- 获取应用专用密码
- 配置SMTP参数和收件人
短信推送设置(可选)
- 注册阿里云短信服务
- 配置AccessKey和模板
- 安装短信SDK依赖
🔧 高级配置
视频流配置
{
"video_stream": {
"quality": 80, // JPEG压缩质量
"fps": 15, // 目标帧率
"width": 640, // 视频宽度
"height": 480 // 视频高度
}
}
日志配置
{
"logging": {
"level": "INFO", // 日志级别
"file": "fall_detection.log", // 日志文件
"max_size": "10MB", // 最大文件大小
"backup_count": 5 // 备份文件数量
}
}
📊 系统监控
状态指标
- 运行时间: 系统连续运行时长
- 处理帧数: 总处理视频帧数
- 检测精度: 实时FPS性能
- 摔倒事件: 检测到的摔倒次数
- 推送统计: 各渠道推送成功率
日志分析
系统会自动记录详细的运行日志,包括:
- 检测事件记录
- 系统错误信息
- 性能统计数据
- 推送结果记录
🚨 故障排除
常见问题
1. 摄像头无法打开
# 检查摄像头设备
ls /dev/video*
# 测试摄像头
ffmpeg -f v4l2 -i /dev/video0 -t 5 test.mp4
2. 系统权限问题
# 确保有足够的权限运行程序
sudo python3 main.py
3. Web服务无法访问
- 检查防火墙设置
- 确认端口未被占用
- 检查网络连接
4. 推送失败
- 验证网络连接
- 检查配置参数
- 查看日志错误信息
性能优化
1. 降低CPU使用率
- 调整视频分辨率和帧率
- 优化检测参数
- 关闭不必要的功能
2. 提高检测精度
- 调整角度阈值
- 优化摄像头位置
- 改善光照条件
🔄 系统升级
版本更新
- 备份当前配置文件
- 下载新版本代码
- 更新依赖包
- 迁移配置文件
- 重启系统
功能扩展
系统采用模块化设计,支持以下扩展:
- 新增检测算法
- 集成更多推送渠道
- 添加数据存储功能
- 接入云端服务
📞 技术支持
联系方式
- 项目地址: [GitHub Repository]
- 技术文档: [Documentation]
- 问题反馈: [Issues]
贡献指南
欢迎提交Bug报告、功能建议和代码贡献。请遵循以下流程:
- Fork项目仓库
- 创建功能分支
- 提交代码更改
- 发起Pull Request
📄 许可证
本项目采用 MIT 许可证,详见 LICENSE 文件。
🙏 致谢
感谢以下开源项目的支持:
老年人防摔监控系统 v2.0 - 让科技守护家人安全 ❤️