APP下载

Kinect运动捕获技术在健康医疗中的应用研究

2016-02-23谭海波李晓风

计算机技术与发展 2016年8期
关键词:体感数据源医疗

罗 章,谭海波,李晓风,赵 赫

(1.中国科学院 合肥物质科学研究院,安徽 合肥 230031;2.中国科学院大学,北京 100049;3.中国科学技术大学,安徽 合肥 230026)

Kinect运动捕获技术在健康医疗中的应用研究

罗 章1,2,3,谭海波1,3,李晓风1,2,3,赵 赫1,3

(1.中国科学院 合肥物质科学研究院,安徽 合肥 230031;2.中国科学院大学,北京 100049;3.中国科学技术大学,安徽 合肥 230026)

体感交互技术在人机交互领域具有跨时代的意义,实现了不需要任何手持设备就可进行人机交互的全新体验。Kinect作为最新的人机交互技术,如何利用自身的运动捕获技术与健康医疗进行结合并开展相关应用成为当下的研究重点。通过调研Kinect运动捕获技术在健康医疗中的应用,为课题组利用Kinect开发针对青少年的康复训练系统提供理论指导和技术支持,并探索新的应用模式。通过调研国内外文献,并对第二代Kinect体感产品进行研究,探讨了Kinect for Windows SDK的数据源和编程模型,分析了基于Kinect的人体运动捕获技术在健康医疗领域中的应用方式和前景。

人机交互;Kinect;运动捕获;健康医疗

0 引 言

人机交互主要是研究人与计算机之间的信息交换,先后经历了三次革命,从鼠标操作到多点触控再到现在的体感技术。体感交互技术在人机交互历史上具有里程碑式的意义,它彻底改变了传统的交互模式,用户不再需要任何手持设备就可与机器进行互动。这种全新模式是革新性的,它主要通过语音识别、动作捕获、红外识别等技术进行实现。体感交互技术已经成为当下的研究热点[1-2]。

Kinect体感设备是微软公司于2010年世界电子大会上发布的针对XBOX 360的外部周边设备。它是以体感技术为基础的跨时代产品,将体感交互融入到现实生活中,使得人机交互的理念更加突出[3]。传统的人体捕获技术由于使用方法、成本和开发难度等方面的限制,无法较好地推广到健康医疗领域。Kinect作为最新的传感器技术,其提供的骨骼追踪和深度过滤技术能够同时识别6个人(每个人25个关节点),此外其提供的高清视频录制、新的主动式红外检测、改进的麦克风、新增拇指追踪和手势识别等先进技术推动了人体捕获技术的发展。Kinect相对其他体感产品在运动捕获精度方面有所提高[4]。国内外不少学者利用Kinect运动捕获技术在健康医疗方面进行相关研究和应用,完备的Kinect SDK能够为开发者探寻和创造新的应用App提供入口[5]。

基于Kinect运动捕获技术开发的应用也层出不穷,如手势姿态检测应用、虚拟场景模拟、军事化体能训练系统、3D虚拟试衣间、电子游戏等[6]。Kinect技术正在被用于物理疗法,通过Kinect作为监控病房情况的一种健康服务手段。此外Kinect也可用于教育领域中,增加教育过程的互动性,对现有的课程进行补充。

1 Kinect体感交互技术简介

Kinect体感设备构造如图1所示。

图1 Kinect构造

图中共有三个摄像头,分别是RGB彩色摄像头、红外线发射器和红外线CMOS摄像头。Kinect设备底部为麦克风阵列,能够探测周围的语音。主要功能如下所述:

1.1 3D影像探测

Kinect产品是独一无二的,不管是在网络摄像机,还是在彩色照相机的条件下,它都可以在3D模式下观看。通过利用红外线探测可形成像素点深度数据。使用Kinect和Kinect Fusion对人体、对象及环境进行扫描,可以整合输出到3D建模软件和3D网络中,甚至发送到3D打印机[7]。

1.2 人体骨骼追踪

Kinect把红外摄像头探测到的深度图像映射到骨架追踪系统。该系统可同时跟踪6个人,最多25个关节的活动,同时骨骼的稳定性也得到了大幅改善。系统可以从解剖学角度更准确地定位关节,在对骨关节定位的改善中,增加了大拇指关节和指尖关节,也增加了用于表示开关的手部状态,这样便增大了检测范围。该系统可以呈现距离设备各方向(近则5 cm,远则8 m)的深度数据[8]。

1.3 音频处理

Kinect的音频系统采用四元线性麦克风阵列,可以监听来自四面八方的声音,通过语音完成与应用程序的交互,从而完成整个系统的工作目标。麦克风可由软件控制,可以通过语音启动程序。

2 Kinect SDK数据源及应用编程模型

2.1 Kinect SDK

通过Kinect SDK可以判定Kinect设备前是否有人出现,Kinect中使用了能够检测人体的所有识别算法,系统可以使用骨骼跟踪身体,了解人体所处的位置。Kinect SDK提供大量的API,不仅适用于过去的桌面应用程序和微软的商店应用程序,而且也适用于XBOX环境。Kinect SDK也可以整合到Unity游戏或应用程序中,对用户输入进行响应、互动。

Kinect技术的核心与人体相关,当人站在设备前只需要思考移动就会看到相关运动或者表情的变化。通过Kinect for Windows SDK开发者可以实现很多难以置信的应用。Kinect提供的摄像头非常精密,对深度数据判断十分精准,因此它可以成为制作动画的最佳方式,传统需要30 min的动画时间,现在只需要10 s即可。在医院,利用Kinect for Windows和Windows Modern App,医生可以在病人最需要的地方部署软件。在家庭,开发者可以把开发出的Kinect应用放在Windows Store上,以此来吸引上百万消费者。通过Kinect SDK,开发者可以不断开发出影响人类生活方式的体感应用。

2.2 Kinect SDK数据源

Kinect SDK共有6种数据源,所有的编程模型都是基于这些数据源的,它们是Color、Infrared、Depth、BodyIndex、Body和Audio,如图2所示。

Color数据源:像素1 920*1 080,彩色图片。该数据源具有广阔的视野,图中可以清楚看到它们。Infrared属于红外线数据源,是超级干净的红外线,可以应用于对象检测和识别。深度信息数据源使得程序开发者能够掌握X、Y和Z坐标上的单独像素,这样就可以知道物体有多远。BodyIndex数据源可以识别出具体对象和判定人员的个数等。Body数据源可以检测到每个人的骨关节或者身体关节。目前有25个关节,当前骨骼的稳定性有了巨大提升,臀部的位置也降低了,从而能够达到解剖学上的正确性,这样更容易追踪。此外系统增加了大拇指关节和指尖关节,系统也内置手势开关的初始识别,如绿色表示伸展开手掌,红色表示手掌握拳。另外一种手型叫套锁,这个动作用蓝色表示。身体都有一系列的关节组合,如果对关节进行跟踪或推断,可视化过程会根据代码的处理方式使用不同的方法处理关节,Kinect系统可以同时提供6个身体的情况。Audio数据源提供相关声音信息。

图2 Kinect数据源

KinectSDKV1只能运行单一的Kinectapp,但是在这个模型中,它有一个共享模型,可以同时运行使用这些数据的多个APP。KinectSDK中提供Kinectstudio工具,它可以记录来自KinectSensor的数据,记录不同数据源,还可以对不同数据源进行回放,开发者可以在任何地方开发Kinectapp。Kinect也提供了工具GBA,该工具可以通过两种方法进行姿势检测:启发式方法和机器学习方法。

2.3 Kinect编程架构

Kinect及其App的架构如图3所示。

图3 Kinect编程架构

图3中,最底层是物理层Kinect Sensor,在传感器上方,系统还为驱动程序安装软件层,为运行时安装软件层,运行时的主要任务是以独立方式提供大量数据,有原生API、受管理的API、.net API和WinRt API,系统通对API进行一次设计,让开发者可以跨范围构建多个应用程序。Kinect架构中需要了解系统体系结构、硬件规范和设计原则三个问题。体系结构已经介绍,其硬件规范主要从CPU、GPU、RAM、USB和OS方面来考虑。CPU建议i7,RAM建议4 G内存,GPU要求DirectX 11,USB3.0要求Intel或者Renesas Chipset,OS要求Windows8以上。在设计原则方面,通过将运行时与其他API整合在一起,能够最大程度地降低每帧的地址分配,这样才能紧密地在主循环中持续运行程序,而不加重存储系统的负担[8]。设计Kinect时,响应时间短、吞吐量高是十分重要的原则;再有,一定要数据公开,低级数据和高级数据都要公开,所以系统为开发者提供了骨架跟踪、手部跟踪以及基本红外帧。实际代码如下,首先是Kinect Sensor的分类情况,但实际上只有一个物理传感器可用,这里选择C#语言。

C#://调用KinectSensor.GetDefault就选择了系统的默认值This.sensor=KinectSensor.GetDefault();//打开Kinect传感器this.sensor.Open();//MaketheworldabetterplacewithKinect//关闭Kinect传感器this.sensor.Close();

目前只支持每台机器插接一个传感器,如果调用关闭数据流,数据流就会关闭,就会停止使用CPU和GPU资源,当再使用数据时需要再次打开。体感器也可用同样的方法打开,无需启用新的样例,体感器对象始终处于工作状态。打开建立应用程序时,无需担心体感器处于何种状态,从Kinect Sensor得到的源是元数据,所以一旦有了读出器(reader)就可以通过事件或者轮询来访问各帧。对于多数像XAML、JavaScript这样的UI Framework apps而言,可以使用事件机制,因为这些apps将被写入,通过对使用apps的人进行轮询,即知游戏主循环方式。比如,DirectX app可以交替使用这些方法,其目的是使应用程序得到更多发挥。此外,在同一个源上,可以创建出多个读出器,与现有的Kinect for Windows相比,这是一个贴心功能。读出器可以暂停,可以缩减数据,还可以在短时间内关闭数据。如果应用程序中有不感兴趣的新输入或者Kinect数据的可执行程序段,当再次需要数据时,可以暂停读出器,还可以对其取消暂停,而事件不会被触发也不会被轮询,所以不必担心数据的获取问题,以及此后的重置状态问题[9]。使用读出器的代码如下(C#):

InfraredFrameReaderreader=sensor.InfraredFrame-Source.OpenReader();reader.FrameArrived+=InfraredReaderFrameArrived;

然后InfraredReaderFrameArrievd监听来的每一帧,循环下去直到接收全部所有帧为止。通过从KinectSensor中获得源,然后打开读出器,以便订阅已经就绪的帧事件,只需要订阅已经到达的帧即可,当有帧进来时即回调,列表中的下一项是帧引用,在帧事件的数组变量中,实际发送的就是帧引用,这样就可以得以访问帧本身。在帧引用中,包含AcquireFrame和RelativeTime两个关键内容,通过AcquireFrame可以访问实际的帧。之所以不直接给出帧,原因在于,在许多系统中,事件都是非确定性的,是基于所在的线程而发生的,而不论UI线程是否正在发送信息,也不论事件做出反映的时间有多长,因此就有可能出现这种情况,当帧事件触发时,代码要求一个帧而此时该帧已经过期,而帧引用就可以根据相对时间找回这些帧,让帧记录时就知道,这样如果帧依然可用的话,就可以获得帧。但是,Kinect设计原则是尽量缩减每个帧的地址分配,如果有无限的活动帧,应用程序就会很快因为内存不足而瘫痪,这种帧引用模式可在需要的时候访问帧,从而避免大量的地址分配,使应用程序易于适应实时数据。得不到帧就无法展开工作,由于处理的数据量很大,每秒要处理30个帧,因此编写准确的代码,进行正确的处置,制作的副本数量,提高循环的效率都很重要。通过相对时间可使开发者对不同的帧建立暂时的相关,每个源都使用relativeTime的相同基点,这样就可以知道彩色帧或者红外帧之间所需的时差是多少。编写这种代码很简单,首先进行事件订阅,并进行触发,再从帧事件数组变量中获取帧引用,在C#中,只需要嵌入一个using数据块即可,这个using数据块将自动处置帧,完成这个操作后,要准备好处理下一个帧[10]。具体代码如下:

VoidirReader_FrameArrived(InfraredFrameReadersender,In-fraredFrameArrivedEventArgsargs){using(InfraredFrameframe=args.FrameReference.Acquire-Frame()){if(frame!=null){//Getwhatyouneedfromtheframe}}}

3 Kinect体感技术在健康医疗中的应用

随着Kinect体感技术的成熟,其应用层出不穷,从微软早期的体感游戏向健康医疗康复、网络等领域渗透[11]。基于Kinect技术开发出的体感训练系统能够节约更多的器材,可以帮助患者进行主动运动训练和康复治疗,适用于社区与家庭康复。本节主要从医疗护理领域、行为障碍的康复和医疗手术三方面应用来阐述Kinect体感技术应用的方式和未来前景。

3.1 医疗护理康复

在美国,为了能够为空巢老人提供独立自主的生活环境,美国家庭服务公司Americare和密苏里州大学辛克莱护理学院通过合作开展了老虎场(Tiger Place)项目。老虎场其实是一个老人生活中心,通过在老虎场内布置Kinect网络传感器来监控老人的活动。基于Kinect数据可以推测出老人的步行时间、速度等信息,通过不间断地观察,一旦发现有老人的运动指数和正常值出现偏差,系统会及时给予反馈,同是这种基于Kinect的应用模式也受到了极大的关注。

加州大学圣地亚哥分校(UCSD)也将Kinect作为其医疗护理工具的一部分。该项目被称作Lab-in-a-Box,是UCSD研究人员Nadir Weibel及其在圣地亚哥退伍军人医疗中心的同事们的劳动成果。这套系统可以像保姆一样,监测医生是否对患者给予了足够的“人文关怀”(而不是将时间过多花费在电脑屏幕上)。Kinect传感器在该过程中扮演了重要的角色,因为其精神摄像头可以准确地记录下医护人员的头部和身体的运动。另外还有一个独立的眼动追踪设备会检测医生的凝视动作,而麦克风则会记录下双方的谈话内容。最后,系统会对整个过程生成一份详尽的报告,以确保在当今日益数字化的世界中的医患关系更加融洽[12]。现在这套系统并没有大规模的应用,也许在未来的某一天,人们会更习惯地接受它的存在,并部署在全世界各地的医院。

3.2 行为障碍康复

英国南安普顿大学(UK’s University of Southampton)生物力学讲师谢里尔·梅特卡夫(Cheryl Metcalf)正着手利用Kinect开发可以协助中风患者康复的系统。该系统根据特定场景设计针对性算法来协助康复医生跟踪病人的手指情况,基于算法进行训练指导[13]。该系统最大的特点就是引入远程医疗监控方式,患者不必花费高昂的住院费在家就可进行康复训练,通过互联网的方式进行监控,随时跟踪患者的康复进度。

全世界范围内青少年运动障碍患者逐年增多,如何对运动障碍患者进行康复训练,也成为科研学者关注的方向。美国的Chang等研发了基于Kinect体感技术的Kinerehab系统[14]。Kinerehab主要是通过Kinect内置的图像处理技术检测运动患者的运动信息,该系统初步试运行期间选择两例患者进行Kinerehab评测。一例是患有肌肉萎缩同时肌肉无力的16岁女性患者,另外一例是上肢僵化和先天性肌肉无力的17岁男性患者。测试过程中,让两位患者依次开展前举、侧举和上举的动作。Kinerehab系统对通过Kinect捕获到的关节点信息和数据库信息进行对比,计算患者动作的精确度。同时为增加系统的趣味性,Kinerehab系统增加“鲸鱼甩尾唱歌”的形式进行反馈,Kinect识别出的患者动作精准度越高,鲸鱼运动越活跃,相应地歌声更加嘹亮,通过在显示设备上观察动画可对患者进行指导。事实证明,通过Kinerehab干预的患者训练精准度明显提高,而无Kinerehab系统干预的患者,动作识别率较低。

在运动康复方面,结合虚拟现实技术,再利用Kinect的运动传感器、摄像头和话筒,通过这些技术为用户创造一个虚拟卡通形象。借助该形象,用户可与虚拟世界中的其他人物互动,而且面部表情和肢体动作也相当逼真,处于现实世界中的用户可以通过各种动作和言语命令来控制该虚拟形象。鉴于这种方式未来可以开发很多类似的应用来提高患者的运动能力,患者置身于虚拟世界,通过虚拟世界里的交互运动,提高患者的行为障碍[15]。

3.3 医疗手术

当下很多外科手术都和数字图像系统紧密结合,然而操作问题成为主刀医生的难题。为解决该问题,微软研究员通过结合Kinect、LCD显示器和透视扫描仪,搭建手术影响无接触交互平台。该平台能够自主改变成像角度和区域,主刀医生可以通过手势对数字图像进行放大、平移、旋转、锁定等操作。基于Windows的Kinect传感器可放置在计算机显示器上面或下面,外科医生通过显示器查看医学影像。这种通过Kinect进行手术的模式,能够大大降低手术的复杂度,同时有利于外科医生更好地控制相关医疗信息。

Kinect正在深入到医疗手术领域,这套系统能够使外科手术变得更快捷、更准确。经过充分测试和审核批准后,这套系统有望为患者带来更好的疗效。

4 结束语

Kinect体感设备可以进行深度图像获取、动态捕获及麦克风输入,可以通过Kinect for Windows SDK提供的软件库与应用程序进行交互,利用Kinect提供的SDK结合图像处理和实时交互的相关算法开发出服务于健康医疗的应用,包括医疗康复系统、行为障碍康复系统,还有致力于提高手术准确率的医疗手术系统,帮助医生对患者进行合理的评估,可以将该成果应用于社区和家庭医疗机构,对患者的早日康复起到十分重要的作用。在未来全民健康时代,通过Kinect运动捕获搭建的技术开发出的人机交互系统可以部署在医院、社区等,供患者和居民用于锻炼,以提高全民素质。

[1] 王 毅.基于仿人机器人的人机交互与合作研究[D].北京:北京科技大学,2015.

[2] 倪 晨,邱 鹏,王 锋,等.Kinect体感技术在人机交互中的应用研究[J].信息技术与信息化,2013(1):87-90.

[3] Nelson A J,Steggall E Q,Long D D E.Cooperative mode:comparative storage metadata verification applied to the Xbox 360[J].Digital Investigation,2014,11:46-56.

[4] 谢 亮,廖宏建,杨玉宝.基于Kinect的姿势识别与应用研究[J].计算机技术与发展,2013,23(5):258-260.

[5] 李 萌.基于体感交互的沉浸式森林景观展示研究[D].北京:北京林业大学,2013.

[6] 王松林.基于Kinect的手势识别与机器人控制技术研究[D].北京:北京交通大学,2014.

[7] Rodrigo I,Alvaro S,Alfredo T,et al.Easy gesture recognition for Kinect[J].Advances in Engineering Software,2014,76:171-180.

[8] 黄露丹,严利民.基于Kinect深度数据的人物检测[J].计算机技术与发展,2013,23(4):119-121.

[9] 张 昊.基于Kinect的人体行为分析及其应用[D].广州:广东工业大学,2014.

[10] 杨 涛.运动捕获数据关键帧提取及检索研究[D].杭州:浙江大学,2006.

[11] 况 鹰.基于Kinect运动捕获的三维虚拟试衣[D].广州:华南理工大学,2012.

[12] 马 达.基于网络的个人健康医疗服务平台的研发[D].长春:吉林大学,2010.

[13] 李 青,王 青.体感交互技术在教育中的应用现状述评[J].远程教育杂志,2015,33(1):48-56.

[14] 可穿戴健康医疗设备前景广阔[J].健康管理,2014(2):25-31.

[15] 罗 元,谢 彧,张 毅.基于Kinect传感器的智能轮椅手势控制系统的设计与实现[J].机器人,2012,34(1):110-113.

Research on Application of Kinect Motion Capture Technology in Health Care

LUO Zhang1,2,3,TAN Hai-bo1,3,LI Xiao-feng1,2,3,ZHAO He1,3

(1.Hefei Institutes of Physical Science,Chinese Academy of Sciences,Hefei 230031,China;2.University of Chinese Academy Sciences,Beijing 100049,China;3.University of Science and Technology of China,Hefei 230026,China)

Somatosensory interactive technology has a big significance in the field of human-computer interaction.It realizes the new experience without any handled device.As the latest interactive technology,how to combine Kinect motion capture and health care has been the focus of the current study.It can provide theoretical guidance and technical support for the group to develop rehabilitation training system for teenagers through researching the application of health care with Kinect motion capture technology and explore new application.Studying the documents in domestic and foreign and researching the Kinect V2 of somatosensary technology,the data source and programmable model for Kinect for Windows SDK are discussed,and the application and prospect of human motion capture technology based on Kinect in health care field are analyzed.

human-computer interaction;Kinect;motion capture;health care

2015-10-27

2016-02-25

时间:2016-08-01

国家科技支撑计划课题(2013BAH14F01)

罗 章(1990-),男,硕士研究生,研究方向为计算机应用;谭海波,高级工程师,硕士生导师,研究方向为计算机应用和网络安全;李晓风,博士生导师,研究方向为计算机网络管理和计算机自动控制。

http://www.cnki.net/kcms/detail/61.1450.TP.20160801.0842.014.html

TP393.4

A

1673-629X(2016)08-0104-05

10.3969/j.issn.1673-629X.2016.08.022

猜你喜欢

体感数据源医疗
《现代仪器与医疗》2022年征订回执
《现代仪器与医疗》2022年征订回执
体感交互技术在脑卒中康复中的应用
新型医疗废弃物焚化舱
人体体感感知机械手设计与实现
利用属性集相关性与源误差的多真值发现方法研究
Web 大数据系统数据源选择*
引入体感控制技术推动校园足球发展
非触控式的体感机械臂交互控制系统研究
遇到疾病,如何医疗