毛堃
摘 要:我国每年发生脑卒中的病人就高达200万,其中大部分存在不同程度的偏瘫。数量庞大的偏瘫待康复的患者对现有的医疗体系造成了巨大的压力,而现有的上肢康复训练主要还是一对一的训练模式,指标量化程度低,评价主观性较强,因此,急需一种更为高效的训练模式和评价方法。本文提出一种基于Kinect V2的上肢康复运动评价系统。该系统采用卡尔曼滤波对骨骼数据进行滤波,使用C#实现人机交互界面,并搭建出基于SQL Server的运动数据库,最终通过动态时间规整算法实现对上肢康复运动的评价。
关键词:Kinect V2;上肢康复;卡尔曼滤波;动态时间规整
中图分类号:TP391.41;TH789 文献标识码:A 文章编号:1003-5168(2020)25-0009-04
Abstract: In China, there are 2 million stroke patients every year, and most of them have different degree of hemiplegic. The hospital have huge pressure to deal with these mass number of stroke patients. Meanwhile, recent rehabilitation training is mainly one-to-one mode, where index has low quantization and assessment is strong subjective. Therefore, a more efficient rehabilitation training mode and assessment is needed. In this paper, a rehabilitation assessment system based on Kinect V2 for upper limb was proposed. In this system, the bones data is filtered by Kalman filter, HMI is realized with C#, and movement database is established based on SQL Server. Finally, rehabilitation assessment for upper limb is achieved by applying Dynamic Time Warping (DTW) algorithm.
Keyword: Kinect V2;upper limb rehabilitation;Kalman filter;DTW
1 研究背景
根據统计,我国每年发生脑中风病人达200万,发病率高达120/10万。现幸存中风病人 700 万,其中450万病人不同程度丧失劳动力和生活不能自理,致残率高达75%,其中偏瘫最为常见[1]。医学证明,除了药物治疗之外,运动康复训练对于偏瘫患者的康复具有至关重要的作用。然而,康复训练是一个长期的过程。而目前的上肢康复训练主要还是医师与患者一对一的训练模式,但由于专业的康复医护人员与患者数量严重不匹配,康复训练过于单调枯燥,康复动作评价仍然存在一定的主观性,因此,急需一种更为高效的训练模式和评价方法。
随着软件技术的飞速发展,虚拟现实技术已日趋成熟,被广泛应用于游戏、工程制造、航空航天和医疗领域,而其在医疗康复中的应用价值已经得到了学者们的广泛认可,并进行了一系列的实验与研究。意大利贝加莫大学的Vitali等人基于Kinect开发了用于上肢康复训练的评估软件,由于肩膀运动过程中肩关节的运动中心位置可能发生位移,因此,采用iPi Soft Studio对肩关节做无标记运动捕捉,从而实现Kinect对肩关节旋转中心识别的偏差进行修正[2]。美国卡内基梅隆大学的Min Hun Lee等人开发了基于Kinect的运动康复评价系统。该系统采用机器学习算法对运动数据进行评价。研究者还通过对11名健康志愿者和15名偏瘫患者进行实验,验证了该系统的有效性[3]。华东理工的蒋婷婷实现了基于虚拟环境的上肢主动康复控制系统,用于中风病人的康复训练,论证了虚拟现实系统有助于提高患者在训练过程中的积极性,对中风病人的上肢康复训练是有效的[4]。
虽然上述基于Kinect上肢康复训练系统已经能实现对患者上肢康复运动进行简单评价,但是由于现有的Kinect输出的骨骼信号仍然存在噪点,特别是当骨骼数据出现较大偏差时,传统的滤波算法在对其进行滤波时跟踪性能较差。因此,本文采用卡尔曼滤波算法,实现对于上肢的稳定识别,并最终通过动态时间规整算法实现对上肢康复运动的评价。
2 系统总体设计
本系统采用Kinect V2体感传感器,一方面可以对康复专家的标准上肢康复动作进行识别和录制;另一方面,对患者的上肢康复训练动作进行识别,PC电脑将康复专家和患者的骨骼数据通过动画的方式在人机交互界面中显示出来,同时,将骨骼数据实时保存到SQL Server数据库中,并最终根据患者和专家之间的动作匹配度给出患者本次的运动评价,本系统的控制框图如图1所示。
本系统采用的是微软公司推出的Kinect第二代体感传感器(Kinect V2),目前广泛应用于消费娱乐电子市场。该传感器由一个分辨率为1 920×1 080的彩色摄像头、深度传感器(包括红外发射器和接收器)和麦克风阵列等部件组成,能快速实现对人体骨骼的识别以及定位,并支持每秒30帧的数据输出。其中,每一帧中的数据中可以最大同时输出6个人的骨骼数据,包括每个人25个关节点的三维坐标数据。与此同时,Kinect V2具有较大的识别距离,最大和最小识别距离分别为4.5 m和0.5 m,传感器感知视野水平角度最大为70°,垂直角度最大为60°。Kinect V2较大的可识别角度/距离和强大的骨骼识别能力为本系统的运动识别提供了硬件保障。
3 系统软件设计
3.1 卡尔曼滤波
卡尔曼滤波算法是一种利用观测值和估计值对真实的数据值进行估计修正的过程,在对动态的数据处理方面,具有较好的滤波效果和预测效果,因此,广泛应用于航空、雷达跟踪等领域。卡尔曼滤波算法的核心公式为:
式中,[xk]表示[k]时刻的先验状态估计值,即根据[k-1]时刻的最优估计所预测得的[k]时刻的结果;[xk-1]和[xk]分别表示为第[k-1]时刻和[k]时刻的后验状态估计值,即最优估计值;[Pk]表示[k]时刻的先验状态估计值的协方差,即[xk]的协方差;[Pk-1]和[Pk]分别表示[k-1]时刻和[k]时刻的后验状态估计值的协方差,即[xk-1]和[xk]的协方差;[H]表示状态变量到测量的转换矩阵;[zk]表示测量值;[Kk]表示滤波增益矩阵;[A]表示状态转移矩阵;[Q]表示系统的协方差;[R]表示噪声协方差;[B]表示输入转换为状态的矩阵。
本系统采用卡尔曼滤波对来自于Kinect V2的骨骼三维坐标数据进行滤波,特别是对于由服装衣着造成的关节点识别错误造成的噪声数据的滤波,从而实现对真实骨骼数据的稳定跟踪,保证了后续的运动匹配和评价的准确性。
3.2 人机交互界面设计
本系统使用Visual Studio 2017对人机交互界面进行基于C#的编程,使医生和患者在使用本系统时有较好的用户体验。本系统的人机交互界面如图2所示。
本系统的人机交互界面实现了从Kinect V2骨骼数据的读取和三维骨骼视图显示、数据库的连接和读取显示、专家标准动作的录制、患者康复的运动评价等,具有界面友好、操作方便和运行流畅的优点。
3.3 数据库的搭建
本系统采用SQL Server搭建出上肢康复运动评价系统的数据库,用于医生/患者的基本信息、专家的上肢标准动作数据、患者的上肢康复运动数据等的存储和读取。其中的运动数据表中,保存了所有上肢关节的三维坐标及关节的角度值,方便后期实现运动的快速重现以及数据的分析和处理。
3.4 运动匹配与评价
在患者上肢康复运动完成后,系统自动将动作数据与存储在数据库中的专家标准动作运动数据进行匹配。由于患者上肢各部位的尺寸与专家存在差异,而且完成整套动作中的时间也很难保持一致,采用传统的欧式距离模板匹配法很难实现动作评价,因此,本系统采用能对两个数据进行拉伸和收缩以进行最佳匹配的动态时间规整(Dynamic Time Warping,DTW)算法进行患者上肢运动数据与标准动作之间的匹配。
本系统将患者上肢的肘关节、肩关节和腕关节的三维坐标作为DTW算法匹配的基础数据,通过对三个关节的DTW距离值进行累加,从而得到最终整个上肢的DTW距离值。根据DTW距离值的大小对患者上肢康复运动的标准程度进行评价打分,医生可以基于该系统的评价分数对患者的康复状态进行有效评估,从而对患者进行下一阶段更为合适的康复运动训练。
4 系统验证
为了验证本上肢康复运动评价系统的有效性,以一个正常人进行一次左手碰头的动作进行实验。
在Kinect V2的滤波方面,实验数据表明,经过卡尔曼滤波后,人体上肢的骨骼运动数据变得更为稳定。以肘部的[X]轴坐标值为例,一次左手碰头的动作持续时间约8 s,具体的数据波形如图3所示。
波形图中的灰色曲线为未经过滤波的原始数据,而黑色曲线为经过卡尔曼滤波后的数据。从图3中可以看出,在骨骼数据出现突变时,本系统可以对其进行有效滤波,并能快速对动作进行跟踪。
在对于上肢康复运动评价方面,测试者分别通过以下三种动作来模仿标准动作。
动作1:动作缓慢,但是与标准动作保持一致。
动作2:与标准动作在位置和速度上保持高度一致。
动作3:与标准动作在位置和速度方面都有较大差异。
本系统自动将上述测试者的上肢运动数据与事先录制好的标准模板数据进行匹配,得到最终的DTW距离值分别为20.05、12.13、39.51。
从上述匹配结果可以看出:距离值最大的是动作3,匹配度最低;距离值最小是动作2,匹配度最高;而动作1的距离值居中,匹配度居中。这证明了本系统对动作识别和评价的有效性。
5 结语
本文基于Kinect体感传感器搭建了一种上肢康复运动评价系统,通过非接触式的方式对上肢运动进行识别,采用卡爾曼滤波算法对来自Kinect的骨骼数据进行滤波,并利用DTW算法实现运动匹配。实验结果表明,本文所搭建的基于Kinect的上肢康复运动评价系统能实现对上肢运动的稳定识别和运动评价,并具有成本低、精度高、操作简单和携带方便等优点,使得医护人员可以对上肢康复运动进行标准化评价,提高评价效率。
参考文献:
[1] Coker R H,Deutz N E,Schutzler S,et al. Nutritional supplementation with essential amino acids and phytosterols may reduce risk for metabolic syndrome and cardiovascular disease in overweight individuals with mild hyperlipidemia[J]. Journal of Endocrinology Diabetes & Obesity,2015(2):1069.
[2]Vitali A , Regazzoni D , Rizzi C , et al. Neuro-cognitive Rehabilitation: Design of VR Serious Games for Patients with Severe Memory Loss[C]// CAD'20. 2020.
[3] Lee Min Hun, Siewiorek Daniel P, Smailagic Asim, et al. Learning to assess the quality of stroke rehabilitation exercises [C].//24th ACM International Conference on Intelligent User Interfaces. Marina del Ray, United states: Association for Computing Machinery, 2019.
[4]蒋婷婷.基于虚拟环境的中风病人上肢康复主动控制系统研究[D].上海:华东理工大学,2017.