APP下载

基于Kinect的颈部康复训练系统的设计与实现

2018-02-26郑传钦

电子技术与软件工程 2018年15期
关键词:体感颈部康复

郑传钦

摘要

为帮助颈部受伤患者在社区家庭环境中有效地进行颈部康复训练,本文设计并实现了一种基于Kinect的颈部康复训练系统系统通过Kinect体感设备捕获到人体的头部、颈部、肩部等骨骼关节点的位置信息,跟踪人体的动作,将动作与标准康复动作进行匹配,进而判断动作是否正确和达标同时,系统可以调整训练难度,以适应不同使用者的需求.系统能够有效地帮助患者进行颈部康复训练,具有较好的应用价值。通过人机交互实现对患者康复过程的指导。

【关键词】Kinect 体感 康复 颈部

1 引言

在众多领域中,体感技术应用到医疗康复上的研究尤为热门,其中大部分的应用都使用微软的Kinect作为系统的输入设备。并且在2015年,美国食品药品监督管理局FDA(Foodand Drug Administration)批准了使用Kinect帮助患者进行物理治疗。Kinect在医疗康复领域的应用主要分为两类,一类是对于认知障碍的康复,另一类是对运动障碍的康复。

本文基于Kinect与Unity3D开发了一套颈部康复训练系统,系统的界面使用Unity3D进行绘制,系统的功能使用Kinect体感设备以及Kinect for Windows SDK进行开发。该系统能够帮助患者进行颈部的康复训练,同时具有调节训练难度以及记录训练进度的功能。并且通过Unity3D的绘制,该系统具有友好的交互界面,给用户带来良好的视觉体验。

2 Kinect原理简介

2.1 Kinect的硬件组成

从硬件层面看,Kinect主要由三个摄像头和四个麦克风以及其他一些框架和外壳组成。其主要的传感工作都由摄像头和麦克风完成。其中,三个摄像头分别为彩色摄像头、红外投影机和深度摄像头。彩色摄像头的作用就是获取彩色图像,再将彩色图像传输给计算机,在显示器中显式出来,给使用者最直观的视觉反馈。红外投影机的作用是主动投射近红外光谱,光谱照射到距摄像平面不同距离的物体会产生不同的散斑,这些散班可以被深度摄像头捕获,从而可以根据散斑特征的不同判断出物体距离摄像平面的距离。四个麦克风组成四元线性麦克风阵列,通过麦克风阵列可以捕获到环境中的声音,同时具有过滤背景噪声的功能,以及协助摄像头确定人体所在的位置。

2.2 Kinect的深度图成像原理

深度数据和骨骼数据是Kinect的精髓所在,深度数据的获取主要是靠红外投影机和深度摄像头完成。首先由红外投影机向前方投射近红外光谱,近红外光谱照射到物体上会形成具有一定特性的散斑。之后由深度摄像头捕获所形成的散斑,根据散斑的特性判断物体距摄像平面的距离,将该距离保存到一个矩阵中,这样就生成了深度图。将生成的深度图传输到计算机,再由计算机进行后续的处理。

2.3 Kinect的骨骼图像成像原理

在获取到深度图之后,就要从深度图中提取人体的骨骼信息。Kinect采用机器学习的方法从深度图中提取出人体的框架并且识别出人体的各个部位。之后再提取20个关节点,形成一幅骨骼图像。为了减少环境噪声对骨骼图像的干扰,Kinect中还采用了低通滤波技术对骨骼信息进行滤波,以提高识别的准确度。

3 本文所设计系统的框架

本文使用Kinect V1和unity3D进行结合,设计了一套颈部康复训练系统,为患者提供有效地康复训练。本系统由界面设计和功能设计两部分组成,下面分别对这两个部分进行详述。

3.1 界面设计框架

本系统的界面部分由Unity3D进行绘制,Unity3D是一款3D游戏开发软件,能够高效地创建3D场景,建立实时三维动画等内容。本系统的界面部分主要分为欢迎界面、主界面、设置界面和训练界面四部分。

3.2 功能设计框架

本系统使用C#作为主要编程语言,使用Kinect for Windows SDK和Kinect withMicrosoft-SDK unity package开发工具辅助完成功能的实现,具有执行效率高、兼容性强、安全机制完善等优点。

3.2.1 初始化设备模块

该模块的主要功能是初始化Kinect设备,使其做好工作前的准备。这一部分主要分为五步,首先要获取设备对象,接着对所获取的对象和参数以及工作模式进行参数设置,之后启动彩色数据流、深度数据流和音频数据流,最后进行事件的注册。经过这五步之后就完成了对设备的初始化,设备就开始获取数据和处理数据。

3.2.2 鼠标控制模块

该模块的主要功能是获取右手的位置,从而间接的控制屏幕中的鼠标移动,同时可以通过握拳动作控制鼠标的单击操作。首先要从获取到的深度图中提取出右手关节点的坐标,接着跟踪右手关节点的移动和动作,获取到移动的路线,之后使用低通滤波器对移动的路线进行滤波,去除路线中的噪声和误判,最后将得到的移动路线映射到屏幕中的鼠标上,使鼠标进行相应的移动和操作。

3.2.3 界面响应模块

该模块的主要功能是响应鼠标的点击事件,从而实现相应的功能以及在不同的界面间切换。当鼠标点击界面上的某个按钮时,就会触发该按钮所对应的点击事件,系统就会执行该事件中的程序,实现相应的功能。

3.2.4 頸部训练模块

该模块是整个系统最核心的模块,该模块的主要功能是提示使用者进行训练的动作,并判断使用者的动作是否达标,同时在页面中显示使用者身体区域的彩色图像。首先通过声音和图片信息提示使用者应该做什么动作,之后根据获取到的深度图提取人体的头部、颈部和肩部的关节点坐标,接着由这些关节点坐标计算出头部和颈部所在直线与左右肩部所在直线之间的夹角,再根据计算的角度和颈部的运动轨迹判断使用者的动作是否正确以及是否达标。如果达标则通过声音和图片提示达标,如果不达标则一直重复这个过程直到动作达标。当一个动作达标之后会开始下一个动作的提示。

4 实验和分析

为了验证本文所设计的颈部康复训练系统是否对于不同的使用者均能够正常工作,本实验选取了10位测试人员(5位男性,5位女性)对本系统进行了测试,分别让每测试人员进行系统的操作和训练。实验结果表明,所有测试人员均能够被系统所识别,并能够操作系统和进行训练。

5 结语

本文设计了一套基于Kinect的颈部康复训练系统,该系统的硬件部分由Kinect v2体感设备和计算机组成,软件的界面部分由Unity 3D进行绘制。该系统能够满足患者进行颈部康复训练的需求,并且可以根据康复的进度进行训练难度的设置。由于本系统的软件部分采用模块化的设计思想,因此在未来的研发过程中,还可以针对肢体训练的模块进行开发,并加入到系统中。

参考文献

[1]Zhang Zhengyou.Microsoft KinectSensor and Its Effect[M].[S.1.]:IEEEComputer Society Press,2012.

[2]Etienne E Y.Wavi Xtion[M].[S.1.]:TurbsPublishing,2012.

[3]丁晨,王君泽,瞿畅等.Kinect体感交互技术及其在医疗康复领域的应用[J].中国康复理论与实践,2013(02):136-138.

[4]韩峥,刘华平,黄文炳等.基于Kinect的机械臂目标抓取[J].智能系统学报,2013(02):149-155.

[5]刘鑫,许华荣,胡占义.基于GPU和Kinect的快速物体重建[J].自动化学报,2012,38(08):1288-1297.

猜你喜欢

体感颈部康复
居家运动——颈部练习(初级篇)
居家运动——颈部练习(中级篇)
改良颈部重要外敷方法
人体体感感知机械手设计与实现
脑卒中患者康复之路
非触控式的体感机械臂交互控制系统研究
体感语境下的交互行为设计
颈部淋巴结超声学分区
残疾预防康复法制建设滞后
补阳还五汤联合康复治疗脑卒中35例