基于多台Kinect传感器的步态采集系统*

2016-10-18 10:07吴楠钱晋武沈林勇赵凌
生物医学工程研究 2016年2期
关键词:关节点步态坐标系

吴楠,钱晋武,沈林勇,赵凌

(上海大学机电工程与自动化学院,上海 200072)

1 引 言

步态分析的研究和应用从19世纪末摄影技术刚兴起时就开始发展,迄今已有 100多年的历史,但是真正进入临床实用阶段只有10多年的时间。步态分析是指在康复评定、训练与治疗的过程中,客观、定量地评定人体步行功能,全面反映患者的康复功能状态,可为颅脑损伤、中枢及周围神经系统损伤及骨关节病损的患者制定康复治疗方案及评定康复疗效,提供客观的手术方案以及用于评定术后疗效等[1]。

步态信息包含了比较全面的人体运动信息,将这些肢体宏观运动从目前定性的语言描述转化定量的数字化描述,就能够准确地反映肢体运动时的细节变化和区别[2],通过科学的方法可以实现微小病理性步态的早期发现和鉴别。

Kinect 是微软开发的体感设备,主要用于捕捉人体骨骼结构,以此实现以身体作为控制器的构想。近年来,基于Kinect体感设备的人体动作识别在医学领域表现出巨大的应用价值,国内外很多机构都在开展相关研究[3]。Hu RZ等人在学步车上安装 Kinect 用来提取腿信息从而进行医疗步态分析[4]。Shotton等人利用Kinect 获得的深度信息检测人体的关节点,利用随机森林分类器将深度图像像素分类为身体的多个部位[5]。Schwarz等人则结合人体解剖学标记和人体骨架模型,并利用Kinect 获得深度图对人体进行全身的姿势估计等[6]。医疗专家也将其带入到医疗康复当中,利用 Kinect 进行康复治疗,可以有效地增强康复的质量,帮助患者恢复运动功能的同时也提高了患者的心理素质[7-8],探究了Kinect采集的数据用于步态分析的表现。这些研究均证明了Kinect设备在步态采集方面应用的可行性[9-10]。

使用Kinect进行步态数据采集时,单个设备的采集距离较短,获得的步态周期有限,很难对步态特征进行分析,而新一代Kinect无法实现一台计算机同时连接多台设备。本研究提出了一种基于局域网通信协议,实现多台计算机分别连接Kinect,同步进行步态采集、坐标标定以及数据融合的新方法,解决了如何延长采集距离的问题,并证明能够获得足够的步态周期来进行步态特征的提取。

2 步态采集系统概述

2.1 实验平台与步骤

本实验采用的设备有:两台Kinect 2.0(见图1),两个三角支架,两台计算机以及一个人体模型。第二代Kinect较第一代精度更高,数据更稳定,支持获取全身25个关节点的三维坐标值,见图2。在步态采集中,我们主要关注下半身关节点:髋关节、膝关节与踝关节。

图1 Kinect2.0

通过Kinect2.0性能测试,配置实验环境见图3。Kinect放置高度1.0 m;为了不阻挡行走路线,摄像头与行走方向成45°夹角,且与行走路线横向相距1.0 m;两台Kinect相距1.5 m。

系统的实验方案分为3个过程:

图2 人体骨架关节点

(1)首先建立多台计算机局域网通信,通过设置服务器与客户端,连接两台计算机,实现多台设备同时启停;

(2)对固定的人体模型进行一次数据采集,标定设备坐标,结合加权整体最小二乘法[11],得到两台Kinect之间的位姿关系;

(3)对被测者进行多次步态采集,结合两设备之间的关系,融合不同摄像头采集到的步态数据。

图3 实验环境示意图

2.2 软件流程

Kinect2.0具有对人体骨骼识别以及跟踪精度高的特点,但每台设备必须配有一台计算机,一台计算机不能同时连接多台设备。要求不同计算机的数据采集软件具有通讯功能,实现同时控制多台设备,开发数据采集软件的界面见图4。

系统的数据采集流程主要包括建立通讯、采集和数据的传输,见图5。

图4 Kinect步态采集软件

系统启动后,首先初始化系统参数,设定Kinect深度帧分辨率、帧率等,建立起不同计算机之间的局域网通讯。方法是在同一个无线局域网内建立起TCP/IP协议,利用socket进行通讯[12]。当为服务器与客户端的计算机启动采集软件之后,客户端进入等待服务器命令的模式,随时进行采集数据或停止。

图5 数据采集流程

采集阶段需启动两台Kinect设备,执行数据采集:采集开始时,同时向两设备发送命令,进行采集人体骨骼关节点的三维坐标,采集结束,则将不同计算机数据发送到作为服务器的1号计算机,以供进行数据融合。

3 Kinect传感器坐标转换

两台Kinect数据融合之前,由于两设备处在不同一个坐标系下,见图6,1号Kinect为目标坐标系,2号Kinect为源坐标系,需将不同数据统一在1号设备的坐标系下[13]。两个坐标系之间的关系可以通过摆放示意图得到,考虑到摆放设备时存在偏差,以及摄像头俯仰角的偏差,无法精确得到转换矩阵,需进行标定坐标系。

坐标系转换的目的是为得到两台Kinect的系统坐标系之间的关系,利用不同坐标系下的公共点求得转换矩阵T,将不同设备采集到的数据统一在同一坐标系下,以便后面进行数据融合与处理。

图6 两台Kinect坐标系

系统对人体模型采集一组关节点数据,见图7。这组数据具有稳定的特征,可以使用这些点对转换矩阵进行求解。取其中6个关节点的坐标(左右髋关节,左右膝关节和左右踝关节),利用通用整体最小二乘算法,求得转换矩阵。

算法分为五个步骤[11]:

(1)对坐标转换模型建立函数映射关系。

Y+VY=μR(A+VA)+1n[ΔxΔyΔz]

(1)

式中Y、A为在两坐标系中的准确值,V_Y、V_A为两坐标系可能存在的误差,n为坐标点数6,R为旋转矩阵(含有α1、α2、α3三个参数),μ表示尺度参数,这里为1,1n为n×1的元素为1的向量,[ΔxΔyΔz]表示平移向量。

(2)将模型中系数矩阵的随机量与坐标转换参数同时作为待估计参数,则描述为:

(2)

(3)坐标转换的EIV 模型可表示为非线性的GM 模型。

l+V=f(β)

(3)

(4)上式的整体最小二乘最优估计可表示为以下最优化问题。

min(VTWV)=(f(β)-l)TW(f(β)-l)

(4)

式中W表示观测值l的一般性权阵。其梯度即一阶偏导项

(5)

(5)根据非线性最优化理论,可以采用多种方法求解模型参数的最佳估值,这些方法均为非线性估计的基本方法[14]。本研究采取拟牛顿法进行求解βc,可以得到转换矩阵T。

(6)

经过以上步骤,利用在两个坐标系下的6个公共关节点坐标求得转换矩阵。

4 步态数据的采集与融合

4.1 步态数据的采集

按照图3实验环境示意图,搭建起实际的实验平台见图7。对被测者进行多次数据采集实验,图8显示为不同设备同时进行数据采集的画面。

4.2 步态数据的融合

利用转换矩阵T,将两台Kinect数据转换在1号设备坐标系下,然后进行融合不同设备的数据。数据融合的方法很多,可根据Kinect深度图像建立起多模型来进行数据融合方法[15];可通过设置不同设备的权值,来实现重合数据部分的融合。

图8 软件运行显示

本实验采用数据拼接的方法。由于两台设备同时采集,所以数据的时间轴是统一的,那么采集到的两组数据可以分为3个部分(图9粗线表示该次实验的时间轴,所有数据被虚线分为3个部分):

(1)在1号设备采集范围,不在2号设备范围,仅1号设备采集到数据。

(2)同时在1号、2号设备采集范围,二者均能采集到数据。

图9 不同设备数据流

(3)越过1号设备,在2号设备采集范围,仅2号设备采集数据。

我们数据融合的对象在第二个阶段,数据重合的部分。当两设备均采集数据时,被测者位置距1号设备近,2号设备远。

常用方案根据与设备距离的不同,设定此时不同设备数据在总数据中占有的比例。但据资料显示,Kinect的精度与距离并不是线性的关系,而是随着距离的增大,精度减小较多[16]。加权融合法并不适用,因为距离较远的Kinect数据的融入,会增大另一Kinect的误差。在时间轴对齐的前提下,采用数据拼接的方案:当1号设备数据失真后,采用2号设备的数据替代和补充,见图10。

图10 融合不同设备数据流

5 实验结果与分析

在坐标系标定实验中可以采集到两设备关于6个关节点的三维坐标数据,见表1、表2。Kinect的坐标系方向见图1,通过6个关节点坐标,经加权整体最小二乘法求得转换矩阵T。

表1 六个关节在1号Kinect中坐标(mm)

表2 六个关节在2号Kinect中坐标(mm)

数据融合以右髋关节为例,结合转换矩阵T。图11表示进行坐标系变换和数据融合前,右髋关节的Z坐标值在不同坐标系下的变化。图12表示2号设备数据利用矩阵T经坐标变换后,与1号数据融合的结果,Z坐标可以完整的延续下来,两组数据可靠地融合在了一起,可以达到要求的连续性以及完整性。同时,以左膝关节为例,融合后关节角度变化的曲线见图13。

关于Kinect2.0数据精度的问题,有研究对Kinect1.0与VICON运动捕捉系统进行对比[17],测试Kinect的精度,证明其可以进行步态分析。本实验对Kinect2.0与OptotrakCertus运动捕捉仪进行了对比测试。以左膝关节的角度变化为例,见图14,本系统获得的数据与运动捕捉仪在精度上有一定的差距,但是在Kinect的数据中,仍然可以提取步态特征。

图11 两设备右髋关节Z坐标

图12 右髋关节Z坐标融合数据

图13 左膝关节角度融合数据

图14 Kinect与运动捕捉仪数据对比

Kinect数据中包含着步态的特征,后续的提取步态特征研究中,利用AR模型功率谱估计算法,对普通步态与模拟患者步态(步态中增加抖动)数据进行分析。对膝关节角度变化处理后的两种步态曲线见图15,普通步态的第一个峰值纵坐标均为20以下,模拟患者步态的均为30左右,特征比较明显。

图15 功率谱密度曲线

6 结束语

进行步态数据的采集已有大量的相关研究,Kinect 作为一种新型深度传感器,可以快速获取大量的深度数据,用其进行采集步态具有明显的优势:体型小巧易于操作,相比传统的运动捕捉仪系统价格便宜,同时又能进行步态的分析。

本研究重点探讨了利用多台Kinect步态采集系统的方法,弥补其检测范围有限的缺点。通过配置局域网通讯以及数据融合,成功获得了完整的步态数据,将采集步态周期从3~4个增加到7~8个。实验中使用了两台Kinect设备,如果要进一步延长采集距离,可以以此为基础添加更多的设备,同时此方法为以后的步态特征分析提供了数据基础。

猜你喜欢
关节点步态坐标系
步态异常,老年人应警惕这些疾病
基于步态参数分析的老年跌倒人群步态特征研究
基于深度学习和视觉检测的地铁违规行为预警系统研究与应用
关节点连接历史图与卷积神经网络结合的双人交互动作识别
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
解密坐标系中的平移变换
坐标系背后的故事
搞好新形势下军营美术活动需把握的关节点
基于重心坐标系的平面几何证明的探讨