基于树莓派的人体跌倒检测系统的设计与实现

2022-05-25 04:48李奕煜周天剑罗回彬丘伟航
现代计算机 2022年6期
关键词:分类器树莓加速度

李奕煜,周天剑,罗回彬,丘伟航

(北京理工大学珠海学院计算机学院,珠海 519000)

0 引言

近年来,由于老人在家无人照顾,导致老人摔倒造成身体上的损伤甚至导致悲剧的事件时有发生。然而,现在市面上大部分的人体跌倒检测设备都过于昂贵,且需要进行复杂的安装。本设计使用树莓派+云台的操作,使得价格更加亲民,且安装位置更加自由随意,只需接上电源即可开机自行启动程序。本系统拥有很好的便捷性和易用性,成本低,在智能家居安防方面具有实用价值。

1 系统总体设计方案

系统总体设计如图1所示,由树莓派、摄像头和通知系统组成。在环境中安装树莓派并启动后,树莓派会开启摄像头检索视野,树莓派接收由摄像头传回的信息,处理完后会根据人影图像进行简化处理,再根据人体简化图(见图2)对关键点进行跌倒计算,如果测量到的加速度高于我们假定的阈值,程序内的算法将会提取这个人去计算特征,然后执行基于SVM的分类器验证坠落。操控云台模块可以时刻对家庭中的指定人物进行追踪,做到时刻对家人健康进行管控。云台舵机控制部分,项目采用的云台利用的是BST-AI拓展板,拓展板连接树莓派的引脚进行舵机控制。

图1 树莓派跌倒检测系统框架

图2 作者本人的人体简化特征图

2 跌倒检测算法

本项目跌倒检测的流程是先通过摄像头收集试验数据,再在环形缓冲区中存储深度图,接下来在树莓派中判断人物是否运动,若检测到人物开始运动,则进行前景提取,连接相关组件进行下一步行为分析;此时再判断场景是否发生了变换,若判断质心发生下降,则对标识的人员进行提取,根据特征点变化速度进行坠落检测后,再提取特征与跌倒分类器进行分类,若检测到跌倒则发出警报。图3为跌倒检测的大致流程图。

图3 跌倒检测流程图

2.1 算法概述

首先,获取来自摄像头捕获图像的运动数据。然后对数据进行中值过滤,以抑制噪声。在这样的预处理后,深度图被存储在缓冲区中。提取深度参考图像需要将数据存储在循环缓冲区中,经过训练后,便可以通过参考图像提取到的相关特征来判断人的行为。在下一步中,该算法会验证这个人是否是运动的。该操作基于加速度测量数据进行,从而以较低的计算成本实现。当这个人休息时,该算法会获得新的数据。特别是,如果在一秒钟内没有检测到该人的移动,就不会对深度参考图进行更新。如果人发生了运动,算法会提取前景。前景是通过从深度参考图像中减去当前的深度图来确定的。

2.2 跌倒检测流程

本项目首先进行视频流读取,再依次进行人物运动及跌倒等判断,其跌倒检测具体流程图如3所示。

2.3 基于阈值的跌倒检测

根据IMU设备获取的数据,该算法表示有潜在的跌倒。该算法的流程如图3所示,电位下降表示使用惯性设备的数据识别下降。采样的加速度分量用于计算总和矢量(t),具体公式如下:

其中,A(),A(),A()分别是时间处,,,轴的加速度。()包含动态和静态加速度分量,因此站立时等于重力加速度g;在摔倒过程中,加速度达到了6 g;而在下楼与上楼时,加速度达到了2.7 g。基于这类规律,我们的系统采用了一个基于阈值的跌倒检测,然后根据深度图像的分析对其进行验证。如果(t)的值大于3 g,则系统开始提取人身,然后执行负责有关跌倒的最终决策的分类器。

2.4 提取代表人物的深度图像特征

为了使该系统适用于广泛的场景,我们描述了一种用于更新深度参考图像的快速方法。基于场景参考图像检测到该人,该场景参考图像被预先提取然后更新。在深度参考图像中,每个像素都取前一帧图像中几个像素值的中值,如图4所示。在设置阶段,我们收集了很多深度图像,对于每个像素,我们从前一帧的图像中组装了一个像素值列表,然后对其进行排序提取中值。

图4 深度参考图像提取

2.5 跌倒检测分类器

本项目中我们采用了基于SVM的分类器,该分类器是一个由具有正常活动(行走、坐下、蹲下和躺下)的图像组成的UR跌倒检测数据集。从UR跌倒检测数据集(URFD)中总共选择了612张图像以及其他图像序列,这些图像序列是在房间中记录的。所选的图像集由402个具有典型ADL的图像组成,其中210幅图像则描述一个人躺在地板上。整个UR坠落检测数据集由30个图像序列和30个坠落序列组成。

2.6 UR跌倒数据集详情

UR跌倒数据集是国际上应用最广泛的跌倒数据集,该数据集包含了70个(30个跌倒+40个日常生活活动)序列,创作者还将图像分为深度图像和RGB原始图像,并附带了同步数据和加速度数据。因此,通过在跌倒检测分类器上进行比对,就可以有效判断跌倒行为是否发生,项目实测效果如图5所示,项目实测的特征提取效果如图6所示。

图5 实际检测摔倒图

图6 特征提取图

3 通知系统

通过写入训练集可以让该跌倒检测系统通过加载提示性动作来对跌倒后的等级进行评估,比如:当树莓派检测到一个人摔倒时,会先发出警报来提示摔倒人员,看看他能不能自行起身。当检测到跌倒者发出来的安全信息时,则停止发出警报;若是人摔倒后无任何反应,则接通急救电话并联系摔倒者亲属,以做到及时通知,避免意外发生不能及时处理,导致事情无法挽回。在本项目中,我们系统采用的是语音识别模块。由于CNN比较容易实现大规模并行化运算,且CNN的加速运算相对比较成熟,所以我们采用了比RNN更为精确的CNN卷积神经网络实现语音识别。在模型上,本项目采用的是CLDNN(卷积,LSTM,深度神经网络)模型,CLDNN中有两层CNN的应用。CNN和LSTM在语音识别任务中可以获得比DNN更好的性能提升,对建模能力来说,CNN擅长减小频域变化,LSTM可以提供长时记忆,所以在时域上有着广泛应用,而DNN适合将特征映射到独立空间。

4 结语

本文设计的由树莓派作为控制主板,在其中对实时输入的视频流进行计算从而实现对于跌倒的检测。本项目将跌倒检测算法内置于树莓派开发板,可以处理、筛选关键信息后传入服务器,减少服务器的运算压力。经过测试,本系统能够准确识别并判断跌倒行为的发生,实时传输的视频具有良好的实时性以及稳定性。在算法上,我们采用了国外先进的UR跌倒检测数据集以及SVM分类器,通过阈值UFT方法取得了良好的效果,识别的准确度达到90%。

猜你喜欢
分类器树莓加速度
分类器集成综述
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
学贯中西(6):阐述ML分类器的工作流程
走出“加速度”理解的误区
基于AdaBoost算法的在线连续极限学习机集成算法
黄金水果红树莓
树莓红了 游人醉了
加速度新题型精析
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)