基于运动传感器的手势识别*

2011-10-21 03:43王万良杨经纬蒋一波
传感技术学报 2011年12期
关键词:特征选择手势识别率

王万良,杨经纬,蒋一波

(浙江工业大学计算机科学与技术学院,杭州 310023)

大尺寸显示器的PC和智能电视的出现,使得基于鼠标、键盘的传统人机交互设备的不便性日益凸显,如何使人与机器之间的交互能够自然的模拟人与人之间的交流变得越来越重要。触摸屏及相关技术为使用者提供了全新的操作体验,但使用者不可避免地被限制在显示器之前,而且该技术必须针对应用环境定制,缺乏一般的通用性。

基于计算机视觉和基于可穿戴传感器的人体动作识别[1]为人机之间以动作或手势进行交互识别提出了新的解决方案,在数字家庭设备和大屏幕设备中有广泛的应用前景。

目前大部分关于手势识别的研究采用的是基于计算机视觉的方法[2-3]。然而,基于计算机视觉的方法面临着一个难以克服的难题:遮挡,用户必须被严格地限定在与摄像设备之间没有遮挡的范围内。而可穿戴传感器却完全不受此限制,因此基于可穿戴的动作识别引起了学者们的研究兴趣[4-9]。

Andrea等利用多个传感器构建了一个人体动作识别系统,对坐、躺、站等姿势和爬楼梯、跑步等动作进行了识别[4]。任天堂公司开发了用于交互游戏控制的Wii[10],它的输入设备 Wiimote常常作为加速度数据采集设备用于学者的研究工作中,梁秀波等在文献[5]中利用智能手机和Wiimote作为加速度数据采集设备将对手势的识别用于人机交互系统中。AiLive公司开发的 LiveMove[11]是一套集训练和识别为一体的商用系统。

现有的研究将加速度作为动作特征进行训练和识别,在特定动作的识别方面取得了不错的识别率,但对于速度缓慢或者与旋转相关的动作识别方面存在缺陷。因此,本文将地磁传感器和加速度传感器数据融合起来计算出传感器模块的姿态角,并将其与加速度数据结合起来作为动作的特征。然后选用在语音识别领域获得巨大成功的隐马尔科夫模型作为手势识别模型对动作特征进行训练和识别。

1 系统流程与硬件设计

1.1 硬件设计

本文设计实现了基于加速度传感器和地磁传感器模块的手势识别算法,在PC平台和Android手机平台开发了手势识别原型系统。

系统的手持端是HTC HD2手机,它自带有三轴加速度传感器、三轴地磁传感器以及用于通信的WIFI模块。HD2搭载了 Android 2.3.3系统,加速度和地磁数据可通过系统API获取并通过WIFI传送到主机端。

加速度传感器采用意法半导体生产的LIS331DL,电源电压范围2.16 V ~3.6 V,量程为±2gn/±8gn动态可选,数据输出频率为100 Hz~400 Hz。地磁传感器为AKM公司的AK8973,电源电压2.5 V ~3.6 V,它的数据输出频率同样是100 Hz~400 Hz可通过程序调节。

系统的主机端是一个PC,运行着包含有数据传输模块、基于隐马尔科夫模型HMM(Hidden Markov Model)的动作识别模块、识别结果和数据显示模块的原型系统。

1.2 系统流程

本文系统流程如图1所示。首先,用户手持运动传感设备为手势集合中的每个动作采集训练样本;经过预处理之后数据被传输到主机端,然后经过特征提取和特征选择等一系列后期处理之后作为训练样本用于训练机器学习模型;经过训练之后的机器学习模型即可实时地识别用户的手势。手势被识别之后便可以将这些手势映射为各种指令来控制一些交互应用。本系统的核心为数据的采集和预处理、特征提取和特征选择等后期处理、HMM机器学习和识别三个模块。

2 识别算法设计

整个识别过程包括以下几个步骤:数据采集与预处理、特征提取及特征选择、手势训练与识别。

2.1 数据采集与预处理

手持HTC HD2的用户做手势的时候,监听函数会将内置在手机里的加速度计和磁强计的读数保存起来,设加速度计的输出为=[axayaz],磁强计的输出为=[mxmymz]。由于加速度计的输出数据包含有重力加速度信息,为了更准确的反应手机的运动,使用高通滤波除去重力加速度产生的影响,结果记为=[laxlaylaz]。另外,不同的用户做同一个手势时的速度和幅度可能有很大差别,即使是同一个用户重复同样的手势,其速度和幅度也不完全相同,因此需要对样本进行归一化。本文用线性插值的方法对样本进行归一化处理。

2.2 特征提取及特征选择

由于传感数据样本中所隐含动作特征被淹没在大量不相关的信息中,直接将这样的手势样本用于机器学习很难达到较高的识别率。通常情况下,模式识别系统不直接使用原始传感器数据作为输入参数,而是使用更能反映动作特征的数据作为输入。因此,特征提取和选择往往是与特定应用和机器学习息息相关的基础步骤。

人在做手势的时候手臂主要有两方面的变化,一个是手臂的移动,另一个是手臂的旋转。手持终端所采集的加速度数据能有效的反映手臂的移动,而手持终端的姿态,即在世界坐标系中X、Y、Z三坐标轴上的旋转角度则能很好的标识手臂的旋转。如图2、图3所示,三轴加速度数据分别反映了传感器模块在三坐标轴上的运动变化,而姿态角则反映传感器模块在三轴上的旋转变化。

图2 三轴加速度

图3 三轴姿态角:横滚角θ俯仰角γ航向角ψ

文献[5-6]分别选用了一个和两个加传感器模块来采集数据,文献[4]选用了多个传感器模块。数据采集完成之后,分别采取线性主元分析(Principle Component Analysis,PCA),顺序浮动前向搜 索 算 法 (Sequential Forward-backward Floating Search,SFFS),蚁群算法对数据进行了特征选择。虽然传感器数目和特征选择算法不尽相同,但他们最终获取到的是单一的加速度数据。而我们的实验表明,单独使用加速度数据或姿态角在姿势识别方面都会有一些盲点或者识别率非常低的情况。

加速度数据无法辨别传感器模块在沿坐标轴运动时是否倾斜。如图4中所示,仅仅通过加速度传感器数据无法辨别左右两组动作的区别。

图4 传感器模块沿坐标轴移动

同样,单一使用姿态角作为特征时一些保持姿态不变,但加速度却发生变化的动作将无法很好的识别。如图5所示,传感器模块在Z轴上有加速度,但模块的姿态却没有改变,仅使用在台作为特征时,两个动作将无法被识别。

因此,本文将两种数据融合起来作为机器学习和识别的特征。

加速度数据可由加速度计直接读出,姿态角的求解过程[12]如下:当手机处于水平静态时,加速度计的输出为=[0 0g]。当手机处于运动状态时,假定加速度计的测量值为=[axayaz],则由可得:

图5 传感器模块姿态不变加速度变化

在已知横滚角θ和俯仰角γ的情况下,可以磁强计的输出计算出航向角ψ:

其中:mxmymz分别为磁强计的X、Y、Z轴的测量值。

2.3 手势训练与识别

加速度传感器数据与语音数据类似,也是时序序列,因此本文选用在语音识别领域获得巨大成功的隐马尔科夫模型作为手势识别模型。

HMM(Hidden Markov Model)是一个通过概率模型来分析和生成时间序列的双重随机过程,一个是马尔科夫链,它描述状态之间的转移。另一个随机过程描述了状态和观察值之间的统计对应关系[13]。一个HMM可以用一个五元组表示:λ=(X,O,A,B,π),五个参数的含义分别为,X:状态的有限集合,O:观察值的有限集合,A:转移概率,B:输出概率,π:初始状态分布。

简言之,HMM分为两部分,一个是马尔科夫链,用π,A描述,输出状态序列;另一个是一个随机过程,由B描述,产生观察值序列,从而 HMM可简写为:

本文的算法包采用剑桥大学开发的HTK(HMM Tools Kit)[14]。其算法主要分为以下两步:

第1步:用Baum-Welch算法对观察值序列,即本文针对一个手势采集到的数据,进行训练得到该手势对应的HMM的模型。

第2步:用Forward-Backward算法将手势特征序列的O作为输入计算产生O的概率P(O|λi),找出它最大时的模型,该模型所对应的手势就是手势识别的结果。

3 实验结果

本文对8个动作和8个阿拉伯数字共计16种手势进行了测试,结果表明能够很好的识别。如图6所示,圆点表示手势开始,箭头是手势的轨迹。每个动作要求一次性完成,中间不得有停顿,数据的起始由实验者通过按钮控制。

图6 手势列表

一次数字8手势的识别过程如图7所示。

图7 数字8的识别过程

图8和图9为一次数字8手势所得到加速度和姿态角数据。

简单的手势如手臂向左向右移动不含有旋转动作,加速度数据就能很好的反映手势的特征。而复杂的手势如阿拉伯数字,手臂除加速度变化外还带有旋转,为了提高复杂手势的识别率,本文引入了标识手臂旋转的姿态角数据作为识别的特征。

图8 数字8加速度数据

图9 数字8姿态角数据

为了验证方法相较于仅使用加速度数据的有效性,做了一个对比实验。采集了6个人的4种动作数据,每个动作数据包含加速度和姿态角两种数据,每种动作60个。其中20个用于训练,40个用于识别。即一个动作有360个数据,其中120个用于训练HMM模型,240组用于姿态识别。识别率如图10所示。

图10 两种数据下的识别率图

从这些数据可以看出,基于两种数据的识别方法在动作比较简单的情况下的识别率相当,比如向左、向右、向上、向下和左勾、右勾等动作。但对于带有旋转的较为复杂动作,如阿拉伯数字、顺时针旋转等动作的识别中,本文提出的方法具有较好的识别率。

4 总结和展望

为了使手势交互较少受到视角和光线的限制,提出利用可穿戴传感器作为输入设备和机器学习算法相结合进行手势识别的方法。为验证所提方法的有效性,在PC和Android手机平台上实现了数据采集和识别为一体的姿势识别系统。选取了16手势进行了识别实验,并采集了6个人的4种动作进行对比实验。实验结果表明,该方法可以实时有效地对手势特别是复杂的手势进行识别。结合陀螺仪进行手势识别是今后研究的方向。

[1]Zhou H,Hu H.Human Motion Tracking for Rehabilitation—A Survey[J].Biomed Signal Processing and Control,2008,1(3):1-18.

[2]Cao X,Balakrishnan R.VisionWand:Interaction Techniques for Large Displays Using a Passive Wand Tracked in 3D[C]//Proceedings of the 16th Annual ACM Symposium on User Interface Software and Technology,Vancouver,2003:173-182.

[3]Malik S,Ranjan A,Balakrishnan R.Interacting with Large Displays from a Distance with Vision-Tracked Multi-Finger Gestural Input[C]//Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology Seattle,2005:43-52.

[4]Mannini A,Sabatini M.Machine Learning Methods for Classifying Human Physical Activity from On-Body Accelerometers[J].Sensors,2010:1154-1175.

[5]梁秀波,张顺,李启雷.运动传感驱动的3D直观手势交互[J].计算机辅助设计与图形图像学报,2010,22(3):521-526.

[6]王昌喜,杨先军,徐强,等.基于三维加速度传感器的上肢动作识别系统[J].传感技术学报,2010,23(6):916-819.

[7]李国峰,王锦,张勇,等.基于MEMS加速度传感器的智能输入系统[J].传感技术学报,2009,22(5):643-646.

[8]Schlömer T,Poppinga B,Henze N,et al.Gesture Recognition with a Wii Controller[C]//Proceedings of the 2nd International Conference on Tangible and Embedded Interaction.New York:ACM Press,2008:11-14.

[9]Vlasic D,Adelsberger R,Vannucci G,et al.Practical Motion Capture in Everyday Surroundings[J].ACM Transactions on Graphics,2007,26(3):1-9.

[10]Wii.http://www.wii.com[EB/OL].

[11]LiveMove,http://www.ailive.net/liveMove.html[EB/OL].

[12]Y Xiaoping,E Bachmann,R McGhee.A Simplified Quaternion-Based Algorithm for Orientation Estimation from Earth Gravity and Magnetic Field Measurements[C]//IEEE Transactions on Instrumentation and Measurement,2008,57(3):638-650.

[13]Rabiner L R.A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition[J].Proceedings of the IEEE,1989,77(2):257-285.

[14]Young S,Evermann G,Gales M.The Hidden Markov Model Toolkit[EB/OL].http://htk.eng.cam.ac.uk/.2006-10-6.

猜你喜欢
特征选择手势识别率
基于类图像处理与向量化的大数据脚本攻击智能检测
挑战!神秘手势
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
V字手势的由来
提升高速公路MTC二次抓拍车牌识别率方案研究
胜利的手势
Kmeans 应用与特征选择
高速公路机电日常维护中车牌识别率分析系统的应用
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统