APP下载

基于ZigBee和加速度传感器的手势识别研究*

2013-04-27董玉华孙炎辉徐国凯

传感技术学报 2013年7期
关键词:手势识别率加速度

董玉华,孙炎辉,徐国凯*,宋 鹏

(1.大连民族学院信息与通信工程学院,辽宁大连116600;2.大连民族学院机电信息工程学院,辽宁大连116600)

语言是人们思想交流和感情传递的工具,人们在交流的时候通常除了使用有声语言外还经常借助人体语言(包括手势语言)来辅助交流,手势语的直观形象是有声语言的重要补充。近些年,随着移动计算技术和微机电系统的发展,手势识别技术逐渐成为人机交互[1]领域研究的热点,其自然便捷、形象直观等诸多优点也成为其发展的一个主要因素。目前主流的手势识别方法有两种:一种是基于图像设备[2]获取人的手势动作图像,之后进行图像分析并识别。另一种是基于微传感器获取手部不同部位的动作信息,进而通过与模型的匹配得到动作者的实时手势信息。由于人手是复杂的变形体,同时手势具有多样性、多意性以及空间上的差异性等特点,所以基于图像设备的手势识别技术在一定程度上存在局限性[3]。而基于微传感器的手势识别系统只需获取手部各部位的动作数据,通过算法便可还原动作者的意图。该类系统在任何环境和空间里都能间接获得动作者的手势信息,基本能够克服基于图像设备识别的弊端,故基于微传感器的手势识别研究逐渐得到重视。

从20世纪的90年代末开始已有大量的研究者从事基于微传感器的手势识别研究,并且取得了显著的成效。1997年,Hoffman F等人使用数据手套和离散隐马尔可夫模型[4]进行德语识别,识别率达到96%[5];2000年,哈尔滨工业大学的吴江琴、高文将ANN-HMM混合方法应用于有18个传感器的CyberGlove型号数据手套的中国手语识别系统中,孤立词识别率为90%,简单语句级识别率为92%[6];2004 年,Jang I J和Park W B 对手持设备中加速度信号处理的问题进行了研究。为了准确地识别出用户的手势,将测量的加速度分为静态和动态,并且分别提供了识别方法[7];2007年,Ferscha A和Resmrita S将手势的概念泛化。根据手势的语法规则将手势分为原子手势和复杂手势两种,并建立了手势库Glib,可供基于加速度传感器的系统使用[8];2010年Michael Hoffmand等人分别用Linear分类器和AdaBoost分类器对25种手势进行识别。Linear分类器的识别率为98.5%,AdaBoost分类器的识别率比Linear分类器识别率约少3%[9]。

现有的基于微传感器的手势识别研究大概分为两类:一类是基于多类型传感器阵列的数据手套研究。另外一类是基于单传感器的研究[10]。前者研究计算复杂度高并且数据量大,无法应用在现有的移动平台中[11]。后者虽然能够解决数据量大的问题,但是无法准确反应动作者的手指信息,进而无法准确判断细微的手势。

文中给出了一种基于ZigBee和多加速度传感器的手势识别方法。该方案采用ADXL335三轴加速度传感器分别采集五个手指和手背上的加速度信息,信息通过多路开关依次送到终端节点进行A/D转换,并将处理后的数据整理发送。接收端收到数据后对手势动作依次进行滤波取整、抖动判定以减少因为噪声和抖动带来的差异。同时利用单个动作之间停顿时间的门限阈值检测动作的起始。最后对手势信息特征进行提取,构建离散隐马尔可夫模型以实现对手势的识别。

1 手势信息采集系统结构

系统所采用的手势信息采集芯片主要采用TI公司生产的CC2430和三轴加速度传感器ADXL335。整个系统两个部分:发送端模块和接收端模块。发送端模块包括加速度数据的采集、A/D转换以及数据发送。利用位于手指和手背上的六个加速度传感器,通过MAX338多路开关,分别将各传感器的X轴、Y轴、Z轴分量分别送给CC2430。该芯片利用其内部的A/D对模拟量进行转换,并将信息通过射频方式发给接收端。考虑到用户佩戴位置的偏差对识别率的影响,系统对其硬件结构进行了相应的改善。为了保证佩带位置没有太大变化,将各传感器固定于一个软质手套上,并将手指位置用胶带固定牢,使用时以指甲盖为各传感器的参考点,以保证每次佩戴时,各加速度传感器位置基本保持一致。

接收端模块采用与发送端相同的核心芯片CC2430,其主要完成包括:数据接收、滤波取整、特征提取、数据量化、抖动判定、模型训练与建立、模型匹配、结果输出与控制等。用户通过串口可以将接收到的加速度信息传输至上位机,便于对数据进行二次处理。系统工作流程图如图1所示。

图1 系统工作流程图

该方案与其他方案相比,其优势在于:

首先,克服了传统的单传感器手势识别系统对手部动作检测的局限性。系统采用多传感器的设计,分别利用放置在五根手指和手背上的6个加速度传感器,实时的感知每根手指和手掌的具体动作,从而更好更全面的获取动作者尽可能多的信息,以便完整的还原用户的意图。

其次,由于ZigBee网络的最大传输速度250 kb/s,能够保证手势数据的实时传输,另外CC2430采用8051F增强型内核,其处理速度能够满足识别算法的基本要求。

最后,ZigBee技术的应用可以方便的将该装置进行移植和改进。众所周知,许多手语是通过两只手协同动作,表达一个固定的意思。而目前的手势识别系统大都只考虑的单手的情况,对双手的情况并未作出考虑,利用ZigBee的自组网特性,可以方便的使两只手套组成一个网络,为后续扩展提供了极大的便利条件。

2 手势识别处理过程

2.1 手势数据滤波取整

为了提高手势数据识别处理能力,系统接收端对接收到的手势数据进行了放大处理。转换的数字量经过100倍放大之后,虽然较之前已经在动作信息的表现力上进一步得到了提高,但是数据依然带有多位小数,在数据处理的时候信息量会非常大,给处理带来较大困难。考虑到已经对加速度数据放大了100倍,小数点后的数据对该手势动作信息并不存在影响,故将其进行取整处理,把小数点后的数滤掉,以减少大数据量运算给系统带来的瓶颈。

设 g(t)=[x(t),y(t),z(t)]是 t时刻某加速度传感器的三轴加速度值,则经过滤波取整后的值即为G(t)={[100×x(t)],[100×y(t)],[100×z(t)]}。系统采用X、Y、Z三个轴的连续时间序列作为特征点的数据值,并依次进行上述处理,之后将得到的数据作为动作信息提供给后续操作。

2.2 动作起始点自检测

手势动作的起点、终点检测是手势识别的第一个步骤,也是一个重要的步骤[12]。在识别过程中,若不能准确判断动作起始点和终点,则不能完整的提取出该动作的一系列加速度特征序列,从而不能完整的还原出动作者的意图,给后续处理带来很多麻烦。

经过研究发现人的手势动作即具有连续性也有其分割性。每个手势动作看起来是连续的,实际每个手势都有短暂的停顿时间。在这段时间内,由于没有手势产生,所以各方向的加速度值也相对平稳。当有手势发生时,加速度值则突然变的剧烈,利用这个特点可以把一串连续手势分割成一组单手势组合[13]。

系统通过设置门限阀值来检测单手势模型的起点。当单手势做完停顿的那一刻时,手部处于短暂的静止状态,此时位于不同部位的六个传感器数据值所体现出来瞬时特征用C(t)=[G1(t),G2(t)…G6(t)]来表示。假设下一时刻为t+1,则手部各加速度传感器的特征值则为C(t+1)=[G1(t+1),G2(t+1)…G6(t+1)]。假设t+1时刻恰为手势起点,则C(t)与C(t+1)各个数据间会有明显的跳变。设定阀值为valve,对C(t)与C(t+1)中各特征采集点进行比较,若:

且同时有多个点存在突变则认为该手势为动作起点。

2.3 抖动判定

人手在做每个动作的过程中难免会发生颤抖或偏移,不同的人在做同一手势过程中也会存在细微的差别。如何断定该动作是抖动还是动作者的手势对于动作的完整性来说也是至关重要的一步,因此要在识别过程中加入抖动判定过程,以解决这些抖动带来的干扰[14]。

系统在抖动判定方法的设计上,依据大量采集到手势信息得出,从极限情况出发,即由于人与人之间存在差异产生的最大抖动可能,得出的同一手势,最大数据抖动范围在-11—11之间。由此得出抖动判定模型为:

其中 M(t)=[m1(t),m2(t),…,m6(t)]为最佳手势模型,C(t)为采集到的某个人的手势数据,Y(t)为经过抖动判断后输出的决策信息。

2.4 手势识别算法

系统所采用的手势识别算法是基于隐马尔可夫模型(HMM)识别算法,其核心思想是一种基于转移概率和传输概率的随机模型。在进行匹配算法之前,首先为每个手势建立手势模型,通过训练得到状态转移概率矩阵A和输出概率矩阵B。识别时通过最优状态序列Viterbi算法计算未知手势在状态转移过程中的最大概率,根据最大概率对应的模型进行判决。该算法的优势在于不需要时间规整,可节约判决时的计算时间和存储量,但带来的问题是训练时计算量较大。

系统利用HMM模型对采集的手势进行判别,具体实现步骤如下:①通过概率计算,把模型λ=f(a,A,B)中的参数初始状态概率矢量a,状态转移概率矩阵A,概率分布函数矢量B求出。再通过前向概率算法和后向概率算法算出输出Y的概率P(Y|λ);②得到输出Y的概率P(Y|λ)和模型λ=f(a,A,B)后通过最优状态序列Viterbi搜索算法估计出系统模型产生Y时最可能经历的状态序列X;③将概率最大的HMM模型为对应的识别结果输出。

以手势模型库容量为三的情况下手势识别为例,实验过程中首先定义手势1~3三种手势。

图2为假设定义的三个手势模型图,其中每个手势表示一种状态,共有3个状态用Si(i=1,2,3)表示。在时刻n时,手势所处的状态用xn来表示,xn只能取S1~S3中一个。即xn∈{S1~S3}。

图2 三个状态跳转示意图

初始状态概率矢量a位于时间起点,即n=1,此时状态x1可能是S1~S3中的任何一个。如果在此时状态x1取的是手势1,则初始状态概率矢量a为[1,0,0]。

状态转移概率矩阵A,是表示在当前状态下可以以某种概率向任意的状态跳转。上图定义了3个手势(状态),则共有33种跳转状态。得到的矩阵

概率函数分布矢量B,在上述三个状态S1~S3下,每个状态都有对应的概率分布函数或密度函数PSi,三个状态则构成一个三维的行矢量 B=[PS1(y),PS2(y),PS3(y)]。

要得到输出Y的概率P(Y|λ)则需求出前向概率αn(j)和后向概率βn(j)。

前向概率公式:

其中 α1(j)=ajbj(y1)(j=1,2,3)

后向概率公式:

其中 βN(j)=1(j=1,2,3)。得到

最后,通过最优状态序列Viterbi搜索算法估计出系统模型产生Y时最可能经历的状态序列X的概率最大的HMM模型,那么该模型所对应的手势即为手势识别的结果,即:

识别原理图如图3所示。

图3 识别原理图

3 实验结果与分析

系统共建立了0~9十个数字的手势库,其标准手势如图4所示。

图4 手势定义图

选取20个人进行匹配,得到数据经过测算如表1所示。

表1 手势匹配值一览表

表1中的数据中匹配值越大说明匹配度越好,0为极大值。通过MATLAB仿真可以算出手势0到手势9之间转移矩阵和转移概率。通过测算得出手势数字0到数字9之间的识别率如表2所示。

表2 手势识别率统计表

系统利用动作停顿时间门限阈值和抖动阈值的方法对抖动和细微动作做出相应的区分,从实验结果来看能够达到准确判断和识别的目的。同时系统采用隐马尔可夫模型对训练样本数据和测试样本数据进行识别,平均训练样本识别率达到99%。这个结果表明,采用多加速度传感器中每个动作的三轴加速度数据作为特征量,之后利用HMM和Viterbi算法进行训练、识别以及优化的方法,在手势交互过程中,能达到较好的识别效果。

4 小结

本系统采用多个三轴加速度传感器和ZigBee芯片作为手势信息采集系统,以数字0~9做为识别内容,利用分布在五个手指和手背上的加速度传感器,提取每个方向轴上的加速度信息作为HMM的数据输入参数,为HMM进行初始化及参数训练,最后利用HMM进行手势识别。为了得到较高的识别率,对HMM进行了优化,从实验结果上来看,识别率能达到98%以上,基本能够实现静态手势和简单动态手势的准确识别。同时ZigBee技术的引入,为为后续扩展提供了极大的便利条件。

[1] 王万良,杨经纬,蒋一波.基于运动传感器的手势识[J].传感技术学报,2011,24(12):1723-1727.

[2] 荆雷,马文君,常丹华.基于动态时间规整的手势加速度信号识别[J].传感技术学报,2012,25(1):72-75.

[3] 刘蓉,刘明.基于加速度传感器的手势识别研究[J].计算机工程,2011,37(16):141-143.

[4] 宁爱平,张雪英.人工蜂群算法改进DHMM的语音识别方法[J].计算机工程与应用,2012,48(28):16-19.

[5] Hoffman F,HeyerP,HommelG.Velocity Profile-Based Recognition of Dynamic Gestures with Discrete Hidden Markov Models[C]//Proc of 1997 Gesture Workshop.Gif-sur-Yvette,France:[s.n.].1997:81-95.

[6] 吴江琴,高文.基于DGMM的中国手语识别系统[J].计算机研究与发展,2000,37(5):551-558.

[7] Jang I J,Park B. Signal Processing of the Accelerometer for Gesture Awareness on Handheld Devices[C]/ /Proceedings of the IEEE International Workshop on Robot and Human Interactive Communication, 2003: 139-144.

[8] Ferscha A,Resmrita S.Gestural Interaction in the Pervasive Computing Landscape[J].Electrotechnik and Informationstechnik,2007,124(1):17-25.

[9] Hoffman M,Varcholik P,La Viola J.Breaking the Status Quo:Improving 3D Gesture Recognition with Spatially Convenient Input Device[C]//Virtual Reality Conference(VR).IEEE,2010:59-66.

[10]薛洋.基于单个加速度传感器的人体运到模式识别[D].广州:华南理工大学,2011.

[11] 严焰,刘蓉,黄璐,陈婷.基于HMM的手势识别研究[J].华中师范大学学报(自然科学版),2012,46(5):556-559.

[12] Jiho C,Kyohyun S,Seongil L.Enabling a Gesture Based Numeric Input on Mobile Phones[C]//IEEE International Conference on Consumer Electronics.Xi’an,2011:151-152.

[13]陈意,杨平,陈旭光.一种基于加速度特征提取的手势识别方法[J].传感技术学报,2012,25(8):1073-1078.

[14]顾伟宏,闵昆龙,张晓娜.新型数据手套及其手势识别研究[J].自动化仪表,2011,32(2):56-59.

猜你喜欢

手势识别率加速度
“鳖”不住了!从26元/斤飙至38元/斤,2022年甲鱼能否再跑出“加速度”?
基于类图像处理与向量化的大数据脚本攻击智能检测
挑战!神秘手势
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
天际加速度
V字手势的由来
创新,动能转换的“加速度”
死亡加速度
提升高速公路MTC二次抓拍车牌识别率方案研究
胜利的手势