发明名称 一种基于Kinect传感器的上肢关节活动度测量方法
摘要 本发明公开了一种基于Kinect传感器的上肢关节活动度测量方法,它包括了测量肩关节屈曲/伸展、内收/外展,肘关节屈曲/伸展,腕关节掌屈/背伸以及桡偏/尺偏等测量项目。测量时,采用体感人机交互方式,根据被测者的上肢动作,通过Kinect传感器对上肢各关节进行位置捕捉,实时记录、计算及反馈关节活动度信息,自动完成测量,直观实时获得测量结果,操作简单,便捷。用户可自行选择测量科目,在每个科目中,用户根据提示确定测量的初始体位,执行上肢运动。当执行动作与测量要求不符时,系统报错并及时提示和纠正用户不合理的测量动作和体姿。
申请公布号 CN102824176B 申请公布日期 2014.06.04
申请号 CN201210356087.7 申请日期 2012.09.24
申请人 南通大学 发明人 瞿畅;王君泽;张小萍;高瞻;丁晨
分类号 A61B5/103(2006.01)I 主分类号 A61B5/103(2006.01)I
代理机构 南京正联知识产权代理有限公司 32243 代理人 顾伯兴
主权项 1.一种基于Kinect传感器的上肢关节活动度测量方法,具体步骤如下:A、在装有Windows 7操作系统的计算机上安装Kinect For Windows SDK,Kinect For Windows SDK包含了Kinect传感器的驱动程序、Kinect传感器接口和应用程序编程接口API及相关文档;B、用户通过计算机上的界面选择测量科目,所述测量科目包括左肩关节屈曲/伸展、右肩关节屈曲/伸展、左肩关节内收/外展、右肩关节内收/外展、左肘关节屈曲/伸展、右肘关节屈曲/伸展、左腕关节掌屈/背伸、右腕关节掌屈/背伸、左腕关节桡偏/尺偏、右腕关节桡偏/尺偏;C、用户根据计算机界面的提示确定测量的初始体位,执行上肢体运动;D、Kinect传感器利用红外线发射器发出的连续光照射在用户的被测量处,通过红外线CMOS摄像机记录测量空间的每一个散斑,结合原始散斑图案,对测量空间进行编码; E、Kinect传感器中的感应器读取编码的光线,由Kinect传感器中的芯片运算进行解码,生成所需的上肢关节的彩色图像数据、骨架数据和深度图像数据;F、通过Kinect For Windows SDK获取用户上肢关节的彩色图像数据、骨架数据以及深度数据;G、Kinect传感器把获取到的上肢关节的彩色图像数据、骨架数据以及深度数据通过USB接口传递给体感接口库,应用程序通过体感接口获取这些数据,并进行判定,及时反馈出上肢关节活动度,其特征在于:具体判定过程如下:(A)、上肢运动平面的深度判定:在上肢关节活动度测量中,上肢运动平面为人体冠状面(1),其法线方向为Z轴方向,沿Z轴方向分别设置前判定平面(2)和后判定平面(3),所述前判定平面(2)和所述后判定平面(3)均为所述人体冠状面(1)的平行面,对上肢关节点的深度值进行检测,并由人机交互界面传达判定信息,提示受测者按规范要求测量,Kinect传感器分别获取肩关节点P<sub>0</sub>、肘关节点P<sub>1</sub>、腕关节点P<sub>2</sub>和中指指尖节点P<sub>3</sub>的深度值Z(P<sub>0</sub>)、Z(P<sub>1</sub>)、Z(P<sub>2</sub>)及Z(P<sub>3</sub>),为确保实际测量时被测者上肢动作的准确程度,同时又要避免产生明显的测量误差,设定所述前判定平面(2)与所述后判定平面(3)距所述人体冠状面(1)的距离均为L,当Max(Z(P<sub>0</sub>), Z(P<sub>1</sub>), Z(P<sub>2</sub>), Z(P<sub>3</sub>))- Min(Z(P<sub>0</sub>), Z(P<sub>1</sub>), Z(P<sub>2</sub>), Z(P<sub>3</sub>))≤L时,上肢运动符合规范,可顺利进行关节活动度测量;当Max(Z(P<sub>0</sub>), Z(P<sub>1</sub>), Z(P<sub>2</sub>), Z(P<sub>3</sub>))- Min(Z(P<sub>0</sub>), Z(P<sub>1</sub>), Z(P<sub>2</sub>), Z(P<sub>3</sub>))>L时,上肢运动偏离规定范围,系统报错并纠正动作;(B)、上肢伸直程度的线性插值判定:在上肢关节活动度测量中需要进行手臂伸直程度的判断,肩关节活动度的测量需手臂伸直,肘关节活动度的测量需要前臂伸直,设手臂的肩、肘、腕及中指尖关节点分别为点P<sub>0</sub>、P<sub>1</sub>、P<sub>2</sub>和P<sub>3</sub>,在P<sub>0</sub>与P<sub>3</sub>的连线上插入点F<sub>1</sub>与F<sub>2</sub>,F<sub>1</sub>和F<sub>2</sub>分别是P<sub>1</sub>和P<sub>2</sub>在线段P<sub>0</sub>P<sub>3</sub>上的投影,对P<sub>1</sub>、P<sub>2</sub>与线段P<sub>0</sub>P<sub>3</sub>的共线程度进行计算:线段F<sub>1</sub>P<sub>1</sub>和线段F<sub>2</sub>P<sub>2</sub>值大于预设值的范围,测量系统提示手臂未伸直不能进行关节活动度测量;点P<sub>1</sub>、P<sub>2</sub>、P<sub>3</sub>运动到点P<sub>1</sub><sup>’</sup>、P<sub>2</sub><sup>’</sup>、P<sub>3</sub><sup>’</sup>位置, P<sub>1</sub><sup>’</sup>和P<sub>2</sub><sup>’</sup> 在P<sub>0</sub><sup>’</sup>P<sub>3</sub><sup>’</sup>上的投影为F<sub>1</sub><sup>’</sup>、F<sub>2</sub><sup>’</sup>,线段F<sub>1</sub><sup>’</sup>P<sub>1</sub><sup>’</sup>和线段F<sub>2</sub><sup>’</sup>P<sub>2</sub><sup>’</sup>值小于预设值的范围,通过线性插值修正,修改节点数据获得共线的点P<sub>0</sub>”、P<sub>1</sub>”、P<sub>2</sub>”和P<sub>3</sub>”,对手臂关节节点显示进行修正;(C)、关节活动度的非线性插值修正:对上述获得的关节点和所测活动度值在算法上进行修正,在修正算法前需要进行校正测量,其中Ps为静关节点,Pm为动关节点,首先利用Kinect传感器记录选定的动关节点的位置Pmi至Pmi+4,并确保动关节点X坐标值间距相等,利用体感接口获得的原始关节点数据计算关节点的角度值,得到一条不规则的函数曲线y=p(x),获取y=p(x)离散点数据,构造拉格朗日插值多项式(n次多项式,n≥2):<img file="DEST_PATH_IMAGE001.GIF" wi="186" he="76" />利用该插值多项式进行非线性插值,修正API所测得的关节活动度数值。
地址 226019 江苏省南通市崇川区啬园路9号