基于Kinect和虚拟现实康复训练系统设计与实现
2018-07-25徐卫伟李艳君
徐卫伟,程 鹏,李艳君
北京体育大学,北京 100084
随着人口老龄化水平的加剧,高血压、脑卒中、老年痴呆等心血管疾病发病率逐年升高,统计结果表明,70%~85%的脑卒中患者会伴随产生一定程度的运动障碍,严重影响患者的生活质量[1,2]。大量研究结果表明,大量重复性和高密度性的康复训练可以使得患者的身体功能得到最大限度的恢复,改善患者的生活质量,提高其生活、工作和学习能力[3]。传统的康复训练方法主要采用辅助按摩的方式进行,要求在专业地点进行,训练治疗过程单调乏味,而且存在训练效果和训练强度无法准确评价的缺点。为了克服传统康复训练方法的缺点,将Kinect和虚拟现实结合起来,开发出一种基于Kinect和虚拟现实的康复训练系统,实现患者在家或者社区里就能进行康复训练,同时提高训练效果并对训练效果进行评估,为患者的下一步康复治疗提供决策依据。
1 康复训练系统设计
1.1 系统构成
图1 基于Kinect和虚拟现实的康复训练系统Fig.1 Rehabilitation training system based on Kinect and virtual reality
基于Kinect和虚拟现实的康复训练系统组成模块如图1所示,主要包括如下模块[4]:
(1)传感器数据采集模块:负责数据采集和数据转换功能;
(2)后台实时数据处理模块:负责数据处理、数据存储和数据输出等功能;
(3)虚拟老师标准动作模型库模块:负责指导患者训练动作的示范、选择和训练模式的选择等功能;
(4)患者动态形象虚拟化模块:负责患者训练动作的虚拟化等功能;
(5)网络交流模块:负责患者训练数据对的加载和上传、医生下载训练数据。
该系统主要功能结构如图2所示。
图2 系统结构功能图Fig.2 Function of the system structure
1.2 开发平台
该系统软件基于Visual Studio 2015环境开发[5],传感器[6]采用Kinect for Windows SDK V1.6,患者训练端采用Windows窗体应用程序,网络服务端和客户端采用ASP.NET Web应用程序[7]。图3所示表示不同训练场景图。
图3 训练场景图Fig.3 Training scene
1.3 网络设计
康复训练系统的网络交流模块主要分为患者登录客户端和医生登录客户端,基于VS2015的ASP.NET实现设计。主要功能包括患者可以浏览医生的反馈信息和相关网站,医生根据患者编号提交训练信息、评价和建议。
2 模块设计
2.1 传感器数据采集模块
Kinect传感器通过黑白光谱的方式来感知环境,通过生成深度图像流[8],实现周围环境的3D模型复现。通过Kinect传感器可以得到20点二维人体骨架投影如图4所示。通过骨架投影信息可以提取人体运动特征和姿态特征。
图4 二维人体骨架投影图Fig.42D projection of the human body skeletons
2.2 后台实时数据处理模块
通过Kinect传感器采集患者训练数据并进行预处理,之后系统将对患者的运动数据进行实时自动评分,通过计算相应关节连线的夹角,提取关键动作并进行评分。
2.3 标准动作模型库模块
该系统用户训练模式包括标准模式和高级模式,其中标准模式包含4个动作,动作顺序和数量不能删减;高级模式包括5个动作,动作顺序和数量可以自定义设置。用户训练时,可以根据虚拟老师动作进行训练,系统将用户的动作和虚拟老师动作进行对比并评分,训练结束后,给出综合评价,并为患者下一步康复训练提供相应的建议和意见。
2.4 患者动态形象虚拟化模块
康复训练系统通过Kinect传感器每秒采集30帧数据,并将患者进行虚拟化映射——动态实时火柴人[9,10],其映射结果如图5所示,系统根据用户和虚拟老师之间的差异进行动态调整。
图5 Kinect人体虚拟化节点Fig.5 Kinect human virtualization nodes
2.5 网络交流模块
网络交流模块基于VS2015的ASP.NET实现设计。主要功能包括患者可以浏览医生的反馈信息和相关网站,医生根据患者编号提交训练信息、评价和建议,患者登录客户端如图6所示
图6 患者登录客户端界面Fig.6 Interface of patient login
3 系统实现
该训练软件系统主要采用模块设计[11],主机程序包括主程序、Kinect初始化、图像识别、串口通信等,基于VS2015和Kinect for Windows SDK V1.6,系统程序流程如图7所示。
图7 系统程序流程图Fig.7 Flow chart of the system programs
Kinect将采集到的患者训练图像信息(动作特征和姿态特征)传送给上位机[12],上位机经过图像处理和虚拟化映射后识别出人体动作并输出结果。
虚拟老师和患者训练实时对比图,其中,图8左图表示虚拟老师肘关节屈曲动作引导,图8右图为患者的虚拟化火柴人。大量实验结果表明,该康复训练系统可以使得患者的身体功能得到最大限度的恢复,改善患者的生活质量,提高其生活、工作和学习能力
图8 虚拟老师和患者训练实时对比图Fig.8 Real-time comparison of virtual teacher and patient training
4 结 论
为了克服传统康复训练方法的缺点,将Kinect和虚拟现实结合起来,开发出一种基于Kinect和虚拟现实的康复训练系统,实现患者在家或者社区里就能进行康复训练,同时提高训练效果并对训练效果进行评估,为患者的下一步康复治疗提供决策依据。