基于集员滤波的双Kinect人体关节点数据融合
2017-01-10杜惠斌赵忆文韩建达赵新刚王争宋国立
杜惠斌 赵忆文 韩建达 赵新刚 王争 宋国立
基于集员滤波的双Kinect人体关节点数据融合
杜惠斌1,2赵忆文1韩建达1赵新刚1王争1宋国立1
以Kinect为代表的深度图像传感器在肢体康复系统中得到广泛应用.单一深度图像传感器采集人体关节点数据时由于肢体遮挡、传感器数据错误和丢失等原因降低系统可靠性.本文研究了利用两台Kinect深度图像传感器进行数据融合从而达到消除遮挡、数据错误和丢失的目的,提高康复系统中数据的稳定性和可靠性.首先,利用两台Kinect采集患者健康侧手臂运动数据;其次,对两组数据做时间对准、Bursa线性模型下的坐标变换和基于集员滤波的数据融合;再次,将融合后的健康侧手臂运动数据经过“镜像运动”作为患侧手臂运动指令;最后,将患侧运动指令下发给可穿戴式镜像康复外骨骼带动患者患侧手臂完成三维动画提示的康复动作,达到患者主动可控康复的目的.本文通过Kinect与VICON系统联合实验以及7自由度机械臂控制实验验证了数据融合方法的有效性,以及两台Kinect可有效解决上述问题.
镜像康复,Kinect深度图像传感器,Bursa线性模型,集员滤波
DOI10.16383/j.aas.2016.c160109
根据世界卫生组织2015年发布的全球人口残疾与健康情况说明书,全球残疾人口超过十亿,约占总人口的15%;约一亿一千万至一亿九千万的成年人患有严重的功能性肢体疾病[1].功能性肢体疾病给患者的日常生活带来极大不便,及时有效的康复训练可以部分甚至完全恢复患者肢体运动机能.一组有效的康复训练包含三大要素:重复性、积极性和肢体反馈[2].然而单调的重复性康复动作又使得患者缺乏持续的积极性,影响其肢体反馈,降低康复疗效.研究表明,只有31%的患者能够坚持完成康复训练[3].一个解决办法就是由康复医疗师辅助监督患者完成康复训练.但患者人口基数大、康复医疗师匮乏以及其他高昂的康复医疗成本,使得越来越多的患者因为无法得到及时的康复治疗而变成终生残疾.另外,传统医疗师辅助康复治疗是患者在医疗师的帮助下完成各种康复性的动作以便恢复肢体机能.这种治疗下患者只是被动地配合医疗师的动作,仍然缺乏主动参与的积极性,缺乏动作反馈,有效动作少,康复时间长[1].而相对于传统康复疗法,与虚拟现实等三维动画、游戏相结合的交互式的主动康复治疗对肢体机能恢复更加有效[1−3].
本文基于上述研究设计了一款针对上肢偏瘫患者的基于人体动作捕捉的镜像运动康复系统.该系统可以使上肢偏瘫患者在三维动画的提示下以游戏任务的形式交互式、主动性地完成各个康复动作,提高患者积极性,使患者更显著地感受到肢体反馈,加快肢体康复进程.
镜像运动康复系统由座椅、可穿戴式机械臂、人体动作捕捉设备(两台Kinect深度图像传感器)和一台普通计算机组成,如图1所示.
偏瘫患者正对电脑显示器坐在座椅上,其患侧手臂与一台可穿戴式机械臂连接.该系统利用两台Kinect深度图像传感器采集得到人体关节点数据,通过时间对准、空间对准、数据融合等得到患者健康侧手臂运动数据;以过患者脊柱且正交于左右肩部关节点连线的平面作运动镜像,以此镜像后的运动数据控制可穿戴式机械臂带动患者患侧手臂运动,交互式、主动性地完成计算机显示器中三维动画提示的各种康复动作.患者以健康侧手臂在可穿戴式机械臂的辅助下间接地控制患侧手臂运动,提高患者主动性.并且各种交互式的三维动画游戏使得重复性的单调康复动作更具娱乐性,提高患者参与积极性,加快肢体康复进程.该系统的优点是利用Kinect采集人体运动数据无需标识点、左右肢体运动镜像、三维游戏交互、患者可独立自主训练等.
患者健康侧手臂运动数据采集子系统是该镜像运动康复系统的关键组成部分.一般地,人体运动数据采集方式有光学式、电磁式、机械式和惯性测量等[4−5].光学式,如VICON,价格昂贵、操作复杂,而且需要在患者身体上粘贴标志点等.惯性测量单元存在累积误差,而且同样操作不便.电磁式易受电磁干扰,捕捉环境受限.机械式较笨重,可移植性差,降低患者舒适性.以上人体运动数据采集方式均不能满足偏瘫患者在家人帮助甚至独自的情况下在家中完成康复治疗的要求,不适用于家用小型康复系统.我们需要一款可以实时追踪患者肢体运动数据的、对使用环境无特殊要求的、不用患者粘贴标志点、不影响患者健康侧肢体运动的传感器,而且最好能够简单易用、经济实惠、不需要做任何标定动作.该镜像运动康复系统选择了Kinect深度图像传感器采集患者健康侧关节点数据.
Kinect是一款微软推出的专门为自然人机交互而设计的体感摄像头,可获取RGB图像和深度信息.自从Kinect发布上市以来,针对Kinect的应用开发层出不穷,如游戏、导航、三维重建、手势识别以及康复医疗等.目前对Kinect的研究大致有三种:硬件原理研究、深度数据处理和应用开发.对硬件原理的研究主要是散斑结构光和TOF(Time of fy)的对比、Kinect空间精度分布等[6−9].对深度数据处理的研究多集中在图像的修补、分割、三维重建等[10−11].应用开发主要是康复医疗[1−3]、机器人导航[12]、行人检测[13]、跌落检测[14]、动作识别[15]等.
已有一些研究将Kinect应用到康复医疗上.如文献[1]针对Kinect设计了一款基于康复运动和虚拟现实互动游戏的康复系统.该系统以Kinect为传感器采集用户肢体运动数据,以模式识别的方式识别用户的特定动作,配合虚拟现实游戏的实时反馈,使患者重复性地完成各种康复动作,提高患者主动参与的积极性,加速患者肢体康复.文献[2−3]也分别设计了针对脊柱损伤患者和残疾学生的基于Kinect的康复系统.文献[15]对比了Kinect和Phase Space Inc.的动作捕捉系统,分析了Kinect追踪人体关节点和估计姿态的精度,但没有给出关节点精度及其协方差等.文献[16]设计的基于电信号刺激的上肢康复系统也是采用Kinect为传感器采集用户肢体运动数据.另外,文献[17−19]等分别设计了以Kinect采集人体运动数据作为控制输入的机械臂.上述研究只有单台Kinect采集人体关节点数据,并没有考虑到在实际应用中经常发生的人体肢体遮挡、Kinect数据错误与丢失等问题.而且,上述研究也没有详细分析Kinect从深度图像里获得的人体关节点数据的精度问题.如文献[19]仅仅分析了人站在不同位置下的骨骼追踪关节点的精度分布.文献[20]利用两台Kinect以及卡尔曼滤波算法追踪同一用户关节点并应用到康复医疗领域.但文中并没有分析Kinect追踪人体关节点时的噪声特性,直接利用卡尔曼算法处理人体关节点数据缺乏理论依据.另外,文献[20]的主要目的是扩大视野,不是处理遮挡、数据丢失和出错的问题.
综上,现有研究只是对单个Kinect采集用户数据的简单应用,没有涉及患者手臂的遮挡、传感器数据的出错或丢失等问题.而在实际操作中,经常会遇到患者身体遮挡自己的手臂、医疗师或附近人的干扰、特殊姿态下Kinect数据的出错或丢失,比如坐姿下椅子扶手的影响等.
本文提出利用两台Kinect深度图像传感器来消除他人干扰、患者特殊姿态下的手臂遮挡以及传感器数据出错或丢失问题.研究内容是对两台Kinect采集人体关节点数据进行融合,以达到消除遮挡和数据出错或丢失的影响,提高数据稳定性和可靠性.
文章安排如下:引言介绍了研究背景以及相关工作;第1节介绍了上肢镜像运动康复系统的组成、方法流程、用到的坐标系系统以及所需满足的假设等;第2节主要介绍两台Kinect数据的时间对准、坐标变换、Kinect追踪人体关节点数据的误差特性以及数据融合算法;第3节介绍了几组验证实验,包括坐标变换验证、数据融合算法验证等;最后给出研究结论和展望.
1 镜像运动康复系统
如前所述镜像运动康复系统由座椅、可穿戴式机械臂、人体动作捕捉设备和一台普通计算机组成.偏瘫患者坐在显示器正前方,在患者正前方和健康手臂(此处是左侧手臂)一侧各放置一台Kinect深度图像传感器以采集患者健康侧手臂运动数据.患者正前方Kinect为主Kinect#1,健康手臂一侧即左侧为副Kinect#2.图2显示了镜像运动康复系统的Kinect传感器布置示意图及各个坐标系.
1.1 方法流程
偏瘫患者的患侧手臂(此处为患者右侧手臂)与可穿戴式机械臂连接.利用两台Kinect采集得到的人体关节点数据通过时间对准、空间对准、数据融合等得到患者健康侧手臂的运动数据,并以过患者脊柱且正交于左右肩部关节点连线的平面作镜像,以此镜像后的运动数据控制可穿戴式机械臂带动患者患侧手臂运动,交互式、主动性地完成计算机显示器中三维动画提示的各种康复动作.如此,患者以健康侧手臂在可穿戴式机械臂的辅助下间接地控制患侧手臂运动,提高患者主动性.并且各种交互式的三维动画游戏使得重复性的单调康复动作更具娱乐性,提高患者参与积极性,加快肢体康复进程.
图3展示了镜像运动康复系统的方法流程.首先,主副Kinect根据用户指令识别偏瘫患者,在对用户特征进行分析确认后进入人体关节点追踪;其次,对主副Kinect采集的人体关节点数据进行时间对准、空间对准和数据融合;最后利用融合得出的健康侧手臂运动数据经过运动镜像后控制患侧手臂的机械臂运动.为了满足在线工作,本文采用了递推形式的数据时间对准、空间对准和融合算法,将在第2节中详细介绍.
1.2 坐标系定义
对于该镜像运动康复系统,首先需要定义各个坐标系以及它们之间的变换关系,明确所有运动数据所在坐标系及其物理意义.
此处共定义了5个坐标系:主Kinect#1坐标系K1、副Kinect#2坐标系K2、患者健康侧肩部坐标系A、患者患侧肩部坐标系B以及可穿戴式机械臂基座坐标系O,其位置关系如图2所示.
如图2及图4所示,主副Kinect的坐标系K1/K2定义如下:
1)原点在红外接受点(Infrared receiver)处;
2)Z轴水平,以镜头射线方向为正向;
3)X轴水平,面对Kinect从左向右为正向;
4)Y轴竖直向上,满足右手坐标系.
图4 主Kinect#1和副Kinect#2的坐标系Fig.4 Coordinates of Kinect#1 and Kinect#2
Kinect深度图像传感器追踪采集患者健康侧手臂(此处为左侧手臂)的三个关节点:肩部、肘部和手掌,如图6.Kinect获得的关节点数据为自身坐标系K1/K2下的关节点的空间位置轨迹,需要首先转换到患者健康侧肩部坐标系A下,得到健康侧手臂的肘部和手掌在健康侧肩部坐标系A下的运动数据.如图2所示,定义健康侧肩部坐标系A如下:
1)原点在左肩处;
2)Z轴水平,从前胸指向后背;
3)X轴水平,从左肩指向右肩;
4)Y轴竖直向上,满足右手坐标系.
同样,需要定义患侧肩部坐标系B,其原点在右肩处,坐标轴与健康侧肩部坐标系A的坐标轴平行,X轴与A坐标系X轴反向,Y、Z轴与A坐标系Y、Z轴同向.即A、B坐标系关于过患者脊柱且正交于左右肩部关节点连线的平面对称.
另外,定义可穿戴式机械臂基座坐标系O,并使其满足与患者患侧肩部坐标系B的对应坐标轴之间平行同向.
另外,为了后续处理需要强调以下两个假设:
1)可穿戴式机械臂基座坐标系O与患者患侧肩部坐标系的对应坐标轴之间平行且同向,如此患者患侧手臂关节角(如肘关节角)与可穿戴式机械臂对应关节角完全相等;
2)Kinect#2坐标系与Kinect#1绕其Y轴旋转90°之后的坐标系之间满足小角度旋转,如图5所示.
下面讨论一下这两个假设的意义和可行性.可穿戴式机械臂是固定在患者患侧手臂上的,所以假设1)是合理可行的.如此即可将通过镜像得到患侧手臂运动参数直接用于控制可穿戴式机械臂带动患侧手臂运动.正确摆放两个Kinect的位置,一个在患者正前方、另一个在左侧方,二者夹角接近垂直(本文的实验中,手动摆放Kinect都能满足要求),这在实际操作中不难办到.所以假设2)也是可以做到的,可以简化空间对准和数据融合.这两个假设是本系统中用到的主要的近似处理方法.
图5 副Kinet#2的坐标系与主Kinect#1沿其Y轴旋转90°之后的坐标系之间满足小角度旋转假设Fig.5 The coordinate of Kinect#2 should meet the small angle rotation condition with the coordinate of Kinect#1 after it rotates 90°according to itsYaxis
1.3 运动镜像
Kinect传感器追踪采集患者健康侧手臂运动数据是在其自身坐标系K1/K2下的手臂关节点空间位置轨迹,需要先转换到患者健康侧肩部坐标系A下,得到健康侧手臂关节点在坐标系A下运动数据.其次,要利用该数据控制可穿戴式机械臂带动患者患侧手臂运动需要将其作镜像映射到患者患侧肩部坐标系B下.另外,可穿戴式机械臂的控制指令只能是关节角;所以在镜像映射之前需要从关节点的运动数据中计算出患者健康侧手臂的关节角.人体单个手臂拥有7个自由度[21],本文设计的镜像运动康复系统只用到了其中的3个自由度.并且与患者患侧手臂连接的可穿戴式机械臂也只用到其中3个自由度,对应其手臂的3个关节角,如图6所示.
图6 Kinect传感器追踪的三个手臂关节点及其三个关节角Fig.6 3 joints and the 3 joint angles tracked by Kinect sensors
1)上臂与Y轴正向夹角为α;
2)上臂在XOY平面的投影与X轴正向夹角为β;
3)上臂与前臂之间的夹角为γ.
所以,镜像运动康复系统中“镜像运动”的完整意义为:首先,将Kinect传感器坐标系下的患者健康侧手臂3个关节点的轨迹数据转换到患者健康侧肩部坐标系A下,获得健康侧手臂关节点在坐标系A下的运动数据;其次,计算坐标系A下的患者健康侧手臂的3个关节角;将坐标系A下的患者健康侧手臂的3个关节角数据以过患者脊柱且垂直于左右两肩连线的平面做镜像映射,变换到坐标系B下的关节角数据;最后,利用镜像映射获得的坐标系B下的健康侧手臂的关节角数据控制可穿戴式机械臂带动患者患侧手臂运动,达到主动完成康复运动的目的.
2 模型及算法
第1节介绍了上肢镜像运动康复系统的组成、方法流程、用到的坐标系系统以及“镜像运动”的含义等.本节将介绍图3系统流程图中用到的模型及算法,包括两台Kinect数据的时间对准、坐标变换模型及算法、Kinect追踪人体关节点数据的误差特性以及数据融合算法.
2.1 时间对准
镜像运动康复系统中的两台Kinect属于同类型传感器,各种参数完全相同,如采样频率都是30帧每秒、数据格式等完全相同.然而两台Kinect之间没有同步机制,使得到目标点位置的时间有细微差异,需要对数据做时间对准.但因为这种差异在一个采样点周期即33ms以内,且考虑到“人体关节点”本身就不是确切的点,也可以忽略两个Kinect数据不同步的影响.下图分别显示了两个Kinect采样点之间的时间差和时间对准之后的效果.本文中采取以主Kinect的数据为参考,对副Kinect的数据在时间轴做线性插值的方法进行时间对准.
图7 两台Kinect采样数据的时间对准Fig.7 Time alignment between Kinect#1 and Kinect#2
2.2 空间对准
空间对准,即坐标变换,是将各个传感器获得的局部坐标系下目标位置信息实时转换到融合中心公共坐标系中.本文设计的镜像运动康复系统各个坐标系之间的关系如图2.图2中可以看出空间对准的关键是求解主Kinect#1和副Kinect#2之间的坐标系变换关系;再将副Kinect#2采集的人体关节点数据变换到主Kinect#1坐标系下.即通过理论推导或者实验分析求得坐标系之间的变换矩阵或者矩阵中未知参数的估计值.由于两个Kinect的摆放位置不完全确定,无法直接推导出变换矩阵,只能实验求解,这就涉及到变换模型的问题.
不同坐标系之间的三维坐标变换通常有Bursa七参数坐标转换模型、三维多项式转换模型等[22].其中,Bursa七参数模型具有线性形式、求解过程简单、可利用递推最小二乘法求解等,在地理信息系统的坐标变换中应用较广[23].Bursa七参数为三维空间直角坐标转换模型,不存在模型误差和投影变形误差,可适用于任何区域的高精度坐标转换.但是该模型只在满足坐标系间为小角度旋转假设的情况下可用[22]:
即,如果ωx,ωy,ωz都是小角度,则sin(ω)≈ω, cos(ω)≈1,旋转矩阵可表示为:
坐标变换公式可表示为:
其中,T=[TxTyTz]T为3个平移参数;R=[RxRyRz]T为三个旋转参数;m为尺度参数.H为线性化的转移矩阵,
式(2)中,XA,YA,ZA为目标坐标系空间直角坐标,此处为主Kinect#1坐标系下关节点坐标.XB,YB,ZB为原坐标系空间直角坐标,此处为副Kinect#2坐标系下关节点坐标.
因为主Kinect#1和副Kinect#2是同类传感器,各项参数如数据量纲完全相同,所以此处的尺度参数m=1.所以,对于式(2)只需要估计计算3个平移参数和3个旋转参数即可.因此,模型中含有6个未知参数,必须具有4个以上的公共点.当公共点个数多于4时,则按最小二乘法求解坐标变换模型中未知参数的最佳估值.
通过第 1节可知,坐标系 Kinect#2与Kinect#1绕其Y轴旋转之后的坐标系之间满足小角度旋转假设;即二者之间可以采用Bursa线性模型作坐标变换.此处,选择健康侧手臂关节点为公共点,采用递推最小二乘法估计主Kinect#1旋转之后的坐标系和副Kinect#2坐标系之间的变换矩阵的未知参数.并利用该转换矩阵处理副Kinect#2采集的关节点坐标,之后再逆转回到Kinect#1坐标系下,即可将副Kinect#2的观测值变换到主Kinect#1坐标系下,完成坐标变换.算法1为其算法描述.
算法1.空间对准递推算法
输入:P1、P2//均为3×1向量
输出:P2'//坐标变换后的P2向量
P1'=[0 0 1;0 1 0;−1 0 0]×P1;
将P2代入式(2),结果为Pt;
图8为空间对准算法以及紧随其后的数据融合流程图.图9为空间对准算法的实际实验数据.图9中,圆圈线和星号线分别是主Kinect#1和副Kinect#2采集的各自坐标系下的人体关节点数据;图中菱形线是将副Kinect#2的关节点数据与Kinect#1坐标系做空间对准之后的数据.由实验数据可以看出,选择Bursa模型做坐标变换是可行的.
图8 空间对准算法流程图Fig.8 Process fow of registration
图9 Kinect数据空间对准实验Fig.9 Experiment result of registration of the two Kinect sensors
另外,图10显示了实验现场对两台Kinect做实时空间对准的场景.图10中左右分别是主副Kinect采集获得深度图像和RGB图像,中间稍浅色曲线是Kinect#1采集的人体关机点数据,较深色曲线是Kinect#2采集的人体关节点数据.两条曲线的走势基本重合.从这张图中也可以看出Kinect人体关节点数据存在丢失的情况:RGB图像中的3个标志为圆圈、方框、菱形的点分别对应着人体右侧手臂的肩部、肘部和手部3个关节点,很明显地可以看出左侧Kinect#2的关节点数据正常而右侧Kinect#1的数据已经丢失或出错了(右侧RGB图像上3个标志为圆圈、方框、菱形的点明显不在对应的关节点处).
图10 实验现场对两台Kinect做空间对准的场景Fig.10 Experiment scene of registration of the two Kinect sensors
2.3 误差分析
坐标变换关系确定以后,要进行误差分析,建立数据对准模型,最后利用融合算法做数据融合.
本文中镜像运动康复系统是用Kinect深度摄像头在微软Kinect for Windows SDK开发包下追踪用户人体骨骼数据采集人体关节点位置信息.得到的数据不是深度点云,而是人体关节点空间位置轨迹.而Kinect传感器本身的精度分布是指其深度点云的误差信息,不能直接用在对“人体关节点数据融合”的模型中.其中,“人体关节点”对应的实际人体位置不明确、Kinect深度数据精度存在误差、Kinect for Windows SDK对深度数据的处理只具有统计上的意义、坐标系变换涉及到正弦和余弦函数的非线性变换、Bursa模型等的近似计算、坐标系之间关系的假设处理等都会引入误差.下面分析实际环境中人体关节点运动数据的误差来源:
1)“人体关节点”对应的实际人体位置不明确,即观测目标不明确,如“肘关节点”无法确定究竟是指肘关节的哪一个位置;
2)Kinect深度数据误差,Kinect采用结构光的方式获取空间点的深度信息,其精度随着距离的增加而降低;
3)Kinect for Windows SDK对深度数据处理得到统计意义上的“人体关节点”位置信息,误差来源同1);
4)坐标系变换涉及到正弦和余弦函数的非线性变换,导致在空间配准时把原来的误差放大或缩小,没有规律可循;同时计算正弦和余弦函数都是近似计算(如Bursa模型中的近似计算),也会带来误差;
5)坐标变换的精度误差,如认为主Kinect#1和副Kinect#2采集的关节点是同一点等;
6)Kinect传感器的位置误差,即坐标系之间关系的假设处理,在第1.2节中坐标系定义及2个假设也可以看出并不知道各个传感器、人体肩部、可穿戴式机械臂之间的位置信息确切关系.
通过上述误差来源分析可知:空间配准后数据误差由两部分组成,一种是随机误差,如第1)~3)条;一种是系统运行时的系统误差如第4)~6)条.对于系统误差,以误差均值作为补偿降低影响.对于随机测量误差,不对其误差来源和特性等一一单独分析,而是将其统一到Kinect对人体关节点的观测误差,只分析所有来源的综合误差特性.最后利用数据融合算法对两台Kinect的观测数据进行融合并对比融合前后的误差特性变化.
2.3.1 误差分析实验
本文对Kinect人体关节点数据的误差分析实验以VICON系统获得的数据为真值、以Kinect for Windows SDK数据为测量值,二者求差作为Kinect人体关节点数据的误差.VICON是英国Oxford Metrics Limited公司推出的光学运动捕捉系统,其优点是捕捉精度高(高出Kinect系统2个数量级)、数据稳定、捕捉范围大等.不方便的地方在于需要粘贴标志点.本文将VICON系统对粘贴在人体关节处的多个标志点的运动捕捉数据作为相应人体关节的位置真实值,将Kinect for Windows SDK获得的人体关节点数据当作测量值,以此来分析其误差特性.实验过程中在每一个关节处粘贴多个标志点(如图11所示):一是避免VICON对某一标志点的数据丢失,二是由于“人体关节点”的物理意义不确切,故以多个点的位置平均值作为其真值.另外,为了保证VICON数据和Kinect数据时间轴的同步,被观测人体需要做一个“标定动作”,例如保持某个姿态持续一段时间.VICON系统和Kinect对人体关节点位置信息的捕捉数据分别是各自局部坐标系下的数据,这就需要获得二者之间的坐标变换关系.为此,我们在Kinect上粘贴了数个标志点,如图12所示.这些标志点的位置经过测量和计算以保证它们所建立的局部坐标系与Kinect自身坐标的位置关系.并通过这些标志点在VICON下的位置信息计算Kinect自身坐标系与VICON坐标的转换关系.
图11 VICON和Kinect同时追踪肢体动作Fig.11 VICON and Kinect sensors tracking the limb joints synchronously
图12 Kinect上粘贴的标志点Fig.12 The mark points pasted on the Kinect sensors
VICON系统和Kinect深度图像传感器采集到的同一关节点的部分运动数据如图13所示.图中实线为VICON系统获得的人体关节点运动数据,虚线为Kinect获得的同一关节点运动数据.图中VICON系统的数据已根据VICON系统和Kinect之间的坐标系变换关系转换到Kinect坐标系下.通过定量分析Kinect数据与VICON数据之差,可以得出Kinect for Windows SDK的关节点数据的误差特性,而不是Kinect深度点云的误差特性.
图13 VICON和Kinect采集的手掌点运动数据对比Fig.13 The movement data of hand from VICON system and Kinect sensor
为了对比数据融合前单台Kinect的误差特性与两台Kinect数据融合后的误差特性,此处首先计算单台Kinect数据与VICON数据作差之后数据(因为将VICON数据看作真值,此处作差之后数据即为Kinect数据的误差)的均值和方差.表1给出了单台Kinect数据的误差均值和方差.
从Kinect for Windows SDK中获取的人体关节点数据是在Kinect传感器自身直角坐标系下.而Kinect的观测误差在球面坐标系下物理意义更明确:Kinect的工作原理是由点光源发射红外结构光获得深度信息,是球面坐标系的范畴.即Kinect作为点光源传感器用球面坐标系描述更合理.于是将其数据转换到球面坐标系下并分析其误差特性.其过程如下:
表1同样给出了球面坐标系下Kinect数据误差的均值和方差.另外,Kinect直角坐标系下数据误差和球面坐标系下数据误差都满足“未知但有界”,即误差在各自的包络区间之内.误差的包络区间是指其最大最小值的范围.因为实验数据有限,其最大最小值并不一定能反应真实的包络区间,所以此处在排除了明显的错误数据外放大范围取了整数区间作为Kinect数据误差的包络区间.包络区间将在后续数据融合中以包络矩阵的形式再次出现.而且,在数据融合中将把Kinect原始数据转换到球面坐标系下作为Kinect对人体关节点的观测值.
表1 Kinect人体关节点数据误差Table 1 The error of Kinect sensor for joints tracking
2.3.2 系统误差补偿
Kinect对人体关节点的观测数据误差均值并不等于零,这表明Kinect观测值存在一定程度上偏移,称之为系统误差,这从图13中也能看出来.由前面叙述可知,对于系统误差,以误差均值作为补偿降低影响,减去其误差均值以去偏.对于随机测量误差,只分析所有来源的综合误差特性,即方差和包络区间.最后利用数据融合算法对两台Kinect的观测数据进行融合,以达到降低随机误差的目的.系统误差补偿后的结果如图14所示.
图14 系统误差补偿后的Kinect数据与VICON数据Fig.14 The data from Kinect sensor and data from VICON system using system error compensation
2.4 数据融合
数据融合的本质就是根据多个传感器的观测值来估计目标的运动状态,即通过两台Kinect对人体关节点位置的观测值采用适当的融合模型和算法估计关节点的准确值.本文将直角坐标系下的一阶牛顿运动方程作为人体关节点位置的状态方程,将两个独立Kinect的球面坐标系下的观测作为观测方程,采用扩展集员滤波(Extended set membership flter,ESMF)的方法估计人体关节点的位置以达到数据融合的目的.通过前面的误差分析可知,Kinect传感器存在系统误差且仅仅利用其误差均值做了一定补偿,则其残存误差分布特性没做进一步的分析,不一定能满足卡尔曼等算法对噪声的要求.而采用扩展集员滤波算法则仅仅需要噪声满足“未知但有界”(Unknown but bound,UBB)[24],只需要误差包络区间或包络矩阵,不需要误差分布特性,可以简化处理该问题.
2.4.1 数据融合模型
数据融合的运动目标是患者健康侧肢体关节点运动,目标运动状态完全未知,可以用一阶牛顿运动方程来描述:
其中,xk表示直角坐标系下目标关节点的位置[x,y,z]T.vk表示其运动速度,ωk表示运动速度变化量,用高斯白噪声表示,即过程噪声,其包络矩阵是Q,由肢体运动加速度范围决定.
将两个独立Kinect的球面坐标系下的观测作为观测方程:
其中,yi表示第i个 Kinect获得的观测值,yi=[ri,φ,i,θi].yi的观测噪声包络矩阵为R,由VICON和Kinect的对比误差分析实验获得,为对角阵.
2.4.2 数据融合算法
与基于概率的估计方法不同,集员滤波方法(Set membership flter,SMF)对噪声的分布特性无需任何先验知识,仅仅要求噪声有界,即所谓的未知但有界噪声.它是一种基于集员理论的方法,所有对状态的估计不再是单独的一个值,而是一个可行状态的集合.这个可行集(Feasible set)描述了估计值可能出现的所有取值范围,保证了真实值一定包含在该集合中[24].而扩展集员滤波方法是集员滤波方法对非线性系统的扩展应用.
1)初始状态
对于如下非线性系统模型:
系统初始状态满足x0∈E(ˆx0,P0).其中,ˆx0表示初始椭球集的中心,P0表示初始椭球集的包络矩阵.
从上述模型建立过程可以看出,这种方法对系统误差分布没有任何要求,只是要求误差有界,及包络矩阵已知.在这种框架下,在已知k时刻的系统状态的情况下,集员估计方法可以递归地估计出k+1时刻系统状态所在的椭球范围和这个椭球中心,其计算过程参见文献[25].
2)观测方程线性化
对非线性系统模型(5)的观测方程进行线性化处理,获得线性化的测量方程及误差椭球包络矩阵.
3)一步预测
利用系统状态方程,根据目标当前时刻的位置和速度,预测下一时刻的状态空间:
4)状态更新
通过系统的测量值进一步修正预测结果,
上述过程的图形化表示如图15,E和S分别表示系统状态量和观测量的包络椭球集合.
图15 ESMF算法原理Fig.15 The scheme of ESMF algorithm
5)数据融合
当具有多个传感器时,将具有多个观测方程,只需要将各自的观测值以及观测方程依次与更新后的目标运动状态量再次进行状态更新即可完成多个传感器观测值对系统状态估计值的更新,即完成了多个传感器的数据融合.
从图15算法原理中即可知,关节点真实值一定存在于预测集和观测集的交集中.当预测集和观测集的交集为空时,则证明观测集是错的,即数据出现了错误.其物理原因只能是传感器遮挡、传感器失去追踪的关节点、传感器关节点数据在传输的过程中出错等.判断出观测集出错之后,只要将该观测集舍弃即可,只处理另外一个传感器的观测集.由此可以看出,基于集员滤波算法的数据融合理论上可有效消除单一传感器数据出错和丢失的问题.
相对于卡尔曼滤波方法保证滤波器的平均估计性能最优,集员滤波保证了滤波器在最坏情况下的滤波性能,它以牺牲滤波器的平均估计精度为代价,来保证滤波器对外界干扰的鲁棒性能.
3 实验
本文的实验主要有5项内容:实验1验证利用Bursa七参数模型做坐标变换的有效性(详见第2.2节);实验2以VICON系统采集人体关节点数据对Kinect传感器追踪人体关节点数据做误差分析(详见第2.3节);实验3验证集员滤波的数据融合效果,分析融合前后Kinect关节点数据精度变化;实验4验证两台Kinect做数据融合可以有效解决人体遮挡和Kinect数据丢失或出错的问题;实验5综合实验,以两台Kinect传感器采集人体关节点数据,计算关节角,并控制一台七自由度机械臂跟随运动.
实验3验证集员滤波方法应用于数据融合的效果.实验步骤与方法同实验2一致,对比数据融合前后Kinect数据相对于VICON数据的误差变化,以此验证集员滤波方法的数据融合效果.融合前Kinect数据误差特性如表1所示,融合后Kinect数据误差特性如表2所示.从表中可以看出,两台Kinect数据融合后不论是直角坐标系还是球面坐标系下的数据误差方差降低、精度提高,即集员滤波算法应用于双Kinect人体关节点数据是可行的.
表2 数据融合后Kinect人体关节点数据误差Table 2 The error of Kinect sensor after data fusion
实验4验证两台Kinect做数据融合可以有效解决人体遮挡和Kinect数据丢失或出错的问题.实验方法与实验2、3一致,但是需要在实验过程中人为依次遮挡住两台Kinect的镜头,最后对比分析Kinect原始数据、融合后的数据以及VICON数据.其结果如图16所示,星号线为主Kinect#1追踪人体关节点手掌数据,加号线为副Kinect#2追踪人体关节点手掌数据,圆圈线为扩展集员滤波算法对两组Kinect数据融合后的结果,菱形线为VICON数据.从图中可以看出,主Kinect#1和副Kinect#2的数据都有一部分显著偏离原手掌运动轨迹,这是由人为遮挡产生的.而扩展集员滤波算法融合结果始终与手掌运动轨迹即VICON数据保持一致,由此可见两台Kinect的数据融合可有效处理遮挡和数据出错或丢失问题.另外,从图中还可看成副Kinect#2的数据与VICON数据更接近,这是因为采集的关节点为左侧手臂关节点,距离副Kinect#2更接近其工作范围内,即正向1.45m到1.75m[19].而且,融合后的数据更接近副Kinect#2的数据,只有当副Kinect#2被遮挡之后融合的数据才偏向于主Kinect#1.但当副Kinect#2数据恢复正常,融合数据立即偏向于副Kinect#2.这说明精度更高的传感器在扩展集员滤波算法的数据融合中所占权重更大,这是由噪声包络矩阵决定的.
图16 ESMF算法对两台Kinect数据融合Fig.16 Data fusion of two Kinect sensors using ESMF
实验5为镜像运动康复系统综合实验.实验场景如图1所示.在用户正前方和左侧方各放置一台Kinect深度图像传感器,将两台Kinect传感器追踪得到的人体上肢关节点数据通过时间对准、空间对准和数据融合,之后计算获得各个关节角并以此控制七自由度机械臂运动.
实验视频截图如图17所示,用户手臂遥控七自由度机械臂运动过程中,人为遮挡任意一台Kinect深度图像传感器都不影响七自由度机械臂与用户手臂的同步运动,验证了两台Kinect深度图像传感器可有效消除遮挡、数据出错或丢失的问题.
图17(a)为在可穿戴式机械臂上电之前的状态;即两台Kinect采集患者健康侧手臂运动数据并完成了数据融合的处理,但是并没有做“镜像运动”,也没有控制可穿戴式机械臂运动.图17(b)为可穿戴式机械臂上电之后的状态;可以看出融合之后的数据经过“镜像运动”处理发给可穿戴式机械臂控制其跟随健康侧手臂运动.图中机械臂与健康侧手臂运动并不同步,这因为机械臂的控制指令经过了一个中值滤波器产生了相位差.在右下角的程序图形界面的中间部分的实时运动曲线中可以看出,上面肩关节角α和下面肘关节角γ均有一个不正常的“凸起”,该凸起表示其中一台Kinect传感器的数据丢失或者出错了,但是融合结果和可穿戴式机械臂仍然能够跟随正确的健康侧手臂运动数据.论文中涉及的实验的录制视频保存在http://pan.baidu.com/s/1mhKFPFy.图17(c)为人为遮挡正面主Kinect#1的场景.右下角的程序图形界面中也可以看出其中一台Kinect的数据突然全部为零,运动曲线变成直线.但融合结果和可穿戴式机械臂仍然能够正确跟随健康侧手臂运动数据.图17(d)为人为遮挡侧面副Kinect#2的场景,与图17(c)类似,融合结果和可穿戴式机械臂仍然能够正确跟随健康侧手臂运动数据.综上,两台Kinect深度图像传感器在ESMF算法下的数据融合可以有效解决单一Kinect发生遮挡、数据丢失或出错的问题.但在实际实验过程中,当人为遮挡其中一台Kinect之后再撤除遮挡物,被遮挡的Kinect并不能及时重新追踪到患者,该问题有待以后解决.
图17 镜像运动康复系统综合实验Fig.17 Experiment of the mirror movements rehabilitation system
4 结论
本文研究了利用两台Kinect深度图像传感器消除镜像运动康复系统中常见的患侧肢体遮挡、Kinect数据丢失或出错的问题.主要内容包括利用简化的Bursa线性模型和递推最小二乘法对两台Kinect数据做在线坐标变换,算法简单有效,无需外部标定板;利用VICON光学运动捕捉系统和Kinect数据的对比分析了Kinect追踪人体关节点数据的误差分布,分析了在球面坐标系下处理Kinect追踪人体关节点数据的合理性;利用集员滤波算法对两台Kinect追踪的人体关节点数据做数据融合,该方法对传感器噪声要求仅仅需要“未知但有界”,无需满足特定的噪声分布如高斯白噪声;最后,设计了5组实验验证了以上模型与方法的有效性.
本文并未研究两台Kinect识别用户同步问题,即保证两台Kinect识别的用户为同一用户,该问题将在以后的研究中进行.肢体康复医疗中另一个重要问题是康复运动过程中的力控制对肢体功能恢复至关重要,该问题将在以后与肌电信号、肢体刚度估计以及阻抗控制的结合中继续研究.
1 Roy A K,Soni Y,Dubey S.Enhancing efectiveness of motor rehabilitation using Kinect motion sensing technology. In:Proceedings of the 2013 IEEE Global Humanitarian Technology Conference.Trivandrum,India:IEEE,2013. 298−304
2 Chang C Y,Lange B,Zhang M,Koenig S,Requejo P,Somboon N,Sawchuk A A,Rizzo A A.Towards pervasive physical rehabilitation using Microsoft Kinect.In:Proceedings of the 6th International Conference on Pervasive Computing Technologies for Healthcare(PervasiveHealth)and Workshops.San Diego,USA:IEEE,2012.159−162
3 Chang Y J,Chen S F,Huang J D.A Kinect-based system for physical rehabilitation:a pilot study for young adults with motor disabilities.Research in Developmental Disabilities,2011,32(6):2566−2570
4 Nguyen K D,Chen I M,Luo Z,Yeo S H,Duh H B L.A wearable sensing system for tracking and monitoring of functional arm movement.IEEE/ASME Transactions on Mechatronics,2011,16(2):213−220
5 Kong K,Tomizuka M.Control of exoskeletons inspired by fctitious gain in human model.IEEE/ASME Transactions on Mechatronics,2009,14(6):689−698
6 Han J G,Shao L,Xu D,Shotton J.Enhanced computer vision with Microsoft Kinect sensor:a review.IEEE Transactions on Cybernetics,2013,43(5):1318−1334
7 Khoshelham K,Elberink S O.Accuracy and resolution of Kinect depth data for indoor mapping applications.Sensors, 2012,12(2):1437−1454
8 Choi S M,Jeong J C,Chang J.Dense 3D depth map with DOE pattern.In:Proceedings of the 9th International Conference on Ubiquitous Robots and Ambient Intelligence. Daejeon,Korea:IEEE,2012.34−37
9 Dutta T.Evaluation of the KinectTMsensor for 3-D kinematic measurement in the workplace.Applied Ergonomics, 2012,43(4):645−649
10 Stommel M,Beetz M,Xu W L.Inpainting of missing values in the Kinect sensor's depth maps based on background estimates.IEEE Sensors Journal,2014,14(4):1107−1116
11 Newcombe R A,Izadi S,Hilliges O,Molyneaux D,Kim D, Davison A J,Kohi P,Shotton J,Hodges S,Fitzgibbon A. KinectFusion:real-time dense surface mapping and tracking.In:Proceedings of the 10th IEEE International Symposium on Mixed and Augmented Reality.Basel,Switzerland: IEEE,2011.127−136
12 Yang Dong-Fang,Wang Shi-Cheng,Liu Hua-Ping,Liu Zhi-Guo,Sun Fu-Chun.Scene modeling and autonomous navigation for robots based on Kinect system.Robot,2012,34(5):581−589 (杨东方,王仕成,刘华平,刘志国,孙富春.基于Kinect系统的场景建模与机器人自主导航.机器人,2012,34(5):581−589)
13 Xia L,Chen C C,Aggarwal J K.Human detection using depth information by Kinect.In:Proceedings of the 2011 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops(CVPRW).Colorado, USA:IEEE,2011.15−22
14 Zhang Z,Liu W H,Metsis V,Athitsos V.A viewpointindependent statistical method for fall detection.In:Proceedings of the 21st International Conference on Pattern Recognition.Tsukuba,Japan:IEEE,2012.3626−3630
18 Megalingam R K,Saboo N,Ajithkumar N,Unny S,Menon D.Kinect based gesture controlled robotic arm:a research work at HuT Labs,In:Proceedings of the 2013 IEEE International Conference in MOOC Innovation and Technology in Education.Jaipur,India:IEEE,2013.294−299
19 Tao G,Archambault P S,Levin M F.Evaluation of Kinect skeletal tracking in a virtual reality rehabilitation system for upper limb hemiparesis.In:Proceedings of the 2013 International Conference on Virtual Rehabilitation.Philadelphia,USA:2013.164−165
20 Li S Y,Pathirana P N,Caelli T.Multi-Kinect skeleton fusion for physical rehabilitation monitoring.In:Proceedings of the 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society.Chicago,USA: IEEE,2014.5060−5063
21 Zhu Te-Hao,Zhao Qun-Fei,Xia Ze-Yang.A visual perception algorithm for human motion by a Kinect.Robot,2014,36(6):647−653 (朱特浩,赵群飞,夏泽洋.利用Kinect的人体动作视觉感知算法.机器人,2014,36(6):647−653)
22 Wang Wen-Li,Cheng Chuan-Lu,Chen Jun-Ying.Coordinate transformation models and their practicability.Journal of Geomatics,2010,35(5):37−39 (王文利,程传录,陈俊英.常用坐标转换模型及其实用性研究.测绘信息与工程,2010,35(5):37−39)
23 LiWei-Xiao,Shen Yun-Zhong,LiBo-Feng.Threedimensional coordinate transformation with consideration of coordinate errors in two coordinate systems.Journal of Tongji University(Natural Science),2011,39(8): 1243−1246 (李微晓,沈云中,李博峰.顾及2套坐标误差的三维坐标变换方法.同济大学学报(自然科学版),2011,39(8):1243−1246)
24 Zhou Bo,Qian Kun,Ma Xu-Dong,Dai Xian-Zhong.A new nonlinear set membership flter based on guaranteed bounding ellipsoid algorithm.Acta Automatica Sinica,2013,39(2):150−158 (周波,钱堃,马旭东,戴先中.一种新的基于保证定界椭球算法的非线性集员滤波器.自动化学报,2013,39(2):150−158)
25 Gu F,He Y Q,Han J D.Active persistent localization of a three-dimensional moving target under set-membership uncertainty description through cooperation of multiple mobile robots.IEEE Transactions on Industrial Electronics,2015,62(8):4958−4971
杜惠斌中国科学院沈阳自动化研究所博士研究生.2012年获得重庆大学机械设计及其自动化学士学位.主要研究方向为协作型机械臂运动规划与控制.
E-mail:duhuibin@sia.cn
(DU Hui-BinPh.D.candidate at the Shenyang Institute of Automation, Chinese Academy of Sciences.He received his bachelor degree from Chongqing University in 2012.His research interest covers motion plan and control of the collaborative robot.)
赵忆文中国科学院自动化研究所研究员.1995、1997年分别获得哈尔滨工业大学学士学位、硕士学位;2000年获得中国科学院沈阳自动化研究所博士学位.主要研究方向为特种机器人,医疗机器人,智能机器人控制.
E-mail:zhaoyw@sia.cn
(ZHAO Yi-WenProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor and master degrees from Harbin Institute of Technology in 1995 and 1997,and the Ph.D.degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 2000,respectively.His research interest covers specialized robot,medical robot and robotics control.)
韩建达中国科学院沈阳自动化所研究员,博士生导师.1990年获得西安交通大学学士学位,1994年中国科学院沈阳自动化研究所硕士学位,1998年哈尔滨工业大学博士学位.主要研究方向为机器人自主行为共性技术,移动、医疗、康复机器人系统研发与应用.本文通信作者.
E-mail:jdhan@sia.cn
(HAN Jian-DaProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor degree from Xi'an Jiaotong University in 1990, master degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 1994,Ph.D.degree from Harbin Institute of Technology in 1998.His research interest covers common technology of autonomy ability of robots,system research and development of moving robot, medical robot and rehabilitant robot.Corresponding author of this paper.)
赵新刚中国科学院沈阳自动化所研究员.2000年,2004年分别获得吉林大学学士学位和硕士学位;2008年获得中国科学院沈阳自动化研究所博士学位.主要研究方向为特种机器人,医疗机器人,智能机器人控制.
E-mail:zhaoxingang@sia.cn
(ZHAO Xin-GangProfessor at the Shenyang Institute of Automation,Chinese Academy of Sciences.He received his bachelor and master degrees from Jilin University in 2000 and 2004;and Ph.D.degree from Shenyang Institute of Automation,Chinese Academy of Sciences in 2008,respectively.His research interest covers specialized robot,medical robot and robotics control.)
王 争中国科学院沈阳自动化所博士,副研究员.主要研究方向为特种机器人,医疗机器人,智能机器人控制.
E-mail:wzheng@sia.cn
(WANG ZhengPh.D.,associate professor at the Shenyang Institute of Automation,Chinese Academy of Sciences.His research interest covers specialized robot,medical robot,and robotics control.)
宋国立中国科学院沈阳自动化所博士,助理研究员.主要研究方向为特种机器人,医疗机器人,智能机器人控制.
E-mail:songgl@sia.cn
(SONG Guo-LiPh.D.,assistant researcher at the Shenyang Institute of Automation,Chinese Academy of Sciences.His research interest covers specialized robot,medical robot and robotics control.)
Data Fusion of Human Skeleton Joint Tracking Using Two Kinect Sensors and Extended Set Membership Filter
DU Hui-Bin1,2ZHAO Yi-Wen1HAN Jian-Da1ZHAO Xin-Gang1WANG Zheng1SONG Guo-Li1
Kinect-like depth sensors are widely used in rehabilitation systems.However,using a single depth sensor is less reliable due to limb blocking,data-loss or error.This paper uses two Kinect sensors and a data fusion algorithm to solve these problems.Firstly,two Kinect sensors are used to capture the motion data of the healthy side arm of the hemiplegic patient.Secondly,the data is processed with time alignment,then coordinates are transformed with Bursa transform and data fusion is done using extended set membership flter(ESMF)successively.Then,the motion data is mirrored by the middle plane,namely“mirror motion”.In the end,the mirrored motion data controls the wearable robotic arm to drive the patient's paralytic side arm so as to interactively and initiatively complete a variety of recovery actions prompted by computer with 3D animation games.The efectiveness of the proposed approach is validated by both experiments on Kinect sensors&VICON and a 7 DOF manipulator.Also,two Kinect sensors can solve those problems efectively.
Mirror rehabilitation,Kinect sensor,Bursa linear model,extended set membership flter(ESMF)
杜惠斌,赵忆文,韩建达,赵新刚,王争,宋国立.基于集员滤波的双Kinect人体关节点数据融合.自动化学报, 2016,42(12):1886−1898
Du Hui-Bin,Zhao Yi-Wen,Han Jian-Da,Zhao Xin-Gang,Wang Zheng,Song Guo-Li.Data fusion of human skeleton joint tracking using two Kinect sensors and extended set membership flter.Acta Automatica Sinica,2016,42(12):1886−1898
2016-02-29 录用日期2016-10-14
Manuscript received February 29,2016;accepted October 14, 2016
国家自然科学基金(U1508208),中科院机器人与智能制造自主部署课题(C2016001)资助
Supported by National Natural Science Foundation of China (U1508208)and Chinese Academy of Sciences Robotics and Manufacture Project(C2016001)
本文责任编委程龙
Recommended by Associate Editor CHENG Long
1.中国科学院沈阳自动化研究所机器人学国家重点实验室 沈阳110016 2.中国科学院大学北京100190
1.State Key Laboratory of Robotics,Shenyang Institute of Automation(SIA),Chinese Academy of Sciences,Shenyang 110016 2.University of Chinese Academy of Sciences,Beijing 100190