目前,跌倒检测方法常见的是视频图像分析法和穿戴式装置检测法。前者使用视频摄像头,不能保证用户隐私安全;后者是传感器装置,需要基站来服务,外出时易忘记佩戴。使用智能手机进行跌倒检测是一个可行的且有很大发展潜力的技术,智能手机同时结合了跌倒检测系统的两个重要组件:跌倒检测和救助通信,不仅可以降低系统成本,实时监测人体活动,还可以结合GPS确定用户的跌倒位置。现在,国内外已有利用手机进行跌倒检测的相关理论研究,都是使用移动手机内置的加速度传感器和基于人体运动加速度特征的不同算法来检测跌倒的。然而一些较高强度日常活动如慢跑、快速坐下等也会产生一个类似跌倒的大加速度值特征。因此,单独使用加速度传感器进行跌倒检测,采集的数据比较单一,不足以完全反应人体姿态变化,会给跌倒检测带来许多假警报。针对以上问题,本文提出了基于信号向量模和特征量W相结合的跌倒检测算法。该检测算法同时利用加速度传感器和陀螺仪监测人体姿态变化,有效减少了跌倒检测结果的假阳性和假阴性。1跌倒检测方法设计加速度传感器和陀螺仪分别能够测量三轴方向运动加速度和角速度大小信息,本文利用智能手机内置的这两种传感器来采集反映人体主要运动姿态变化的信号数据。通过使用信号向量模(magnitudeofsignalvector,SVM)阈值法来识别区分低强度日常生活活动(activitiesofdailyliving,ADL)与跌倒,对于阈值法不能识别的较高强度ADL,则通过对角速度信号向量模数据进一步处理得到的新特征量来判别。1.1信号数据人体活动主要分为以下几种:躺下、步行、坐下—起立、上楼梯、下楼梯、慢跑、蹲下—起立以及跌倒等。人体携带的智能手机,其内置的加速度传感器和陀螺仪输出的信号数据可以反映出人体日常运动姿态变化。图1为智能手机在x、y和z三轴的加速度方向及角速度方向。传感器输出信号中掺杂了大量的脉冲噪声,中值滤波是传统的消除脉冲噪声的方法。中值滤波器是一个非线性信号处理技术,它使用一个给定长度的窗依次滑过原始信号序列,然后将窗内居中的样本值用该窗所包含信号序列的中值替代,这里滤波器窗口大小n设为3。图2为加速度传感器输出信号数据经中值滤波后曲线图。1.2信号向量模(SVM)跌倒发生时的加速度及角速度变化主要体现在某空间方向,因为跌倒事件中无法预知跌倒的方向,所以不宜用某一轴的加速度或角速度数据去判断跌倒的发生,采用信号向量模SVM特征量可以将空间的加速度或角速度变化集合为一矢量。加速度信号向量模(SVMA)及角速度信号向量模(SVMW)其定义分别如式(1)和式(2)其中,ax,ay,az分别为加速度传感器x、y、z三轴方向输出经中值滤波后信号;wx,wy,wz分别为陀螺仪x、y、z三轴方向输出经中值滤波后的信号。图3和图4为人体处于不同运动状态时SVMA及SVMW变化曲线。如图3、图4所示,跌倒具有大加速度和角速度峰值特征,这是因为摔倒过程中由于和低势物体碰撞产生的SVM峰值比日常活动中步行、上楼梯等大多数一般过程要大。然而人体运动行为过程具有复杂性和随机性,使用单一的加速度相关信息判断人体摔倒行为的发生会带来很大的误判。本文使用SVMA及SVMW相结合的信息阈值法可以区分跌倒与产生SVM峰值较小的低强度运动。通过对人体摔倒过程及其它日常生活行为过程中实验结果数据SVMA和SVMW进行分析,本文识别跌倒的加速度信号向量模阈值取SVMAT=20m/s2和角速度信号向量模阈值取SVMWT=4rad/s。但是慢跑等动作也具有大加速度和角速度峰值的特征,单独的SVM特征量并不能区分摔倒过程与慢跑或手机日用等较高强度运动过程。1.3SVMW数据曲线处理根据人体运动学特征,跌倒过程与慢跑等运动过程的人体俯仰角或者侧翻角变化有很大不同,然而采集人体运动姿态变化信号数据的智能手机在口袋中的放置方位具有随意性,因此无法直接使用陀螺仪单轴方向输出得到的角度变化信息作为跌倒判断的一个特征量。本文对角速度信号向量模数据作进一步处理,来寻找新的特征量。这里定义一个人体跌倒时躯干倾斜的合角度θ,它是通过对角速度信号向量模数据进行积分得到的,如下式式中:SVMW———人体运动角速度信号向量模。下面以慢跑为例,分析跌倒与慢跑等较高强度运动的合角度曲线变化的不同,图5为跌倒和慢跑两种运动过程合角度变化曲线,从图5中可以看出:跌倒曲线有明显的拐点(图中圆圈所示),而慢跑曲线变化比较均匀平缓。这是因为跌倒过程中人体会和低势物体产生碰撞,短时间内会产生较大的SVM数据值,体现在数据曲线上则有突变的增量点;而慢跑每次动作基本一致,随时间产生的数据曲线点增量也基本一样,数据曲线近似一条直线。应用智能手机作为跌倒检测系统,易于对数据进行公式化处理,本文中采用数据拟合的方法对合角度曲线数据公式化处理。前面分析中得知,两种运动过程合角度曲线变化趋势有很大不同,且慢跑运动合角度变化曲线近似一条直线,因此使用直线拟合模型可以突出两种曲线与各自拟合曲线相似度的不同。这里使用计算简单的二乘法线性拟合,拟合直线表达式为y=ax+b(4)式中:a,b———拟合直线的斜率和截距。图6和图7分别为跌倒和慢跑两种运动的合角度变化曲线及使用Matlab线性拟合变化曲线。为了反映出两种曲线与各自线性拟合曲线的相似度,这里我们定义一个无量纲量W,也是本文算法的跌倒判断特征量,其计算过程如下式其中,i=1,2,3,…,500,(处理10s内数据样本点),Ci为合角度数据样本点,Ni为合角度线性拟合数据样本点。特征量W反映的是合角度曲线与其拟合曲线之间的相似度,W值越小相似度越高。由前面的分析得知,跌倒合角度曲线有拐点,慢跑合角度曲线变化平缓,而使用的拟合曲线为一条直线,故跌倒时得到的W值较大,而慢跑时得到的W值会较小。表1所示为一组实验结果的特征值,观察特征值数据可知容易通过设置一个阈值WT来区分这两种运动过程,本文通过对跌倒过程和慢跑等较高强度运动过程中W值的分析取WT=25。2系统实现2.1系统应用程序Android是一个开源移动操作系统,它有一个强大的基于java框架的软件开发工具包(SDK),还有SQLite数据库管理系统,本文在Android智能手机平台开发实现了跌倒检测应用程序。跌倒应用程序由4大部分组成:(1)FallDetectionService:Android后台服务应用进程,它长时间运行在手机应用程序进程的主线程内,不会干扰其他组件或用户界面。(2)FallAlertActivity:与用户交互的Activity组件,该Activity可以被创建、启动、恢复、暂停和销毁,它是应用程序的可见部分。(3)SensorManager:”SensorManager”允许应用程序使用手机传感器,使用它来读取手机加速度传感器和陀螺仪的读数。(4)UserLocationManager:使用UserLocationManager可以允许应用程序使用GPS获取定位数据,紧急情况下可以确定用户地理位置。2.2系统检测流程本系统跌倒检测算法是基于人体运动加速度和角速度信号设计的,通过分析人体主要运动过程与跌倒过程的SVMA和SVMW数据,以及对SVMW数据的进一步处理来区分日常生活活动与跌倒。图8为跌倒检测算法流程图:①后台服务监测SVMA数值的变化,如果SVMA大于SVMAT,进入下一步;②等待SVMA数值恢复到正常范围内,再设置延时10s,等待用户稳定,进入下一步;③角速度数据分析,如果SVMW大于SVMWT,进入下一步;④对SVMW数据公式化处理得到特征值W,如果W大于WT,确认发生跌倒,触发报警处理。2.3系统主要内容系统集成了智能手机的传感功能和信号处理技术,它的主要功能是检测意外情况下跌倒,然后与用户的紧急联系人通过电话和SMS信息进行联系。该应用程序还可以获得用户的地理位置,此外它有一个一键紧急救助按钮和紧急警报取消机制,可防止假警报。当系统检测到一个跌倒,会弹出通知窗口并且有声音警报,用户可以在一个可设置的特定时间范围内取消警报请求。如果没有发生真正的跌倒,用户可以在报警等待时间范围内简单取消请求。如果是一个真正的跌倒,则用户的救助联系人将会立即收到SMS报警信息。图9为应用程序屏幕截图,主界面有7个主要按钮,“ON/OFF”滑动开关按钮,来控制开始后台跌倒检测服务和停止服务;“紧急联系电话”按钮,可以添加3个紧急救助联系人号码;“紧急联系信息”按钮,用来编辑发送的紧急信息内容;“报警等待时间”按钮,用来设置检测到跌倒发生与发送报警信息之间的等待时间;“一键快速求救”按钮,直接触发跌倒报警事件,当用户发生跌倒而手机未检测到时的手动求救按钮;“设置”按钮用来设置开启GPS服务、设置传感器工作模式以及报警方式、声音选择等;“退出”按钮,则是完全退出应用程序。3实验与结果分析