APP下载

基于MEMS传感器的手臂运动测量和识别方法

2018-01-29王雪梅倪文波

中国惯性技术学报 2017年6期
关键词:时域手臂坐标系

王雪梅,刘 震,倪文波

(西南交通大学 机械工程学院,成都 610031)

人体运动识别是通过获取和分析人体运动的相关信息,以判断人的运动状态。人体运动识别技术广泛应用于人机交互、健康监测、康复训练、复杂行为识别、辅助工业制造、游戏和电影等诸多方面[1-3]。人体识别技术传统的方法是借助视频设备,获得人体在运动时的图像信息并进行相关分析,得到相关运动特征参数,从而实现识别人体运动的目的[4]。视频设备一般用于固定场景,无法长期跟踪记录人体运动,并受光照、拍摄角度等环境影响,导致识别效果较差。随着微电子机械系统(MEMS)传感器[5]技术的迅速发展,低成本、低功耗、易穿戴的MEMS传感器大量涌现,如MEMS加速度计、MEMS陀螺仪、MEMS磁强计等能够检测目标运动状态的传感器,这些MEMS传感器现在广泛应用于运动目标的跟踪和识别领域[6-8]。

基于加速度传感器的人体运动识别是最常用的可穿戴式运动识别方法,Foerster等人早在20世纪90年代末便使用4个加速度传感器安装在人体的胸口、手腕、大腿和小腿等部位对人体的姿态和动作进行监测[9]。然而单一的加速度传感器因受人体、环境等振动因素影响,运动识别效果较差。采用基于 MEMS陀螺仪、加速度计和磁强计等多种传感器组合的方法来测量人体运动可以获取更多有关人体运动的信息,通过对各个传感器的信息进行融合解算,可提高运动识别的准确度[10]。在使用多MEMS传感器进行人体运动识别时,大都是提取各传感器测量信号的时域特征[11]。虽然传感器测量信号时域特征提取计算简单,但其对传感器精度要求较高,且容易受到人体、环境等振动因素影响,提取的特征之间差异不明显,导致人体运动识别率不高。

基于此,本文利用 MEMS陀螺仪、加速度计和磁强计等传感器组成的惯性测量单元建立了人体手臂运动测量识别系统。除了提取手臂运动中各传感器测量信号的时域特征,还提取了手臂运动轨迹的特征,以减弱振动因素对特征量的影响。本文利用卡尔曼滤波算法对手臂运动的姿态角进行估计,以保证手部运动轨迹的精确解算。为了确保手臂运动状态的正确识别,本文还分别采用 BP神经网络和支持向量机理论对4种典型手臂运动状态进行了分类识别研究。

1 手臂运动测量识别系统基本原理

整个手臂运动测量识别系统的总体框图如图1所示。惯性测量单元以STM32芯片为核心,由MPU6050型MEMS传感器(包括三轴陀螺仪和三轴加速度计)和HMC5883L型MEMS三轴磁强计组成,用于测量人体手臂各个关节的运动角度信息。采用STM32F103RBT6芯片使用I2C接口读取三个惯性测量单元测量的人体手臂运动数据,利用Zigbee无线网络把采集到的数据发送到计算机中,再进行手臂运动状态的进一步分析。表1是三轴陀螺仪、三轴加速度计和三轴磁强计的性能参数,其中三轴陀螺仪和三轴加速度计的测量范围可调。

表1 MEMS传感器性能参数Tab.1 Performance parameters of MEMS sensors

在关节运动角度测量中,为了补偿陀螺仪漂移以及运动加速度对姿态角估计的影响,提高角度估计精度,利用卡尔曼滤波算法对陀螺仪、加速度计和磁强计测量结果进行信息融合。得到手臂各个关节姿态角的估计值后,根据手臂的几何尺寸以及参考点坐标位置,便可计算出手部的运动轨迹。为了对手臂运动状态进行自动识别,对手部运动轨迹进行归一化特征提取,进而借助BP神经网络或支持向量机实现对典型手臂运动状态的分类和识别。

图1 手臂运动测量识别系统总体框图Fig.1 Overall block diagram of arm motion measurement and recognition system

图2 惯性测量单元安装示意图Fig.2 Installation of inertial measurement unit

整个测量系统由3个基本惯性测量单元组成,分别安装在人体的胸部、上臂和下臂的中间位置处,如图2所示。OC为胸部位置的惯性测量单元的参考点,在手臂运动时其相对肩关节固定不动。胸部位置的惯性测量单元安装的坐标方向为:XC轴指向人头部方向,ZC轴指向人体正后方,且 OCXCYCZC构成右手直角坐标系。处在上臂和下臂的两个惯性测量单元的坐标系分别为 OpXpYpZp和OfXfYfZf,两个测量单元坐标安装方式相同,都为X轴平行于手臂指向前方,Y轴垂直于X指向外侧,Z轴垂直于XY平面向下。

2 手部运动轨迹解算

本文提出的人体手臂运动测量识别系统,通过测量手臂运动中相对参考点转过的角度,根据手臂的几何尺寸以及参考点位置,进而计算出手部的运动轨迹。所以,高精度的手臂运动姿态角测量是实现手部运动轨迹测量识别的基础。

2.1 手臂运动姿态角解算

惯性测量单元通过MEMS陀螺仪测量载体旋转过程中的角速度,对角速度积分得到载体的姿态角;由MEMS加速度计和磁强计组成姿态参考系统[12],以当地的重力加速度和地磁向量作为参考,可计算出载体倾角和航向角。采用陀螺仪测量姿态角具有良好的动态特性,但由于陀螺仪的漂移误差影响,长期使用存在较大的累积误差[13];姿态参考系统有很好的静态特性,其长时间使用不存在累积误差,但在动态情况下受到环境磁场和自身运动加速度的干扰较大[14-15]。利用卡尔曼滤波方法可以把两个系统有效地结合起来,优势互补,提高姿态角估计计算精度[16]。为此需建立相应的状态空间方程和观测方程,以陀螺惯性系统的姿态角误差Δθ、Δγ、Δφ作为状态变量,陀螺惯性系统姿态角θINS、γINS、φINS与姿态参考系统姿态角θAZ、γAZ、φAZ之差作为观测变量Z,相对应的卡尔曼滤波器的数学模型如下:

状态空间方程:

观测方程:

式中:状态向量 X =[ΔθΔγΔφ],Δθ为俯仰角误差,Δγ为横滚角误差,Δφ为航向角误差;F为状态转移矩阵;G为噪声驱动矩阵,G = Cbn;W为过程噪声向量,假设为零均值高斯白噪声;Z为观测量;H为观测矩阵,H=I3×3;V为观测噪声向量,也假设为与W和观测信号不相关的、零均值高斯白噪声。

卡尔曼滤波过程包括时间更新和测量更新两个过程的交替进行,如式(3)~(7)所示:

2.2 手部运动轨迹计算

手臂运动测量系统包括 3个相同的惯性测量单元,把胸部处的惯性测量单元设置为固定不动的参考点,坐标系为参考坐标系(C系),上臂和下臂的惯性测量单元测量坐标系为载体坐标系(b系)。由于手臂运动是手臂各个关节之间的相互转动,因此选取腕关节、肩关节和肘关节进行运动轨迹计算,并以腕关节相对参考点的运动轨迹作为手部运动轨迹,取各个关节的坐标系如图3所示。设肩关节坐标系为S-XSYSZS,肘关节坐标系为 E-XEYEZE,腕关节坐标系为W-XWYWZW。肩关节的坐标系方向与参考坐标系方向相同,肘关节和腕关节的X轴都平行于手臂指向前方,Y轴垂直于X轴指向手臂外侧,Z轴指向人体正后方,三个关节和胸部参考坐标的X-Y平面在同一平面内。结合图2和图3可知,肘关节坐标系与上臂惯性测量单元坐标系平行,腕关节坐标系与下臂惯性测量单元坐标系平行,则解算出的上臂惯性测量单元坐标系姿态角变化,即为肘关节坐标系姿态角变化。同理,解算出的下臂惯性测量单元坐标系姿态角变化,即为腕关节坐标系姿态角变化。图3中lp为肩关节到肘关节的几何长度,lf为肘关节到腕关节的几何长度。

图3 手臂位置参考坐标系Fig.3 Reference coordinates system of arm position

安装在手臂上的惯性测量单元(b系)解算出的坐标姿态角变化是相对于地理坐标系(n系)的,要得到手腕相对于参考坐标系(C系)的运动轨迹,需经坐标转换。n系与b系之间的转换可由式(8)实现:

式中:θ、γ和φ分别为b系相对于n系的俯仰角、横滚角和航向角,且有

根据式(9),可推导出肘关节坐标系(E系)到C系的转换矩阵为:

腕关节坐标系(W系)到C系的转换矩阵为:

由图3可知,肩关节坐标系与参考坐标系方向相同,则肩关节S点在C系的坐标位置为:

式中:xS为肩关节S点相对参考点OC在X轴方向的偏移,yS为肩关节S点相对参考点OC在Y轴方向的偏移。

由于肘关节X轴均平行于手臂指向前方,则只有在X轴方向上肘关节相对参考点有分量,由式(8)得肘关节E点在C系的坐标位置为:

同理,可得腕关节W点在C系的坐标位置为:

3 运动状态的识别

3.1 运动轨迹的特征提取

运动信息的特征提取是运动状态识别的关键。本文对采集到的手部运动信息提取时域特征,如表2所示,其中:均值反映了数据的平均强度;方差表明数据偏离平均值的程度;偏度衡量数据偏斜的方向和程度;公式中ds为样本标准差;最大值和最小值描述了信号最大和最小幅度[17]。

对于三轴MEMS加速度计、三轴MEMS陀螺仪和三轴MEMS磁强计信号,虽其每一轴都可以提取时域特征,但本文使用三轴综合特征量来表示传感器的特征,这样不仅可简化特征量,还可避免单个轴的信号不稳定,降低了对传感器佩戴方式的要求。三轴综合特征量的计算公式如下式所示:

式中:F为三轴综合特征量,Fx、Fy、Fz分别为三轴信号计算出来的特征量。

实验表明,磁场信号特征只有偏度变化比较明显,因此选取偏度特征作为磁场信号特征量,加速度和角速度按照表2中特征提取,因此共有11个时域特征量。四种运动状态的时域归一化特征值如图4所示。

从图4的时域归一化特征中可以看到,不同手臂运动的某些特征值差异并不明显,如角速度的最大值、加速度的方差以及偏度等。因此,本文还提取了手臂运动轨迹的特征,增加有效特征数量,提高识别率。

表2 MEMS传感器测量信号时域特征描述Tab.2 Feature description of MEMS sensor measurement time domain signal

图4 四种手臂运动传感器测量信号时域归一化特征值比较Fig.4 Comparison of time domain signal normalized eigenvalues of sensor measurements for four arm movements

一个简单的手臂动作通常持续1~2 s,手部轨迹可视为由线段组成的空间几何形状。对于几何形状来说,其主要特征是几何形状的长度、面积和斜率等。在平面内,手部运动轨迹由一组坐标{(x1,y1), (x2,y2), …, (xm,ym)}表示。本文提取的手部运动轨迹特征如表3所示,其中几何形状的倾斜程度用端点斜率和最大斜率来表示,面积和面积与周长之比是几何形状的一类特征。利用图形与两个中线的交点个数来区分几何形状是否为封闭形状,交点个数为4即为封闭形状,交点个数小于4个即为非封闭形状。方差比是图形数据的统计特征,反映出整个几何形状数据组成的离散程度。

表3 手部运动轨迹的特征描述Tab.3 Feature description of hand motion trajectory

如图5所示,在墙壁上预先画出设定好的横线、竖线、斜线和矩形等线型,测试过程中使手腕沿着设定线型进行运动。实验过程中,保持人体的躯干固定不动以使参考点稳定。实验对每类手臂动作分别进行25次测试,共得到100组手臂运动数据。对得到的每组手臂运动数据进行分析解算,解算出手腕处的运动轨迹。图6所示为四种运动状态下解算得到的手腕处的二维运动轨迹,并且分别给出了每种运动状态下的3组重复测试数据。取lp=0.3 m,lf=0.25 m,xS=0.2 m,ys=-0.2 m。从图6可以看出,由于传感器测量的误差,导致姿态角解算存在误差,导致相同动作的重复测试轨迹没有完全重合,但可以看出所有动作的趋势是相同的。

图5 实验动作示意图Fig.5 Schematic diagram of experimental action

图6 手部运动轨迹图Fig.6 Trajectory of hand movement

按照表3提取手部运动轨迹特征,得到四种运动状态的归一化特征值,如图7所示。可以看到,每类动作的6组特征值之间差异明显,且对比同类动作的6组特征值,其重复性也比较好,说明特征量选取适合。

图7 四种手臂运动归一化特征值比较Fig.7 Comparison on normalized eigenvalues of four arm movements

3.2 模式识别

BP(Back Propagation Network)人工神经网络或其变化形式在函数逼近、模式识别、分类和数据压缩中得到广泛应用[18]。本文采用三层BP神经网络,实现人体手臂运动状态的识别。本文对每类动作提取11种原始信号的时域特征量和6种手部运动轨迹特征量,因此BP神经网络的输入层单元数共有17个。需要对四类手臂运动进行识别,因此BP神经网络的输出层单元数为4个。设四种运动的识别目标向量分别为:横线(1,0,0,0),竖线(0,1,0,0),斜线(0,0,1,0),封闭线(0,0,0,1)。

隐含层单元的个数与问题的要求以及输入/输出单元的数目都有着直接关系。隐含层单元个数太多会导致学习时间过长、网络结构复杂、难以收敛等问题;而个数太少会使网络泛化能力弱、容错性差。文献[19]中提出了选择最佳隐含层单元个数的参考公式,表4是分别采用4~14个隐层数目对BP网络进行训练的结果。训练时,使用其中30组数据进行训练,70组数据进行测试。本文在网络训练时选择第一层网络传递函数为tansig,第二层网络传递函数为logsig,训练函数为traingdx。设置最大训练次数为1000,训练目标均方误差为0.001,学习速率为0.1%。

由表4中可知,隐层数目取8个时,网络训练的步数为最少,同时网络训练误差与最小误差相近,故选取8位隐含层单元数。

用70组数据对训练好的BP神经网络进行测试,设置当网络实际输出与期望输出之间的均方误差小于目标值时,则为识别成功,否则为识别失败。图8是对70组数据分别使用时域特征和时域特征+轨迹特征进行测试,得到的每组数据实际输出的均方误差大小。从图8中可得,使用时域特征进行识别时,有11组测试样本未能成功识别,包含:4组画横线的测试样本、4组画竖线的测试样本、2组画斜线的测试样本,以及1组画封闭线的测试样本。采用时域特征+轨迹特征进行识别的方法,只有2组测试样本未能成功识别,包含:1组画竖线的测试样本和1组画封闭线的测试样本。

支持向量机(Support Vector Machine, SVM)是基于统计学习理论的新型模式识别分类技术,在解决非线性、小样本分类等问题上显示出很大优势[20-21]。采用SVM分类算法同样对上述特征进行分类,其中采用RBF核函数的SVM分类器进行训练识别,其他参数设置为gamma=1,惩罚因子为2。由此可得BP神经网络算法和SVM分类算法在不同特征量的输入下对四种运动的识别率,如表5所示。

从表5可得:采用时域特征+轨迹特征作为BP神经网络的输入数据,其手臂运动的识别率比只使用时域特征作为神经网络输入提高了12.85%;而使用SVM算法对时域特征输入进行分类识别,识别率为98.5%,高于时域特征+轨迹特征输入的BP神经网络算法,但低于SVM算法对时域特征+轨迹特征输入的分类识别率。

BP神经网络训练输入的样本越多,其包含的样本类别就越多,容错率就会越高,训练识别率就越高。

综上可以看出,在有限的样本下,SVM分类算法更适合进行分类识别。

表4 不同隐含层单元数的BP网络训练结果比较Tab.4 Comparison on BP network training results with different hidden layer units

表5 BP神经网络对四种运动的识别率Tab.5 Recognition rates of four kinds of motion by BP neural network

图8 测试样本的网络输出误差Fig.8 The network output error of the test sample

4 结 论

本文使用3个相同的惯性测量单元,搭建了人体手臂运动测量识别系统,通过计算手部运动轨迹,正确识别了横线、竖线、斜线和封闭线四类典型的手臂动作。使用MEMS陀螺仪、加速度计和磁强计组成的惯性测量单元对人体手臂运动进行测量,通过卡尔曼滤波算法解算出手臂的姿态角变化,选取肩关节、肘关节和腕关节进行运动轨迹计算,并以腕关节轨迹作为手部的运动轨迹。对每类手部运动进行了时域信号特征和轨迹特征提取,共得到100组手臂运动样本。

使用BP神经网络和SVM分类算法分别对传感器测量信号时域特征和传感器测量信号时域特征+运动轨迹特征进行识别,结果表明,本文提出的使用传感器测量信号时域特征+运动轨迹特征比传统只使用传感器测量信号时域特征进行识别,BP神经网络识别率提高了 12.85%,SVM 分类算法识别率提高了1.5%。并显示出在样本有限的情况下,SVM分类算法比 BP神经网络更适合进行分类识别。97.14%的BP神经网络识别率和100%的SVM识别率表明了本文基于MEMS传感器测量人体手臂运动轨迹,以传感器测量信号的时域特征+运动轨迹特征进行识别手臂动作的有效性和可行性。

):

[1] Lockhart J W, Pulickal T, Weiss G M. Applications of mobile activity recognition[C]//Proceedings of the 2012 ACM Conference on Ubiquitous Computing. 2102: 1054-1058.

[2] Suma E A, Krum D M, Lange B, et al. Adapting user interfaces for gestural interaction with the flexible action and articulated skeleton toolkit[J]. Computers & Graphics,2013, 37(3): 193-201.

[3] Dhamsania C J, Ratanpara T V. A survey on Human action recognition from videos[C]//International Conference on Green Engineering and Technologies. 2016: 1-5.

[4] 王耀东, 余祖俊, 石井抱. 高速立体视觉与机械运动异常动作三维检测[J].仪器仪表学报, 2013, 34(10): 2161-2169.Wang Y D, Yu Z J, Shi J B. High-speed stereo vision based three dimension abnormal operation detection of mechanical motion[J]. Chinese Journal of Scientific Instrument, 2013, 34(10): 2161-2169.

[5] Chardonnens J, Favre J, Cuendet F. A system to measure the kinematics during the entire ski jump sequence using inertial sensors[J]. Journal of Biomechanics, 2013, 46(1):56-62.

[6] Weng S L, Xiang L P, Tang W W, et al. A low power and high accuracy MEMS sensor based activity recognition algorithm[C]//IEEE International Conference on Bioinformatics and Biomedicine. 2015: 33-38.

[7] Shi G Y, Zhang J Y, Dong C, et al. Fall detection system based on inertial MEMS sensors: Analysis design and realization[C]//IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems. 2015: 1834-1839.

[8] Seamana A, McPheea J. Comparison of optical and inertial tracking of full golf swings[J]. Procedia Engineering,2012, 34: 461-466.

[9] Foerster F, Smeja M, Fahrenberg J. Detection of posture and motion by accelerometry: a validation study in ambulatory monitoring[J]. Computers in Human Behavior,1999, 15(5): 571-583.

[10] Brahem M B, Ménélas B A J, Otis J D. Use of a 3DOF accelerometer for foot tracking and gesture recognition in mobile HCI[J]. Procedia Computer Science, 2013, 19:453-460.

[11] 路永乐, 张欣, 龚爽, 等. 基于MEMS惯性传感器的人体多运动模式识别[J]. 中国惯性技术学报, 2016, 24(5):589-594.Lu Y L, Zhang X, Gong S, et al. Recognition of multiple human motion patterns based on MEMS inertial sensors[J]. Journal of Chinese Inertial Technology, 2016, 24(5):589-594.

[12] 米刚, 田增山, 金悦, 等. 基于MIMU和磁力计的姿态更新算法研究[J]. 传感技术学报, 2015(1): 43-48.Mi G, Tian Z S, Jin Y, et al. MIMU update algorithm based on the posture and magnetometer[J]. Chinese Journal of Sensors and Actuators, 2015(1): 43-48.

[13] Dowling A V, Favre J, Andriacchi T P. Inertial sensor-based feedback can reduce key risk metrics for anterior cruciate ligament injury during jump landings[J]. American Journal of Sports Medicine, 2012, 40(5): 1075-1083.

[14] Zhu Rong, Zhou Zhao-ying. A small low-cost hybrid orientation system and its error analysis[J]. IEEE Sensors Journal, 2009, 9(3): 223-230.

[15] 卢志才, 高敏, 贾春宁. 基于地磁测量的火箭弹滚转角解算误差补偿方法研究[J]. 中国测试, 2014, 40(2): 9-12.Lu Z C, Gao M, Jia C N. Error compensation method for flight attitude angles of rocket projectile based on geomagnetic field measurement[J]. China Measurement &Test, 2014, 40(2): 9-12.

[16] 刘震, 王雪梅, 倪文波. 基于 MEMS传感器的高精度姿态角测量研究[J]. 中国测试, 2017, 43(2): 6-12.Liu Z, Wang X M, Ni W B. Research on attitude angle measurement with high precision based on MEMS sensors[J]. China Measurement & Test, 2017, 43(2): 6-12.

[17] 刘震. 基于MEMS传感器与Zigbee网络的人体手臂运动状态测量和识别方法研究[D]. 西南交通大学, 2017.Liu Z. Research on motion measurement and recognition method of human arm based on MEMS sensors and zigbee networks[D]. Southwest Jiaotong University, 2017.

[18] 丛爽. 面向 MATLAB工具箱的神经网络理论与应用-第3版[M]. 合肥: 中国科学技术大学出版社, 2009.Cong S. Neural network theory and applications with MATLAB toolboxes[M]. 3th ed. Hefei: University of Science and Technology of China Press, 2009.

[19] 魏海坤. 神经网络结构设计的理论与方法[M]. 北京:国防工业出版社, 2005.Wei H K. Theory and method of neural network struc- ture design[M]. Beijing: National Defend Industry Press, 2005.

[20] Vapnik V N. The nature of statistical learning theory[J].IEEE Transactions on Neural Networks, 1995, 8(6): 988-999.

[21] 洪涛, 黄志奇, 杨畅. 涡轮泵实时故障检测的快速支持向量机算法[J]. 仪器仪表学报, 2012, 33(8): 1786-1792.Hong T, Hang Z Q, Yang C. Fast support vector machine algorithm for turbo pump real-time fault detection[J].Chinese Journal of Scientific Instrument, 2012, 33(8):1786-1792.

猜你喜欢

时域手臂坐标系
独立坐标系椭球变换与坐标换算
手臂上的抓痕
基于复杂网络理论的作战计划时域协同方法研究
网络分析仪时域测量技术综述
坐标系背后的故事
三角函数的坐标系模型
山区钢桁梁斜拉桥施工期抖振时域分析
求坐标系内三角形的面积
一种用于高速公路探地雷达的新型时域超宽带TEM喇叭天线
完美的手臂