基于MEMS传感器的三维空间运动轨迹提取方法
2016-11-09仇立杰彭四伟
仇立杰 彭四伟
(北京化工大学信息科学与技术学院 北京 100029)
基于MEMS传感器的三维空间运动轨迹提取方法
仇立杰彭四伟
(北京化工大学信息科学与技术学院北京 100029)
基于MEMS传感器的手势识别的一般方法是通过对每个手势进行运动学分析找出每个手势的加速度特征,以此作为识别手势的特征值。这表明该方法需要人工设计特征值,不利于用户的自定义操作。针对这种情况,提出一种空间定位方法。首先获取传感器数据并发送到PC端,并在PC端进行积分处理,转化成空间数据,从而记录手势的运动轨迹。最后结果表明,该方法可以成功记录手部的运动轨迹,不用对每个手势单独进行运动学分析,使得用户在后续的研究中可以实现自定义手势。
传感器数据空间数据手势识别
0 引 言
手势识别算法的研究目前为止已经有很多。手势识别的实现方式主要有两种。一种是基于视觉的手势识别技术,或称为基于图像的手势识别技术[1]。该种方式主要是以摄像头作为硬件设备获取视觉信息。基于视觉的手势识别技术发展比较早,现在也比较成熟,目前国内外都已经取得不错的研究成果。但是这种技术对设备和环境的要求比较苛刻,所以有很大的局限性。另一种手势识别的实现方式是基于传感器的手势识别技术[1],这种技术以传感器作为硬件设备,通过传感器获得手部运动的加速度或角速度等信息,根据这些信息来对手势进行识别。
MEMS传感器作为采用微电子和微机械加工技术制造出来的新型传感器,与传统的传感器相比,具有体积小、功耗低、重量轻、易于集成和实现智能化等特点。因此,基于MEMS传感器的手势识别研究近年来逐渐成为热门话题。
和基于视觉的识别技术相比,基于MEMS传感器的手势识别具有不受环境、光线影响的优势[2],目前也取得了很多研究成果。肖茜等人提出了一种提取MEMS惯性传感器数据信息特征的识别方法[1],即通过提取加速度和角速度的特征量和变化规律来识别手势。该方法无法识别与时间顺序有关的手势,而且对复杂手势的识别还有一定的局限性。王原等人对特征提取方法进行了改进,加入了时间序列,以识别跟时间顺序有关的手势[3]。但是只用到了加速度传感器,限制了设备的运动姿态,给操作者带来不便。
前面的方法通过分析每个手势的加速度曲线特征来找出每个手势的特征值,这需要人为参与,即操作者要按设计者设定的手势进行操作,使得操作者不能自己定义手势。
鉴于此,提出了一种空间定位的方法,即将传感器数据转换成运动物体的空间位置数据。该方法将实时采集到的加速度传感器和陀螺仪传感器的数据信息发送到PC端,在PC端进行数据处理,对加速度传感器数据进行轨迹计算,得到运动物体在三维相对空间的运动轨迹。用陀螺仪传感器识别设备姿态,从而消除加速度传感器对设备姿态的限制,得到运动物体在绝对空间中的运动轨迹。
1 数据采集
随着智能手机等移动电子设备和传感器的不断发展,内嵌有MEMS传感器的智能手机已被广泛应用在生活中[4,5],所以本文采用手机作为实验用的硬件设备,以此来进行基于加速度传感器和陀螺仪传感器的手势识别。
操作者手持手机,手部的运动轨迹和手机的运动轨迹是一样的,所以得到手机的运动轨迹即可。通过一个简单的安卓应用程序获取手机中加速度传感器和陀螺仪传感器的数据并将数据实时发送到PC端。然后在PC端对数据进行处理。
1.1加速度
加速度由MEMS加速度传感器提供,分为x、y、z三个方向。
图1 手机传感器方向
加速度传感器的方向定义规则如下:手机平放在桌子上,短边和身体平行。手机右下角指向左下角方向为x轴方向,左上角指向左下角方向为y轴方向,垂直手机平面向下的方向为z轴方向。如图1所示,CD为手机的短边。
该加速度包括重力加速度g,即当手机朝上静止平放时,理论上x、y轴的加速度为0,z轴加速度为重力加速度g。
加速度曲线如图2所示,横轴为时间,单位s,纵轴为加速度,单位m/s2,即MEMS加速度传感器的输出值。
图2 加速度曲线图
假设从t0时刻开始采样,根据积分原理,连续时间域t0-t内位移s(t)和t时刻的瞬时速度v(t)的表示如下:
(1)
(2)
通过对获取的加速度进行二重积分可求得手部的移动位移。PC端实时获取手部的运动加速度,同时对三个方向上的加速度分别进行积分运算,求得手部的瞬时速度和空间累计运动轨迹。
1.2角速度
角速度由MEMS陀螺仪传感器提供,分为x、y、z三个轴的角速度。
手部运动过程中手机可能会出现空间翻转,此时加速度传感器的坐标系不再与手部运动的绝对运动空间坐标系重合,即重力加速度会在加速度传感器x、y、z三轴方向引起偏移分量。为解决该问题,加入了MEMS陀螺仪传感器。
陀螺仪传感器的方向定义如下:手机逆时针旋转为正方向,即当手机逆时针旋转时,角速度为正值,顺时针旋转时,角速度为负值[6]。
图3 相对坐标系与绝对坐标系关系对应
陀螺仪传感器的测量值是手机任意时刻相对坐标系x、y、z三轴的转动角速度[6],根据转动角速度可求出手机任意时刻的滚转角、俯仰角和偏航角,即可知道相对坐标系相对绝对坐标系的偏移量,从而通过陀螺仪来识别手机的空间姿态,然后通过坐标变换滤除重力加速度的在加速度传感器三轴上的偏移分量。
相对坐标系与绝对坐标系的对应关系如图3所示,其中实线为参考坐标系,即绝对坐标系,虚线为传感器所在坐标系,即相对坐标系。
2 空间定位实现
2.1加速度积分计算
由于采集的MEMS加速度传感器的数据是离散的,设定传感器的采样时间间隔为Δt,迭代后可得:
(3)
(4)
式(3)和式(4)中,v[n]为tn时刻的瞬时速度,a[n]为tn时刻的加速度,s[n]为0-tn时间段的累计位移。
MEMS加速度传感器的输出数据为x、y、z三个方向的加速度,根据式(3)、式(4)可分别计算出手部在tn时刻沿加速度传感器x、y、z三轴方向上的瞬时速度:
(5)
(6)
(7)
同理,可求出手部在tn时刻沿加速度传感器x、y、z方向的运动位移分别如式(8)-式(10)所示:
(8)
(9)
(10)
则tn时刻手部的空间位置坐标为:(sx[n],sy[n],sz[n])。因此,通过连线各个时刻的空间位置坐标点就可得出手部在三维空间的运动轨迹。
2.2重力加速度分量滤除
操作者在操作手势时可能会出现空中翻转,这时重力加速度会在加速度传感器x、y轴上产生分量,z轴上的加速度也不再是重力加速度g。此时用式(5)至式(10)计算得出的结果会出现严重误差。这就需要在积分计算前先滤除重力加速度在加速度传感器x、y、z三轴上的分量。
重力加速度在加速度传感器各轴的分量可通过姿态矩阵算出,姿态矩阵的求解算法一般有三参数法,又称欧拉角法、方向余弦法、四元参数法。董威的六轴MEMS传感器空间定位与实现[7]中就用到了欧拉角法,但是欧拉角法中涉及到三角运算,运算量较大。方向余弦法的姿态微分方程包含九个未知量的线性微分方程,机上计算不易实现。与欧拉角法比,四元参数法比欧拉角法多解一个微分方程,但是没有三角运算,降低了计算量,而且也避免了欧拉角法会出现的奇异问题[8]。
综上,这里我们选择四元参数法来计算姿态矩阵。
绝对坐标系与相对坐标系之间的转换关系可以用四元数Q来表示,即:
Q=q0+q1ib+q2jb+q3kb
(11)
四元数微分方程为:
(12)
式(9)的矩阵形式为:
(13)
式(10)即为四元微分方程,式中wx、wy、wz为陀螺仪的输出分量。通过该微分方程可求出参数q0、q1、q2、q3,根据姿态矩阵可将g在相对坐标系中各轴上的分量求出,分量gx、gy、gz为:
(14)
所以,在对加速度进行积分运算之前需要用测得的加速度减去重力加速度在该轴上的分量,得到手部在各个方向的实际加速度。通过积分运算求得Δt时间内手部在相对空间中的位移,然后再次用姿态矩阵求出手部在绝对空间中的位移,最终通过迭代得出手部在绝对空间中的运动轨迹。
3 实验与结果
3.1获取数据
通过简单手机APP获取手机内置加速度传感器和陀螺仪传感器的数据。手机APP中的传感器类型采用的是SensorManager.SENSOR_DELAY_GAME,每隔20ms获取一次传感器数据,并通过无线网络实时将数据发送到PC端,同时PC端实时接收发送过来的数据并进行处理得到运动轨迹。所以手部运动的空间位置坐标是实时计算出来的,即运动轨迹不受时间序列的限制。
如表1所示,为PC端接收到的加速度传感器的部分原始数据,每一行为一组数据,ax、ay、az分别为加速度传感器在x、y、z三轴上的加速度值,单位m/s2。从上向下为加速度传感器数据随着时间的变化过程,时间间隔为20ms。
表1 加速度传感器部分输出数据
如表2所示,为PC端接收到的陀螺仪传感器的部分原始数据,每一行为一组数据,wx、wy、wz分别为陀螺仪传感器在x、y、z三轴上的角速度值,单位rad/s。同理,从上向下为陀螺仪传感器数据随着时间的变化过程,时间间隔为20 ms。
表2 陀螺仪传感器部分输出数据
续表2
3.2数据处理
(1) 根据式(13)求出各时刻对应的q0,q1,q2,q3。
(2) 根据式(14)求出重力加速度分别在相对坐标系x、y、z方向的分量gx,gy,gz。
(3) 用传感器的加速度ax,ay,az分别减去重力加速度在各自轴上的分量gx,gy,gz,得到相对空间各轴上的实际加速度。
(4) 通过式(1)和式(2)对加速度进行积分,得到手部在相对空间中的移动位移。
(5) 根据式(14)求出手部在绝对空间的移动位移。
通过迭代运算最后可得手部在绝对空间的运动轨迹,如图5-图10所示为实验中抽取的6个轨迹示意图。x轴为手部沿绝对坐标系x轴方向的位移,单位m。y轴为手部沿绝对坐标系y轴方向的位移,单位m。z轴为手部沿绝对坐标系z轴方向的位移,单位m。
图5 运动轨迹 图6 运动轨迹
图7 运动轨迹 图8 运动轨迹
图9 运动轨迹 图10 运动轨迹
4 结 语
本文提出一种将加速度传感器数据转换成空间数据的方法来代替一般方法中对每个手势加速度特征的分析,然后通过识别手部的运动轨迹来识别手势。利用陀螺仪传感器来消除设备姿态对手势运动轨迹的影响,得到手部在绝对空间的运动轨迹。在后续的研究中可利用深度学习的方法对手势数据进行训练,从而提取每个手势的特征。相比之前的方法,该方法减少了对手势的运动学分析,不用人工为每个手势设定特征值,省去了对每个手势的运动学分析,使得用户可以通过训练自定义手势,方便了用户的操作。
[1] 肖茜, 杨平, 徐立波. 一种基于MEMS惯性传感器的手势识别方法[J]. 传感技术学报, 2013, 26(5):611-615.
[2] Xu R, Zhou S, Li W J. MEMS accelerometer based nonspecific-user hand gesture recognition[J]. IEEE Sensors Journal, 2012, 12(5):1166-1173.
[3] 王原, 汤勇明, 王保平. 基于加速度传感器的大手势集手势识别算法改进研究[J]. 传感技术学报, 2013(10):1345-1351.
[4] Campbell. A survey of mobile phone sensing[J]. Comm Mag, 2010,48(9):140-150.
[5] Wang X, Tarrío P, Metola E, et al. Gesture recognition using mobile phone’s inertial sensors[C]. Distributed Computing and Artificial Intelligence, 2012.
[6] 何永勃, 贾辉, 姜坤,等. 基于Android终端陀螺仪传感器的无人机飞行姿态控制[J].传感技术学报, 2015(4):476-478.
[7] 董威.六轴MEMS传感器空间定位设计与实现[J].计算机技术与发展,2014,29(7):73-77.
[8] 宋丽君.基于MEMS器件的航向姿态测量系统的研究[D].西北工业大学, 2007:46-47.
THREE-DIMENSIONAL SPACE TRAJECTORY EXTRACTION METHOD BASED ON MEMS SENSOR
Qiu LijiePeng Siwei
(College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029,China)
The general approaches of MEMS sensor-based gesture recognition are to find the acceleration characteristics of each gesture through kinematic analysis on every gesture, and then use them as the characteristic values of gesture recognition. This indicates that the methods require manually designed characteristic values, which is not conducive to user’s self-defined operations. In view of this, we propose a space positioning method. First, it acquires the sensor data and sends it to PC side, and then the sensor data is made the integration processing on PC side to transform it into spatial data, thereby the motion trajectory of the gesture is recorded. Final results show that the method can successfully record the motion trajectory of hand, and avoid the single kinematic analysis on every gesture, this enables the user to be able to realise self-defining the gesture in subsequent studies.
Sensor dataSpatial dataGesture recognition
2015-06-24。仇立杰,硕士生,主研领域:基于MEMS传感器的手势识别算法。彭四伟,副教授。
TP301
A
10.3969/j.issn.1000-386x.2016.09.068