APP下载

基于新颖性检测的跌倒风险预测①

2022-05-10刘雅秦王汝传

计算机系统应用 2022年4期
关键词:新颖性步态受试者

刘雅秦,叶 宁,2,徐 康,2,王汝传,2,唐 震

1(南京邮电大学 计算机学院、软件学院、网络空间安全学院,南京 210023)

2(江苏省无线传感网高技术研究重点实验室,南京 210023)

3(南京邮电大学 材料科学与工程学院,南京 210023)

跌倒是老年人健康风险占比最大的事故.根据世界卫生组织的报告,全球每年约有28%-35%的65 岁以上的老年人跌倒,而70 岁以上的老年人跌倒比例增加至32%-42%[1].《中国伤害预防报告》显示:老年人跌倒发生率为20.7%[2],跌倒是65 岁及以上人群因伤害致死的第一位原因[3].对个人而言,跌倒使老年人机能衰退,活动能力下降,出现致伤甚至致残;对社会来说,跌倒会增加医疗支出,耗费社会资源[4].因此,开展老年人群跌倒风险的评估和预测工作是必要的.

人的步态参数包含个人身体活动能力的重要信息,老年人由于生理机能下降及各种神经系统、肌肉骨骼疾病、药物、心理等多种因素的综合作用,步态经常出现各种复杂的问题[5].并且步态和平衡问题可以量化和远程评估,因此跌倒风险可通过测量老年人的步态变化来检测.

目前,国内外已经提出了许多基于不同传感器用于步态评估的技术方法.常见的方法之一是使用可穿戴传感器,如加速度计、陀螺仪和惯性传感器[6-8].这些设备大多能够提供准确的步态参数,具备小型化、高灵敏度和低成本等特征,可实时地检测老年的活动状态[9].但是,这些传感器需要技术人员来帮助受试者佩戴以及经常性的维护,它们日常的放置需保证正确和安全.用于运动跟踪的光学系统(如Vicon 系统),其基于固定在对象身体某些关键点上的标记.另外,存在无需穿戴的环境传感器,例如,测力平台、活动地毯(如GAITRite),当人们在上面行走时,它们可以检测双脚与地面接触的准确时刻,并计算速度和步长[10].

以上这些设备及系统必须安装在特定的场所中(如医疗机构和实验室),并且只能由专业人员操作,不便于对老年人的步态状况进行长期和连续的监测与评估.因此,显然需要一种成本低并且易于使用的系统,该系统允许在居家和社区环境下对步态模式进行连续的定量分析.

RGB-D 相机具有低成本和对可见光不变性的优点,由于基于RGB-D 相机的系统始终处于开启状态,因此无需受试者佩戴和充电维护.使用Kinect 传感器进行身体活动能力评估首次出现在文献[11]中,在这项工作中,评估了使用微软Kinect 获得时间和空间步态参数的测量结果,并与现有的基于网络摄像头的系统以及Vicon 运动捕捉系统进行了比较.实验结果表明,Kinect 传感器测量步态参数具有足够的精度.

新颖性检测使用单一类别的数据构建预测模型,它属于异常检测领域,是指在新数据中发现不符合预期行为模式数据的问题.

大多数新颖性检测方法都是针对特定用例的,需要了解该方法适用的场景以及相关领域的专家知识[12],具体可分为3 大类别.一是经典的统计或密度估计方法:对“正态”类别进行建模,以确定测试样本是否来自相同的分布;二是将训练集中样本点与特征空间中所有其他可能的未知数据点分开,如对训练数据集中的各类构建最小球体,测试集数据不落入任何球体即视为新颖点;三是基于encode-decode 思想,通过压缩数据表示和测量输入的重构误差来检测新颖性.

近年来,深度学习模型在解决不同领域具有挑战性检测问题中的表现引人注目,其通过神经网络学习特征表示或异常分数进行新颖性检测[13].

异常步态数据属于异常数据中的模式异常或称集体异常.在先前的研究工作中,已经将新颖性检测应用于步态病理学的分析[14-16],特别地,在文献[16]中使用智能手机的惯性步态数据,用于训练和评估单类支持向量机(OC-SVM)和支持向量数据描述(SVDD)这两种新颖性检测分类器,结果证明了使用新颖性检测从智能手机数据中预测跌倒风险的潜力,但该项工作并未对单类支持向量机和其他不同类别新颖性检测模型的预测性能进行比较.

本文提出了一种步态特征提取方法,对基于Kinect获得的三维骨架数据进行时空和运动学分析,提取出相应的步态参数特征,并结合受试者个体信息生成的个性化特征,作为特征集合共同输入到分类器中训练以预测跌倒风险.同时,考虑到数据收集工作中可能遇到的样本不平衡问题,即低跌倒风险人群的数量可能远超过高跌倒风险人群,使用异常检测领域的新颖性检测模型单类支持向量机(OC-SVM)对提取的特征集合进行训练和评估.

1 基于Kinect 跌倒风险预测方法流程

1.1 实验设置

本实验使用的深度相机为美国微软公司研发的Kinect v2,其拍摄出的RBG-D 行为数据主要包含3 种模态:深度数据、RGB 数据和三维骨架数据.由于Kinect 获取的数据包含比较多的噪声,相比基于深度信息数据的方法,基于三维骨架的方法信息根据准确,还可省去轮廓线提取等过程带来的错误和误差[17],因此本文使用三维骨架数据.同时,相比基于RGB 数据的方法,使用三维骨架数据可保护用户的隐私,未来更适合应用于居家和社区场景.

如图1所示,在实验场景中,Kinect 被放置在离地面0.8 M的高度,考虑到Kinect 探测距离的限制,受试者开始距设备3.5 m,要求沿直线行走3 m,行走结束时距离设备0.5 m.

图1 实验数据采集设置

1.2 跌倒风险预测方法流程

如图2所示,本文跌倒风险预测方法流程为:将采集到的原始三维骨架经数据去噪处理后,通过步态特征提取方法提取出受试者的步态参数,结合受试者自身个性化特征共同输入到跌倒风险预测模型中,最后输出受试者的风险等级(高/低).

图2 跌倒风险预测方法流程图

其中,提出的基于三维骨架数据的步态特征提取方法可提取出相应的时空参数和运动学参数如步幅、步速、膝关节角度等;并且引起跌倒的因素众多,因此本文也结合了受试者的个体信息如病史、跌倒史等作为共同输入.具体内容在第2 节介绍.

考虑到高跌倒风险样本不易获得的情况,由于新颖性检测器不需要平衡数据集,提出的跌倒风险预测模型使用新颖性检测领域中的单类支持向量机(OCSVM).具体内容在第3 节介绍.

2 基于三维骨架数据的步态特征提取方法

2.1 三维骨架数据去噪

由于Kinect 测量的关节点存在噪声,所以需要对获取的三维骨架数据进行去噪处理,提高测量的精度.

首先,需要去除原始样本数据时间序列中的高频扰动,应用一次移动平均滤波(single moving average,SMA).一次移动平均的本质是一种低通滤波,对时间序列直接求等权重均值.本文将每段三维骨架步态样本中关节点的某一方向(x/y/z)信号看作一组一维时间序列,其中,n为参与SMA 的帧数的个数,则第t+1帧信号SMA 后的值St+1计算公式为式(1):

同时,为了更准确地获取步态时空参数,在上述一次移动平均滤波的基础上,对足跟关节15 和19 的z轴方向数据应用中值滤波器.中值滤波器在图像处理领域应用广泛,其基本思想是,如果一段信号是平缓变化的,那么某一点的输出值可以用该点某个窗口大小内所有值的中值来代替.Kinect 三维骨架数据布局如图3所示.

图3 Kinect 三维骨架数据的布局

去噪处理后效果如图4 和图5所示(图4 为左膝关节角度原始数据和滤波后的效果;图5 为z15-z19原始数据和滤波后的效果).

图4 左膝关节角度原始数据和滤波后效果对比

图5 z15-z19原始数据和滤波后效果对比

2.2 步态参数提取

若通过步态分析预测跌倒风险,适当地选择所需的步态参数是必要的.本文将所需的步态参数分为两类:时空参数和运动学参数.

时空参数包括步幅、步速、步频.步幅指一足着地至同一足再次着地的距离.对于每个骨架数据帧t,Kinect 提供一个时间戳.为了计算步幅,本文使用两个足跟关节15 和19 的z坐标差值[18],如图6所示,同时这两个坐标差值的极值给出了每一步的开始帧ts和结束帧tf.步幅stride的计算公式为式(2):

图6 行走阶段的步态样本步幅分割示例

步频同样也对老年人跌倒有预测作用,步频由步幅决定,在本文中计算一个行走样本数据内的平均步频.若一个样本中的步幅数为m,骨架数据帧数为n,则步频cadence的计算公式为式(4):

运动学参数是反映行走过程中下肢运动和平衡能力的指标,包括左右膝关节角度和两腿间角度.在Kinect 获取到关节的三维坐标点后,将骨骼看作两个关节点间的直线,通过余弦定理可计算关节间角度.

膝关节角度定义为每条腿的大腿和小腿间的夹角.左膝关节角度LKA(left knee angle)为连接左腿关节12 至13 及13 至14 的两个向量之间的角度,右膝关节角度RKA(right knee angle)为连接右腿关节16 至17 及17 至18 的两个向量之间的角度.

两腿间的角度LA(leg angle)定义为连接关节0 至13 及0 至17 的两个向量之间的角度.

以左膝关节角度为例,如图3所示,计算公式为式(5):

其中,Li,j为关节i和j间的长度,.

为了能表示受试者的平衡能力变化的稳定性,将每一步幅范围中的左膝关节角度值取方差,则得到特征值var(LKA).

2.3 个性化特征

本文重点关注的是基于老年人的步态特征预测跌倒风险,但受试者的自身因素也因适当考虑.以性别因素为例,根据中国健康与养老追踪调查(CHARLS)2015年数据,研究发现无论在城镇还是农村地区,无论在哪个年龄段,中国老年女性的跌倒发生率始终显著高于老年男性[19].同时,跌倒史被认为与跌倒风险增强有很强的联系[20].

参考文献[21]提出使用三维骨骼关节时域特征和元数据特征结合预测跌倒风险等级的方法,本文选择性别(“1”和“0”分别代表男性和女性)、是否被诊断具有某些与平衡相关的损伤(“1”和“0”分别代表是和否)以及过去6 个月是否存在跌倒史(“1”和“0”分别代表是和否)这3 个二值特征,和步态特征共同作为输入.表1 列出了本实验用于预测跌倒风险的特征.

表1 预测跌倒风险特征列表

3 基于新颖性检测的跌倒风险预测模型

3.1 新颖性检测

新颖性检测是典型的一分类问题,指对大量正常数据中包含异常值或未预见值的自动识别.新颖性检测在很多领域有着广泛的实际应用,如医学诊断、工业系统故障检测、电子安全系统入侵检测、文本挖掘等[22].

新颖性检测的实现方法包括频率论方法、贝叶斯方法、信息论、极值统计、支持向量法、其他核方法以及神经网络.一般使用训练数据构建模型,训练数据可包含非常少的新颖点(异常点)或不包含新颖点.根据算法得出数据x的新颖性分数z(x),并根据通常称为新颖性阈值z(x)=k的决策边界来检测其偏离正态性的情况.本文选择单类支持向量机训练和评估基于第2 节特征提取方法生成的特征数据.

考虑到未来面向社会开展老年人跌倒风险预测实际工作的初期,进行步态样本数据采集时,由于高跌倒风险样本不易获得,为降低数据收集的成本,低跌倒风险的样本数量可能远超过高跌倒风险数量.可将低跌倒风险样本看作正常数据,高跌倒风险样本看作异常数据.由于新颖性检测算法中训练数据允许包含极少量异常数据,对上述不平衡数据情况下进行模型的构建与训练是适用且有效的.

3.2 单类支持向量机

本节主要介绍单类支持向量机(one-class SVM,OC-SVM)的基本概念.

根据文献[23]中的描述,OC-SVM的原理是将特征空间中的原点与数据点分离开,以最大化间隔作为优化目标.该算法返回一个二元决策函数f(x),能够获取特征空间中数据的概率密度区域.f(x)在捕获大部分数据点的区域中取值+1,在其他地方取值-1.

给定训练集X= {x1,x2,···,xN}⊆Rn,N为训练集样本数量.为了将训练数据集与原点分离,并且与原点的距离最大,需求解二次规划问题(6):

其中,ζi为松弛变量,Φ(xi)为原始训练样本xi在特征空间 Φ中的投影,w和 ρ表征超平面.

此时,需求解对偶问题(7):

需要注意参数v∈(0,1),当其趋近于0 时为训练数据集中作为支持向量的样本数量的下限,当其趋近于1 时为训练数据中新颖性分数的上限.也就是说,v的值直接决定了单类支持向量机新颖性检测算法的灵敏度.

4 实验与分析

4.1 数据采集

数据采集和开发基于Visual Studio 2019 和JetBrains PyCharm Community Edition 2017.在实验室条件下,Kinect v2 以30 fps 的速度进行数据更新.

共12 名志愿者参与实验步态数据的采集工作,分别模拟不同跌倒风险的老年人步态,其中男性9 名,女性3 名.在每次实验中,受试者距设备3.5 m,沿直线行走3 m,每名受试者重复6-8 次.在12 名受试者中,4 名被标记为有高跌倒风险(女性1 名,男性3 名),8 名被标记为有低跌倒风险(女性2 名,男性6 名),具体信息见表2.

表2 参与实验的12 名受试者个性化特征信息及跌倒风险等级

总体而言,实验数据集包含60 个标记为低跌倒风险的原始步态片段和29 个标记为高跌倒风险的原始步态片段.

如图7所示,采用第2 节的步态特征提取方法对三维骨架数据集进行预处理及特征提取后,基于滑动窗口算法对每个受试者单次行走样本进行再划分,时间连续的步幅被分组以形成包含1 个步幅的数据窗口,按时间顺序排列,滑动步长为1.这样,可以从单个对象的数据中提取多个数据窗口,以生成多个样本.最终生成338 条低跌倒风险样本,236 条高跌倒风险样本.

图7 基于滑动窗口为1 的步态样本数据扩充

这种数据扩充方法的优点是[24]:它在数据中引入了个体对象的变化,这有助于提高机器学习分类器的泛化性能;该方法允许频繁和实时的推断,这对于跌倒风险预测中的及时干预十分重要.

4.2 不平衡数据集下的对比实验

在文献[16]的数据集划分方法基础上,本文的实验数据集划分如下:随机选取80%的低跌倒风险样本放入训练数据中,同时随机选取与训练集中低跌倒风险样本比例为1:90 的高跌倒风险样本;剩余20%的低跌倒风险样本用于构建测试集的一部分,而剩下部分由随机选取的百分比与完整数据集百分比相同的高跌倒风险样本构成.

K 近邻(K-nearest neighbors,KNN)算法和神经网络在异常检测领域都有相应的研究和应用,神经网络方法可处理非线性和非高斯数据,KNN 通过计算测试样本与其邻近样本之间的相似度来检测测试样本是否异常.

孤立森林(isolation forest,iForest)是一种基于决策树的分类算法,已被证实在大部分工业异常检测场景中效果较好.

因此,本文选择K 近邻(KNN)算法和多层感知机(multi-layer perceptron,MLP)、孤立森林(iForest)和OC-SVM 进行对照实验.

实验使用了超参数空间上的网格搜索来执行超参数优化.为了提高模型的稳健性和避免过拟合,使用了K折交叉验证法(K=5),找到最优超参数后,在训练集上重新训练模型,并使用独立测试集对模型性能做出最终的评价.

本节使用的模型及方法均通过Scikit-learn 库[25]实现.

4.3 实验结果分析

新颖性检测技术的有效性可以根据有多少新数据点被正确识别以及有多少正常数据被错误地分类为新数据来评估[22].并且,需考虑到在使用不平衡数据集的实验下,正样本数量远远超过负样本,模型分类准确度并不能完全衡量和评价模型的好坏,更合适的指标是F1-score,其为综合考虑精确率(Precision)和召回率(Recall)的调和值.

实验使用正确率(ACC)、虚警率(FPR)和F1-score评估模型的检测性能,定义如式(8):

其中,

其中,tp,tn,fp,fn分别代表真阳性、真阴性、假阳性、假阴性的样本数量.

神经网络算法具有随机性,使用同样的数据训练同一个网络会得到不同的结果.孤立森林算法和随机森林算法类似,每次选择划分属性和划分点(值)时都是随机的.

因此对MLP 及iForest 的训练和测试过程完整重复10 次,其评价标准的结果均取平均值.模型性能评估结果如表3所示.

表3 不平衡数据集下分类器性能评估结果

新颖性检测技术应该以高检测率为目标,并且需要保持低虚警率.接收者操作特征(ROC)曲线通常用于表示检测率和虚警率间的权衡.所有4 种分类器的ROC 曲线如图8所示.在上述模型中,OC-SVM 检测的准确率达86.96%,虚警率为10.64%,其F1-score为88.55%,AUC 为0.96,表现最佳.结果表明,OC-SVM可用于不平衡数据集下步态数据的跌倒风险预测,并在中小型数据集中有较好的表现力.同时,证明了基于Kinect 三维骨架数据预测老年人跌倒风险的潜力.

图8 4 种分类器ROC 曲线比较

4.4 个性化特征的消融实验

为了验证引入个性化特征对跌倒风险预测的作用,本节进行消融实验.

去除个性化特征,仅选择数据集的跌倒风险特征(表1)中5 个步态特征对4 种模型进行训练和测试,模型性能评估结果如表4所示.

由表4 可知,OC-SVM 在消融实验中预测跌倒风险的能力仍是最好的.去除个性化特征后,大部分模型的准确率及F1-score下降,虚警率上升,影响较大的为MLP 和iForest.

表4 消融实验下分类器性能评估结果

综上,证明引入个性化特征对于提升跌倒风险预测方法的精度和鲁棒性有积极作用,为未来增加受试者个体信息特征及进一步构建跌倒风险预测模型提供参考.

5 结束语

本文提出了一种基于Kinect 三维骨架步态数据的特征提取方法,并结合老年人自身个性化特征以预测跌倒风险.同时,考虑到数据采集工作的现实情况,采用新颖性检测模型OC-SVM 在不平衡数据集下进行数据的训练与评估,获得了良好的表现,有效地区分出低跌倒风险受试者和高跌倒风险受试者.

在今后的工作中:考虑增加更多的个性化特征用于跌倒风险评估;在更多数据的支持下,提出平衡数据集下的跌倒风险预测模型,以此提高模型在不同数据集下对老年人跌倒风险预测的准确度和稳健性.

猜你喜欢

新颖性步态受试者
基于步态参数分析的老年跌倒人群步态特征研究
步态识人
日本计划将新颖性宽限期延长至12个月
能充电并识别步态的新设备
新颖性推定规则
例谈英语课堂游戏教学的设计技巧
适度惩罚让人进步
重要的事为什么要说三遍?
网络语言的构成特征及其表现形式
与较胖者进食 食量会增加