基于自回归模型和神经网络的跌倒检测算法
2018-03-16谷志瑜刘建明李建铎
谷志瑜,刘建明,李建铎
(桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004)
0 引 言
跌倒是指使人不慎跌倒在地面、地板或其它较低平面地方的事故[1,2]。跌倒检测算法是能够将跌倒动作与日常生活中的正常动作区分开来的技术。准确地检测到跌倒动作的发生,是为后续提供更好的预防跌伤措施和在发生跌倒后采取及时救治行动的关键,因此,跌倒检测算法的研究是该领域的重点,也是难点。
本文拟提出一种基于自回归模型系数作为特征向量的跌倒检测算法。该算法对采集到的数据截取成2.02 s的数据片段,计算其对应的自回归系数、信号幅度和倾角构造成最终的组合特征向量,并采用基于反向传播算法(back propagation)的前馈神经网络实现跌倒和日常动作的判别,最后通过实验验证了该算法的可行性和准确性。
1 研究近况
近年,有许多的机构和科研人员在从事基于可穿戴式加速度传感器,或陀螺仪的跌倒检测算法研究。这些算法(系统)的目的是通过快速而准确地识别出跌倒事件的发生,便于及时通知家人和医护人员,减少老人跌倒后因长时间瘫躺在地面带来的伤害。这些算法(系统)主要分为两类:基于阈值(threshold-based)的算法[3]和基于机器学习(machine learning)的算法[4,5]。
阈值法的理论基础是Becker等提出的5阶段跌倒模型[6],该模型将跌倒划分为:跌倒前阶段(pre-fall phase)、跌倒阶段(falling phase)、撞击阶段(impact phase)、静止阶段(resting phase)和恢复阶段(recovery phase)。该类算法主要通过判断识别跌倒过程中的一个或多个阶段的数据是否达到预设阈值,来实现对跌倒的检测。如Bourke等利用佩戴在躯干和大腿的三轴加速度传感器记录的数据,提出了基于加速度和向量的LFT(lower fall threshold)算法和UFT(upper fall threshold)算法,两个算法分别通过检测跌倒阶段和撞击阶段来实现跌倒检测,取得了较好的效果,达到了100%的灵敏度和91%和100%的特异性[3]。Kangas等则考虑了跌倒、撞击和静止3个阶段,提出了IMPACT+POSTURE和START OF FALL+IMPACT+POSTURE等算法,其中将传感器佩戴在腰部时效果最好,可达到100%的特异性和95%的灵敏度[3]。该类算法由于传感器异构、目标差异及跌倒行为的差异,其难点在于阈值的确定,也因此导致阈值法性能波动大,缺乏鲁棒性。
机器学习的方法,使用提前采集的已标定跌倒及非跌倒加速度、角速度等数据,利用模式识别算法挖掘出能区分跌倒和非跌倒行为特征参数,用于实现的跌倒和非跌倒行为匹配。如Özdemir等[4]的算法以一个4 s的时间窗的原始数据为基础,构建了一个包含和加速度最小值、最大值、均值、方差、峰度(kurtosis)、自相关序列(autocorrelation)和离散傅里叶变换(DFT)等值的组合特征向量,采用6种不同的分类器均达到了99%以上的灵敏度和特异性,其中效果最好的是k近邻法(k-nearest neighbor,k-NN)和最小二乘法。Aziz等[5]则以均值和X、Y、Z三轴加速度的方差作为组合特征向量,并在实验设计中加入了滑(slips)、绊(trips)等5类近似跌倒(near-fall)动作,采用了逻辑回归、决策树、朴素贝叶斯、k-NN和支持向量机(SVM)等5种常用的机器学习方法作为分类器,实现了较好的分类效果,其中SVM的效果最好,灵敏度和特异性均达到了96%以上。使用该类算法时各论文对特征向量的选择的不同,往往也导致效果的差异。
2 方 法
2.1 传感器设备
传感器采用的是MPU6050,其是InvenSense公司生产的一款9轴运动处理传感器芯片,它集成有三轴微机电系统(MEMS)陀螺仪和三轴加速度计,以及一个可供扩展的数据运动处理器DMP(digital motion processor)[7]。MPU6050供电电源电压为3 V-5 V,标准IIC通信接口,芯片内置16位AD转换器,16位数据输出,加速度范围:±2 g、±4 g、±8 g、±16 g,陀螺仪范围:±250°/s、±500°/s、±1000°/s与±2000°/s。
2.2 数据获取
日常生活中人体基本动作和姿态大概可分为3类:静态活动日常生活中人体基本动作和姿势大概可分为3类:静态活动(static),如站、坐、躺等;动态活动(dynamic),如走、跑、上下楼梯等和转换活动(transitions),如坐-站、躺-坐等[8]。根据跌倒的定义,本文中将跌倒归入第三类活动,即转换活动。
本文的目的是从各种转换活动中区分出跌倒,因此,实验活动设计包括9种日常转换活动和4种跌倒。由于让老年人志愿者来进行模拟跌倒具有不可预期的风险,所以实验的日常动作和模拟跌倒均由年轻志愿者在室内可控环境下完成。其中,模拟跌倒时,在地面铺有一层5 cm的体操垫,以减少跌倒对实验者的伤害。实验记录日常动作数据共270条,模拟跌倒数据共120条。各日常动作和跌倒的实验记录数据见表1。
表1 日常动作和跌倒实验数据
注:stand to kneel是指从站立到双膝跪地,而躯体保持直立的日常生活动作;stand turn left/right是指站立时分别向左、向右转体90°的日常生活动作。
根据Kangas等的研究结果,定位在头部或腰部的传感器系统测得的加速度信号,能更加准确地反映整个人体躯干的运动状态和姿态的变化,而手腕等部位因为其运动状态变化较躯干要复杂,且往往不能完全反映人体躯干的运动状态和姿态,所以,腰部和头部是记录人体姿态动作时传感器的佩戴的最佳位置[3]。因此,本文在实验时,选择腰部作为加速度传感器的佩戴位置,并将传感器佩戴在实验者腰部的正前方。系统X、Y、Z三轴对应的正方向分别是:向左、向下和向后。
由于人体运动的低频率特点,事实上人体活动的频率基本都低于20 Hz,又根据采样定理,本文将加速度信号的采样频率设为50 Hz,既完全足以表征人体运动的细节信息,又不会占用过多的空间。同时,实验时,加速度量程设置为±4 g,角速度量程设置为±1000°/s。
2.3 数据处理
数据处理的流程如图1所示,各模块的具体说明如下。
图1 数据处理流程
降噪(noise reduction):由于原始信号中掺杂了大量的脉冲噪声,在实际应用中必须加以剔除。采用均值滤波的方法对信号进行预处理,在保留足够表现人体动作信息的基础上,提高信噪比。本文中使用的是三项均值滤波器(three-term average filter),其可表示为如式(1)所示
(1)
特征提取(feature extraction):特征向量的提取,主要包括3项内容:自回归模型系数(AR-model coefficients)的计算、信号幅度(signal magnitude)的计算、倾斜角度(tilt angle)的计算。
(1)自回归模型(auto regressive model)。自回归模型是时间序列中的一种常见形式,是用自身做回归变量的过程,也是一种线性回归模型,可用来做预测。即当前某时刻的随机变量可利用其前期若干时刻的随机变量的一个线性组合来描述,自回归模型的具体定义请参考文献[9]。本文想通过该模型的系数来表示各信号量的变化趋势。
其数学表达式如式(2)所示
(2)
其中,α(i)是AR模型系数,p是模型的阶,ε(t)是白噪声项。
(2)SMA,即Signal Magnitude Area。是跌倒检测和人体姿态识别中常用的特征值,能很好的区分人体的静态活动和动态活动,其定义如式(3)所示[10]
(3)
为了能更好表征人体在三轴方向上的动静态特征和动作幅度,本文以三轴方向上的SMA代替以往的加速度和的SMA。
新的计算公式如式(4)所示
(4)
其中,axis分别取X,Y和Z轴的加速度值。
(3)倾斜角度。倾角体现了人体在空间中的倾斜情况,而人体在运动过程中在各轴上转过的角度,也能很好表征人体姿势的变化。陀螺仪可测得在X,Y和Z轴3个方向上的角速度值,因而对角速度在时间窗内求积分即可得人体在三轴的旋转角度,具体计算公式如式(5)所示
(5)
通过将自回归模型系数与SMA和倾斜角度组合得到最终的组合特征向量,如图2所示。
图2 组合特征向量
为了便于特征向量各项的计算,本文将包含跌倒和日常动作的信号数据截成2.02s(101个数据点)的时间片段。该时间长度既包含了足够的人体动作信息用于特征向量的计算,也不会产生过大的响应时延。本文各特征向量分项的计算均是基于该时间窗内的信号数据信息。
分类器(classiffer):基于跌倒检测算法自适应性和实时性的要求,特别是要求算法能正确理解这些复杂的特征,即便这些特征与之前已经看到过的特征有相当的差异,也能正确地识别出跌倒和日常动作。为此,我们决定使用基于反向传播(backpropagation)算法的前馈神经网络作为算法中的分类器。
多层前向BP神经网络特别适合于求解内部机制复杂的问题,其可实现任何复杂非线性从一个输入到输出的映射,且具有极强的自学习能力。本文构建的神经网络有一个输入层包含15个神经元,两个隐含层分别包含30个神经元和13个神经元,一个输出层与2个神经元对应的两个分类输出。
3 结 果
跌倒检测算法通常以灵敏度(sensitivity)和特异性(specificity)作为其有效性的评价参考。灵敏度表征的是所有跌倒被正确检测出来的比例,即所有跌倒动作的检出率;特异性表征的是所有非跌倒事件被正确检测出来的比例,即所有日常动作的检出率。
数学计算式分别如下
Sensitivity=Truepositive/(Truepositive+Falsenegative)
Specificity=Truenegative/(Truenegative+Falsepositive)
本文进行了3次实验验证,以评价组合特征向量各部分的分类效果。每次实验采用不同的组合特征向量训练神经网络和对测试集进行分类。
(1)实验一
实验一的目的在于评估自回归模型系数对测试集分类的效果。由于自回归模型的阶p=3,所以组成的是一个9维的特征向量,表示如下
{a(1),…,a(9)}
每个活动有15个降噪后的实例数据通过建模得到的系数用于训练神经网络,同样有15个经过相同方法得到的系数用于跌倒和非跌倒的分类检测。基于该特征向量的分类识别结果如图3所示。根据图中数据显示,仅以自回归模型系数作为特征向量虽然特异性可达到98.71%,但是灵敏度只有86.69%。可见自回归模型系数对于日常动作的识别效果不错,但是对于跌倒动作的识别效果却一般。
图3 实验一结果
(2)实验二
实验二的目的在于评估自回归模型系数和信号幅度的组合后对测试集分类的效果。新组成的是一个12维的特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z)}
每个活动有15个降噪后的实例数据通过建模得到的系数用于训练神经网络,同样有15个经过相同方法得到的系数用于跌倒和非跌倒的分类检测。基于该特征向量的分类识别结果如图4所示。实验结果显示,灵敏度有较大提升,达到了95.51%,可见该组合特征向量较于实验一的特征向量对跌倒动作有更好的识别效果,且特异性、准确性和F值均有不同程度的提升。
图4 实验二结果
(3)实验三
实验三在上一个实验的基础上,将倾斜角度与自回归模型系数(AR-coefficients)和信号幅度(SMA)的组合成一个15维的组合特征向量,表示如下
{a(1),…,a(9),SMA(x),SMA(y),SMA(z),
TA(x),TA(y),TA(z)}
每个活动有15个降噪后的实例数据通过建模得到的系数用于训练神经网络,同样有15个经过相同方法得到的系数用于跌倒和非跌倒的分类检测。基于该特征向量的分类识别结果如图5所示。实验结果显示,灵敏度由实验二的95.51%提升到了97.2%,特异性基本保持,但98.28%的F值说明实验三的组合特征向量在调和灵敏度和特异性方面有着更好的表现。98.97%的准确性同样优于实验二和实验一的准确性。
图5 实验三结果
4 结束语
本文针对老年人易跌倒和跌倒过后可能产生严重后果这一现实问题,提出了一种基于自回归模型系数和神经网络的跌倒检测算法。该算法以自回归系数、信号幅度和倾角作为组合特征向量,以基于反向传播算法的前馈神经网络作为分类器,通过对9类人体日常动作和4类跌倒,共390例样本实例数据进行了实验验证,达到了97.2%的灵敏度和99.74%的特异性,验证了本算法的可行性和准确性。
[1]LIUYuanbiao,LIJian’an.Fallsinelderlyandbalanceandgaitdisorder[J].ChineseJournalofRehabilitationTheoryandPractice,2012,18(1):5-8(inChinese).[刘元标,励建安.老年人跌倒与平衡及步态异常[J].中国康复理论与实践,2012,18(1):5-8.]
[2]WHO.Falls[EB/OL].http://www.who.int,2017.
[3]FabioB,ClemensB,AngeloC,etal.Evaluationofaccele-rometer-basedfalldetectionalgorithmsonreal-worldfalls[J].PlosOne,2012,7(5):e37062.
[4]ÖzdemirAT,BarshanB.Detectingfallswithwearablesensorsusingmachinelearningtechniques[J].Sensors,2014,14(6):10691-10708.
[5]AzizO,MusngiM,ParkEJ,etal.Acomparisonofaccuracyoffalldetectionalgorithms(threshold-basedvs.machinelear-ning)usingwaist-mountedtri-axialaccelerometersignalsfromacomprehensivesetoffallsandnon-falltrials[J].Medical&BiologicalEngineering&Computing,2017,55(1):45-55.
[6]BeckerC,SchwickertL,MelloneS,etal.Proposalforamultiphasefallmodelbasedonreal-worldfallrecordingswithbody-fixedsensors[J].ZeitschriftFürGerontologieUndGeriatrie,2012,45(8):707-715.
[7]InvenSenseInc.MPU-6000andMPU-6050productspecificationrevision3.4[EB/OL].https://www.invensense.com,2017.
[8]LaraOD,LabradorMA.Asurveyonhumanactivityrecognitionusingwearablesensors[J].CommunicationsSurveys&TutorialsIEEE,2013,15(3):1192-1209.
[9]DurbinJ,KoopmanSJ.Timeseriesanalysisbystatespacemethods[M].2nded.OxfordUniversityPress,2012.
[10]ChenGC,HuangCN,ChiangCY,etal.Areliablefalldetectionsystembasedonwearablesensorandsignalmagnitudeareaforelderlyresidents[C]//InternationalConferenceonSmartHomesandHealthTelematics,2010:267-270.