使用树莓派AI相机进行跌倒检测
扫描二维码
随时随地手机看文章
自动跌倒检测系统可以成为安全管理的重要资产,特别是对于老年人护理设施和医院,以及生活在家中有行动需要的人。使用人工智能摄像头和边缘处理提供了一个强大的、非侵入性的、具有隐私意识的实时解决方案,可以快速安装在任何地方。
该项目采用计算机视觉骨骼关键点检测技术与树莓派AI相机集成,提供轻量级的边缘计算跌倒检测解决方案。
项目概述
•目的:实时监测人体姿势,检测跌倒的发生。
•技术:
•人体关键点检测:使用HigherHRNet模型来识别人体关键点(头、膝盖、脚等)。
•姿势分析:使用几何计算来分析人体姿势的特征(例如,检测到的关键点之间的角度,例如头到膝盖到脚)。
•边缘计算:结合树莓派和树莓派AI相机,执行设备上的实时推理和图像处理。
下面的图片展示了该系统是如何检测一个人是站立还是跌倒的。
技术的利用
1. 关键点检测
该系统使用HigherHRNet模型检测图像中的人体关键点,并以COCO格式输出人体关键点。HigherHRNet是一个高分辨率、高效、准确的网络,可以捕获人体姿势的丰富细节。
主要步骤如下:
•使用边缘设备捕获实时视频流。
•对每一帧图像进行人体检测,提取人体关键点坐标。
2. 关键点的处理
为简化计算,按以下规则处理关键点:
头:
•在COCO格式中选择头部的5个关键点(眼、鼻、口、耳),满足效度条件(得分>0)。
•计算这5个点的平均值,得到最终的头部坐标。
膝盖和脚的穴位:
•分别计算左右膝盖和左右脚关键点的平均值,得到整体的左右膝盖点和左右脚点。
•取左右膝盖点的平均值作为整体膝盖点,取左右脚点的平均值作为整体脚点。
3. 态势分析
通过几何计算分析人体姿势:
•计算从头到膝盖的线和从膝盖到脚的线之间的角度。
•设置阈值。
•根据角度判断人是否处于堕落状态。
•如果角度超过预设的阈值范围,则判断为跌落。
设置项目
先决条件
硬件环境
•处理器:Raspberry Pi(推荐Raspberry Pi 4 Model B或更新版本)
•边缘设备模块:树莓派AI Camera,安装在树莓派上
•网络连接:需要连接到internet才能下载模型和依赖项。
软件环境
•Python 3.11(预安装在Raspberry Pi上)
•Python 3 - OpenCV 4.6(通过APT安装)
•Python 3 - Munkres(通过APT安装)
安装与使用
•安装依赖关系:
注意:如果您有冲突的软件包,请确保卸载它们或使用正确的版本。
•下载HigherHRNet模型:如果您已经通过APT安装了imx500-all,则可以跳过此步骤。从树莓派Repo下载模型文件。
•运行系统:确保你在应用程序的源目录下,然后运行:
•主要参数说明:
•——model: RPK模型的位置。如果您通过APT安装imx500-all,则不需要更改它。
•——detect - Threshold:人类检测器的阈值。通常不需要更改,在[0,1]的范围内。
•—Fall -threshold:跌落判断阈值。建议设置为45,取值范围为[0,100]。通常,这并不需要更改,但可能需要根据边缘设备的视角进行调整。
优化改进
模型性能优化:
由于树莓派模型动物园中的模型没有针对此场景进行优化,因此性能可能不足。考虑使用包含人类正在下降的图像的数据集来训练模型,以获得更好的结果。
参考文献
•高级hrnet官方文档
•COCO数据集关键点定义
•IMX500姿态估计
本文编译自hackster.io





