基于 Kinect与虚拟现实的社区家庭康复系统的研制

2014-08-07 13:22张俊杰
微型电脑应用 2014年3期
关键词:虚拟现实康复训练传感器

杨 艺,许 源,张俊杰,刘 燕

基于 Kinect与虚拟现实的社区家庭康复系统的研制

杨 艺,许 源,张俊杰,刘 燕

尽管大部分康复训练需要在医院进行,但是将训练适量“搬运”到患者家中并把结果定期反馈回医院以制定下一步治疗计划,不仅能减轻康复医师的工作,也可为患者提供更轻松自在的训练环境和完善的后期治疗。在 Visual Studio 2010(VS2010)开发环境下,尝试利用 Kinect传感器捕捉患者运动,获取原始深度数据流并从中采集患者全身 20 个关节点的信息,在此基础上构建一个动态实时的康复训练软件系统。该软件系统可存储历史训练细节,并依据标准动作模板生成的评分函数得到训练效果分数,在预设时间到达后展示给患者与治疗师同时输出训练记录,方便后期实现部分网络交流功能。目前本系统主要收录的动作有五个分别为:击掌、举手上伸、下垂合手、右腿划圈、左腿划圈。

虚拟现实;家庭康复;Kinect传感器;动态实时火柴人;自动评分

0 引言

随着老年人群的增长,慢性病和老年病成为了社区医疗服务的重要关注点。通常高血压、脑卒中、老年痴呆等是老年人群易发的疾病。患者在经过医院的治疗后期望通过一些社区和家庭式的康复训练来增加他们的肌体功能康复效果,进而提高他们的生活质量。目前,虽然国内外的科技人员已经研究和开发了一些康复训练系统,但大部分都需要在专门的实验室环境内进行康复训练。因此,有必要开发一类轻便小型的智能康复训练系统来辅助这类人群在社区和家庭进行康复训练。为了实现这一目标,首先要寻求捕捉目标动态姿势的轻巧传感器。作为一种全新的交互传感方式,Kinect正逐渐渗透到人们生活的各个领域[1]。在我国目前关于Kinect的应用多在教育与娱乐方面,将它运用于康复领域是一种新的探索尝试。

基于 Kinect 传感器开发的社区家庭式康复系统将使我们可以借助虚拟现实技术通过一台 Kinect 传感器和电脑,在一定范围的空间内实施趣味性的康复训练。再结合远程网络技术,将使受训者可以通过网络咨询治疗师,而治疗师通过网络返回的训练效果给出意见与符合患者训练进度的后续治疗方案。这使治疗师从繁重的工作中解脱出来,有利于增加患者数量和方便医师在机械因素以外提供人情关怀,并逐渐形成具有较强医学性与医院紧密联系的网络社区,从而定期得到技术与健康指导并完善患者的后期康复疗程。

“让有限数量的治疗师面对更多数量的患者”是我国康复治疗领域亟待解决的问题。将 Kinect 与计算机技术结合运用于康复领域所研制的社区家庭康复系统,可以有效从“质”(康复效果)和“量”(患者数量)上提高我国的康复水平,具有非常广阔的前景。

1 家庭式康复系统的平台建设

1.1 系统平台的构成

家庭式康复系统的硬件部分由 Kinect 传感器和计算机构成。物理上则有5大模块,如下所列:

1)传感器数据采集处理模块:数据采集、数据转换;

2)后台实时数据处理模块:数据处理、数据存储、数据输出;

3)虚拟老师标准动作模型库:患者训练模式及动作选择功能和动作指导功能服务;

4)患者动态形象虚拟化模块:患者虚拟化服务与实现;

5)网络交流模块:患者数据上传、医师数据下载;

系统主要结构示意如下图1所示:

图1 家庭式康复系统主要结构示意图

1.2 家庭康复系统平台逻辑构成

系统逻辑上分为3个应用部分,名称及功能分别为:

1)患者训练客户端:提供康复训练服务及数据维护;

2)患者网络服务客户端:数据上传与医师建议下载;

3)医师网络服务客户端:数据查看及个人建议上传;

此三部分基本实现系统的单机与网络功能。

1.3 基础技术开发平台

整个系统的开发环境采用的是 Visual Studio 2010,使用了 Kinect for Windows SDK v1.6 进行传感器操作。患者训练客户端采用 Windows窗体应用程序与 WPF 应用程序搭建;网络服务客户端均采用 ASP.NET WEB 应用程序构建。

1.4 网络设计

系统网络模块目前分两部分:患者与医师登陆客户端,利用 VS2010 的 ASP.NET 构建。主要功能为:使医师可以按编号查阅患者训练信息并提交评价与建议,患者可浏览医师反馈信息与浏览相关网站。

2 系统工作流程及分项描述

系统的工作流程为:①用户界面初始化;②用户动态训练实时数据采集;③患者形象动态虚拟化;④用户训练评分;⑤评价和患者动作细节记显示;⑥网络模块数据上传。

2.1 Kinect传感器数据采集处理模块

Kinect作为史上销售最快的电子消费产品【3】,是微软公司推出的一款高性能的体感器。它由红外投影机、彩色摄像头、红外深度投影头和 PrimeSense 的 PS1080 SoC 芯片组成,空间判断精确度为 4mm。 Kinect传感器将数据采集和处理结合一体,可提供三大类原始数据信息:深度数据流、彩色视频流和原始音频流,如图2所示:

图2 Kinect传感器数据流应用示意

其独特骨骼追踪技术将用户全身虚拟化为 20个关节点【4】。利用微软公司提供的 Kinect SDK 的 APIs 来实现对Kinect传感器的控制操作。

Kinect传感器使用的整个过程包括:初始化并启动传感器,数据流操作,释放资源并关闭。在 WindowLoaded()函数中实现传感器的初始化,逻辑判断无误后启动传感器。

由于 Kinect 同时追踪 6 人而只有一位患者,所以系统将骨骼追踪限定为只有第一个被追踪的人, 使患者训练时可获他人帮助。关键语句如下:

Skeleton currentskeleton = (from s in skeletons where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault();

系统利用 SensorSkeletonFrameReady()函数对骨骼数据进行处理,数据处理与绘图的过程如图3所示:

图3 SensorSkeletonFrameReady()函数流程

①获取数据流,重新分配存放缓冲区;②获得数据流中每一帧的新数据,并释放缓冲区;③判断骨骼追踪状态之后选择相应的执行方式。

2.2 后台实时数据处理模块

数据采集并初步处理后,系统对用户的运动数据进行实时评分,为实现自动评分,每个动作对应的算法均对每帧数据进行操作。基本的原理是计算出相应关节连线的夹角,再根据关节点的具体位置进行相关动作得分的评判。其中提取患者关节点数据程序语句如下:

wex=skeleton.Joints[JointType.WristRight].Position.X-ske leton.Joints[JointType.ElbowRight].Position.X;

2.3 虚拟老师标准动作模型库

目前系统共收录了五个动作别针对手臂与腿部,用户可选择的训练模式有两个,分别为:标准模式(有4个动作,不能增减和改变顺序);高级模式(在五个动作内自主选择,数目和顺序自定)。根据用户的选择指导部分将相应的虚拟老师动作按照相应顺序逐个显示,每个动作指导与评分均历时 30秒并且都具有相应评价与特定细节识别函数,训练完毕总评算法给出综合评价并生成患者训练信息 txt文档。

2.4 患者动态形象虚拟化模块

系统设置 Kinect采集数据帧率为每秒 30 帧,并显示虚拟化患者——动态实时火柴人,保证用户可在虚拟训练环境中对比自己与虚拟老师的差异进行适当调整。火柴人由 20个关节点组成如见图4所示:

图4 Kinect 虚拟人体的 20 个关节点

实现人物虚拟化镜像。构造 DrawBone()函数,对应连接20个关节点,完成火柴人的绘制。代码如下:

drawingContext.DrawLine(drawPen,

this.SkeletonPointToScreen(joint0.Position),this.SkeletonPoint ToScreen(joint1.Position));

2.5 网络交流模块

此部分主要针对训练结束后产生的 txt文档进行操作,利用 ASP.NET WEB 应用程序初步实现患者与医师使用客户端登陆后在网络页面查看或者输入提交相应信息。患者登陆页面如下图5所示:

图5 患者登陆页面

3 系统实验与测试

为了测试系统的稳定性,编程并选取粗大动作—肘关节屈曲 80°—90°进行了测试。

由于传感器芯片 PrimeSense 的深度测量技术---Light Coding 利用激光散斑原理(激光在散射体表面的漫反射时在散射表面或附近光场中可观察到一种无规分布的亮暗光点),因此被检测者须与环境背景有明显的区分度。同时Kinect 的探测范围是 0.8~3.5m,所以实验采用白色墙壁背景,测试者身着非纯白色日常服饰站立在探测区内动作。

实验环境如图6所示:

图6 实验室传感器位置示意

实验记录如表1所列:

表1 实验数据记录

3 51.12 85.61 很不错哦,不过动作有些太大了4 79.65 100 太棒了!您的动作完全符合要求5 87.32 100 太棒了!您的动作完全符合要求6 92.45 100 太棒了!您的动作完全符合要求7 98.66 88.80 需要继续努力,请把手臂再抬高一些吧8 105.43 84.76 需要继续努力,请把手臂再抬高一些吧9 170.65 75 离要求还有些距离,请再努力一些吧!10 136.73 75 离要求还有些距离,请再努力一些吧!

标准动作引导下的受训者动作实时复现如图7所示:

图7 标准动作引导下的受训者动作实时复现

左图为虚拟老师肘关节屈曲动作引导,右图为患者的火柴人

经多次测试验证系统的稳定性与可靠性,患者火柴人的同步性较高,即使快速动作也无明显延迟和停滞。

4 总结

随着我国人口老龄化趋势加重,目前专业康复医护人员与患者数量不相匹配的状况较为严重【5】,利用虚拟现实技术与康复治疗结合能有效减轻康复医护人员工作压力,增加可治疗患者数量,提升康复效果,最终达到双赢的局面。尽管目前国内关于康复训练的系统及仪器为数众多,不过在可普及到社区和家庭的经济实用的康复训练设施部分仍然有所欠缺。基于 Kinect 传感构建的家庭式康复训练将会成为更多患者家庭康复的首选,相关的系统也将会逐渐被广大患者接受。

[1]徐献金,脑卒中执行功能障碍康复技术的研究进展,[J]中国康复理论与实践,2013,1(19)

[2]周柳,王英华,刘强,孙弘进.虚拟现实技术在运动康复中的应用[J].中国组织工程研究与临床康复,2007,1 1(5):957-960.

[3]余涛.Kinect 应用开发实战:用最自然的方式与机器对话,[M]机械工业出版社,2012,11

[4]MSDN:Microsoft.Kinect. http://msdn.microsoft.com/e n-us/library/microsoft.kinect.aspx,2013 年 3 月 28 日

[5]王瑞利,刘更谦,于庆增. 虚拟现实在踝关节康复系统中的应用[J];医疗保健器具,2006 年 11 期:24-26

Study of a Community Hosehold Rehabilitation System Based on Kinect and Virtual Reality

Yang Yi1, Xu Yuan2, Zhang Junjie3, Liu Yan1
1(Department of Biomedical Engineering in Zhong Shan School of Medicine , SYSU , Guangzhou 510080,China)

Although rehabilitation training needs to be taken in hospital, moving considerable amount of training to patients’ home and sending feedbacks to hospital regularly has lots of benefits. As it can reduce the workload of rehabilitation therapists, supply patients with a more comfortable environment and better late treatment. This thesis is aimed at discussing about the feasibility of community household rehabilitation system and introducing the preliminary implementation and improvement. The system uses Kinect sensor to track the motion of patients, get original depth data stream and collect the information of the 20 joints of the patient. It creates a dynamic real-time changing stickman and practicing environment on the platform of Visual Studio 2010 with the data basis before. At the meantime, the computer uses the algorithm to compare the collected data with the model, store the history of the details of the practice and show the results to therapists and patients when the designed time is reached. And it also can output the training records for later network social communication. There are five main actions and they are: clapping hands, raising hands and holding ,dropping hands, right leg cycling ,left leg cycling.

Virtual Reality; Household; Rehabilitation Training; Kinect Sensor; Dynamic Real-time Changing Stickman Auto Rating

TP311

A

1007-757X(2014)02-0032-03

2014.02.21)

杨 艺,女,广东,中山医学院生物医学工程系,生物医学工程专业硕士,广州,510080许 源,男,广东,中山医学院生物医学工程系,生物医学工程专业硕士,广州,510080张俊杰,男,广东,中山医学院生物医学工程系,生物医学工程专业硕士,广州,510080刘 燕,中山医学院生物医学工程系,副教授,项目指导老师,硕士,医学信息学,广州 ,510080,

猜你喜欢
虚拟现实康复训练传感器
康奈尔大学制造出可拉伸传感器
多功能智能康复训练床的设计与仿真
穴位按摩与康复训练治疗周围性面瘫的疗效观察
简述传感器在物联网中的应用
“传感器新闻”会带来什么
卒中后运动神经反馈康复训练研究进展与前景
跟踪导练(三)2
REALITY BITES
上肢康复训练机器人的研究
风口上的虚拟现实