[0053]以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体 实施方式仅用于说明本发明而不用于限制本发明的范围。
[0054] 本发明所涉及的方法是针对户外场合常见的四种摔倒行为(泮倒、滑倒、晕倒和撞 倒)。图1为摔倒行为分类示意图。图中给出了典型的老人摔倒类型,其中包括被泮倒(2显 示)、滑倒(3显示)、晕倒(4显示)、撞倒(5显示),老人在户外日常活动中(1显示)由于主观或 客观原因,会出现这些摔倒行为,需要针对这些行为构建合理的特征组合,通过一定的分类 器(例如支持向量机)将摔倒行为和非摔倒行为区分开。
[0055] 而摔倒行为数据的采集则要依赖于图2所示的面向户外摔倒监测的节点部署系 统,该系统包括穿戴在身体上的节点1、便携式终端2、移动通信基站3、个人计算机4和云数 据库5。图中示出了典型的身体节点部属位置,分别为胸部、上臂、手腕、大腿、脚踝,单节点 即指只在身体的某一个位置上部署一个节点装置。节点可以与图中便携式终端2无线连接, 并进行数据收发,节点1中设有三轴加速度计,能够采集到三轴加速度数据。便携式终端2- 般为用户的智能手机,无线连接方式一般为低功耗蓝牙通信(BLE 4.0以上),便携式终端能 够获取节点1上采集到的三轴加速度数据。图中移动通信基站3和个人计算机4均可以获取 便携式终端汇总的数据包并重新转发至医疗云数据库9。通过该系统,测试者的危险行为, 比如户外摔倒数据可以实时的被采集并进行远程传输,这样户外摔倒可以实时的被侦测, 并及时将报警信息传输至云端,便于及时救助。
[0056] 针对节点采集到的三轴加速度数据,本发明首先通过低通滤波去除原始样本奇异 值,并对数据集做漂移补偿;通过滑动窗口逐步将样本数据进行分段,采用等距等步长滑窗 法,将原始信号分为若干个数据样本集。在对样本数据进行分析的过程,我们选用7种最能 代表摔倒特征的参数,分别为:强度值、标准差、协方差、香农熵、最大峰峰导数、偏度系数和 峰度系数。由于体感网穿戴式节点需要长时间工作,对能耗要求较高,因此算法需要考虑满 足检出率的前提下,尽可能节约计算量从而降低能耗。例如,偏度系数和峰度系数要求对样 本数据做三阶矩和四阶距运算。因此,根据参数计算复杂度的不同,我们将其分为两个梯 度,先对第一梯度特征的四种计算能耗较低的特征值进行分析,分别为加速度强度值、标准 差、协方差和香农熵,经过特征计算与优化模块得出检出率满足要求,则直接进入参数排序 并保存;若未能达到检出率要求,则进入第二类参数计算,该类参数的计算量较大,包括最 大峰峰导数、偏度系数和峰度系数。本发明的流程图如图3所示,具体包括如下步骤:
[0057]步骤1:节点在人体某处部署完毕后,进入系统初始化。
[0058]步骤2:采集原始三轴加速度值&\,&7,~,并去除因传感器原因引起的奇异值,本例 中我们将[_7.99g,-7g]和[+7g,+7.99g]范围内测量值定义为奇异值,其中ax,ay,a z为三轴 加速度计测量值,量程为正负8G,单位为g。
[0059] 步骤3:通过漂移补偿模块对剔除奇异值的ax,ay,az做线性补偿,补偿值由加速度 计标定值确定。
[0060] 步骤4:通过滑动窗口化处理模块将数据样本切分为XJi,依次代入第一梯度特征 计算,Xi为数据样本窗后化后组数,Xi = sp X N/T,单位为个。
[0061] 其中,滑动窗口化处理模块用于为对原始数据按预设宽度和步长进行分组,并存 储至列表中。为了实时判别目标摔倒行为的发生,需要对采集的数据按一定步长滑动数据 窗,截取等距数据,从而进行实时特征计算和分类。滑动窗口样本数据的整体处理流程如图 4所示,其具体步骤如下:
[0062] 步骤a:对于每次采集的N个样本数据,首先执行初始化命令,其中N为单次获取的 样本总数,本例中N取值为300,单位为个。
[0063] 步骤b:读取当前设定的滑动窗口宽度值T,其中T为滑动窗口宽度值,实验中T取值 为2000,单位为ms。
[0064]步骤c:读取当前设定的滑动步长sp和当前窗口起止时间t,其中sp为当前设定步 长,即窗户滑动最小单位,取值为20,单位为ms,t为当前窗后起始位时刻,单位为ms;。
[0065]步骤d:分别提取窗口宽度内的ax,ay,az。
[0066] 步骤e:分布存储与窗口分组列表Lxy/中,LxyJ为第i组ax,ay,a z列表,3行100列矩 阵,i取值范围为[0,N*sp/T]。
[0067] 步骤f:对当前t值做出判定,若t = T-1,则结束窗口化,退出该模块;若t ST-1,则t =t+20,即窗口向右移动20ms,宽度不变,然后继续设定提取窗口内ax,ay,a z,并存储。
[0068] 步骤5:计算ax,ay,az的强度值α,计算a x,ay,az各自的标准差σ,计算(ax,ay)、(a y, az)和(ax,az)的协方差Λ,计算ax,a y,az各自的香农熵H,
[0069] 其中,α为加速度强度值,可描述样本数据能量值,公式为: 单位 为g;
[0070] σ为标准差,可描述加速度样本离散程度,公式为:其中μ为 样本均值,xi为第i组加速度值,Ν为窗口内加速度值总数,σ单位为g;
[0071] Λ为协方差,可描述X轴、Y轴、Z轴加速度值两两之间的相关程度。公式为:Λ =E [XY]-E[X]E[Y],X=[ax,ay,az],¥=[&\办办] 1',无单位;
[0072] H为香农熵,可描述加速度样本内不确定度。公式为 定义超过均值μ的随机变量总数为η,因摔倒行为是随机概率事件,则变量概率密度函数为
[0073]图5为滑动窗口数据分段示意,图中曲线代表3轴加速度强度值,计算公式为,其中ax,ay,az分别代表当前X轴、Y轴、Z轴的加速度值。该数据是通过美国 德州仪器生产的SensorTag节点获得,设定的采样频率为50Hz,设定的量程为正负8G,通过 实时采集软件BLE DEVICE MONITOR连续获取目标数据。图中1的位置代表滑动窗口工作起 始点,图中2代表滑动窗口,图中3代表检测出摔倒行为发生的窗口,图中4代表发生摔倒行 为时的强度变化。经过实验计算得知,窗口值设定为l〇〇〇ms至3000ms之间均可,但由于窗口 宽度越大,单次迭代计算量越大,因此在检出灵敏度和能耗方面做出平衡,选择测试窗口宽 度为2000ms,步长为20ms,即:行为总耗时为6000ms时,窗口化分段为300组样本数据。
[0074]步骤6:保存计算后的特征值,将特征值代入特征计算与优化模块。为了量化摔倒 行为识别中所选择的7种特征,我们采用支持向量机识别器进行交叉验证,将输入的特征分 组,依次进入SVM模型训练,找出最优参数及该参数的识别率。
[0075]特征计算与优化模块是基于支持向量机(SVM)分类器的参数选择模块,该模块首 先对参数集合分组,建立相应样本,通过SVM模型训练并对不同组合的参数进行交叉验证, 并对SVM模型关键参数做出优化,输出不同组合的SVM识别率并保存。特征计算与优化的流 程图如图6所示,它是为图3所示的特征选择流程提供计算依据的方法,其具体步骤如下:
[0076] 步骤a:首先将特征集合输入模块缓冲区,清除所有标记参数。
[0077] 步骤b:将特征集合进行分组:[α,σ, Λ,Η ]为第一梯度组,[α,σ, Λ,Η ,η,ρ,τ]为 第二梯度组,并相应拆分为
[0078] 步骤c:进入SVM模型训练,选用SVM分类器C-SVC,核函数为RBF,输出为该样本模型 数据集,其中RBF为SVM径向基内核函数,C-SVC为多分类SVM型标记。
[0079]步骤d:进行数据集交叉验证,输出最佳参数组合。
[0080]步骤e:若组合全部完成交叉验证,则讲最优组合进入SVM参数优化得出γ值;若未 全部完成,则继续建立样本集,然后进入SVM模型训练和交叉验证,其中γ值为RBF核参数。
[0081] 步骤f:根据优化后的γ值和c值,给出最优识别率,其中c值为惩罚因子。
[0082] 步骤g:存储相应的参数组合及识别率。
[0083]步骤7:将计算后的结果进行判定,若已经满足检出率SE要求,则直接进入参数排 序与选择模块,否则进入第二梯度计算,其中,SE为正检率,可描述数据集中的预测正确率, 公式为:SE = TP/(TP+FN) %,TP为正真值,FN为负假值,单位为%。
[0084] 步骤8:计算ax,ay,az最大峰峰导数η,计算ax,a y,az各自的偏度系数P,计算ax,ay,az 各自的峰度系数τ;
[0085] 其中,η为最大峰峰值导数,描述加速度相邻最大值变化率,公SS:n=(ape3ak-a peak-1)/Δ tp-p,其中apeak为最大波峰,apeak-1最邻近波峰,Δ tp-p为两者时间差,单位为g/s;
[0086] P为偏度系数,可以描述加速度值曲线左右偏斜程度,公式为:Ε[(Χ_μ)/σ]3,,σ是 标准差4是期望算子4为样本均值,乂=^办,3 2],无单位。
[0087] τ:峰度系数,可以描述加速度值曲线波峰尖锐程度。公式为:τ = (m4/〇)-3,即加速 度值的四阶中心矩与方差平方的比值(高斯分布得峰度系数为3,因此此处为相对值),无单 位。
[0088] 步骤9:返回步骤6。
[0089] 步骤10:按特征计算与优化模块给出的结果进行参数排序,选择排名最前的3种参 数。
[0090] 本例由多名22岁左右的学生在身体的不同位置穿戴节点后模拟老人摔倒,将采集 到的数据通过上述步骤1~10进行计算,图7为图6中交叉验证模块和参数优化模块执行后 的效果图,图中若干黑线条为参数逼近过程演示,由下而上找到最优;下图中粗黑线条代表 摔倒与非摔倒行为的判决边界。包含7种参数的特征集合[α, 0, Λ,Η,η,ρ,τ]进入交叉验 证,经实验计算得出:最高准确率为89.47370,对应的参数为η,即最大峰峰值导数;输出的3 种最优特征分别为:最大峰峰值导数,峰度系数和强度值。将最优特征代入SVM训练模型并 对参数γ,C优化,实验结果为C = 512, γ = 0.0078125准确度可达94.7368 %。必须说明的 是,利用本发明方法给出的参数优化及位置排序结果会因个体差异而不同,同时也受惯性 器件误差、实验环境、实验方式的差异而不同。因此,在真实环境中,由于个体存在差异,经 本方法输出的最优特征组合也会改变。
[0091] 图8显示的为身体部属位置与对应的姿态数据分布示意图。图中人体上三处标记 分别代表胸口、手腕和大腿侧,是体感网中典型的穿戴位置,具有一定的部属代表性。数据 分布图中X轴为时间,单位为20ms;Y轴为加速度值,单位为g。从三处的原始3轴加速度值分 布可以看出,在摔倒发生的窗口中,均出现不同幅度的剧烈变化,也就是说,三处部属位置 理论上均可以检测出摔倒行为的发生。但是,由于个体存在差异,以及摔倒类型不同,需要 根据合理的选取依据给出不同目标的最优部属位置。
[0092] 在特征选取方法选好最优特征组合的基础上,本发明还能根据通过已经选择好的 参数判断最优部属位置,通过优化后的SVM参数和已输出的特征组合,构建摔倒测试集,经 SVM模型预测机,输出漏检率和误检率。本发明采用机器学习性能评估常用的指标"漏检率" 和"错检率"来衡量,其中漏检率描述了真摔倒行为未被检出的百分比,错检率描述了非摔 倒行为被检测为摔倒的百分比,在日常环境中,漏检率危害较大,因此在综合评估中我们增 加漏检率的权重,按加权求和值给位置选择的排序结果。节点部属位置选择的流程图如图9 所示,具体步骤如下:
[0093]步骤1:位置寻优模块初始化,漏检率FNR值复位,错检率FPR值复位,其中,FNR = FN/(TP+FN),TP为样本正检数,FN为样本漏检数;FPR = FP/(FP+TN),FP为样本错检数,TN为 样本负检数。
[0094]步骤2:读取前述步骤得到的优化后的特征组合,读取前述步骤得到的优化后的 SVM参数。
[0095]步骤3:构建SVM摔倒数据样本集,并进行训练,输出SVM模型。
[0096]步骤4:根据模型对测试集进行预测,统计预测后的漏检率和错检率。
[0097] 步骤5:按公式Δ = luα-FNR) +k2(1-FPR)计算最大值,ki、k2为权重系数,由测试环 境和用户要求决定,本例中分别取〇. 7和0.3。
[0098] 步骤6:比较不同位置的△,输出最大△对应的部属位置。
[0099] 通过上述步骤,能够得到单节点应在人体上部署的最佳位置。
[0100]本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括 由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员 来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为 本发明的保护范围。