一种基于CS-SVM的老年人异常步态识别系统
2020-04-10陈金环
王 琪,王 涛,张 硕,陈金环
(山东建筑大学 信息与电气工程学院,济南250101)
1 引 言
步态识别作为老年人监护的一个重要方面,相比于其他识别方式,因其有着可远距离主动识别、无侵扰性等独特优势,目前已成为备受学者青睐的研究热点.根据对老人异常步态信号的采集与识别实现老人健康状况及心理活动等特征信息检测,可为医生提供临床诊断依据,为老人更好的了解自己的身体状况提供参考.
传统的步态识别主要有两种方法,其一是通过视频采集获取目标个体行走记录,基于人体形态学和运动学构建模型[1,2];其二是采用不考虑底层结构,直接从视频图像基于轮廓提取步态特征的非模型方法进行步态识别.这两种方法采集成本高,受光照、服装和佩戴方式等因素的影响,识别精度难以得到保证.而随着传感器技术的迅速发展,涌现了一大批体积小、低功耗、适应强、价格低的传感器,可测量压力、加速度、方向等多种数据,从而为步态识别应用提供了一种新的途径.
就健康检测方面来说,步态识别主要是应用于正常步态和异常步态的辨识,此处异常步态特指帕金森综合征步态、脑卒中步态等常见于患病老人的病理性步态[3,4],这些异常步态因为患者的中枢神经系统退化性失调而表现为身体平衡失调、细碎步行以及身体颤抖等.分析一段时间内人体步态数据,可以帮助帕金森综合征等神经慢性病的早期诊断评估[5].由此可见研究老人可能出现的异常步态具有重要的实际意义.
随着人工智能技术的不断发展,国内外学者在构建异常步态识别分类模型领域有了显著的进展.Hao J等人基于肌电图和三轴加速度信号提出了一种基础日常步态识别方式,该方式首先将从受试者下肢提取到的肌电信号和三轴加速度信号经过降噪和融合信号的分割,通过基于隐马尔可夫模型来识别五种基本的日常步态模式,识别准确率可达94.32%[6].Yoneyama M等人使用三轴加速度传感器结合步态峰值检测,进行了帕金森综合征的异常步态检测[7].上述研究表明,步态识别的研究已经日益成熟可以应用到日常生活中,但是目前缺乏一种适用于老年人监护的步态识别模型.
本文提出的基于传感器网络的老年人异常步态识别系统,从老年人的生理特点出发,充分考虑便捷性、非侵扰性等非功能性需求的设计,通过可穿戴传感器网络采集老人的步态信息数据,将收集到的原始数据进行降噪处理,然后进行特征提取,针对步态特征进行分析,使用步态分类器实现异常步态识别,识别跛行、踮脚、震颤等异常步态,通过步态统计做出神经性慢性疾病的初步诊断预警,为老人健康建立第一道防线.
2 步态信号提取与其特征提取
对于被监护的老人来说,如何准确获取足够的步态数据是一个关键问题.数据采集系统主要任务是通过传感器网络获取加速度信息等步态数据并通过低功耗蓝牙通讯将数据上传至PC端,以便进行数据处理.该系统主要有传感器模块、蓝牙模块和控制模块组成,能实时采集、存储、传送传感数据,在进行采集时应尽量避免路面、天气等干扰因素的影响.
2.1 步态数据采集
步态数据采集是步态识别至关重要的一个步骤,其精度直接影响到步态识别后续步骤的的准确度和可行性.在步态识别研究领域,最常用的步态数据采集器件是惯性传感器以及压力传感器.压力传感器可以直接测得压力中心,不需要复杂的数学推导即可获得人体平衡特性.然而,压力传感器无法获得人体脚步腾空时的步态特征,令步态识别系统损失部分步态数据,影响系统的识别精度.惯性传感器体积小巧,不需附加外界电源,且其频率响应范围较宽.Din S D等人利用惯性传感器提取了帕金森患者和健康老人的14个常用于帕金森评估的步态特征,文中使用Bland-Altm an方法评估上述步态特征的可靠性,实验证明,惯性传感器能够采集步态特征,并且获取的数据能够用于健康和患病的评估[8].
惯性传感器通常佩戴在腰部、腿部、手臂、足底,对于同一种步态来说,传感器佩戴位置不同获取数据的准确度也就不同,从而影响步态识别的识别精度.例如,佩戴在胸前的传感器由于未被固定,会存在剧烈的抖动,佩戴在手臂的传感器会因为手的相关动作而造成步态数据的缺失[9].为了保证采集到数据的完整性,同时考虑到尽量避免笨重的传感器设备影响被监护老人的正常生活,本文在设计步态识别方案时将传感器固定在最能准确反映完整步态信息的腰部以及腿部(大小腿各一).
在设计传感器模块时,为了获取足够的步态数据,选用惯性传感器MPU6050采集老人步态的相关信息.MPU6050是一个6轴运动处理组件,包括3轴加速度计以及3轴陀螺仪,可实时输出每个采样时刻X/Y/Z轴的加速度值和倾角(俯仰角、滚转角、偏航角)[10].MPU6050克服了单一加速度传感器或陀螺仪的缺点,可准确追踪快速与慢速动作,进一步保证了采集数据的准确性.
针对于人体步态识别的传感器,采样频率设置时应当依据人体行为频率设置,若采样频率设置过低,则无法全面表达信号本身的变化,若设置过高则会产生多余数据,对计算和存储造成负担.人类日常活动的频率一般小于10Hz,由香农定理可知,采样频率至少应为原始信号最大频率的2倍,因此本文在进行老人日常步态识别时将采样频率设置为20Hz[11].
在设计控制模块时,选择STM32F103系列芯片,该芯片具有高性能的ARMCortex-M3 32位RISC内核,内置高速存储器,能够提供充足的I/O接口以及标准通信接口[12],实现系统高性能和低功率消耗并存,能够很好地满足本系统数据采集的要求.MPU6050将采集到的数据通过I2C传输到微处理器,存放在本地存储器中,微处理器通过低功耗蓝牙实现与PC端的通讯.因为数据采集量多,预处理步骤也多,在微控制器STM32F103上实现系列操作具有一定的难度,因此本文在PC端实现改进算法,尽可能降低嵌入式系统的复杂程度.由于传感器输出的都是电压值,故需通过A/D转换再传输数据,PC端最终收到的步态数据都是16进制的数字量.
2.2 数据预处理
本系统中传感器采集的数据都是时间序列信息,这类数据往往包含很多噪声和干扰,如果直接使用原始数据进行分析计算,将影响数据处理的效率以及算法识别的精度,因此需对原始数据进行预处理操作.
MPU6050采集数据时,加速度传感器中除了人体运动加速度信号之外,还存在着重力加速度、人体抖动产生的噪声等无用信号;同样的在陀螺仪的输出信号中,除了包含身体运动角速度这样的有用信号之外,还包含测量过程中产生的噪声等无用信号.为了减小无用信号对识别结果产生的影响,需要先对收集到的数据进行相应的预处理.信号预处理影响着步态识别系统的整体性能,尤其是影响识别分类的效率.预处理的原则应当在保证再现原有信号的同时保留信号中与人体运动有关的信息.
处理传感数据典型的数字滤波器主要包括中值滤波器、互补滤波器、卡尔曼滤波器、空域相关滤波、巴特沃斯带通滤波器等.其中,卡尔曼滤波器的信噪比及相关系数为最佳,但是当巴特沃斯带通滤波器校正了延迟,它的性能将优于卡尔曼滤波器[13].此外,巴特沃斯带通滤波器还具有最广泛的应用范围以及最光滑的频率响应曲线,故本文选用巴特沃斯带通滤波器作为降噪工具,设置阶数为二阶.
使用巴特沃斯带通滤波器时,截止频率的选择十分重要.由于5~20Hz频段的数据被认为是人体活动信号的主要组成部分,因此本文中将巴特沃斯带通滤波器的高低截止频率分别设置为20Hz以及5Hz.图1为人体腰部MPU6050中的加速度传感器的X轴信号,从图中可以明显看出消噪之后的步态信号更加光滑.
2.3 特征提取
经过预处理的数据并不能很好地反映人体步态的特点,因此还需从原始步态数据中提取出能反映人体步态特点的特征值进行识别.本文进行特征提取的时候应该依据步态识别的特点针对性的进行选择,特征选择的好坏将直接影响后续步态分类的结果.在基于惯性传感器的人体行为识别研究中,常见的特征提取方法主要分为三大类:基于频域、基于时域和基于时频.
传统的数据特征提取过程中,一般只选择单一时域特征或者频域特征进行分析,例如时域中的均方根、平均值、中值等,频域中的FFT系数前(前32位、64位)、谱密度等.由于步态信号的非平稳的特性,这些方法提取的信息并不能充分表现步态数据的特征.小波变换是一种典型的时频分析方法,能够更全面的描述原始步态数据的特征.然而考虑到部分采集到的数据会进行时延处理,这样做与未做时延处理的信号同时进行小波变换时会造成很大的差异.因而,本文选用双树复小波变化进行特征提取,该方法是对小波变化的延伸与改进,可以很好的解决小波变换的敏感性.
图1 腰部加速度传感器X轴数据巴特沃斯滤波前后效果图Fig.1 Lumbar acceleration sensor x-axis data butterworthfilter before and after renderings
双树复小波变换(Dual-tree Complex Wavelet Transform,DTCWT)是基于复小波变换的离散小波的衍生,它不仅具有复小波变换的优良特性,同时兼备双树滤波器的完全重构性、抗混叠性,其函数表达式如式(1)所示.
θc(t)=θs(t)+jθr(t)
(1)
DTCWT结构上是将复小波分为实部和虚部两路的二叉树,其小波变换系数由两组并行的实数滤波器实现获取.DTCWT的原理主要是在进行第一层分解时,虚部树中二抽取能够恰好采样得到实部树二抽取时遗失的信息.这就要求虚部树前需设置一个延时器,使得虚实两树间的延迟为一个采样间隔.此外,对于在第二层以及第二层往后的分解中,虚实两树间需要设定一个相对于各自采样速率的半个样值间隔的差距[14].
根据希尔伯特变换,将式(1)函数转换至频域可得:
(2)
由式(2)可知,ω>0为θc(t)的频域支撑域,利用这一频域信息,我们可以避免小波变换的敏感性以及采样时出现的混叠效应.
由上述分析可知,DTCWT的优越性能必须满足两个小波滤波器都符合希尔伯特变换的前提条件.但是实际使用过程中,小波函数长度有限,造成两个树之间频率响应的差异,增大运算量.
Kennel P等人在DTCWT的基础上做出了Q-shift改进,与原方案相比,改进的基于Q-shift的双树复小波变换从第二层开始,都采用偶小波函数作为滤波器[15].为了保证树A和树B延迟都为1/2采样周期,将实树和虚树的滤波器设计为相反的模式,如图2所示,其中h0和h1分别为低通滤波器和高通滤波器,用q标记的滤波器设定1/4采样周期的延迟,3q标记的滤波器设定3/4采样周期的延迟.
图2 基于Q-shift的双树复小波变换分解步骤图Fig.2 Schematic diagram of double-tree complex wavelettransform decomposition based on Q-shift
图3展示了步态信号分别经过层基于Q-shift的DTCWT与基于离散小波变换后的输出信号.可以看出在阶跃点附近,离散小波变换的输出存在畸变,而基于Q-shift的DTCWT输出随着层数的增加逐渐趋于平滑,可以清晰明确的展现输入信号的特点.
图3 步态信号分别经过基于Q-shift的DTCWT与基于离散小波变换后的输出信号对比Fig.3 Gait signal is compared with the output signal based onQ-shift based DTCWT and discrete wavelet transform
使用双树复小波变换进行特征提取时,常用的参数主要有表1中的四个,选择哪几个作为本文的特征参数,决定了整体步态识别的时长以及后续步态分类的精度.研究证明,legall和qshift_b构成的小波基函数具有最小的重构误差,因此本文在使用基于Q-Shift的双树复小波变换进行步态特征提取时,选用legall和qshift_b作为参数[16].
表1 双树复小波主要参数
Table 1 Double tree complex wavelet main parameters
参数名称含 义dot表示每个实例包含的数据条数,每个实例都需要做双树复小波变换,所以dot的值为2的幂次方.nlevel表示双树复小波的层数.biortType表示双树复小波变换第一层使用的小波类型.常见的有:antonini,legall,near_sym_a, near_sym_b.qshiftType表示DTCWT第二层及以后使用的时移变换小波类型.常见的有:qshift_06,qshift_a,qshift_b.
除了这些特征之外,本文还选择一些基于原始数据计算得出的信息作为特征,主要包含以下几种:
(3)
(4)
(5)
最大最小差值DIFF=max(x)-min(x)
(6)
3 代价敏感支持向量机分类器建模
前文进行的数据预处理、特征选择等步骤只是在为步态识别打基础,步态识别中最重要的还是分类模型的建立.
本文选用支持向量机(SVM)模型在Matlab上对特征进行识别,SVM分类模型可以很好地解决非线性问题.由于本系统需要对跛行、踮脚、震颤、正常四种行为进行识别,故需要四个两类SVM分类器,训练第i个分类器时,将第i类标记为+1,其余标记为-1.
SVM模型在被使用时,要求正反标记的样本相差不大,但是日常生活中健康的人群要远大于患病的人群,也就是说,采集到的数据中,健康样本与异常样本数目相差较大.将会造成SVM模型倾向于数目较多的一类样本,影响分类模型的准确度.基于此本文引入了代价敏感支持向量机(CS-SVM,Cost Sensitive Support Vector Machine),该方法在建模时将不同类别样本的误分类代价考虑在内,并将这些误分类代价嵌入到标准SVM算法中.
(7)
s.t.yi[k(x,xi)+b]≥1-ξi,i=1,2,…,n;
ξi≥0;
其中,C1、C2表示误分类代价参数,它们的取值依赖于yi;k(x,xi)表示核函数,ξi表示松弛变量,C表示惩戒因子,其值均大于0,它决定着模型对误差的容忍能力[17].
引入拉格朗日乘子αi和αj,将优化问题转化为对偶问题:
(8)
s.t.0≤αi≤CC1;
0≤αi≤CC2;
本文选取径向基函数(Radial Basis Function,RBF)作为核函数,RBF核函数无论样本大小,都可以较好的拟合非线性映射问题,其结构如式(9)所示.核函数的引入令高维空间中的内积运算能够通过输入空间中的核函数实现,能有效避免维数灾害.
(9)
4 实验仿真
本文为了研究CS-SVM的优越性能,使用SVM分类器对同样的数据样本进行训练,使得经过训练之后的分类器模型能够根据采集到的数据进行步态识别,二者的识别效果通过识别率进行对比.具体步骤如下:利用位于腰部与腿部的传感器网络获取老人步态数据,在数据采集阶段,征集了15位学生作为数据采集者采集其步态数据,其中男生8位,女生7位.分别采集他们跛行、踮脚、震颤、正常四个种类的步态,每位同学每类步态采集200组数据;然后对采集到的数据进行降噪处理和特征值提取.
本文使用CS-SVM建立的老人异常步态识别模型属于二分类问题,识别四类步态就需要4个二分类器,每个二分类器识别的一类步态标记为1,其余三类标记为-1,步态识别系统步骤如图4所示.
图4 步态识别系统步骤图Fig.4 Gait recognition system step diagram
表2 SVM模型识别结果Table 2 SVM model recognition result
其中,步态识别率=(正确识别次数/总次数) 100%.
从每类行为样本集中任意选取三组作为SVM和CS-SVM分类器训练样本集,然后从剩下的样本集中每类各抽三组作为测试样本集以测试分类器的准确率,表2、表3给出了两种分类器得出的识别结果.
表2和表3对比可知,相比与SVM模型,CS-SVM模型进行步态识别的识别效果更好,主要表现为识别准确率高,稳定性好,表明CS-SVM在老年人异常步态识别领域有着广阔的应用前景.其主要原因是因为CS-SVM模型中将不同类型行为的代价因子考虑在内,更符合日常生活中健康人群多于患病人群的实际情况.
表3 CS-SVM模型识别结果
Table 3 CS-SVM model recognition result
跛行踮脚训练样本数10516520589179236测试样本数53821014792121识别样本数5078964589117步态识别率0.9430.9510.9500.9570.9670.967平均识别率94.8%96.4%震颤正常训练样本数95134199100187252测试样本数7881965394133识别样本数7578935294132步态识别率0.9620.9630.9690.9811.0000.992平均识别率96.5%99.1%
其中,步态识别率=(正确识别次数/总次数) 100%.
5 总结与展望
基于MPU6050组成的传感器网络提取老年人的日常生活步态数据,使用巴特沃斯带通滤波器对采集到的原始步态数据降噪,剔除干扰信号;经过降噪的数据并不能完全展示步态数据的特征,采用双树复小波变换进行步态特征提取,针对双树复小波存在的预设条件难以满足的问题,提出使用基于Q-shift的双树复小波变换,,提高了小波系数的平稳性.最后,考虑到实际生活中,健康人群远大于患病人群的事实,将各类样本的代价因子考虑在内,使用代价敏感支持向量机进行步态识别分类,步态识别率大大提高,可以为老年人慢性神经疾病预判提供重要的依据.