1.本发明属模式识别技术领域,具体涉及一种基于经验规则结合机器学习的下肢截肢患者运动意图识别方法。
背景技术:2.准确判断下肢截肢患者的运动意图能够有效减少跌倒的危险,使其能够完成日常的运动需求。商用型假肢多以经验阈值判断作为切换运动状态的依据,而有些学者则尝试使用机器学习分类算法进行意图识别。由于机器学习算法需要大量数据进行离线训练,训练出的模型也有大量参数,在使用stm32进行实时预测识别中还存在着一些挑战。knn算法是一种经典的机器学习算法,有着分类准确率高,对异常值不敏感等优点,在下肢假肢实验中发现,knn算法对基于机械传感器采集到的数据进行多运动状态分类有着其他机器学习算法无法比拟的优势。但也存在着计算量巨大,在stm32上进行人体意图实时预测处理时间长等缺点。
3.人体运动意图识别是穿戴智能动力下肢假肢控制系统中最重要的一部分,主要分为基于神经信号的运动意图识别和基于机械信号的运动意图识别。由于神经生物信号在采集过程中存在信号幅值微弱、汗液影响采集效果等问题严重制约了神经信号在智能动力假肢控制中的应用。利用动力假肢和集成在假肢上的机械传感器进行运动模态的识别和基于生物力学信号的运动意图识别是目前下肢假肢领域研究的热点。很多算法都能实现运动模式及模式间的切换准确率能够达到95%以上,但是5%左右的错误率仍会导致摔倒,而且冗余的传感器也会给截肢者造成负担。
4.由于已有算法的种种缺陷,在实际应用中效果不够理想,需要改进算法。本发明针对现有技术的不足,提供了一种基于经验规则结合机器学习的下肢截肢患者运动意图识别方法。
技术实现要素:5.本发明的目的在于提供一种经验规则结合机器学习的下肢运动意图识别方法,最大程度上提高人体运动意图识别分类的准确率和减少实时预测的处理时间。
6.本发明的一种基于经验规则结合机器学习的下肢运动意图识别方法,包括下列步骤:
7.1.1获取膝关节假肢中各传感器采集到的动作数据,包括下列步骤:
8.1.1.1使用放置在膝关节假肢上的膝关节角度传感器、称重传感器和imu传感器采集6名残疾人受试者进行步行、上坡、下坡、坐、站、上楼和下楼运动时的数据;
9.1.1.2预处理:对采集数据进行去噪,去除异常数据,并对正常数据加上分类标签;
10.1.1.3分析及比较不同运动状态下的传感器数据,归纳总结出判断坐阈值threshold
sit
、站阈值threshold
stand
、上坡阈值threshold
ra
、下坡阈值threshold
rd
;
11.1.2利用膝关节角度传感器的值,进行坐、站与其他运动状态的区分,包括下列步
骤:
12.1.2.1计算每4s的膝关节角度均值knee
τ
;
13.1.2.2与坐阈值threshold
sit
和站阈值threshold
stand
做比较,判断运动是坐、站还是其他运动状态;
14.1.3利用全脚着地时刻imu传感器解出的俯仰角值,进行上坡、下坡与其他运动状态的区分,包括下列步骤:
15.1.3.1使用stm32单片机,获得连续两次脚跟着地的时间做差,得到一个完整步态周期的时间t:
16.t=t
1hs-t
0hs
17.其中:t
0hs
为上一次脚跟着地时间;t
1hs
为当前次脚跟着地时间;
18.1.3.2获得全脚着地发生时间:
19.t
ff
=t
hs
+0.25*t
20.其中:t
hs
为检测到的脚跟着地时间;t为1.3.1所求步态周期时间;0.25表示全脚着地发生在步态周期的25%时刻;
21.1.3.3计算imu传感器在全脚着地时刻的俯仰角,与上坡阈值threshold
ra
和下坡阈值threshold
rd
作比较,判断运动时上坡、下坡还是其他运动状态;
22.1.4利用改进加权knn分类算法,进行步行、上楼梯、下楼梯三种运动状态及其他运动状态的区分,包括下列步骤:
23.1.4.1使用200ms固定时间窗分割传感器,采集膝关节角度、压力、x轴加速度、y轴加速度、z轴加速度、x轴角速度、y轴角速度、z轴角速度数据,并提取每一维数据的均值和标准差;
24.1.4.2对采集数据进行min-max标准化,使用欧式距离计算knn算法中两样本间的距离;
25.1.4.3利用灵敏度法计算各特征量的权重,通过每次去除第s(s=1,2,
…
,l)个特征量,然后再使用knn算法进行分类,统计总数据个数n和分类错误的个数ns;计算ns越大说明分类误差越大,说明第s个特征量对分类的贡献就越大;第s个特征量的权重系数ws定义为:
[0026][0027][0028]
其中:us为去除第s个特征量后,算法的分类误差率;uk为去除第k个特征量后,算法的分类误差率;
[0029]
1.4.4将传感器采集数据经处理后,将步行、上楼、下楼、其他按1:1:1:1的比例组成数据集,使用改进加权knn算法计算分类准确率;
[0030]
1.4.5使用k均值聚类算法缩减50%数据量,满足stm32内存的要求。
[0031]
步骤1.1.1所述的膝关节假肢上的膝关节角度传感器、称重传感器和imu传感器的
采样频率均为100hz。
[0032]
步骤1.3.1所述的步态周期是根据足与地面有无接触分为支撑相和摆动相,当足与地面有接触时为支撑相,足接触标志性状态有脚跟着地、全脚着地、脚跟离地、脚尖离地。
[0033]
步骤1.3.3所述的imu传感器置于膝关节下肢假肢的位置,近似于垂直地面。
[0034]
步骤1.4.4所述的“其他”指坐、站、上坡和下坡;所述的改进加权knn算法计算分类准确率是通过10折交叉验证,将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据进行试验,10次结果的正确率的平均值作为对算法精度的估计。
[0035]
本发明的有益效果在于:
[0036]
本发明基于经验规则结合机器学习方法,能实现对截肢者运动意图进行有效识别:提出一种经验规则结合机器学习的下肢运动意图识别方法。由于改进knn算法在使用stm32进行实时预测时,存在占有大量内存存储训练集和计算时间长等缺陷,故提出使用两组经验阈值分别区分坐、站和上坡、下坡四种运动状态,可以在保证分类准确率的情况下,大大减少改进knn算法的预测时间。由于传统knn算法对每维特征都是同样看待,但实际上每维特征的贡献程度是不相同的,故提出使用灵敏度法计算各维特征量的权重,贡献度大的特征,给予更大的权重值,以实现提高算法准确率的目的。
附图说明
[0037]
图1为基于经验规则结合机器学习的下肢运动意图识别方法流程图;
[0038]
图2为膝关节角度阈值分类器逻辑图;
[0039]
图3为步态事件及相位定义图;
[0040]
图4为膝关节角度阈值分类器逻辑图;
[0041]
图5为改进加权knn分类器逻辑图。
具体实施方式
[0042]
下面结合附图进一步说明本发明的实施流程,以便本领域的技术人员更好地理解本发明。
[0043]
本发明的一种基于经验规则结合机器学习的下肢运动意图识别方法实现流程如图1所示,该方法包括下列步骤:
[0044]
1.获取膝关节假肢中各传感器采集到的动作数据,具体包括下列步骤:
[0045]
1.1使用放置在膝关节假肢上的膝关节角度传感器、称重传感器及imu传感器采集6名残疾人受试者进行步行、上坡、下坡、坐、站、上楼和下楼运动时的数据;
[0046]
1.2预处理:对采集数据进行去噪,去除异常数据,并对正常数据加上分类标签;
[0047]
1.3分析及比较不同运动状态下的传感器数据,归纳总结出判断坐阈值threshold
sit
、站阈值threshold
stand
、上坡阈值threshold
ra
、下坡阈值threshold
rd
;
[0048]
1.3.1通过膝关节角度的值,确定坐阈值threshold
sit
和站阈值threshold
stand
:
[0049]
threshold
sit
=87
°
[0050]
threshold
stand
=1
°
[0051]
1.3.2通过全脚着地时刻俯仰角度值,确定上坡阈值threshold
ra
和下坡阈值threshold
rd
:
[0052]
threshold
ra
=pitch
w-0.9slope
[0053]
threshold
rd
=pitchw+0.9slope
[0054]
其中,pitchw为平地行走全脚着地时刻俯仰角度值,slope为斜坡坡度;
[0055]
2.如图2所示利用膝关节角度值进行坐、站与其他运动状态的区分,具体包括下列步骤:
[0056]
2.1计算每4s的膝关节角度值均值knee
τ
;
[0057]
2.2当膝关节角度值均值knee
τ
大于坐阈值threshold
sit
持续时间t>4秒则可判定为坐状态;膝关节角度值均值knee
τ
小于站阈值threshold
stand
持续时间t>4秒则可判定为站状态,否则为其他状态。
[0058][0059]
3.人体运动步态事件及相位定义如图3所示,足接触标志性状态有脚跟着地(heel strike)、全脚着地(footflat)、脚跟离地(heel off)、脚尖离地(toe off)。利用全脚着地时刻imu传感器解出的俯仰角值进行上坡、下坡与其他运动状态的区分,具体包括下列步骤:
[0060]
3.1使用stm32单片机获得连续两次脚跟着地的时间做差,得到一个完整步态周期的时间t:
[0061]
t=t
1hs-t
0hs
[0062]
其中:t
0hs
为上一次脚跟着地时间;t
1hs
为当前次脚跟着地时间;
[0063]
3.2全脚着地状态一般发生在整个步态周期的25%时刻左右,在检测到脚跟着地的时间加上25%的步态周期时间,估计为全脚掌着地的时刻:
[0064]
t
ff
=t
hs
+0.25*t
[0065]
其中:t
hs
为检测到脚跟着地时间;t为3.1所求步态周期时间;0.25表示全脚着地发生在步态周期的25%时刻;
[0066]
3.3如图4所示,计算imu传感器在全脚着地时刻的俯仰角pitch,与上坡阈值threshold
ra
和下坡阈值threshold
rd
作比较,判断运动为上坡、下坡还是其他运动状态:
[0067][0068]
4.如图5所示,利用改进加权knn分类算法,进行步行、上楼梯、下楼梯三种运动状态及其他运动状态的区分,具体包括下列步骤:
[0069]
4.1使用200ms固定时间窗分割传感器,采集膝关节角度、压力、x轴加速度、y轴加速度、z轴加速度、x轴角速度、y轴角速度、z轴角速度数据,并提取每一维数据的均值和标准差;
[0070]
4.2对采集数据进行min-max标准化,使用欧式距离计算knn算法中两样本间的距离;
[0071]
4.3利用灵敏度法计算各特征量的权重,通过每次去除第s(s=1,2,
…
,l)个特征
量,然后再使用knn算法进行分类,统计总数据个数n和分类错误的个数ns;计算ns越大说明分类误差越大,说明第s个特征量对分类的贡献就越大;第s个特征量的权重系数ws定义为:
[0072][0073][0074]
其中:us为去除第s个特征量后,算法的分类误差率;uk为去除第k个特征量后,算法的分类误差率;
[0075]
4.4将传感器采集数据经处理后,将步行、上楼、下楼、其他按1:1:1:1的比例组成数据集,其他包括坐、站、上坡和下坡。使用改进加权knn算法计算分类准确率,实验结果表明使用灵敏度法求出的特征权重能够有效提高算法准确率,准确率提高约3%;
[0076]
4.5通过k均值聚类算法缩减50%数据量,再次使用改进加权knn算法计算分类准确率。