DIY编程器网

标题: 基于智能手机的人体跌倒检测系统 [打印本页]

作者: admin    时间: 2015-4-29 08:03
标题: 基于智能手机的人体跌倒检测系统
目前,跌倒检测方法最常见的是视频图像分析法和穿戴式装置检测法。前者使用视频摄像头,不能保证用户隐私安全;后者是传感器装置,需要基站来服务,外出时易忘记佩戴。使用智能手机进行跌倒检测是一个可行的且有很大发展潜力的技术,智能手机同时结合了跌倒检测系统的两个重要组件:跌倒检测和救助通信,不仅可以降低系统成本,实时监测人体活动,还可以结合GPS确定用户的跌倒位置。现在,国内外已有利用手机进行跌倒检测的相关理论研究,都是使用移动手机内置的加速度传感器和基于人体运动加速度特征的不同算法来检测跌倒的。然而一些较高强度日常活动如慢跑、快速坐下等也会产生一个类似跌倒的大加速度值特征。因此,单独使用加速度传感器进行跌倒检测,采集的数据比较单一,不足以完全反应人体姿态变化,会给跌倒检测带来许多假警报。针对以上问题,本文提出了基于信号向量模和特征量W相结合的跌倒检测算法。该检测算法同时利用加速度传感器和陀螺仪监测人体姿态变化,有效减少了跌倒检测结果的假阳性和假阴性。
       
        1跌倒检测方法设计
       
        加速度传感器和陀螺仪分别能够测量三轴方向运动加速度和角速度大小信息,本文利用智能手机内置的这两种传感器来采集反映人体主要运动姿态变化的信号数据。通过使用信号向量模(magnitudeofsignalvector,SVM)阈值法来识别区分低强度日常生活活动(activitiesofdailyliving,ADL)与跌倒,对于阈值法不能识别的较高强度ADL,则通过对角速度信号向量模数据进一步处理得到的新特征量来判别。
       
        1.1信号数据
       
        人体活动主要分为以下几种:躺下、步行、坐下—起立、上楼梯、下楼梯、慢跑、蹲下—起立以及跌倒等。人体携带的智能手机,其内置的加速度传感器和陀螺仪输出的信号数据可以反映出人体日常运动姿态变化。图1为智能手机在x、y和z三轴的加速度方向及角速度方向。
       
       
        图1三轴方向上加速度测量和角速度测量

         
        传感器输出信号中掺杂了大量的脉冲噪声,中值滤波是传统的消除脉冲噪声的方法。中值滤波器是一个非线性信号处理技术,它使用一个给定长度的窗依次滑过原始信号序列,然后将窗内居中的样本值用该窗所包含信号序列的中值替代,这里滤波器窗口大小n设为3。图2为加速度传感器输出信号数据经中值滤波后曲线图。
       
       
        图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不同人体运动SVMA变化曲线
       
        图4不同人体运动SVMW变化曲线

         
        如图3、图4所示,跌倒具有大加速度和角速度峰值特征,这是因为摔倒过程中由于和低势物体碰撞产生的SVM峰值比日常活动中步行、上楼梯等大多数一般过程要大。然而人体运动行为过程具有复杂性和随机性,使用单一的加速度相关信息判断人体摔倒行为的发生会带来很大的误判。本文使用SVMA及SVMW相结合的信息阈值法可以区分跌倒与产生SVM峰值较小的低强度运动。通过对人体摔倒过程及其它日常生活行为过程中实验结果数据SVMA和SVMW进行分析,本文识别跌倒的加速度信号向量模阈值取SVMAT=20m/s2和角速度信号向量模阈值取SVMWT=4rad/s。
       
        但是慢跑等动作也具有大加速度和角速度峰值的特征,单独的SVM特征量并不能区分摔倒过程与慢跑或手机日用等较高强度运动过程。
        1.3 SVMW数据曲线处理
       
        根据人体运动学特征,跌倒过程与慢跑等运动过程的人体俯仰角或者侧翻角变化有很大不同,然而采集人体运动姿态变化信号数据的智能手机在口袋中的放置方位具有随意性,因此无法直接使用陀螺仪单轴方向输出得到的角度变化信息作为跌倒判断的一个特征量。本文对角速度信号向量模数据作进一步处理,来寻找新的特征量。
       
        这里定义一个人体跌倒时躯干倾斜的合角度θ,它是通过对角速度信号向量模数据进行积分得到的,如下式
       
        式中:SVMW———人体运动角速度信号向量模。下面以慢跑为例,分析跌倒与慢跑等较高强度运动的合角度曲线变化的不同,图5为跌倒和慢跑两种运动过程合角度变化曲线,从图5中可以看出:跌倒曲线有明显的拐点(图中圆圈所示),而慢跑曲线变化比较均匀平缓。这是因为跌倒过程中人体会和低势物体产生碰撞,短时间内会产生较大的SVM数据值,体现在数据曲线上则有突变的增量点;而慢跑每次动作基本一致,随时间产生的数据曲线点增量也基本一样,数据曲线近似一条直线。
       
       
        图5跌倒和慢跑时合角度变化曲线

         
        应用智能手机作为跌倒检测系统,易于对数据进行公式化处理,本文中采用数据拟合的方法对合角度曲线数据公式化处理。前面分析中得知,两种运动过程合角度曲线变化趋势有很大不同,且慢跑运动合角度变化曲线近似一条直线,因此使用直线拟合模型可以突出两种曲线与各自拟合曲线相似度的不同。这里使用计算简单的最小二乘法线性拟合,拟合直线表达式为
       
        y=ax+b(4)
       
        式中:a,b———拟合直线的斜率和截距。图6和图7分别为跌倒和慢跑两种运动的合角度变化曲线及使用Matlab线性拟合变化曲线。
       
       
        图6跌倒时合角度曲线和拟合曲线
       
        图7慢跑时合角度曲线和拟合曲线

         
        为了反映出两种曲线与各自线性拟合曲线的相似度,这里我们定义一个无量纲量W,也是本文算法的跌倒判断特征量,其计算过程如下式
       
        其中,i=1,2,3,…,500,(处理10s内数据样本点),Ci为合角度数据样本点,Ni为合角度线性拟合数据样本点。特征量W反映的是合角度曲线与其拟合曲线之间的相似度,W值越小相似度越高。
       
        由前面的分析得知,跌倒合角度曲线有拐点,慢跑合角度曲线变化平缓,而使用的拟合曲线为一条直线,故跌倒时得到的W值较大,而慢跑时得到的W值会较小。表1所示为一组实验结果的特征值,观察特征值数据可知容易通过设置一个阈值WT来区分这两种运动过程,本文通过对跌倒过程和慢跑等较高强度运动过程中W值的分析取WT =25.
       
       
        表1跌倒和慢跑时的特征值数据

         
          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 ,确认发生跌倒,触发报警处理。
       
       
        图8跌倒检测流程

         

          2.3系统主要内容
       
        系统集成了智能手机的传感功能和信号处理技术,它的主要功能是检测意外情况下跌倒,然后与用户的紧急联系人通过电话和SMS信息进行联系。该应用程序还可以获得用户的地理位置,此外它有一个一键紧急救助按钮和紧急警报取消机制,可防止假警报。
       
        当系统检测到一个跌倒,会弹出通知窗口并且有声音警报,用户可以在一个可设置的特定时间范围内取消警报请求。如果没有发生真正的跌倒,用户可以在报警等待时间范围内简单取消请求。如果是一个真正的跌倒,则用户的救助联系人将会立即收到SMS报警信息。
       
        图9为应用程序屏幕截图,主界面有7个主要按钮,“ON/OFF”滑动开关按钮,来控制开始后台跌倒检测服务和停止服务:“紧急联系电话”按钮,可以添加3个紧急救助联系人号码:“紧急联系信息”按钮,用来编辑发送的紧急信息内容:“报警等待时间”按钮,用来设置检测到跌倒发生与发送报警信息之间的等待时间:“一键快速求救”按钮,直接触发跌倒报警事件,当用户发生跌倒而手机未检测到时的手动求救按钮:“设置”按钮用来设置开启GPS服务、设置传感器工作模式以及报警方式、声音选择等:“退出”按钮,则是完全退出应用程序。
       
       
        图9应用程序屏幕

         
          3实验与结果分析
       
        3.1实验装置及设计
       
        跌倒检测算法测试手机为LGP970,其配置有Android2.3操作系统、德州仪器1GHz的CPU、主屏尺寸4.0英寸。日常生活主要活动动作频率都低于20HZ,设置手机内置加速度传感器和陀螺仪的信号采样频率皆为50HZ,以满足实验的需求。本系统为使实验结果符合人们日常携带手机的方式,选择胸部口袋作为实验过程中手机在人体的佩戴位置。检测算法是对传感器输出数据的信号向量模进行处理,故实验中对手机在口袋中的放置方位没有要求。
       
        实验者为20名青年学生:10男10女,年龄在22-30岁,身高155-185CM,体重40-80KG.出于安全考虑未请老年人参与,实验者模拟老年人日常生活中步行、上下楼梯、慢跑、快速坐下、快速躺下、坐下起立、躺下起立和跌倒等活动动作。实验在不同时间段完成,实验过程中地上放置有厚海绵垫,每个实验者被要求重复实验动作2次,且每个动作要求在10s内完成。实验者的动作描述见表2.
       
       
        表2实验者的动作描述

         
        3.2结果分析
       
        为评估检测算法的性能,通常定义以下评估方式:跌倒检测中可能出现的4种情况:真阳性(TP):跌倒发生,设备检测到。假阳性(FP):设备检测到跌倒,但实际并未发生。真阴性(TN):正常活动,设备并未检测到跌倒发生。假阴性(FN):跌倒发生,但设备并未检测到。敏感性体现了算法识别跌倒的能力,测量真实的摔倒被检测到的概率
       
       
       
        图10 (a)显示了本文系统算法检测结果敏感性的表现,算法能精确地检测到后向跌倒、左侧跌倒和右侧跌倒,前向跌倒假阴性较高是因为向前跌倒时人们下意识弯曲膝盖,两手掌去支地缓冲,所以产生的SVM峰值较小,但这种情况一般损伤不严重,跌倒者大多数保持清醒,如需救助仍可通过应用程序的“一键救助按钮”。靠墙缓慢跌倒过程动作缓慢且比较随意复杂,算法检测结果假阴性较高,然而这种跌倒给跌倒者带来的伤害是有限的。从100例记录中得到算法的敏感性是88%.图10 (b)显示了本文算法检测结果特异性的表现,算法可以区分出大多数日常活动,然而快速坐下时带有后仰动作、以较快速度躺下和手机日用有时候会触发假阳性,从180例记录中得到算法特异性为92%.
       
       
        图10跌倒检测算法性能

       
        4结束语
       
        本文设计了一种基于智能手机的人体跌倒检测系统,利用手机内置加速度传感器和陀螺仪监测人体运动时的加速度和角速度信号,对采集到的信号数据进行处理和分析,提出了基于信号向量模和特征量W相结合的检测算法,同时对该算法的有效性进行了评估。实验结果表明,该系统能够有效区分跌倒与其它日常生活行为动作,且检测结果的假阳性和假阴性较低。本系统方案具有使用简单方便、成本低、使用范围广、实时响应快的优点,此外,系统还能够定位用户跌倒位置及使用报警机制来减少假警报。后续工作中,将会考虑对加速度传感器和陀螺仪信号数据进行数据融合,使算法对人体姿态描述更加准确。
作者: 李小路    时间: 2020-10-2 16:01
谢谢分享!




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2