基于人体姿态的PSO-SVM特征向量跌倒检测方法*
2017-11-03麻文刚王小鹏吴作鹏
麻文刚,王小鹏,吴作鹏
(兰州交通大学电子与信息工程学院,兰州 730070)
项目来源:国家自然科学基金项目(61261029,61761027)
2017-04-21修改日期2017-06-07
基于人体姿态的PSO-SVM特征向量跌倒检测方法*
麻文刚,王小鹏*,吴作鹏
(兰州交通大学电子与信息工程学院,兰州 730070)
在可穿戴设备检测人体跌倒情况时,单一采用加速度阈值判别方法不能完整表征人体跌倒行为变化的信息,导致对跌倒信息误判。为此,提出了一种基于人体姿态的PSO-SVM特征向量跌倒检测算法。首先通过MEMS加速度传感器节点采集人体姿态数据,并利用共轭梯度法对采集的数据进行优化处理,降低非线性误差;然后,利用支持向量机SVM(Support Vector Machine)分类器检测跌倒行为,并通过粒子群PSO(Particle Swarm Optimization)算法对 SVM 参数进行优化,获得最佳分类模型,根据SVM分类模型对采集的姿态数据进行分析,判断是否跌倒;最后根据人体姿态角,构建融合人体姿态角的PSO-SVM特征向量,检测跌倒过程的具体信息。实验结果表明:该检测方法取得95.5%的识别率,能够较好地区分其他非跌倒性动作,检测精度较其他方法较高,均方根误差较小,有较好的鲁棒性。
跌倒检测;人体姿态;传感器节点;特征向量;支持向量机;粒子群
跌倒作为人体活动的一部分,对病人与老人而言,各种跌倒检测至关重要。目前针对人体姿态变化情况进行检测跌倒,然后设定阈值进行定量检测。大致可分为三类:第1类为在各个地点定点定时地安装监控摄像头,采用视频与图像处理方式来检测人体跌倒,该检测方式要求额外安装电力设备且容易泄露使用者的隐私;第2类为安装声学设备,通过声音回波震动来检测跌倒行为,准确性较低,且设备昂贵,主要作为辅助手段运用到别的跌倒检测方式中;第3类通过为目前较为流行的可穿戴设备[1-3],利用加速度传感器采集人体加速度数据,进行跌倒检测。文献[1]提出通过采集人体的加速度数据,设定复合加速度阈值来检测跌到行为;文献[2]提出利用基于支持向量机的SVM设定加速度阈值,并且将SVM进行差分平滑处理,来提高检测精度;文献[3]提出基于三轴线性加速度数据的固定阈值SVM滑动平均与差分信号幅度域相结合的方法,只能区分快跑与摔倒,对其他干扰无法区分;文献[4]提出基于统计学判决分析的检测算法,特征值为基于三轴线性加速度的运动能量消耗;文献[5]提出利用压力式传感器采集人体姿态行为进行跌到检测,但是没有区分人体快跑与跌倒过程的加速度变化,容易漏判。跌倒属于一种短暂性的剧烈活动,在此过程中人体的各项姿态数据都会发生较大的变化,因此不能单一利用加速度阈值去检测人体跌到行为,上述方法利用人体加速度数据,并设定相应阈值来检测跌倒,一定情况下,容易导致漏判。
为提高人体跌倒检测的精度,提出了一种融合人体姿态角的跌倒检测方法对跌倒进行识别,首先设定加速度阈值进行判别,当加速度阈值达到后,构建融合人体姿态角的PSO-SVM特征向量进行二级判别,对于某些特殊情况,如快速跑步被预判为摔倒,则使用人体姿态角区分判别。该方法不仅适用于普通的跌倒检测,还适用于快速跑步、快速跑步时摔倒等特殊情况下的跌倒检测,对于自由生活环境下的人体跌倒检测,有较高的可信度。
1 传感器节点采集人体加速度数据
加速度采集需要设计传感器节点[4-6],该节点能够实时采集人体运动时的三轴加速度与运动时刻的姿态变化情况。本文选用基于MEMS的三轴加速度传感器MMA7361L设计传感器节点,将传感器采集单元安放于人体的腰部,输出加速度与角速度信号,具体为加速度的X轴、Y轴、Z轴。设利用加速度传感器采集的人体姿态加速度数据依次记为ax(t),ay(t)与az(t),通过陀螺仪获得的三维数据为mx(t)、my(t)、mz(t)。每次行为采集的原始数据序列可表示为如式(1)所示:
(1)
由于传感器采集的数据是非平稳、非线性的,且含有系统本身的噪声、人体抖动产生的噪声及设备松动产生的噪声干扰。因此在对采集的数据进行分析之前,需选择有效的方法去噪,以提高跌倒检测精度。本文通过共轭梯度法[7-9]对获得的原始加速度数据进行优化处理,具体过程为:共轭梯度法通过定义误差函数迭代优化加速度数据,加速度计与磁强计分别沿着载体坐标系以X,Y,Z三轴方向进行解算,磁强计在载体坐标系三轴上的对应分量分别为mx,my,mz,加速度计在载体坐标系三轴上对应分量分别为ax,ay,az。
①定义误差函数为:
(2)
则加速度优化问题可转换为误差函数:f(q)=E(q)TE(q)求最小值的问题。
②以共轭梯度法进行优化,可按照式(3)更新载体加速度数据,如下:
Qm(n+1)=Qm(n)+γndn
(3)
式中:γn为最优步长,dn为搜索方向,Qm(n)为载体更新四元数,Qm(n)=q0-q1i-q2j-q3k。
③根据共轭梯度法,迭代计算如下:
f=JT(q)·E(q)
(4)
式中:JT(q)为E(q)的雅可比矩阵。
gn-1=fn-1,gn=fn,d1=-g1
(5)
(6)
(7)
2 跌倒检测算法
2.1PSO优化SVM参数
SVM采用二次回归为手段的统计学习方法,其最终目的为找到一个最优分类超平面,使得两类之间的距离最大化。SVM应用最广的核函数[9]有多项式、径向基以及神经网络等几种核函数,径向基核函数相对于其他核函数具有以下两点优势:一是可将非线性输入向量映射到更高维度的特征空间,能够更好地解决类别与特征间的非线性关系;二是其参数比多项式以及神经网络核函数要少,降低了模型复杂度。因此本文采用径向基核函数作为SVM的核函数,该核函数如下式:
F(xi,xj)=e-‖xi-xj‖2iσ2
(8)
式中:e为常数,σ为函数的宽度参数,控制了函数的径向作用范围。
图1 PSO优化SVM参数的更新粒子位置过程
根据人体运动幅度、倾斜程度及旋转程度特征构建支持向量机分类器的特征向量,从而构建支持向量机分类模型[10-11],采用粒子群优化SVM参数;根据建立的分类模型检测人体运动状态,传统的参数寻优方法易得到局部最优值,寻优速度较慢,而PSO[12-15]则具有可处理连续优化问题、收敛速度快的优点。因此,本文采用PSO算法对SVM的参数进行优化,PSO算法将粒子群中的个体作为随机粒子,利用粒子间合作与竞争产生的智能群体指导优化搜索,是基于群体智能的一种方法,粒子在空间中的飞行速度、位置更新过程如式(9)与(10):
Vk(n+1)=ϖVk(n)+Q1rand()[Pk-Rk(n+1)]+Q2()[(Pα-Rk(n)]
(9)
Rk(n+1)=Rk(n)+Vk(n)
(10)
式中:n为迭代次数,Vk(n)是第k个粒子的速度,Rk(n)是第k个粒子的位置,Pk为粒子的历史最优位置,Pα为粒子群的最优位置。Q1、Q2为学习因子,ϖ为惯性权重,rand()为在(0,1)之间的一个随机数。优化 SVM 时,需要优化的 SVM 参数C相当于PSO算法中的粒子位置Rk(n),SVM分类所得准确率的高低相当于每个粒子的适应度值,用来衡量粒子位置的优劣。
寻找最优参数过程为:首先初始化搜索点位置Rk(n)与速度Vk(n),设定阈值ψ以及最大迭代次数;其次计算粒子的适应度值fi以及平均适应度值f,根据适应度值寻找粒子的历史最优位置Pk与粒子群的历史最优位置Pα;其后根据式(9)和(10)更新粒子的速度与位置;最后判断是否符合终止条件。
(11)
若满足式(11),即达到最小错误要求或达到最大迭代次数,当前Pα为搜索到的最优解,SVM最优参数为当前粒子位置,否则进行下一次迭代,如图1为PSO自适应寻找粒子最优位置的过程,设置PSO优化参数的学习因子c1=1.5,社会学习因子c2=1.7,种群数最大为40,实验中利用对粒子的8维运动轨迹进行分析,从而确定粒子运动的最优位置,此时粒子群迭代的平均适应度能达到96%~99%,经过粒子群算法优化的SVM参数,更加具有可信度,设置的SVM阈值能准确表征其人体摔倒及日常活动行为的过程。
2.2 融合姿态角的PSO-SVM特征向量跌倒检测算法
人体摔倒属于一种短暂性的剧烈活动,身体加速度SVM峰值会变得比较大,一般会超过1.8gn,因而选择1.8gn作为人体摔倒的加速度判别阈值,然而人体摔倒时,身体做近似自由落体运动,在身体下落至撞击地面时,SVM迅速增大,而之后的短时间内(1 s~3 s),身体几乎无动作,SVM则会迅速下降,如图2所示。而当人体跑步时,SVM会近似正弦性的上下波动,达到的加速度最大值为跑步加速的过程,后续加速度变小为减速的过程,其SVM的峰值有时也会超过1.8gn,图3表明单一使用人体加速度数据去判别跌倒行为,容易将快跑过程判断为跌倒,导致漏判,为此提出了融合人体姿态角的多级判别方法。
图2 人体摔倒加速度SVM数据变化
图3 人体跑步加速度SVM数据变化
人体的姿态由俯仰角ψ来描述。各传感器测得的数据都是基于载体坐标系,因此在姿态解算时,需要将载体坐标系的数据转换到导航坐标系下,旋转矩T可表示这一过程:
(12)
将传感器采集到的姿态数据转化为四元数。规定Q为一个四元数向量,即:
Q=q0+q1i+q2ij+q3ki
(13)
式中:q0为四元数的标量部分,q=[q1q2q3]T为四元数的矢量部分。对于人体姿态角来说,每个滤波周期都需将四元数向量进行规范化,处理过程如式(14)所示:
(14)
结合四元数,可得b系到n系的坐标变换矩阵T,最后计算出人体姿态的俯仰角,则有:
(15)
则姿态角可表示为:
ψ=arctan[2(q1q2-q0q3)/(q0+q1-q2-q3)]
(16)
图4是正常行走、慢跑、快跑及摔倒时的俯仰角姿态曲线图,可以看出,当人体处于站立姿态时,倾角在0~60°之间;处于慢跑状态时,倾角处于20°~60°范围内,其变化范围不大,是因为慢跑状态与站立状态姿态较为相似;快跑时,倾角则在40°~60°之间。人体从站立到撞击地面这一阶段内,倾角处于增加趋势,由于手臂运动的灵活性,在运动过程中会引起倾角的较大波动,当人体接触到地面后,倾角维持在80°上下,处于平稳阶段,因此设定人体姿态角为80°作为二级检测阈值,进一步提高了检测的精度。
现设合角速度为陀螺仪三轴角速度平方和的平方根:如下式:
(17)
根据式(7)、(16)与(17)求取人体的运动幅度特征、倾斜程度特征以及旋转程度特征。每次数据采集周期T的特征序列为如式(18)所示:
(18)
在每次数据采集周期T内,有N个特征序列点,设合加速度的最大值为Max(G),合加速度的最小值为Min(G),同理可分别得到ψ、M的最大值、最小值。采用合加速度差值G、倾角差值ψ以及合角速度差值M构建PSO-SVM的特征向量,计算如式(19)所示:
(19)
检测跌倒的发生是一个非线性的二分类问题,将运动分为跌倒以及日常活动两类,用PSO-SVM进行分类时,样本集T={(a1,b1) (a2,b2) … (ai,bi)(aN,bN)},其中的ai表示第i组数据的人体特征向量,其中ai=[Gi,ψi,Mi],bi=[+1,-1] 表示第i组数据是否是跌倒行为的标签,N为所取的人体运动周期数,每个周期有M个特征序列点。
图4 人体姿态俯仰角数据
图5 PSO-SVM分类检测跌倒流程
采用MEMS加速度传感器以及陀螺仪采集人体运动的三轴加速度数据ax(t),ay(t)与az(t)以及三轴角速度数据mx(t)、my(t)、mz(t);对优化后的数据进行特征提取,获得运动幅度、倾斜程度以及旋转程度3个特征序列,并分别求取合加速度差值G、倾角差值ψ以及合角速度差值M构成PSO-SVM的特征向量;最终利用已经训练好的PSO优化SVM参数分类器对人体的姿态行为进行分类,若分类结果是跌倒行为,则进行报警,具体流程如图5所示。
3 实验测试与分析
3.1 人体日常行为活动测试与分析
为了验证提出方法的有效性,实验选择了男女两位志愿者分别进行实验。其中男性身高170 cm,体重65 kg,年龄26 周岁,身体健康;女性身高155 cm,体重48 kg,年龄23 周岁,身体健康。将加速度传感器采集模块佩戴在腰间,并通过在该传感器上集成的无线传输模块DL-21将采集到的数据传送到PC机对数据进行优化平滑处理,并设定相应阈值。采集日常生活活动数据180次:静坐、站立、慢跑、快跑、蹦跳、弯腰、平躺、侧卧及前趴各20次,构造 PSO优化SVM与融合人体姿态角的分类器。如图6所示,显示摔倒未通过次数、摔倒通过次数及虚警次数,PSO-SVM 分类器对日常活动站立检测的精度可达98%,虚警率为2%,这是由于站立的运动较为缓慢,且为周期性运动,与跌倒行为相似性较低;对日常活动中快跑及蹦跳的检测精度较低,为 92%,这是由于快跑与蹦跳运动过程中手臂的旋转程度、倾斜程度也较为明显,与跌倒行为有较大的相似性;对其他日常行为的检测精度平均达到了95.8%,虚警率为4.8%,这是因为系统检测准确率依赖于阈值的设置,对一些符合本文跌倒判定条件的非跌倒动作,易造成误判。
图6 人体日常活动行为检测
3.2 人体跌倒行为测试与分析
对男女志愿者分别进行不同情况的跌到检测实验,各自采集不同跌倒情况的26项实验,每个实验项目中,实验者根据房间内部条件各做25次跌倒实验。其26项实验分别为1.向侧后倒走;2.向前捡拾物品;3.向后躺在床上;4.向左弯曲躺在地上;5.向前快跑;6.快速跑过+捡拾物品;7.快速跑过+穿鞋;8.上跳;9.下跳;10.跌倒;11.向后快坐沙发;12.向前快速坐床13.穿衣失去平衡;14.向后崴脚侧倒;15.向前扑倒;16.向后坐空跌倒;17.躺入床+起身向前跌倒;18.坐入沙发+起身侧倒;19.向左起身摔向饭桌;20.坐凳子+起身向前扑倒;21.向右瘫倒;22.向后起身滑到地面;23.向前慢跑跌倒;24.向后慢跑跌倒;25.向左慢跑跌倒;26.向右慢跑跌倒;实验测得的数据如图7~图10所示。
如图7与图8,在向前与向后跌倒检测实验中,可以较好区分人体加速度SVM及姿态角SVM,实现了96%的平均检测精度,漏报率为5%,误报率为3.5%,误报与漏报的原因是实验中人员SVM的幅度没有超过1.8 g,即所进行的摔倒过于轻微缓慢,不好区分人体姿态角变化情况及实验人员所做的姿态行为存在一定的差异。如图9和图10,在向左与向右跌倒检测实验中,由于加速度SVM与人体快跑转弯时的加速度SVM极为接近,且不好区分人体姿态角数据,实现了95%的平均检测精度,漏报率为5%,误报率为3.5%。总体而言,提出的检测跌倒方法检测精度平均约为95.5%,满足人体在运动过程的跌倒检测要求。
图7 总体向前跌倒检测
图8 总体向后跌倒检测
图9 总体向左跌倒检测
图10 总体向右跌倒检测
3.3 各类检测方法参数对比与分析
在人体快跑加速度SVM与跌倒时的加速度SVM相近时,将提出方法与基于支持向量机的跌倒检测方法及文献[4]方法进行人体运动行为的虚警率、识别率及检测均方误差的比较。如表1所示,提出方法均方根误差均低于其他两种方法,识别率高于基于支持向量机的识别率,略低于文献[4],但虚警率低于文献[4],且本文方法可以区分快速跑步等剧烈活动对摔倒的影响,有较好的鲁棒性。
表1 各检测方法参数对比
4 结论
针对人体活动中的跌倒行为,利用三轴MEMS加速度传感器节点采集人体加速度姿态数据,并根据SVM分类模型对采集的姿态数据进行分析,利用粒子群进行优化参数,提出了融合人体姿态角的PSO-SVM特征向量检测方法。通过采集不同人员的日常活动数据进行参照,分析其提出方法的检测精度与漏判原因,并区分了快速跑步等剧烈活动对摔倒检测的影响。分别对向前、向后、向左及向右4种跌倒行为做了26项实验,分析了检测过程中的漏报与误报原因。实验表明:提出的的检测方法精度可达95.5%,相比其他检测方法,虚警率较小,鲁棒性较强,可用于复杂环境下的不同人群跌倒检测,精确度较高。
[1] Noury N,Fleury A,Rumeau P,et al. Fall Detection-Principlesand Methods[C]//29th Annual International Conference of the IEEE on Engineering in Medicine and Biology Society,Lyon,France,2007:1663-1666.
[2] 刘鹏,卢谭成,吕愿愿,等. 基于MEMS 三轴加速度传感器的摔倒检测[J]. 传感技术学报,2014,27(4):570-574.
[3] 曹玉珍,蔡伟超,程旸. 基于MEMS 加速度传感器的人体姿态检测技术[J]. 纳米技术与精密工程,2010,8(1):37-41.
[4] 罗坚,唐琎,毛芳,等. 基于云计算的可穿戴式老龄人异常行为检测系统研究[J]. 传感技术学报,2015,28(8):1108-1114.
[5] 石欣,熊庆宇,雷璐宁,等. 基于压力传感的跌倒检测系统研究[J]. 仪器仪表学报,2010,31(3):715-720.
[6] Lee C K,Lee V Y. Fall Detection System Based on Kinect Sensor Using Novel Detection and Posture Recognition Algorithm[C]//11th International Conference on Smart Homes and Health Tele-matics(ICOST 2013),Singapore,2013:238-244.
[7] Jantaraprim P,Phukpattaranont P,Limsakul C,et al. Improving the Accuracy of a Fall Detection Algorithm Using Free Fall Characteristics[C]//IEEE International Conference on Electrical Engineering/Electronics Computer Telecommunications and Information Technology. Chiang Mai,Thailand,2010:501-504.
[8] 刘蓉,黄璐,李少伟,等. 基于步态加速度的步态分析研究[J]. 传感技术学报,2009,22(6):893-896.
[9] 李月香,刘燕,袁涛,等. 基于加速度信号的走路模式多级分类算法[J]. 电子学报,2013,37(8):1794-1798.
[10] 陈国栋,李建微,潘林,等. 基于人体特征三维人体模型的骨架提取算法[J]. 计算机科学,2012,36(7):295-297.
[11] Huang B,Tian G,Li X. A Method for Fast Fall Detection[C]//Intelligent Control and Automation,2008.WCICA 2008. 7thWorld Congress on IEEE,2008:3619-3623.
[12] 王荣,章韵,陈建新. 基于三轴加速度传感器的人体跌倒检测系统设计与实现[J]. 计算机应用,2012,32(5):1450-1452.
[13] 朱国忠,韦彩虹,潘敏. 基于三维加速度传感器的人体运动能耗检测算法的研究[J]. 传感技术学报,2011,24(8):1217-1221.
[14] 刘欣荣,阳光. 一种改进的基于加权模型的概念相似度计算方法[J]. 微电子学与计算机,2012,29(2):13-17.
[15] Vaidehi V,Ganapathy K,Mohan K,et al. Video Basedautomatic Fall Detection in Indoor Environment[C]//RecentTrends in Information Technology(ICRTIT),2011.
PSO-SVMFeatureVectorFallDetectionAlgorithmBasedonHumanPostures*
MAWengang,WANGXiaopeng*,WUZuopeng
(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
Adopting the method of accelerating threshold can not demonstrate the variation of falling message. It will lead to the misjudgement of tumble,when using a wearable device to detect falling situation. In this paper,a PSO-SVM eigenvector fall detection algorithm based on human posture is proposed. Firstly,it collected the data of human body through the MEMS acceleration sensor node,and optimized the collected data by the conjugate gradient methods to reduce the nonlinear error. Secondly,the support vector machine(SVM)is used to detect and classify the fall behavior,and the SVM parameters are optimized by Particle Swarm Optimization(PSO)algorithm to obtain the optimal classification model. According to analyze the collected data by SVM classification model,it can judge whether to fall;Finally,it can constructed the PSO-SVM eigenvector which fusing human posture angle to detect the specific information of fall process. The experimental results show that the proposed method attains a recognition rate of 95.5%,which can distinguish the other non-falls. The detection accuracy is higher than other methods,the root-mean-square error is smaller and the robustness is better.
fall detection;human posture;sensor node;feature vector;support vector machine;particle swarm optimization
TN991.7
A
1004-1699(2017)10-1504-08
10.3969/j.issn.1004-1699.2017.10.009
麻文刚(1993-),男,甘肃天水人,汉族,兰州交通大学在读硕士研究生,主要研究方向为传感器应用与数字信号处理,1248564936@qq.com;
王小鹏(1969-),男,甘肃正宁人,汉族,教授,博士生导师,主要研究方向为无线传感器网络与信号与信息处理,wangxp1969@sina.com;
吴作鹏(1993-),男,甘肃白银人,汉族,兰州交通大学在读硕士研究生,主要研究方向为无线传感器与数字信号处理,852119655@qq.com。